]> scripts.mit.edu Git - autoinstalls/wordpress.git/commitdiff
Wordpress 3.7 wordpress-3.7
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Sun, 8 Dec 2013 00:50:53 +0000 (16:50 -0800)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Sun, 8 Dec 2013 00:50:53 +0000 (16:50 -0800)
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
451 files changed:
index.php
readme.html
wp-activate.php
wp-admin/about.php
wp-admin/admin-ajax.php
wp-admin/admin-footer.php
wp-admin/admin-header.php
wp-admin/admin-post.php
wp-admin/admin.php
wp-admin/async-upload.php
wp-admin/comment.php
wp-admin/credits.php
wp-admin/css/color-picker.min.css
wp-admin/css/colors-classic.css
wp-admin/css/colors-classic.min.css
wp-admin/css/colors-fresh.css
wp-admin/css/colors-fresh.min.css
wp-admin/css/customize-controls-rtl.min.css
wp-admin/css/customize-controls.min.css
wp-admin/css/ie-rtl.css
wp-admin/css/ie-rtl.min.css
wp-admin/css/ie.css
wp-admin/css/ie.min.css
wp-admin/css/install.css
wp-admin/css/install.min.css
wp-admin/css/media.min.css
wp-admin/css/wp-admin-rtl.css
wp-admin/css/wp-admin-rtl.min.css
wp-admin/css/wp-admin.css
wp-admin/css/wp-admin.min.css
wp-admin/custom-background.php
wp-admin/custom-header.php
wp-admin/customize.php
wp-admin/edit-comments.php
wp-admin/edit-form-advanced.php
wp-admin/edit-form-comment.php
wp-admin/edit-link-form.php
wp-admin/edit-tag-form.php
wp-admin/edit-tags.php
wp-admin/edit.php
wp-admin/export.php
wp-admin/freedoms.php
wp-admin/images/about-globe-2x.png [new file with mode: 0644]
wp-admin/images/about-search-2x.png [new file with mode: 0644]
wp-admin/images/about-updates-2x.png [new file with mode: 0644]
wp-admin/import.php
wp-admin/includes/ajax-actions.php
wp-admin/includes/bookmark.php
wp-admin/includes/class-wp-comments-list-table.php
wp-admin/includes/class-wp-filesystem-base.php
wp-admin/includes/class-wp-filesystem-direct.php
wp-admin/includes/class-wp-filesystem-ftpext.php
wp-admin/includes/class-wp-filesystem-ftpsockets.php
wp-admin/includes/class-wp-filesystem-ssh2.php
wp-admin/includes/class-wp-importer.php
wp-admin/includes/class-wp-list-table.php
wp-admin/includes/class-wp-media-list-table.php
wp-admin/includes/class-wp-ms-sites-list-table.php
wp-admin/includes/class-wp-ms-themes-list-table.php
wp-admin/includes/class-wp-plugin-install-list-table.php
wp-admin/includes/class-wp-plugins-list-table.php
wp-admin/includes/class-wp-posts-list-table.php
wp-admin/includes/class-wp-terms-list-table.php
wp-admin/includes/class-wp-theme-install-list-table.php
wp-admin/includes/class-wp-themes-list-table.php
wp-admin/includes/class-wp-upgrader-skins.php [new file with mode: 0644]
wp-admin/includes/class-wp-upgrader.php
wp-admin/includes/comment.php
wp-admin/includes/dashboard.php
wp-admin/includes/deprecated.php
wp-admin/includes/export.php
wp-admin/includes/file.php
wp-admin/includes/image-edit.php
wp-admin/includes/import.php
wp-admin/includes/list-table.php
wp-admin/includes/media.php
wp-admin/includes/meta-boxes.php
wp-admin/includes/misc.php
wp-admin/includes/ms.php
wp-admin/includes/nav-menu.php
wp-admin/includes/plugin-install.php
wp-admin/includes/plugin.php
wp-admin/includes/post.php
wp-admin/includes/revision.php
wp-admin/includes/schema.php
wp-admin/includes/taxonomy.php
wp-admin/includes/template.php
wp-admin/includes/theme.php
wp-admin/includes/update-core.php
wp-admin/includes/update.php
wp-admin/includes/upgrade.php
wp-admin/includes/user.php
wp-admin/index.php
wp-admin/install.php
wp-admin/js/about.js [new file with mode: 0644]
wp-admin/js/about.min.js [new file with mode: 0644]
wp-admin/js/accordion.min.js
wp-admin/js/cat.js [deleted file]
wp-admin/js/cat.min.js [deleted file]
wp-admin/js/color-picker.min.js
wp-admin/js/comment.min.js
wp-admin/js/common.js
wp-admin/js/common.min.js
wp-admin/js/custom-background.min.js
wp-admin/js/customize-controls.js
wp-admin/js/customize-controls.min.js
wp-admin/js/dashboard.min.js
wp-admin/js/edit-comments.js
wp-admin/js/edit-comments.min.js
wp-admin/js/editor.js
wp-admin/js/editor.min.js
wp-admin/js/gallery.min.js
wp-admin/js/image-edit.js
wp-admin/js/image-edit.min.js
wp-admin/js/inline-edit-post.js
wp-admin/js/inline-edit-post.min.js
wp-admin/js/inline-edit-tax.js
wp-admin/js/inline-edit-tax.min.js
wp-admin/js/link.min.js
wp-admin/js/media-gallery.min.js
wp-admin/js/media-upload.min.js
wp-admin/js/media.min.js
wp-admin/js/nav-menu.js
wp-admin/js/nav-menu.min.js
wp-admin/js/password-strength-meter.js
wp-admin/js/password-strength-meter.min.js
wp-admin/js/plugin-install.min.js
wp-admin/js/post.min.js
wp-admin/js/postbox.min.js
wp-admin/js/revisions.min.js
wp-admin/js/set-post-thumbnail.min.js
wp-admin/js/tags.min.js
wp-admin/js/theme-preview.min.js
wp-admin/js/theme.min.js
wp-admin/js/user-profile.js
wp-admin/js/user-profile.min.js
wp-admin/js/user-suggest.min.js
wp-admin/js/widgets.min.js
wp-admin/js/word-count.min.js
wp-admin/js/wp-fullscreen.min.js
wp-admin/js/xfn.min.js
wp-admin/link-add.php
wp-admin/link-manager.php
wp-admin/link.php
wp-admin/maint/repair.php
wp-admin/media-new.php
wp-admin/media-upload.php
wp-admin/media.php
wp-admin/menu-header.php
wp-admin/menu.php
wp-admin/moderation.php
wp-admin/ms-admin.php
wp-admin/ms-delete-site.php
wp-admin/ms-edit.php
wp-admin/ms-options.php
wp-admin/ms-sites.php
wp-admin/ms-themes.php
wp-admin/ms-upgrade-network.php
wp-admin/ms-users.php
wp-admin/my-sites.php
wp-admin/nav-menus.php
wp-admin/network.php
wp-admin/network/about.php
wp-admin/network/credits.php
wp-admin/network/edit.php
wp-admin/network/freedoms.php
wp-admin/network/index.php
wp-admin/network/plugin-editor.php
wp-admin/network/plugin-install.php
wp-admin/network/plugins.php
wp-admin/network/profile.php
wp-admin/network/settings.php
wp-admin/network/setup.php
wp-admin/network/site-info.php
wp-admin/network/site-new.php
wp-admin/network/site-settings.php
wp-admin/network/site-themes.php
wp-admin/network/site-users.php
wp-admin/network/sites.php
wp-admin/network/theme-editor.php
wp-admin/network/theme-install.php
wp-admin/network/themes.php
wp-admin/network/update-core.php
wp-admin/network/update.php
wp-admin/network/upgrade.php
wp-admin/network/user-edit.php
wp-admin/network/user-new.php
wp-admin/network/users.php
wp-admin/options-discussion.php
wp-admin/options-general.php
wp-admin/options-media.php
wp-admin/options-permalink.php
wp-admin/options-reading.php
wp-admin/options-writing.php
wp-admin/options.php
wp-admin/plugin-editor.php
wp-admin/plugin-install.php
wp-admin/plugins.php
wp-admin/post-new.php
wp-admin/post.php
wp-admin/press-this.php
wp-admin/profile.php
wp-admin/revision.php
wp-admin/setup-config.php
wp-admin/theme-editor.php
wp-admin/theme-install.php
wp-admin/themes.php
wp-admin/tools.php
wp-admin/update-core.php
wp-admin/update.php
wp-admin/upgrade.php
wp-admin/upload.php
wp-admin/user-edit.php
wp-admin/user-new.php
wp-admin/user/about.php
wp-admin/user/credits.php
wp-admin/user/freedoms.php
wp-admin/user/index.php
wp-admin/user/profile.php
wp-admin/user/user-edit.php
wp-admin/users.php
wp-admin/widgets.php
wp-comments-post.php
wp-content/themes/twentythirteen/404.php
wp-content/themes/twentythirteen/archive.php
wp-content/themes/twentythirteen/author-bio.php
wp-content/themes/twentythirteen/author.php
wp-content/themes/twentythirteen/category.php
wp-content/themes/twentythirteen/comments.php
wp-content/themes/twentythirteen/content-aside.php
wp-content/themes/twentythirteen/content-audio.php
wp-content/themes/twentythirteen/content-chat.php
wp-content/themes/twentythirteen/content-gallery.php
wp-content/themes/twentythirteen/content-image.php
wp-content/themes/twentythirteen/content-link.php
wp-content/themes/twentythirteen/content-none.php
wp-content/themes/twentythirteen/content-quote.php
wp-content/themes/twentythirteen/content-status.php
wp-content/themes/twentythirteen/content-video.php
wp-content/themes/twentythirteen/content.php
wp-content/themes/twentythirteen/footer.php
wp-content/themes/twentythirteen/functions.php
wp-content/themes/twentythirteen/header.php
wp-content/themes/twentythirteen/image.php
wp-content/themes/twentythirteen/inc/back-compat.php
wp-content/themes/twentythirteen/inc/custom-header.php
wp-content/themes/twentythirteen/index.php
wp-content/themes/twentythirteen/languages/twentythirteen.pot
wp-content/themes/twentythirteen/page.php
wp-content/themes/twentythirteen/search.php
wp-content/themes/twentythirteen/sidebar-main.php
wp-content/themes/twentythirteen/sidebar.php
wp-content/themes/twentythirteen/single.php
wp-content/themes/twentythirteen/style.css
wp-content/themes/twentythirteen/tag.php
wp-content/themes/twentythirteen/taxonomy-post_format.php
wp-content/themes/twentytwelve/404.php
wp-content/themes/twentytwelve/archive.php
wp-content/themes/twentytwelve/author.php
wp-content/themes/twentytwelve/category.php
wp-content/themes/twentytwelve/comments.php
wp-content/themes/twentytwelve/content-none.php
wp-content/themes/twentytwelve/content-status.php
wp-content/themes/twentytwelve/content.php
wp-content/themes/twentytwelve/css/ie.css
wp-content/themes/twentytwelve/footer.php
wp-content/themes/twentytwelve/functions.php
wp-content/themes/twentytwelve/header.php
wp-content/themes/twentytwelve/image.php
wp-content/themes/twentytwelve/inc/custom-header.php
wp-content/themes/twentytwelve/index.php
wp-content/themes/twentytwelve/languages/twentytwelve.pot
wp-content/themes/twentytwelve/page.php
wp-content/themes/twentytwelve/search.php
wp-content/themes/twentytwelve/sidebar-front.php
wp-content/themes/twentytwelve/sidebar.php
wp-content/themes/twentytwelve/single.php
wp-content/themes/twentytwelve/style.css
wp-content/themes/twentytwelve/tag.php
wp-cron.php
wp-includes/SimplePie/Sanitize.php
wp-includes/admin-bar.php
wp-includes/author-template.php
wp-includes/bookmark-template.php
wp-includes/cache.php
wp-includes/canonical.php
wp-includes/capabilities.php
wp-includes/category-template.php
wp-includes/category.php
wp-includes/certificates/ca-bundle.crt [new file with mode: 0644]
wp-includes/class-feed.php
wp-includes/class-http.php
wp-includes/class-oembed.php
wp-includes/class-phpmailer.php
wp-includes/class-wp-admin-bar.php
wp-includes/class-wp-customize-section.php
wp-includes/class-wp-editor.php
wp-includes/class-wp-embed.php
wp-includes/class-wp-image-editor-gd.php
wp-includes/class-wp-image-editor-imagick.php
wp-includes/class-wp-image-editor.php
wp-includes/class-wp-theme.php
wp-includes/class-wp-walker.php
wp-includes/class-wp-xmlrpc-server.php
wp-includes/class-wp.php
wp-includes/class.wp-dependencies.php
wp-includes/class.wp-scripts.php
wp-includes/class.wp-styles.php
wp-includes/comment-template.php
wp-includes/comment.php
wp-includes/css/admin-bar.min.css
wp-includes/css/buttons.min.css
wp-includes/css/editor.css
wp-includes/css/editor.min.css
wp-includes/css/jquery-ui-dialog.min.css
wp-includes/css/media-views-rtl.min.css
wp-includes/css/media-views.min.css
wp-includes/css/wp-pointer.min.css
wp-includes/date.php [new file with mode: 0644]
wp-includes/default-constants.php
wp-includes/default-filters.php
wp-includes/default-widgets.php
wp-includes/deprecated.php
wp-includes/feed-atom-comments.php
wp-includes/feed-atom.php
wp-includes/feed-rdf.php
wp-includes/feed-rss.php
wp-includes/feed-rss2-comments.php
wp-includes/feed-rss2.php
wp-includes/feed.php
wp-includes/formatting.php
wp-includes/functions.php
wp-includes/functions.wp-scripts.php
wp-includes/functions.wp-styles.php
wp-includes/general-template.php
wp-includes/http.php
wp-includes/js/admin-bar.min.js
wp-includes/js/autosave.js
wp-includes/js/autosave.min.js
wp-includes/js/colorpicker.min.js
wp-includes/js/comment-reply.min.js
wp-includes/js/customize-base.min.js
wp-includes/js/customize-loader.min.js
wp-includes/js/customize-preview.min.js
wp-includes/js/heartbeat.js
wp-includes/js/heartbeat.min.js
wp-includes/js/hoverIntent.min.js
wp-includes/js/imgareaselect/jquery.imgareaselect.js
wp-includes/js/imgareaselect/jquery.imgareaselect.min.js
wp-includes/js/jcrop/jquery.Jcrop.min.css
wp-includes/js/jcrop/jquery.Jcrop.min.js
wp-includes/js/jquery/jquery.form.js
wp-includes/js/jquery/jquery.form.min.js
wp-includes/js/json2.min.js
wp-includes/js/mce-view.min.js
wp-includes/js/media-editor.js
wp-includes/js/media-editor.min.js
wp-includes/js/media-models.js
wp-includes/js/media-models.min.js
wp-includes/js/media-views.min.js
wp-includes/js/plupload/handlers.min.js
wp-includes/js/plupload/wp-plupload.min.js
wp-includes/js/quicktags.min.js
wp-includes/js/shortcode.min.js
wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js
wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js
wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm
wp-includes/js/tinymce/plugins/inlinepopups/template.htm
wp-includes/js/tinymce/plugins/media/media.htm
wp-includes/js/tinymce/plugins/media/moxieplayer.swf
wp-includes/js/tinymce/plugins/paste/pastetext.htm
wp-includes/js/tinymce/plugins/paste/pasteword.htm
wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
wp-includes/js/tinymce/plugins/spellchecker/editor_plugin_src.js
wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js
wp-includes/js/tinymce/plugins/wpdialogs/js/popup.js
wp-includes/js/tinymce/plugins/wpdialogs/js/popup.min.js
wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.min.js
wp-includes/js/tinymce/plugins/wpeditimage/editimage.html
wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js
wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js
wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.min.js [deleted file]
wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js
wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js
wp-includes/js/tinymce/plugins/wplink/editor_plugin.js
wp-includes/js/tinymce/plugins/wpview/editor_plugin.js
wp-includes/js/tinymce/tiny_mce.js
wp-includes/js/tinymce/tiny_mce_popup.js
wp-includes/js/tinymce/wp-mce-help.php
wp-includes/js/tinymce/wp-tinymce.js.gz
wp-includes/js/tw-sack.min.js
wp-includes/js/utils.min.js
wp-includes/js/wp-ajax-response.min.js
wp-includes/js/wp-auth-check.min.js
wp-includes/js/wp-backbone.min.js
wp-includes/js/wp-list-revisions.min.js
wp-includes/js/wp-lists.js
wp-includes/js/wp-lists.min.js
wp-includes/js/wp-pointer.min.js
wp-includes/js/wp-util.min.js
wp-includes/js/wplink.js
wp-includes/js/wplink.min.js
wp-includes/js/zxcvbn-async.js [new file with mode: 0644]
wp-includes/js/zxcvbn-async.min.js [new file with mode: 0644]
wp-includes/js/zxcvbn.min.js [new file with mode: 0644]
wp-includes/kses.php
wp-includes/l10n.php
wp-includes/link-template.php
wp-includes/load.php
wp-includes/media-template.php
wp-includes/media.php
wp-includes/meta.php
wp-includes/ms-blogs.php
wp-includes/ms-default-filters.php
wp-includes/ms-deprecated.php
wp-includes/ms-functions.php
wp-includes/ms-load.php
wp-includes/nav-menu-template.php
wp-includes/nav-menu.php
wp-includes/option.php
wp-includes/pluggable.php
wp-includes/plugin.php
wp-includes/post-template.php
wp-includes/post-thumbnail-template.php
wp-includes/post.php
wp-includes/query.php
wp-includes/rewrite.php
wp-includes/rss-functions.php
wp-includes/rss.php
wp-includes/script-loader.php
wp-includes/shortcodes.php
wp-includes/taxonomy.php
wp-includes/template-loader.php
wp-includes/template.php
wp-includes/theme-compat/comments-popup.php
wp-includes/theme-compat/comments.php
wp-includes/theme.php
wp-includes/update.php
wp-includes/user.php
wp-includes/vars.php
wp-includes/version.php
wp-includes/widgets.php
wp-includes/wp-db.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php

index 1e3364ad1b39db3a83b85a2b1227f0301bb69cc8..dd3d5544725cdeef35111afe17f57b4bc03221ec 100644 (file)
--- a/index.php
+++ b/index.php
@@ -14,4 +14,4 @@
 define('WP_USE_THEMES', true);
 
 /** Loads the WordPress Environment and Template */
 define('WP_USE_THEMES', true);
 
 /** Loads the WordPress Environment and Template */
-require('./wp-blog-header.php');
+require( dirname( __FILE__ ) . '/wp-blog-header.php' );
index 8046948f95204063a85257a33d10adb315572435..820583e4af1ef940b9e78455b32991ef97ebde24 100644 (file)
@@ -8,7 +8,7 @@
 <body>
 <h1 id="logo">
        <a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
 <body>
 <h1 id="logo">
        <a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
-       <br /> Version 3.6.1
+       <br /> Version 3.7
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
index 6a474b12fb2bc7d43c0cc39d27efc1d0e1954e3b..226780c34ea816d0dda5df7e87f0af59874fabba 100644 (file)
@@ -11,7 +11,7 @@ define( 'WP_INSTALLING', true );
 /** Sets up the WordPress Environment. */
 require( dirname(__FILE__) . '/wp-load.php' );
 
 /** Sets up the WordPress Environment. */
 require( dirname(__FILE__) . '/wp-load.php' );
 
-require( './wp-blog-header.php' );
+require( dirname( __FILE__ ) . '/wp-blog-header.php' );
 
 if ( !is_multisite() ) {
        wp_redirect( site_url( '/wp-login.php?action=register' ) );
 
 if ( !is_multisite() ) {
        wp_redirect( site_url( '/wp-login.php?action=register' ) );
@@ -21,6 +21,14 @@ if ( !is_multisite() ) {
 if ( is_object( $wp_object_cache ) )
        $wp_object_cache->cache_enabled = false;
 
 if ( is_object( $wp_object_cache ) )
        $wp_object_cache->cache_enabled = false;
 
+// Fix for page title
+$wp_query->is_404 = false;
+
+/**
+ * Fires before the Site Activation page is loaded.
+ *
+ * @since 3.0
+ */
 do_action( 'activate_header' );
 
 /**
 do_action( 'activate_header' );
 
 /**
@@ -29,7 +37,12 @@ do_action( 'activate_header' );
  * @since MU
  */
 function do_activate_header() {
  * @since MU
  */
 function do_activate_header() {
-       do_action( 'activate_wp_head' );
+    /**
+     * Fires before the Site Activation page is loaded, but on the wp_head action.
+     *
+     * @since 3.0
+     */
+    do_action( 'activate_wp_head' );
 }
 add_action( 'wp_head', 'do_activate_header' );
 
 }
 add_action( 'wp_head', 'do_activate_header' );
 
@@ -116,4 +129,4 @@ get_header();
        var key_input = document.getElementById('key');
        key_input && key_input.focus();
 </script>
        var key_input = document.getElementById('key');
        key_input && key_input.focus();
 </script>
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index 64f7e7b407aa736862f617f084b0eda13be42ae1..a694fe54e71af3f9cfa5ea1887e0ca04c4fd81de 100644 (file)
@@ -7,19 +7,21 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $title = __( 'About' );
 
 list( $display_version ) = explode( '-', $wp_version );
 
 
 $title = __( 'About' );
 
 list( $display_version ) = explode( '-', $wp_version );
 
+wp_enqueue_script( 'about' );
+
 include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap about-wrap">
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap about-wrap">
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating to the latest version. WordPress %s makes your writing experience even better.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
@@ -33,111 +35,101 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
        </a>
 </h2>
 
        </a>
 </h2>
 
-<div class="changelog point-releases">
-       <h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 1 ); ?></h3>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 13 ), '3.6.1', number_format_i18n( 13 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.6.1' ); ?>
-       </p>
-</div>
-
 <div class="changelog">
 <div class="changelog">
-       <h3><?php _e( 'Colorful New Theme' ); ?></h3>
+       <h3><?php _e( 'Background Updates' ); ?></h3>
 
 
-       <div class="feature-section images-stagger-right">
-               <img alt="" src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.6/twentythirteen.png" class="image-66" />
-               <h4><?php _e( 'Introducing Twenty Thirteen' ); ?></h4>
-               <p><?php printf( __( "The new default theme puts focus on your content with a colorful, single-column design made for media-rich blogging." ) ); ?></p>
-               <p><?php _e( 'Inspired by modern art, Twenty Thirteen features quirky details, beautiful typography, and bold, high-contrast colors &mdash; all with a flexible layout that looks great on any device, big or small.' ); ?></p>
+       <div class="feature-section col three-col about-updates">
+               <div class="col-1">
+                       <h4><?php _e( 'Updates While You Sleep' ); ?></h4>
+                       <p><?php _e( 'With WordPress 3.7, you don&#8217;t have to lift a finger to apply maintenance and security updates. Most sites are now able to automatically apply these updates in the background, though some configurations may not allow it.' ); ?></p>
+               </div>
+               <div class="col-2">
+                       <img alt="" src="<?php echo admin_url( 'images/about-updates-2x.png' ); ?>" />
+               </div>
+               <div class="col-3 last-feature">
+                       <h4><?php _e( 'More Reliable Than Ever' ); ?></h4>
+                       <p><?php _e( 'The update process has been made even more reliable and secure, with dozens of new checks and safeguards.' ); ?></p>
+                       <p><?php _e( 'You&#8217;ll still need to click &#8220;Update Now&#8221; once WordPress 3.8 is released, but we&#8217;ve never had more confidence in that beautiful blue button.' ); ?></p>
+               </div>
+               <?php
+               if ( current_user_can( 'update_core' ) ) {
+                       $future_minor_update = (object) array(
+                               'current'       => $wp_version . '.1.next.minor',
+                               'version'       => $wp_version . '.1.next.minor',
+                               'php_version'   => $required_php_version,
+                               'mysql_version' => $required_mysql_version,
+                       );
+                       require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+                       $updater = new WP_Automatic_Updater;
+                       $can_auto_update = wp_http_supports( 'ssl' ) && $updater->should_update( 'core', $future_minor_update, ABSPATH );
+
+                       if ( $can_auto_update ) {
+                               echo '<p class="about-auto-update cool">' . __( 'This site <strong>is</strong> able to apply these updates automatically. Cool!' ). '</p>';
+
+                       // If the updater is disabled entirely, don't show them anything.
+                       } elseif ( ! $updater->is_disabled() ) {
+                               echo '<p class="about-auto-update">';
+                               // If this is is filtered to false, they won't get emails, so don't claim we will.
+                               // Assumption: If the user can update core, they can see what the admin email is.
+
+                               /** This filter is documented in wp-admin/includes/class-wp-upgrader.php */
+                               if ( apply_filters( 'send_core_update_notification_email', true, $future_minor_update ) ) {
+                                       printf( __( 'This site <strong>is not</strong> able to apply these updates automatically. But we&#8217;ll email %s when there is a new security release.' ), esc_html( get_site_option( 'admin_email' ) ) );
+                               } else {
+                                       _e( 'This site <strong>is not</strong> able to apply these updates automatically.' );
+                               }
+                               echo '</p>';
+                       }
+               }
+               ?>
        </div>
 </div>
 
        </div>
 </div>
 
-<div class="changelog">
-       <h3><?php _e( 'Write with Confidence' ); ?></h3>
-
-       <div class="feature-section images-stagger-right">
-               <img alt="" src="<?php echo is_ssl() ? 'https://' : '//s.'; ?>wordpress.org/images/core/3.6/revisions.png" class="image-66" />
-               <h4><?php _e( 'Explore Revisions' ); ?></h4>
-               <p></p>
-               <p><?php _e( 'From the first word you write, WordPress saves every change. Each revision is always at your fingertips. Text is highlighted as you scroll through revisions at lightning speed, so you can see what changes have been made along the way.' ); ?></p>
-               <p><?php _e( 'It&#8217;s easy to compare two revisions from any point in time, and to restore a revision and go back to writing. Now you can be confident that no mistake is permanent.' ); ?></p>
-       </div>
+<div class="changelog about-passwords">
+       <h3><?php _e( 'Create Stronger Passwords' ); ?></h3>
 
        <div class="feature-section col two-col">
                <div>
 
        <div class="feature-section col two-col">
                <div>
-                       <h4><?php _e( 'Improved Autosaves' ); ?></h4>
-                       <p><?php _e( 'Never lose a word you&#8217;ve written. Autosaving is now even better; whether your power goes out, your browser crashes, or you lose your internet connection, your content is safe.' ); ?></p>
+                       <p><?php _e( 'Your password is your site&#8217;s first line of defense. It&#8217;s best to create passwords that are complex, long, and unique. To that end, our password meter has been updated in WordPress 3.7 to recognize common mistakes that can weaken your password: dates, names, keyboard patterns (123456789), and even pop culture references.' ); ?></p>
+                       <p><strong><?php _e( 'Try it out on the right.' ); ?></strong></p>
                </div>
                </div>
-               <div class="last-feature">
-                       <h4><?php _e( 'Better Post Locking' ); ?></h4>
-                       <p><?php _e( 'Always know who&#8217;s editing with live updates that appear in the list of posts. And if someone leaves for lunch with a post open, you can take over where they left off.' ); ?></p>
+               <div class="last-feature about-password-meter">
+                       <input type="password" id="pass" size="25" value="" />
+                       <p id="pass-strength-result" ><?php _e( 'Strength indicator' ); ?></p>
+                       <?php printf( __( 'Getting the urge to <a href="%s">change your password</a>?' ), esc_url( self_admin_url( 'profile.php' ) ) ); ?>
                </div>
        </div>
 </div>
 
 <div class="changelog">
                </div>
        </div>
 </div>
 
 <div class="changelog">
-       <h3><?php _e( 'Support for Audio and Video' ); ?></h3>
-
-       <div class="feature-section images-stagger-right">
-               <div class="video image-66"><?php
-                       $sample_video = ( is_ssl() ? 'https://' : 'http://s.' ) . 'wordpress.org/images/core/3.6/sample-video';
-                       $args = array(
-                               'mp4' => "$sample_video.mp4",
-                               'ogv' => "$sample_video.ogv",
-                               'width' => 625,
-                               'height' => 360,
-                       );
-                       // Opera 12 (Presto, pre-Chromium) fails to load ogv properly
-                       // when combined with ME.js. Works fine in Opera 15.
-                       // Don't serve ogv to Opera 12 to avoid complete brokeness.
-                       if ( $GLOBALS['is_opera'] )
-                               unset( $args['ogv'] );
-                       // Our current ME.js API is limited to shortcodes in posts.
-                       echo wp_video_shortcode( $args );
-               ?></div>
-               <h4><?php _e( 'New Media Player' ); ?></h4>
-               <p><?php _e( 'Share your audio and video with the new built-in HTML5 media player. Upload files using the media manager and embed them in your posts.' ); ?></p>
-
-               <h4><?php _e( 'Embed Music from Spotify, Rdio, and SoundCloud' ); ?></h4>
-               <p><?php _e( 'Embed songs and albums from your favorite artists, or playlists you&#8217;ve mixed yourself. It&#8217;s as simple as pasting a URL into a post on its own line.' ); ?></p>
-               <p><?php printf( __( '(Love another service? Check out all of the <a href="%s">embeds</a> that WordPress supports.)' ), 'http://codex.wordpress.org/Embeds' ); ?></p>
-       </div>
-</div>
-
-<div class="changelog">
-       <h3><?php _e( 'Under the Hood' ); ?></h3>
-
-       <div class="feature-section col three-col">
-               <div>
-                       <h4><?php _e( 'Audio/Video API' ); ?></h4>
-                       <p><?php _e( 'The new audio/video APIs give developers access to powerful media metadata, like ID3 tags.' ); ?></p>
-               </div>
+       <div class="feature-section col two-col">
                <div>
                <div>
-                       <h4><?php _e( 'Semantic Markup' ); ?></h4>
-                       <p><?php _e( 'Themes can now choose improved HTML5 markup for comment forms, search forms, and comment lists.' ); ?></p>
+                       <h3><?php _e( 'Improved Search Results' ); ?></h3>
+                       <p><img alt="" src="<?php echo admin_url( 'images/about-search-2x.png' ); ?>" /><?php _e( 'Search results are now ordered by how well the search query matches a post, instead of ordered only by date. For example, when your search terms match a post title, that result will be pushed to the top.' ); ?></p>
                </div>
                <div class="last-feature">
                </div>
                <div class="last-feature">
-                       <h4><?php _e( 'JavaScript Utilities' ); ?></h4>
-                       <p><?php _e( 'Handy JavaScript utilities ease common tasks like Ajax requests, templating, and Backbone view management.' ); ?></p>
+                       <h3><?php _e( 'Better Global Support' ); ?></h3>
+                       <p><img alt="" src="<?php echo admin_url( 'images/about-globe-2x.png' ); ?>" /><?php _e( 'Localized versions of WordPress will receive faster and more complete translations. WordPress 3.7 adds support for automatically installing the right language files and keeping them up to date.' ); ?></p>
                </div>
        </div>
                </div>
        </div>
+</div>
+
+<div class="changelog">
+       <h3><?php _e( 'Under the Hood' ); ?></h3>
 
        <div class="feature-section col three-col">
                <div>
 
        <div class="feature-section col three-col">
                <div>
-                       <h4><?php _e( 'Shortcode Improvements' ); ?></h4>
-                       <p><?php _e( 'Search content for shortcodes with <code>has_shortcode()</code> and adjust shortcode attributes with a new filter.' ); ?></p>
+                       <h4><?php _e( 'More Background Updates (Experimental)' ); ?></h4>
+                       <p><?php _e( 'Want WordPress to always update automatically, even for major feature releases? Want to always keep a certain plugin up to date in the background? WordPress 3.7 comes with fine-grained update controls for developers and systems administrators.' ); ?></p>
                </div>
                <div>
                </div>
                <div>
-                       <h4><?php _e( 'Revision Control' ); ?></h4>
-                       <p><?php _e( 'Fine-grained revision controls allow you to keep a different number of revisions for each post type.' ); ?></p>
+                       <h4><?php _e( 'Advanced Date Queries' ); ?></h4>
+                       <p><?php _e( 'Developers can now query for posts within a date range, or that are older than or newer than a specific point in time. Or get really fancy: all posts written on Friday afternoons? Not&nbsp;a&nbsp;problem.' ); ?></p>
                </div>
                <div class="last-feature">
                </div>
                <div class="last-feature">
-                       <h4><?php _e( 'External Libraries' ); ?></h4>
-                       <p><?php
-                               /* translators: placeholders 2, 3 and 4 are version numbers */
-                               printf( __( 'New and updated libraries: <a href="%1$s">MediaElement.js</a>, jQuery %2$s, jQuery UI %3$s, jQuery Migrate, Backbone %4$s.' ), 'http://mediaelementjs.com/', '1.10.2', '1.10.3', '1.0' ); ?></p>
+                       <h4><?php _e( 'Multisite Improvements' ); ?></h4>
+                       <p><?php _e( '<code>wp_get_sites()</code> allows developers to easily get an array of all the sites on your network without resorting to a direct database query &mdash; just one of many improvements to multisite in WordPress 3.7.' ); ?></p>
                </div>
                </div>
-       </div>
 </div>
 
 <div class="return-to-dashboard">
 </div>
 
 <div class="return-to-dashboard">
index c638d78aad27a3f8d907e9b42afce5be329bd8ed..b220d3322693ea8a008004d0cbeaade08f016fc7 100644 (file)
@@ -38,6 +38,7 @@ require_once( ABSPATH . 'wp-admin/includes/ajax-actions.php' );
 send_nosniff_header();
 nocache_headers();
 
 send_nosniff_header();
 nocache_headers();
 
+/** This action is documented in wp-admin/admin.php */
 do_action( 'admin_init' );
 
 $core_actions_get = array(
 do_action( 'admin_init' );
 
 $core_actions_get = array(
@@ -68,10 +69,26 @@ if ( ! empty( $_POST['action'] ) && in_array( $_POST['action'], $core_actions_po
 
 add_action( 'wp_ajax_nopriv_heartbeat', 'wp_ajax_nopriv_heartbeat', 1 );
 
 
 add_action( 'wp_ajax_nopriv_heartbeat', 'wp_ajax_nopriv_heartbeat', 1 );
 
-if ( is_user_logged_in() )
-       do_action( 'wp_ajax_' . $_REQUEST['action'] ); // Authenticated actions
-else
-       do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] ); // Non-admin actions
-
+if ( is_user_logged_in() ) {
+       /**
+        * Fires authenticated AJAX actions for logged-in users.
+        *
+        * The dynamic portion of the hook name, $_REQUEST['action'],
+        * refers to the name of the AJAX action callback being fired.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'wp_ajax_' . $_REQUEST['action'] );
+} else {
+       /**
+        * Fires non-authenticated AJAX actions for logged-out users.
+        *
+        * The dynamic portion of the hook name, $_REQUEST['action'],
+        * refers to the name of the AJAX action callback being fired.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] );
+}
 // Default status
 die( '0' );
 // Default status
 die( '0' );
index 3818ab411ee0dce973d0262e927dd41bbf2142b6..08d9debc9b4c34b4b2369a323178f8bfeefb600a 100644 (file)
@@ -16,16 +16,64 @@ if ( !defined('ABSPATH') )
 <div class="clear"></div></div><!-- wpcontent -->
 
 <div id="wpfooter">
 <div class="clear"></div></div><!-- wpcontent -->
 
 <div id="wpfooter">
-<?php do_action( 'in_admin_footer' ); ?>
-<p id="footer-left" class="alignleft"><?php
-echo apply_filters( 'admin_footer_text', '<span id="footer-thankyou">' . __( 'Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.' ) . '</span>' );
-?></p>
-<p id="footer-upgrade" class="alignright"><?php echo apply_filters( 'update_footer', '' ); ?></p>
-<div class="clear"></div>
+       <?php
+       /**
+        * Fires after the opening tag for the admin footer.
+        *
+        * @since 2.5.0
+        */
+       do_action( 'in_admin_footer' );
+       ?>
+       <p id="footer-left" class="alignleft">
+               <?php
+               /**
+                * Filter the "Thank you" text displayed in the admin footer.
+                *
+                * @since 2.8.0
+                * @param string The content that will be printed.
+                */
+               echo apply_filters( 'admin_footer_text', '<span id="footer-thankyou">' . __( 'Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.' ) . '</span>' );
+               ?>
+       </p>
+       <p id="footer-upgrade" class="alignright">
+               <?php
+               /**
+                * Filter the version/update text displayed in the admin footer.
+                *
+                * @see core_update_footer() WordPress prints the current version and update information,
+                *      using core_update_footer() at priority 10.
+                *
+                * @since 2.3.0
+                * @param string The content that will be printed.
+                */
+               echo apply_filters( 'update_footer', '' );
+               ?>
+       </p>
+       <div class="clear"></div>
 </div>
 <?php
 </div>
 <?php
+/**
+ * Print scripts or data before the default footer scripts.
+ *
+ * @since 1.2.0
+ * @param string The data to print.
+ */
 do_action('admin_footer', '');
 do_action('admin_footer', '');
+
+/**
+ * Prints any scripts and data queued for the footer.
+ *
+ * @since 2.8.0
+ */
 do_action('admin_print_footer_scripts');
 do_action('admin_print_footer_scripts');
+
+/**
+ * Print scripts or data after the default footer scripts.
+ *
+ * @since 2.8.0
+ *
+ * @param string $GLOBALS['hook_suffix'] The current admin page.
+ */
 do_action("admin_footer-" . $GLOBALS['hook_suffix']);
 
 // get_site_option() won't exist when auto upgrading from <= 2.7
 do_action("admin_footer-" . $GLOBALS['hook_suffix']);
 
 // get_site_option() won't exist when auto upgrading from <= 2.7
index 00ad2996956efdef30f4b412f047d8056ceb8bd7..a677dde37543bff4567d2d62aa21fddbcdc32023 100644 (file)
@@ -8,7 +8,7 @@
 
 @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
 if ( ! defined( 'WP_ADMIN' ) )
 
 @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
 if ( ! defined( 'WP_ADMIN' ) )
-       require_once( './admin.php' );
+       require_once( dirname( __FILE__ ) . '/admin.php' );
 
 // In case admin-header.php is included in a function.
 global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version,
 
 // In case admin-header.php is included in a function.
 global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version,
@@ -22,9 +22,9 @@ get_admin_page_title();
 $title = esc_html( strip_tags( $title ) );
 
 if ( is_network_admin() )
 $title = esc_html( strip_tags( $title ) );
 
 if ( is_network_admin() )
-       $admin_title = __( 'Network Admin' );
+       $admin_title = sprintf( __('Network Admin: %s'), esc_html( $current_site->site_name ) );
 elseif ( is_user_admin() )
 elseif ( is_user_admin() )
-       $admin_title = __( 'Global Dashboard' );
+       $admin_title = sprintf( __('Global Dashboard: %s'), esc_html( $current_site->site_name ) );
 else
        $admin_title = get_bloginfo( 'name' );
 
 else
        $admin_title = get_bloginfo( 'name' );
 
@@ -33,6 +33,14 @@ if ( $admin_title == $title )
 else
        $admin_title = sprintf( __( '%1$s &lsaquo; %2$s &#8212; WordPress' ), $title, $admin_title );
 
 else
        $admin_title = sprintf( __( '%1$s &lsaquo; %2$s &#8212; WordPress' ), $title, $admin_title );
 
+/**
+ * Filter the <title> content for an admin page.
+ *
+ * @since 3.1.0
+ *
+ * @param string $admin_title The page title, with extra context added.
+ * @param string $title       The original page title.
+ */
 $admin_title = apply_filters( 'admin_title', $admin_title, $title );
 
 wp_user_settings();
 $admin_title = apply_filters( 'admin_title', $admin_title, $title );
 
 wp_user_settings();
@@ -60,13 +68,56 @@ var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
 </script>
 <?php
 
 </script>
 <?php
 
-do_action('admin_enqueue_scripts', $hook_suffix);
-do_action("admin_print_styles-$hook_suffix");
-do_action('admin_print_styles');
-do_action("admin_print_scripts-$hook_suffix");
-do_action('admin_print_scripts');
-do_action("admin_head-$hook_suffix");
-do_action('admin_head');
+/**
+ * Enqueue scripts for all admin pages.
+ *
+ * @since 2.8.0
+ *
+ * @param string $hook_suffix The current admin page.
+ */
+do_action( 'admin_enqueue_scripts', $hook_suffix );
+
+/**
+ * Print styles for a specific admin page based on $hook_suffix.
+ *
+ * @since 2.6.0
+ */
+do_action( "admin_print_styles-$hook_suffix" );
+
+/**
+ * Print styles for all admin pages.
+ *
+ * @since 2.6.0
+ */
+do_action( 'admin_print_styles' );
+
+/**
+ * Print scripts for a specific admin page based on $hook_suffix.
+ *
+ * @since 2.1.0
+ */
+do_action( "admin_print_scripts-$hook_suffix" );
+
+/**
+ * Print scripts for all admin pages.
+ *
+ * @since 2.1.0
+ */
+do_action( 'admin_print_scripts' );
+
+/**
+ * Fires in <head> for a specific admin page based on $hook_suffix.
+ *
+ * @since 2.1.0
+ */
+do_action( "admin_head-$hook_suffix" );
+
+/**
+ * Fires in <head> for all admin pages.
+ *
+ * @since 2.1.0
+ */
+do_action( 'admin_head' );
 
 if ( get_user_setting('mfold') == 'f' )
        $admin_body_class .= ' folded';
 
 if ( get_user_setting('mfold') == 'f' )
        $admin_body_class .= ' folded';
@@ -80,6 +131,12 @@ if ( is_admin_bar_showing() )
 if ( is_rtl() )
        $admin_body_class .= ' rtl';
 
 if ( is_rtl() )
        $admin_body_class .= ' rtl';
 
+if ( $current_screen->post_type )
+       $admin_body_class .= ' post-type-' . $current_screen->post_type;
+
+if ( $current_screen->taxonomy )
+       $admin_body_class .= ' taxonomy-' . $current_screen->taxonomy;
+
 $admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
 $admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
 $admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
 $admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
 $admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
 $admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
@@ -92,6 +149,19 @@ $admin_body_class .= ' no-customize-support';
 
 ?>
 </head>
 
 ?>
 </head>
+<?php
+/**
+ * Filter the admin <body> CSS classes.
+ *
+ * This filter differs from the post_class or body_class filters in two important ways:
+ * 1. $classes is a space-separated string of class names instead of an array.
+ * 2. Not all core admin classes are filterable, notably: wp-admin, wp-core-ui, and no-js cannot be removed.
+ *
+ * @since 2.3.0
+ *
+ * @param string $classes Space-separated string of CSS classes.
+ */
+?>
 <body class="wp-admin wp-core-ui no-js <?php echo apply_filters( 'admin_body_class', '' ) . " $admin_body_class"; ?>">
 <script type="text/javascript">
        document.body.className = document.body.className.replace('no-js','js');
 <body class="wp-admin wp-core-ui no-js <?php echo apply_filters( 'admin_body_class', '' ) . " $admin_body_class"; ?>">
 <script type="text/javascript">
        document.body.className = document.body.className.replace('no-js','js');
@@ -109,7 +179,12 @@ if ( current_user_can( 'edit_theme_options' ) )
 <div id="wpcontent">
 
 <?php
 <div id="wpcontent">
 
 <?php
-do_action('in_admin_header');
+/**
+ * Fires at the beginning of the content section in an admin page.
+ *
+ * @since 3.0.0
+ */
+do_action( 'in_admin_header' );
 ?>
 
 <div id="wpbody">
 ?>
 
 <div id="wpbody">
@@ -125,14 +200,35 @@ $current_screen->set_parentage( $parent_file );
 
 $current_screen->render_screen_meta();
 
 
 $current_screen->render_screen_meta();
 
-if ( is_network_admin() )
-       do_action('network_admin_notices');
-elseif ( is_user_admin() )
-       do_action('user_admin_notices');
-else
-       do_action('admin_notices');
+if ( is_network_admin() ) {
+       /**
+        * Print network admin screen notices.
+        *
+        * @since 3.1.0
+        */
+       do_action( 'network_admin_notices' );
+} elseif ( is_user_admin() ) {
+       /**
+        * Print user admin screen notices.
+        *
+        * @since 3.1.0
+        */
+       do_action( 'user_admin_notices' );
+} else {
+       /**
+        * Print admin screen notices.
+        *
+        * @since 3.1.0
+        */
+       do_action( 'admin_notices' );
+}
 
 
-do_action('all_admin_notices');
+/**
+ * Print generic admin screen notices.
+ *
+ * @since 3.1.0
+ */
+do_action( 'all_admin_notices' );
 
 if ( $parent_file == 'options-general.php' )
        require(ABSPATH . 'wp-admin/options-head.php');
 
 if ( $parent_file == 'options-general.php' )
        require(ABSPATH . 'wp-admin/options-head.php');
index f4af998e334b21468f42da913f356bb1cab6915e..710399407382fa483e296d32adcc6eab7a2a070e 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 /**
 <?php
 /**
- * WordPress Administration Generic POST Handler.
+ * WordPress Generic Request (POST/GET) Handler
+ *
+ * Intended for form submission handling in themes and plugins.
  *
  * @package WordPress
  * @subpackage Administration
  *
  * @package WordPress
  * @subpackage Administration
@@ -12,13 +14,17 @@ define('WP_ADMIN', true);
 if ( defined('ABSPATH') )
        require_once(ABSPATH . 'wp-load.php');
 else
 if ( defined('ABSPATH') )
        require_once(ABSPATH . 'wp-load.php');
 else
-       require_once('../wp-load.php');
+       require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
+
+/** Allow for cross-domain requests (from the frontend). */
+send_origin_headers();
 
 require_once(ABSPATH . 'wp-admin/includes/admin.php');
 
 nocache_headers();
 
 
 require_once(ABSPATH . 'wp-admin/includes/admin.php');
 
 nocache_headers();
 
-do_action('admin_init');
+/** This action is documented in wp-admin/admin.php */
+do_action( 'admin_init' );
 
 $action = 'admin_post';
 
 
 $action = 'admin_post';
 
@@ -28,4 +34,12 @@ if ( !wp_validate_auth_cookie() )
 if ( !empty($_REQUEST['action']) )
        $action .= '_' . $_REQUEST['action'];
 
 if ( !empty($_REQUEST['action']) )
        $action .= '_' . $_REQUEST['action'];
 
-do_action($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 );
index 4e739c3c8d088ce873e4c22b3a26f3ceb3cbe644..85979327011b8f06f83b882d7a7bb7d6d78c84b7 100644 (file)
@@ -36,27 +36,43 @@ if ( get_option('db_upgraded') ) {
        update_option( 'db_upgraded',  false );
 
        /**
        update_option( 'db_upgraded',  false );
 
        /**
-        * Runs on the next page load after successful upgrade
+        * Fires on the next page load after a successful DB upgrade.
         *
         *
-        * @since 2.8
+        * @since 2.8.0
         */
         */
-       do_action('after_db_upgrade');
+       do_action( 'after_db_upgrade' );
 } elseif ( get_option('db_version') != $wp_db_version && empty($_POST) ) {
        if ( !is_multisite() ) {
                wp_redirect( admin_url( 'upgrade.php?_wp_http_referer=' . urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) );
                exit;
 } elseif ( get_option('db_version') != $wp_db_version && empty($_POST) ) {
        if ( !is_multisite() ) {
                wp_redirect( admin_url( 'upgrade.php?_wp_http_referer=' . urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) );
                exit;
+
+       /**
+        * 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.
+        *
+        * If the network is 50 sites or less, it will run every time. Otherwise,
+        * it will throttle itself to reduce load.
+        *
+        * @since 3.0.0
+        *
+        * @param bool true Whether to perform the Multisite upgrade routine. Default true.
+        */
        } elseif ( apply_filters( 'do_mu_upgrade', true ) ) {
        } elseif ( apply_filters( 'do_mu_upgrade', true ) ) {
-               /**
-                * On really small MU installs run the upgrader every time,
-                * else run it less often to reduce load.
-                *
-                * @since 2.8.4b
-                */
                $c = get_blog_count();
                // If 50 or fewer sites, run every time. Else, run "about ten percent" of the time. Shh, don't check that math.
                if ( $c <= 50 || ( $c > 50 && mt_rand( 0, (int)( $c / 50 ) ) == 1 ) ) {
                        require_once( ABSPATH . WPINC . '/http.php' );
                        $response = wp_remote_get( admin_url( 'upgrade.php?step=1' ), array( 'timeout' => 120, 'httpversion' => '1.1' ) );
                $c = get_blog_count();
                // If 50 or fewer sites, run every time. Else, run "about ten percent" of the time. Shh, don't check that math.
                if ( $c <= 50 || ( $c > 50 && mt_rand( 0, (int)( $c / 50 ) ) == 1 ) ) {
                        require_once( ABSPATH . WPINC . '/http.php' );
                        $response = wp_remote_get( admin_url( 'upgrade.php?step=1' ), array( 'timeout' => 120, 'httpversion' => '1.1' ) );
+                       /**
+                        * Fires after the multisite DB upgrade is complete.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @param array|WP_Error $response The upgrade response array or WP_Error on failure.
+                        */
                        do_action( 'after_mu_upgrade', $response );
                        unset($response);
                }
                        do_action( 'after_mu_upgrade', $response );
                        unset($response);
                }
@@ -103,10 +119,35 @@ elseif ( WP_USER_ADMIN )
 else
        require(ABSPATH . 'wp-admin/menu.php');
 
 else
        require(ABSPATH . 'wp-admin/menu.php');
 
-if ( current_user_can( 'manage_options' ) )
+if ( current_user_can( 'manage_options' ) ) {
+       /**
+        * Filter the maximum memory limit available for administration screens.
+        *
+        * This only applies to administrators, who may require more memory for tasks like updates.
+        * Memory limits when processing images (uploaded or edited by users of any role) are
+        * handled separately.
+        *
+        * The WP_MAX_MEMORY_LIMIT constant specifically defines the maximum memory limit available
+        * when in the administration back-end. The default is 256M, or 256 megabytes of memory.
+        *
+        * @since 3.0.0
+        *
+        * @param string 'WP_MAX_MEMORY_LIMIT' The maximum WordPress memory limit. Default 256M.
+        */
        @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
        @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
+}
 
 
-do_action('admin_init');
+/**
+ * Fires as an admin screen or script is being initialized.
+ *
+ * Note, this does not just run on user-facing admin screens.
+ * It runs on admin-ajax.php and admin-post.php as well.
+ *
+ * This is roughly analgous to the more general 'init' hook, which fires earlier.
+ *
+ * @since 2.5.0
+ */
+do_action( 'admin_init' );
 
 if ( isset($plugin_page) ) {
        if ( !empty($typenow) )
 
 if ( isset($plugin_page) ) {
        if ( !empty($typenow) )
@@ -142,11 +183,38 @@ set_current_screen();
 // Handle plugin admin pages.
 if ( isset($plugin_page) ) {
        if ( $page_hook ) {
 // Handle plugin admin pages.
 if ( isset($plugin_page) ) {
        if ( $page_hook ) {
-               do_action('load-' . $page_hook);
+               /**
+                * Fires before a particular screen is loaded.
+                *
+                * The load-* hook fires in a number of contexts. This hook is for plugin screens
+                * where a callback is provided when the screen is registered.
+                *
+                * The dynamic portion of the hook name, $page_hook, refers to a mixture of plugin
+                * page information including:
+                * 1. The page type. If the plugin page is registered as a submenu page, such as for
+                *    Settings, the page type would be 'settings'. Otherwise the type is 'toplevel'.
+                * 2. A separator of '_page_'.
+                * 3. The plugin basename minus the file extension.
+                *
+                * Together, the three parts form the $page_hook. Citing the example above,
+                * the hook name used would be 'load-settings_page_pluginbasename'.
+                *
+                * @see get_plugin_page_hook()
+                *
+                * @since 2.1.0
+                */
+               do_action( 'load-' . $page_hook );
                if (! isset($_GET['noheader']))
                        require_once(ABSPATH . 'wp-admin/admin-header.php');
 
                if (! isset($_GET['noheader']))
                        require_once(ABSPATH . 'wp-admin/admin-header.php');
 
-               do_action($page_hook);
+               /**
+                * Used to call the registered callback for a plugin screen.
+                *
+                * @access private
+                *
+                * @since 1.5.0
+                */
+               do_action( $page_hook );
        } else {
                if ( validate_file($plugin_page) )
                        wp_die(__('Invalid plugin page'));
        } else {
                if ( validate_file($plugin_page) )
                        wp_die(__('Invalid plugin page'));
@@ -154,7 +222,19 @@ if ( isset($plugin_page) ) {
                if ( !( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) && !( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") && is_file(WPMU_PLUGIN_DIR . "/$plugin_page") ) )
                        wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
 
                if ( !( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) && !( file_exists(WPMU_PLUGIN_DIR . "/$plugin_page") && is_file(WPMU_PLUGIN_DIR . "/$plugin_page") ) )
                        wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
 
-               do_action('load-' . $plugin_page);
+               /**
+                * Fires before a particular screen is loaded.
+                *
+                * The load-* hook fires in a number of contexts. This hook is for plugin screens
+                * where the file to load is directly included, rather than the use of a function.
+                *
+                * The dynamic portion of the hook name, $plugin_page, refers to the plugin basename.
+                *
+                * @see plugin_basename()
+                *
+                * @since 1.5.0
+                */
+               do_action( 'load-' . $plugin_page );
 
                if ( !isset($_GET['noheader']))
                        require_once(ABSPATH . 'wp-admin/admin-header.php');
 
                if ( !isset($_GET['noheader']))
                        require_once(ABSPATH . 'wp-admin/admin-header.php');
@@ -185,6 +265,13 @@ if ( isset($plugin_page) ) {
                exit;
        }
 
                exit;
        }
 
+       /**
+        * Fires before an importer screen is loaded.
+        *
+        * The dynamic portion of the hook name, $importer, refers to the importer slug.
+        *
+        * @since 3.5.0
+        */
        do_action( 'load-importer-' . $importer );
 
        $parent_file = 'tools.php';
        do_action( 'load-importer-' . $importer );
 
        $parent_file = 'tools.php';
@@ -198,6 +285,16 @@ if ( isset($plugin_page) ) {
 
        define('WP_IMPORTING', true);
 
 
        define('WP_IMPORTING', true);
 
+       /**
+        * Whether to filter imported data through kses on import.
+        *
+        * Multisite uses this hook to filter all data through kses by default,
+        * as a super administrator may be assisting an untrusted user.
+        *
+        * @since 3.1.0
+        *
+        * @param bool false Whether to force data to be filtered through kses. Default false.
+        */
        if ( apply_filters( 'force_filtered_html_on_import', false ) )
                kses_init_filters();  // Always filter imported data with kses on multisite.
 
        if ( apply_filters( 'force_filtered_html_on_import', false ) )
                kses_init_filters();  // Always filter imported data with kses on multisite.
 
@@ -210,7 +307,18 @@ if ( isset($plugin_page) ) {
 
        exit();
 } else {
 
        exit();
 } else {
-       do_action("load-$pagenow");
+       /**
+        * Fires before a particular screen is loaded.
+        *
+        * The load-* hook fires in a number of contexts. This hook is for core screens.
+        *
+        * 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'.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'load-' . $pagenow );
        // Backwards compatibility with old load-page-new.php, load-page.php,
        // and load-categories.php actions.
        if ( $typenow == 'page' ) {
        // Backwards compatibility with old load-page-new.php, load-page.php,
        // and load-categories.php actions.
        if ( $typenow == 'page' ) {
@@ -226,5 +334,14 @@ if ( isset($plugin_page) ) {
        }
 }
 
        }
 }
 
-if ( !empty($_REQUEST['action']) )
-       do_action('admin_action_' . $_REQUEST['action']);
+if ( ! empty( $_REQUEST['action'] ) ) {
+       /**
+        * Fires when an 'action' request variable is sent.
+        *
+        * The dynamic portion of the hook name, $_REQUEST['action'],
+        * refers to the action derived from the GET or POST request.
+        *
+        * @since 2.6.0
+        */
+       do_action( 'admin_action_' . $_REQUEST['action'] );
+}
index 296342eaa13f4729daa10f46faacb669c3c56b58..3a24b52572a0918d86c501b131cd33116647d687 100644 (file)
@@ -11,7 +11,7 @@ define('WP_ADMIN', true);
 if ( defined('ABSPATH') )
        require_once(ABSPATH . 'wp-load.php');
 else
 if ( defined('ABSPATH') )
        require_once(ABSPATH . 'wp-load.php');
 else
-       require_once('../wp-load.php');
+       require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 
 if ( ! ( isset( $_REQUEST['action'] ) && 'upload-attachment' == $_REQUEST['action'] ) ) {
        // Flash often fails to send cookies with the POST or upload, so we need to pass it in GET or POST instead
 
 if ( ! ( isset( $_REQUEST['action'] ) && 'upload-attachment' == $_REQUEST['action'] ) ) {
        // Flash often fails to send cookies with the POST or upload, so we need to pass it in GET or POST instead
@@ -24,7 +24,7 @@ if ( ! ( isset( $_REQUEST['action'] ) && 'upload-attachment' == $_REQUEST['actio
        unset($current_user);
 }
 
        unset($current_user);
 }
 
-require_once('./admin.php');
+require_once( ABSPATH . 'wp-admin/admin.php' );
 
 if ( !current_user_can('upload_files') )
        wp_die(__('You do not have permission to upload files.'));
 
 if ( !current_user_can('upload_files') )
        wp_die(__('You do not have permission to upload files.'));
index de5483e28642a7215b802834f02581ecc344728c..c2d57f08d99db614f0c46815f1bf2befc175e768 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** Load WordPress Bootstrap */
  */
 
 /** Load WordPress Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $parent_file = 'edit-comments.php';
 $submenu_file = 'edit-comments.php';
 
 $parent_file = 'edit-comments.php';
 $submenu_file = 'edit-comments.php';
@@ -36,7 +36,7 @@ if ( isset( $_GET['dt'] ) ) {
  */
 function comment_footer_die( $msg ) {
        echo "<div class='wrap'><p>$msg</p></div>";
  */
 function comment_footer_die( $msg ) {
        echo "<div class='wrap'><p>$msg</p></div>";
-       include('./admin-footer.php');
+       include( ABSPATH . 'wp-admin/admin-footer.php' );
        die;
 }
 
        die;
 }
 
@@ -60,7 +60,7 @@ case 'editcomment' :
        );
 
        wp_enqueue_script('comment');
        );
 
        wp_enqueue_script('comment');
-       require_once('./admin-header.php');
+       require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
        $comment_id = absint( $_GET['c'] );
 
 
        $comment_id = absint( $_GET['c'] );
 
@@ -75,7 +75,7 @@ case 'editcomment' :
 
        $comment = get_comment_to_edit( $comment_id );
 
 
        $comment = get_comment_to_edit( $comment_id );
 
-       include('./edit-form-comment.php');
+       include( ABSPATH . 'wp-admin/edit-form-comment.php' );
 
        break;
 
 
        break;
 
@@ -104,7 +104,7 @@ case 'spam'    :
                die();
        }
 
                die();
        }
 
-       require_once('./admin-header.php');
+       require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
        $formaction    = $action . 'comment';
        $nonce_action  = 'approve' == $action ? 'approve-comment_' : 'delete-comment_';
 
        $formaction    = $action . 'comment';
        $nonce_action  = 'approve' == $action ? 'approve-comment_' : 'delete-comment_';
@@ -279,6 +279,15 @@ case 'editedcomment' :
        edit_comment();
 
        $location = ( empty( $_POST['referredby'] ) ? "edit-comments.php?p=$comment_post_id" : $_POST['referredby'] ) . '#comment-' . $comment_id;
        edit_comment();
 
        $location = ( empty( $_POST['referredby'] ) ? "edit-comments.php?p=$comment_post_id" : $_POST['referredby'] ) . '#comment-' . $comment_id;
+
+       /**
+        * Filter the URI the user is redirected to after editing a comment in the admin.
+        *
+        * @since 2.1.0
+        *
+        * @param string $location The URI the user will be redirected to.
+        * @param int $comment_id The ID of the comment being edited.
+        */
        $location = apply_filters( 'comment_edit_redirect', $location, $comment_id );
        wp_redirect( $location );
 
        $location = apply_filters( 'comment_edit_redirect', $location, $comment_id );
        wp_redirect( $location );
 
@@ -291,4 +300,4 @@ default:
 
 } // end switch
 
 
 } // end switch
 
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index 7052357b8b8f3487d9331f5bc71d20e3fd11798c..059adc7c4f81c0914a768aed00397d66da0fb134 100644 (file)
@@ -7,10 +7,19 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $title = __( 'Credits' );
 
 
 $title = __( 'Credits' );
 
+/**
+ * Retrieve the contributor credits.
+ *
+ * @global string $wp_version The current WordPress version.
+ *
+ * @since 3.2.0
+ *
+ * @return array A list of all of the contributors.
+*/
 function wp_credits() {
        global $wp_version;
        $locale = get_locale();
 function wp_credits() {
        global $wp_version;
        $locale = get_locale();
@@ -20,12 +29,12 @@ function wp_credits() {
        if ( ! is_array( $results )
                || ( isset( $results['data']['version'] ) && strpos( $wp_version, $results['data']['version'] ) !== 0 )
        ) {
        if ( ! is_array( $results )
                || ( isset( $results['data']['version'] ) && strpos( $wp_version, $results['data']['version'] ) !== 0 )
        ) {
-               $response = wp_remote_get( "http://api.wordpress.org/core/credits/1.0/?version=$wp_version&locale=$locale" );
+               $response = wp_remote_get( "http://api.wordpress.org/core/credits/1.1/?version=$wp_version&locale=$locale" );
 
                if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
                        return false;
 
 
                if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
                        return false;
 
-               $results = maybe_unserialize( wp_remote_retrieve_body( $response ) );
+               $results = json_decode( wp_remote_retrieve_body( $response ), true );
 
                if ( ! is_array( $results ) )
                        return false;
 
                if ( ! is_array( $results ) )
                        return false;
@@ -36,10 +45,30 @@ function wp_credits() {
        return $results;
 }
 
        return $results;
 }
 
+/**
+ * Retrieve the link to a contributor's WordPress.org profile page.
+ *
+ * @access private
+ * @since 3.2.0
+ *
+ * @param string &$display_name The contributor's display name, passed by reference.
+ * @param string $user_name     The contributor's username.
+ * @param string $profiles      URL to the contributor's WordPress.org profile page.
+ * @return string A contributor's display name, hyperlinked to a WordPress.org profile page.
+ */
 function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) {
        $display_name = '<a href="' . esc_url( sprintf( $profiles, $username ) ) . '">' . esc_html( $display_name ) . '</a>';
 }
 
 function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) {
        $display_name = '<a href="' . esc_url( sprintf( $profiles, $username ) ) . '">' . esc_html( $display_name ) . '</a>';
 }
 
+/**
+ * Retrieve the link to an external library used in WordPress.
+ *
+ * @access private
+ * @since 3.2.0
+ *
+ * @param string &$data External library data, passed by reference.
+ * @return string Link to the external library.
+ */
 function _wp_credits_build_object_link( &$data ) {
        $data = '<a href="' . esc_url( $data[1] ) . '">' . $data[0] . '</a>';
 }
 function _wp_credits_build_object_link( &$data ) {
        $data = '<a href="' . esc_url( $data[1] ) . '">' . $data[0] . '</a>';
 }
@@ -52,7 +81,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating to the latest version. WordPress %s makes your writing experience even better.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
index 956f55ac274ee44a0f9b42feabffef4a8dc00317..fcf785360ea4d5b047200be36a6f2f705bdf97a6 100644 (file)
@@ -1 +1 @@
-.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f9f9f9;border:1px solid #bbb;border-radius:2px;cursor:pointer;display:inline-block;height:22px;margin:0 6px 6px 0;position:relative;top:1px;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px}.wp-color-result:after{background:#f3f3f3;background-image:-webkit-gradient(linear,left top,left bottom,from(#fefefe),to(#f4f4f4));background-image:-webkit-linear-gradient(top,#fefefe,#f4f4f4);background-image:-moz-linear-gradient(top,#fefefe,#f4f4f4);background-image:-o-linear-gradient(top,#fefefe,#f4f4f4);background-image:linear-gradient(to bottom,#fefefe,#f4f4f4);color:#333;text-shadow:0 1px 0 #fff;border-radius:0 1px 1px 0;border-left:1px solid #bbb;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0}.wp-color-result:hover{border-color:#aaa;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.2);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.wp-color-result:hover:after{color:#222;border-color:#aaa;border-left:1px solid #999}.wp-color-result.wp-picker-open{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,0.2);box-shadow:0 1px 2px rgba(0,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{border-color:#dfdfdf;margin-top:6px}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:#f9f9f9;border:1px solid #bbb;border-radius:2px;cursor:pointer;display:inline-block;height:22px;margin:0 6px 6px 0;position:relative;top:1px;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px}.wp-color-result:after{background:#f3f3f3;background-image:-webkit-gradient(linear,left top,left bottom,from(#fefefe),to(#f4f4f4));background-image:-webkit-linear-gradient(top,#fefefe,#f4f4f4);background-image:-moz-linear-gradient(top,#fefefe,#f4f4f4);background-image:-o-linear-gradient(top,#fefefe,#f4f4f4);background-image:linear-gradient(to bottom,#fefefe,#f4f4f4);color:#333;text-shadow:0 1px 0 #fff;border-radius:0 1px 1px 0;border-left:1px solid #bbb;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0}.wp-color-result:hover{border-color:#aaa;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 1px rgba(0,0,0,.1)}.wp-color-result:hover:after{color:#222;border-color:#aaa;border-left:1px solid #999}.wp-color-result.wp-picker-open{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{border-color:#dfdfdf;margin-top:6px}input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
index 2dbbb30a50ff7bf76c62eb0f77c63d23d1ba4471..32bc6f4bf4383c158bb668fe04e95af38369182b 100644 (file)
@@ -2000,13 +2000,6 @@ h2.nav-tab-wrapper, h3.nav-tab-wrapper {
        color: #464646;
 }
 
        color: #464646;
 }
 
-.about-wrap .feature-section img {
-       background: #fff;
-       border: 1px #ccc solid;
-       -webkit-box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.3 );
-       box-shadow:         0 1px 3px rgba( 0, 0, 0, 0.3 );
-}
-
 .about-wrap h4.wp-people-group {
        text-shadow: 1px 1px 1px #fff;
 }
 .about-wrap h4.wp-people-group {
        text-shadow: 1px 1px 1px #fff;
 }
index 8c49a6bd93bf776ec0aacbf3c888d043b82fbb0a..4f3c0ffd4b3950df7a904a5f3c28864fb14a989b 100644 (file)
@@ -1 +1 @@
-.find-box-search,.find-box-buttons{background-color:#eff8ff;border-top:1px solid #dce6f8}.find-box{background-color:#5589aa}.find-box-head{color:#fff}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#d1e5ee}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#d1e5ee;background-color:#fff}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#d1e5ee;background-color:#fff}ul.category-tabs li.tabs{border-color:#d1e5ee #d1e5ee #fff}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff}kbd,code{background:#eff8ff}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select{border-color:#d1e5ee}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="file"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="url"]:focus,select:focus{border-color:#b0c8d7}input.disabled,textarea.disabled{background-color:#ccc}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.revisions-meta,.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,#fullscreen-topbar{background:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe)}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#d1e5ee;text-shadow:#fff 0 1px 0;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#21759b}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.wrap h2{color:#174f69}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#f1f1f1}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:#b0c8d7}.ac_results li{color:#101010}.alternate,.alt{background-color:#f7fcfe}.available-theme a.screenshot{background-color:#eff8ff;border-color:#acd}#current-theme{border-bottom-color:#d1e5ee}.bar{background-color:#e8e8e8;border-right-color:#99d}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00}div.error a{color:#c00}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit,#commentsdiv #add-new-comment{border-color:#dfdfdf}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#b0c8d7;background-color:#eff8ff}.ui-autocomplete li a.ui-state-focus{background-color:#def1ff}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#d54e21}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#d54e21}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#dashboard_right_now .table_content,#dashboard_right_now .table_discussion{border-top-color:#d1e5ee}#rightnow .rbutton{background-color:#ebebeb;color:#264761}.submitbox .submit{background-color:#464646;color:#ccc}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00}.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover{color:#fff;background-color:#f00;border-bottom-color:#f00}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#d0dfe9}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0}.widefat td{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1;background-image:-webkit-gradient(linear,left bottom,left top,from(#dcdcdc),to(#e9e9e9));background-image:-webkit-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-moz-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-o-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:linear-gradient(to top,#dcdcdc,#e9e9e9)}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a{color:#21759b}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}#plugin-information .action-button{background-color:#d54e21;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.login #nav a,.login #backtoblog a{color:#21759b!important}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important}#wpfooter{color:#777;border-color:#b0c8d7}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf}.plugins .active,.plugins .active th,.plugins .active td{color:#000}.plugins .inactive a{color:#579}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved{background-color:#ffffe0}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b}.welcome-panel{background:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe);border-color:#d1e5ee}.welcome-panel p{color:#777}.welcome-panel-column p{color:#464646}.welcome-panel h3{text-shadow:1px 1px 1px #fff}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#d1e5ee;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe)}.postbox h3{color:#174f69}.widget .widget-top{color:#174f69}.js .sidebar-name:hover h3,.js .postbox h3:hover{color:#000}.curtime #timestamp{background-image:url(../images/date-button.gif)}#quicktags #ed_link{color:#00f}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555}#screen-meta{background-color:#eff8ff;border-color:#d1e5ee;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.05)}#contextual-help-back{background:#fff}.contextual-help-tabs a:hover{background-color:#ceeaff;color:#333}#contextual-help-back,.contextual-help-tabs .active{border-color:#d1e5ee}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#000}#screen-options-link-wrap,#contextual-help-link-wrap{border-right:1px solid #d1e5ee;border-left:1px solid #d1e5ee;border-bottom:1px solid #d1e5ee;background:#eff8ff;background-image:-webkit-gradient(linear,left bottom,left top,from(#def1ff),to(#eff8ff));background-image:-webkit-linear-gradient(bottom,#def1ff,#eff8ff);background-image:-moz-linear-gradient(bottom,#def1ff,#eff8ff);background-image:-o-linear-gradient(bottom,#def1ff,#eff8ff);background-image:linear-gradient(to top,#def1ff,#eff8ff)}#screen-meta-links a{color:#606060;background:transparent url(../images/arrows.png) no-repeat right 4px}#screen-meta-links a:hover,#screen-meta-links a:active{color:#000;background-color:transparent}#screen-meta-links a.screen-meta-active{background-position:right -31px}.login #backtoblog a{color:#464646}#wphead{border-bottom:1px solid #d0dfe9}#wphead h1 a{color:#174f69}#wpfooter a:link,#wpfooter a:visited{text-decoration:none}#wpfooter a:hover{color:#000;text-decoration:underline}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar{border-color:#d0dfe9;background-color:#eff8ff}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar *{color:#555}#poststuff #editor-toolbar .active{border-color:#d0dfe9 #d0dfe9 #eff8ff;background-color:#eff8ff;color:#333}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp_themeSkin table.mceLayout{border-color:#d1e5ee #d1e5ee #d0dfe9}#editorcontainer{border-color:#d1e5ee #d1e5ee #d0dfe9}#post-status-info{border-color:#d0dfe9 #d1e5ee #d1e5ee}.wp-admin .wp-editor-wrap .wp-switch-editor{background-color:#d3e9f2;border-color:#d1e5ee #d1e5ee #d3e9f2;color:#174f69}.wp-admin .wp-editor-wrap .wp-switch-editor:active{background-color:#f5fafd}.wp-admin .wp-editor-wrap.tmce-active .switch-tmce,.wp-admin .wp-editor-wrap.html-active .switch-html{background:#f7fcfe;border-color:#d1e5ee #d1e5ee #f7fcfe}.wp-admin .wp-editor-wrap .quicktags-toolbar,.wp-admin .wp-editor-wrap .wp_themeSkin tr.mceFirst td.mceToolbar{border-color:#d0dfe9;background-color:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe)}.wp-admin .wp_themeSkin table.mceListBox{border-color:#d1e5ee}.wp-admin .wp_themeSkin table.mceListBoxEnabled:hover,.wp-admin .wp_themeSkin table.mceListBoxEnabled:active,.wp-admin .wp_themeSkin table.mceListBoxHover,.wp-admin .wp_themeSkin table.mceListBoxHover:active,.wp-admin .wp_themeSkin table.mceListBoxSelected{border-color:#b8cfdf}.wp-admin .wp_themeSkin a.mceButtonEnabled:hover,.wp-admin .wp_themeSkin table.mceSplitButton:hover{border-color:#c3d2dc;background:#f4f9fc;background-image:-webkit-gradient(linear,left bottom,left top,from(#f4f9fc),to(#fff));background-image:-webkit-linear-gradient(bottom,#f4f9fc,#fff);background-image:-moz-linear-gradient(bottom,#f4f9fc,#fff);background-image:-o-linear-gradient(bottom,#f4f9fc,#fff);background-image:linear-gradient(to top,#f4f9fc,#fff)}.wp-admin .wp_themeSkin a.mceButton:active,.wp-admin .wp_themeSkin a.mceButtonEnabled:active,.wp-admin .wp_themeSkin a.mceButtonSelected:active,.wp-admin .wp_themeSkin a.mceButtonActive,.wp-admin .wp_themeSkin a.mceButtonActive:active,.wp-admin .wp_themeSkin a.mceButtonActive:hover,.wp-admin .wp_themeSkin .mceSplitButtonSelected table,.wp-admin .wp_themeSkin .mceSplitButtonSelected table:hover{border-color:#8f9da9 #c3d2dc #c3d2dc #8f9da9;background:#f4f9fc;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#f4f9fc));background-image:-webkit-linear-gradient(bottom,#fff,#f4f9fc);background-image:-moz-linear-gradient(bottom,#fff,#f4f9fc);background-image:-o-linear-gradient(bottom,#fff,#f4f9fc);background-image:linear-gradient(to top,#fff,#f4f9fc)}.wp-admin .wp_themeSkin .mceSplitButtonSelected table a.mceOpen,.wp-admin .wp_themeSkin .mceSplitButtonSelected table a.mceAction{border-color:#8f9da9 #c3d2dc #c3d2dc #8f9da9}.wp-admin .wp_themeSkin .mceSplitButton:hover a{border-color:#c3d2dc}.editwidget .widget-inside{border-color:#d0dfe9}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap{background-color:#eff8ff;border-color:#d1e5ee}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y}#adminmenu li.wp-menu-separator{background:#d1e5ee;border-color:#bed1dd}#adminmenu div.separator{border-color:#d1e5ee}#adminmenu a.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#fff;border-bottom-color:#cae6ff}#adminmenu li.wp-menu-open{border-color:#d1e5ee}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#e0f1ff;color:#d54e21;text-shadow:0 1px 0 rgba(255,255,255,0.4)}#adminmenu li.menu-top:hover>a span,#adminmenu li.menu-top>a:focus span{text-shadow:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background:#5589aa;background-image:-webkit-gradient(linear,left bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom,#5589aa,#619bbb);background-image:linear-gradient(to top,#5589aa,#619bbb)}#adminmenu .wp-menu-arrow div{background:#5589aa;background-image:-webkit-gradient(linear,right bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom right,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom right,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom right,#5589aa,#619bbb);background-image:linear-gradient(to top left,#5589aa,#619bbb)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#fff;border-bottom-color:#cae6ff;background:#e0f1ff}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#e0f1ff;border-color:#cae6ff}.folded #adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#5a8fad;border-bottom-color:#5589aa}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#5a8fad;border-bottom-color:#5589aa}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#eff8ff;color:#333}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#d0dfe9;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,0.4);box-shadow:2px 3px 6px rgba(0,0,0,0.4)}#adminmenu .wp-submenu .wp-submenu-head{background-color:#e0f1ff;color:#333}#collapse-menu{color:#a0c3d5;border-top-color:#f9f9f9}#collapse-menu:hover{color:#5a8fad}#collapse-button{border-color:#d0dfe9;background:#eff8ff;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(to top,#eff8ff,#fff)}#collapse-menu:hover #collapse-button{border-color:#a0c3d5}#collapse-button div{background:transparent url(../images/arrows-vs.png) no-repeat 0 -72px}.folded #collapse-button div{background-position:0 -108px}@media only screen and (max-width:900px){.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{background-color:#5589aa;background-image:-webkit-gradient(linear,left bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom,#5589aa,#619bbb);background-image:linear-gradient(bottom,#5589aa,#619bbb)}.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{border-top-color:#5a8fad;border-bottom-color:#5589aa}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#d0dfe9;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,0.4);box-shadow:2px 3px 6px rgba(0,0,0,0.4)}.auto-fold #collapse-button div{background-position:0 -108px}}.icon16,.icon32,div.wp-menu-image{background-color:transparent;background-repeat:no-repeat}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url(../images/menu-vs.png?ver=20121105)}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background-position:-59px -33px}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background-position:-59px -1px}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background-position:-269px -33px}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-post.current div.wp-menu-image{background-position:-269px -1px}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background-position:-119px -33px}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-media.current div.wp-menu-image{background-position:-119px -1px}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background-position:-89px -33px}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-links.current div.wp-menu-image{background-position:-89px -1px}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background-position:-149px -33px}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-page.current div.wp-menu-image{background-position:-149px -1px}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background-position:-29px -33px}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background-position:-29px -1px}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background-position:1px -33px}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-appearance.current div.wp-menu-image{background-position:1px -1px}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background-position:-179px -33px}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-plugins.current div.wp-menu-image{background-position:-179px -1px}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background-position:-300px -33px}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background-position:-300px -1px}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background-position:-209px -33px}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background-position:-209px -1px}.icon16.icon-settings,#adminmenu .menu-icon-settings div.wp-menu-image{background-position:-239px -33px}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-settings.current div.wp-menu-image{background-position:-239px -1px}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background-position:-359px -33px}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-site.current div.wp-menu-image{background-position:-359px -1px}.icon16.icon-generic,#adminmenu .menu-icon-generic div.wp-menu-image{background-position:-330px -33px}#adminmenu .menu-icon-generic:hover div.wp-menu-image,#adminmenu .menu-icon-generic.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-generic.current div.wp-menu-image{background-position:-330px -1px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32-vs.png?ver=20121105)}.icon32.icon-post,#icon-edit,#icon-post{background-position:-552px -5px}.icon32.icon-dashboard,#icon-index{background-position:-137px -5px}.icon32.icon-media,#icon-upload{background-position:-251px -5px}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background-position:-190px -5px}.icon32.icon-page,#icon-edit-pages,#icon-page{background-position:-312px -5px}.icon32.icon-comments,#icon-edit-comments{background-position:-72px -5px}.icon32.icon-appearance,#icon-themes{background-position:-11px -5px}.icon32.icon-plugins,#icon-plugins{background-position:-370px -5px}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background-position:-600px -5px}.icon32.icon-tools,#icon-tools,#icon-admin{background-position:-432px -5px}.icon32.icon-settings,#icon-options-general{background-position:-492px -5px}.icon32.icon-site,#icon-ms-admin{background-position:-659px -5px}.icon32.icon-generic,#icon-generic{background-position:-708px -5px}.post-format-icon{background:url(../images/post-formats-vs.png) no-repeat}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}.revisions-meta{border:1px solid #d1e5ee}.revisions-controls{background:#fff;background:-webkit-gradient(linear,left bottom,left top,color-stop(0%,rgba(255,255,255,1)),color-stop(30px,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-moz-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-o-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:linear-gradient(to top,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%)}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d1e5ee;background-color:#fff}.revisions-tickmarks>div{border-color:#d1e5ee}.wp-slider.ui-slider{border-color:#d1e5ee}.wp-slider .ui-slider-handle{color:#333;border-color:none}.wp-slider .ui-slider-handle{border-color:#d0dfe9;background:#eff8ff;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(to top,#eff8ff,#fff)}.wp-slider .ui-slider-handle:hover,.wp-slider .ui-slider-handle:focus{border-color:#a0c3d5}.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.ui-state-focus{border-color:#a0c3d5;outline:0}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#e4f2fd!important}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border:1px solid #ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#d54e21}.js .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#acd}#current-theme img{border-color:#b0c8d7}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{border-top-color:#fff;border-bottom-color:#d1e5ee}#minor-publishing{border-bottom-color:#cae6ff}#post-body .misc-pub-section{border-left-color:#eee}.post-com-count span{background-color:#bbb}.form-table .color-palette td{border-color:#fff}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-color:transparent;background-image:url('../images/list.png');background-repeat:no-repeat}.view-switch #view-switch-list{background-position:0 0}.view-switch .current #view-switch-list{background-position:-40px 0}.view-switch #view-switch-excerpt{background-position:-20px 0}.view-switch .current #view-switch-excerpt{background-position:-60px 0}#header-logo{background:transparent url(../images/wp-logo-vs.png?ver=20101102) no-repeat scroll center center}.popular-tags,.feature-filter{background-color:#fff;border-color:#d1e5ee}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#f7fcfe;border-color:#d0dfe9}#available-widgets .widget-description{color:#555}.sidebar-name{color:#464646;text-shadow:#fff 0 1px 0;border-color:#d0dfe9;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.js .sidebar-name:hover,.js #removing-widget{color:#d54e21}#removing-widget span{color:black}.js .sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px}.js .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px}.in-widget-title{color:#606060}.deleting .widget-title *{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf}.comment-ays,.comment-ays th{border-color:#ddd}.comment-ays th{background-color:#f1f1f1}#menu-management .menu-edit{border-color:#d0dfe9}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#d0dfe9}#nav-menu-header{border-bottom-color:#d0dfe9}#nav-menu-footer{border-top-color:#fff}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#d54e21}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#f7fcfe;border-color:#d0dfe9}.js .input-with-default-title{color:#aaa}#cancel-save{color:#f00}#cancel-save:hover{background-color:#f00;color:#fff}.list-container{border-color:#dfdfdf}.menu-item-handle{border-color:#d0dfe9}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc}.item-type{color:#999}.item-controls .menu-item-delete:hover{color:#f00}.nav-menus-php .item-edit{background:transparent url(../images/arrows-vs.png) no-repeat 8px 10px;border-bottom-color:#eff8ff}.nav-menus-php .item-edit:hover{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 10px}.menu-item-settings{border-color:#d0dfe9}.link-to-original{color:#777;border-color:#d0dfe9}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#21759b;border-bottom-color:#21759b}.submitbox .submitcancel:hover{background:#21759b;color:#fff}.nav-tab{border-color:#d1e5ee #d1e5ee #fff}.nav-tab:hover,.nav-tab-active{border-color:#acd #acd #fff}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#acd}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}#menu-management .nav-tab-active{background:#f7fcfe;border-bottom-color:#f7fcfe}#upload-form label{color:#777}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#bed1dd}#fullscreen-topbar{border-bottom-color:#d1e5ee}.about-wrap h1{color:#333;text-shadow:1px 1px 1px #fff}.about-text{color:#777}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,0.3)}.about-wrap h2 .nav-tab{color:#21759b}.about-wrap h2 .nav-tab:hover{color:#d54e21}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px #fff;color:#464646}.about-wrap h3{color:#333;text-shadow:1px 1px 1px #fff}.about-wrap .feature-section h4{color:#464646}.about-wrap .feature-section img{background:#fff;border:1px #ccc solid;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.3);box-shadow:0 1px 3px rgba(0,0,0,0.3)}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px #fff}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf}.about-wrap .point-releases h3:first-child{border:0}.about-wrap li.wp-person img.gravatar{-webkit-box-shadow:0 0 4px rgba(0,0,0,0.4);box-shadow:0 0 4px rgba(0,0,0,0.4)}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px #fff}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.rtl .bar{border-right-color:transparent;border-left-color:#99d}.rtl #screen-meta-links a.show-settings{background-position:left 3px}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:transparent;border-left-color:#d1e5ee}.rtl #adminmenu .wp-submenu,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:none;box-shadow:none}.rtl #collapse-button div{background-position:0 -108px}.rtl.folded #collapse-button div{background-position:0 -72px}@media only screen and (max-width:900px){.rtl.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.rtl.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl.auto-fold #collapse-button div{background-position:0 -72px}}.js.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px}.rtl #post-body .misc-pub-section{border-right-color:transparent;border-left-color:#d1e5ee}.js.rtl .sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px}.js.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp{background-image:url("../images/date-button-2x.gif?ver=20120916");background-size:16px auto}.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover{background-image:url("../images/xit-2x.gif?ver=20120916");background-size:20px auto}#screen-meta-links a.show-settings,#screen-meta-links a.show-settings.screen-meta-active,#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle,#collapse-button div,.nav-menus-php .item-edit,.js .meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle,.js.rtl .meta-box-sortables .postbox:hover .handlediv,.rtl .sidebar-name-arrow{background-image:url("../images/arrows-vs-2x.png?ver=20120916");background-size:15px 123px}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.nav-menus-php .item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.rtl .sidebar-name:hover .sidebar-name-arrow{background-image:url("../images/arrows-dark-vs-2x.png?ver=20120916");background-size:15px 123px}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-image:url("../images/list-2x.png?ver=20120916");background-size:80px 20px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32-vs-2x.png?ver=20121105);background-size:756px 45px}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url('../images/menu-vs-2x.png?ver=20121105');background-size:390px 64px}#header-logo{background-image:url('../images/wp-logo-vs-2x.png?ver=20120916');background-size:16px auto}.post-format-icon{background-image:url(../images/post-formats32-vs.png);background-size:16px 304px}}
\ No newline at end of file
+.find-box-search,.find-box-buttons{background-color:#eff8ff;border-top:1px solid #dce6f8}.find-box{background-color:#5589aa}.find-box-head{color:#fff}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#d1e5ee}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#d1e5ee;background-color:#fff}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#d1e5ee;background-color:#fff}ul.category-tabs li.tabs{border-color:#d1e5ee #d1e5ee #fff}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff}kbd,code{background:#eff8ff}textarea,input[type=text],input[type=password],input[type=file],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select{border-color:#d1e5ee}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=file]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,select:focus{border-color:#b0c8d7}input.disabled,textarea.disabled{background-color:#ccc}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.revisions-meta,.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,#fullscreen-topbar{background:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe)}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#d1e5ee;text-shadow:#fff 0 1px 0;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#21759b}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.wrap h2{color:#174f69}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#f1f1f1}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:#b0c8d7}.ac_results li{color:#101010}.alternate,.alt{background-color:#f7fcfe}.available-theme a.screenshot{background-color:#eff8ff;border-color:#acd}#current-theme{border-bottom-color:#d1e5ee}.bar{background-color:#e8e8e8;border-right-color:#99d}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00}div.error a{color:#c00}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit,#commentsdiv #add-new-comment{border-color:#dfdfdf}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#b0c8d7;background-color:#eff8ff}.ui-autocomplete li a.ui-state-focus{background-color:#def1ff}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#d54e21}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#d54e21}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#dashboard_right_now .table_content,#dashboard_right_now .table_discussion{border-top-color:#d1e5ee}#rightnow .rbutton{background-color:#ebebeb;color:#264761}.submitbox .submit{background-color:#464646;color:#ccc}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:red;border-bottom-color:red}.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover{color:#fff;background-color:red;border-bottom-color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#d0dfe9}.widefat th{text-shadow:rgba(255,255,255,.8) 0 1px 0}.widefat td{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1;background-image:-webkit-gradient(linear,left bottom,left top,from(#dcdcdc),to(#e9e9e9));background-image:-webkit-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-moz-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-o-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:linear-gradient(to top,#dcdcdc,#e9e9e9)}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a{color:#21759b}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,.5) 0 1px 0;box-shadow:rgba(255,255,255,.5) 0 1px 0}#plugin-information .action-button{background-color:#d54e21;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,.5) 0 1px 0;box-shadow:rgba(255,255,255,.5) 0 1px 0}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.login #nav a,.login #backtoblog a{color:#21759b!important}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important}#wpfooter{color:#777;border-color:#b0c8d7}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf}.plugins .active,.plugins .active th,.plugins .active td{color:#000}.plugins .inactive a{color:#579}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved{background-color:#ffffe0}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b}.welcome-panel{background:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe);border-color:#d1e5ee}.welcome-panel p{color:#777}.welcome-panel-column p{color:#464646}.welcome-panel h3{text-shadow:1px 1px 1px #fff}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#d1e5ee;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe)}.postbox h3{color:#174f69}.widget .widget-top{color:#174f69}.js .sidebar-name:hover h3,.js .postbox h3:hover{color:#000}.curtime #timestamp{background-image:url(../images/date-button.gif)}#quicktags #ed_link{color:#00f}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555}#screen-meta{background-color:#eff8ff;border-color:#d1e5ee;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.05);box-shadow:0 1px 3px rgba(0,0,0,.05)}#contextual-help-back{background:#fff}.contextual-help-tabs a:hover{background-color:#ceeaff;color:#333}#contextual-help-back,.contextual-help-tabs .active{border-color:#d1e5ee}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#000}#screen-options-link-wrap,#contextual-help-link-wrap{border-right:1px solid #d1e5ee;border-left:1px solid #d1e5ee;border-bottom:1px solid #d1e5ee;background:#eff8ff;background-image:-webkit-gradient(linear,left bottom,left top,from(#def1ff),to(#eff8ff));background-image:-webkit-linear-gradient(bottom,#def1ff,#eff8ff);background-image:-moz-linear-gradient(bottom,#def1ff,#eff8ff);background-image:-o-linear-gradient(bottom,#def1ff,#eff8ff);background-image:linear-gradient(to top,#def1ff,#eff8ff)}#screen-meta-links a{color:#606060;background:transparent url(../images/arrows.png) no-repeat right 4px}#screen-meta-links a:hover,#screen-meta-links a:active{color:#000;background-color:transparent}#screen-meta-links a.screen-meta-active{background-position:right -31px}.login #backtoblog a{color:#464646}#wphead{border-bottom:1px solid #d0dfe9}#wphead h1 a{color:#174f69}#wpfooter a:link,#wpfooter a:visited{text-decoration:none}#wpfooter a:hover{color:#000;text-decoration:underline}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar{border-color:#d0dfe9;background-color:#eff8ff}#poststuff .wp-editor-wrap .wp_themeSkin .mceStatusbar *{color:#555}#poststuff #editor-toolbar .active{border-color:#d0dfe9 #d0dfe9 #eff8ff;background-color:#eff8ff;color:#333}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp_themeSkin table.mceLayout{border-color:#d1e5ee #d1e5ee #d0dfe9}#editorcontainer{border-color:#d1e5ee #d1e5ee #d0dfe9}#post-status-info{border-color:#d0dfe9 #d1e5ee #d1e5ee}.wp-admin .wp-editor-wrap .wp-switch-editor{background-color:#d3e9f2;border-color:#d1e5ee #d1e5ee #d3e9f2;color:#174F69}.wp-admin .wp-editor-wrap .wp-switch-editor:active{background-color:#f5fafd}.wp-admin .wp-editor-wrap.tmce-active .switch-tmce,.wp-admin .wp-editor-wrap.html-active .switch-html{background:#f7fcfe;border-color:#d1e5ee #d1e5ee #f7fcfe}.wp-admin .wp-editor-wrap .quicktags-toolbar,.wp-admin .wp-editor-wrap .wp_themeSkin tr.mceFirst td.mceToolbar{border-color:#d0dfe9;background-color:#f5fafd;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#f7fcfe));background-image:-webkit-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-moz-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:-o-linear-gradient(bottom,#eff8ff,#f7fcfe);background-image:linear-gradient(to top,#eff8ff,#f7fcfe)}.wp-admin .wp_themeSkin table.mceListBox{border-color:#d1e5ee}.wp-admin .wp_themeSkin table.mceListBoxEnabled:hover,.wp-admin .wp_themeSkin table.mceListBoxEnabled:active,.wp-admin .wp_themeSkin table.mceListBoxHover,.wp-admin .wp_themeSkin table.mceListBoxHover:active,.wp-admin .wp_themeSkin table.mceListBoxSelected{border-color:#b8cfdf}.wp-admin .wp_themeSkin a.mceButtonEnabled:hover,.wp-admin .wp_themeSkin table.mceSplitButton:hover{border-color:#c3d2dc;background:#f4f9fc;background-image:-webkit-gradient(linear,left bottom,left top,from(#f4f9fc),to(#fff));background-image:-webkit-linear-gradient(bottom,#f4f9fc,#fff);background-image:-moz-linear-gradient(bottom,#f4f9fc,#fff);background-image:-o-linear-gradient(bottom,#f4f9fc,#fff);background-image:linear-gradient(to top,#f4f9fc,#fff)}.wp-admin .wp_themeSkin a.mceButton:active,.wp-admin .wp_themeSkin a.mceButtonEnabled:active,.wp-admin .wp_themeSkin a.mceButtonSelected:active,.wp-admin .wp_themeSkin a.mceButtonActive,.wp-admin .wp_themeSkin a.mceButtonActive:active,.wp-admin .wp_themeSkin a.mceButtonActive:hover,.wp-admin .wp_themeSkin .mceSplitButtonSelected table,.wp-admin .wp_themeSkin .mceSplitButtonSelected table:hover{border-color:#8f9da9 #c3d2dc #c3d2dc #8f9da9;background:#f4f9fc;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#f4f9fc));background-image:-webkit-linear-gradient(bottom,#fff,#f4f9fc);background-image:-moz-linear-gradient(bottom,#fff,#f4f9fc);background-image:-o-linear-gradient(bottom,#fff,#f4f9fc);background-image:linear-gradient(to top,#fff,#f4f9fc)}.wp-admin .wp_themeSkin .mceSplitButtonSelected table a.mceOpen,.wp-admin .wp_themeSkin .mceSplitButtonSelected table a.mceAction{border-color:#8f9da9 #c3d2dc #c3d2dc #8f9da9}.wp-admin .wp_themeSkin .mceSplitButton:hover a{border-color:#c3d2dc}.editwidget .widget-inside{border-color:#d0dfe9}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap{background-color:#eff8ff;border-color:#d1e5ee}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y}#adminmenu li.wp-menu-separator{background:#d1e5ee;border-color:#bed1dd}#adminmenu div.separator{border-color:#d1e5ee}#adminmenu a.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#fff;border-bottom-color:#cae6ff}#adminmenu li.wp-menu-open{border-color:#d1e5ee}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#e0f1ff;color:#d54e21;text-shadow:0 1px 0 rgba(255,255,255,.4)}#adminmenu li.menu-top:hover>a span,#adminmenu li.menu-top>a:focus span{text-shadow:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background:#5589aa;background-image:-webkit-gradient(linear,left bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom,#5589aa,#619bbb);background-image:linear-gradient(to top,#5589aa,#619bbb)}#adminmenu .wp-menu-arrow div{background:#5589aa;background-image:-webkit-gradient(linear,right bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom right,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom right,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom right,#5589aa,#619bbb);background-image:linear-gradient(to top left,#5589aa,#619bbb)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#fff;border-bottom-color:#cae6ff;background:#e0f1ff}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#e0f1ff;border-color:#cae6ff}.folded #adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#5a8fad;border-bottom-color:#5589aa}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#5a8fad;border-bottom-color:#5589aa}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#eff8ff;color:#333}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#d0dfe9;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,.4);box-shadow:2px 3px 6px rgba(0,0,0,.4)}#adminmenu .wp-submenu .wp-submenu-head{background-color:#e0f1ff;color:#333}#collapse-menu{color:#a0c3d5;border-top-color:#f9f9f9}#collapse-menu:hover{color:#5a8fad}#collapse-button{border-color:#d0dfe9;background:#eff8ff;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(to top,#eff8ff,#fff)}#collapse-menu:hover #collapse-button{border-color:#a0c3d5}#collapse-button div{background:transparent url(../images/arrows-vs.png) no-repeat 0 -72px}.folded #collapse-button div{background-position:0 -108px}@media only screen and (max-width:900px){.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{background-color:#5589aa;background-image:-webkit-gradient(linear,left bottom,left top,from(#5589aa),to(#619bbb));background-image:-webkit-linear-gradient(bottom,#5589aa,#619bbb);background-image:-moz-linear-gradient(bottom,#5589aa,#619bbb);background-image:-o-linear-gradient(bottom,#5589aa,#619bbb);background-image:linear-gradient(bottom,#5589aa,#619bbb)}.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{border-top-color:#5a8fad;border-bottom-color:#5589aa}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#d0dfe9;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,.4);box-shadow:2px 3px 6px rgba(0,0,0,.4)}.auto-fold #collapse-button div{background-position:0 -108px}}.icon16,.icon32,div.wp-menu-image{background-color:transparent;background-repeat:no-repeat}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url(../images/menu-vs.png?ver=20121105)}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background-position:-59px -33px}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background-position:-59px -1px}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background-position:-269px -33px}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-post.current div.wp-menu-image{background-position:-269px -1px}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background-position:-119px -33px}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-media.current div.wp-menu-image{background-position:-119px -1px}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background-position:-89px -33px}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-links.current div.wp-menu-image{background-position:-89px -1px}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background-position:-149px -33px}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-page.current div.wp-menu-image{background-position:-149px -1px}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background-position:-29px -33px}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background-position:-29px -1px}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background-position:1px -33px}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-appearance.current div.wp-menu-image{background-position:1px -1px}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background-position:-179px -33px}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-plugins.current div.wp-menu-image{background-position:-179px -1px}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background-position:-300px -33px}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background-position:-300px -1px}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background-position:-209px -33px}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background-position:-209px -1px}.icon16.icon-settings,#adminmenu .menu-icon-settings div.wp-menu-image{background-position:-239px -33px}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-settings.current div.wp-menu-image{background-position:-239px -1px}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background-position:-359px -33px}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-site.current div.wp-menu-image{background-position:-359px -1px}.icon16.icon-generic,#adminmenu .menu-icon-generic div.wp-menu-image{background-position:-330px -33px}#adminmenu .menu-icon-generic:hover div.wp-menu-image,#adminmenu .menu-icon-generic.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-generic.current div.wp-menu-image{background-position:-330px -1px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32-vs.png?ver=20121105)}.icon32.icon-post,#icon-edit,#icon-post{background-position:-552px -5px}.icon32.icon-dashboard,#icon-index{background-position:-137px -5px}.icon32.icon-media,#icon-upload{background-position:-251px -5px}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background-position:-190px -5px}.icon32.icon-page,#icon-edit-pages,#icon-page{background-position:-312px -5px}.icon32.icon-comments,#icon-edit-comments{background-position:-72px -5px}.icon32.icon-appearance,#icon-themes{background-position:-11px -5px}.icon32.icon-plugins,#icon-plugins{background-position:-370px -5px}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background-position:-600px -5px}.icon32.icon-tools,#icon-tools,#icon-admin{background-position:-432px -5px}.icon32.icon-settings,#icon-options-general{background-position:-492px -5px}.icon32.icon-site,#icon-ms-admin{background-position:-659px -5px}.icon32.icon-generic,#icon-generic{background-position:-708px -5px}.post-format-icon{background:url(../images/post-formats-vs.png) no-repeat}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}.revisions-meta{border:1px solid #d1e5ee}.revisions-controls{background:#fff;background:-webkit-gradient(linear,left bottom,left top,color-stop(0%,rgba(255,255,255,1)),color-stop(30px,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-moz-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-o-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:linear-gradient(to top,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%)}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d1e5ee;background-color:#fff}.revisions-tickmarks>div{border-color:#d1e5ee}.wp-slider.ui-slider{border-color:#d1e5ee}.wp-slider .ui-slider-handle{color:#333;border-color:none}.wp-slider .ui-slider-handle{border-color:#d0dfe9;background:#eff8ff;background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(to top,#eff8ff,#fff)}.wp-slider .ui-slider-handle:hover,.wp-slider .ui-slider-handle:focus{border-color:#a0c3d5}.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.ui-state-focus{border-color:#a0c3d5;outline:0}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#e4f2fd!important}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border:1px solid #ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#d54e21}.js .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#acd}#current-theme img{border-color:#b0c8d7}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{border-top-color:#fff;border-bottom-color:#d1e5ee}#minor-publishing{border-bottom-color:#cae6ff}#post-body .misc-pub-section{border-left-color:#eee}.post-com-count span{background-color:#bbb}.form-table .color-palette td{border-color:#fff}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-color:transparent;background-image:url(../images/list.png);background-repeat:no-repeat}.view-switch #view-switch-list{background-position:0 0}.view-switch .current #view-switch-list{background-position:-40px 0}.view-switch #view-switch-excerpt{background-position:-20px 0}.view-switch .current #view-switch-excerpt{background-position:-60px 0}#header-logo{background:transparent url(../images/wp-logo-vs.png?ver=20101102) no-repeat scroll center center}.popular-tags,.feature-filter{background-color:#fff;border-color:#d1e5ee}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#f7fcfe;border-color:#d0dfe9}#available-widgets .widget-description{color:#555}.sidebar-name{color:#464646;text-shadow:#fff 0 1px 0;border-color:#d0dfe9;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.js .sidebar-name:hover,.js #removing-widget{color:#d54e21}#removing-widget span{color:#000}.js .sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px}.js .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px}.in-widget-title{color:#606060}.deleting .widget-title *{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf}.comment-ays,.comment-ays th{border-color:#ddd}.comment-ays th{background-color:#f1f1f1}#menu-management .menu-edit{border-color:#d0dfe9}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#d0dfe9}#nav-menu-header{border-bottom-color:#d0dfe9}#nav-menu-footer{border-top-color:#fff}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#d54e21}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#f7fcfe;border-color:#d0dfe9}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container{border-color:#dfdfdf}.menu-item-handle{border-color:#d0dfe9}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc}.item-type{color:#999}.item-controls .menu-item-delete:hover{color:red}.nav-menus-php .item-edit{background:transparent url(../images/arrows-vs.png) no-repeat 8px 10px;border-bottom-color:#eff8ff}.nav-menus-php .item-edit:hover{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 10px}.menu-item-settings{border-color:#d0dfe9}.link-to-original{color:#777;border-color:#d0dfe9}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#21759b;border-bottom-color:#21759b}.submitbox .submitcancel:hover{background:#21759b;color:#fff}.nav-tab{border-color:#d1e5ee #d1e5ee #fff}.nav-tab:hover,.nav-tab-active{border-color:#acd #acd #fff}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#acd}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}#menu-management .nav-tab-active{background:#f7fcfe;border-bottom-color:#f7fcfe}#upload-form label{color:#777}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#bed1dd}#fullscreen-topbar{border-bottom-color:#d1e5ee}.about-wrap h1{color:#333;text-shadow:1px 1px 1px #fff}.about-text{color:#777}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,.3)}.about-wrap h2 .nav-tab{color:#21759b}.about-wrap h2 .nav-tab:hover{color:#d54e21}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px #fff;color:#464646}.about-wrap h3{color:#333;text-shadow:1px 1px 1px #fff}.about-wrap .feature-section h4{color:#464646}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px #fff}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf}.about-wrap .point-releases h3:first-child{border:0}.about-wrap li.wp-person img.gravatar{-webkit-box-shadow:0 0 4px rgba(0,0,0,.4);box-shadow:0 0 4px rgba(0,0,0,.4)}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px #fff}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.rtl .bar{border-right-color:transparent;border-left-color:#99d}.rtl #screen-meta-links a.show-settings{background-position:left 3px}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:transparent;border-left-color:#d1e5ee}.rtl #adminmenu .wp-submenu,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,.4);box-shadow:-2px 2px 5px rgba(0,0,0,.4)}.rtl #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:none;box-shadow:none}.rtl #collapse-button div{background-position:0 -108px}.rtl.folded #collapse-button div{background-position:0 -72px}@media only screen and (max-width:900px){.rtl.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.rtl.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,.4);box-shadow:-2px 2px 5px rgba(0,0,0,.4)}.rtl.auto-fold #collapse-button div{background-position:0 -72px}}.js.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px}.rtl #post-body .misc-pub-section{border-right-color:transparent;border-left-color:#d1e5ee}.js.rtl .sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px}.js.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp{background-image:url(../images/date-button-2x.gif?ver=20120916);background-size:16px auto}.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover{background-image:url(../images/xit-2x.gif?ver=20120916);background-size:20px auto}#screen-meta-links a.show-settings,#screen-meta-links a.show-settings.screen-meta-active,#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle,#collapse-button div,.nav-menus-php .item-edit,.js .meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle,.js.rtl .meta-box-sortables .postbox:hover .handlediv,.rtl .sidebar-name-arrow{background-image:url(../images/arrows-vs-2x.png?ver=20120916);background-size:15px 123px}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.nav-menus-php .item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.rtl .sidebar-name:hover .sidebar-name-arrow{background-image:url(../images/arrows-dark-vs-2x.png?ver=20120916);background-size:15px 123px}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-image:url(../images/list-2x.png?ver=20120916);background-size:80px 20px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32-vs-2x.png?ver=20121105);background-size:756px 45px}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url(../images/menu-vs-2x.png?ver=20121105);background-size:390px 64px}#header-logo{background-image:url(../images/wp-logo-vs-2x.png?ver=20120916);background-size:16px auto}.post-format-icon{background-image:url(../images/post-formats32-vs.png);background-size:16px 304px}}
\ No newline at end of file
index 92d8332daf292c15333413711f1b62e72d526382..547d6f417316faf768bd8bbfe47170ced558ac7b 100644 (file)
@@ -1889,13 +1889,6 @@ h2.nav-tab-wrapper, h3.nav-tab-wrapper {
        color: #464646;
 }
 
        color: #464646;
 }
 
-.about-wrap .feature-section img {
-       background: #fff;
-       border: 1px #ccc solid;
-       -webkit-box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.3 );
-       box-shadow:         0 1px 3px rgba( 0, 0, 0, 0.3 );
-}
-
 .about-wrap h4.wp-people-group {
        text-shadow: 1px 1px 1px #fff;
 }
 .about-wrap h4.wp-people-group {
        text-shadow: 1px 1px 1px #fff;
 }
index 9e9ed8b53a3b508e5b1451dd78c15caeee94826d..b51baf0d8a01b4e45e59591df5d6975a841e00d7 100644 (file)
@@ -1 +1 @@
-.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #ddd}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#dfdfdf;background-color:#f9f9f9}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fff}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff}kbd,code{background:#eaeaea}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select{border-color:#dfdfdf}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="file"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="url"]:focus,select:focus{border-color:#aaa}input.disabled,textarea.disabled{background-color:#ccc}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.revisions-meta,.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle{background:#f1f1f1;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#dfdfdf;text-shadow:#fff 0 1px 0;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#21759b}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.wrap h2{color:#464646}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#f1f1f1}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:#808080}.ac_results li{color:#101010}.alternate,.alt{background-color:#fcfcfc}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00}div.error a{color:#c00}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit,#commentsdiv #add-new-comment{border-color:#dfdfdf}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#d54e21}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#d54e21}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}#dashboard_right_now .table_content,#dashboard_right_now .table_discussion{border-top-color:#ececec}.submitbox .submit{background-color:#464646;color:#ccc}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00}.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#dfdfdf}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0}.widefat td{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1;background-image:-webkit-gradient(linear,left bottom,left top,from(#dcdcdc),to(#e9e9e9));background-image:-webkit-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-moz-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-o-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:linear-gradient(to top,#dcdcdc,#e9e9e9)}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a{color:#21759b}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}#plugin-information .action-button{background-color:#d54e21;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.login #nav a,.login #backtoblog a{color:#21759b!important}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important}#wpfooter{color:#777;border-color:#dfdfdf}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f4f4f4}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf}.plugins .active,.plugins .active th,.plugins .active td{color:#000}.plugins .inactive a{color:#579}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved{background-color:#ffffe0}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b}.welcome-panel{background:#f5f5f5;background-image:-webkit-gradient(linear,left bottom,left top,from(#f5f5f5),to(#fafafa));background-image:-webkit-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-moz-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-o-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:linear-gradient(to top,#f5f5f5,#fafafa);border-color:#dfdfdf}.welcome-panel p{color:#777}.welcome-panel-column p{color:#464646}.welcome-panel h3{text-shadow:1px 1px 1px #fff}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background:#f5f5f5;background-image:-webkit-gradient(linear,left bottom,left top,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#f5f5f5,#f9f9f9);background-image:-moz-linear-gradient(bottom,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(bottom,#f5f5f5,#f9f9f9);background-image:linear-gradient(to top,#f5f5f5,#f9f9f9)}.postbox h3{color:#464646}.widget .widget-top{color:#222}.js .sidebar-name:hover h3,.js .postbox h3:hover{color:#000}.curtime #timestamp{background-image:url(../images/date-button.gif)}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555}#screen-meta{background-color:#f1f1f1;border-color:#ccc;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.05);box-shadow:0 1px 3px rgba(0,0,0,0.05)}#contextual-help-back{background:#fff}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active{border-color:#ccc}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border-right:1px solid #ccc;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background:#e3e3e3;background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#f1f1f1));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-moz-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-o-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:linear-gradient(to top,#dfdfdf,#f1f1f1)}#screen-meta-links a{color:#777;background:transparent url(../images/arrows.png) no-repeat right 4px}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333;background-color:transparent}#screen-meta-links a.screen-meta-active{background-position:right -31px}.login #backtoblog a{color:#464646}#wphead{border-bottom:#dfdfdf 1px solid}#wphead h1 a{color:#464646}#wpfooter a:link,#wpfooter a:visited{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{border-color:#dfdfdf #ccc #ccc;background-color:#eaeaea}.editwidget .widget-inside{border-color:#dfdfdf}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap{background-color:#ececec;border-color:#ccc}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y}#adminmenu li.wp-menu-separator{background:#dfdfdf;border-color:#cfcfcf}#adminmenu div.separator{border-color:#e1e1e1}#adminmenu a.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#e4e4e4;color:#d54e21;text-shadow:0 1px 0 rgba(255,255,255,0.4)}#adminmenu li.menu-top:hover>a span,#adminmenu li.menu-top>a:focus span{text-shadow:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background:#777;background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(to top,#6d6d6d,#808080)}#adminmenu .wp-menu-arrow div{background:#777;background-image:-webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom right,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom right,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom right,#6d6d6d,#808080);background-image:linear-gradient(to top left,#6d6d6d,#808080)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:#e4e4e4}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#e4e4e4;border-color:#ccc}.folded #adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#808080;border-bottom-color:#6d6d6d}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#808080;border-bottom-color:#6d6d6d}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#eaf2fa;color:#333}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#dfdfdf;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,0.4);box-shadow:2px 3px 6px rgba(0,0,0,0.4)}#adminmenu .wp-submenu .wp-submenu-head{background-color:#e4e4e4;color:#333}#collapse-menu{color:#aaa;border-top-color:#f9f9f9}#collapse-menu:hover{color:#999}#collapse-button{border-color:#ccc;background:#f4f4f4;background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#fff));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#fff);background-image:-moz-linear-gradient(bottom,#dfdfdf,#fff);background-image:-o-linear-gradient(bottom,#dfdfdf,#fff);background-image:linear-gradient(to top,#dfdfdf,#fff)}#collapse-menu:hover #collapse-button{border-color:#aaa}#collapse-button div{background:transparent url(../images/arrows.png) no-repeat 0 -72px}.folded #collapse-button div{background-position:0 -108px}@media only screen and (max-width:900px){.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{background-color:#777;background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(bottom,#6d6d6d,#808080)}.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{border-top-color:#808080;border-bottom-color:#6d6d6d}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#dfdfdf;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,0.4);box-shadow:2px 3px 6px rgba(0,0,0,0.4)}.auto-fold #collapse-button div{background-position:0 -108px}}.icon16,.icon32,div.wp-menu-image{background-color:transparent;background-repeat:no-repeat}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url(../images/menu.png?ver=20121105)}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background-position:-59px -33px}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background-position:-59px -1px}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background-position:-269px -33px}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-post.current div.wp-menu-image{background-position:-269px -1px}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background-position:-119px -33px}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-media.current div.wp-menu-image{background-position:-119px -1px}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background-position:-89px -33px}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-links.current div.wp-menu-image{background-position:-89px -1px}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background-position:-149px -33px}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-page.current div.wp-menu-image{background-position:-149px -1px}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background-position:-29px -33px}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background-position:-29px -1px}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background-position:1px -33px}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-appearance.current div.wp-menu-image{background-position:1px -1px}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background-position:-179px -33px}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-plugins.current div.wp-menu-image{background-position:-179px -1px}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background-position:-300px -33px}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background-position:-300px -1px}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background-position:-209px -33px}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background-position:-209px -1px}.icon16.icon-settings,#adminmenu .menu-icon-settings div.wp-menu-image{background-position:-239px -33px}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-settings.current div.wp-menu-image{background-position:-239px -1px}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background-position:-359px -33px}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-site.current div.wp-menu-image{background-position:-359px -1px}.icon16.icon-generic,#adminmenu .menu-icon-generic div.wp-menu-image{background-position:-330px -33px}#adminmenu .menu-icon-generic:hover div.wp-menu-image,#adminmenu .menu-icon-generic.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-generic.current div.wp-menu-image{background-position:-330px -1px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32.png?ver=20121105)}.icon32.icon-post,#icon-edit,#icon-post{background-position:-552px -5px}.icon32.icon-dashboard,#icon-index{background-position:-137px -5px}.icon32.icon-media,#icon-upload{background-position:-251px -5px}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background-position:-190px -5px}.icon32.icon-page,#icon-edit-pages,#icon-page{background-position:-312px -5px}.icon32.icon-comments,#icon-edit-comments{background-position:-72px -5px}.icon32.icon-appearance,#icon-themes{background-position:-11px -5px}.icon32.icon-plugins,#icon-plugins{background-position:-370px -5px}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background-position:-600px -5px}.icon32.icon-tools,#icon-tools,#icon-admin{background-position:-432px -5px}.icon32.icon-settings,#icon-options-general{background-position:-492px -5px}.icon32.icon-site,#icon-ms-admin{background-position:-659px -5px}.icon32.icon-generic,#icon-generic{background-position:-708px -5px}.post-format-icon{background:url(../images/post-formats.png) no-repeat}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}.revisions-meta{border:1px solid #dfdfdf}.revisions-controls{background:#fff;background:-webkit-gradient(linear,left bottom,left top,color-stop(0%,rgba(255,255,255,1)),color-stop(30px,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-moz-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-o-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:linear-gradient(to top,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%)}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle{border-color:#ccc;border-radius:50%;background:#f4f4f4;background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#fff));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#fff);background-image:-moz-linear-gradient(bottom,#dfdfdf,#fff);background-image:-o-linear-gradient(bottom,#dfdfdf,#fff);background-image:linear-gradient(to top,#dfdfdf,#fff);color:#333}.wp-slider .ui-slider-handle:hover,.wp-slider .ui-slider-handle:focus{border-color:#aaa}.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.ui-state-focus{border-color:#aaa;outline:0}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#e4f2fd!important}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border:1px solid #ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#d54e21}.js .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{border-top-color:#fff;border-bottom-color:#dfdfdf}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{border-left-color:#eee}.post-com-count span{background-color:#bbb}.form-table .color-palette td{border-color:#fff}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-color:transparent;background-image:url('../images/list.png');background-repeat:no-repeat}.view-switch #view-switch-list{background-position:0 0}.view-switch .current #view-switch-list{background-position:-40px 0}.view-switch #view-switch-excerpt{background-position:-20px 0}.view-switch .current #view-switch-excerpt{background-position:-60px 0}#header-logo{background:transparent url(../images/wp-logo.png?ver=20110504) no-repeat scroll center center}.popular-tags,.feature-filter{background-color:#fff;border-color:#dfdfdf}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fcfcfc;border-color:#dfdfdf}#available-widgets .widget-description{color:#555}.sidebar-name{color:#464646;text-shadow:#fff 0 1px 0;border-color:#dfdfdf;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.js .sidebar-name:hover,.js #removing-widget{color:#d54e21}#removing-widget span{color:black}.js .sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px}.js .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px}.in-widget-title{color:#606060}.deleting .widget-title *{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf}.comment-ays,.comment-ays th{border-color:#ddd}.comment-ays th{background-color:#f1f1f1}#menu-management .menu-edit{border-color:#dfdfdf}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#nav-menu-footer{border-top-color:#fff}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#d54e21}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:#f00}#cancel-save:hover{background-color:#f00;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc}.item-type{color:#999}.item-controls .menu-item-delete:hover{color:#f00}.nav-menus-php .item-edit{background:transparent url(../images/arrows.png) no-repeat 8px 10px;border-bottom-color:#eee}.nav-menus-php .item-edit:hover{background:transparent url(../images/arrows-dark.png) no-repeat 8px 10px}.menu-item-settings{border-color:#dfdfdf}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#21759b;border-bottom-color:#21759b}.submitbox .submitcancel:hover{background:#21759b;color:#fff}.manage-menus{border:1px solid #eee;background:#fbfbfb}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{border-color:#dfdfdf #dfdfdf #fff}.nav-tab:hover,.nav-tab-active{border-color:#ccc #ccc #fff}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}#menu-management .nav-tab-active{background:#f9f9f9;border-bottom-color:#f9f9f9}#upload-form label{color:#777}.about-wrap h1{color:#333;text-shadow:1px 1px 1px #fff}.about-text{color:#777}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,0.3)}.about-wrap h2 .nav-tab{color:#21759b}.about-wrap h2 .nav-tab:hover{color:#d54e21}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px #fff;color:#464646}.about-wrap h3{color:#333;text-shadow:1px 1px 1px #fff}.about-wrap .feature-section h4{color:#464646}.about-wrap .feature-section img{background:#fff;border:1px #ccc solid;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.3);box-shadow:0 1px 3px rgba(0,0,0,0.3)}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px #fff}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf}.about-wrap .point-releases h3:first-child{border:0}.about-wrap li.wp-person img.gravatar{-webkit-box-shadow:0 0 4px rgba(0,0,0,0.4);box-shadow:0 0 4px rgba(0,0,0,0.4)}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px #fff}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.rtl .bar{border-right-color:transparent;border-left-color:#99d}.rtl #screen-meta-links a.show-settings{background-position:left 3px}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:transparent;border-left-color:#dfdfdf}.rtl #adminmenu .wp-submenu,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:none;box-shadow:none}.rtl #collapse-button div{background-position:0 -108px}.rtl.folded #collapse-button div{background-position:0 -72px}@media only screen and (max-width:900px){.rtl.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.rtl.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4)}.rtl.auto-fold #collapse-button div{background-position:0 -72px}}.js.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.rtl #post-body .misc-pub-section{border-right-color:transparent;border-left-color:#eee}.js.rtl .sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px}.js.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp{background-image:url("../images/date-button-2x.gif?ver=20120916");background-size:16px auto}.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover{background-image:url("../images/xit-2x.gif?ver=20120916");background-size:20px auto}#screen-meta-links a.show-settings,#screen-meta-links a.show-settings.screen-meta-active,#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle,#collapse-button div,.nav-menus-php .item-edit,.js .meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle,.js.rtl .meta-box-sortables .postbox:hover .handlediv,.rtl .sidebar-name-arrow{background-image:url("../images/arrows-2x.png?ver=20120916");background-size:15px 123px}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.sidebar-name:hover .sidebar-name-arrow,.nav-menus-php .item-edit:hover,.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.rtl .sidebar-name:hover .sidebar-name-arrow{background-image:url("../images/arrows-dark-2x.png?ver=20120916");background-size:15px 123px}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-image:url("../images/list-2x.png?ver=20120916");background-size:80px 20px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32-2x.png?ver=20121105);background-size:756px 45px}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url('../images/menu-2x.png?ver=20121105');background-size:390px 64px}#header-logo{background-image:url('../images/wp-logo-2x.png?ver=20120916');background-size:16px auto}.post-format-icon{background-image:url(../images/post-formats32.png);background-size:16px 304px}}
\ No newline at end of file
+.find-box-search,.find-box-buttons{background-color:#f7f7f7;border-top:1px solid #ddd}.find-box{background-color:#444}.find-box-head{color:#eee}.find-box-inside{background-color:#fff}a.page-numbers:hover{border-color:#999}body,#wpbody,.form-table .pre,.ui-autocomplete li a{color:#333}body>#upload-menu{border-bottom-color:#fff}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links{border-color:#ccc}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}#postcustomstuff table{border-color:#dfdfdf;background-color:#f9f9f9}#postcustomstuff thead th{background-color:#f1f1f1}table.widefat{border-color:#dfdfdf;background-color:#f9f9f9}div.dashboard-widget-error{background-color:#c43}div.dashboard-widget-notice{background-color:#cfe1ef}div.dashboard-widget-submit{border-top-color:#ccc}ul.category-tabs li{border-color:transparent}div.tabs-panel,.wp-tab-panel,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff}ul.category-tabs li.tabs{border-color:#dfdfdf #dfdfdf #fff}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff}kbd,code{background:#eaeaea}textarea,input[type=text],input[type=password],input[type=file],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select{border-color:#dfdfdf}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=file]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,select:focus{border-color:#aaa}input.disabled,textarea.disabled{background-color:#ccc}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff}.revisions-meta,.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle{background:#f1f1f1;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#dfdfdf;text-shadow:#fff 0 1px 0;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0}.description,.form-wrap p{color:#666}strong .post-com-count span{background-color:#21759b}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.wrap h2{color:#464646}.wrap .add-new-h2,.wrap .add-new-h2:active{background:#f1f1f1}.subtitle{color:#777}.ac_over{background-color:#f0f0b8}.ac_results{background-color:#fff;border-color:gray}.ac_results li{color:#101010}.alternate,.alt{background-color:#fcfcfc}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd}#current-theme{border-bottom-color:#dfdfdf}.bar{background-color:#e8e8e8;border-right-color:#99d}#media-upload,#media-upload .media-item .slidetoggle{background:#fff}#media-upload .slidetoggle{border-top-color:#dfdfdf}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00}div.error a{color:#c00}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.submit,#commentsdiv #add-new-comment{border-color:#dfdfdf}.highlight{background-color:#e4f2fd;color:#000}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666}.media-upload-form label.form-help,td.help{color:#9a9a9a}.ui-autocomplete{border-color:#aaa;background-color:#efefef}.ui-autocomplete li a.ui-state-focus{background-color:#ddd}.post-com-count{color:#fff}.post-com-count span{background-color:#bbb;color:#fff}.post-com-count:hover span{background-color:#d54e21}.quicktags,.search{background-color:#ccc;color:#000}.side-info h5{border-bottom-color:#dadada}.side-info ul{color:#666}a:hover,a:active{color:#d54e21}a:focus{color:#124964}#adminmenu a:hover,#adminmenu li.menu-top>a:focus,#adminmenu .wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333}#rightnow .rbutton{background-color:#ebebeb;color:#264761}#dashboard_right_now .table_content,#dashboard_right_now .table_discussion{border-top-color:#ececec}.submitbox .submit{background-color:#464646;color:#ccc}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:red;border-bottom-color:red}.submitbox .submitdelete:hover,#media-items a.delete:hover,#media-items a.delete-permanently:hover,#nav-menu-footer .menu-delete:hover{color:#fff;background-color:red;border-bottom-color:red}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55}.update-message{color:#000}a.page-numbers{border-bottom-color:#b8d3e2}.commentlist li{border-bottom-color:#ccc}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#dfdfdf}.widefat th{text-shadow:rgba(255,255,255,.8) 0 1px 0}.widefat td{color:#555}.widefat p,.widefat ol,.widefat ul{color:#333}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small{color:#333}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333}th.sortable a:focus{background:#e1e1e1;background-image:-webkit-gradient(linear,left bottom,left top,from(#dcdcdc),to(#e9e9e9));background-image:-webkit-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-moz-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:-o-linear-gradient(bottom,#dcdcdc,#e9e9e9);background-image:linear-gradient(to top,#dcdcdc,#e9e9e9)}h3.dashboard-widget-title small a{color:#d7d7d7}h3.dashboard-widget-title small a:hover{color:#fff}a,#adminmenu a,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,#media-items a.delete-permanently,.plugins a.delete,.ui-tabs-nav a{color:#21759b}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,.5) 0 1px 0;box-shadow:rgba(255,255,255,.5) 0 1px 0}#plugin-information .action-button{background-color:#d54e21;color:#fff}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-webkit-box-shadow:rgba(255,255,255,.5) 0 1px 0;box-shadow:rgba(255,255,255,.5) 0 1px 0}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf}#currenttheme img{border-color:#666}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9}input.readonly,textarea.readonly{background-color:#ddd}#editable-post-name{background-color:#fffbcc}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777}.login #nav a,.login #backtoblog a{color:#21759b!important}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important}#wpfooter{color:#777;border-color:#dfdfdf}.imgedit-group,#media-items .media-item,.media-item .describe{border-color:#dfdfdf}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f4f4f4}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf}.plugins .active,.plugins .active th,.plugins .active td{color:#000}.plugins .inactive a{color:#579}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4}#the-comment-list .unapproved{background-color:#ffffe0}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b}.welcome-panel{background:#f5f5f5;background-image:-webkit-gradient(linear,left bottom,left top,from(#f5f5f5),to(#fafafa));background-image:-webkit-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-moz-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-o-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:linear-gradient(to top,#f5f5f5,#fafafa);border-color:#dfdfdf}.welcome-panel p{color:#777}.welcome-panel-column p{color:#464646}.welcome-panel h3{text-shadow:1px 1px 1px #fff}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-webkit-border-radius:3px;border-radius:3px}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background:#f5f5f5;background-image:-webkit-gradient(linear,left bottom,left top,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#f5f5f5,#f9f9f9);background-image:-moz-linear-gradient(bottom,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(bottom,#f5f5f5,#f9f9f9);background-image:linear-gradient(to top,#f5f5f5,#f9f9f9)}.postbox h3{color:#464646}.widget .widget-top{color:#222}.js .sidebar-name:hover h3,.js .postbox h3:hover{color:#000}.curtime #timestamp{background-image:url(../images/date-button.gif)}#rightnow .youhave{background-color:#f0f6fb}#rightnow a{color:#448abd}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555}#screen-meta{background-color:#f1f1f1;border-color:#ccc;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.05);box-shadow:0 1px 3px rgba(0,0,0,.05)}#contextual-help-back{background:#fff}.contextual-help-tabs a:hover{color:#333}#contextual-help-back,.contextual-help-tabs .active{border-color:#ccc}.contextual-help-tabs .active,.contextual-help-tabs .active a,.contextual-help-tabs .active a:hover{background:#fff;color:#333}#screen-options-link-wrap,#contextual-help-link-wrap{border-right:1px solid #ccc;border-left:1px solid #ccc;border-bottom:1px solid #ccc;background:#e3e3e3;background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#f1f1f1));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-moz-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-o-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:linear-gradient(to top,#dfdfdf,#f1f1f1)}#screen-meta-links a{color:#777;background:transparent url(../images/arrows.png) no-repeat right 4px}#screen-meta-links a:hover,#screen-meta-links a:active{color:#333;background-color:transparent}#screen-meta-links a.screen-meta-active{background-position:right -31px}.login #backtoblog a{color:#464646}#wphead{border-bottom:#dfdfdf 1px solid}#wphead h1 a{color:#464646}#wpfooter a:link,#wpfooter a:visited{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:red}#pass-strength-result{background-color:#eee;border-color:#ddd!important}#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}#post-status-info{border-color:#dfdfdf #ccc #ccc;background-color:#eaeaea}.editwidget .widget-inside{border-color:#dfdfdf}#titlediv #title{background-color:#fff}#tTips p#tTips_inside{background-color:#ddd;color:#333}#poststuff .inside .the-tagcloud{border-color:#ddd}#adminmenuback,#adminmenuwrap{background-color:#ececec;border-color:#ccc}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y}#adminmenu li.wp-menu-separator{background:#dfdfdf;border-color:#cfcfcf}#adminmenu div.separator{border-color:#e1e1e1}#adminmenu a.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf}#adminmenu li.wp-menu-open{border-color:#dfdfdf}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{background-color:#e4e4e4;color:#d54e21;text-shadow:0 1px 0 rgba(255,255,255,.4)}#adminmenu li.menu-top:hover>a span,#adminmenu li.menu-top>a:focus span{text-shadow:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background:#777;background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(gray));background-image:-webkit-linear-gradient(bottom,#6d6d6d,gray);background-image:-moz-linear-gradient(bottom,#6d6d6d,gray);background-image:-o-linear-gradient(bottom,#6d6d6d,gray);background-image:linear-gradient(to top,#6d6d6d,gray)}#adminmenu .wp-menu-arrow div{background:#777;background-image:-webkit-gradient(linear,right bottom,left top,from(#6d6d6d),to(gray));background-image:-webkit-linear-gradient(bottom right,#6d6d6d,gray);background-image:-moz-linear-gradient(bottom right,#6d6d6d,gray);background-image:-o-linear-gradient(bottom right,#6d6d6d,gray);background-image:linear-gradient(to top left,#6d6d6d,gray)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;background:#e4e4e4}#adminmenu li.wp-not-current-submenu .wp-menu-arrow div{background:#e4e4e4;border-color:#ccc}.folded #adminmenu li.menu-top li:hover a{background-image:none}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:gray;border-bottom-color:#6d6d6d}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:gray;border-bottom-color:#6d6d6d}#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu a:focus{background-color:#eaf2fa;color:#333}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333}#adminmenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#dfdfdf;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,.4);box-shadow:2px 3px 6px rgba(0,0,0,.4)}#adminmenu .wp-submenu .wp-submenu-head{background-color:#e4e4e4;color:#333}#collapse-menu{color:#aaa;border-top-color:#f9f9f9}#collapse-menu:hover{color:#999}#collapse-button{border-color:#ccc;background:#f4f4f4;background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#fff));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#fff);background-image:-moz-linear-gradient(bottom,#dfdfdf,#fff);background-image:-o-linear-gradient(bottom,#dfdfdf,#fff);background-image:linear-gradient(to top,#dfdfdf,#fff)}#collapse-menu:hover #collapse-button{border-color:#aaa}#collapse-button div{background:transparent url(../images/arrows.png) no-repeat 0 -72px}.folded #collapse-button div{background-position:0 -108px}@media only screen and (max-width:900px){.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{background-color:#777;background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(gray));background-image:-webkit-linear-gradient(bottom,#6d6d6d,gray);background-image:-moz-linear-gradient(bottom,#6d6d6d,gray);background-image:-o-linear-gradient(bottom,#6d6d6d,gray);background-image:linear-gradient(bottom,#6d6d6d,gray)}.auto-fold #adminmenu li.wp-has-current-submenu,.auto-fold #adminmenu li.current.menu-top{border-top-color:gray;border-bottom-color:#6d6d6d}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{background-color:#fff;border-color:#dfdfdf;-webkit-box-shadow:2px 3px 6px rgba(0,0,0,.4);box-shadow:2px 3px 6px rgba(0,0,0,.4)}.auto-fold #collapse-button div{background-position:0 -108px}}.icon16,.icon32,div.wp-menu-image{background-color:transparent;background-repeat:no-repeat}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url(../images/menu.png?ver=20121105)}.icon16.icon-dashboard,#adminmenu .menu-icon-dashboard div.wp-menu-image{background-position:-59px -33px}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background-position:-59px -1px}.icon16.icon-post,#adminmenu .menu-icon-post div.wp-menu-image{background-position:-269px -33px}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-post.current div.wp-menu-image{background-position:-269px -1px}.icon16.icon-media,#adminmenu .menu-icon-media div.wp-menu-image{background-position:-119px -33px}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-media.current div.wp-menu-image{background-position:-119px -1px}.icon16.icon-links,#adminmenu .menu-icon-links div.wp-menu-image{background-position:-89px -33px}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-links.current div.wp-menu-image{background-position:-89px -1px}.icon16.icon-page,#adminmenu .menu-icon-page div.wp-menu-image{background-position:-149px -33px}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-page.current div.wp-menu-image{background-position:-149px -1px}.icon16.icon-comments,#adminmenu .menu-icon-comments div.wp-menu-image{background-position:-29px -33px}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background-position:-29px -1px}.icon16.icon-appearance,#adminmenu .menu-icon-appearance div.wp-menu-image{background-position:1px -33px}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-appearance.current div.wp-menu-image{background-position:1px -1px}.icon16.icon-plugins,#adminmenu .menu-icon-plugins div.wp-menu-image{background-position:-179px -33px}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-plugins.current div.wp-menu-image{background-position:-179px -1px}.icon16.icon-users,#adminmenu .menu-icon-users div.wp-menu-image{background-position:-300px -33px}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background-position:-300px -1px}.icon16.icon-tools,#adminmenu .menu-icon-tools div.wp-menu-image{background-position:-209px -33px}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background-position:-209px -1px}.icon16.icon-settings,#adminmenu .menu-icon-settings div.wp-menu-image{background-position:-239px -33px}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-settings.current div.wp-menu-image{background-position:-239px -1px}.icon16.icon-site,#adminmenu .menu-icon-site div.wp-menu-image{background-position:-359px -33px}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-site.current div.wp-menu-image{background-position:-359px -1px}.icon16.icon-generic,#adminmenu .menu-icon-generic div.wp-menu-image{background-position:-330px -33px}#adminmenu .menu-icon-generic:hover div.wp-menu-image,#adminmenu .menu-icon-generic.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-generic.current div.wp-menu-image{background-position:-330px -1px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32.png?ver=20121105)}.icon32.icon-post,#icon-edit,#icon-post{background-position:-552px -5px}.icon32.icon-dashboard,#icon-index{background-position:-137px -5px}.icon32.icon-media,#icon-upload{background-position:-251px -5px}.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category{background-position:-190px -5px}.icon32.icon-page,#icon-edit-pages,#icon-page{background-position:-312px -5px}.icon32.icon-comments,#icon-edit-comments{background-position:-72px -5px}.icon32.icon-appearance,#icon-themes{background-position:-11px -5px}.icon32.icon-plugins,#icon-plugins{background-position:-370px -5px}.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit{background-position:-600px -5px}.icon32.icon-tools,#icon-tools,#icon-admin{background-position:-432px -5px}.icon32.icon-settings,#icon-options-general{background-position:-492px -5px}.icon32.icon-site,#icon-ms-admin{background-position:-659px -5px}.icon32.icon-generic,#icon-generic{background-position:-708px -5px}.post-format-icon{background:url(../images/post-formats.png) no-repeat}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}.revisions-meta{border:1px solid #dfdfdf}.revisions-controls{background:#fff;background:-webkit-gradient(linear,left bottom,left top,color-stop(0%,rgba(255,255,255,1)),color-stop(30px,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-moz-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:-o-linear-gradient(bottom,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%);background:linear-gradient(to top,rgba(255,255,255,0) 0,rgba(255,255,255,1) 30px,rgba(255,255,255,1) 100%)}.revisions-tooltip,.revisions-tooltip-arrow span{border-color:#d7d7d7;background-color:#fff}.revisions-tickmarks>div{border-color:#aaa}.wp-slider.ui-slider{border-color:#d7d7d7}.wp-slider .ui-slider-handle{border-color:#ccc;border-radius:50%;background:#f4f4f4;background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#fff));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#fff);background-image:-moz-linear-gradient(bottom,#dfdfdf,#fff);background-image:-o-linear-gradient(bottom,#dfdfdf,#fff);background-image:linear-gradient(to top,#dfdfdf,#fff);color:#333}.wp-slider .ui-slider-handle:hover,.wp-slider .ui-slider-handle:focus{border-color:#aaa}.wp-slider .ui-slider-handle.ui-state-hover,.wp-slider .ui-slider-handle.ui-state-focus{border-color:#aaa;outline:0}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#d54e21}#replyerror{border-color:#ddd;background-color:#f9f9f9}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important}#plugin-information .fyi ul{background-color:#eaf3fa}#plugin-information .fyi h2.mainheader{background-color:#cee1ef}#plugin-information pre,#plugin-information code{background-color:#ededff}#plugin-information pre{border:1px solid #ccc}#bulk-titles{border-color:#ddd}.inline-editor div.title{background-color:#eaf3fa}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd}.inline-editor .quick-edit-save{background-color:#f1f1f1}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf}.attention{color:#d54e21}.js .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.tablenav .tablenav-pages{color:#555}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3}#availablethemes,#availablethemes td{border-color:#ddd}#current-theme img{border-color:#999}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc}.misc-pub-section{border-top-color:#fff;border-bottom-color:#dfdfdf}#minor-publishing{border-bottom-color:#dfdfdf}#post-body .misc-pub-section{border-left-color:#eee}.post-com-count span{background-color:#bbb}.form-table .color-palette td{border-color:#fff}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-color:transparent;background-image:url(../images/list.png);background-repeat:no-repeat}.view-switch #view-switch-list{background-position:0 0}.view-switch .current #view-switch-list{background-position:-40px 0}.view-switch #view-switch-excerpt{background-position:-20px 0}.view-switch .current #view-switch-excerpt{background-position:-60px 0}#header-logo{background:transparent url(../images/wp-logo.png?ver=20110504) no-repeat scroll center center}.popular-tags,.feature-filter{background-color:#fff;border-color:#dfdfdf}div.widgets-sortables,#widgets-left .inactive,#available-widgets .widget-holder{background-color:#fcfcfc;border-color:#dfdfdf}#available-widgets .widget-description{color:#555}.sidebar-name{color:#464646;text-shadow:#fff 0 1px 0;border-color:#dfdfdf;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.js .sidebar-name:hover,.js #removing-widget{color:#d54e21}#removing-widget span{color:#000}.js .sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px}.js .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px}.in-widget-title{color:#606060}.deleting .widget-title *{color:#aaa}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf}.comment-ays,.comment-ays th{border-color:#ddd}.comment-ays th{background-color:#f1f1f1}#menu-management .menu-edit{border-color:#dfdfdf}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf}#nav-menu-header{border-bottom-color:#dfdfdf}#nav-menu-footer{border-top-color:#fff}#menu-management .nav-tabs-arrow a{color:#c1c1c1}#menu-management .nav-tabs-arrow a:hover{color:#d54e21}#menu-management .nav-tabs-arrow a:active{color:#464646}#menu-management .nav-tab-active{border-color:#dfdfdf}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf}.js .input-with-default-title{color:#aaa}#cancel-save{color:red}#cancel-save:hover{background-color:red;color:#fff}.list-container,.menu-item-handle{border-color:#dfdfdf}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc}.item-type{color:#999}.item-controls .menu-item-delete:hover{color:red}.nav-menus-php .item-edit{background:transparent url(../images/arrows.png) no-repeat 8px 10px;border-bottom-color:#eee}.nav-menus-php .item-edit:hover{background:transparent url(../images/arrows-dark.png) no-repeat 8px 10px}.menu-item-settings{border-color:#dfdfdf}.link-to-original{color:#777;border-color:#dfdfdf}#cancel-save:hover{color:#fff!important}#update-menu-item{color:#fff!important}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important}.submitbox .submitcancel{color:#21759b;border-bottom-color:#21759b}.submitbox .submitcancel:hover{background:#21759b;color:#fff}.manage-menus{border:1px solid #eee;background:#fbfbfb}.theme-location-set{color:#999}.nav-menus-php .delete-action a{color:#bc0b0b}.is-submenu{color:#999}.nav-tab{border-color:#dfdfdf #dfdfdf #fff}.nav-tab:hover,.nav-tab-active{border-color:#ccc #ccc #fff}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-color:#ccc}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}#menu-management .nav-tab-active{background:#f9f9f9;border-bottom-color:#f9f9f9}#upload-form label{color:#777}.about-wrap h1{color:#333;text-shadow:1px 1px 1px #fff}.about-text{color:#777}.wp-badge{color:#fff;text-shadow:0 -1px 0 rgba(22,57,81,.3)}.about-wrap h2 .nav-tab{color:#21759b}.about-wrap h2 .nav-tab:hover{color:#d54e21}.about-wrap h2 .nav-tab-active,.about-wrap h2 .nav-tab-active:hover{color:#333}.about-wrap h2 .nav-tab-active{text-shadow:1px 1px 1px #fff;color:#464646}.about-wrap h3{color:#333;text-shadow:1px 1px 1px #fff}.about-wrap .feature-section h4{color:#464646}.about-wrap h4.wp-people-group{text-shadow:1px 1px 1px #fff}.about-wrap .point-releases{border-bottom:1px solid #dfdfdf}.about-wrap .point-releases h3{border-top:1px solid #dfdfdf}.about-wrap .point-releases h3:first-child{border:0}.about-wrap li.wp-person img.gravatar{-webkit-box-shadow:0 0 4px rgba(0,0,0,.4);box-shadow:0 0 4px rgba(0,0,0,.4)}.about-wrap li.wp-person .title{color:#464646;text-shadow:1px 1px 1px #fff}.freedoms-php .about-wrap ol li{color:#999}.freedoms-php .about-wrap ol p{color:#464646}.rtl .bar{border-right-color:transparent;border-left-color:#99d}.rtl #screen-meta-links a.show-settings{background-position:left 3px}.rtl #screen-meta-links a.show-settings.screen-meta-active{background-position:left -33px}.rtl #adminmenushadow,.rtl #adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left}.rtl #adminmenu .wp-submenu .wp-submenu-head{border-right-color:transparent;border-left-color:#dfdfdf}.rtl #adminmenu .wp-submenu,.rtl.folded #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,.4);box-shadow:-2px 2px 5px rgba(0,0,0,.4)}.rtl #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:none;box-shadow:none}.rtl #collapse-button div{background-position:0 -108px}.rtl.folded #collapse-button div{background-position:0 -72px}@media only screen and (max-width:900px){.rtl.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.rtl.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,.4);box-shadow:-2px 2px 5px rgba(0,0,0,.4)}.rtl.auto-fold #collapse-button div{background-position:0 -72px}}.js.rtl .meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.rtl #post-body .misc-pub-section{border-right-color:transparent;border-left-color:#eee}.js.rtl .sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px}.js.rtl .sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.curtime #timestamp{background-image:url(../images/date-button-2x.gif?ver=20120916);background-size:16px auto}.tagchecklist span a,#bulk-titles div a,.tagchecklist span a:hover,#bulk-titles div a:hover{background-image:url(../images/xit-2x.gif?ver=20120916);background-size:20px auto}#screen-meta-links a.show-settings,#screen-meta-links a.show-settings.screen-meta-active,#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle,#collapse-button div,.nav-menus-php .item-edit,.js .meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.rtl #adminmenu .wp-has-submenu:hover .wp-menu-toggle,.rtl #adminmenu .wp-menu-open .wp-menu-toggle,.js.rtl .meta-box-sortables .postbox:hover .handlediv,.rtl .sidebar-name-arrow{background-image:url(../images/arrows-2x.png?ver=20120916);background-size:15px 123px}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.sidebar-name:hover .sidebar-name-arrow,.nav-menus-php .item-edit:hover,.rtl #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,.rtl #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle,.rtl .sidebar-name:hover .sidebar-name-arrow{background-image:url(../images/arrows-dark-2x.png?ver=20120916);background-size:15px 123px}.view-switch #view-switch-list,.view-switch #view-switch-excerpt{background-image:url(../images/list-2x.png?ver=20120916);background-size:80px 20px}.icon32.icon-post,#icon-edit,#icon-post,.icon32.icon-dashboard,#icon-index,.icon32.icon-media,#icon-upload,.icon32.icon-links,#icon-link-manager,#icon-link,#icon-link-category,.icon32.icon-page,#icon-edit-pages,#icon-page,.icon32.icon-comments,#icon-edit-comments,.icon32.icon-appearance,#icon-themes,.icon32.icon-plugins,#icon-plugins,.icon32.icon-users,#icon-users,#icon-profile,#icon-user-edit,.icon32.icon-tools,#icon-tools,#icon-admin,.icon32.icon-settings,#icon-options-general,.icon32.icon-site,#icon-ms-admin,.icon32.icon-generic,#icon-generic{background-image:url(../images/icons32-2x.png?ver=20121105);background-size:756px 45px}.icon16.icon-dashboard,.menu-icon-dashboard div.wp-menu-image,.icon16.icon-post,.menu-icon-post div.wp-menu-image,.icon16.icon-media,.menu-icon-media div.wp-menu-image,.icon16.icon-links,.menu-icon-links div.wp-menu-image,.icon16.icon-page,.menu-icon-page div.wp-menu-image,.icon16.icon-comments,.menu-icon-comments div.wp-menu-image,.icon16.icon-appearance,.menu-icon-appearance div.wp-menu-image,.icon16.icon-plugins,.menu-icon-plugins div.wp-menu-image,.icon16.icon-users,.menu-icon-users div.wp-menu-image,.icon16.icon-tools,.menu-icon-tools div.wp-menu-image,.icon16.icon-settings,.menu-icon-settings div.wp-menu-image,.icon16.icon-site,.menu-icon-site div.wp-menu-image,.icon16.icon-generic,.menu-icon-generic div.wp-menu-image{background-image:url(../images/menu-2x.png?ver=20121105);background-size:390px 64px}#header-logo{background-image:url(../images/wp-logo-2x.png?ver=20120916);background-size:16px auto}.post-format-icon{background-image:url(../images/post-formats32.png);background-size:16px 304px}}
\ No newline at end of file
index 498d0ce19e4b925fd9fb8e605f5fb3f44a43b605..80117e5f221fb2460bc63e7b4a823a1e03e1eb36 100644 (file)
@@ -1 +1 @@
-#customize-header-actions .button-primary{float:left}#customize-header-actions .spinner{float:left;margin-right:0;margin-left:4px}.customize-control{float:right}.customize-control-radio input,.customize-control-checkbox input{margin-right:0;margin-left:5px}.accordion-section .dropdown{float:right}.accordion-section .dropdown-content{float:right;margin-right:0;margin-left:16px;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.customize-control .dropdown-arrow{right:auto;left:0;border-color:#ccc;border-style:solid;border-width:1px 0 1px 1px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.customize-control .dropdown-arrow:after{right:auto;left:4px}.customize-control-color .dropdown{margin-right:0;margin-left:5px}.accordion-section input[type="text"].color-picker-hex{direction:ltr}.accordion-section .customize-control-image .actions{text-align:left}.customize-control-image .library,.customize-control-image .actions,.accordion-section .customize-control-image .library ul,.accordion-section .customize-control-image .library li,.accordion-section .customize-control-image .library-content{float:right}
\ No newline at end of file
+#customize-header-actions .button-primary{float:left}#customize-header-actions .spinner{float:left;margin-right:0;margin-left:4px}.customize-control{float:right}.customize-control-radio input,.customize-control-checkbox input{margin-right:0;margin-left:5px}.accordion-section .dropdown{float:right}.accordion-section .dropdown-content{float:right;margin-right:0;margin-left:16px;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.customize-control .dropdown-arrow{right:auto;left:0;border-color:#ccc;border-style:solid;border-width:1px 0 1px 1px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.customize-control .dropdown-arrow:after{right:auto;left:4px}.customize-control-color .dropdown{margin-right:0;margin-left:5px}.accordion-section input[type=text].color-picker-hex{direction:ltr}.accordion-section .customize-control-image .actions{text-align:left}.customize-control-image .library,.customize-control-image .actions,.accordion-section .customize-control-image .library ul,.accordion-section .customize-control-image .library li,.accordion-section .customize-control-image .library-content{float:right}
\ No newline at end of file
index 99e7ea19b3f2c56311fb63e8896e2142439fd05d..a310000cf3b89e88cfda1f21f498d8d8fa03c216 100644 (file)
@@ -1 +1 @@
-body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-info .accordion-section-content{background:transparent}#customize-info .preview-notice{font-size:13px;line-height:24px;color:#999}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;color:#333;display:block;text-shadow:0 1px 0 #fff}#customize-info .theme-screenshot{width:258px;border:1px solid #ccc}#customize-info .theme-description{margin-top:1em;color:#777;line-height:20px}#customize-controls .submit{text-align:center}#customize-theme-controls>ul,#customize-theme-controls .accordion-section-content{margin:0}#customize-header-actions .button-primary{float:right;margin-top:10px}#customize-header-actions .spinner{margin-top:16px;margin-right:4px}.saving #customize-header-actions .spinner{display:block}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control-title{display:block;line-height:24px;font-weight:bold}.customize-control select,.customize-control input[type="text"],.customize-control input[type="radio"],.customize-control input[type="checkbox"],.customize-control-color .color-picker,.customize-control-checkbox label,.customize-control-upload div{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-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:20px}.customize-control-radio input{margin-right:5px}#customize-preview iframe{width:100%;height:100%}#customize-theme-controls .accordion-section-title:hover:after,#customize-theme-controls .accordion-section-title:focus:after{border-color:#eee transparent}#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:#fff;text-shadow:0 -1px 0 #333;background:#808080;background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(to top,#6d6d6d,#808080);border-left:1px solid #808080;border-right:1px solid #808080}#customize-theme-controls .control-section.accordion-section:hover,#customize-theme-controls .control-section.accordion-section.open{border-top-color:#808080}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom:1px solid #6d6d6d}.accordion-section .dropdown{float:left;display:block;position:relative;cursor:pointer;-webkit-border-radius:3px;border-radius:3px}.accordion-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;background-color:#eee;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:15px;border-color:#ccc;border-style:solid;border-width:1px 1px 1px 0;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.customize-control .dropdown-arrow:after{content:'';width:0;height:0;border-color:#ccc transparent;border-style:solid;border-width:4px 4px 0 4px;position:absolute;top:50%;margin-top:-1px;right:4px;z-index:1}.accordion-section .dropdown:hover .dropdown-content,.customize-control .dropdown:hover .dropdown-arrow{border-color:#aaa}.accordion-section .dropdown:hover .dropdown-arrow:after{border-color:#aaa transparent}.customize-control .dropdown-status{display:none;max-width:112px;color:#777}.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:#fff;border:1px solid rgba(0,0,0,0.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,0.25)}.accordion-section input[type="text"].color-picker-hex{width:65px;font-family:monospace;text-align:center;line-height:16px}.accordion-section input[type="text"].color-picker-hex:focus::-webkit-input-placeholder{color:transparent}.accordion-section input[type="text"].color-picker-hex:-moz-placeholder{color:#999}.customize-control-image .library,.customize-control-image .actions{display:none;float:left;width:100%}.customize-control-image.open .library,.customize-control-image.open .actions{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 #dfdfdf;float:left;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#999;float:left;padding:3px 5px;margin:0;border-style:solid;border-color:transparent;border-width:1px 1px 0 1px}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#777;background:#fdfdfd;border-color:#dfdfdf;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.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 .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail:hover img{border-color:#21759b}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:4px;background:#fff;border:1px solid #dfdfdf}.accordion-section .customize-control-upload .upload-fallback,.accordion-section .customize-control-image .upload-fallback{display:none}.accordion-section .customize-control-upload .upload-dropzone,.accordion-section .customize-control-image .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;color:#777;position:relative;cursor:default}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;-moz-transition:border-color .1s;-ms-transition:border-color .1s;-o-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-upload .library ul li,.accordion-section .customize-control-image .library ul li{cursor:pointer}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios .wp-full-overlay{position:relative}.ios #customize-preview{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}body.cheatin{min-width:0;background:#f9f9f9;padding:50px}body.cheatin p{max-width:700px;margin:0 auto;padding:2em;font-size:14px;background:#fff;border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px}
\ No newline at end of file
+body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-info .accordion-section-content{background:transparent}#customize-info .preview-notice{font-size:13px;line-height:24px;color:#999}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;color:#333;display:block;text-shadow:0 1px 0 #fff}#customize-info .theme-screenshot{width:258px;border:1px solid #ccc}#customize-info .theme-description{margin-top:1em;color:#777;line-height:20px}#customize-controls .submit{text-align:center}#customize-theme-controls>ul,#customize-theme-controls .accordion-section-content{margin:0}#customize-header-actions .button-primary{float:right;margin-top:10px}#customize-header-actions .spinner{margin-top:16px;margin-right:4px}.saving #customize-header-actions .spinner{display:block}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control-title{display:block;line-height:24px;font-weight:700}.customize-control select,.customize-control input[type=text],.customize-control input[type=radio],.customize-control input[type=checkbox],.customize-control-color .color-picker,.customize-control-checkbox label,.customize-control-upload div{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-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:20px}.customize-control-radio input{margin-right:5px}#customize-preview iframe{width:100%;height:100%}#customize-theme-controls .accordion-section-title:hover:after,#customize-theme-controls .accordion-section-title:focus:after{border-color:#eee transparent}#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:#fff;text-shadow:0 -1px 0 #333;background:gray;background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(gray));background-image:-webkit-linear-gradient(bottom,#6d6d6d,gray);background-image:-moz-linear-gradient(bottom,#6d6d6d,gray);background-image:-o-linear-gradient(bottom,#6d6d6d,gray);background-image:linear-gradient(to top,#6d6d6d,gray);border-left:1px solid gray;border-right:1px solid gray}#customize-theme-controls .control-section.accordion-section:hover,#customize-theme-controls .control-section.accordion-section.open{border-top-color:gray}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom:1px solid #6d6d6d}.accordion-section .dropdown{float:left;display:block;position:relative;cursor:pointer;-webkit-border-radius:3px;border-radius:3px}.accordion-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;background-color:#eee;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:15px;border-color:#ccc;border-style:solid;border-width:1px 1px 1px 0;-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.customize-control .dropdown-arrow:after{content:'';width:0;height:0;border-color:#ccc transparent;border-style:solid;border-width:4px 4px 0;position:absolute;top:50%;margin-top:-1px;right:4px;z-index:1}.accordion-section .dropdown:hover .dropdown-content,.customize-control .dropdown:hover .dropdown-arrow{border-color:#aaa}.accordion-section .dropdown:hover .dropdown-arrow:after{border-color:#aaa transparent}.customize-control .dropdown-status{display:none;max-width:112px;color:#777}.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:#fff;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.accordion-section input[type=text].color-picker-hex{width:65px;font-family:monospace;text-align:center;line-height:16px}.accordion-section input[type=text].color-picker-hex:focus::-webkit-input-placeholder{color:transparent}.accordion-section input[type=text].color-picker-hex:-moz-placeholder{color:#999}.customize-control-image .library,.customize-control-image .actions{display:none;float:left;width:100%}.customize-control-image.open .library,.customize-control-image.open .actions{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 #dfdfdf;float:left;width:100%;margin:10px 0 0}.accordion-section .customize-control-image .library li{color:#999;float:left;padding:3px 5px;margin:0;border-style:solid;border-color:transparent;border-width:1px 1px 0}.accordion-section .customize-control-image .library li.library-selected{margin-bottom:-1px;padding-bottom:4px;color:#777;background:#fdfdfd;border-color:#dfdfdf;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.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 .library .thumbnail{display:block;width:100%}.accordion-section .customize-control-image .library .thumbnail:hover img{border-color:#21759b}.accordion-section .customize-control-image .library .thumbnail img{display:block;max-width:90%;max-height:80px;margin:5px auto;padding:4px;background:#fff;border:1px solid #dfdfdf}.accordion-section .customize-control-upload .upload-fallback,.accordion-section .customize-control-image .upload-fallback{display:none}.accordion-section .customize-control-upload .upload-dropzone,.accordion-section .customize-control-image .upload-dropzone{display:none;padding:15px 10px;border:3px dashed #dfdfdf;margin:5px auto;text-align:center;color:#777;position:relative;cursor:default}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop{display:block;-webkit-transition:border-color .1s;-moz-transition:border-color .1s;-ms-transition:border-color .1s;-o-transition:border-color .1s;transition:border-color .1s}.accordion-section .customize-control-upload .library ul li,.accordion-section .customize-control-image .library ul li{cursor:pointer}.accordion-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over,.accordion-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over{border-color:#83b4d8}.ios .wp-full-overlay{position:relative}.ios #customize-preview{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}body.cheatin{min-width:0;background:#f9f9f9;padding:50px}body.cheatin p{max-width:700px;margin:0 auto;padding:2em;font-size:14px;background:#fff;border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px}
\ No newline at end of file
index b947f0b200485a0c7d53a947f58be89e7d834114..51dfdff99b80dd10a393da640b2e54b8957bf69f 100644 (file)
@@ -73,10 +73,6 @@ div#dashboard-widgets {
        padding-left: 1px;
 }
 
        padding-left: 1px;
 }
 
-.tagchecklist span a {
-       margin: 4px -9px 0 0;
-}
-
 .widefat th input {
        margin: 0 5px 0 0;
 }
 .widefat th input {
        margin: 0 5px 0 0;
 }
index 9d3f77c8ad20944b7cd117016ce6ae9d86b41491..4467ebdf7d445b791a33b3a28636a54a4d3614de 100644 (file)
@@ -1 +1 @@
-body{direction:rtl;width:99.5%}.rtl #adminmenuback{left:auto;right:0;background-image:none}.rtl #adminmenuback,.rtl #adminmenuwrap{border-width:0 0 0 1px}#plupload-upload-ui{zoom:1}.post-com-count-wrapper a.post-com-count{float:none}#adminmenu .wp-submenu ul{width:99%}#adminmenu .wp-submenu .wp-submenu .wp-submenu,#adminmenu .wp-menu-open .wp-submenu .wp-submenu{border:1px solid #dfdfdf}.folded #adminmenu .wp-submenu{right:30px}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 10px 4px 4px}div.quicktags-toolbar input{min-width:0}.inline-edit-row fieldset label span.title{float:right}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}p.search-box{float:left}#bh{margin:7px 10px 0 0;float:left}.postbox div.inside,.wp-editor-wrap .wp-editor-container .wp-editor-area,#nav-menu-theme-locations .howto select{width:97.5%}div#dashboard-widgets{padding-right:0;padding-left:1px}.tagchecklist span a{margin:4px -9px 0 0}.widefat th input{margin:0 5px 0 0}#TB_window{width:670px;position:absolute;top:50%;left:50%;margin-right:335px!important}#dashboard_plugins{direction:ltr}#dashboard_plugins h3.hndle{direction:rtl}#dashboard_incoming_links ul li,#dashboard_secondary ul li,#dashboard_primary ul li,p.row-actions{width:100%}#post-status-info{height:25px}p.submit{height:22px}.available-theme .action-links li{padding-left:7px;margin-left:7px}form#widgets-filter{position:static}.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-management,.nav-menus-php .menu-edit,#nav-menu-header .submitbox{zoom:1}.nav-menus-php label{max-width:90%!important}p.button-controls,.nav-menus-php .tabs-panel{max-width:90%}.nav-menus-php .major-publishing-actions .publishing-action{float:none}#wpbody #nav-menu-header label{float:none}#nav-menu-header{margin-top:-10px}#nav-menu-footer{margin-bottom:-20px}#update-nav-menu .publishing-action{max-width:200px}#nav-menus-frame #update-nav-menu .delete-action{margin-top:-25px;float:left}#menu-to-edit li{margin-top:-10px;margin-bottom:-10px}.sortable-placeholder{margin-top:0!important;margin-left:0!important;margin-bottom:13px!important;padding:0!important}.auto-add-pages{clear:both;float:none}#nav-menus-frame .open-label span{float:none;display:inline-block}#nav-menus-frame .delete-action{float:none}#title-wrap #title-prompt-text{right:0}.screen-reader-text{right:auto;text-indent:-1000em}
\ No newline at end of file
+body{direction:rtl;width:99.5%}.rtl #adminmenuback{left:auto;right:0;background-image:none}.rtl #adminmenuback,.rtl #adminmenuwrap{border-width:0 0 0 1px}#plupload-upload-ui{zoom:1}.post-com-count-wrapper a.post-com-count{float:none}#adminmenu .wp-submenu ul{width:99%}#adminmenu .wp-submenu .wp-submenu .wp-submenu,#adminmenu .wp-menu-open .wp-submenu .wp-submenu{border:1px solid #dfdfdf}.folded #adminmenu .wp-submenu{right:30px}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 10px 4px 4px}div.quicktags-toolbar input{min-width:0}.inline-edit-row fieldset label span.title{float:right}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}p.search-box{float:left}#bh{margin:7px 10px 0 0;float:left}.postbox div.inside,.wp-editor-wrap .wp-editor-container .wp-editor-area,#nav-menu-theme-locations .howto select{width:97.5%}div#dashboard-widgets{padding-right:0;padding-left:1px}.widefat th input{margin:0 5px 0 0}#TB_window{width:670px;position:absolute;top:50%;left:50%;margin-right:335px!important}#dashboard_plugins{direction:ltr}#dashboard_plugins h3.hndle{direction:rtl}#dashboard_incoming_links ul li,#dashboard_secondary ul li,#dashboard_primary ul li,p.row-actions{width:100%}#post-status-info{height:25px}p.submit{height:22px}.available-theme .action-links li{padding-left:7px;margin-left:7px}form#widgets-filter{position:static}.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-management,.nav-menus-php .menu-edit,#nav-menu-header .submitbox{zoom:1}.nav-menus-php label{max-width:90%!important}p.button-controls,.nav-menus-php .tabs-panel{max-width:90%}.nav-menus-php .major-publishing-actions .publishing-action{float:none}#wpbody #nav-menu-header label{float:none}#nav-menu-header{margin-top:-10px}#nav-menu-footer{margin-bottom:-20px}#update-nav-menu .publishing-action{max-width:200px}#nav-menus-frame #update-nav-menu .delete-action{margin-top:-25px;float:left}#menu-to-edit li{margin-top:-10px;margin-bottom:-10px}.sortable-placeholder{margin-top:0!important;margin-left:0!important;margin-bottom:13px!important;padding:0!important}.auto-add-pages{clear:both;float:none}#nav-menus-frame .open-label span{float:none;display:inline-block}#nav-menus-frame .delete-action{float:none}#title-wrap #title-prompt-text{right:0}.screen-reader-text{right:auto;text-indent:-1000em}
\ No newline at end of file
index 98b7b379b50c352160a1524ae68dcbf998579f28..7aa668590d3b94bd33703799e2ead44dd674311e 100644 (file)
@@ -371,10 +371,6 @@ div#dashboard-widgets {
        display: block;
 }
 
        display: block;
 }
 
-.tagchecklist span a {
-       margin: 4px 0 0 -9px;
-}
-
 .tablenav .button-secondary,
 .nav .button-secondary {
        padding-top: 2px;
 .tablenav .button-secondary,
 .nav .button-secondary {
        padding-top: 2px;
@@ -490,20 +486,6 @@ table.ie-fixed {
        min-width: 400px;
 }
 
        min-width: 400px;
 }
 
-.about-wrap img.element-screenshot {
-       padding: 2px;
-}
-
-.about-wrap .feature-section img,
-.about-wrap .feature-section .image-mask {
-       border-width: 1px;
-       border-style: solid;
-}
-
-.about-wrap .feature-section.three-col img {
-       margin-left: 0;
-}
-
 .available-theme {
        display: inline;
 }
 .available-theme {
        display: inline;
 }
@@ -517,13 +499,21 @@ table.ie-fixed {
        margin-right: 7px;
 }
 
        margin-right: 7px;
 }
 
-.about-wrap .three-col-images img {
-       margin: 0 0.6% 10px;
+.about-wrap .three-col.about-updates .col-2 {
+       width: 15%;
 }
 
 }
 
-.about-wrap .three-col-images .last-feature,
-.about-wrap .three-col-images .first-feature {
-       float: none;
+.about-wrap .about-password-meter input {
+       width: 98%;
+}
+
+.revisions-tickmarks,
+.revisions-tooltip {
+       display: none !important;
+}
+
+.revisions.pinned .revisions-controls {
+       position: relative;
 }
 
 /* IE6 leftovers */
 }
 
 /* IE6 leftovers */
@@ -630,13 +620,3 @@ table.ie-fixed {
 * html #adminmenu div.wp-menu-image {
        height: 29px;
 }
 * html #adminmenu div.wp-menu-image {
        height: 29px;
 }
-
-.revisions-tickmarks,
-.revisions-tooltip {
-       display: none !important;
-}
-
-.revisions.pinned .revisions-controls {
-    position: relative;
-}
-
index d5650663e91c4cc4a14a18d9302ca7ddb37de36e..32e50b1c10423659201e7a3b35adb6c369b2d8ad 100644 (file)
@@ -1 +1 @@
-#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}.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}#adminmenushadow{display:none}#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 ul{margin:0}.folded #adminmenu .wp-submenu{border-top-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}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}table.fixed th,table.fixed td{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:none}#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}.major-publishing-actions,.wp-submenu,.wp-submenu li,#template,#template div,#editcat,#addcat{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="reset"],input[type="button"],input[type="submit"]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type="reset"].button-large,input[type="button"].button-large,input[type="submit"].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type="reset"].button-small,input[type="button"].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}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{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 #parent_id,#poststuff .inside #page_template,.inline-edit-row #post_parent,.inline-edit-row select[name="page_template"]{width:250px}#submitdiv input,#submitdiv select,#submitdiv a.button{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}.tagchecklist span a{margin:4px 0 0 -9px}.tablenav .button-secondary,.nav .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 tr,.widefat th{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat thead .check-column,.widefat tfoot .check-column{padding-top:6px}.widefat tbody th.check-column,.media.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}.widget-liquid-right .widget,.inactive-sidebar .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9fd0d5;background:#298cba}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{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}.about-wrap img.element-screenshot{padding:2px}.about-wrap .feature-section img,.about-wrap .feature-section .image-mask{border-width:1px;border-style:solid}.about-wrap .feature-section.three-col img{margin-left:0}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-right:7px;margin-right:7px}.about-wrap .three-col-images img{margin:0 .6% 10px}.about-wrap .three-col-images .last-feature,.about-wrap .three-col-images .first-feature{float:none}* 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}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}
\ 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%}.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}#adminmenushadow{display:none}#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 ul{margin:0}.folded #adminmenu .wp-submenu{border-top-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}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}table.fixed th,table.fixed td{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:none}#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}.major-publishing-actions,.wp-submenu,.wp-submenu li,#template,#template div,#editcat,#addcat{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=reset],input[type=button],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=reset].button-large,input[type=button].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=reset].button-small,input[type=button].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}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{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 #parent_id,#poststuff .inside #page_template,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv input,#submitdiv select,#submitdiv a.button{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}.tablenav .button-secondary,.nav .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 tr,.widefat th{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat thead .check-column,.widefat tfoot .check-column{padding-top:6px}.widefat tbody th.check-column,.media.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}.widget-liquid-right .widget,.inactive-sidebar .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{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}* 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
index 1b33764ab2c8642015e46223c4e95cdfc651c0b2..03c0e98a6a16b070c31bd6bf627c66ce1a93bc74 100644 (file)
@@ -215,10 +215,12 @@ textarea {
 }
 
 .message {
 }
 
 .message {
-       border: 1px solid #e6db55;
-       padding: 0.3em 0.6em;
+       border: 1px solid #c00;
+       -webkit-border-radius: 3px;
+       border-radius:         3px;
+       padding: 0.5em 0.7em;
        margin: 5px 0 15px;
        margin: 5px 0 15px;
-       background-color: #ffffe0;
+       background-color: #ffebe8;
 }
 
 /* install-rtl */
 }
 
 /* install-rtl */
index 062e10e0cc827e9de2c2576d66d90602b9153c4b..6c6dac19867b1df9ae186f204fbfbe876e7fd49a 100644 (file)
@@ -1 +1 @@
-html{background:#f9f9f9}body{background:#fff;color:#333;font-family:sans-serif;margin:2em auto;padding:1em 2em;-webkit-border-radius:3px;border-radius:3px;border:1px solid #dfdfdf;max-width:700px}a{color:#21759b;text-decoration:none}a:hover{color:#d54e21}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:30px 0 0 0;padding:0;padding-bottom:7px}h2{font-size:16px}p,li,dd,dt{padding-bottom:2px;font-size:14px;line-height:1.5}code,.code{font-size:14px}ul,ol,dl{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}#logo{margin:6px 0 14px 0;border-bottom:0;text-align:center}#logo a{background-image:url('../images/wordpress-logo.png?ver=20120216');background-size:274px 63px;background-position:top center;background-repeat:no-repeat;height:67px;text-indent:-9999px;outline:0;overflow:hidden;display:block}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#logo a{background-image:url('../images/wordpress-logo-2x.png?ver=20120412');background-size:274px 63px}}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.step .button-large{font-size:14px}textarea{border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif;width:695px}.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;border-bottom:8px solid #fff;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:2px;border:1px #dfdfdf solid;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif}.form-table input[type=text],.form-table input[type=password]{width:206px}.form-table th p{font-weight:normal}.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 #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0}body.rtl{font-family:Tahoma,arial}.rtl h1{font-family:arial;margin:5px -4px 0 0}.rtl ul,.rtl ol{padding:5px 22px 5px 5px}.rtl .step,.rtl th,.rtl .form-table th{text-align:right}.rtl .submit input,.rtl .button,.rtl .button-secondary{margin-right:0}.rtl #dbname,.rtl #uname,.rtl #pwd,.rtl #dbhost,.rtl #prefix,.rtl #user_login,.rtl #admin_email,.rtl #pass1,.rtl #pass2{direction:ltr}
\ No newline at end of file
+html{background:#f9f9f9}body{background:#fff;color:#333;font-family:sans-serif;margin:2em auto;padding:1em 2em;-webkit-border-radius:3px;border-radius:3px;border:1px solid #dfdfdf;max-width:700px}a{color:#21759b;text-decoration:none}a:hover{color:#d54e21}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:30px 0 0;padding:0;padding-bottom:7px}h2{font-size:16px}p,li,dd,dt{padding-bottom:2px;font-size:14px;line-height:1.5}code,.code{font-size:14px}ul,ol,dl{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/wordpress-logo.png?ver=20120216);background-size:274px 63px;background-position:top center;background-repeat:no-repeat;height:67px;text-indent:-9999px;outline:0;overflow:hidden;display:block}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#logo a{background-image:url(../images/wordpress-logo-2x.png?ver=20120412);background-size:274px 63px}}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.step .button-large{font-size:14px}textarea{border:1px solid #dfdfdf;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif;width:695px}.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;border-bottom:8px solid #fff;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:2px;border:1px #dfdfdf solid;-webkit-border-radius:3px;border-radius:3px;font-family:sans-serif}.form-table input[type=text],.form-table input[type=password]{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;-webkit-border-radius:3px;border-radius:3px;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}body.rtl{font-family:Tahoma,arial}.rtl h1{font-family:arial;margin:5px -4px 0 0}.rtl ul,.rtl ol{padding:5px 22px 5px 5px}.rtl .step,.rtl th,.rtl .form-table th{text-align:right}.rtl .submit input,.rtl .button,.rtl .button-secondary{margin-right:0}.rtl #dbname,.rtl #uname,.rtl #pwd,.rtl #dbhost,.rtl #prefix,.rtl #user_login,.rtl #admin_email,.rtl #pass1,.rtl #pass2{direction:ltr}
\ No newline at end of file
index c414cfafdf560f15f43b491224c596ffb9cecba3..fbdeea23c0cb118ba2b0ed0f361a217a7d52ec5b 100644 (file)
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden}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:normal}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:0;text-align:justify;margin:0 0 1em 0;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}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{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 p.help,#media-upload label.help{font-family:sans-serif;font-style:italic;font-weight:normal}#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:normal;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");background-size:21px 15px}.image-align-left-label{background-image:url("../images/align-left-2x.png?ver=20120916");background-size:22px 15px}.image-align-center-label{background-image:url("../images/align-center-2x.png?ver=20120916");background-size:21px 15px}.image-align-right-label{background-image:url("../images/align-right-2x.png?ver=20120916");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-width:1px;border-bottom-style:solid}body#media-upload ul#sidemenu{font-weight:400;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden}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}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{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 p.help,#media-upload label.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);background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);background-size:22px 15px}}
\ No newline at end of file
index 3061592a5f51943d33ceda5293896fe5149b4bfc..5221a0430d7d8df4ba9401ec1f0b068fa30908ec 100644 (file)
@@ -1706,38 +1706,21 @@ h2 .nav-tab {
        float: right;
 }
 
        float: right;
 }
 
+.about-wrap .feature-section.two-col div,
 .about-wrap .feature-section.three-col div {
        margin-right: 0;
        margin-left: 4.999999999%;
        float: right;
 }
 
 .about-wrap .feature-section.three-col div {
        margin-right: 0;
        margin-left: 4.999999999%;
        float: right;
 }
 
-.about-wrap .feature-section.three-col h4 {
-       text-align: right;
-}
-
-.about-wrap .feature-section.three-col img {
-       margin-right: 5px;
-       margin-left: 0;
-}
-
-.about-wrap .feature-section.three-col .last-feature {
+.about-wrap .feature-section.col .last-feature {
        margin-left: 0;
 }
 
        margin-left: 0;
 }
 
-.about-wrap .feature-section img {
-       margin: 0 0 10px 0.7%;
-}
-
-.about-wrap .feature-section.images-stagger-right img,
-.about-wrap .feature-section.images-stagger-right .video {
+.about-wrap .feature-section div p img {
        float: left;
        float: left;
-       margin: 0 2em 12px 5px;
-}
-
-.about-wrap .feature-section.images-stagger-left img {
-       float: right;
-       margin: 0 5px 12px 2em;
+       margin-left: 0;
+       margin-right: 10px;
 }
 
 .about-wrap li.wp-person,
 }
 
 .about-wrap li.wp-person,
@@ -1747,25 +1730,6 @@ h2 .nav-tab {
        margin-left: 10px;
 }
 
        margin-left: 10px;
 }
 
-@media only screen and (max-width: 900px) {
-       .about-wrap .feature-section.images-stagger-right .video.image-66 {
-               margin-right: 3px;
-       }
-}
-
-@media only screen and (max-width: 768px) {
-       .about-wrap .feature-section .image-66 {
-               float: none;
-       }
-
-       .about-wrap .feature-section.images-stagger-right .image-66 {
-               margin-right: 3px;
-       }
-
-       .about-wrap .feature-section.images-stagger-left .image-66 {
-               margin-left: 3px;
-       }
-}
 
 /*------------------------------------------------------------------------------
   23.0 - Misc
 
 /*------------------------------------------------------------------------------
   23.0 - Misc
@@ -1799,7 +1763,7 @@ h2 .nav-tab {
 
 }
 .tagchecklist span a {
 
 }
 .tagchecklist span a {
-       margin: 6px -9px 0pt 0pt;
+       margin: 4px -10px 0 0;
        float: right;
 }
 
        float: right;
 }
 
index b8b6fe8b01b3a0e1c727db698e25b494c3f623fc..4da46f698cb931e52cd63c1797e809a1dac32042 100644 (file)
@@ -1 +1 @@
-ol{margin-left:0;margin-right:2em}.code,code{font-family:monospace;direction:ltr}.quicktags,.search{font:12px Tahoma,Arial,sans-serif}.icon32{float:right;margin-right:0;margin-left:8px}.icon16{float:right;margin-right:-8px;margin-left:0}.howto{font-style:normal;font-family:Tahoma,Arial,sans-serif}p.install-help{font-style:normal}#doaction,#doaction2,#post-query-submit{margin-right:0;margin-left:8px}#timezone_string option{margin-left:0;margin-right:1em}#pass-strength-result{float:right;margin:13px 1px 5px 5px}p.search-box{float:left}.search-box input[name="s"],#search-plugins input[name="s"],.tagsdiv .newtag{float:right;margin-right:0;margin-left:4px}input[type=password]{direction:ltr}input[type="text"].ui-autocomplete-loading{background:transparent url('../images/loading.gif') no-repeat left center}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete li{text-align:right}#delete-action{float:right}#publishing-action{float:left;text-align:left}#publishing-action .spinner{float:right}#post-body .misc-pub-section{border-right:0;border-left-width:1px;border-left-style:solid}#post-body .misc-pub-section-last{border-left:0}#minor-publishing-actions{padding:10px 8px 2px 10px;text-align:left}#save-post{float:right}.preview{float:left}#sticky-span{margin-left:0;margin-right:18px}.side-info ul{padding-left:0;padding-right:18px}td.action-links,th.action-links{text-align:left}form.upgrade .hint{font-style:normal}#ajax-response.alignleft{margin-left:0;margin-right:2em}#quicktags{background-position:right top}#ed_reply_toolbar input{margin:1px 1px 1px 2px}#wphead{height:32px;margin-left:15px;margin-right:2px}#header-logo{float:right}#wphead h1{float:right}#screen-meta-links{margin-right:0;margin-left:24px}#screen-meta{margin-right:5px;margin-left:15px}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;margin-left:0;margin-right:6px}#screen-meta-links a.show-settings{padding-right:6px;padding-left:16px}.toggle-arrow{background-position:top right}.toggle-arrow-active{background-position:bottom right}.metabox-prefs label{padding-right:0;padding-left:15px}.metabox-prefs label input{margin-right:2px;margin-left:5px}#contextual-help-wrap{margin-left:0;margin-right:-4px}#contextual-help-back{left:170px;right:150px}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;right:150px;border-right-width:1px;border-left-width:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right}.contextual-help-tabs a{padding-left:5px;padding-right:12px}.contextual-help-tabs .active{margin-right:0;margin-left:-1px}.contextual-help-tabs .active,.contextual-help-tabs-wrap{border-left:0;border-right-width:1px}.help-tab-content{margin-right:0;margin-left:22px}.help-tab-content li{margin-left:0;margin-right:18px}.contextual-help-sidebar{float:left;padding-right:12px;padding-left:8px}.folded #wpcontent{margin-left:0;margin-right:52px}.folded.wp-admin #wpfooter{margin-left:15px;margin-right:52px}#adminmenuback,#adminmenuwrap{border-width:0 0 0 1px}#adminmenushadow{right:auto;left:0}#adminmenu li .wp-submenu{left:auto;right:146px}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{left:auto;right:32px}#adminmenu div.wp-menu-image,.folded #adminmenu div.wp-menu-image{float:right;width:30px}#adminmenu .wp-submenu a,#adminmenu li li a,.folded #adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:12px}#adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:18px}.wp-menu-arrow{right:0;-moz-transform:translate(-139px);-webkit-transform:translate(-139px);-o-transform:translate(-139px);-ms-transform:translate(-139px);transform:translate(-139px)}.ie8 .wp-menu-arrow{right:-20px}#adminmenu .wp-menu-arrow div{left:-8px;width:16px}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(-138px);-webkit-transform:translate(-138px);-o-transform:translate(-138px);-ms-transform:translate(-138px);transform:translate(-138px)}.folded #adminmenu li .wp-menu-arrow{-moz-transform:translate(-26px);-webkit-transform:translate(-26px);-o-transform:translate(-26px);-ms-transform:translate(-26px);transform:translate(-26px)}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{border-style:solid solid none none;border-width:1px 1px 0 0}#adminmenu .wp-menu-image img{padding:7px 7px 0 0}#adminmenu .wp-submenu .wp-submenu-head{padding:5px 10px 5px 4px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}.folded #adminmenu li.wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:7px}#collapse-button{float:right}@media only screen and (max-width:900px){.auto-fold #wpcontent{margin-left:0;margin-right:52px}.auto-fold.wp-admin #wpfooter{margin-left:15px;margin-right:52px}.auto-fold #adminmenu div.wp-menu-image{float:right;width:30px}.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.auto-fold #adminmenu .wp-has-submenu:hover .wp-submenu{left:auto;right:32px}.auto-fold #adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:12px}.auto-fold #adminmenu li .wp-menu-arrow{-moz-transform:translate(-27px);-webkit-transform:translate(-27px);-o-transform:translate(-27px);-ms-transform:translate(-27px);transform:translate(-27px)}.auto-fold #adminmenu li.wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}}.post-com-count-wrapper{font-family:Tahoma,Arial,sans-serif}.post-com-count{background-image:url('../images/bubble_bg-rtl.gif')}.column-response .post-com-count{float:right;margin-right:0;margin-left:5px}.response-links{float:right}.widefat th{font-family:Tahoma,Arial,sans-serif}.postbox-container{float:right}#post-body-content{float:right}#poststuff #post-body.columns-2{margin-left:300px;margin-right:0}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;margin-right:0}@media only screen and (max-width:850px){#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0}}.postbox .handlediv{float:left}#the-comment-list p.comment-author img{float:right;margin-right:0;margin-left:8px}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:0;padding-left:125px}.welcome-panel .welcome-panel-close{right:auto;left:10px}.welcome-panel .welcome-panel-close:before{left:auto;right:-12px}.welcome-panel-content{margin-left:0;margin-right:13px}.welcome-panel .welcome-panel-column{float:right}.welcome-panel .welcome-panel-column ul{margin-right:0;margin-left:1em}.welcome-panel .welcome-panel-column li{padding-left:0;padding-right:2px}.welcome-panel .welcome-add-page{background-position:right 2px}.welcome-panel .welcome-edit-page{background-position:right -90px}.welcome-panel .welcome-learn-more{background-position:right -136px}.welcome-panel .welcome-comments{background-position:right -182px}.welcome-panel .welcome-view-site{background-position:right -274px}.welcome-panel .welcome-widgets-menus{background-position:right -229px;line-height:14px}.welcome-panel .welcome-write-blog{background-position:right -44px}.welcome-panel .welcome-icon{padding:2px 32px 8px 0}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column li{margin-right:0;margin-left:13px}.welcome-panel .welcome-icon{padding-right:25px;padding-left:0}}.fixed .column-comments{text-align:right}.fixed .column-comments .vers{padding-left:0;padding-right:3px}.fixed .column-comments a{float:right}.fixed .column-menus{text-align:right}.sorting-indicator{margin-left:0;margin-right:7px}tr.wp-locked .locked-indicator{margin:-2px 6px 0 0}th.sortable a span,th.sorted a span{float:right}.tablenav-pages a{margin-right:0;margin-left:1px}.tablenav-pages .next-page{margin-left:0;margin-right:2px}.tablenav a.button-secondary{margin:3px 0 0 8px}.tablenav .tablenav-pages{float:left}.tablenav .displaying-num{margin-right:0;margin-left:10px;font-family:Tahoma,Arial,sans-serif;font-style:normal}.tablenav .actions{padding:2px 0 0 8px}.tablenav .actions select{float:right;margin-right:0;margin-left:6px}.tablenav .delete{margin-right:0;margin-left:20px}.view-switch{float:left}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-left:0;margin-right:-10px}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex}#posts-filter fieldset legend{padding:0 1px .2em 0}#wpbody-content .inline-edit-row fieldset{float:right}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left}.inline-edit-row fieldset label span.title{float:right}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;margin-right:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{padding-right:0;padding-left:.5em}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:0;margin-left:.5em}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Tahoma,Arial,sans-serif;font-style:normal}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{font-family:Tahoma,Arial,sans-serif}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles div a{float:right;margin:3px -2px 0 3px;overflow:hidden;text-indent:-9999px}#save-action .spinner,#show-comments a,#show-comments .spinner{float:right}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{right:0}#sample-permalink{direction:ltr}#sample-permalink #editable-post-name{unicode-bidi:embed}#wp-fullscreen-title-prompt-text{left:auto;right:0}#wp-fullscreen-save .spinner,#wp-fullscreen-save .fs-saved{float:left}#edit-slug-box .cancel{margin-right:0;margin-left:10px}.postarea h3 label{float:right}.submitbox .submit{text-align:right}.inside-submitbox #post_status{margin:2px -2px 2px 0}.submitbox .submit input{margin-right:0;margin-left:4px}#normal-sortables .postbox .submit{float:left}.taxonomy div.tabs-panel{margin:0 125px 0 5px}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{font-style:normal}#commentsdiv .spinner{padding-left:0;padding-right:5px}#post-body .add-menu-item-tabs li.tabs{border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px}#post-body .tagsdiv #newtag{margin-right:0;margin-left:5px}.autosave-info{padding:2px 2px 2px 15px;text-align:left}#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url('../images/resize-rtl.gif') no-repeat scroll left bottom;cursor:sw-resize}.curtime #timestamp{background-position:right top;padding-left:0;padding-right:18px}.compat-attachment-fields th{padding-right:0;padding-left:10px}#post-lock-dialog .post-locked-message a.button{margin-right:0;margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .locked-saving img{float:right;margin-right:0;margin-left:3px}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{height:8px;width:7px}.wp-slider .ui-slider-handle.from-handle:before{background-position:-5px -10px;left:6px}.wp-slider .ui-slider-handle.to-handle:before{background-position:-4px -29px;left:6px}.revision-toggle-compare-mode{right:auto;left:0}.revisions .loading-indicator{margin-right:-90px}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions-next{float:left}.revisions-previous{float:right}.diff-title strong{text-align:left;float:right;margin-right:0;margin-left:5px}.revisions-controls .author-card .avatar,.revisions-controls .author-card .author-info{float:right}.diff-meta input.restore-revision{float:left}.diff-col-title-added,.diff-col-title-removed{text-align:right;float:right}.revisions-tooltip{margin-left:0;margin-right:-69px}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.ie8 .revisions-tooltip{margin-right:-75px}.ie8 .revisions-tooltip.flipped{margin-left:-63px}.revisions-tooltip-arrow{right:0;margin-left:0;margin-right:35px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{left:auto;right:20px}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:21px}.revisions-tickmarks>div{float:right;border-width:0 0 0 1px}#select-featured-image a{float:right}a.post-state-format{margin-right:0;margin-left:5px}label.post-format-icon{margin-left:0;margin-right:5px;padding-left:0;padding-right:21px}.post-format-icon.post-format-standard{background-position:100% 0}.post-format-icon.post-format-image{background-position:100% -32px}.post-format-icon.post-format-gallery{background-position:100% -64px}.post-format-icon.post-format-audio{background-position:100% -96px}.post-format-icon.post-format-video{background-position:100% -128px}.post-format-icon.post-format-chat{background-position:100% -160px}.post-format-icon.post-format-status{background-position:100% -192px}.post-format-icon.post-format-aside{background-position:100% -224px}.post-format-icon.post-format-quote{background-position:100% -256px}.post-format-icon.post-format-link{background-position:100% -288px}.category-adder{margin-left:0;margin-right:120px}#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 5px 0 -120px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{margin-left:0;margin-right:18px}#post-body .add-menu-item-tabs li.tabs{border-style:solid solid solid none;border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px}p.help,p.description,span.description,.form-wrap p{font-style:normal;font-family:Tahoma,Arial,sans-serif}.taghint{margin:15px 12px -24px 0}#poststuff .tagsdiv .howto{margin:0 8px 6px 0}.ac_results li{text-align:right}.links-table th{text-align:right}#wpbody-content .describe th{text-align:right}.describe .media-item-info .A1B1{padding:0 10px 0 0}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{padding:0 23px 0 0;margin:0 3px 0 1em}.media-upload-form tr.image-size label{margin:0 5px 0 0}#wpbody-content .describe p.help{padding:0 5px 0 0}.media-item .edit-attachment,.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:15px}.media-item .error-div a.dismiss{padding:0 15px 0 0}.media-item .error-div{padding-left:0;padding-right:10px}.media-item .pinkynail{float:right}.media-item .describe td{padding:0 0 8px 8px}.media-item .progress{float:left;margin:6px 0 0 10px}#find-posts-input{float:right}#find-posts-search{float:right;margin-right:3px;margin-left:4px}.find-box-search .spinner{left:auto;right:115px}#find-posts-response .found-radio{padding:5px 8px 0 0}.find-box-search label{padding-right:0;padding-left:6px}.find-box #resize-se{right:auto;left:1px}form.upgrade .hint{font-style:normal}.wp_attachment_image .button,.A1B1 .button{float:right}.wp_attachment_image .spinner,.A1B1 .spinner{float:right}.imgedit-menu div{float:right}.imgedit-crop{margin:0}.imgedit-rleft,.imgedit-flipv,.imgedit-undo{margin:0 8px 0 3px}.imgedit-rright,.imgedit-fliph,.imgedit-redo{margin:0 3px}.imgedit-applyto img{margin:0 0 0 8px}.imgedit-help{font-style:normal}.imgedit-submit-btn{margin-left:0;margin-right:20px}.form-table th{text-align:right}.form-table input.tog{margin-right:0;margin-left:2px;float:right}.form-table table.color-palette{float:right}#replysubmit .spinner,.inline-edit-save .spinner{float:left}#replysubmit .button{margin-right:0;margin-left:5px}#edithead .inside{float:right;padding:3px 5px 2px 0}.comment-ays th{border-right-style:none;border-left-style:solid;border-right-width:0;border-left-width:1px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{margin-left:8px}#comment-status-radio input{margin:2px 0 5px 3px}h3.available-themes{float:right}.available-theme{margin-right:0;margin-left:10px;padding:20px 0 20px 20px}#current-theme .theme-info li,.theme-options li,.available-theme .action-links li{float:right;padding-right:0;padding-left:10px;margin-right:0;margin-left:10px;border-right:0;border-left:1px solid #dfdfdf}.available-theme .action-links li{padding-left:8px;margin-left:8px}.ie8 .available-theme .action-links li{padding-left:7px;margin-left:7px}#current-theme .theme-info li:last-child,.theme-options li:last-child,.available-theme .action-links li:last-child{padding-left:0;margin-right:0;border-left:0}.available-theme .action-links .delete-theme{float:left;margin-left:0;margin-right:8px}.available-theme .action-links p{float:right}#current-theme.has-screenshot{padding-left:0;padding-right:330px}#current-theme h4 span{margin-left:0;margin-right:20px}#current-theme img{float:right;width:300px;margin-left:0;margin-right:-330px}.theme-options .load-customize{margin-right:0;margin-left:30px;float:right}.theme-options span{float:right;margin-right:0;margin-left:10px}.theme-options ul{float:right}@media only screen and (max-width:1200px){#current-theme.has-screenshot{padding-right:270px}#current-theme img{margin-right:-270px;width:240px}}#broken-themes{text-align:right}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{margin:0 0 20px 20px}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:0;margin-left:10px}.nav-tab{margin:0 0 -1px 6px}h2 .nav-tab{font-family:Tahoma,Arial,sans-serif}.plugins .desc ul,.plugins .desc ol{margin:0 2em 0 0}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:0;padding-left:12px}#profile-page .form-table #rich_editing{margin-right:0;margin-left:5px}#profile-page #pass1,#profile-page #pass2,#profile-page #user_login{direction:ltr}#your-profile legend{font-family:Tahoma,Arial,sans-serif}.pressthis a span{background-position:right 5px;padding:8px 27px 8px 11px}.pressthis a:after{right:auto;left:10px;background:transparent;transform:skew(-20deg) rotate(-6deg);-webkit-transform:skew(-20deg) rotate(-6deg);-moz-transform:skew(-20deg) rotate(-6deg)}.pressthis a:hover:after{transform:skew(-20deg) rotate(-9deg);-webkit-transform:skew(-20deg) rotate(-9deg);-moz-transform:skew(-20deg) rotate(-9deg)}#utc-time,#local-time{padding-left:0;padding-right:25px;font-style:normal;font-family:Tahoma,Arial,sans-serif}#permalink_structure{float:right}.options-permalink-php code{unicode-bidi:embed}.options-permalink-php #rules{direction:ltr}#wpfooter{margin-left:20px}#wpcontent,#wpfooter{margin-right:165px}.wrap.about-wrap{margin-left:40px;margin-right:20px}.about-wrap h1,.about-text{margin-right:0;margin-left:200px}.about-wrap h2.nav-tab-wrapper{padding-left:0;padding-right:6px}.about-wrap .wp-badge{right:auto;left:0}.about-wrap h2 .nav-tab{margin-right:0;margin-left:3px}.about-wrap .changelog li{margin-left:0;margin-right:3em}.about-wrap .three-col-images .last-feature{float:left}.about-wrap .three-col-images .first-feature{float:right}.about-wrap .feature-section.three-col div{margin-right:0;margin-left:4.999999999%;float:right}.about-wrap .feature-section.three-col h4{text-align:right}.about-wrap .feature-section.three-col img{margin-right:5px;margin-left:0}.about-wrap .feature-section.three-col .last-feature{margin-left:0}.about-wrap .feature-section img{margin:0 0 10px .7%}.about-wrap .feature-section.images-stagger-right img,.about-wrap .feature-section.images-stagger-right .video{float:left;margin:0 2em 12px 5px}.about-wrap .feature-section.images-stagger-left img{float:right;margin:0 5px 12px 2em}.about-wrap li.wp-person,.about-wrap li.wp-person img.gravatar{float:right;margin-right:0;margin-left:10px}@media only screen and (max-width:900px){.about-wrap .feature-section.images-stagger-right .video.image-66{margin-right:3px}}@media only screen and (max-width:768px){.about-wrap .feature-section .image-66{float:none}.about-wrap .feature-section.images-stagger-right .image-66{margin-right:3px}.about-wrap .feature-section.images-stagger-left .image-66{margin-left:3px}}#template div{margin-right:0;margin-left:190px}.column-author img,.column-username img{float:right;margin-right:0;margin-left:10px}.tagchecklist{margin-left:0;margin-right:14px}.tagchecklist strong{margin-left:0;margin-right:-8px}.tagchecklist span{margin-right:0;margin-left:25px;float:right}.tagchecklist span a{margin:6px -9px 0 0;float:right}#poststuff h2{clear:right}#poststuff h3,.metabox-holder h3{font-family:Tahoma,Arial,sans-serif}.tool-box .title{font-family:Tahoma,Arial,sans-serif}#sidemenu{margin:-30px 315px 0 15px;float:left;padding-left:0;padding-right:10px}#sidemenu a{float:right}table .vers,table .column-visible,table .column-rating{text-align:right}.screen-meta-toggle{right:auto;left:15px}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{left:auto;right:-1000em}.screen-reader-shortcut:focus{left:auto;right:6px}* html #template div{margin-left:0}#editorcontainer .wp_themeSkin .mceStatusbar{padding-left:0;padding-right:5px}#editorcontainer .wp_themeSkin .mceStatusbar div{float:right}#editorcontainer .wp_themeSkin .mceStatusbar a.mceResize{float:left}#content-resize-handle{background:transparent url('../images/resize-rtl.gif') no-repeat scroll left bottom;right:auto;left:2px;cursor:sw-resize}.wp-full-overlay .wp-full-overlay-sidebar{margin:0;left:auto;right:0;border-right:0;border-left:1px solid rgba(0,0,0,0.2)}.wp-full-overlay-sidebar:after{right:auto;left:0;box-shadow:inset 5px 0 4px -4px rgba(0,0,0,0.1)}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px;margin-left:0}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px;margin-left:0}.wp-full-overlay a.collapse-sidebar{left:auto;right:0;margin-left:0;margin-right:15px}.wp-full-overlay.collapsed .collapse-sidebar{right:100%}.wp-full-overlay .collapse-sidebar-arrow{margin-right:2px;margin-left:0;background:transparent url('../images/arrows.png') no-repeat 1px -108px}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:0 -72px}.wp-full-overlay .collapse-sidebar-label{right:100%;left:auto;margin-right:10px;margin-left:0}.install-theme-info .theme-install{float:left}#wpcontent{margin-left:0;margin-right:165px}#wpbody-content{float:right}#adminmenuwrap{float:right}#adminmenu{clear:right}.inner-sidebar{float:left;clear:left}.has-right-sidebar #post-body{float:right;clear:right;margin-right:0;margin-left:-340px}.has-right-sidebar #post-body-content{margin-right:0;margin-left:300px}#col-right{float:left;clear:left}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}body,td,textarea,input,select{font-family:Tahoma,Arial,sans-serif}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:0;margin-right:1.8em}.subsubsub{float:right}.widefat thead th:first-of-type{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px}.widefat thead th:last-of-type{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px}.widefat th{text-align:right}.widefat th input{margin:0 8px 0 0}.wrap{margin-right:0;margin-left:15px}.wrap h2,.subtitle{font-family:Tahoma,Arial,sans-serif}.wrap h2{padding-right:0;padding-left:15px}.subtitle{padding-left:0;padding-right:25px}.wrap .add-new-h2{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:4px}.wrap h2.long-header{padding-left:0}#dashboard-widgets-wrap .has-sidebar{margin-right:0;margin-left:-51%}#dashboard-widgets-wrap .has-sidebar .has-sidebar-content{margin-right:0;margin-left:51%}.view-all{right:auto;left:0}#dashboard_right_now p.sub,#dashboard-widgets h4,a.rsswidget,#dashboard_plugins h4,#dashboard_plugins h5,#dashboard_recent_comments .comment-meta .approve,#dashboard_right_now td.b,#dashboard_right_now .versions a{font-family:Tahoma,Arial,sans-serif}#dashboard_right_now p.sub{left:auto;right:15px}#dashboard_right_now td.b{padding-right:0;padding-left:6px;text-align:left}#dashboard_right_now .t{padding-right:0;padding-left:12px}#dashboard_right_now .table_content{float:right}#dashboard_right_now .table_discussion{float:left}#dashboard_right_now a.button{float:left;clear:left}#dashboard_plugins .inside span{padding-left:0;padding-right:5px}#dashboard-widgets h3 .postbox-title-action{right:auto;left:10px}.js #dashboard-widgets h3 .postbox-title-action{right:auto;left:30px}#the-comment-list .pingback{padding-left:0!important;padding-right:9px!important}#the-comment-list .comment-item{padding:1em 70px 1em 10px}#the-comment-list .comment-item .avatar{float:right;margin-left:0;margin-right:-60px}.rss-widget cite{text-align:left}.rss-widget span.rss-date{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:3px}#dashboard-widgets #dashboard_quick_press form p.submit input{float:right}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1px 0 .7em}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:left}#dashboard-widgets #dashboard_quick_press form p.submit .spinner{margin:4px 0 0 6px}#dashboard_recent_drafts h4 abbr{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:3px}body.login{font-family:Tahoma,Arial,sans-serif}.login form{margin-right:8px;margin-left:0}.login form .forgetmenot{float:right}.login form .submit{float:left}#login form .submit input{font-family:Tahoma,Arial,sans-serif}.login #nav,.login #backtoblog{margin:0 16px 0 0}#login_error,.login .message{margin:0 8px 16px 0}.login #user_pass,.login #user_login,.login #user_email{margin-left:6px;margin-right:0;direction:ltr}.login h1 a{text-decoration:none}.login .button-primary{float:left}#nav-menus-frame{margin-right:300px;margin-left:0}#wpbody-content #menu-settings-column{margin-right:-300px;margin-left:0;float:right}.menu-location-menus select{float:right}.locations-row-links{float:right;margin:4px 6px 0 0}.locations-add-menu-link{direction:rtl}.locations-edit-menu-link{border-left:1px solid #ccc;border-right:0;padding-left:6px;padding-right:0;float:right}#menu-management-liquid{float:right}#menu-management{margin-left:20px;margin-right:0}.post-body-plain{padding:10px 0 0 10px}#menu-management .nav-tabs-arrow-left{right:0;left:auto}#menu-management .nav-tabs-arrow-right{left:0;right:auto;text-align:left;font-family:Tahoma,Arial,sans-serif}#menu-management .nav-tabs{padding-right:20px;padding-left:10px}.js #menu-management .nav-tabs{float:right;margin-right:0;margin-left:-400px}#select-nav-menu-container{text-align:left}#wpbody .open-label{float:right}#wpbody .open-label span{padding-left:10px;padding-right:0}.js .input-with-default-title{font-style:normal;font-weight:bold}.postbox .howto input,.accordion-container .howto input{float:left}#nav-menu-theme-locations .button-controls{text-align:left}.meta-sep,.submitcancel{float:right}#cancel-save{margin-left:0;margin-right:20px}.button.right,.button-secondary.right,.button-primary.right{float:left}.list-controls{float:right}.add-to-menu{float:left}#add-custom-link label span{float:right;padding-left:5px;padding-right:0}.nav-menus-php .howto span{float:right}.list li .menu-item-title input{margin-left:3px;margin-right:0}.menu-item-handle{padding-right:10px;padding-left:0}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.menu-item-handle .item-title{margin-left:13em;margin-right:0;overflow:hidden}.menu-item-handle .item-edit{right:auto;left:-20px}.menu-item-handle .menu-item-title{float:right}.menu-item-settings .field-move a,.menu-item-settings .field-move span{float:right;margin-left:4px}.menu-item-depth-0{margin-right:0;margin-left:0}.menu-item-depth-1{margin-right:30px;margin-left:0}.menu-item-depth-2{margin-right:60px;margin-left:0}.menu-item-depth-3{margin-right:90px;margin-left:0}.menu-item-depth-4{margin-right:120px;margin-left:0}.menu-item-depth-5{margin-right:150px;margin-left:0}.menu-item-depth-6{margin-right:180px;margin-left:0}.menu-item-depth-7{margin-right:210px;margin-left:0}.menu-item-depth-8{margin-right:240px;margin-left:0}.menu-item-depth-9{margin-right:270px;margin-left:0}.menu-item-depth-10{margin-right:300px;margin-left:0}.menu-item-depth-11{margin-right:330px;margin-left:0}.menu-item-depth-0 .menu-item-transport{margin-right:0;margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px;margin-left:0}.menu-item-depth-2 .menu-item-transport{margin-right:-60px;margin-left:0}.menu-item-depth-3 .menu-item-transport{margin-right:-90px;margin-left:0}.menu-item-depth-4 .menu-item-transport{margin-right:-120px;margin-left:0}.menu-item-depth-5 .menu-item-transport{margin-right:-150px;margin-left:0}.menu-item-depth-6 .menu-item-transport{margin-right:-180px;margin-left:0}.menu-item-depth-7 .menu-item-transport{margin-right:-210px;margin-left:0}.menu-item-depth-8 .menu-item-transport{margin-right:-240px;margin-left:0}.menu-item-depth-9 .menu-item-transport{margin-right:-270px;margin-left:0}.menu-item-depth-10 .menu-item-transport{margin-right:-300px;margin-left:0}.menu-item-depth-11 .menu-item-transport{margin-right:-330px;margin-left:0}.item-type{padding-left:10px;padding-right:0}.item-controls{left:20px;right:auto}.item-controls .item-order{padding-left:10px;padding-right:0}.item-edit{left:-20px;right:auto;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0}.menu-item-settings{padding:10px 10px 10px 0;border-width:0 1px 1px 1px}#custom-menu-item-url{direction:ltr}.link-to-original{font-style:normal;font-weight:bold}.link-to-original a{padding-right:4px;padding-left:0}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;margin-right:0;float:right}.major-publishing-actions .publishing-action{text-align:left;float:left}.major-publishing-actions .delete-action{text-align:right;float:right;padding-left:15px;padding-right:0}.menu-name-label{margin-left:15px;margin-right:0}div.star-holder{background:url('../images/stars-rtl.png?ver=20121108') repeat-x bottom right}div.star-holder .star-rating{background:url('../images/stars-rtl.png?ver=20121108') repeat-x top right;float:right}#plugin-information .wrap{margin:4px 15px 0 0}#plugin-information ul#sidemenu{left:auto;right:0}#plugin-information .fyi{float:right}#plugin-information #section-screenshots li p{padding-left:0;padding-right:20px}#plugin-information .updated,#plugin-information .error{clear:none;direction:rtl}#plugin-information #section-holder .section{direction:ltr}.posting{margin-left:212px;margin-right:0;position:relative}h3.tb{margin-left:0;margin-right:5px}#publish{float:left}.postbox .handlediv{float:left}.actions li{float:right;margin-right:0;margin-left:10px}#extra-fields .actions{margin:-23px 0 0 -7px}#img_container a{float:right}#category-add input,#category-add select{font-family:Tahoma,Arial,sans-serif}#tagsdiv #newtag{margin-right:0;margin-left:5px}#tagadd{margin-left:0;margin-right:3px}#tagchecklist span{margin-left:.5em;margin-right:10px;float:right}#tagchecklist span a{margin:6px -9px 0 0;float:right}.submit input,.button,.button-primary,.button-secondary,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif}.ac_results li{text-align:right}#TB_ajaxContent #options{right:auto;left:25px}#TB_closeAjaxWindow{float:left}#TB_ajaxWindowTitle{float:right}#post_status{margin-left:0;margin-right:10px}#templateside{float:left}#template textarea,#docs-list{direction:ltr}.theme-details .theme-version{float:right}.theme-details .star-holder{float:left}.feature-filter .feature-group{float:right}.feature-filter .feature-group li{padding-right:0;padding-left:25px}div.widget-liquid-left{float:right;clear:right;margin-right:0;margin-left:-325px}div#widgets-left{margin-right:5px;margin-left:325px}div.widget-liquid-right{float:left;clear:left}.inactive-sidebar .widget{float:right}div.sidebar-name h3{font-family:Tahoma,Arial,sans-serif}#widget-list .widget{float:right}.inactive-sidebar .widget-placeholder{float:right}.widget-top .widget-title-action{float:left}.widget-control-edit{padding:0 0 0 8px}.sidebar-name-arrow{float:left}.press-this-sidebar{float:left}.press-this #header-logo,.press-this #wphead h1{float:right}.ltr{direction:ltr}.control-section .accordion-section-title{font-family:Tahoma,Arial,sans-serif}.js .accordion-section-title:after{right:auto;left:20px}.nav-menus-php .major-publishing-actions .publishing-action{float:left}.menu-settings dd{float:right}.manage-menus span{float:right}.manage-menus select{float:right;margin-right:0;margin-left:6px}.manage-menus .submit-btn{float:right}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.nav-menus-php .add-new-menu-action{float:right;margin:4px 6px 0 0}.nav-menus-php .meta-sep,.nav-menus-php .submitdelete,.nav-menus-php .submitcancel{float:right}.is-submenu{float:right;margin-right:8px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.post-com-count{background-image:url('../images/bubble_bg-rtl-2x.gif');background-size:18px 100px}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url('../images/resize-rtl-2x.gif') no-repeat scroll right bottom;background-size:11px 11px}.wp-full-overlay .collapse-sidebar-arrow{background-image:url('../images/arrows-2x.png');background-size:15px 123px}div.star-holder{background:url('../images/stars-rtl-2x.png?ver=20121108') repeat-x bottom right;background-size:21px 37px}div.star-holder .star-rating{background:url('../images/stars-rtl-2x.png?ver=20121108') repeat-x top right;background-size:21px 37px}#post-body .wp_themeSkin .mceStatusbar a.mceResize,#content-resize-handle{background:transparent url('../images/resize-rtl-2x.gif') no-repeat scroll left bottom}.wp-slider .ui-slider-handle:before{background-image:url(../images/arrows-pr-2x.png);background-size:16px 102px}}body.locale-he-il,.locale-he-il .quicktags,.locale-he-il .search,.locale-he-il .howto,.locale-he-il #adminmenu .awaiting-mod,.locale-he-il #adminmenu span.update-plugins,.locale-he-il #sidemenu li a span.update-plugins,.locale-he-il .post-com-count-wrapper,.locale-he-il .widefat th,.locale-he-il .tablenav .displaying-num,.locale-he-il .inline-edit-row fieldset span.title,.locale-he-il .inline-edit-row fieldset span.checkbox-title,.locale-he-il .inline-edit-row fieldset ul.cat-checklist label,.locale-he-il .inline-edit-row #bulk-titles div,.locale-he-il p.help,.locale-he-il p.description,.locale-he-il span.description,.locale-he-il .form-wrap p,.locale-he-il h2 .nav-tab,.locale-he-il #your-profile legend,.locale-he-il #utc-time,.locale-he-il #local-time,.locale-he-il #poststuff h3,.locale-he-il .metabox-holder h3,.locale-he-il .tool-box .title,.locale-he-il td,.locale-he-il textarea,.locale-he-il input,.locale-he-il select,.locale-he-il .wrap h2,.locale-he-il .subtitle,.locale-he-il .wrap .add-new-h2,.locale-he-il #dashboard_right_now p.sub,.locale-he-il #dashboard-widgets h4,.locale-he-il a.rsswidget,.locale-he-il #dashboard_plugins h4,.locale-he-il #dashboard_plugins h5,.locale-he-il #dashboard_recent_comments .comment-meta .approve,.locale-he-il #dashboard_right_now td.b,.locale-he-il #dashboard_right_now .versions a,.locale-he-il .rss-widget span.rss-date,.locale-he-il #dashboard_recent_drafts h4 abbr,body.login.locale-he-il,.locale-he-il #login form .submit input,.locale-he-il #menu-management .nav-tabs-arrow-right,.locale-he-il #category-add input,.locale-he-il #category-add select,.locale-he-il .submit input,.locale-he-il .button,.locale-he-il .button-primary,.locale-he-il .button-secondary,.locale-he-il #postcustomstuff .submit input,.locale-he-il div.sidebar-name h3{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:bold}
\ No newline at end of file
+ol{margin-left:0;margin-right:2em}.code,code{font-family:monospace;direction:ltr}.quicktags,.search{font:12px Tahoma,Arial,sans-serif}.icon32{float:right;margin-right:0;margin-left:8px}.icon16{float:right;margin-right:-8px;margin-left:0}.howto{font-style:normal;font-family:Tahoma,Arial,sans-serif}p.install-help{font-style:normal}#doaction,#doaction2,#post-query-submit{margin-right:0;margin-left:8px}#timezone_string option{margin-left:0;margin-right:1em}#pass-strength-result{float:right;margin:13px 1px 5px 5px}p.search-box{float:left}.search-box input[name="s"],#search-plugins input[name="s"],.tagsdiv .newtag{float:right;margin-right:0;margin-left:4px}input[type=password]{direction:ltr}input[type=text].ui-autocomplete-loading{background:transparent url(../images/loading.gif) no-repeat left center}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete li{text-align:right}#delete-action{float:right}#publishing-action{float:left;text-align:left}#publishing-action .spinner{float:right}#post-body .misc-pub-section{border-right:0;border-left-width:1px;border-left-style:solid}#post-body .misc-pub-section-last{border-left:0}#minor-publishing-actions{padding:10px 8px 2px 10px;text-align:left}#save-post{float:right}.preview{float:left}#sticky-span{margin-left:0;margin-right:18px}.side-info ul{padding-left:0;padding-right:18px}td.action-links,th.action-links{text-align:left}form.upgrade .hint{font-style:normal}#ajax-response.alignleft{margin-left:0;margin-right:2em}#quicktags{background-position:right top}#ed_reply_toolbar input{margin:1px 1px 1px 2px}#wphead{height:32px;margin-left:15px;margin-right:2px}#header-logo{float:right}#wphead h1{float:right}#screen-meta-links{margin-right:0;margin-left:24px}#screen-meta{margin-right:5px;margin-left:15px}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;margin-left:0;margin-right:6px}#screen-meta-links a.show-settings{padding-right:6px;padding-left:16px}.toggle-arrow{background-position:top right}.toggle-arrow-active{background-position:bottom right}.metabox-prefs label{padding-right:0;padding-left:15px}.metabox-prefs label input{margin-right:2px;margin-left:5px}#contextual-help-wrap{margin-left:0;margin-right:-4px}#contextual-help-back{left:170px;right:150px}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;right:150px;border-right-width:1px;border-left-width:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right}.contextual-help-tabs a{padding-left:5px;padding-right:12px}.contextual-help-tabs .active{margin-right:0;margin-left:-1px}.contextual-help-tabs .active,.contextual-help-tabs-wrap{border-left:0;border-right-width:1px}.help-tab-content{margin-right:0;margin-left:22px}.help-tab-content li{margin-left:0;margin-right:18px}.contextual-help-sidebar{float:left;padding-right:12px;padding-left:8px}.folded #wpcontent{margin-left:0;margin-right:52px}.folded.wp-admin #wpfooter{margin-left:15px;margin-right:52px}#adminmenuback,#adminmenuwrap{border-width:0 0 0 1px}#adminmenushadow{right:auto;left:0}#adminmenu li .wp-submenu{left:auto;right:146px}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{left:auto;right:32px}#adminmenu div.wp-menu-image,.folded #adminmenu div.wp-menu-image{float:right;width:30px}#adminmenu .wp-submenu a,#adminmenu li li a,.folded #adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:12px}#adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:18px}.wp-menu-arrow{right:0;-moz-transform:translate(-139px);-webkit-transform:translate(-139px);-o-transform:translate(-139px);-ms-transform:translate(-139px);transform:translate(-139px)}.ie8 .wp-menu-arrow{right:-20px}#adminmenu .wp-menu-arrow div{left:-8px;width:16px}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(-138px);-webkit-transform:translate(-138px);-o-transform:translate(-138px);-ms-transform:translate(-138px);transform:translate(-138px)}.folded #adminmenu li .wp-menu-arrow{-moz-transform:translate(-26px);-webkit-transform:translate(-26px);-o-transform:translate(-26px);-ms-transform:translate(-26px);transform:translate(-26px)}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{border-style:solid solid none none;border-width:1px 1px 0 0}#adminmenu .wp-menu-image img{padding:7px 7px 0 0}#adminmenu .wp-submenu .wp-submenu-head{padding:5px 10px 5px 4px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}.folded #adminmenu li.wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:7px}#collapse-button{float:right}@media only screen and (max-width:900px){.auto-fold #wpcontent{margin-left:0;margin-right:52px}.auto-fold.wp-admin #wpfooter{margin-left:15px;margin-right:52px}.auto-fold #adminmenu div.wp-menu-image{float:right;width:30px}.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.auto-fold #adminmenu .wp-has-submenu:hover .wp-submenu{left:auto;right:32px}.auto-fold #adminmenu .wp-not-current-submenu li a{padding-left:0;padding-right:12px}.auto-fold #adminmenu li .wp-menu-arrow{-moz-transform:translate(-27px);-webkit-transform:translate(-27px);-o-transform:translate(-27px);-ms-transform:translate(-27px);transform:translate(-27px)}.auto-fold #adminmenu li.wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}}.post-com-count-wrapper{font-family:Tahoma,Arial,sans-serif}.post-com-count{background-image:url(../images/bubble_bg-rtl.gif)}.column-response .post-com-count{float:right;margin-right:0;margin-left:5px}.response-links{float:right}.widefat th{font-family:Tahoma,Arial,sans-serif}.postbox-container{float:right}#post-body-content{float:right}#poststuff #post-body.columns-2{margin-left:300px;margin-right:0}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;margin-right:0}@media only screen and (max-width:850px){#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0}}.postbox .handlediv{float:left}#the-comment-list p.comment-author img{float:right;margin-right:0;margin-left:8px}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:0;padding-left:125px}.welcome-panel .welcome-panel-close{right:auto;left:10px}.welcome-panel .welcome-panel-close:before{left:auto;right:-12px}.welcome-panel-content{margin-left:0;margin-right:13px}.welcome-panel .welcome-panel-column{float:right}.welcome-panel .welcome-panel-column ul{margin-right:0;margin-left:1em}.welcome-panel .welcome-panel-column li{padding-left:0;padding-right:2px}.welcome-panel .welcome-add-page{background-position:right 2px}.welcome-panel .welcome-edit-page{background-position:right -90px}.welcome-panel .welcome-learn-more{background-position:right -136px}.welcome-panel .welcome-comments{background-position:right -182px}.welcome-panel .welcome-view-site{background-position:right -274px}.welcome-panel .welcome-widgets-menus{background-position:right -229px;line-height:14px}.welcome-panel .welcome-write-blog{background-position:right -44px}.welcome-panel .welcome-icon{padding:2px 32px 8px 0}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column li{margin-right:0;margin-left:13px}.welcome-panel .welcome-icon{padding-right:25px;padding-left:0}}.fixed .column-comments{text-align:right}.fixed .column-comments .vers{padding-left:0;padding-right:3px}.fixed .column-comments a{float:right}.fixed .column-menus{text-align:right}.sorting-indicator{margin-left:0;margin-right:7px}tr.wp-locked .locked-indicator{margin:-2px 6px 0 0}th.sortable a span,th.sorted a span{float:right}.tablenav-pages a{margin-right:0;margin-left:1px}.tablenav-pages .next-page{margin-left:0;margin-right:2px}.tablenav a.button-secondary{margin:3px 0 0 8px}.tablenav .tablenav-pages{float:left}.tablenav .displaying-num{margin-right:0;margin-left:10px;font-family:Tahoma,Arial,sans-serif;font-style:normal}.tablenav .actions{padding:2px 0 0 8px}.tablenav .actions select{float:right;margin-right:0;margin-left:6px}.tablenav .delete{margin-right:0;margin-left:20px}.view-switch{float:left}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-left:0;margin-right:-10px}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex}#posts-filter fieldset legend{padding:0 1px .2em 0}#wpbody-content .inline-edit-row fieldset{float:right}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left}.inline-edit-row fieldset label span.title{float:right}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;margin-right:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{padding-right:0;padding-left:.5em}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:0;margin-left:.5em}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Tahoma,Arial,sans-serif;font-style:normal}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{font-family:Tahoma,Arial,sans-serif}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles div a{float:right;margin:3px -2px 0 3px;overflow:hidden;text-indent:-9999px}#save-action .spinner,#show-comments a,#show-comments .spinner{float:right}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{right:0}#sample-permalink{direction:ltr}#sample-permalink #editable-post-name{unicode-bidi:embed}#wp-fullscreen-title-prompt-text{left:auto;right:0}#wp-fullscreen-save .spinner,#wp-fullscreen-save .fs-saved{float:left}#edit-slug-box .cancel{margin-right:0;margin-left:10px}.postarea h3 label{float:right}.submitbox .submit{text-align:right}.inside-submitbox #post_status{margin:2px -2px 2px 0}.submitbox .submit input{margin-right:0;margin-left:4px}#normal-sortables .postbox .submit{float:left}.taxonomy div.tabs-panel{margin:0 125px 0 5px}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{font-style:normal}#commentsdiv .spinner{padding-left:0;padding-right:5px}#post-body .add-menu-item-tabs li.tabs{border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px}#post-body .tagsdiv #newtag{margin-right:0;margin-left:5px}.autosave-info{padding:2px 2px 2px 15px;text-align:left}#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom;cursor:sw-resize}.curtime #timestamp{background-position:right top;padding-left:0;padding-right:18px}.compat-attachment-fields th{padding-right:0;padding-left:10px}#post-lock-dialog .post-locked-message a.button{margin-right:0;margin-left:10px}#post-lock-dialog .post-locked-avatar{float:right;margin:0 0 20px 20px}#post-lock-dialog .locked-saving img{float:right;margin-right:0;margin-left:3px}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{height:8px;width:7px}.wp-slider .ui-slider-handle.from-handle:before{background-position:-5px -10px;left:6px}.wp-slider .ui-slider-handle.to-handle:before{background-position:-4px -29px;left:6px}.revision-toggle-compare-mode{right:auto;left:0}.revisions .loading-indicator{margin-right:-90px}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions-next{float:left}.revisions-previous{float:right}.diff-title strong{text-align:left;float:right;margin-right:0;margin-left:5px}.revisions-controls .author-card .avatar,.revisions-controls .author-card .author-info{float:right}.diff-meta input.restore-revision{float:left}.diff-col-title-added,.diff-col-title-removed{text-align:right;float:right}.revisions-tooltip{margin-left:0;margin-right:-69px}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.ie8 .revisions-tooltip{margin-right:-75px}.ie8 .revisions-tooltip.flipped{margin-left:-63px}.revisions-tooltip-arrow{right:0;margin-left:0;margin-right:35px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{left:auto;right:20px}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:21px}.revisions-tickmarks>div{float:right;border-width:0 0 0 1px}#select-featured-image a{float:right}a.post-state-format{margin-right:0;margin-left:5px}label.post-format-icon{margin-left:0;margin-right:5px;padding-left:0;padding-right:21px}.post-format-icon.post-format-standard{background-position:100% 0}.post-format-icon.post-format-image{background-position:100% -32px}.post-format-icon.post-format-gallery{background-position:100% -64px}.post-format-icon.post-format-audio{background-position:100% -96px}.post-format-icon.post-format-video{background-position:100% -128px}.post-format-icon.post-format-chat{background-position:100% -160px}.post-format-icon.post-format-status{background-position:100% -192px}.post-format-icon.post-format-aside{background-position:100% -224px}.post-format-icon.post-format-quote{background-position:100% -256px}.post-format-icon.post-format-link{background-position:100% -288px}.category-adder{margin-left:0;margin-right:120px}#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 5px 0 -120px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{margin-left:0;margin-right:18px}#post-body .add-menu-item-tabs li.tabs{border-style:solid solid solid none;border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px}p.help,p.description,span.description,.form-wrap p{font-style:normal;font-family:Tahoma,Arial,sans-serif}.taghint{margin:15px 12px -24px 0}#poststuff .tagsdiv .howto{margin:0 8px 6px 0}.ac_results li{text-align:right}.links-table th{text-align:right}#wpbody-content .describe th{text-align:right}.describe .media-item-info .A1B1{padding:0 10px 0 0}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{padding:0 23px 0 0;margin:0 3px 0 1em}.media-upload-form tr.image-size label{margin:0 5px 0 0}#wpbody-content .describe p.help{padding:0 5px 0 0}.media-item .edit-attachment,.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:15px}.media-item .error-div a.dismiss{padding:0 15px 0 0}.media-item .error-div{padding-left:0;padding-right:10px}.media-item .pinkynail{float:right}.media-item .describe td{padding:0 0 8px 8px}.media-item .progress{float:left;margin:6px 0 0 10px}#find-posts-input{float:right}#find-posts-search{float:right;margin-right:3px;margin-left:4px}.find-box-search .spinner{left:auto;right:115px}#find-posts-response .found-radio{padding:5px 8px 0 0}.find-box-search label{padding-right:0;padding-left:6px}.find-box #resize-se{right:auto;left:1px}form.upgrade .hint{font-style:normal}.wp_attachment_image .button,.A1B1 .button{float:right}.wp_attachment_image .spinner,.A1B1 .spinner{float:right}.imgedit-menu div{float:right}.imgedit-crop{margin:0}.imgedit-rleft,.imgedit-flipv,.imgedit-undo{margin:0 8px 0 3px}.imgedit-rright,.imgedit-fliph,.imgedit-redo{margin:0 3px}.imgedit-applyto img{margin:0 0 0 8px}.imgedit-help{font-style:normal}.imgedit-submit-btn{margin-left:0;margin-right:20px}.form-table th{text-align:right}.form-table input.tog{margin-right:0;margin-left:2px;float:right}.form-table table.color-palette{float:right}#replysubmit .spinner,.inline-edit-save .spinner{float:left}#replysubmit .button{margin-right:0;margin-left:5px}#edithead .inside{float:right;padding:3px 5px 2px 0}.comment-ays th{border-right-style:none;border-left-style:solid;border-right-width:0;border-left-width:1px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{margin-left:8px}#comment-status-radio input{margin:2px 0 5px 3px}h3.available-themes{float:right}.available-theme{margin-right:0;margin-left:10px;padding:20px 0 20px 20px}#current-theme .theme-info li,.theme-options li,.available-theme .action-links li{float:right;padding-right:0;padding-left:10px;margin-right:0;margin-left:10px;border-right:0;border-left:1px solid #dfdfdf}.available-theme .action-links li{padding-left:8px;margin-left:8px}.ie8 .available-theme .action-links li{padding-left:7px;margin-left:7px}#current-theme .theme-info li:last-child,.theme-options li:last-child,.available-theme .action-links li:last-child{padding-left:0;margin-right:0;border-left:0}.available-theme .action-links .delete-theme{float:left;margin-left:0;margin-right:8px}.available-theme .action-links p{float:right}#current-theme.has-screenshot{padding-left:0;padding-right:330px}#current-theme h4 span{margin-left:0;margin-right:20px}#current-theme img{float:right;width:300px;margin-left:0;margin-right:-330px}.theme-options .load-customize{margin-right:0;margin-left:30px;float:right}.theme-options span{float:right;margin-right:0;margin-left:10px}.theme-options ul{float:right}@media only screen and (max-width:1200px){#current-theme.has-screenshot{padding-right:270px}#current-theme img{margin-right:-270px;width:240px}}#broken-themes{text-align:right}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{margin:0 0 20px 20px}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:0;margin-left:10px}.nav-tab{margin:0 0 -1px 6px}h2 .nav-tab{font-family:Tahoma,Arial,sans-serif}.plugins .desc ul,.plugins .desc ol{margin:0 2em 0 0}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:0;padding-left:12px}#profile-page .form-table #rich_editing{margin-right:0;margin-left:5px}#profile-page #pass1,#profile-page #pass2,#profile-page #user_login{direction:ltr}#your-profile legend{font-family:Tahoma,Arial,sans-serif}.pressthis a span{background-position:right 5px;padding:8px 27px 8px 11px}.pressthis a:after{right:auto;left:10px;background:transparent;transform:skew(-20deg) rotate(-6deg);-webkit-transform:skew(-20deg) rotate(-6deg);-moz-transform:skew(-20deg) rotate(-6deg)}.pressthis a:hover:after{transform:skew(-20deg) rotate(-9deg);-webkit-transform:skew(-20deg) rotate(-9deg);-moz-transform:skew(-20deg) rotate(-9deg)}#utc-time,#local-time{padding-left:0;padding-right:25px;font-style:normal;font-family:Tahoma,Arial,sans-serif}#permalink_structure{float:right}.options-permalink-php code{unicode-bidi:embed}.options-permalink-php #rules{direction:ltr}#wpfooter{margin-left:20px}#wpcontent,#wpfooter{margin-right:165px}.wrap.about-wrap{margin-left:40px;margin-right:20px}.about-wrap h1,.about-text{margin-right:0;margin-left:200px}.about-wrap h2.nav-tab-wrapper{padding-left:0;padding-right:6px}.about-wrap .wp-badge{right:auto;left:0}.about-wrap h2 .nav-tab{margin-right:0;margin-left:3px}.about-wrap .changelog li{margin-left:0;margin-right:3em}.about-wrap .three-col-images .last-feature{float:left}.about-wrap .three-col-images .first-feature{float:right}.about-wrap .feature-section.two-col div,.about-wrap .feature-section.three-col div{margin-right:0;margin-left:4.999999999%;float:right}.about-wrap .feature-section.col .last-feature{margin-left:0}.about-wrap .feature-section div p img{float:left;margin-left:0;margin-right:10px}.about-wrap li.wp-person,.about-wrap li.wp-person img.gravatar{float:right;margin-right:0;margin-left:10px}#template div{margin-right:0;margin-left:190px}.column-author img,.column-username img{float:right;margin-right:0;margin-left:10px}.tagchecklist{margin-left:0;margin-right:14px}.tagchecklist strong{margin-left:0;margin-right:-8px}.tagchecklist span{margin-right:0;margin-left:25px;float:right}.tagchecklist span a{margin:4px -10px 0 0;float:right}#poststuff h2{clear:right}#poststuff h3,.metabox-holder h3{font-family:Tahoma,Arial,sans-serif}.tool-box .title{font-family:Tahoma,Arial,sans-serif}#sidemenu{margin:-30px 315px 0 15px;float:left;padding-left:0;padding-right:10px}#sidemenu a{float:right}table .vers,table .column-visible,table .column-rating{text-align:right}.screen-meta-toggle{right:auto;left:15px}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{left:auto;right:-1000em}.screen-reader-shortcut:focus{left:auto;right:6px}* html #template div{margin-left:0}#editorcontainer .wp_themeSkin .mceStatusbar{padding-left:0;padding-right:5px}#editorcontainer .wp_themeSkin .mceStatusbar div{float:right}#editorcontainer .wp_themeSkin .mceStatusbar a.mceResize{float:left}#content-resize-handle{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom;right:auto;left:2px;cursor:sw-resize}.wp-full-overlay .wp-full-overlay-sidebar{margin:0;left:auto;right:0;border-right:0;border-left:1px solid rgba(0,0,0,.2)}.wp-full-overlay-sidebar:after{right:auto;left:0;box-shadow:inset 5px 0 4px -4px rgba(0,0,0,.1)}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px;margin-left:0}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px;margin-left:0}.wp-full-overlay a.collapse-sidebar{left:auto;right:0;margin-left:0;margin-right:15px}.wp-full-overlay.collapsed .collapse-sidebar{right:100%}.wp-full-overlay .collapse-sidebar-arrow{margin-right:2px;margin-left:0;background:transparent url(../images/arrows.png) no-repeat 1px -108px}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:0 -72px}.wp-full-overlay .collapse-sidebar-label{right:100%;left:auto;margin-right:10px;margin-left:0}.install-theme-info .theme-install{float:left}#wpcontent{margin-left:0;margin-right:165px}#wpbody-content{float:right}#adminmenuwrap{float:right}#adminmenu{clear:right}.inner-sidebar{float:left;clear:left}.has-right-sidebar #post-body{float:right;clear:right;margin-right:0;margin-left:-340px}.has-right-sidebar #post-body-content{margin-right:0;margin-left:300px}#col-right{float:left;clear:left}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}body,td,textarea,input,select{font-family:Tahoma,Arial,sans-serif}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:0;margin-right:1.8em}.subsubsub{float:right}.widefat thead th:first-of-type{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px}.widefat thead th:last-of-type{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px}.widefat th{text-align:right}.widefat th input{margin:0 8px 0 0}.wrap{margin-right:0;margin-left:15px}.wrap h2,.subtitle{font-family:Tahoma,Arial,sans-serif}.wrap h2{padding-right:0;padding-left:15px}.subtitle{padding-left:0;padding-right:25px}.wrap .add-new-h2{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:4px}.wrap h2.long-header{padding-left:0}#dashboard-widgets-wrap .has-sidebar{margin-right:0;margin-left:-51%}#dashboard-widgets-wrap .has-sidebar .has-sidebar-content{margin-right:0;margin-left:51%}.view-all{right:auto;left:0}#dashboard_right_now p.sub,#dashboard-widgets h4,a.rsswidget,#dashboard_plugins h4,#dashboard_plugins h5,#dashboard_recent_comments .comment-meta .approve,#dashboard_right_now td.b,#dashboard_right_now .versions a{font-family:Tahoma,Arial,sans-serif}#dashboard_right_now p.sub{left:auto;right:15px}#dashboard_right_now td.b{padding-right:0;padding-left:6px;text-align:left}#dashboard_right_now .t{padding-right:0;padding-left:12px}#dashboard_right_now .table_content{float:right}#dashboard_right_now .table_discussion{float:left}#dashboard_right_now a.button{float:left;clear:left}#dashboard_plugins .inside span{padding-left:0;padding-right:5px}#dashboard-widgets h3 .postbox-title-action{right:auto;left:10px}.js #dashboard-widgets h3 .postbox-title-action{right:auto;left:30px}#the-comment-list .pingback{padding-left:0!important;padding-right:9px!important}#the-comment-list .comment-item{padding:1em 70px 1em 10px}#the-comment-list .comment-item .avatar{float:right;margin-left:0;margin-right:-60px}.rss-widget cite{text-align:left}.rss-widget span.rss-date{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:3px}#dashboard-widgets #dashboard_quick_press form p.submit input{float:right}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1px 0 .7em}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:left}#dashboard-widgets #dashboard_quick_press form p.submit .spinner{margin:4px 0 0 6px}#dashboard_recent_drafts h4 abbr{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:3px}body.login{font-family:Tahoma,Arial,sans-serif}.login form{margin-right:8px;margin-left:0}.login form .forgetmenot{float:right}.login form .submit{float:left}#login form .submit input{font-family:Tahoma,Arial,sans-serif}.login #nav,.login #backtoblog{margin:0 16px 0 0}#login_error,.login .message{margin:0 8px 16px 0}.login #user_pass,.login #user_login,.login #user_email{margin-left:6px;margin-right:0;direction:ltr}.login h1 a{text-decoration:none}.login .button-primary{float:left}#nav-menus-frame{margin-right:300px;margin-left:0}#wpbody-content #menu-settings-column{margin-right:-300px;margin-left:0;float:right}.menu-location-menus select{float:right}.locations-row-links{float:right;margin:4px 6px 0 0}.locations-add-menu-link{direction:rtl}.locations-edit-menu-link{border-left:1px solid #CCC;border-right:0;padding-left:6px;padding-right:0;float:right}#menu-management-liquid{float:right}#menu-management{margin-left:20px;margin-right:0}.post-body-plain{padding:10px 0 0 10px}#menu-management .nav-tabs-arrow-left{right:0;left:auto}#menu-management .nav-tabs-arrow-right{left:0;right:auto;text-align:left;font-family:Tahoma,Arial,sans-serif}#menu-management .nav-tabs{padding-right:20px;padding-left:10px}.js #menu-management .nav-tabs{float:right;margin-right:0;margin-left:-400px}#select-nav-menu-container{text-align:left}#wpbody .open-label{float:right}#wpbody .open-label span{padding-left:10px;padding-right:0}.js .input-with-default-title{font-style:normal;font-weight:700}.postbox .howto input,.accordion-container .howto input{float:left}#nav-menu-theme-locations .button-controls{text-align:left}.meta-sep,.submitcancel{float:right}#cancel-save{margin-left:0;margin-right:20px}.button.right,.button-secondary.right,.button-primary.right{float:left}.list-controls{float:right}.add-to-menu{float:left}#add-custom-link label span{float:right;padding-left:5px;padding-right:0}.nav-menus-php .howto span{float:right}.list li .menu-item-title input{margin-left:3px;margin-right:0}.menu-item-handle{padding-right:10px;padding-left:0}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.menu-item-handle .item-title{margin-left:13em;margin-right:0;overflow:hidden}.menu-item-handle .item-edit{right:auto;left:-20px}.menu-item-handle .menu-item-title{float:right}.menu-item-settings .field-move a,.menu-item-settings .field-move span{float:right;margin-left:4px}.menu-item-depth-0{margin-right:0;margin-left:0}.menu-item-depth-1{margin-right:30px;margin-left:0}.menu-item-depth-2{margin-right:60px;margin-left:0}.menu-item-depth-3{margin-right:90px;margin-left:0}.menu-item-depth-4{margin-right:120px;margin-left:0}.menu-item-depth-5{margin-right:150px;margin-left:0}.menu-item-depth-6{margin-right:180px;margin-left:0}.menu-item-depth-7{margin-right:210px;margin-left:0}.menu-item-depth-8{margin-right:240px;margin-left:0}.menu-item-depth-9{margin-right:270px;margin-left:0}.menu-item-depth-10{margin-right:300px;margin-left:0}.menu-item-depth-11{margin-right:330px;margin-left:0}.menu-item-depth-0 .menu-item-transport{margin-right:0;margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px;margin-left:0}.menu-item-depth-2 .menu-item-transport{margin-right:-60px;margin-left:0}.menu-item-depth-3 .menu-item-transport{margin-right:-90px;margin-left:0}.menu-item-depth-4 .menu-item-transport{margin-right:-120px;margin-left:0}.menu-item-depth-5 .menu-item-transport{margin-right:-150px;margin-left:0}.menu-item-depth-6 .menu-item-transport{margin-right:-180px;margin-left:0}.menu-item-depth-7 .menu-item-transport{margin-right:-210px;margin-left:0}.menu-item-depth-8 .menu-item-transport{margin-right:-240px;margin-left:0}.menu-item-depth-9 .menu-item-transport{margin-right:-270px;margin-left:0}.menu-item-depth-10 .menu-item-transport{margin-right:-300px;margin-left:0}.menu-item-depth-11 .menu-item-transport{margin-right:-330px;margin-left:0}.item-type{padding-left:10px;padding-right:0}.item-controls{left:20px;right:auto}.item-controls .item-order{padding-left:10px;padding-right:0}.item-edit{left:-20px;right:auto;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0}.menu-item-settings{padding:10px 10px 10px 0;border-width:0 1px 1px}#custom-menu-item-url{direction:ltr}.link-to-original{font-style:normal;font-weight:700}.link-to-original a{padding-right:4px;padding-left:0}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;margin-right:0;float:right}.major-publishing-actions .publishing-action{text-align:left;float:left}.major-publishing-actions .delete-action{text-align:right;float:right;padding-left:15px;padding-right:0}.menu-name-label{margin-left:15px;margin-right:0}div.star-holder{background:url(../images/stars-rtl.png?ver=20121108) repeat-x bottom right}div.star-holder .star-rating{background:url(../images/stars-rtl.png?ver=20121108) repeat-x top right;float:right}#plugin-information .wrap{margin:4px 15px 0 0}#plugin-information ul#sidemenu{left:auto;right:0}#plugin-information .fyi{float:right}#plugin-information #section-screenshots li p{padding-left:0;padding-right:20px}#plugin-information .updated,#plugin-information .error{clear:none;direction:rtl}#plugin-information #section-holder .section{direction:ltr}.posting{margin-left:212px;margin-right:0;position:relative}h3.tb{margin-left:0;margin-right:5px}#publish{float:left}.postbox .handlediv{float:left}.actions li{float:right;margin-right:0;margin-left:10px}#extra-fields .actions{margin:-23px 0 0 -7px}#img_container a{float:right}#category-add input,#category-add select{font-family:Tahoma,Arial,sans-serif}#tagsdiv #newtag{margin-right:0;margin-left:5px}#tagadd{margin-left:0;margin-right:3px}#tagchecklist span{margin-left:.5em;margin-right:10px;float:right}#tagchecklist span a{margin:6px -9px 0 0;float:right}.submit input,.button,.button-primary,.button-secondary,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif}.ac_results li{text-align:right}#TB_ajaxContent #options{right:auto;left:25px}#TB_closeAjaxWindow{float:left}#TB_ajaxWindowTitle{float:right}#post_status{margin-left:0;margin-right:10px}#templateside{float:left}#template textarea,#docs-list{direction:ltr}.theme-details .theme-version{float:right}.theme-details .star-holder{float:left}.feature-filter .feature-group{float:right}.feature-filter .feature-group li{padding-right:0;padding-left:25px}div.widget-liquid-left{float:right;clear:right;margin-right:0;margin-left:-325px}div#widgets-left{margin-right:5px;margin-left:325px}div.widget-liquid-right{float:left;clear:left}.inactive-sidebar .widget{float:right}div.sidebar-name h3{font-family:Tahoma,Arial,sans-serif}#widget-list .widget{float:right}.inactive-sidebar .widget-placeholder{float:right}.widget-top .widget-title-action{float:left}.widget-control-edit{padding:0 0 0 8px}.sidebar-name-arrow{float:left}.press-this-sidebar{float:left}.press-this #header-logo,.press-this #wphead h1{float:right}.ltr{direction:ltr}.control-section .accordion-section-title{font-family:Tahoma,Arial,sans-serif}.js .accordion-section-title:after{right:auto;left:20px}.nav-menus-php .major-publishing-actions .publishing-action{float:left}.menu-settings dd{float:right}.manage-menus span{float:right}.manage-menus select{float:right;margin-right:0;margin-left:6px}.manage-menus .submit-btn{float:right}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.nav-menus-php .add-new-menu-action{float:right;margin:4px 6px 0 0}.nav-menus-php .meta-sep,.nav-menus-php .submitdelete,.nav-menus-php .submitcancel{float:right}.is-submenu{float:right;margin-right:8px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.post-com-count{background-image:url(../images/bubble_bg-rtl-2x.gif);background-size:18px 100px}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll right bottom;background-size:11px 11px}.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);background-size:15px 123px}div.star-holder{background:url(../images/stars-rtl-2x.png?ver=20121108) repeat-x bottom right;background-size:21px 37px}div.star-holder .star-rating{background:url(../images/stars-rtl-2x.png?ver=20121108) repeat-x top right;background-size:21px 37px}#post-body .wp_themeSkin .mceStatusbar a.mceResize,#content-resize-handle{background:transparent url(../images/resize-rtl-2x.gif) no-repeat scroll left bottom}.wp-slider .ui-slider-handle:before{background-image:url(../images/arrows-pr-2x.png);background-size:16px 102px}}body.locale-he-il,.locale-he-il .quicktags,.locale-he-il .search,.locale-he-il .howto,.locale-he-il #adminmenu .awaiting-mod,.locale-he-il #adminmenu span.update-plugins,.locale-he-il #sidemenu li a span.update-plugins,.locale-he-il .post-com-count-wrapper,.locale-he-il .widefat th,.locale-he-il .tablenav .displaying-num,.locale-he-il .inline-edit-row fieldset span.title,.locale-he-il .inline-edit-row fieldset span.checkbox-title,.locale-he-il .inline-edit-row fieldset ul.cat-checklist label,.locale-he-il .inline-edit-row #bulk-titles div,.locale-he-il p.help,.locale-he-il p.description,.locale-he-il span.description,.locale-he-il .form-wrap p,.locale-he-il h2 .nav-tab,.locale-he-il #your-profile legend,.locale-he-il #utc-time,.locale-he-il #local-time,.locale-he-il #poststuff h3,.locale-he-il .metabox-holder h3,.locale-he-il .tool-box .title,.locale-he-il td,.locale-he-il textarea,.locale-he-il input,.locale-he-il select,.locale-he-il .wrap h2,.locale-he-il .subtitle,.locale-he-il .wrap .add-new-h2,.locale-he-il #dashboard_right_now p.sub,.locale-he-il #dashboard-widgets h4,.locale-he-il a.rsswidget,.locale-he-il #dashboard_plugins h4,.locale-he-il #dashboard_plugins h5,.locale-he-il #dashboard_recent_comments .comment-meta .approve,.locale-he-il #dashboard_right_now td.b,.locale-he-il #dashboard_right_now .versions a,.locale-he-il .rss-widget span.rss-date,.locale-he-il #dashboard_recent_drafts h4 abbr,body.login.locale-he-il,.locale-he-il #login form .submit input,.locale-he-il #menu-management .nav-tabs-arrow-right,.locale-he-il #category-add input,.locale-he-il #category-add select,.locale-he-il .submit input,.locale-he-il .button,.locale-he-il .button-primary,.locale-he-il .button-secondary,.locale-he-il #postcustomstuff .submit input,.locale-he-il div.sidebar-name h3{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}
\ No newline at end of file
index b756ef1d252d5161cbc57680cad79772787c58b7..2f5b5c7fcca5d0951de956e7615ec45ec69e71a4 100644 (file)
@@ -2091,7 +2091,7 @@ html.wp-toolbar {
 }
 
 /* one column on the post write/edit screen */
 }
 
 /* one column on the post write/edit screen */
-@media only screen and (max-width: 850px) {
+@media only screen and (max-width: 960px) {
        #wpbody-content #poststuff #post-body {
                margin: 0;
        }
        #wpbody-content #poststuff #post-body {
                margin: 0;
        }
@@ -2312,7 +2312,7 @@ html.wp-toolbar {
 }
 
 .wp-core-ui .welcome-panel .button.button-hero {
 }
 
 .wp-core-ui .welcome-panel .button.button-hero {
-    margin: 15px 0 3px;
+       margin: 15px 0 3px;
 }
 
 .welcome-panel-content {
 }
 
 .welcome-panel-content {
@@ -2378,7 +2378,7 @@ html.wp-toolbar {
 }
 
 .welcome-panel .welcome-write-blog {
 }
 
 .welcome-panel .welcome-write-blog {
-       background-position: 0 -44px;
+       background-position: 0 -44px;
 }
 
 .welcome-panel .welcome-panel-column ul {
 }
 
 .welcome-panel .welcome-panel-column ul {
@@ -2386,8 +2386,8 @@ html.wp-toolbar {
 }
 
 .welcome-panel .welcome-panel-column li {
 }
 
 .welcome-panel .welcome-panel-column li {
-    line-height: 16px;
-    list-style-type: none;
+       line-height: 16px;
+       list-style-type: none;
 }
 
 @media screen and (max-width: 870px) {
 }
 
 @media screen and (max-width: 870px) {
@@ -3162,7 +3162,7 @@ ul.category-tabs li,
 }
 
 .no-js .category-tabs li.hide-if-no-js {
 }
 
 .no-js .category-tabs li.hide-if-no-js {
-       display: none;
+       display: none;
 }
 
 .category-tabs a,
 }
 
 .category-tabs a,
@@ -3819,7 +3819,7 @@ table.diff .diff-addedline ins {
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
-       tranform: rotate(45deg);
+       transform: rotate(45deg);
 }
 
 .revisions-tooltip.flipped .revisions-tooltip-arrow > span {
 }
 
 .revisions-tooltip.flipped .revisions-tooltip-arrow > span {
@@ -5316,6 +5316,54 @@ h3.available-themes {
        margin: 0;
 }
 
        margin: 0;
 }
 
+/* Allow for three-up in small windows when sidebar is collapsed */
+@media only screen and (max-width: 1200px) {
+       .folded .available-theme,
+       .folded .available-theme .screenshot {
+               width: 300px;
+       }
+
+       .folded .available-theme .screenshot {
+               height: 225px;
+       }
+
+       .folded #current-theme img {
+               width: 300px;
+       }
+
+       .folded #current-theme.has-screenshot {
+               padding-left: 330px;
+       }
+
+       .folded #current-theme img {
+               margin-left: -330px;
+       }
+}
+
+/* Adjust three-up display in smaller windows when sidebar is collapsed */
+@media only screen and (max-width: 1079px) {
+       .folded .available-theme,
+       .folded .available-theme .screenshot {
+               width: 270px;
+       }
+
+       .folded .available-theme .screenshot {
+               height: 203px;
+       }
+
+       .folded #current-theme img {
+               width: 270px;
+       }
+
+       .folded #current-theme.has-screenshot {
+               padding-left: 300px;
+       }
+
+       .folded #current-theme img {
+               margin-left: -300px;
+       }
+}
+
 /* Allow for three-up on 1024px wide screens, e.g. tablets */
 @media only screen and (max-width: 1200px) {
        .available-theme,
 /* Allow for three-up on 1024px wide screens, e.g. tablets */
 @media only screen and (max-width: 1200px) {
        .available-theme,
@@ -5498,7 +5546,7 @@ h2 .nav-tab {
        list-style-type: disc;
 }
 
        list-style-type: disc;
 }
 
-.plugins .row-actions-visible {
+.plugins .row-actions {
        padding: 0;
 }
 
        padding: 0;
 }
 
@@ -5530,12 +5578,12 @@ h2 .nav-tab {
 }
 
 .plugins .second,
 }
 
 .plugins .second,
-.plugins .row-actions-visible {
+.plugins .row-actions {
        padding: 0 0 5px;
 }
 
 .plugins .update .second,
        padding: 0 0 5px;
 }
 
 .plugins .update .second,
-.plugins .update .row-actions-visible {
+.plugins .update .row-actions {
        padding-bottom: 0;
 }
 
        padding-bottom: 0;
 }
 
@@ -5718,6 +5766,16 @@ h2 .nav-tab {
        display: none !important;
 }
 
        display: none !important;
 }
 
+.about-wrap p.about-notice {
+       background-color: #ffffe0;
+       border: 1px solid #e6db55;
+       margin: 5px 0 15px;
+       padding: 0.4em 0.8em;
+       border-radius: 3px;
+       -webkit-border-radius: 3px;
+}
+
+
 /* Typography */
 
 .about-wrap p {
 /* Typography */
 
 .about-wrap p {
@@ -5751,8 +5809,8 @@ h2 .nav-tab {
 }
 
 .about-wrap h3 {
 }
 
 .about-wrap h3 {
-       font-size: 24px;
-       margin-bottom: 1em;
+       font-size: 1.5em;
+       line-height: 1.5em;
        padding-top: 20px;
 }
 
        padding-top: 20px;
 }
 
@@ -5825,79 +5883,18 @@ h2 .nav-tab {
 
 /* Changelog / Update screen */
 
 
 /* Changelog / Update screen */
 
-.about-wrap .feature-section img,
-.about-wrap .feature-section .video {
-       border: none;
-       margin: 0 1.94% 10px 0;
-       -webkit-border-radius: 3px;
-       border-radius: 3px;
-}
-
-.about-wrap .feature-section .video video {
-       max-width: 100%;
-}
-
 .about-wrap .feature-section.three-col img {
        margin: 0.5em 0 0.5em 5px;
        max-width: 100%;
        float: none;
 }
 
 .about-wrap .feature-section.three-col img {
        margin: 0.5em 0 0.5em 5px;
        max-width: 100%;
        float: none;
 }
 
-.ie8 .about-wrap .feature-section.three-col img {
-       margin-left: 0;
-}
-
-.about-wrap .feature-section.images-stagger-right img,
-.about-wrap .feature-section.images-stagger-right .video {
-       float: right;
-       margin: 0 5px 12px 2em;
-}
-
-.about-wrap .feature-section.images-stagger-left img {
-       float: left;
-       margin: 0 2em 12px 5px;
-}
-
-.about-wrap .feature-section .image-100 {
-       margin: 0 0 2em 0;
-       width: 100%;
-}
-
-.about-wrap .feature-section .image-66 {
-       width: 65%;
-}
-
-.about-wrap .feature-section .image-66.video {
-       max-width: 600px;
-}
-
-.about-wrap .feature-section .image-50 {
-       max-width: 50%;
-}
-
-.about-wrap .feature-section img.image-30 {
-       max-width: 31.2381%;
-}
-
-.ie8 .about-wrap .feature-section img {
-       border-width: 1px;
-       border-style: solid;
-}
-
-.about-wrap .images-stagger-right img.image-30:nth-child(2) {
-       margin-left: 1em;
-}
-
 .about-wrap .feature-section.col {
        margin-bottom: 0;
 }
 
 .about-wrap .feature-section.col h4 {
 .about-wrap .feature-section.col {
        margin-bottom: 0;
 }
 
 .about-wrap .feature-section.col h4 {
-       margin:  0 0 0.6em 0;
-}
-
-.about-wrap .feature-section.col .last-feature {
-       margin-right: 0;
+       margin: 0 0 0.6em 0;
 }
 
 .about-wrap .feature-section.two-col div {
 }
 
 .about-wrap .feature-section.two-col div {
@@ -5912,65 +5909,78 @@ h2 .nav-tab {
        float: left;
 }
 
        float: left;
 }
 
-.about-wrap .three-col-images {
-       text-align: center;
+.about-wrap .three-col.about-updates .col-1,
+.about-wrap .three-col.about-updates .col-3 {
+       width: 37%;
+       margin: 0;
 }
 
 }
 
-.about-wrap .three-col-images img {
-       margin: 0 0 10px;
+.about-wrap .three-col.about-updates .col-2 {
+       width: 16%;
+       margin: 0 5%;
 }
 
 }
 
-.about-wrap .three-col-images .last-feature {
-       float: right;
+.about-wrap .feature-section.col .last-feature {
+       margin-right: 0;
 }
 
 }
 
-.about-wrap .three-col-images .first-feature {
-       float: left;
+.about-wrap .three-col.about-updates img {
+       margin: 0;
 }
 
 .about-wrap .changelog .feature-section {
        overflow: hidden;
 }
 
 }
 
 .about-wrap .changelog .feature-section {
        overflow: hidden;
 }
 
-.about-wrap .changelog li {
-       list-style-type: disc;
-       margin-left: 3em;
+.about-wrap .about-passwords {
+       margin: 20px 0;
+       padding: 1px 20px 10px;
+       background-color: #f9f9f9;
 }
 
 }
 
-@media only screen and (max-width: 900px) {
-       .about-wrap .feature-section.images-stagger-left img,
-       .about-wrap .feature-section.images-stagger-right img,
-       .about-wrap .feature-section.images-stagger-right .video {
-               clear: both;
-       }
+.about-wrap .about-auto-update {
+       text-align: center;
+       background-color: #f9f9ef;
+       clear: both;
+       padding: 10px;
+}
 
 
-       .about-wrap .feature-section .video.image-66 {
-               float: none;
-               width: 98%;
-               max-width: 98%;
-       }
+.about-wrap .about-auto-update.cool {
+       background-color: #eff9ef;
+}
 
 
-       .about-wrap .feature-section.images-stagger-right .video.image-66 {
-               margin-left: 3px;
-       }
+.about-wrap .about-password-meter input {
+       font-size: 250%;
+       line-height: 1;
+       width: 100%;
+       display: block;
+       padding: 5px;
 }
 
 }
 
-@media only screen and (max-width: 768px) {
-       .about-wrap .feature-section .image-66 {
-               float: none;
-               width: 98%;
-               max-width: 98%;
-       }
+.about-wrap .about-password-meter #pass-strength-result {
+       display: block !important;
+       font-size: 150%;
+       font-weight: normal !important;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing:    border-box;
+       box-sizing:         border-box;
+       width: 100%;
+       padding: 17px 0;
+       margin-bottom: 15px;
+}
 
 
-       .about-wrap .feature-section.images-stagger-right .image-66 {
-               margin-left: 3px;
-       }
+.about-wrap .feature-section div p img {
+       float: right;
+       margin-left: 10px;
+       max-width: 20%;
+}
 
 
-       .about-wrap .feature-section.images-stagger-left .image-66 {
-               margin-right: 3px;
-       }
+.about-wrap .changelog li {
+       list-style-type: disc;
+       margin-left: 3em;
 }
 
 }
 
+
 /* Return to Dashboard Home link */
 
 .about-wrap .return-to-dashboard {
 /* Return to Dashboard Home link */
 
 .about-wrap .return-to-dashboard {
@@ -6407,15 +6417,14 @@ p.pagenav {
        padding: 2px 0 0;
 }
 
        padding: 2px 0 0;
 }
 
-.mobile .row-actions {
-       visibility: visible;
-}
-
 tr:hover .row-actions,
 tr:hover .row-actions,
+.mobile .row-actions,
+.row-actions.visible,
 div.comment-item:hover .row-actions {
        visibility: visible;
 }
 
 div.comment-item:hover .row-actions {
        visibility: visible;
 }
 
+/* deprecated */
 .row-actions-visible {
        padding: 2px 0 0;
 }
 .row-actions-visible {
        padding: 2px 0 0;
 }
@@ -6448,7 +6457,7 @@ table.form-table td .updated {
        cursor: default;
 }
 .tagchecklist span a {
        cursor: default;
 }
 .tagchecklist span a {
-       margin: 6px 0pt 0pt -9px;
+       margin: 4px 0 0 -10px;
        cursor: pointer;
        width: 10px;
        height: 10px;
        cursor: pointer;
        width: 10px;
        height: 10px;
@@ -6589,6 +6598,14 @@ body.iframe {
        height: 98%;
 }
 
        height: 98%;
 }
 
+/* Upgrader styles, Specific to Language Packs */
+.lp-show-latest p {
+       display: none;
+}
+.lp-show-latest p:last-child,
+.lp-show-latest .lp-error p {
+       display: block;
+}
 
 /* - Only used once or twice in all of WP - deprecate for global style
 ------------------------------------------------------------------------------*/
 
 /* - Only used once or twice in all of WP - deprecate for global style
 ------------------------------------------------------------------------------*/
@@ -7865,8 +7882,9 @@ body.interim-login {
        font-weight: bold;
        padding: 7px 0;
        line-height: 20px;
        font-weight: bold;
        padding: 7px 0;
        line-height: 20px;
-       display:block;
-       margin-right:13em;
+       min-height: 20px;
+       display: block;
+       margin-right: 13em;
 }
 
 /* Sortables */
 }
 
 /* Sortables */
@@ -8573,11 +8591,6 @@ input.newtag:focus ~ div.taghint {
        visibility: hidden;
 }
 
        visibility: hidden;
 }
 
-/* TinyMCE */
-#mce_fullscreen_container {
-       background: #fff;
-}
-
 #photo-add-url-div input[type="text"] {
        width: 300px;
 }
 #photo-add-url-div input[type="text"] {
        width: 300px;
 }
@@ -9244,20 +9257,20 @@ a.widget-control-edit {
   (min-resolution: 120dpi) {
 
        .press-this .tagchecklist span a {
   (min-resolution: 120dpi) {
 
        .press-this .tagchecklist span a {
-               background-image: url('../images/xit-2x.gif');
-               background-size: 20px auto;
+               background-image: url('../images/xit-2x.gif');
+               background-size: 20px auto;
         }
 
        .js .postbox:hover .handlediv,
        .js .stuffbox:hover .handlediv,
        .widget-top a.widget-action {
         }
 
        .js .postbox:hover .handlediv,
        .js .stuffbox:hover .handlediv,
        .widget-top a.widget-action {
-               background-image: url('../images/arrows-2x.png');
-               background-size: 15px 123px;
+               background-image: url('../images/arrows-2x.png');
+               background-size: 15px 123px;
         }
 
        .widget-top a.widget-action:hover {
         }
 
        .widget-top a.widget-action:hover {
-               background-image: url('../images/arrows-dark-2x.png');
-               background-size: 15px 123px;
+               background-image: url('../images/arrows-dark-2x.png');
+               background-size: 15px 123px;
        }
 
        .post-com-count {
        }
 
        .post-com-count {
@@ -9316,8 +9329,8 @@ a.widget-control-edit {
        }
 
        .wp-full-overlay .collapse-sidebar-arrow {
        }
 
        .wp-full-overlay .collapse-sidebar-arrow {
-               background-image: url('../images/arrows-2x.png');
-               background-size: 15px 123px;
+               background-image: url('../images/arrows-2x.png');
+               background-size: 15px 123px;
         }
 
        .pressthis a span {
         }
 
        .pressthis a span {
index 9760c6c50b203732b99071ad862d75dfdc34f64a..40ffd2ecfb5db1e1af9a705318e88dfe741bf90c 100644 (file)
@@ -1 +1 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-left:165px}.folded #wpcontent,.folded #wpfooter{margin-left:52px}#wpbody-content{padding-bottom:65px;float:left;width:100%}#adminmenuback,#adminmenuwrap,#adminmenu,#adminmenu .wp-submenu{width:145px}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:left;margin:0;padding:0;list-style:none}.folded #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:32px}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.inner-sidebar #side-sortables,.columns-2 .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;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-21px;height:auto;width:auto;display:block;font-size:14px;font-weight:bold;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;border-radius:3px;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}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js,.js.wp-core-ui .hide-if-js,.js .wp-core-ui .hide-if-js,.no-js.wp-core-ui .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js{display:none}input[type="text"],input[type="password"],input[type="number"],input[type="search"],input[type="email"],input[type="url"],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}input[type="checkbox"],input[type="radio"]{vertical-align:text-top;padding:0;margin:1px 0 0}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration{display:none}html,body{height:100%;margin:0;padding:0}body{font-family:sans-serif;font-size:12px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.login{background:#fbfbfb;min-width:0}iframe,img{border:0}td,textarea,input,select,button{font-family:inherit;font-size:inherit;font-weight:inherit}td,textarea{line-height:inherit}input,select{line-height:15px}a,input[type="text"],input[type="password"],input[type="number"],input[type="search"],input[type="email"],input[type="url"],select,textarea,div{outline:0}a:focus,a:active{outline:thin dotted}#adminmenu a:focus,#adminmenu a:active,.screen-reader-text:focus{outline:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}p{margin:1em 0}blockquote{margin:1em}label{cursor:pointer}li,dd{margin-bottom:6px}textarea,input,select{margin:1px;padding:3px}h1,h2,h3,h4,h5,h6{display:block;font-weight:bold}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;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}ul,ol{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}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace}kbd,code{padding:1px 3px;margin:0 1px;font-size:11px}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;font-size:12px;float:left}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:normal}.subsubsub a.current{font-weight:bold;border:0}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat,div.updated,div.error,.wrap .add-new-h2,textarea,input[type="text"],input[type="password"],input[type="file"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select,.tablenav .tablenav-pages a,.tablenav-pages span.current,#titlediv #title,.postbox,#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea,.imgedit-menu div,.plugin-update-tr .update-message,#poststuff .inside .the-tagcloud,.login form,#login_error,.login .message,#menu-management .menu-edit,.nav-menus-php .list-container,.menu-item-handle,.link-to-original,.nav-menus-php .major-publishing-actions .form-invalid,.press-this #message,#TB_window,.tbtitle,.highlight,.feature-filter,#widget-list .widget-top,.editwidget .widget-inside{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat thead th:first-of-type{-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.widefat thead th:last-of-type{-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.widefat td,.widefat th{border-width:1px 0;border-style:solid}.widefat tfoot th{border-bottom:0}.widefat .no-items td{border-bottom-width:0}.widefat td{font-size:12px;padding:4px 7px 2px;vertical-align:top}.widefat td p,.widefat td ol,.widefat td ul{font-size:12px}.widefat th{padding:7px 7px 8px;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 tbody th.check-column{padding:9px 0 22px}.widefat.media .check-column{padding-top:8px}.widefat thead .check-column,.widefat tfoot .check-column{padding:10px 0 0}.no-js .widefat thead .check-column input,.no-js .widefat tfoot .check-column input{display:none}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:4px 15px 0 0}div.updated,div.error{padding:0 .6em;margin:5px 15px 2px}div.updated p,div.error p{margin:.5em 0;padding:2px}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:5px 0 15px}.wrap h2,.subtitle{font-weight:normal;margin:0;text-shadow:#fff 0 1px 0}.wrap h2{font-size:23px;padding:9px 15px 4px 0;line-height:29px}.subtitle{font-size:14px;padding-left:25px}.wrap .add-new-h2{font-family:sans-serif;margin-left:4px;padding:3px 8px;position:relative;top:-3px;text-decoration:none;font-size:12px;border:0 none}.wrap h2.long-header{padding-right:0}html,.wp-dialog{background-color:#fff}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],select{background-color:#fff;color:#333}select{color:#000}select[disabled]{color:#7f7f7f}select:focus{border-color:#aaa}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="file"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="url"]:focus,select:focus{-webkit-box-shadow:1px 1px 2px rgba(0,0,0,0.1);box-shadow:1px 1px 2px rgba(0,0,0,0.1)}input[readonly]{background-color:#eee}:-moz-placeholder,.wp-core-ui :-moz-placeholder{color:#a9a9a9}div.sidebar-name h3,#menu-management .nav-tab,#dashboard_plugins h5,a.rsswidget,#dashboard_right_now td.b,#dashboard-widgets h4,.tool-box .title,#poststuff h3,.metabox-holder h3,.pressthis a,#your-profile legend,.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title,.tablenav .displaying-num,.widefat th,.quicktags,.search{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif}h2 .nav-tab,.wrap h2,.subtitle,.login form .input{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif}.quicktags,.search{font-size:12px}.icon32{float:left;height:34px;margin:7px 8px 0 0;width:36px}.icon16{height:18px;width:18px;padding:6px 6px;margin:-6px 0 0 -8px;float:left}.key-labels label{line-height:24px}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{font-style:italic;display:block;font-family:sans-serif}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}.wp-admin select{padding:2px;height:2em}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}form p.submit a.cancel:hover{text-decoration:none}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{text-align:center}textarea.all-options,input.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text,#adduser .form-field input{width:25em}input.small-text{width:50px}input[type="number"].small-text{width:60px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #delete_all,.tablenav #clear-recent-list{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}label,#your-profile label+a{vertical-align:middle}#misc-publishing-actions label{vertical-align:baseline}#pass-strength-result{border-style:solid;border-width:1px;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.search-box input[name="s"],#search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:2em;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{border-bottom-right-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-width:1px;border-style:solid}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px}.ui-autocomplete li a.ui-state-focus{cursor:pointer}#major-publishing-actions{padding:10px 10px 8px;clear:both;border-top:1px solid #f5f5f5;margin-top:-2px}#delete-action{line-height:25px;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;border-width:1px 0;border-style:solid}.misc-pub-section:first-child{border-top-width:0}.misc-pub-section-last{border-bottom-width:0}#minor-publishing-actions{padding:10px 10px 2px 8px;text-align:right}#minor-publishing{border-bottom-width:1px;border-bottom-style:solid;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}#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-width:1px;border-bottom-style:solid}.side-info ul{margin:0;padding-left:18px;list-style:square}.approve,.unapproved .unapprove{display:none}.unapproved .approve,.spam .approve,.trash .approve{display:inline}td.action-links,th.action-links{text-align:right}#update-nag,.update-nag{line-height:19px;padding:5px 0;font-size:12px;text-align:center;margin:-1px 15px 0 5px;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.plugins .plugin-update{padding:0}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:bold}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-loading,.ajax-feedback,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#sidemenu a,#taglist a,#catlist a{text-decoration:none}#screen-options-wrap,#contextual-help-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 24px 0 0}#screen-meta-links a:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.4);box-shadow:1px 1px 1px rgba(0,0,0,0.4);outline:0}#screen-meta{display:none;position:relative;margin:0 15px 0 5px;border-width:0 1px 1px;border-style:none solid solid}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:23px;padding:0;margin:0 0 0 6px;font-family:sans-serif}#screen-options-link-wrap,#contextual-help-link-wrap,#screen-meta{-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}#screen-meta-links .screen-meta-toggle{position:relative;top:-1px}#screen-meta-links a.show-settings{text-decoration:none;z-index:1;padding:1px 16px 0 6px;height:22px;line-height:22px;font-size:12px;display:block;text-shadow:rgba(255,255,255,0.7) 0 1px 0}#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}#screen-options-wrap h5,#contextual-help-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;white-space:nowrap;line-height:30px}.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;margin-left:-4px}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border-width:0 1px;border-style:solid}#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:1px 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-width:1px 0 1px 1px;border-style:solid}.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}#adminmenuback,#adminmenuwrap{border-width:0 1px 0 0;border-style:solid}#adminmenuwrap{position:relative;float:left}#adminmenushadow{position:absolute;top:0;right:0;bottom:0;width:6px;z-index:20}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px}#adminmenu li.menu-top{min-height:28px;position:relative}#adminmenu .wp-submenu{list-style:none;padding:4px 0;margin:0;position:absolute;top:-1000em;left:146px;z-index:1000;overflow:visible;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.js #adminmenu .sub-open,.js #adminmenu .opensub .wp-submenu,#adminmenu a.menu-top:focus+.wp-submenu,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0 none;-webkit-box-shadow:none;box-shadow:none}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:-1px;left:32px}.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;position:absolute;top:-1000em}#adminmenu .wp-submenu a{font-size:12px;line-height:18px;margin:0;padding-left:12px}#adminmenu .wp-not-current-submenu li>a{padding-left:16px}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font-size:13px;font-weight:bold;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 a.menu-top{border-width:1px 0;border-style:solid none}#adminmenu .wp-menu-image img{padding:7px 0 0 7px;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:5px}#adminmenu div.wp-menu-image{float:left;width:28px;height:28px}.folded #adminmenu div.wp-menu-image{width:32px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:28px}.wp-menu-arrow{z-index:25;position:absolute;right:100%;margin:0;height:30px;width:6px;-moz-transform:translate(146px);-webkit-transform:translate(146px);-o-transform:translate(146px);-ms-transform:translate(146px);transform:translate(146px)}#adminmenu .wp-menu-arrow div{display:none;position:absolute;top:7px;left:-1px;width:14px;height:15px;-moz-transform:matrix(-0.6,1,0.6,1,0,0);-webkit-transform:matrix(-0.6,1,0.6,1,0,0);-o-transform:matrix(-0.6,1,0.6,1,0,0);-ms-transform:matrix(-0.6,1,0.6,1,0,0);transform:matrix(-0.6,1,0.6,1,0,0)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(145px);-webkit-transform:translate(145px);-o-transform:translate(145px);-ms-transform:translate(145px);transform:translate(145px);height:28px;border-width:1px 0;border-style:solid;top:0}.folded #adminmenu li .wp-menu-arrow{-moz-transform:translate(32px);-webkit-transform:translate(32px);-o-transform:translate(32px);-ms-transform:translate(32px);transform:translate(32px)}#adminmenu li.current .wp-menu-arrow,#adminmenu li.wp-has-current-submenu .wp-menu-arrow,#adminmenu li.wp-has-current-submenu .wp-menu-arrow div,#adminmenu li.wp-has-submenu .wp-menu-arrow div,#adminmenu li.current .wp-menu-arrow div,.no-js #adminmenu li.wp-has-submenu:hover .wp-menu-arrow,#adminmenu li.wp-has-submenu.opensub .wp-menu-arrow,#adminmenu a.wp-has-submenu:focus .wp-menu-arrow,#adminmenu a:hover .wp-menu-arrow{display:block}#adminmenu li.current .wp-menu-arrow,#adminmenu li.wp-menu-open .wp-menu-arrow{top:0}.no-js #adminmenu li.wp-has-submenu:hover .wp-menu-arrow,#adminmenu li.wp-has-submenu.opensub .wp-menu-arrow,#adminmenu a.wp-has-submenu:focus .wp-menu-arrow{z-index:1001}.ie8 #adminmenu li.menu-top:hover .wp-menu-arrow{display:none}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{width:15px;top:6px;border-width:0 0 1px 1px;border-style:solid}.wp-menu-arrow,.folded #adminmenu li .wp-menu-arrow div,.no-js #adminmenu li.wp-not-current-submenu:hover .wp-menu-arrow{display:none}.folded #adminmenu li.current .wp-menu-arrow,.folded #adminmenu li.current .wp-menu-arrow div,.folded #adminmenu li.wp-has-current-submenu .wp-menu-arrow div,.folded #adminmenu li.wp-menu-open .wp-menu-arrow,.folded #adminmenu li a:focus .wp-menu-arrow{display:block}#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:3px;padding:0;margin:0;border-width:1px 0;border-style:solid;cursor:inherit}#adminmenu div.separator{height:1px;padding:0;border-width:1px 0 0 0;border-style:solid}#adminmenu .wp-submenu .wp-submenu-head{padding:5px 4px 5px 10px;margin:-4px -1px 4px;border-width:1px 0;border-style:solid;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}#adminmenu li.wp-menu-open{border-width:0 0 1px;border-style:solid}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0 none}.folded #adminmenu li.wp-has-current-submenu{margin-bottom:1px}.folded #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{position:absolute;font-family:sans-serif;font-size:9px;line-height:17px;font-weight:bold;margin-top:1px;margin-left:7px;-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 span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:12px;line-height:34px;border-width:1px 0 0;border-style:solid}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:left;margin:8px 6px;border-width:1px;border-style:solid;-webkit-border-radius:10px;border-radius:10px}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:52px}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap,.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top{width:32px}.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu{top:-1px;left:32px}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;position:absolute;top:-1000em}.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{width:32px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:28px}.auto-fold #adminmenu li .wp-menu-arrow{-moz-transform:translate(32px);-webkit-transform:translate(32px);-o-transform:translate(32px);-ms-transform:translate(32px);transform:translate(32px)}.auto-fold #adminmenu li .wp-menu-arrow div{display:none}.auto-fold #adminmenu li.current .wp-menu-arrow,.auto-fold #adminmenu li.current .wp-menu-arrow div,.auto-fold #adminmenu li.wp-has-current-submenu .wp-menu-arrow div,.auto-fold #adminmenu li.wp-menu-open .wp-menu-arrow,.auto-fold #adminmenu li a:focus .wp-menu-arrow{display:block}.auto-fold #adminmenu li.wp-menu-open{border:0 none}.auto-fold #adminmenu li.wp-has-current-submenu{margin-bottom:1px}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold #collapse-menu span{display:none}}.post-com-count-wrapper{min-width:22px;font-family:sans-serif}.post-com-count{background-image:url('../images/bubble_bg.gif');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}.post-com-count span{font-size:11px;font-weight:bold;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px}strong .post-com-count{background-position:center -55px}.post-com-count:hover{background-position:center -3px}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}#the-comment-list .attachment-80x60{padding:4px 8px}th .comment-grey-bubble{background-image:url('../images/comment-grey-bubble.png');background-repeat:no-repeat;height:12px;width:12px}html.wp-toolbar{padding-top:28px;-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 th,.widefat td{overflow:hidden}.widefat th{font-weight:normal}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}#dashboard-widgets.columns-1 .postbox-container{width:100%}#dashboard-widgets.columns-2 .postbox-container{width:49.5%}#dashboard-widgets.columns-2 #postbox-container-2,#dashboard-widgets.columns-2 #postbox-container-3,#dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#dashboard-widgets.columns-3 .postbox-container{width:33.5%}#dashboard-widgets.columns-3 #postbox-container-1{width:33%}#dashboard-widgets.columns-3 #postbox-container-3,#dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets.columns-4 .postbox-container{width:25%}.postbox-container .meta-box-sortables{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.metabox-holder .postbox-container .empty-container{border:3px dashed #ccc;height:250px}.metabox-holder.columns-1 .postbox-container .empty-container,.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#poststuff{padding-top:10px}#poststuff #post-body{padding:0}#post-body-content{width:100%;float:left}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#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 #dashboard-widgets .postbox-container{width:100%}#wpbody-content .metabox-holder .postbox-container .empty-container{border:0 none;height:0;min-height:0}}@media only screen and (min-width:800px) and (max-width:1200px){#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 .screen-layout,.index-php .columns-prefs{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (max-width:850px){#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 .empty-container,#poststuff #postbox-container-1 #side-sortables:empty{border:0 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.screen-layout,.columns-prefs{display:none}}.postbox .hndle{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.js .postbox .hndle{cursor:move}.postbox.closed .hndle{-webkit-border-radius:3px;border-radius:3px}.hndle a{font-size:11px;font-weight:normal}.postbox .handlediv{float:right;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border-width:1px;border-style:dashed;margin-bottom:20px}.widget,.postbox,.stuffbox{margin-bottom:20px;padding:0;border-width:1px;border-style:solid;line-height:1}.widget .widget-top,.postbox h3,.stuffbox h3{margin-top:1px;border-bottom-width:1px;border-bottom-style:solid;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js .widget .widget-top,.js .postbox h3{cursor:move}.postbox .inside,.stuffbox .inside{padding:0 12px 0 10px;line-height:1.4em}.postbox .inside{margin:10px 0;position:relative}.postbox.closed h3{border:0;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#dashboard-widgets-wrap{margin:0 -8px}#wpbody-content .metabox-holder{padding-top:10px}#dashboard-widgets .meta-box-sortables{margin:0 8px}#dashboard_recent_comments div.undo{border-top-style:solid;border-top-width:1px;margin:0 -10px;padding:3px 8px;font-size:11px}#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}.welcome-panel{position:relative;overflow:auto;margin:20px 0;padding:23px 10px 12px;border-width:1px;border-style:solid;border-radius:3px;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:21px;font-weight:normal;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:13px}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;right:10px;padding:8px 3px;font-size:13px;text-decoration:none;line-height:1}.welcome-panel .welcome-panel-close:before{content:' ';position:absolute;left:-12px;width:10px;height:100%;background:url('../images/xit.gif') 0 17% no-repeat}.welcome-panel .welcome-panel-close:hover:before{background-position:100% 17%}.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{margin-top:7px}.welcome-panel .welcome-icon{display:block;padding:2px 0 8px 32px;background-image:url('../images/welcome-icons.png');background-repeat:no-repeat;background-size:16px}.welcome-panel .welcome-add-page{background-position:0 2px}.welcome-panel .welcome-edit-page{background-position:0 -90px}.welcome-panel .welcome-learn-more{background-position:0 -136px}.welcome-panel .welcome-comments{background-position:0 -182px}.welcome-panel .welcome-view-site{background-position:0 -274px}.welcome-panel .welcome-widgets-menus{background-position:1px -229px;line-height:14px}.welcome-panel .welcome-write-blog{background-position:0 -44px}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}@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}.welcome-panel .welcome-icon{padding-left:25px}}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-posts,.fixed .column-date,.fixed .column-parent,.fixed .column-links,.fixed .column-author,.fixed .column-format{width:10%}.fixed .column-response,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{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}#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 #add-new-comment{border-width:0 0 1px;border-style:none none solid}#commentsdiv .comments-box{border:0 none}#commentsdiv .comments-box thead th{background:transparent;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:7px;height:4px;margin-top:8px;margin-left:7px;background-image:url('../images/sort.gif');background-repeat:no-repeat}tr.wp-locked .locked-indicator{background:url('../images/lock.png') no-repeat;margin:-2px 0 0 6px;height:20px;width:16px}tr.wp-locked .check-column label,tr.wp-locked .check-column input[type="checkbox"],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{height:auto;opacity:1}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity 500ms;-moz-transition:height 1s,opacity 500ms;-ms-transition:height 1s,opacity 500ms;-o-transition:height 1s,opacity 500ms;transition:height 1s,opacity 500ms}.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}.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.sorted.asc .sorting-indicator,th.desc:hover span.sorting-indicator{display:block;background-position:0 0}th.sorted.desc .sorting-indicator,th.asc:hover span.sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{border-bottom-style:solid;border-bottom-width:2px;font-weight:bold;margin-right:1px;padding:0 2px}.tablenav-pages .current-page{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;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.disabled:hover,.tablenav .tablenav-pages a.disabled:active{cursor:default}.tablenav .displaying-num{margin-right:10px;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 8px 0 0}.tablenav .delete{margin-right:20px}.view-switch{float:right;margin:6px 8px 0}.view-switch a{text-decoration:none}.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}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}tr.inline-edit-row td,#wpbody-content .inline-edit-row fieldset .inline-edit-col{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 .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .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.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px}.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.title,.inline-edit-row fieldset span.checkbox-title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.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-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{font-family:sans-serif;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%}.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:10px;margin:3px 3px 0 -2px;overflow:hidden;position:relative;text-indent:-9999px;width:10px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a,#show-comments .spinner{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}.rtl #lost-connection-notice .spinner{float:right;margin:0 0 0 5px}#titlediv{position:relative;margin-bottom:5px}#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:1px 0}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{color:#bbb;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:right;margin-top:4px}#wp-fullscreen-title-prompt-text{padding:11px}#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-right:6px}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name input{width:16em}.postarea h3 label{float:left}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}.submitbox .submitdelete,.submitbox .submit a:hover{border-bottom-width:1px;border-bottom-style:solid}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{line-height:2.5em;margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px}#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}.press-this #side-sortables .category-tabs li,ul.category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}.category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none}.category-tabs{margin:8px 0 3px}#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 input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px}ul.category-tabs li{border-style:solid;border-width:1px;position:relative}ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0}#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}form#tags-filter{position:relative}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em}td.post-title p,td.plugin-title p{margin:6px 0}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none}.commentlist .avatar{vertical-align:text-top}#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{border-width:0 1px 1px;border-style:none solid solid;width:100%;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}#post-status-info td{font-size:12px}.autosave-info{padding:2px 15px;text-align:right}#editorcontent #post-status-info{border:0}#post-body .wp_themeSkin .mceStatusbar a.mceResize{display:block;background:transparent url('../images/resize.gif') no-repeat scroll right bottom;width:12px;cursor:se-resize;margin:0 1px;position:relative;top:-2px}#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize{top:20px}#content-resize-handle{background:transparent url('../images/resize.gif') no-repeat scroll right bottom;width:12px;cursor:se-resize;position:absolute;right:2px;height:19px}.press-this #content-resize-handle{bottom:2px}.tmce-active #content-resize-handle{display:none}#wp-word-count{display:block;padding:2px 10px}#timestampdiv select{height:20px;line-height:14px;padding:0;vertical-align:top}#aa,#jj,#hh,#mn{padding:1px;font-size:12px}#jj,#hh,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{background-repeat:no-repeat;background-position:left center;padding:2px 0 1px 20px}#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;line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.5;filter:alpha(opacity=50);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.saving .locked-saving,#post-lock-dialog.saved .locked-saved{display:inline}#postcustomstuff thead th{padding:5px 8px 8px}#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-width:1px;border-style:solid;border-spacing:0}#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 th.left,#postcustomstuff td.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}.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;padding-bottom:10px}.revisions-tickmarks{position:relative;margin:0 auto;height:.8em;top:7px;max-width:70%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div{position:absolute;height:100%;border-style:solid;border-width:0 1px 0 0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.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;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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:15px}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-previous,.comparing-two-revisions .revisions-next,.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:bold}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions-previous,.revisions-next{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}.post-revisions li img,#revisions-meta-restored img{vertical-align:middle}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap;word-wrap:break-word}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{padding:.5em;font-family:Consolas,Monaco,monospace}table.diff .diff-deletedline del,table.diff .diff-addedline ins{text-decoration:none}.diff-meta{-webkit-border-radius:3px;border-radius:3px;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 .avatar,.revisions-controls .author-card .author-info{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;display:none;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);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);tranform: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-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border-width:1px;border-style:solid;border-radius:3px;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{position:absolute;z-index:2;margin-top:-3px;width:19px;height:19px;border-width:1px;border-style:solid;border-radius:50%}.wp-slider .ui-slider-handle:before{content:"";position:absolute;top:6px;left:3px;height:8px;width:13px;background:url(../images/arrows-pr.png) no-repeat -2px -47px}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{height:8px;width:7px}.wp-slider .ui-slider-handle.from-handle:before{background-position:-5px -84px;left:7px}.wp-slider .ui-slider-handle.to-handle:before{background-position:-4px -65px;left:5px}.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:.8em}.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}#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}a.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:16px;width:16px;margin-right:5px;background-repeat:no-repeat;text-indent:-999em}#post-formats-select{line-height:2em}label.post-format-icon{margin-left:5px;padding:2px 0 2px 21px}.post-format-icon.post-format-standard{background-position:0 0}.post-format-icon.post-format-image{background-position:0 -32px}.post-format-icon.post-format-gallery{background-position:0 -64px}.post-format-icon.post-format-audio{background-position:0 -96px}.post-format-icon.post-format-video{background-position:0 -128px}.post-format-icon.post-format-chat{background-position:0 -160px}.post-format-icon.post-format-status{background-position:0 -192px}.post-format-icon.post-format-aside{background-position:0 -224px}.post-format-icon.post-format-quote{background-position:0 -256px}.post-format-icon.post-format-link{background-position:0 -288px}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0}#post-body ul.add-menu-item-tabs li{padding:8px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border-style:solid;border-width:1px}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:19px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap p,.form-wrap label{font-size:11px}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%}p.description,.form-wrap p{margin:2px 0 5px}p.help,p.description,span.description,.form-wrap p{font-size:12px;font-style:italic;font-family:sans-serif}.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}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px}#poststuff .tagsdiv .howto{margin:0 0 6px 8px}.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}p.popular-tags{-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;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-width:1px;border-style:solid}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left}.ac_over{cursor:pointer}.ac_match{text-decoration:underline}table.links-table{width:100%}.links-table th{font-weight:normal;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table th,.links-table td{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-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;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:bold}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:bold}.media-upload-form th.label label{font-weight:bold;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}abbr.required{border:medium none;text-decoration:none}.media-item .describe input[type="text"],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.media-item .edit-attachment,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:15px}.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-style:solid;border-width:1px;min-height:36px;position:relative;margin-top:-1px;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;padding:0 10px}.media-item .error-div{padding-left:10px}.media-item .pinkynail{float:left;margin:2px 2px 0;max-width:40px;max-height:32px}.media-item .startopen,.media-item .startclosed{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:6px 10px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;border:1px solid #d1d1d1;background:#f7f7f7;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#f7f7f7));background-image:-webkit-linear-gradient(bottom,#fff,#f7f7f7);background-image:-moz-linear-gradient(bottom,#fff,#f7f7f7);background-image:-o-linear-gradient(bottom,#fff,#f7f7f7);background-image:linear-gradient(to top,#fff,#f7f7f7);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,0.1);box-shadow:inset 0 0 3px rgba(0,0,0,0.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-24px;background-color:#8cc1e9;background-image:-webkit-gradient(linear,left bottom,left top,from(#72a7cf),to(#8cc1e9));background-image:-webkit-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-moz-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-o-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:linear-gradient(to top,#72a7cf,#8cc1e9);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.3);box-shadow:0 0 3px rgba(0,0,0,0.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0 8px;text-shadow:0 1px 0 rgba(255,255,255,0.4);color:rgba(0,0,0,0.6)}.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-upload-form .media-item.error p,.media-item .error-div{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{width:600px;height:300px;overflow:hidden;padding:33px 0 51px;position:absolute;z-index:1000}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%}.find-box-inside{overflow:auto;padding:6px;height:100%}.find-box-search{overflow:hidden;padding:9px;position:relative}.find-box-search .spinner{float:none;left:125px;position:absolute;top:9px}#find-posts-input{float:left;width:140px;height:24px}#find-posts-search{float:left;margin:1px 4px 0 3px}#find-posts-response{margin:8px 0;padding:0 1px 6px}#find-posts-response table{width:100%}#find-posts-response .found-radio{padding:3px 0 0 8px;width:15px}.find-box-buttons{padding:8px;overflow:hidden}.find-box #resize-se{position:absolute;right:1px;bottom:1px}.ui-find-overlay{position:absolute;top:0;left:0;background-color:#000;opacity:.6;filter:alpha(opacity=60)}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #ddd;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}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0}.post-php .imgedit-wrap table{width:100%}.describe .imgedit-wrap table td,.wp_attachment_holder .imgedit-wrap table td{vertical-align:top;padding-top:0}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px}.wp_attachment_holder .imgedit-wrap table td.imgedit-settings{width:250px}td.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;background-size:16px 16px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.spinner{background:url(../images/wpspin_light.gif) no-repeat;background-size:16px 16px;display:none;float:right;opacity:.7;filter:alpha(opacity=70);width:16px;height:16px;margin:5px 5px 0}.no-float{float:none}.media-disabled,.imgedit-settings .disabled{color:grey}.wp_attachment_image,.A1B1{overflow:hidden}.wp_attachment_image .button,.A1B1 .button{float:left}.no-js .wp_attachment_image .button{display:none}.wp_attachment_image .spinner,.A1B1 .spinner{float:left;padding:0 4px 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;height:32px}.imgedit-crop-wrap{position:relative}.imgedit-crop{background:transparent url('../images/imgedit-icons.png') no-repeat scroll -9px -31px;margin:0 8px 0 0}.imgedit-crop.disabled:hover{background-position:-9px -31px}.imgedit-crop:hover{background-position:-9px -1px}.imgedit-rleft{background:transparent url('../images/imgedit-icons.png') no-repeat scroll -46px -31px;margin:0 3px}.imgedit-rleft.disabled:hover{background-position:-46px -31px}.imgedit-rleft:hover{background-position:-46px -1px}.imgedit-rright{background:transparent url('../images/imgedit-icons.png') no-repeat scroll -77px -31px;margin:0 8px 0 3px}.imgedit-rright.disabled:hover{background-position:-77px -31px}.imgedit-rright:hover{background-position:-77px -1px}.imgedit-flipv{background:transparent url('../images/imgedit-icons.png') no-repeat scroll -115px -31px;margin:0 3px}.imgedit-flipv.disabled:hover{background-position:-115px -31px}.imgedit-flipv:hover{background-position:-115px -1px}.imgedit-fliph{background:transparent url('../images/imgedit-icons.png') no-repeat scroll -147px -31px;margin:0 8px 0 3px}.imgedit-fliph.disabled:hover{background-position:-147px -31px}.imgedit-fliph:hover{background-position:-147px -1px}.imgedit-undo{background:transparent url('../images/imgedit-icons.png') no-repeat scroll -184px -31px;margin:0 3px}.imgedit-undo.disabled:hover{background-position:-184px -31px}.imgedit-undo:hover{background-position:-184px -1px}.imgedit-redo{background:transparent url('../images/imgedit-icons.png') no-repeat scroll -215px -31px;margin:0 8px 0 3px}.imgedit-redo.disabled:hover{background-position:-215px -31px}.imgedit-redo:hover{background-position:-215px -1px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group-top{margin:5px 0}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic;margin-bottom:8px}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{border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;margin-bottom:8px;padding:2px 10px}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;margin-bottom:-8px;clear:both}.form-table td{margin-bottom:9px;padding:8px 10px;line-height:20px;font-size:12px}.form-table th,.form-wrap label{font-weight:normal;text-shadow:#fff 0 1px 0}.form-table th{vertical-align:top;text-align:left;padding:10px;width:200px}.form-table th.th-full{width:auto}.form-table div.color-option{display:block;clear:both;margin-top:12px}.form-table input.tog{margin-top:2px;margin-right:2px;float:left}.form-table td p{margin-top:4px}.form-table table.color-palette{vertical-align:bottom;float:left;margin:-12px 3px 11px}.form-table .color-palette td{border-width:1px 1px 0;border-style:solid solid none;height:10px;line-height:20px;width:10px}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#replyrow input{border-width:1px;border-style:solid}#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}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-style:solid;border-width:1px}.comment-ays th{border-right-style:solid;border-right-width:1px}.trash-undo-inside,.spam-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}.commentlist .avatar{vertical-align:text-top}.theme-install-php .tablenav{height:auto}.theme-install-php .spinner{margin-top:9px}h3.available-themes{margin:.3em 0 1em;float:left}.available-theme{display:inline-block;margin-right:10px;overflow:hidden;padding:20px 20px 20px 0;vertical-align:top;width:300px}.available-theme .screenshot{width:300px;height:225px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden}.available-theme img{width:300px}.available-theme h3{margin:15px 0 0}.available-theme .theme-author{line-height:18px}.available-theme .action-links{margin-top:10px;overflow:hidden}.available-theme a.screenshot:focus{border-color:#777}#current-theme .theme-info li,.theme-options li,.available-theme .action-links li{float:left;padding-right:10px;margin-right:10px;border-right:1px solid #dfdfdf}.available-theme .action-links li{padding-right:8px;margin-right:8px}.ie8 .available-theme .action-links li{padding-right:7px;margin-right:7px}#current-theme .theme-info li:last-child,.theme-options li:last-child,.available-theme .action-links li:last-child{padding-right:0;margin-right:0;border-right:0}.available-theme .action-links .delete-theme{float:right;margin-left:8px;margin-right:0}.available-theme .action-links .delete-theme a{color:red;padding:2px}.available-theme .action-links .delete-theme a:hover{background:red;color:#fff;text-decoration:none}.available-theme .action-links p{float:left}#current-theme{margin:20px 0 10px;padding:0 0 20px;border-bottom-width:1px;border-bottom-style:solid;overflow:hidden}#current-theme.has-screenshot{padding-left:330px}#current-theme h3{margin:0;font-size:12px;font-weight:normal;color:#999}#current-theme h4{margin:3px 0 16px;font-size:20px}#current-theme h4 span{margin-left:20px;font-size:12px;font-weight:normal}#current-theme a{border-bottom:0}#current-theme .theme-info{margin:1em 0;overflow:hidden}#current-theme .theme-description{margin-top:5px;max-width:600px;line-height:1.6em}#current-theme img{float:left;width:300px;margin-left:-330px;border-width:1px;border-style:solid}.theme-options{overflow:hidden;font-size:14px;padding-bottom:10px}.theme-options .load-customize{margin-right:30px;float:left}.theme-options span{float:left;margin-right:10px;text-transform:uppercase;font-size:11px;line-height:18px;color:#999}.theme-options ul{float:left;margin:0}@media only screen and (max-width:1200px){.available-theme,.available-theme .screenshot,#current-theme img{width:240px}.available-theme .screenshot{height:180px}.available-theme img{width:100%}#current-theme.has-screenshot{padding-left:270px}#current-theme img{margin-left:-270px}}#post-body ul.add-menu-item-tabs li.tabs a,#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:bold;text-decoration:none}#TB_window #TB_title{background-color:#222;color:#cfcfcf}#broken-themes{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-install-php h4{margin:2.5em 0 8px}.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}.nav-tab{border-style:solid;border-width:1px 1px 0;color:#aaa;text-shadow:#fff 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.nav-tab-active{border-width:1px;color:#464646}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:0}h2 .nav-tab{padding:4px 10px 6px;font-weight:200;font-size:20px;line-height:24px}#dashboard_right_now .versions .b,#post-status-display,#post-visibility-display,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,.media-item .percent,.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,#ed_reply_toolbar #ed_reply_strong,.item-controls .item-order a,.feature-filter .feature-name{font-weight:bold}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions-visible{padding:0}.plugins tbody th.check-column{padding:7px 0}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{border-top-style:solid;border-top-width:1px;padding:5px 7px 0}.plugins .update th,.plugins .update td{border-bottom:0}.plugin-update-tr td{border-top:0}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .second,.plugins .row-actions-visible{padding:0 0 5px}.plugins .update .second,.plugins .update .row-actions-visible{padding-bottom:0}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{margin:5px;padding:3px 5px}.plugin-install-php h4{margin:2.5em 0 8px}#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}#your-profile #rich_editing{border:0}#display_name{width:15em}#createuser .form-field input{width:25em}.pressthis{margin:20px 0}.pressthis a,.pressthis a:hover,.pressthis a:focus,.pressthis a:active{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(7%,#e6e6e6),color-stop(77%,#d8d8d8));background-image:-webkit-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:-moz-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:-o-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:linear-gradient(to top,#e6e6e6 7%,#d8d8d8 77%);-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none;text-shadow:0 1px 0 #fff}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-moz-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.7);box-shadow:0 10px 8px rgba(0,0,0,0.7)}.pressthis a span{background:url(../images/press-this.png?v=20120502) no-repeat 0 5px;background-size:24px 20px;padding:8px 11px 8px 27px;margin:0 5px;display:inline-block}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:transparent;-webkit-transform:skew(20deg) rotate(6deg);-moz-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.6);box-shadow:0 10px 8px rgba(0,0,0,0.6)}#utc-time,#local-time{padding-left:25px;font-style:italic;font-family:sans-serif}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 0;margin-right:20px;border-top-width:1px;border-top-style:solid}#wpfooter p{margin:0;line-height:20px}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.updated,.about-wrap div.error{display:none!important}.about-wrap p{line-height:1.6em}.about-wrap h1{margin:.2em 200px 0 0;line-height:1.2em;font-size:2.8em;font-weight:200}.about-text,.about-description,.about-wrap li.wp-person a.web{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:normal;line-height:1.6em;font-size:20px}.about-description{margin-top:1.4em}.about-text{margin:1em 200px 1.4em 0;min-height:60px;font-size:24px}.about-wrap h3{font-size:24px;margin-bottom:1em;padding-top:20px}.about-wrap .feature-section{padding-bottom:20px}.about-wrap .feature-section h4{margin-bottom:.6em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code{font-size:14px}.about-wrap .point-releases{margin-top:5px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{padding-top:142px;height:50px;width:173px;font-weight:bold;font-size:14px;text-align:center;margin:0 -5px;background:url('../images/wp-badge.png?ver=20111120') no-repeat}.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 10px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top}.about-wrap h2 .nav-tab-active{font-weight:bold;padding-top:3px}.about-wrap .feature-section img,.about-wrap .feature-section .video{border:0;margin:0 1.94% 10px 0;-webkit-border-radius:3px;border-radius:3px}.about-wrap .feature-section .video video{max-width:100%}.about-wrap .feature-section.three-col img{margin:.5em 0 .5em 5px;max-width:100%;float:none}.ie8 .about-wrap .feature-section.three-col img{margin-left:0}.about-wrap .feature-section.images-stagger-right img,.about-wrap .feature-section.images-stagger-right .video{float:right;margin:0 5px 12px 2em}.about-wrap .feature-section.images-stagger-left img{float:left;margin:0 2em 12px 5px}.about-wrap .feature-section .image-100{margin:0 0 2em 0;width:100%}.about-wrap .feature-section .image-66{width:65%}.about-wrap .feature-section .image-66.video{max-width:600px}.about-wrap .feature-section .image-50{max-width:50%}.about-wrap .feature-section img.image-30{max-width:31.2381%}.ie8 .about-wrap .feature-section img{border-width:1px;border-style:solid}.about-wrap .images-stagger-right img.image-30:nth-child(2){margin-left:1em}.about-wrap .feature-section.col{margin-bottom:0}.about-wrap .feature-section.col h4{margin:0 0 .6em 0}.about-wrap .feature-section.col .last-feature{margin-right:0}.about-wrap .feature-section.two-col div{width:47%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.three-col div{width:30%;margin-right:4.999999999%;float:left}.about-wrap .three-col-images{text-align:center}.about-wrap .three-col-images img{margin:0 0 10px}.about-wrap .three-col-images .last-feature{float:right}.about-wrap .three-col-images .first-feature{float:left}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .changelog li{list-style-type:disc;margin-left:3em}@media only screen and (max-width:900px){.about-wrap .feature-section.images-stagger-left img,.about-wrap .feature-section.images-stagger-right img,.about-wrap .feature-section.images-stagger-right .video{clear:both}.about-wrap .feature-section .video.image-66{float:none;width:98%;max-width:98%}.about-wrap .feature-section.images-stagger-right .video.image-66{margin-left:3px}}@media only screen and (max-width:768px){.about-wrap .feature-section .image-66{float:none;width:98%;max-width:98%}.about-wrap .feature-section.images-stagger-right .image-66{margin-left:3px}.about-wrap .feature-section.images-stagger-left .image-66{margin-right:3px}}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:bold}.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:bold}.freedoms-php .about-wrap ol p{font-weight:normal;margin:.6em 0}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:#fff;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:#f5f5f5;border-right:1px solid rgba(0,0,0,0.2)}.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;box-shadow:-5px 0 4px -4px rgba(0,0,0,0.1) inset;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 20px;line-height:45px;z-index:10;margin:0}.wp-full-overlay-sidebar .wp-full-overlay-header{border-top:0;border-bottom:1px solid #fff;box-shadow:inset 0 -1px 0 0 #dfdfdf}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:0;border-top:1px solid #dfdfdf;box-shadow:inset 0 1px 0 0 #fff}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.wp-full-overlay-sidebar-content .accordion-section:first-child{border-top:1px solid #fff}.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;border-radius:50%;text-decoration:none}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;left:100%}.wp-full-overlay .collapse-sidebar-arrow{position:absolute;margin-top:2px;margin-left:2px;display:block;width:15px;height:15px;background:transparent url('../images/arrows.png') no-repeat -1px -73px}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;left:100%;color:#808080;line-height:20px;margin-left:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-label{color:#666}.wp-full-overlay,.wp-full-overlay-sidebar,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main{-webkit-transition-property:left,right,top,bottom,width,margin;-moz-transition-property:left,right,top,bottom,width,margin;-ms-transition-property:left,right,top,bottom,width,margin;-o-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-ms-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-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/wpspin_light.gif") no-repeat fixed center center;background-size:16px 16px}#customize-container iframe,#theme-installer iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#theme-installer{display:none}#theme-installer.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 20px}.single-theme .install-theme-info{padding-top:15px}#theme-installer .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}.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-holder{margin:14px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}#template div{margin-right:190px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:bold;margin:0 6px}.row-title{font-size:13px!important;font-weight:bold}.column-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{visibility:hidden;padding:2px 0 0}.mobile .row-actions{visibility:visible}tr:hover .row-actions,div.comment-item:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3,.metabox-holder h3{font-size:15px;font-weight:normal;padding:7px 10px;margin:0;line-height:1}#poststuff .inside{margin:6px 0 8px}#poststuff .inside #parent_id,#poststuff .inside #page_template{max-width:100%}.inline-edit-row #post_parent,.inline-edit-row select[name="page_template"]{max-width:80%}.ie8 #poststuff .inside #parent_id,.ie8 #poststuff .inside #page_template,.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name="page_template"]{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}#templateside ul li a{text-decoration:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:normal;line-height:24px}#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-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid}#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:normal;padding-left:6px;padding-right:6px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid}#sidemenu li a .count-0{display:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .vers,table .column-visible,table .column-rating{text-align:left}.error-message{color:red;font-weight:bold}body.iframe{height:98%}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}#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}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input{width:100%}#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:30px}#dashboard-widgets h4{font-weight:normal;font-size:13px;margin:0 0 .2em;padding:0}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px}#dashboard_right_now .inside{font-size:12px;padding-top:20px}#dashboard_right_now p.sub{padding:5px 0 15px;color:#8f8f8f;font-size:14px;position:absolute;top:-17px;left:15px}#dashboard_right_now .table{margin:0;padding:0;position:relative}#dashboard_right_now .table_content{float:left;border-top-width:1px;border-top-style:solid;width:45%}#dashboard_right_now .table_discussion{float:right;border-top-width:1px;border-top-style:solid;width:45%}#dashboard_right_now table td{padding:3px 0;white-space:nowrap}#dashboard_right_now table tr.first td{border-top:0}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-size:14px;width:1%}#dashboard_right_now td.b a{font-size:18px}#dashboard_right_now td.b a:hover{color:#d54e21}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777}#dashboard_right_now .t a{white-space:nowrap}#dashboard_right_now .spam{color:red}#dashboard_right_now .waiting{color:#e66f00}#dashboard_right_now .approved{color:green}#dashboard_right_now .versions{padding:6px 10px 12px;clear:both}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px}#dashboard_recent_comments h3{margin-bottom:0}#dashboard_recent_comments .inside{margin-top:0}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:sans-serif;font-size:10px}#dashboard_recent_comments .subsubsub{float:none;white-space:normal}#the-comment-list{position:relative}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid}#the-comment-list .pingback{padding-left:9px!important}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px}#the-comment-list .comment-item:first-child{border-top:0}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0}#the-comment-list .comment-item h4{line-height:1.7em;margin-top:-0.4em;color:#777}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:normal}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:12px}.no-js #dashboard_quick_press{display:none}#dashboard_quick_press .easy-blogging{padding:0 8px;text-align:left}#dashboard_quick_press .input-text-wrap{position:relative}#dashboard_quick_press .prompt{color:#bbb;position:absolute}#dashboard_quick_press div.updated{padding:0 5px}#title-wrap label,#tags-input-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;outline:0}#tags-input-wrap #tags-input{outline:0}#title-wrap #title-prompt-text{font-size:1.3em;padding:5px 8px}#tags-input-wrap #tags-input-prompt-text{font-size:1em;padding:4px 8px}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em 0}#dashboard_quick_press .wp-media-buttons{margin:0 0 .2em 1px;padding:0}#dashboard_quick_press .wp-media-buttons a{color:#777}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 .7em 0 1px}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right}#dashboard-widgets #dashboard_quick_press form p.submit .spinner{vertical-align:middle;margin:4px 6px 0 0}#dashboard_recent_drafts ul,#dashboard_recent_drafts p{margin:0;padding:0;word-wrap:break-word}#dashboard_recent_drafts ul{list-style:none}#dashboard_recent_drafts ul li{margin-bottom:1em}#dashboard_recent_drafts h4{line-height:1.7em;word-wrap:break-word}#dashboard_recent_drafts h4 abbr{font-weight:normal;font-family:sans-serif;font-size:12px;color:#999;margin-left:3px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:13px;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:12px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}#dashboard_plugins h4{line-height:1.7em}#dashboard_plugins h5{font-weight:normal;font-size:13px;margin:0;display:inline;line-height:1.4em}#dashboard_plugins h5 a{line-height:1.4em}#dashboard_plugins .inside span{font-size:12px;padding-left:5px}#dashboard_plugins p{margin:.3em 0 1.4em;line-height:1.4em}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:bold}#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;text-shadow:none;background:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag.browser-insecure a.browse-happy-link,#dashboard_browser_nag.browser-insecure a.update-browser-link{text-shadow:#871b15 0 1px 0}#dashboard_browser_nag a.browse-happy-link,#dashboard_browser_nag a.update-browser-link{text-shadow:#d29a04 0 1px 0}.login *{margin:0;padding:0}.login form{margin-left:8px;padding:26px 24px 46px;font-weight:normal;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px}.login form .forgetmenot{font-weight:normal;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1 a{background-image:url('../images/wordpress-logo.png?ver=20120216');background-size:274px 63px;background-position:top center;background-repeat:no-repeat;width:326px;height:67px;text-indent:-9999px;outline:0;overflow:hidden;padding-bottom:15px;display:block}#login{width:320px;padding:114px 0 0;margin:auto}#login_error,.login .message{margin:0 0 16px 8px;padding:12px}.login #nav,.login #backtoblog{text-shadow:#fff 0 1px 0;margin:0 0 0 16px;padding:16px 16px 0}#backtoblog{padding:12px 16px 0}.login form .input,.login input[type="text"]{color:#555;font-weight:200;font-size:24px;line-height:1;width:100%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;outline:0;-webkit-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2)}.login #pass-strength-result{width:250px;font-weight:bold;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login form,.mobile #login .message,.mobile #login_error{margin-left:0}.mobile #login #nav,.mobile #login #backtoblog{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}#dashboard_right_now p.musub{margin-top:12px;border-top:1px solid #ececec;padding-left:16px;position:static}.rtl #dashboard_right_now p.musub{padding-left:0;padding-right:16px}#dashboard_right_now td.b a.musublink{font-size:16px}#dashboard_right_now div.musubtable{border-top:0}#dashboard_right_now div.musubtable .t{white-space:normal}.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}.no-js #message{display:block}#nav-menu-meta ul.outer-border{-webkit-border-radius:3px;border-radius:3px}.accordion-section ul.category-tabs,.accordion-section ul.add-menu-item-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 .postbox,.metabox-holder-disabled .accordion-section-content{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{font-style:italic;font-weight:normal;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;-webkit-border-radius:3px;border-radius:3px}.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:0 0 10px}.menu-settings{margin-top:2em;overflow:hidden}.menu-settings dl{margin:0 0 10px;overflow:hidden;position:relative}.menu-settings dd{float:left;margin:0;width:60%}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{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%}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-width:1px 0;border-style:solid}#nav-menu-header,#nav-menu-footer{padding:0 10px}#nav-menu-header{border-bottom:1px solid;margin-bottom:13px}#nav-menu-header .menu-name-label{margin-top:2px}#nav-menu-footer{border-top:1px solid}.nav-menus-php #post-body div.updated,.nav-menus-php #post-body div.error{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:bold}#select-nav-menu-container{text-align:right;padding:0 10px 3px 10px;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-edit-menu-link,.locations-add-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{font-style:italic}#menu-management .inside{padding:0 10px}.postbox .howto input,.accordion-container .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}#nav-menu-meta .accordion-container .top{border-top:1px solid #dfdfdf}#nav-menu-meta .accordion-container .accordion-section:first-child,#nav-menu-meta .accordion-container .accordion-section:first-child h3,#nav-menu-meta .accordion-container .top,#nav-menu-meta .accordion-container .top h3{-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px}#nav-menu-meta .accordion-container .accordion-section:last-child,#nav-menu-meta .accordion-container .accordion-section:last-child .accordion-section-content,#nav-menu-meta .accordion-container .bottom,#nav-menu-meta .accordion-container .bottom:not(.open) h3{-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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 .submitdelete,.nav-menus-php .submitcancel{display:block;float:left;margin:4px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px}.button.right,.button-secondary.right,.button-primary.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}.show-all,.hide-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:4px;display:block;float:left}.quick-search{width:190px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px}.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-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-handle{border:1px solid #dfdfdf;position:relative;padding-left:10px;height:auto;width:400px;line-height:35px;text-shadow:0 1px 0 #fff;overflow:hidden;word-wrap:break-word}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;background-image:-webkit-gradient(linear,left bottom,left top,from(#f6c9cc),to(#fdf8ff));background-image:-webkit-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-moz-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-o-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:linear-gradient(to top,#f6c9cc,#fdf8ff)}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.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;text-shadow:0}.menu-item-handle .item-title{font-size:12px;font-weight:bold;padding:7px 0;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{font-size:12px;padding-right:10px}.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:36px;overflow:hidden;text-indent:-999em;border-bottom:1px solid;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:400px;padding:10px 0 10px 10px;border:solid;border-width:0 1px 1px 1px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.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;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 5px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:2px 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;padding:1px 2px;text-decoration:none}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px;border:0 none}#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}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block}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}div.action-links{font-weight:normal;margin:6px 0 0}#plugin-information-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em}#plugin-information ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .action-button a{text-align:center;font-weight:bold;text-decoration:none;display:block;line-height:2em}#plugin-information h2{clear:none!important;margin-right:200px}#plugin-information .fyi{margin:0 10px 50px;width:210px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi h2.mainheader{padding:5px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .fyi li{margin-right:0}#plugin-information #section-holder{padding:10px}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;max-width:100%;width:auto;height:auto}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em}#plugin-information #section-screenshots ol,#plugin-information .updated,#plugin-information pre{margin-right:215px}#plugin-information pre{padding:7px;overflow:auto}body.press-this{color:#333;margin:0;padding:0;min-width:675px;min-height:400px}img{border:0}.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;user-select:none}.press-this #wphead h1{font-weight:normal;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-sidebar{float:right;width:200px;padding-top:10px}.press-this #title{margin-left:0;margin-right:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0}.press-this #titlediv{margin:0}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 0}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #poststuff{margin:0 10px 10px;padding:0}.press-this #photo-add-url-div input[type="text"]{width:220px}#poststuff #editor-toolbar{height:30px}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0}.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 #tagsdiv-post_tag h3,.press-this #categorydiv h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{text-shadow:0 1px 0 #fff;font-weight:bold;font-size:12px;margin-left:5px}#TB_window{border:1px solid #333}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.js .postbox:hover .handlediv,.js .stuffbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.press-this #submitdiv:hover .handlediv{background:0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border-color:#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:100px}#img_container a{display:block;float:left;overflow:hidden}#img_container img,#img_container a{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:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-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:345px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:transparent}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px}#TB_ajaxContent h3{margin-bottom:.25em}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden}input.newtag ~ div.taghint{visibility:visible}input.newtag:focus ~ div.taghint{visibility:hidden}#mce_fullscreen_container{background:#fff}#photo-add-url-div input[type="text"]{width:300px}.alignleft h3{margin:0}h3 span{font-weight:normal}#template textarea{font-family:Consolas,Monaco,monospace;font-size:12px;width:97%;background:#f9f9f9;outline:0}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#templateside h3,#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em;padding:0}#templateside li{margin:4px 0}#templateside ul li a span.highlight{display:block}.nonessential{font-size:11px;font-style:italic;padding-left:12px}.highlight{padding:3px 3px 3px 12px;margin-left:-12px;font-weight:bold;border:0 none}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:top;font-weight:bold}.fileedit-sub{padding:10px 0 8px;line-height:180%}#filter-box{clear:both}.feature-filter{padding:8px 12px 0}.feature-filter .feature-group{float:left;margin:5px 10px 10px}.feature-filter .feature-group li{display:inline-block;vertical-align:top;list-style-type:none;padding-right:25px;width:150px}.feature-container{width:100%;overflow:auto;margin-bottom:10px}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px}div#widgets-left{margin-left:5px;margin-right:325px}div#widgets-right{width:285px;margin:0 auto}div.widget-liquid-right{float:right;clear:right;width:300px}.widget-liquid-right .widget,.inactive-sidebar .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden}.widget-liquid-right .sidebar-description{margin-bottom:10px}.inactive-sidebar .widget{margin:0 10px 20px;display:inline-block}div.sidebar-name h3{font-weight:normal;font-size:15px;margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}div.sidebar-name{font-size:13px;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px}.js .sidebar-name{cursor:pointer}.js .closed .sidebar-name{-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none}.widget-liquid-right .widgets-sortables{padding:15px 0 0}#available-widgets .widget-holder{padding:7px 5px 0}#available-widgets .widget{-webkit-box-shadow:none;box-shadow:none}.inactive-sidebar{padding:5px 5px 0}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;background:transparent;display:inline-block;vertical-align:top}#widget-list .widget-description{padding:5px 8px}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:27px;width:250px}.inactive-sidebar .widget-placeholder{margin:0 10px 20px;float:left}div.widgets-holder-wrap{padding:0;margin:10px 0 20px}#widgets-left #available-widgets{background-color:transparent;border:0 none}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px}.widget .widget-top{margin-bottom:-1px;font-size:12px;font-weight:bold;height:26px;overflow:hidden}.widget-top .widget-title{padding:7px 9px}.widget-top .widget-title-action{float:right}a.widget-action{display:block;width:24px;height:26px}#available-widgets a.widget-action{display:none}.widget-top a.widget-action{background:transparent url(../images/arrows.png) no-repeat 4px 6px}.widget-top a.widget-action:hover{background:transparent url(../images/arrows-dark.png) no-repeat 4px 6px}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:12px;line-height:16px}.widget-inside,.widget-description{display:none}#available-widgets .widget-description{display:block}.widget .widget-inside p{margin:0 0 1em;padding:0}.widget-title h4{margin:0;padding-bottom:.2em;line-height:1;overflow:hidden;white-space:nowrap}.widgets-sortables{min-height:90px}.widget-control-actions{margin-top:8px}.widget-control-actions a{text-decoration:none}.widget-control-actions a:hover{text-decoration:underline}.widget-control-actions div.alignleft{margin-top:6px}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:12px}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:0}.widget-control-edit{display:block;font-size:12px;font-weight:normal;line-height:26px;padding:0 8px 0 0}a.widget-control-edit{text-decoration:none}.widget-control-edit .add,.widget-control-edit .edit{display:none}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,.inactive-sidebar .widget-control-edit .edit{display:inline}.editwidget{margin:0 auto 15px}.editwidget .widget-inside{display:block;padding:10px}.inactive p.description{margin:5px 15px 10px}#available-widgets p.description{margin:0 12px 12px}.widget-position{margin-top:8px}.inactive{padding-top:2px}.sidebar-name .spinner{float:none;margin:0 3px -3px}.sidebar-name-arrow{float:right;height:29px;width:26px}.widget-title .in-widget-title{font-size:12px;white-space:nowrap}#removing-widget{display:none;font-weight:normal;padding-left:15px;font-size:12px;line-height:1}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block}.widgets_access .closed .sidebar-name{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.ui-sortable,.ui-draggable{-ms-touch-action:none}.accordion-section{border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;margin:0}.accordion-section:first-child{border-top:1px solid #dfdfdf}.accordion-section:last-child{box-shadow:0 1px 0 0 #fff}.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:#fdfdfd;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf}.accordion-section-title{margin:0;padding:15px 20px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{content:'';width:0;height:0;border-color:#ccc transparent;border-style:solid;border-width:6px 6px 0;position:absolute;top:25px;right:20px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:hover:after,.accordion-section-title:focus: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{padding:10px 20px;color:#464646;font-size:15px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;text-shadow:0 1px 0 #fff;background:#f5f5f5;background-image:-webkit-gradient(linear,left bottom,left top,from(#eee),to(#f5f5f5));background-image:-webkit-linear-gradient(bottom,#eee,#f5f5f5);background-image:-moz-linear-gradient(bottom,#eee,#f5f5f5);background-image:-o-linear-gradient(bottom,#eee,#f5f5f5);background-image:linear-gradient(to top,#eee,#f5f5f5)}.control-section .accordion-section-title:after{top:15px}.js .control-section:hover .accordion-section-title,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section .accordion-section-title:focus{color:#000;background:#f9f9f9;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (max-width:768px){#col-left{width:100%}#col-right{width:100%}}@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{width:100%}#col-right{width:100%}.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 print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.press-this .tagchecklist span a{background-image:url('../images/xit-2x.gif');background-size:20px auto}.js .postbox:hover .handlediv,.js .stuffbox:hover .handlediv,.widget-top a.widget-action{background-image:url('../images/arrows-2x.png');background-size:15px 123px}.widget-top a.widget-action:hover{background-image:url('../images/arrows-dark-2x.png');background-size:15px 123px}.post-com-count{background-image:url('../images/bubble_bg-2x.gif');background-size:18px 100px}tr.wp-locked .locked-indicator{background-image:url('../images/lock-2x.png');background-size:16px 16px}th .comment-grey-bubble{background-image:url('../images/comment-grey-bubble-2x.png');background-size:12px 12px}.sorting-indicator{background-image:url('../images/sort-2x.gif?ver=20130102');background-size:14px 4px}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url('../images/resize-2x.gif') no-repeat scroll right bottom;background-size:11px 11px}div.star-holder{background:url('../images/stars-2x.png?ver=20121108') repeat-x bottom left;background-size:21px 37px}div.star-holder .star-rating{background:url('../images/stars-2x.png?ver=20121108') repeat-x top left;background-size:21px 37px}.welcome-panel .welcome-panel-close:before{background-image:url('../images/xit-2x.gif');background-size:20px auto}.welcome-panel .welcome-icon{background-image:url('../images/welcome-icons-2x.png')}.login h1 a{background-image:url('../images/wordpress-logo-2x.png?ver=20120412');background-size:274px 63px}.wp-badge{background-image:url('../images/wp-badge-2x.png?ver=20120516');background-size:173px 194px}.wp-full-overlay .collapse-sidebar-arrow{background-image:url('../images/arrows-2x.png');background-size:15px 123px}.pressthis a span{background-image:url(../images/press-this-2x.png?v=20121105)}.imgedit-crop,.imgedit-rleft,.imgedit-rright,.imgedit-flipv,.imgedit-fliph,.imgedit-undo,.imgedit-redo{background-image:url('../images/imgedit-icons-2x.png');background-size:260px 64px}.spinner,.imgedit-wait,.customize-loading #customize-container{background-image:url(../images/wpspin_light-2x.gif)}.wp-slider .ui-slider-handle:before{background-image:url(../images/arrows-pr-2x.png);background-size:16px 102px}}.locale-zh-cn .howto,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn #utc-time,.locale-zh-cn #local-time,.locale-zh-cn p.install-help,.locale-zh-cn p.help,.locale-zh-cn p.description,.locale-zh-cn span.description,.locale-zh-cn .form-wrap p{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-ru-ru .inline-edit-row fieldset label span.title{width:auto;min-width:5em}.locale-ru-ru.press-this .posting{margin-right:257px}.locale-ru-ru.press-this #photo-add-url-div input[type="text"]{width:255px}.locale-ru-ru.press-this #side-sortables{width:245px}.locale-ru-ru #customize-header-actions .button{padding:0 8px 1px}.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}#wpcontent{height:100%}#wpcontent,#wpfooter{margin-left:165px}.folded #wpcontent,.folded #wpfooter{margin-left:52px}#wpbody-content{padding-bottom:65px;float:left;width:100%}#adminmenuback,#adminmenuwrap,#adminmenu,#adminmenu .wp-submenu{width:145px}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1}#adminmenu{clear:left;margin:0;padding:0;list-style:none}.folded #adminmenuback,.folded #adminmenuwrap,.folded #adminmenu,.folded #adminmenu li.menu-top{width:32px}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.inner-sidebar #side-sortables,.columns-2 .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;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-21px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;border-radius:3px;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}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js,.js.wp-core-ui .hide-if-js,.js .wp-core-ui .hide-if-js,.no-js.wp-core-ui .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js{display:none}input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=url],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{vertical-align:text-top;padding:0;margin:1px 0 0}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}html,body{height:100%;margin:0;padding:0}body{font-family:sans-serif;font-size:12px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.login{background:#fbfbfb;min-width:0}iframe,img{border:0}td,textarea,input,select,button{font-family:inherit;font-size:inherit;font-weight:inherit}td,textarea{line-height:inherit}input,select{line-height:15px}a,input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=url],select,textarea,div{outline:0}a:focus,a:active{outline:thin dotted}#adminmenu a:focus,#adminmenu a:active,.screen-reader-text:focus{outline:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}p{margin:1em 0}blockquote{margin:1em}label{cursor:pointer}li,dd{margin-bottom:6px}textarea,input,select{margin:1px;padding:3px}h1,h2,h3,h4,h5,h6{display:block;font-weight:700}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;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}ul,ol{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}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em}.code,code{font-family:Consolas,Monaco,monospace}kbd,code{padding:1px 3px;margin:0 1px;font-size:11px}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;font-size:12px;float:left}.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:700;border:0}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat,div.updated,div.error,.wrap .add-new-h2,textarea,input[type=text],input[type=password],input[type=file],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select,.tablenav .tablenav-pages a,.tablenav-pages span.current,#titlediv #title,.postbox,#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea,.imgedit-menu div,.plugin-update-tr .update-message,#poststuff .inside .the-tagcloud,.login form,#login_error,.login .message,#menu-management .menu-edit,.nav-menus-php .list-container,.menu-item-handle,.link-to-original,.nav-menus-php .major-publishing-actions .form-invalid,.press-this #message,#TB_window,.tbtitle,.highlight,.feature-filter,#widget-list .widget-top,.editwidget .widget-inside{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat thead th:first-of-type{-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.widefat thead th:last-of-type{-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.widefat tfoot th:first-of-type{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.widefat tfoot th:last-of-type{-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.widefat td,.widefat th{border-width:1px 0;border-style:solid}.widefat tfoot th{border-bottom:0}.widefat .no-items td{border-bottom-width:0}.widefat td{font-size:12px;padding:4px 7px 2px;vertical-align:top}.widefat td p,.widefat td ol,.widefat td ul{font-size:12px}.widefat th{padding:7px 7px 8px;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 tbody th.check-column{padding:9px 0 22px}.widefat.media .check-column{padding-top:8px}.widefat thead .check-column,.widefat tfoot .check-column{padding:10px 0 0}.no-js .widefat thead .check-column input,.no-js .widefat tfoot .check-column input{display:none}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:4px 15px 0 0}div.updated,div.error{padding:0 .6em;margin:5px 15px 2px}div.updated p,div.error p{margin:.5em 0;padding:2px}.wrap div.updated,.wrap div.error,.media-upload-form div.error{margin:5px 0 15px}.wrap h2,.subtitle{font-weight:400;margin:0;text-shadow:#fff 0 1px 0}.wrap h2{font-size:23px;padding:9px 15px 4px 0;line-height:29px}.subtitle{font-size:14px;padding-left:25px}.wrap .add-new-h2{font-family:sans-serif;margin-left:4px;padding:3px 8px;position:relative;top:-3px;text-decoration:none;font-size:12px;border:0 none}.wrap h2.long-header{padding-right:0}html,.wp-dialog{background-color:#fff}textarea,input[type=text],input[type=password],input[type=file],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],select{background-color:#fff;color:#333}select{color:#000}select[disabled]{color:#7f7f7f}select:focus{border-color:#aaa}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=file]:focus,input[type=email]:focus,input[type=number]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=url]:focus,select:focus{-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.1);box-shadow:1px 1px 2px rgba(0,0,0,.1)}input[readonly]{background-color:#eee}:-moz-placeholder,.wp-core-ui :-moz-placeholder{color:#a9a9a9}div.sidebar-name h3,#menu-management .nav-tab,#dashboard_plugins h5,a.rsswidget,#dashboard_right_now td.b,#dashboard-widgets h4,.tool-box .title,#poststuff h3,.metabox-holder h3,.pressthis a,#your-profile legend,.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title,.tablenav .displaying-num,.widefat th,.quicktags,.search{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif}h2 .nav-tab,.wrap h2,.subtitle,.login form .input{font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif}.quicktags,.search{font-size:12px}.icon32{float:left;height:34px;margin:7px 8px 0 0;width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.key-labels label{line-height:24px}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{font-style:italic;display:block;font-family:sans-serif}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}.wp-admin select{padding:2px;height:2em}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}form p.submit a.cancel:hover{text-decoration:none}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{text-align:center}textarea.all-options,input.all-options{width:250px}input.large-text,textarea.large-text{width:99%}input.regular-text,#adduser .form-field input{width:25em}input.small-text{width:50px}input[type=number].small-text{width:60px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #delete_all,.tablenav #clear-recent-list{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}label,#your-profile label+a{vertical-align:middle}#misc-publishing-actions label{vertical-align:baseline}#pass-strength-result{border-style:solid;border-width:1px;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.search-box input[name="s"],#search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:2em;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{border-bottom-right-radius:0;border-bottom-left-radius:0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-width:1px;border-style:solid}.ui-autocomplete li{margin-bottom:0;white-space:nowrap;text-align:left}.ui-autocomplete li a{display:block;height:100%;padding:4px 10px}.ui-autocomplete li a.ui-state-focus{cursor:pointer}#major-publishing-actions{padding:10px 10px 8px;clear:both;border-top:1px solid #f5f5f5;margin-top:-2px}#delete-action{line-height:25px;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;border-width:1px 0;border-style:solid}.misc-pub-section:first-child{border-top-width:0}.misc-pub-section-last{border-bottom-width:0}#minor-publishing-actions{padding:10px 10px 2px 8px;text-align:right}#minor-publishing{border-bottom-width:1px;border-bottom-style:solid;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}#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-width:1px;border-bottom-style:solid}.side-info ul{margin:0;padding-left:18px;list-style:square}.approve,.unapproved .unapprove{display:none}.unapproved .approve,.spam .approve,.trash .approve{display:inline}td.action-links,th.action-links{text-align:right}#update-nag,.update-nag{line-height:19px;padding:5px 0;font-size:12px;text-align:center;margin:-1px 15px 0 5px;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.plugins .plugin-update{padding:0}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:700}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em 0}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-loading,.ajax-feedback,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#sidemenu a,#taglist a,#catlist a{text-decoration:none}#screen-options-wrap,#contextual-help-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 24px 0 0}#screen-meta-links a:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.4);box-shadow:1px 1px 1px rgba(0,0,0,.4);outline:0}#screen-meta{display:none;position:relative;margin:0 15px 0 5px;border-width:0 1px 1px;border-style:none solid solid}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:23px;padding:0;margin:0 0 0 6px;font-family:sans-serif}#screen-options-link-wrap,#contextual-help-link-wrap,#screen-meta{-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}#screen-meta-links .screen-meta-toggle{position:relative;top:-1px}#screen-meta-links a.show-settings{text-decoration:none;z-index:1;padding:1px 16px 0 6px;height:22px;line-height:22px;font-size:12px;display:block;text-shadow:rgba(255,255,255,.7) 0 1px 0}#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}#screen-options-wrap h5,#contextual-help-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;white-space:nowrap;line-height:30px}.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;margin-left:-4px}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border-width:0 1px;border-style:solid}#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:1px 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-width:1px 0 1px 1px;border-style:solid}.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}#adminmenuback,#adminmenuwrap{border-width:0 1px 0 0;border-style:solid}#adminmenuwrap{position:relative;float:left}#adminmenushadow{position:absolute;top:0;right:0;bottom:0;width:6px;z-index:20}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px}#adminmenu li.menu-top{min-height:28px;position:relative}#adminmenu .wp-submenu{list-style:none;padding:4px 0;margin:0;position:absolute;top:-1000em;left:146px;z-index:1000;overflow:visible;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.js #adminmenu .sub-open,.js #adminmenu .opensub .wp-submenu,#adminmenu a.menu-top:focus+.wp-submenu,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0 none;-webkit-box-shadow:none;box-shadow:none}.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:-1px;left:32px}.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;position:absolute;top:-1000em}#adminmenu .wp-submenu a{font-size:12px;line-height:18px;margin:0;padding-left:12px}#adminmenu .wp-not-current-submenu li>a{padding-left:16px}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font-size:13px;font-weight:700;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 a.menu-top{border-width:1px 0;border-style:solid none}#adminmenu .wp-menu-image img{padding:7px 0 0 7px;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:5px}#adminmenu div.wp-menu-image{float:left;width:28px;height:28px}.folded #adminmenu div.wp-menu-image{width:32px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:28px}.wp-menu-arrow{z-index:25;position:absolute;right:100%;margin:0;height:30px;width:6px;-moz-transform:translate(146px);-webkit-transform:translate(146px);-o-transform:translate(146px);-ms-transform:translate(146px);transform:translate(146px)}#adminmenu .wp-menu-arrow div{display:none;position:absolute;top:7px;left:-1px;width:14px;height:15px;-moz-transform:matrix(-.6,1,.6,1,0,0);-webkit-transform:matrix(-.6,1,.6,1,0,0);-o-transform:matrix(-.6,1,.6,1,0,0);-ms-transform:matrix(-.6,1,.6,1,0,0);transform:matrix(-.6,1,.6,1,0,0)}#adminmenu li.wp-not-current-submenu .wp-menu-arrow{-moz-transform:translate(145px);-webkit-transform:translate(145px);-o-transform:translate(145px);-ms-transform:translate(145px);transform:translate(145px);height:28px;border-width:1px 0;border-style:solid;top:0}.folded #adminmenu li .wp-menu-arrow{-moz-transform:translate(32px);-webkit-transform:translate(32px);-o-transform:translate(32px);-ms-transform:translate(32px);transform:translate(32px)}#adminmenu li.current .wp-menu-arrow,#adminmenu li.wp-has-current-submenu .wp-menu-arrow,#adminmenu li.wp-has-current-submenu .wp-menu-arrow div,#adminmenu li.wp-has-submenu .wp-menu-arrow div,#adminmenu li.current .wp-menu-arrow div,.no-js #adminmenu li.wp-has-submenu:hover .wp-menu-arrow,#adminmenu li.wp-has-submenu.opensub .wp-menu-arrow,#adminmenu a.wp-has-submenu:focus .wp-menu-arrow,#adminmenu a:hover .wp-menu-arrow{display:block}#adminmenu li.current .wp-menu-arrow,#adminmenu li.wp-menu-open .wp-menu-arrow{top:0}.no-js #adminmenu li.wp-has-submenu:hover .wp-menu-arrow,#adminmenu li.wp-has-submenu.opensub .wp-menu-arrow,#adminmenu a.wp-has-submenu:focus .wp-menu-arrow{z-index:1001}.ie8 #adminmenu li.menu-top:hover .wp-menu-arrow{display:none}#adminmenu .wp-not-current-submenu .wp-menu-arrow div{width:15px;top:6px;border-width:0 0 1px 1px;border-style:solid}.wp-menu-arrow,.folded #adminmenu li .wp-menu-arrow div,.no-js #adminmenu li.wp-not-current-submenu:hover .wp-menu-arrow{display:none}.folded #adminmenu li.current .wp-menu-arrow,.folded #adminmenu li.current .wp-menu-arrow div,.folded #adminmenu li.wp-has-current-submenu .wp-menu-arrow div,.folded #adminmenu li.wp-menu-open .wp-menu-arrow,.folded #adminmenu li a:focus .wp-menu-arrow{display:block}#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:3px;padding:0;margin:0;border-width:1px 0;border-style:solid;cursor:inherit}#adminmenu div.separator{height:1px;padding:0;border-width:1px 0 0;border-style:solid}#adminmenu .wp-submenu .wp-submenu-head{padding:5px 4px 5px 10px;margin:-4px -1px 4px;border-width:1px 0;border-style:solid;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}#adminmenu li.wp-menu-open{border-width:0 0 1px;border-style:solid}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0 none}.folded #adminmenu li.wp-has-current-submenu{margin-bottom:1px}.folded #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{position:absolute;font-family:sans-serif;font-size:9px;line-height:17px;font-weight:700;margin-top:1px;margin-left:7px;-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 span.count-0,#sidemenu li a .count-0{display:none}#collapse-menu{font-size:12px;line-height:34px;border-width:1px 0 0;border-style:solid}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:left;margin:8px 6px;border-width:1px;border-style:solid;-webkit-border-radius:10px;border-radius:10px}@media only screen and (max-width:900px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:52px}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap,.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top{width:32px}.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu{top:-1px;left:32px}.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{border-width:1px;border-style:solid;position:absolute;top:-1000em}.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{width:32px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:28px}.auto-fold #adminmenu li .wp-menu-arrow{-moz-transform:translate(32px);-webkit-transform:translate(32px);-o-transform:translate(32px);-ms-transform:translate(32px);transform:translate(32px)}.auto-fold #adminmenu li .wp-menu-arrow div{display:none}.auto-fold #adminmenu li.current .wp-menu-arrow,.auto-fold #adminmenu li.current .wp-menu-arrow div,.auto-fold #adminmenu li.wp-has-current-submenu .wp-menu-arrow div,.auto-fold #adminmenu li.wp-menu-open .wp-menu-arrow,.auto-fold #adminmenu li a:focus .wp-menu-arrow{display:block}.auto-fold #adminmenu li.wp-menu-open{border:0 none}.auto-fold #adminmenu li.wp-has-current-submenu{margin-bottom:1px}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold #collapse-menu span{display:none}}.post-com-count-wrapper{min-width:22px;font-family:sans-serif}.post-com-count{background-image:url(../images/bubble_bg.gif);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}.post-com-count span{font-size:11px;font-weight:700;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px}strong .post-com-count{background-position:center -55px}.post-com-count:hover{background-position:center -3px}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}#the-comment-list .attachment-80x60{padding:4px 8px}th .comment-grey-bubble{background-image:url(../images/comment-grey-bubble.png);background-repeat:no-repeat;height:12px;width:12px}html.wp-toolbar{padding-top:28px;-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 th,.widefat td{overflow:hidden}.widefat th{font-weight:400}.widefat td p{margin:2px 0 .8em}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}#dashboard-widgets.columns-1 .postbox-container{width:100%}#dashboard-widgets.columns-2 .postbox-container{width:49.5%}#dashboard-widgets.columns-2 #postbox-container-2,#dashboard-widgets.columns-2 #postbox-container-3,#dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#dashboard-widgets.columns-3 .postbox-container{width:33.5%}#dashboard-widgets.columns-3 #postbox-container-1{width:33%}#dashboard-widgets.columns-3 #postbox-container-3,#dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets.columns-4 .postbox-container{width:25%}.postbox-container .meta-box-sortables{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.metabox-holder .postbox-container .empty-container{border:3px dashed #CCC;height:250px}.metabox-holder.columns-1 .postbox-container .empty-container,.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container{border:0 none;height:0;min-height:0}#poststuff{padding-top:10px}#poststuff #post-body{padding:0}#post-body-content{width:100%;float:left}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#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 #dashboard-widgets .postbox-container{width:100%}#wpbody-content .metabox-holder .postbox-container .empty-container{border:0 none;height:0;min-height:0}}@media only screen and (min-width:800px) and (max-width:1200px){#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 .screen-layout,.index-php .columns-prefs{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (max-width:960px){#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 .empty-container,#poststuff #postbox-container-1 #side-sortables:empty{border:0 none;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0}.screen-layout,.columns-prefs{display:none}}.postbox .hndle{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.js .postbox .hndle{cursor:move}.postbox.closed .hndle{-webkit-border-radius:3px;border-radius:3px}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:right;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border-width:1px;border-style:dashed;margin-bottom:20px}.widget,.postbox,.stuffbox{margin-bottom:20px;padding:0;border-width:1px;border-style:solid;line-height:1}.widget .widget-top,.postbox h3,.stuffbox h3{margin-top:1px;border-bottom-width:1px;border-bottom-style:solid;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js .widget .widget-top,.js .postbox h3{cursor:move}.postbox .inside,.stuffbox .inside{padding:0 12px 0 10px;line-height:1.4em}.postbox .inside{margin:10px 0;position:relative}.postbox.closed h3{border:0;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#dashboard-widgets-wrap{margin:0 -8px}#wpbody-content .metabox-holder{padding-top:10px}#dashboard-widgets .meta-box-sortables{margin:0 8px}#dashboard_recent_comments div.undo{border-top-style:solid;border-top-width:1px;margin:0 -10px;padding:3px 8px;font-size:11px}#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}.welcome-panel{position:relative;overflow:auto;margin:20px 0;padding:23px 10px 12px;border-width:1px;border-style:solid;border-radius:3px;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:13px}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;right:10px;padding:8px 3px;font-size:13px;text-decoration:none;line-height:1}.welcome-panel .welcome-panel-close:before{content:' ';position:absolute;left:-12px;width:10px;height:100%;background:url(../images/xit.gif) 0 17% no-repeat}.welcome-panel .welcome-panel-close:hover:before{background-position:100% 17%}.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{margin-top:7px}.welcome-panel .welcome-icon{display:block;padding:2px 0 8px 32px;background-image:url(../images/welcome-icons.png);background-repeat:no-repeat;background-size:16px}.welcome-panel .welcome-add-page{background-position:0 2px}.welcome-panel .welcome-edit-page{background-position:0 -90px}.welcome-panel .welcome-learn-more{background-position:0 -136px}.welcome-panel .welcome-comments{background-position:0 -182px}.welcome-panel .welcome-view-site{background-position:0 -274px}.welcome-panel .welcome-widgets-menus{background-position:1px -229px;line-height:14px}.welcome-panel .welcome-write-blog{background-position:0 -44px}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}@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}.welcome-panel .welcome-icon{padding-left:25px}}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-posts,.fixed .column-date,.fixed .column-parent,.fixed .column-links,.fixed .column-author,.fixed .column-format{width:10%}.fixed .column-response,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{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}#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 #add-new-comment{border-width:0 0 1px;border-style:none none solid}#commentsdiv .comments-box{border:0 none}#commentsdiv .comments-box thead th{background:transparent;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:7px;height:4px;margin-top:8px;margin-left:7px;background-image:url(../images/sort.gif);background-repeat:no-repeat}tr.wp-locked .locked-indicator{background:url(../images/lock.png) no-repeat;margin:-2px 0 0 6px;height:20px;width:16px}tr.wp-locked .check-column label,tr.wp-locked .check-column input[type=checkbox],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{height:auto;opacity:1}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity 500ms;-moz-transition:height 1s,opacity 500ms;-ms-transition:height 1s,opacity 500ms;-o-transition:height 1s,opacity 500ms;transition:height 1s,opacity 500ms}.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}.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.sorted.asc .sorting-indicator,th.desc:hover span.sorting-indicator{display:block;background-position:0 0}th.sorted.desc .sorting-indicator,th.asc:hover span.sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{border-bottom-style:solid;border-bottom-width:2px;font-weight:700;margin-right:1px;padding:0 2px}.tablenav-pages .current-page{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;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.disabled:hover,.tablenav .tablenav-pages a.disabled:active{cursor:default}.tablenav .displaying-num{margin-right:10px;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 8px 0 0}.tablenav .delete{margin-right:20px}.view-switch{float:right;margin:6px 8px 0}.view-switch a{text-decoration:none}.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}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}tr.inline-edit-row td,#wpbody-content .inline-edit-row fieldset .inline-edit-col{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 .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .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.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px}.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.title,.inline-edit-row fieldset span.checkbox-title{font-style:italic;line-height:1.8em}.inline-edit-row fieldset input[type=text],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.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-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row #bulk-titles div{font-family:sans-serif;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%}.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:10px;margin:3px 3px 0 -2px;overflow:hidden;position:relative;text-indent:-9999px;width:10px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments a,#show-comments .spinner{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}.rtl #lost-connection-notice .spinner{float:right;margin:0 0 0 5px}#titlediv{position:relative;margin-bottom:5px}#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:1px 0}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{color:#bbb;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:right;margin-top:4px}#wp-fullscreen-title-prompt-text{padding:11px}#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-right:6px}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name input{width:16em}.postarea h3 label{float:left}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}.submitbox .submitdelete,.submitbox .submit a:hover{border-bottom-width:1px;border-bottom-style:solid}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{line-height:2.5em;margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px}#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}.press-this #side-sortables .category-tabs li,ul.category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}.category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none}.category-tabs{margin:8px 0 3px}#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 input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px}ul.category-tabs li{border-style:solid;border-width:1px;position:relative}ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0}#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}form#tags-filter{position:relative}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em}td.post-title p,td.plugin-title p{margin:6px 0}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none}.commentlist .avatar{vertical-align:text-top}#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{border-width:0 1px 1px;border-style:none solid solid;width:100%;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}#post-status-info td{font-size:12px}.autosave-info{padding:2px 15px;text-align:right}#editorcontent #post-status-info{border:0}#post-body .wp_themeSkin .mceStatusbar a.mceResize{display:block;background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:se-resize;margin:0 1px;position:relative;top:-2px}#post-body .postarea .wp_themeSkin .mceStatusbar a.mceResize{top:20px}#content-resize-handle{background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:se-resize;position:absolute;right:2px;height:19px}.press-this #content-resize-handle{bottom:2px}.tmce-active #content-resize-handle{display:none}#wp-word-count{display:block;padding:2px 10px}#timestampdiv select{height:20px;line-height:14px;padding:0;vertical-align:top}#aa,#jj,#hh,#mn{padding:1px;font-size:12px}#jj,#hh,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{background-repeat:no-repeat;background-position:left center;padding:2px 0 1px 20px}#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;line-height:1.5;z-index:1000005}.notification-dialog-background{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.5;filter:alpha(opacity=50);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.saving .locked-saving,#post-lock-dialog.saved .locked-saved{display:inline}#postcustomstuff thead th{padding:5px 8px 8px}#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-width:1px;border-style:solid;border-spacing:0}#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 th.left,#postcustomstuff td.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}.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;padding-bottom:10px}.revisions-tickmarks{position:relative;margin:0 auto;height:.8em;top:7px;max-width:70%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div{position:absolute;height:100%;border-style:solid;border-width:0 1px 0 0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.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;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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;-moz-transition:opacity .5s;-ms-transition:opacity .5s;-o-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:15px}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-previous,.comparing-two-revisions .revisions-next,.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-previous,.revisions-next{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}.post-revisions li img,#revisions-meta-restored img{vertical-align:middle}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap;word-wrap:break-word}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{padding:.5em;font-family:Consolas,Monaco,monospace}table.diff .diff-deletedline del,table.diff .diff-addedline ins{text-decoration:none}.diff-meta{-webkit-border-radius:3px;border-radius:3px;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 .avatar,.revisions-controls .author-card .author-info{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;display:none;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);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-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-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border-width:1px;border-style:solid;border-radius:3px;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{position:absolute;z-index:2;margin-top:-3px;width:19px;height:19px;border-width:1px;border-style:solid;border-radius:50%}.wp-slider .ui-slider-handle:before{content:"";position:absolute;top:6px;left:3px;height:8px;width:13px;background:url(../images/arrows-pr.png) no-repeat -2px -47px}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{height:8px;width:7px}.wp-slider .ui-slider-handle.from-handle:before{background-position:-5px -84px;left:7px}.wp-slider .ui-slider-handle.to-handle:before{background-position:-4px -65px;left:5px}.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:.8em}.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}#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}a.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:16px;width:16px;margin-right:5px;background-repeat:no-repeat;text-indent:-999em}#post-formats-select{line-height:2em}label.post-format-icon{margin-left:5px;padding:2px 0 2px 21px}.post-format-icon.post-format-standard{background-position:0 0}.post-format-icon.post-format-image{background-position:0 -32px}.post-format-icon.post-format-gallery{background-position:0 -64px}.post-format-icon.post-format-audio{background-position:0 -96px}.post-format-icon.post-format-video{background-position:0 -128px}.post-format-icon.post-format-chat{background-position:0 -160px}.post-format-icon.post-format-status{background-position:0 -192px}.post-format-icon.post-format-aside{background-position:0 -224px}.post-format-icon.post-format-quote{background-position:0 -256px}.post-format-icon.post-format-link{background-position:0 -288px}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0}#post-body ul.add-menu-item-tabs li{padding:8px}#post-body ul.add-menu-item-tabs li.tabs{-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border-style:solid;border-width:1px}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:19px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap p,.form-wrap label{font-size:11px}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%}p.description,.form-wrap p{margin:2px 0 5px}p.help,p.description,span.description,.form-wrap p{font-size:12px;font-style:italic;font-family:sans-serif}.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}#poststuff .taghint{color:#aaa;margin:15px 0 -24px 12px}#poststuff .tagsdiv .howto{margin:0 0 6px 8px}.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}p.popular-tags{-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;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-width:1px;border-style:solid}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left}.ac_over{cursor:pointer}.ac_match{text-decoration:underline}table.links-table{width:100%}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table th,.links-table td{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-item .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;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:700}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:700}.media-upload-form th.label label{font-weight:700;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}abbr.required{border:medium none;text-decoration:none}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.media-item .edit-attachment,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:15px}.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-style:solid;border-width:1px;min-height:36px;position:relative;margin-top:-1px;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;padding:0 10px}.media-item .error-div{padding-left:10px}.media-item .pinkynail{float:left;margin:2px 2px 0;max-width:40px;max-height:32px}.media-item .startopen,.media-item .startclosed{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:6px 10px 0 0;width:200px;line-height:2em;padding:0;overflow:hidden;margin-bottom:2px;border:1px solid #d1d1d1;background:#f7f7f7;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#f7f7f7));background-image:-webkit-linear-gradient(bottom,#fff,#f7f7f7);background-image:-moz-linear-gradient(bottom,#fff,#f7f7f7);background-image:-o-linear-gradient(bottom,#fff,#f7f7f7);background-image:linear-gradient(to top,#fff,#f7f7f7);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.1);box-shadow:inset 0 0 3px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-24px;background-color:#8cc1e9;background-image:-webkit-gradient(linear,left bottom,left top,from(#72a7cf),to(#8cc1e9));background-image:-webkit-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-moz-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-o-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:linear-gradient(to top,#72a7cf,#8cc1e9);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 3px rgba(0,0,0,.3);box-shadow:0 0 3px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0 8px;text-shadow:0 1px 0 rgba(255,255,255,.4);color:rgba(0,0,0,.6)}.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-upload-form .media-item.error p,.media-item .error-div{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{width:600px;height:300px;overflow:hidden;padding:33px 0 51px;position:absolute;z-index:1000}.find-box-head{cursor:move;font-weight:700;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%}.find-box-inside{overflow:auto;padding:6px;height:100%}.find-box-search{overflow:hidden;padding:9px;position:relative}.find-box-search .spinner{float:none;left:125px;position:absolute;top:9px}#find-posts-input{float:left;width:140px;height:24px}#find-posts-search{float:left;margin:1px 4px 0 3px}#find-posts-response{margin:8px 0;padding:0 1px 6px}#find-posts-response table{width:100%}#find-posts-response .found-radio{padding:3px 0 0 8px;width:15px}.find-box-buttons{padding:8px;overflow:hidden}.find-box #resize-se{position:absolute;right:1px;bottom:1px}.ui-find-overlay{position:absolute;top:0;left:0;background-color:#000;opacity:.6;filter:alpha(opacity=60)}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-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #DDD;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}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0}.post-php .imgedit-wrap table{width:100%}.describe .imgedit-wrap table td,.wp_attachment_holder .imgedit-wrap table td{vertical-align:top;padding-top:0}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px}.wp_attachment_holder .imgedit-wrap table td.imgedit-settings{width:250px}td.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:#fff url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;background-size:16px 16px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.spinner{background:url(../images/wpspin_light.gif) no-repeat;background-size:16px 16px;display:none;float:right;opacity:.7;filter:alpha(opacity=70);width:16px;height:16px;margin:5px 5px 0}.no-float{float:none}.media-disabled,.imgedit-settings .disabled{color:grey}.wp_attachment_image,.A1B1{overflow:hidden}.wp_attachment_image .button,.A1B1 .button{float:left}.no-js .wp_attachment_image .button{display:none}.wp_attachment_image .spinner,.A1B1 .spinner{float:left;padding:0 4px 4px;vertical-align:bottom}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;height:32px}.imgedit-crop-wrap{position:relative}.imgedit-crop{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -9px -31px;margin:0 8px 0 0}.imgedit-crop.disabled:hover{background-position:-9px -31px}.imgedit-crop:hover{background-position:-9px -1px}.imgedit-rleft{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -46px -31px;margin:0 3px}.imgedit-rleft.disabled:hover{background-position:-46px -31px}.imgedit-rleft:hover{background-position:-46px -1px}.imgedit-rright{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -77px -31px;margin:0 8px 0 3px}.imgedit-rright.disabled:hover{background-position:-77px -31px}.imgedit-rright:hover{background-position:-77px -1px}.imgedit-flipv{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -115px -31px;margin:0 3px}.imgedit-flipv.disabled:hover{background-position:-115px -31px}.imgedit-flipv:hover{background-position:-115px -1px}.imgedit-fliph{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -147px -31px;margin:0 8px 0 3px}.imgedit-fliph.disabled:hover{background-position:-147px -31px}.imgedit-fliph:hover{background-position:-147px -1px}.imgedit-undo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -184px -31px;margin:0 3px}.imgedit-undo.disabled:hover{background-position:-184px -31px}.imgedit-undo:hover{background-position:-184px -1px}.imgedit-redo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -215px -31px;margin:0 8px 0 3px}.imgedit-redo.disabled:hover{background-position:-215px -31px}.imgedit-redo:hover{background-position:-215px -1px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group-top{margin:5px 0}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic;margin-bottom:8px}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{border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;margin-bottom:8px;padding:2px 10px}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;margin-bottom:-8px;clear:both}.form-table td{margin-bottom:9px;padding:8px 10px;line-height:20px;font-size:12px}.form-table th,.form-wrap label{font-weight:400;text-shadow:#fff 0 1px 0}.form-table th{vertical-align:top;text-align:left;padding:10px;width:200px}.form-table th.th-full{width:auto}.form-table div.color-option{display:block;clear:both;margin-top:12px}.form-table input.tog{margin-top:2px;margin-right:2px;float:left}.form-table td p{margin-top:4px}.form-table table.color-palette{vertical-align:bottom;float:left;margin:-12px 3px 11px}.form-table .color-palette td{border-width:1px 1px 0;border-style:solid solid none;height:10px;line-height:20px;width:10px}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#replyrow input{border-width:1px;border-style:solid}#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}.comment-php .wp-editor-area{height:200px}.comment-ays{margin-bottom:0;border-style:solid;border-width:1px}.comment-ays th{border-right-style:solid;border-right-width:1px}.trash-undo-inside,.spam-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}.commentlist .avatar{vertical-align:text-top}.theme-install-php .tablenav{height:auto}.theme-install-php .spinner{margin-top:9px}h3.available-themes{margin:.3em 0 1em;float:left}.available-theme{display:inline-block;margin-right:10px;overflow:hidden;padding:20px 20px 20px 0;vertical-align:top;width:300px}.available-theme .screenshot{width:300px;height:225px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden}.available-theme img{width:300px}.available-theme h3{margin:15px 0 0}.available-theme .theme-author{line-height:18px}.available-theme .action-links{margin-top:10px;overflow:hidden}.available-theme a.screenshot:focus{border-color:#777}#current-theme .theme-info li,.theme-options li,.available-theme .action-links li{float:left;padding-right:10px;margin-right:10px;border-right:1px solid #dfdfdf}.available-theme .action-links li{padding-right:8px;margin-right:8px}.ie8 .available-theme .action-links li{padding-right:7px;margin-right:7px}#current-theme .theme-info li:last-child,.theme-options li:last-child,.available-theme .action-links li:last-child{padding-right:0;margin-right:0;border-right:0}.available-theme .action-links .delete-theme{float:right;margin-left:8px;margin-right:0}.available-theme .action-links .delete-theme a{color:red;padding:2px}.available-theme .action-links .delete-theme a:hover{background:red;color:#fff;text-decoration:none}.available-theme .action-links p{float:left}#current-theme{margin:20px 0 10px;padding:0 0 20px;border-bottom-width:1px;border-bottom-style:solid;overflow:hidden}#current-theme.has-screenshot{padding-left:330px}#current-theme h3{margin:0;font-size:12px;font-weight:400;color:#999}#current-theme h4{margin:3px 0 16px;font-size:20px}#current-theme h4 span{margin-left:20px;font-size:12px;font-weight:400}#current-theme a{border-bottom:0}#current-theme .theme-info{margin:1em 0;overflow:hidden}#current-theme .theme-description{margin-top:5px;max-width:600px;line-height:1.6em}#current-theme img{float:left;width:300px;margin-left:-330px;border-width:1px;border-style:solid}.theme-options{overflow:hidden;font-size:14px;padding-bottom:10px}.theme-options .load-customize{margin-right:30px;float:left}.theme-options span{float:left;margin-right:10px;text-transform:uppercase;font-size:11px;line-height:18px;color:#999}.theme-options ul{float:left;margin:0}@media only screen and (max-width:1200px){.folded .available-theme,.folded .available-theme .screenshot{width:300px}.folded .available-theme .screenshot{height:225px}.folded #current-theme img{width:300px}.folded #current-theme.has-screenshot{padding-left:330px}.folded #current-theme img{margin-left:-330px}}@media only screen and (max-width:1079px){.folded .available-theme,.folded .available-theme .screenshot{width:270px}.folded .available-theme .screenshot{height:203px}.folded #current-theme img{width:270px}.folded #current-theme.has-screenshot{padding-left:300px}.folded #current-theme img{margin-left:-300px}}@media only screen and (max-width:1200px){.available-theme,.available-theme .screenshot,#current-theme img{width:240px}.available-theme .screenshot{height:180px}.available-theme img{width:100%}#current-theme.has-screenshot{padding-left:270px}#current-theme img{margin-left:-270px}}#post-body ul.add-menu-item-tabs li.tabs a,#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:700;text-decoration:none}#TB_window #TB_title{background-color:#222;color:#cfcfcf}#broken-themes{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-install-php h4{margin:2.5em 0 8px}.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}.nav-tab{border-style:solid;border-width:1px 1px 0;color:#aaa;text-shadow:#fff 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.nav-tab-active{border-width:1px;color:#464646}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom-width:1px;border-bottom-style:solid;padding-bottom:0}h2 .nav-tab{padding:4px 10px 6px;font-weight:200;font-size:20px;line-height:24px}#dashboard_right_now .versions .b,#post-status-display,#post-visibility-display,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,.media-item .percent,.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,#ed_reply_toolbar #ed_reply_strong,.item-controls .item-order a,.feature-filter .feature-name{font-weight:700}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{padding:0}.plugins tbody th.check-column{padding:7px 0}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{border-top-style:solid;border-top-width:1px;padding:5px 7px 0}.plugins .update th,.plugins .update td{border-bottom:0}.plugin-update-tr td{border-top:0}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .second,.plugins .row-actions{padding:0 0 5px}.plugins .update .second,.plugins .update .row-actions{padding-bottom:0}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{margin:5px;padding:3px 5px}.plugin-install-php h4{margin:2.5em 0 8px}#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}#your-profile #rich_editing{border:0}#display_name{width:15em}#createuser .form-field input{width:25em}.pressthis{margin:20px 0}.pressthis a,.pressthis a:hover,.pressthis a:focus,.pressthis a:active{display:inline-block;position:relative;cursor:move;color:#333;background:#e6e6e6;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(7%,#e6e6e6),color-stop(77%,#d8d8d8));background-image:-webkit-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:-moz-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:-o-linear-gradient(bottom,#e6e6e6 7%,#d8d8d8 77%);background-image:linear-gradient(to top,#e6e6e6 7%,#d8d8d8 77%);-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none;text-shadow:0 1px 0 #fff}.pressthis a:active{outline:0}.pressthis a:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-moz-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{background:url(../images/press-this.png?v=20120502) no-repeat 0 5px;background-size:24px 20px;padding:8px 11px 8px 27px;margin:0 5px;display:inline-block}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:transparent;-webkit-transform:skew(20deg) rotate(6deg);-moz-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)}#utc-time,#local-time{padding-left:25px;font-style:italic;font-family:sans-serif}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php .spinner{float:none;margin:-3px 3px}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 0;margin-right:20px;border-top-width:1px;border-top-style:solid}#wpfooter p{margin:0;line-height:20px}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.updated,.about-wrap div.error{display:none!important}.about-wrap p.about-notice{background-color:#ffffe0;border:1px solid #e6db55;margin:5px 0 15px;padding:.4em .8em;border-radius:3px;-webkit-border-radius:3px}.about-wrap p{line-height:1.6em}.about-wrap h1{margin:.2em 200px 0 0;line-height:1.2em;font-size:2.8em;font-weight:200}.about-text,.about-description,.about-wrap li.wp-person a.web{font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:400;line-height:1.6em;font-size:20px}.about-description{margin-top:1.4em}.about-text{margin:1em 200px 1.4em 0;min-height:60px;font-size:24px}.about-wrap h3{font-size:1.5em;line-height:1.5em;padding-top:20px}.about-wrap .feature-section{padding-bottom:20px}.about-wrap .feature-section h4{margin-bottom:.6em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap code{font-size:14px}.about-wrap .point-releases{margin-top:5px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.wp-badge{padding-top:142px;height:50px;width:173px;font-weight:700;font-size:14px;text-align:center;margin:0 -5px;background:url(../images/wp-badge.png?ver=20111120) no-repeat}.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 10px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top}.about-wrap h2 .nav-tab-active{font-weight:700;padding-top:3px}.about-wrap .feature-section.three-col img{margin:.5em 0 .5em 5px;max-width:100%;float:none}.about-wrap .feature-section.col{margin-bottom:0}.about-wrap .feature-section.col h4{margin:0 0 .6em}.about-wrap .feature-section.two-col div{width:47%;margin-right:4.999999999%;float:left}.about-wrap .feature-section.three-col div{width:30%;margin-right:4.999999999%;float:left}.about-wrap .three-col.about-updates .col-1,.about-wrap .three-col.about-updates .col-3{width:37%;margin:0}.about-wrap .three-col.about-updates .col-2{width:16%;margin:0 5%}.about-wrap .feature-section.col .last-feature{margin-right:0}.about-wrap .three-col.about-updates img{margin:0}.about-wrap .changelog .feature-section{overflow:hidden}.about-wrap .about-passwords{margin:20px 0;padding:1px 20px 10px;background-color:#f9f9f9}.about-wrap .about-auto-update{text-align:center;background-color:#f9f9ef;clear:both;padding:10px}.about-wrap .about-auto-update.cool{background-color:#eff9ef}.about-wrap .about-password-meter input{font-size:250%;line-height:1;width:100%;display:block;padding:5px}.about-wrap .about-password-meter #pass-strength-result{display:block!important;font-size:150%;font-weight:400!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;padding:17px 0;margin-bottom:15px}.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}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:#fff;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:#f5f5f5;border-right:1px solid rgba(0,0,0,.2)}.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;box-shadow:-5px 0 4px -4px rgba(0,0,0,.1) inset;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 20px;line-height:45px;z-index:10;margin:0}.wp-full-overlay-sidebar .wp-full-overlay-header{border-top:0;border-bottom:1px solid #fff;box-shadow:inset 0 -1px 0 0 #dfdfdf}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:0;border-top:1px solid #dfdfdf;box-shadow:inset 0 1px 0 0 #fff}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.wp-full-overlay-sidebar-content .accordion-section:first-child{border-top:1px solid #fff}.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;border-radius:50%;text-decoration:none}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;left:100%}.wp-full-overlay .collapse-sidebar-arrow{position:absolute;margin-top:2px;margin-left:2px;display:block;width:15px;height:15px;background:transparent url(../images/arrows.png) no-repeat -1px -73px}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;left:100%;color:gray;line-height:20px;margin-left:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay .collapse-sidebar:hover .collapse-sidebar-label{color:#666}.wp-full-overlay,.wp-full-overlay-sidebar,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main{-webkit-transition-property:left,right,top,bottom,width,margin;-moz-transition-property:left,right,top,bottom,width,margin;-ms-transition-property:left,right,top,bottom,width,margin;-o-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;-moz-transition-duration:.2s;-ms-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-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/wpspin_light.gif) no-repeat fixed center center;background-size:16px 16px}#customize-container iframe,#theme-installer iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#theme-installer{display:none}#theme-installer.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 20px}.single-theme .install-theme-info{padding-top:15px}#theme-installer .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}.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-holder{margin:14px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%}#template div{margin-right:190px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:700;margin:0 6px}.row-title{font-size:13px!important;font-weight:700}.column-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{visibility:hidden;padding:2px 0 0}tr:hover .row-actions,.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto}.tagchecklist strong{margin-left:-8px;position:absolute}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default}.tagchecklist span a{margin:4px 0 0 -10px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3,.metabox-holder h3{font-size:15px;font-weight:400;padding:7px 10px;margin:0;line-height:1}#poststuff .inside{margin:6px 0 8px}#poststuff .inside #parent_id,#poststuff .inside #page_template{max-width:100%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 #poststuff .inside #parent_id,.ie8 #poststuff .inside #page_template,.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{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}#templateside ul li a{text-decoration:none}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}#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-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid}#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;-webkit-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid}#sidemenu li a .count-0{display:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .vers,table .column-visible,table .column-rating{text-align:left}.error-message{color:red;font-weight:700}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest p:last-child,.lp-show-latest .lp-error p{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}#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}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input{width:100%}#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:30px}#dashboard-widgets h4{font-weight:400;font-size:13px;margin:0 0 .2em;padding:0}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px}#dashboard_right_now .inside{font-size:12px;padding-top:20px}#dashboard_right_now p.sub{padding:5px 0 15px;color:#8f8f8f;font-size:14px;position:absolute;top:-17px;left:15px}#dashboard_right_now .table{margin:0;padding:0;position:relative}#dashboard_right_now .table_content{float:left;border-top-width:1px;border-top-style:solid;width:45%}#dashboard_right_now .table_discussion{float:right;border-top-width:1px;border-top-style:solid;width:45%}#dashboard_right_now table td{padding:3px 0;white-space:nowrap}#dashboard_right_now table tr.first td{border-top:0}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-size:14px;width:1%}#dashboard_right_now td.b a{font-size:18px}#dashboard_right_now td.b a:hover{color:#d54e21}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777}#dashboard_right_now .t a{white-space:nowrap}#dashboard_right_now .spam{color:red}#dashboard_right_now .waiting{color:#e66f00}#dashboard_right_now .approved{color:green}#dashboard_right_now .versions{padding:6px 10px 12px;clear:both}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px}#dashboard_recent_comments h3{margin-bottom:0}#dashboard_recent_comments .inside{margin-top:0}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:sans-serif;font-size:10px}#dashboard_recent_comments .subsubsub{float:none;white-space:normal}#the-comment-list{position:relative}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid}#the-comment-list .pingback{padding-left:9px!important}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px}#the-comment-list .comment-item:first-child{border-top:0}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0}#the-comment-list .comment-item h4{line-height:1.7em;margin-top:-.4em;color:#777}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:12px}.no-js #dashboard_quick_press{display:none}#dashboard_quick_press .easy-blogging{padding:0 8px;text-align:left}#dashboard_quick_press .input-text-wrap{position:relative}#dashboard_quick_press .prompt{color:#bbb;position:absolute}#dashboard_quick_press div.updated{padding:0 5px}#title-wrap label,#tags-input-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;line-height:100%;outline:0}#tags-input-wrap #tags-input{outline:0}#title-wrap #title-prompt-text{font-size:1.3em;padding:5px 8px}#tags-input-wrap #tags-input-prompt-text{font-size:1em;padding:4px 8px}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em}#dashboard_quick_press .wp-media-buttons{margin:0 0 .2em 1px;padding:0}#dashboard_quick_press .wp-media-buttons a{color:#777}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 .7em 0 1px}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right}#dashboard-widgets #dashboard_quick_press form p.submit .spinner{vertical-align:middle;margin:4px 6px 0 0}#dashboard_recent_drafts ul,#dashboard_recent_drafts p{margin:0;padding:0;word-wrap:break-word}#dashboard_recent_drafts ul{list-style:none}#dashboard_recent_drafts ul li{margin-bottom:1em}#dashboard_recent_drafts h4{line-height:1.7em;word-wrap:break-word}#dashboard_recent_drafts h4 abbr{font-weight:400;font-family:sans-serif;font-size:12px;color:#999;margin-left:3px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:13px;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:12px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}#dashboard_plugins h4{line-height:1.7em}#dashboard_plugins h5{font-weight:400;font-size:13px;margin:0;display:inline;line-height:1.4em}#dashboard_plugins h5 a{line-height:1.4em}#dashboard_plugins .inside span{font-size:12px;padding-left:5px}#dashboard_plugins p{margin:.3em 0 1.4em;line-height:1.4em}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:700}#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;text-shadow:none;background:transparent none;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag.browser-insecure a.browse-happy-link,#dashboard_browser_nag.browser-insecure a.update-browser-link{text-shadow:#871b15 0 1px 0}#dashboard_browser_nag a.browse-happy-link,#dashboard_browser_nag a.update-browser-link{text-shadow:#d29a04 0 1px 0}.login *{margin:0;padding:0}.login form{margin-left:8px;padding:26px 24px 46px;font-weight:400;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:rgba(200,200,200,.7) 0 4px 10px -1px;box-shadow:rgba(200,200,200,.7) 0 4px 10px -1px}.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{padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1 a{background-image:url(../images/wordpress-logo.png?ver=20120216);background-size:274px 63px;background-position:top center;background-repeat:no-repeat;width:326px;height:67px;text-indent:-9999px;outline:0;overflow:hidden;padding-bottom:15px;display:block}#login{width:320px;padding:114px 0 0;margin:auto}#login_error,.login .message{margin:0 0 16px 8px;padding:12px}.login #nav,.login #backtoblog{text-shadow:#fff 0 1px 0;margin:0 0 0 16px;padding:16px 16px 0}#backtoblog{padding:12px 16px 0}.login form .input,.login input[type=text]{color:#555;font-weight:200;font-size:24px;line-height:1;width:100%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;outline:0;-webkit-box-shadow:inset 1px 1px 2px rgba(200,200,200,.2);box-shadow:inset 1px 1px 2px rgba(200,200,200,.2)}.login #pass-strength-result{width:250px;font-weight:700;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login form,.mobile #login .message,.mobile #login_error{margin-left:0}.mobile #login #nav,.mobile #login #backtoblog{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}#dashboard_right_now p.musub{margin-top:12px;border-top:1px solid #ececec;padding-left:16px;position:static}.rtl #dashboard_right_now p.musub{padding-left:0;padding-right:16px}#dashboard_right_now td.b a.musublink{font-size:16px}#dashboard_right_now div.musubtable{border-top:0}#dashboard_right_now div.musubtable .t{white-space:normal}.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}.no-js #message{display:block}#nav-menu-meta ul.outer-border{-webkit-border-radius:3px;border-radius:3px}.accordion-section ul.category-tabs,.accordion-section ul.add-menu-item-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 .postbox,.metabox-holder-disabled .accordion-section-content{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{font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;-webkit-border-radius:3px;border-radius:3px}.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:0 0 10px}.menu-settings{margin-top:2em;overflow:hidden}.menu-settings dl{margin:0 0 10px;overflow:hidden;position:relative}.menu-settings dd{float:left;margin:0;width:60%}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{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%}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-width:1px 0;border-style:solid}#nav-menu-header,#nav-menu-footer{padding:0 10px}#nav-menu-header{border-bottom:1px solid;margin-bottom:13px}#nav-menu-header .menu-name-label{margin-top:2px}#nav-menu-footer{border-top:1px solid}.nav-menus-php #post-body div.updated,.nav-menus-php #post-body div.error{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:700}#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-edit-menu-link,.locations-add-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{font-style:italic}#menu-management .inside{padding:0 10px}.postbox .howto input,.accordion-container .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}#nav-menu-meta .accordion-container .top{border-top:1px solid #dfdfdf}#nav-menu-meta .accordion-container .accordion-section:first-child,#nav-menu-meta .accordion-container .accordion-section:first-child h3,#nav-menu-meta .accordion-container .top,#nav-menu-meta .accordion-container .top h3{-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px}#nav-menu-meta .accordion-container .accordion-section:last-child,#nav-menu-meta .accordion-container .accordion-section:last-child .accordion-section-content,#nav-menu-meta .accordion-container .bottom,#nav-menu-meta .accordion-container .bottom:not(.open) h3{-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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 .submitdelete,.nav-menus-php .submitcancel{display:block;float:left;margin:4px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px}.button.right,.button-secondary.right,.button-primary.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}.show-all,.hide-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:4px;display:block;float:left}.quick-search{width:190px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px}.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-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-handle{border:1px solid #dfdfdf;position:relative;padding-left:10px;height:auto;width:400px;line-height:35px;text-shadow:0 1px 0 #FFF;overflow:hidden;word-wrap:break-word}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;background-image:-webkit-gradient(linear,left bottom,left top,from(#f6c9cc),to(#fdf8ff));background-image:-webkit-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-moz-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-o-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:linear-gradient(to top,#f6c9cc,#fdf8ff)}.menu-item-edit-active .menu-item-handle{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.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;text-shadow:0 0 0}.menu-item-handle .item-title{font-size:12px;font-weight:700;padding:7px 0;line-height:20px;min-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{font-size:12px;padding-right:10px}.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:36px;overflow:hidden;text-indent:-999em;border-bottom:1px solid;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:400px;padding:10px 0 10px 10px;border:solid;border-width:0 1px 1px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.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;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 5px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:2px 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;padding:1px 2px;text-decoration:none}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px;border:0 none}#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}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block}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}div.action-links{font-weight:400;margin:6px 0 0}#plugin-information-header{margin:0;padding:0 5px;font-weight:700;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em}#plugin-information ul#sidemenu{font-weight:400;margin:0 5px;position:absolute;left:0;bottom:-1px}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .action-button a{text-align:center;font-weight:700;text-decoration:none;display:block;line-height:2em}#plugin-information h2{clear:none!important;margin-right:200px}#plugin-information .fyi{margin:0 10px 50px;width:210px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi h2.mainheader{padding:5px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}#plugin-information .fyi li{margin-right:0}#plugin-information #section-holder{padding:10px}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;max-width:100%;width:auto;height:auto}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em}#plugin-information #section-screenshots ol,#plugin-information .updated,#plugin-information pre{margin-right:215px}#plugin-information pre{padding:7px;overflow:auto}body.press-this{color:#333;margin:0;padding:0;min-width:675px;min-height:400px}img{border:0}.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;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-sidebar{float:right;width:200px;padding-top:10px}.press-this #title{margin-left:0;margin-right:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.press-this .tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0}.press-this #titlediv{margin:0}.press-this .wp-media-buttons{cursor:default;padding:8px 8px 0}.press-this .howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block}.press-this #poststuff{margin:0 10px 10px;padding:0}.press-this #photo-add-url-div input[type=text]{width:220px}#poststuff #editor-toolbar{height:30px}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0}.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 #tagsdiv-post_tag h3,.press-this #categorydiv h3{cursor:pointer}.press-this #submitdiv h3{cursor:default}h3.tb{text-shadow:0 1px 0 #fff;font-weight:700;font-size:12px;margin-left:5px}#TB_window{border:1px solid #333}.press-this .postbox,.press-this .stuffbox{margin-bottom:10px;min-width:0}.js .postbox:hover .handlediv,.js .stuffbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px}.press-this #submitdiv:hover .handlediv{background:0 0}.tbtitle{font-size:1.7em;outline:0;padding:3px 4px;border-color:#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:100px}#img_container a{display:block;float:left;overflow:hidden}#img_container img,#img_container a{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:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-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:345px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:transparent}.press-this #publishing-actions .spinner{display:inline;vertical-align:middle}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px}#TB_ajaxContent h3{margin-bottom:.25em}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden}input.newtag~div.taghint{visibility:visible}input.newtag:focus~div.taghint{visibility:hidden}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}h3 span{font-weight:400}#template textarea{font-family:Consolas,Monaco,monospace;font-size:12px;width:97%;background:#f9f9f9;outline:0}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#templateside h3,#postcustomstuff p.submit{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em;padding:0}#templateside li{margin:4px 0}#templateside ul li a span.highlight{display:block}.nonessential{font-size:11px;font-style:italic;padding-left:12px}.highlight{padding:3px 3px 3px 12px;margin-left:-12px;font-weight:700;border:0 none}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:top;font-weight:700}.fileedit-sub{padding:10px 0 8px;line-height:180%}#filter-box{clear:both}.feature-filter{padding:8px 12px 0}.feature-filter .feature-group{float:left;margin:5px 10px 10px}.feature-filter .feature-group li{display:inline-block;vertical-align:top;list-style-type:none;padding-right:25px;width:150px}.feature-container{width:100%;overflow:auto;margin-bottom:10px}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px}div#widgets-left{margin-left:5px;margin-right:325px}div#widgets-right{width:285px;margin:0 auto}div.widget-liquid-right{float:right;clear:right;width:300px}.widget-liquid-right .widget,.inactive-sidebar .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden}.widget-liquid-right .sidebar-description{margin-bottom:10px}.inactive-sidebar .widget{margin:0 10px 20px;display:inline-block}div.sidebar-name h3{font-weight:400;font-size:15px;margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}div.sidebar-name{font-size:13px;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px}.js .sidebar-name{cursor:pointer}.js .closed .sidebar-name{-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none}.widget-liquid-right .widgets-sortables{padding:15px 0 0}#available-widgets .widget-holder{padding:7px 5px 0}#available-widgets .widget{-webkit-box-shadow:none;box-shadow:none}.inactive-sidebar{padding:5px 5px 0}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;background:transparent;display:inline-block;vertical-align:top}#widget-list .widget-description{padding:5px 8px}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:27px;width:250px}.inactive-sidebar .widget-placeholder{margin:0 10px 20px;float:left}div.widgets-holder-wrap{padding:0;margin:10px 0 20px}#widgets-left #available-widgets{background-color:transparent;border:0 none}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px}.widget .widget-top{margin-bottom:-1px;font-size:12px;font-weight:700;height:26px;overflow:hidden}.widget-top .widget-title{padding:7px 9px}.widget-top .widget-title-action{float:right}a.widget-action{display:block;width:24px;height:26px}#available-widgets a.widget-action{display:none}.widget-top a.widget-action{background:transparent url(../images/arrows.png) no-repeat 4px 6px}.widget-top a.widget-action:hover{background:transparent url(../images/arrows-dark.png) no-repeat 4px 6px}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:12px;line-height:16px}.widget-inside,.widget-description{display:none}#available-widgets .widget-description{display:block}.widget .widget-inside p{margin:0 0 1em;padding:0}.widget-title h4{margin:0;padding-bottom:.2em;line-height:1;overflow:hidden;white-space:nowrap}.widgets-sortables{min-height:90px}.widget-control-actions{margin-top:8px}.widget-control-actions a{text-decoration:none}.widget-control-actions a:hover{text-decoration:underline}.widget-control-actions div.alignleft{margin-top:6px}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:12px}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:0}.widget-control-edit{display:block;font-size:12px;font-weight:400;line-height:26px;padding:0 8px 0 0}a.widget-control-edit{text-decoration:none}.widget-control-edit .add,.widget-control-edit .edit{display:none}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,.inactive-sidebar .widget-control-edit .edit{display:inline}.editwidget{margin:0 auto 15px}.editwidget .widget-inside{display:block;padding:10px}.inactive p.description{margin:5px 15px 10px}#available-widgets p.description{margin:0 12px 12px}.widget-position{margin-top:8px}.inactive{padding-top:2px}.sidebar-name .spinner{float:none;margin:0 3px -3px}.sidebar-name-arrow{float:right;height:29px;width:26px}.widget-title .in-widget-title{font-size:12px;white-space:nowrap}#removing-widget{display:none;font-weight:400;padding-left:15px;font-size:12px;line-height:1}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block}.widgets_access .closed .sidebar-name{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.ui-sortable,.ui-draggable{-ms-touch-action:none}.accordion-section{border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;margin:0}.accordion-section:first-child{border-top:1px solid #dfdfdf}.accordion-section:last-child{box-shadow:0 1px 0 0 #fff}.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:#fdfdfd;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf}.accordion-section-title{margin:0;padding:15px 20px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{content:'';width:0;height:0;border-color:#ccc transparent;border-style:solid;border-width:6px 6px 0;position:absolute;top:25px;right:20px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:hover:after,.accordion-section-title:focus: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{padding:10px 20px;color:#464646;font-size:15px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:400;text-shadow:0 1px 0 #fff;background:#f5f5f5;background-image:-webkit-gradient(linear,left bottom,left top,from(#eee),to(#f5f5f5));background-image:-webkit-linear-gradient(bottom,#eee,#f5f5f5);background-image:-moz-linear-gradient(bottom,#eee,#f5f5f5);background-image:-o-linear-gradient(bottom,#eee,#f5f5f5);background-image:linear-gradient(to top,#eee,#f5f5f5)}.control-section .accordion-section-title:after{top:15px}.js .control-section:hover .accordion-section-title,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section .accordion-section-title:focus{color:#000;background:#f9f9f9;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (max-width:768px){#col-left{width:100%}#col-right{width:100%}}@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{width:100%}#col-right{width:100%}.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 print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.press-this .tagchecklist span a{background-image:url(../images/xit-2x.gif);background-size:20px auto}.js .postbox:hover .handlediv,.js .stuffbox:hover .handlediv,.widget-top a.widget-action{background-image:url(../images/arrows-2x.png);background-size:15px 123px}.widget-top a.widget-action:hover{background-image:url(../images/arrows-dark-2x.png);background-size:15px 123px}.post-com-count{background-image:url(../images/bubble_bg-2x.gif);background-size:18px 100px}tr.wp-locked .locked-indicator{background-image:url(../images/lock-2x.png);background-size:16px 16px}th .comment-grey-bubble{background-image:url(../images/comment-grey-bubble-2x.png);background-size:12px 12px}.sorting-indicator{background-image:url(../images/sort-2x.gif?ver=20130102);background-size:14px 4px}#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-2x.gif) no-repeat scroll right bottom;background-size:11px 11px}div.star-holder{background:url(../images/stars-2x.png?ver=20121108) repeat-x bottom left;background-size:21px 37px}div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) repeat-x top left;background-size:21px 37px}.welcome-panel .welcome-panel-close:before{background-image:url(../images/xit-2x.gif);background-size:20px auto}.welcome-panel .welcome-icon{background-image:url(../images/welcome-icons-2x.png)}.login h1 a{background-image:url(../images/wordpress-logo-2x.png?ver=20120412);background-size:274px 63px}.wp-badge{background-image:url(../images/wp-badge-2x.png?ver=20120516);background-size:173px 194px}.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);background-size:15px 123px}.pressthis a span{background-image:url(../images/press-this-2x.png?v=20121105)}.imgedit-crop,.imgedit-rleft,.imgedit-rright,.imgedit-flipv,.imgedit-fliph,.imgedit-undo,.imgedit-redo{background-image:url(../images/imgedit-icons-2x.png);background-size:260px 64px}.spinner,.imgedit-wait,.customize-loading #customize-container{background-image:url(../images/wpspin_light-2x.gif)}.wp-slider .ui-slider-handle:before{background-image:url(../images/arrows-pr-2x.png);background-size:16px 102px}}.locale-zh-cn .howto,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn #utc-time,.locale-zh-cn #local-time,.locale-zh-cn p.install-help,.locale-zh-cn p.help,.locale-zh-cn p.description,.locale-zh-cn span.description,.locale-zh-cn .form-wrap p{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-ru-ru .inline-edit-row fieldset label span.title{width:auto;min-width:5em}.locale-ru-ru.press-this .posting{margin-right:257px}.locale-ru-ru.press-this #photo-add-url-div input[type=text]{width:255px}.locale-ru-ru.press-this #side-sortables{width:245px}.locale-ru-ru #customize-header-actions .button{padding:0 8px 1px}.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
index ac2941f28a555646b1201003a16e06a9000b6f3d..97656089ca500a484baa8b70feaa51921450be00 100644 (file)
@@ -67,11 +67,11 @@ class Custom_Background {
                if ( ! current_user_can('edit_theme_options') )
                        return;
 
                if ( ! current_user_can('edit_theme_options') )
                        return;
 
-               $this->page = $page = add_theme_page(__('Background'), __('Background'), 'edit_theme_options', 'custom-background', array(&$this, 'admin_page'));
+               $this->page = $page = add_theme_page(__('Background'), __('Background'), 'edit_theme_options', 'custom-background', array($this, 'admin_page'));
 
 
-               add_action("load-$page", array(&$this, 'admin_load'));
-               add_action("load-$page", array(&$this, 'take_action'), 49);
-               add_action("load-$page", array(&$this, 'handle_upload'), 49);
+               add_action("load-$page", array($this, 'admin_load'));
+               add_action("load-$page", array($this, 'take_action'), 49);
+               add_action("load-$page", array($this, 'handle_upload'), 49);
 
                if ( $this->admin_header_callback )
                        add_action("admin_head-$page", $this->admin_header_callback, 51);
 
                if ( $this->admin_header_callback )
                        add_action("admin_head-$page", $this->admin_header_callback, 51);
@@ -386,7 +386,8 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
                $thumbnail = wp_get_attachment_image_src( $id, 'thumbnail' );
                set_theme_mod('background_image_thumb', esc_url_raw( $thumbnail[0] ) );
 
                $thumbnail = wp_get_attachment_image_src( $id, 'thumbnail' );
                set_theme_mod('background_image_thumb', esc_url_raw( $thumbnail[0] ) );
 
-               do_action('wp_create_file_in_uploads', $file, $id); // For replication
+               /** This action is documented in wp-admin/custom-header.php */
+               do_action( 'wp_create_file_in_uploads', $file, $id ); // For replication
                $this->updated = true;
        }
 
                $this->updated = true;
        }
 
@@ -411,6 +412,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
        public function wp_set_background_image() {
                if ( ! current_user_can('edit_theme_options') || ! isset( $_POST['attachment_id'] ) ) exit;
                $attachment_id = absint($_POST['attachment_id']);
        public function wp_set_background_image() {
                if ( ! current_user_can('edit_theme_options') || ! isset( $_POST['attachment_id'] ) ) exit;
                $attachment_id = absint($_POST['attachment_id']);
+               /** This filter is documented in wp-admin/includes/media.php */
                $sizes = array_keys(apply_filters( 'image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')) ));
                $size = 'thumbnail';
                if ( in_array( $_POST['size'], $sizes ) )
                $sizes = array_keys(apply_filters( 'image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')) ));
                $size = 'thumbnail';
                if ( in_array( $_POST['size'], $sizes ) )
index 12288430cdaed074a7740da2a62dad182e706c65..7b1a4b30a59962b1c473735fb5de49a5ec48e367 100644 (file)
@@ -84,13 +84,13 @@ class Custom_Image_Header {
                if ( ! current_user_can('edit_theme_options') )
                        return;
 
                if ( ! current_user_can('edit_theme_options') )
                        return;
 
-               $this->page = $page = add_theme_page(__('Header'), __('Header'), 'edit_theme_options', 'custom-header', array(&$this, 'admin_page'));
+               $this->page = $page = add_theme_page(__('Header'), __('Header'), 'edit_theme_options', 'custom-header', array($this, 'admin_page'));
 
 
-               add_action("admin_print_scripts-$page", array(&$this, 'js_includes'));
-               add_action("admin_print_styles-$page", array(&$this, 'css_includes'));
-               add_action("admin_head-$page", array(&$this, 'help') );
-               add_action("admin_head-$page", array(&$this, 'take_action'), 50);
-               add_action("admin_head-$page", array(&$this, 'js'), 50);
+               add_action("admin_print_scripts-$page", array($this, 'js_includes'));
+               add_action("admin_print_styles-$page", array($this, 'css_includes'));
+               add_action("admin_head-$page", array($this, 'help') );
+               add_action("admin_head-$page", array($this, 'take_action'), 50);
+               add_action("admin_head-$page", array($this, 'js'), 50);
                if ( $this->admin_header_callback )
                        add_action("admin_head-$page", $this->admin_header_callback, 51);
        }
                if ( $this->admin_header_callback )
                        add_action("admin_head-$page", $this->admin_header_callback, 51);
        }
@@ -464,6 +464,7 @@ class Custom_Image_Header {
 <table class="form-table">
 <tbody>
 
 <table class="form-table">
 <tbody>
 
+<?php if ( get_custom_header() || display_header_text() ) : ?>
 <tr valign="top">
 <th scope="row"><?php _e( 'Preview' ); ?></th>
 <td>
 <tr valign="top">
 <th scope="row"><?php _e( 'Preview' ); ?></th>
 <td>
@@ -490,6 +491,8 @@ class Custom_Image_Header {
        <?php } ?>
 </td>
 </tr>
        <?php } ?>
 </td>
 </tr>
+<?php endif; ?>
+
 <?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
 <tr valign="top">
 <th scope="row"><?php _e( 'Select Image' ); ?></th>
 <?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?>
 <tr valign="top">
 <th scope="row"><?php _e( 'Select Image' ); ?></th>
@@ -630,6 +633,11 @@ if ( current_theme_supports( 'custom-header', 'default-text-color' ) ) {
 </table>
 <?php endif;
 
 </table>
 <?php endif;
 
+/**
+ * Fires just before the submit button in the custom header options form.
+ *
+ * @since 3.1.0
+ */
 do_action( 'custom_header_options' );
 
 wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 do_action( 'custom_header_options' );
 
 wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
@@ -687,7 +695,16 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 
                        $this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) );
 
 
                        $this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) );
 
-                       do_action('wp_create_file_in_uploads', $file, $attachment_id); // For replication
+                       /**
+                        * Fires after the header image is set or an error is returned.
+                        *
+                        * @since 2.1.0
+                        *
+                        * @param string $file          Path to the file.
+                        * @param int    $attachment_id Attachment ID.
+                        */
+                       do_action( 'wp_create_file_in_uploads', $file, $attachment_id ); // For replication
+
                        return $this->finished();
                } elseif ( $width > $max_width ) {
                        $oitar = $width / $max_width;
                        return $this->finished();
                } elseif ( $width > $max_width ) {
                        $oitar = $width / $max_width;
@@ -695,7 +712,8 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                        if ( ! $image || is_wp_error( $image ) )
                                wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
 
                        if ( ! $image || is_wp_error( $image ) )
                                wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
 
-                       $image = apply_filters('wp_create_file_in_uploads', $image, $attachment_id); // For replication
+                       /** This filter is documented in wp-admin/custom-header.php */
+                       $image = apply_filters( 'wp_create_file_in_uploads', $image, $attachment_id ); // For replication
 
                        $url = str_replace(basename($url), basename($image), $url);
                        $width = $width / $oitar;
 
                        $url = str_replace(basename($url), basename($image), $url);
                        $width = $width / $oitar;
@@ -836,7 +854,8 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                if ( ! $cropped || is_wp_error( $cropped ) )
                        wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
 
                if ( ! $cropped || is_wp_error( $cropped ) )
                        wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) );
 
-               $cropped = apply_filters('wp_create_file_in_uploads', $cropped, $attachment_id); // For replication
+               /** This filter is documented in wp-admin/custom-header.php */
+               $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication
 
                $parent = get_post($attachment_id);
                $parent_url = $parent->guid;
 
                $parent = get_post($attachment_id);
                $parent_url = $parent->guid;
@@ -867,10 +886,21 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
 
                // cleanup
                $medium = str_replace( basename( $original ), 'midsize-' . basename( $original ), $original );
 
                // cleanup
                $medium = str_replace( basename( $original ), 'midsize-' . basename( $original ), $original );
-               if ( file_exists( $medium ) )
+               if ( file_exists( $medium ) ) {
+                       /**
+                        * Filter the path of the file to delete.
+                        *
+                        * @since 2.1.0
+                        *
+                        * @param string $medium Path to the file to delete.
+                        */
                        @unlink( apply_filters( 'wp_delete_file', $medium ) );
                        @unlink( apply_filters( 'wp_delete_file', $medium ) );
-               if ( empty( $_POST['create-new-attachment'] ) && empty( $_POST['skip-cropping'] ) )
+               }
+
+               if ( empty( $_POST['create-new-attachment'] ) && empty( $_POST['skip-cropping'] ) ) {
+                       /** This filter is documented in wp-admin/custom-header.php */
                        @unlink( apply_filters( 'wp_delete_file', $original ) );
                        @unlink( apply_filters( 'wp_delete_file', $original ) );
+               }
 
                return $this->finished();
        }
 
                return $this->finished();
        }
index a9e05c2fd5a41f6fd05ea30fcac2a06452130f92..7f26586ab8f30c28c02fa9e1b196448e89de3b1f 100644 (file)
@@ -9,7 +9,7 @@
 
 define( 'IFRAME_REQUEST', true );
 
 
 define( 'IFRAME_REQUEST', true );
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( ! current_user_can( 'edit_theme_options' ) )
        wp_die( __( 'Cheatin&#8217; uh?' ) );
 
 if ( ! current_user_can( 'edit_theme_options' ) )
        wp_die( __( 'Cheatin&#8217; uh?' ) );
 
@@ -31,6 +31,11 @@ add_action( 'customize_controls_print_scripts',        'print_head_scripts', 20
 add_action( 'customize_controls_print_footer_scripts', '_wp_footer_scripts'     );
 add_action( 'customize_controls_print_styles',         'print_admin_styles', 20 );
 
 add_action( 'customize_controls_print_footer_scripts', '_wp_footer_scripts'     );
 add_action( 'customize_controls_print_styles',         'print_admin_styles', 20 );
 
+/**
+ * Fires when Customizer controls are initialized, before scripts are enqueued.
+ *
+ * @since 3.4.0
+ */
 do_action( 'customize_controls_init' );
 
 wp_enqueue_script( 'customize-controls' );
 do_action( 'customize_controls_init' );
 
 wp_enqueue_script( 'customize-controls' );
@@ -38,6 +43,11 @@ wp_enqueue_style( 'customize-controls' );
 
 wp_enqueue_script( 'accordion' );
 
 
 wp_enqueue_script( 'accordion' );
 
+/**
+ * Enqueue Customizer control scripts.
+ *
+ * @since 3.4.0
+ */
 do_action( 'customize_controls_enqueue_scripts' );
 
 // Let's roll.
 do_action( 'customize_controls_enqueue_scripts' );
 
 // Let's roll.
@@ -66,7 +76,18 @@ $body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '
 $admin_title = sprintf( __( '%1$s &#8212; WordPress' ), strip_tags( sprintf( __( 'Customize %s' ), $wp_customize->theme()->display('Name') ) ) );
 ?><title><?php echo $admin_title; ?></title><?php
 
 $admin_title = sprintf( __( '%1$s &#8212; WordPress' ), strip_tags( sprintf( __( 'Customize %s' ), $wp_customize->theme()->display('Name') ) ) );
 ?><title><?php echo $admin_title; ?></title><?php
 
+/**
+ * Print Customizer control styles.
+ *
+ * @since 3.4.0
+ */
 do_action( 'customize_controls_print_styles' );
 do_action( 'customize_controls_print_styles' );
+
+/**
+ * Print Customizer control scripts.
+ *
+ * @since 3.4.0
+ */
 do_action( 'customize_controls_print_scripts' );
 ?>
 </head>
 do_action( 'customize_controls_print_scripts' );
 ?>
 </head>
@@ -129,6 +150,11 @@ do_action( 'customize_controls_print_scripts' );
        <div id="customize-preview" class="wp-full-overlay-main"></div>
        <?php
 
        <div id="customize-preview" class="wp-full-overlay-main"></div>
        <?php
 
+       /**
+        * Print Customizer control scripts in the footer.
+        *
+        * @since 3.4.0
+        */
        do_action( 'customize_controls_print_footer_scripts' );
 
        // If the frontend and the admin are served from the same domain, load the
        do_action( 'customize_controls_print_footer_scripts' );
 
        // If the frontend and the admin are served from the same domain, load the
@@ -146,6 +172,13 @@ do_action( 'customize_controls_print_scripts' );
        if ( is_ssl() && ! $cross_domain )
                $allowed_urls[] = home_url( '/', 'https' );
 
        if ( is_ssl() && ! $cross_domain )
                $allowed_urls[] = home_url( '/', 'https' );
 
+       /**
+        * Filter the list of URLs allowed to be clicked and followed in the Customizer preview.
+        *
+        * @since 3.4.0
+        *
+        * @param array $allowed_urls An array of allowed URLs.
+        */
        $allowed_urls = array_unique( apply_filters( 'customize_allowed_urls', $allowed_urls ) );
 
        $fallback_url = add_query_arg( array(
        $allowed_urls = array_unique( apply_filters( 'customize_allowed_urls', $allowed_urls ) );
 
        $fallback_url = add_query_arg( array(
index 889270938b2c1668dc8351e5fe91115d07f357a4..f084ab5fc5e73b2a14b1fc62434de129263d51a3 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( !current_user_can('edit_posts') )
        wp_die(__('Cheatin&#8217; uh?'));
 
 if ( !current_user_can('edit_posts') )
        wp_die(__('Cheatin&#8217; uh?'));
 
@@ -136,7 +136,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
-require_once('./admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -153,7 +153,7 @@ else
        echo __('Comments');
 
 if ( isset($_REQUEST['s']) && $_REQUEST['s'] )
        echo __('Comments');
 
 if ( isset($_REQUEST['s']) && $_REQUEST['s'] )
-       printf( '<span class="subtitle">' . sprintf( __( 'Search results for &#8220;%s&#8221;' ), wp_html_excerpt( esc_html( wp_unslash( $_REQUEST['s'] ) ), 50, '&hellip;' ) ) . '</span>' ); ?>
+       echo '<span class="subtitle">' . sprintf( __( 'Search results for &#8220;%s&#8221;' ), wp_html_excerpt( esc_html( wp_unslash( $_REQUEST['s'] ) ), 50, '&hellip;' ) ) . '</span>'; ?>
 </h2>
 
 <?php
 </h2>
 
 <?php
@@ -252,4 +252,4 @@ if ( isset($_REQUEST['approved']) || isset($_REQUEST['deleted']) || isset($_REQU
 <?php
 wp_comment_reply('-1', true, 'detail');
 wp_comment_trashnotice();
 <?php
 wp_comment_reply('-1', true, 'detail');
 wp_comment_trashnotice();
-include('./admin-footer.php'); ?>
+include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index f3a65e52cc1f56508c27e71e59bd90815b2d1f5b..dab3f84e5e8a2647bde6e079ce8b9c8ea850611e 100644 (file)
@@ -32,6 +32,9 @@ if ( post_type_supports($post_type, 'editor') || post_type_supports($post_type,
 // Add the local autosave notice HTML
 add_action( 'admin_footer', '_local_storage_notice' );
 
 // Add the local autosave notice HTML
 add_action( 'admin_footer', '_local_storage_notice' );
 
+/*
+ * @todo Document the $messages array(s).
+ */
 $messages = array();
 $messages['post'] = array(
         0 => '', // Unused. Messages start at index 1.
 $messages = array();
 $messages['post'] = array(
         0 => '', // Unused. Messages start at index 1.
@@ -64,6 +67,13 @@ $messages['page'] = array(
 );
 $messages['attachment'] = array_fill( 1, 10, __( 'Media attachment updated.' ) ); // Hack, for now.
 
 );
 $messages['attachment'] = array_fill( 1, 10, __( 'Media attachment updated.' ) ); // Hack, for now.
 
+/**
+ * Filter the post updated messages.
+ *
+ * @since 3.0.0
+ *
+ * @param array $messages Post updated messages. For defaults @see $messages declarations above.
+ */
 $messages = apply_filters( 'post_updated_messages', $messages );
 
 $message = false;
 $messages = apply_filters( 'post_updated_messages', $messages );
 
 $message = false;
@@ -107,17 +117,13 @@ if ( $autosave && mysql2date( 'U', $autosave->post_modified_gmt, false ) > mysql
 $post_type_object = get_post_type_object($post_type);
 
 // All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action).
 $post_type_object = get_post_type_object($post_type);
 
 // All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action).
-require_once('./includes/meta-boxes.php');
+require_once( ABSPATH . 'wp-admin/includes/meta-boxes.php' );
 
 
 $publish_callback_args = null;
 if ( post_type_supports($post_type, 'revisions') && 'auto-draft' != $post->post_status ) {
        $revisions = wp_get_post_revisions( $post_ID );
 
 
 
 $publish_callback_args = null;
 if ( post_type_supports($post_type, 'revisions') && 'auto-draft' != $post->post_status ) {
        $revisions = wp_get_post_revisions( $post_ID );
 
-       // Check if the revisions have been upgraded
-       if ( ! empty( $revisions ) && _wp_get_post_revision_version( end( $revisions ) ) < 1 )
-               _wp_upgrade_revisions_of_post( $post, $revisions );
-
        // We should aim to show the revisions metabox only when there are revisions.
        if ( count( $revisions ) > 1 ) {
                reset( $revisions ); // Reset pointer for key()
        // We should aim to show the revisions metabox only when there are revisions.
        if ( count( $revisions ) > 1 ) {
                reset( $revisions ); // Reset pointer for key()
@@ -140,16 +146,18 @@ if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post_type,
 
 // all taxonomies
 foreach ( get_object_taxonomies( $post ) as $tax_name ) {
 
 // all taxonomies
 foreach ( get_object_taxonomies( $post ) as $tax_name ) {
-       $taxonomy = get_taxonomy($tax_name);
+       $taxonomy = get_taxonomy( $tax_name );
        if ( ! $taxonomy->show_ui )
                continue;
 
        $label = $taxonomy->labels->name;
 
        if ( ! $taxonomy->show_ui )
                continue;
 
        $label = $taxonomy->labels->name;
 
-       if ( !is_taxonomy_hierarchical($tax_name) )
-               add_meta_box('tagsdiv-' . $tax_name, $label, 'post_tags_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name ));
+       if ( ! is_taxonomy_hierarchical( $tax_name ) )
+               $tax_meta_box_id = 'tagsdiv-' . $tax_name;
        else
        else
-               add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name ));
+               $tax_meta_box_id = $tax_name . 'div';
+
+       add_meta_box( $tax_meta_box_id, $label, $taxonomy->meta_box_cb, null, 'side', 'core', array( 'taxonomy' => $tax_name ) );
 }
 
 if ( post_type_supports($post_type, 'page-attributes') )
 }
 
 if ( post_type_supports($post_type, 'page-attributes') )
@@ -174,7 +182,16 @@ if ( post_type_supports($post_type, 'trackbacks') )
 if ( post_type_supports($post_type, 'custom-fields') )
        add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', null, 'normal', 'core');
 
 if ( post_type_supports($post_type, 'custom-fields') )
        add_meta_box('postcustom', __('Custom Fields'), 'post_custom_meta_box', null, 'normal', 'core');
 
-do_action('dbx_post_advanced', $post);
+/**
+ * Fires in the middle of built-in meta box registration.
+ *
+ * @since 2.1.0
+ * @deprecated 3.7.0 Use 'add_meta_boxes' instead.
+ *
+ * @param WP_Post $post Post object.
+ */
+do_action( 'dbx_post_advanced', $post );
+
 if ( post_type_supports($post_type, 'comments') )
        add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', null, 'normal', 'core');
 
 if ( post_type_supports($post_type, 'comments') )
        add_meta_box('commentstatusdiv', __('Discussion'), 'post_comment_status_meta_box', null, 'normal', 'core');
 
@@ -189,12 +206,43 @@ if ( post_type_supports($post_type, 'author') ) {
                add_meta_box('authordiv', __('Author'), 'post_author_meta_box', null, 'normal', 'core');
 }
 
                add_meta_box('authordiv', __('Author'), 'post_author_meta_box', null, 'normal', 'core');
 }
 
-do_action('add_meta_boxes', $post_type, $post);
-do_action('add_meta_boxes_' . $post_type, $post);
+/**
+ * Fires after all built-in meta boxes have been added.
+ *
+ * @since 3.0.0
+ *
+ * @param string  $post_type Post type.
+ * @param WP_Post $post      Post object.
+ */
+do_action( 'add_meta_boxes', $post_type, $post );
+
+/**
+ * Fires after all built-in meta boxes have been added, contextually for the given post type.
+ *
+ * The dynamic portion of the hook, $post_type, refers to the post type of the post.
+ *
+ * @since 3.0.0
+ *
+ * @param WP_Post $post Post object.
+ */
+do_action( 'add_meta_boxes_' . $post_type, $post );
 
 
-do_action('do_meta_boxes', $post_type, 'normal', $post);
-do_action('do_meta_boxes', $post_type, 'advanced', $post);
-do_action('do_meta_boxes', $post_type, 'side', $post);
+/**
+ * Fires after meta boxes have been added.
+ *
+ * Fires once for each of the default meta box contexts: normal, advanced, and side.
+ *
+ * @since 3.0.0
+ *
+ * @param string  $post_type Post type of the post.
+ * @param string  $context   string  Meta box context.
+ * @param WP_Post $post      Post object.
+ */
+do_action( 'do_meta_boxes', $post_type, 'normal', $post );
+/** This action is documented in wp-admin/edit-form-advanced.php */
+do_action( 'do_meta_boxes', $post_type, 'advanced', $post );
+/** This action is documented in wp-admin/edit-form-advanced.php */
+do_action( 'do_meta_boxes', $post_type, 'side', $post );
 
 add_screen_option('layout_columns', array('max' => 2, 'default' => 2) );
 
 
 add_screen_option('layout_columns', array('max' => 2, 'default' => 2) );
 
@@ -307,7 +355,7 @@ if ( 'post' == $post_type ) {
        ) );
 }
 
        ) );
 }
 
-require_once('./admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -315,7 +363,7 @@ require_once('./admin-header.php');
 <h2><?php
 echo esc_html( $title );
 if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create_posts ) )
 <h2><?php
 echo esc_html( $title );
 if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create_posts ) )
-       echo ' <a href="' . esc_url( $post_new_file ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
+       echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
 ?></h2>
 <?php if ( $notice ) : ?>
 <div id="notice" class="error"><p id="has-newer-autosave"><?php echo $notice ?></p></div>
 ?></h2>
 <?php if ( $notice ) : ?>
 <div id="notice" class="error"><p id="has-newer-autosave"><?php echo $notice ?></p></div>
@@ -328,8 +376,16 @@ if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create
        <span class="hide-if-no-sessionstorage"><?php _e( 'We&#8217;re backing up this post in your browser, just in case.' ); ?></span>
        </p>
 </div>
        <span class="hide-if-no-sessionstorage"><?php _e( 'We&#8217;re backing up this post in your browser, just in case.' ); ?></span>
        </p>
 </div>
-
-<form name="post" action="post.php" method="post" id="post"<?php do_action('post_edit_form_tag', $post); ?>>
+<?php
+/**
+ * Fires inside the post editor <form> tag.
+ *
+ * @since 3.0.0
+ *
+ * @param WP_Post $post Post object.
+ */
+?>
+<form name="post" action="post.php" method="post" id="post"<?php do_action( 'post_edit_form_tag', $post ); ?>>
 <?php wp_nonce_field($nonce_action); ?>
 <input type="hidden" id="user-id" name="user_ID" value="<?php echo (int) $user_ID ?>" />
 <input type="hidden" id="hiddenaction" name="action" value="<?php echo esc_attr( $form_action ) ?>" />
 <?php wp_nonce_field($nonce_action); ?>
 <input type="hidden" id="user-id" name="user_ID" value="<?php echo (int) $user_ID ?>" />
 <input type="hidden" id="hiddenaction" name="action" value="<?php echo esc_attr( $form_action ) ?>" />
@@ -352,6 +408,18 @@ wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
 ?>
 
 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
 ?>
 
+<?php
+/**
+ * Fires at the beginning of the edit form.
+ *
+ * At this point, the required hidden fields and nonces have already been output.
+ *
+ * @since 3.7.0
+ *
+ * @param WP_Post $post Post object.
+ */
+do_action( 'edit_form_top', $post ); ?>
+
 <div id="poststuff">
 <div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
 <div id="post-body-content">
 <div id="poststuff">
 <div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
 <div id="post-body-content">
@@ -359,6 +427,16 @@ wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
 <?php if ( post_type_supports($post_type, 'title') ) { ?>
 <div id="titlediv">
 <div id="titlewrap">
 <?php if ( post_type_supports($post_type, 'title') ) { ?>
 <div id="titlediv">
 <div id="titlewrap">
+       <?php
+       /**
+        * Filter the title field placeholder text.
+        *
+        * @since 3.1.0
+        *
+        * @param string  $text Placeholder text. Default 'Enter title here'.
+        * @param WP_Post $post Post object.
+        */
+       ?>
        <label class="screen-reader-text" id="title-prompt-text" for="title"><?php echo apply_filters( 'enter_title_here', __( 'Enter title here' ), $post ); ?></label>
        <input type="text" name="post_title" size="30" value="<?php echo esc_attr( htmlspecialchars( $post->post_title ) ); ?>" id="title" autocomplete="off" />
 </div>
        <label class="screen-reader-text" id="title-prompt-text" for="title"><?php echo apply_filters( 'enter_title_here', __( 'Enter title here' ), $post ); ?></label>
        <input type="text" name="post_title" size="30" value="<?php echo esc_attr( htmlspecialchars( $post->post_title ) ); ?>" id="title" autocomplete="off" />
 </div>
@@ -366,7 +444,8 @@ wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
 <?php
 $sample_permalink_html = $post_type_object->public ? get_sample_permalink_html($post->ID) : '';
 $shortlink = wp_get_shortlink($post->ID, 'post');
 <?php
 $sample_permalink_html = $post_type_object->public ? get_sample_permalink_html($post->ID) : '';
 $shortlink = wp_get_shortlink($post->ID, 'post');
-if ( !empty($shortlink) )
+$permalink = get_permalink( $post->ID );
+if ( !empty( $shortlink ) && $shortlink !== $permalink && $permalink !== home_url('?page_id=' . $post->ID) )
     $sample_permalink_html .= '<input id="shortlink" type="hidden" value="' . esc_attr($shortlink) . '" /><a href="#" class="button button-small" onclick="prompt(&#39;URL:&#39;, jQuery(\'#shortlink\').val()); return false;">' . __('Get Shortlink') . '</a>';
 
 if ( $post_type_object->public && ! ( 'pending' == get_post_status( $post ) && !current_user_can( $post_type_object->cap->publish_posts ) ) ) {
     $sample_permalink_html .= '<input id="shortlink" type="hidden" value="' . esc_attr($shortlink) . '" /><a href="#" class="button button-small" onclick="prompt(&#39;URL:&#39;, jQuery(\'#shortlink\').val()); return false;">' . __('Get Shortlink') . '</a>';
 
 if ( $post_type_object->public && ! ( 'pending' == get_post_status( $post ) && !current_user_can( $post_type_object->cap->publish_posts ) ) ) {
@@ -388,7 +467,13 @@ wp_nonce_field( 'samplepermalink', 'samplepermalinknonce', false );
 </div><!-- /titlediv -->
 <?php
 }
 </div><!-- /titlediv -->
 <?php
 }
-
+/**
+ * Fires after the title field.
+ *
+ * @since 3.5.0
+ *
+ * @param WP_Post $post Post object.
+ */
 do_action( 'edit_form_after_title', $post );
 
 if ( post_type_supports($post_type, 'editor') ) {
 do_action( 'edit_form_after_title', $post );
 
 if ( post_type_supports($post_type, 'editor') ) {
@@ -407,8 +492,7 @@ if ( post_type_supports($post_type, 'editor') ) {
 <?php
        if ( 'auto-draft' != $post->post_status ) {
                echo '<span id="last-edit">';
 <?php
        if ( 'auto-draft' != $post->post_status ) {
                echo '<span id="last-edit">';
-               if ( $last_id = get_post_meta($post_ID, '_edit_last', true) ) {
-                       $last_user = get_userdata($last_id);
+               if ( $last_user = get_userdata( get_post_meta( $post_ID, '_edit_last', true ) ) ) {
                        printf(__('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified));
                } else {
                        printf(__('Last edited on %1$s at %2$s'), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified));
                        printf(__('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified));
                } else {
                        printf(__('Last edited on %1$s at %2$s'), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified));
@@ -420,7 +504,13 @@ if ( post_type_supports($post_type, 'editor') ) {
 
 </div>
 <?php }
 
 </div>
 <?php }
-
+/**
+ * Fires after the content editor.
+ *
+ * @since 3.5.0
+ *
+ * @param WP_Post $post Post object.
+ */
 do_action( 'edit_form_after_editor', $post );
 ?>
 </div><!-- /post-body-content -->
 do_action( 'edit_form_after_editor', $post );
 ?>
 </div><!-- /post-body-content -->
@@ -428,10 +518,31 @@ do_action( 'edit_form_after_editor', $post );
 <div id="postbox-container-1" class="postbox-container">
 <?php
 
 <div id="postbox-container-1" class="postbox-container">
 <?php
 
-if ( 'page' == $post_type )
-       do_action('submitpage_box', $post);
-else
-       do_action('submitpost_box', $post);
+if ( 'page' == $post_type ) {
+       /**
+        * Fires before meta boxes with 'side' context are output for the 'page' post type.
+        *
+        * The submitpage box is a meta box with 'side' context, so this hook fires just before it is output.
+        *
+        * @since 2.5.0
+        *
+        * @param WP_Post $post Post object.
+        */
+       do_action( 'submitpage_box', $post );
+}
+else {
+       /**
+        * Fires before meta boxes with 'side' context are output for all post types other than 'page'.
+        *
+        * The submitpost box is a meta box with 'side' context, so this hook fires just before it is output.
+        *
+        * @since 2.5.0
+        *
+        * @param WP_Post $post Post object.
+        */
+       do_action( 'submitpost_box', $post );
+}
+
 
 do_meta_boxes($post_type, 'side', $post);
 
 
 do_meta_boxes($post_type, 'side', $post);
 
@@ -442,18 +553,41 @@ do_meta_boxes($post_type, 'side', $post);
 
 do_meta_boxes(null, 'normal', $post);
 
 
 do_meta_boxes(null, 'normal', $post);
 
-if ( 'page' == $post_type )
-       do_action('edit_page_form', $post);
-else
-       do_action('edit_form_advanced', $post);
+if ( 'page' == $post_type ) {
+       /**
+        * Fires after 'normal' context meta boxes have been output for the 'page' post type.
+        *
+        * @since 1.5.2
+        *
+        * @param WP_Post $post Post object.
+        */
+       do_action( 'edit_page_form', $post );
+}
+else {
+       /**
+        * Fires after 'normal' context meta boxes have been output for all post types other than 'page'.
+        *
+        * @since 1.5.2
+        *
+        * @param WP_Post $post Post object.
+        */
+       do_action( 'edit_form_advanced', $post );
+}
+
 
 do_meta_boxes(null, 'advanced', $post);
 
 ?>
 </div>
 <?php
 
 do_meta_boxes(null, 'advanced', $post);
 
 ?>
 </div>
 <?php
-
-do_action('dbx_post_sidebar', $post);
+/**
+ * Fires after all meta box sections have been output, before the closing #post-body div.
+ *
+ * @since 2.1.0
+ *
+ * @param WP_Post $post Post object.
+ */
+do_action( 'dbx_post_sidebar', $post );
 
 ?>
 </div><!-- /post-body -->
 
 ?>
 </div><!-- /post-body -->
@@ -467,7 +601,7 @@ if ( post_type_supports( $post_type, 'comments' ) )
        wp_comment_reply();
 ?>
 
        wp_comment_reply();
 ?>
 
-<?php if ( (isset($post->post_title) && '' == $post->post_title) || (isset($_GET['message']) && 2 > $_GET['message']) ) : ?>
+<?php if ( post_type_supports( $post_type, 'title' ) && '' === $post->post_title ) : ?>
 <script type="text/javascript">
 try{document.post.title.focus();}catch(e){}
 </script>
 <script type="text/javascript">
 try{document.post.title.focus();}catch(e){}
 </script>
index d9a0523edfe4f92cf4aa14fbe65b142f71744fa6..07c1946e1bc291e250198569a0b84f3d0aa6d883 100644 (file)
@@ -85,13 +85,19 @@ if ( !defined('ABSPATH') )
 
 <div id="misc-publishing-actions">
 
 
 <div id="misc-publishing-actions">
 
-<div class="misc-pub-section" id="comment-status-radio">
+<div class="misc-pub-section misc-pub-comment-status" id="comment-status-radio">
 <label class="approved"><input type="radio"<?php checked( $comment->comment_approved, '1' ); ?> name="comment_status" value="1" /><?php /* translators: comment type radio button */ _ex('Approved', 'adjective') ?></label><br />
 <label class="waiting"><input type="radio"<?php checked( $comment->comment_approved, '0' ); ?> name="comment_status" value="0" /><?php /* translators: comment type radio button */ _ex('Pending', 'adjective') ?></label><br />
 <label class="spam"><input type="radio"<?php checked( $comment->comment_approved, 'spam' ); ?> name="comment_status" value="spam" /><?php /* translators: comment type radio button */ _ex('Spam', 'adjective'); ?></label>
 </div>
 
 <label class="approved"><input type="radio"<?php checked( $comment->comment_approved, '1' ); ?> name="comment_status" value="1" /><?php /* translators: comment type radio button */ _ex('Approved', 'adjective') ?></label><br />
 <label class="waiting"><input type="radio"<?php checked( $comment->comment_approved, '0' ); ?> name="comment_status" value="0" /><?php /* translators: comment type radio button */ _ex('Pending', 'adjective') ?></label><br />
 <label class="spam"><input type="radio"<?php checked( $comment->comment_approved, 'spam' ); ?> name="comment_status" value="spam" /><?php /* translators: comment type radio button */ _ex('Spam', 'adjective'); ?></label>
 </div>
 
-<div class="misc-pub-section curtime">
+<?php if ( $ip = get_comment_author_IP() ) : ?>
+<div class="misc-pub-section misc-pub-comment-author-ip">
+       <?php _e( 'IP address:' ); ?> <strong><a href="<?php echo esc_url( sprintf( 'http://whois.arin.net/rest/ip/%s', $ip ) ); ?>"><?php echo esc_html( $ip ); ?></a></strong>
+</div>
+<?php endif; ?>
+
+<div class="misc-pub-section curtime misc-pub-curtime">
 <?php
 // translators: Publish box date format, see http://php.net/date
 $datef = __( 'M j, Y @ G:i' );
 <?php
 // translators: Publish box date format, see http://php.net/date
 $datef = __( 'M j, Y @ G:i' );
index 0aca6e7bc12511d1dfe9edc2b4c1d0341cadc1a8..ad2c6e54cdedce733c67663ab4af817919e5d66e 100644 (file)
@@ -22,7 +22,7 @@ if ( ! empty($link_id) ) {
        $nonce_action = 'add-bookmark';
 }
 
        $nonce_action = 'add-bookmark';
 }
 
-require_once('./includes/meta-boxes.php');
+require_once( ABSPATH . 'wp-admin/includes/meta-boxes.php' );
 
 add_meta_box('linksubmitdiv', __('Save'), 'link_submit_meta_box', null, 'side', 'core');
 add_meta_box('linkcategorydiv', __('Categories'), 'link_categories_meta_box', null, 'normal', 'core');
 
 add_meta_box('linksubmitdiv', __('Save'), 'link_submit_meta_box', null, 'side', 'core');
 add_meta_box('linkcategorydiv', __('Categories'), 'link_categories_meta_box', null, 'normal', 'core');
@@ -33,8 +33,11 @@ add_meta_box('linkadvanceddiv', __('Advanced'), 'link_advanced_meta_box', null,
 do_action('add_meta_boxes', 'link', $link);
 do_action('add_meta_boxes_link', $link);
 
 do_action('add_meta_boxes', 'link', $link);
 do_action('add_meta_boxes_link', $link);
 
+/** This action is documented in wp-admin/edit-form-advanced.php */
 do_action('do_meta_boxes', 'link', 'normal', $link);
 do_action('do_meta_boxes', 'link', 'normal', $link);
+/** This action is documented in wp-admin/edit-form-advanced.php */
 do_action('do_meta_boxes', 'link', 'advanced', $link);
 do_action('do_meta_boxes', 'link', 'advanced', $link);
+/** This action is documented in wp-admin/edit-form-advanced.php */
 do_action('do_meta_boxes', 'link', 'side', $link);
 
 add_screen_option('layout_columns', array('max' => 2, 'default' => 2) );
 do_action('do_meta_boxes', 'link', 'side', $link);
 
 add_screen_option('layout_columns', array('max' => 2, 'default' => 2) );
@@ -54,7 +57,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
-require_once ('admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -82,7 +85,7 @@ wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
 <div id="namediv" class="stuffbox">
 <h3><label for="link_name"><?php _ex('Name', 'link name') ?></label></h3>
 <div class="inside">
 <div id="namediv" class="stuffbox">
 <h3><label for="link_name"><?php _ex('Name', 'link name') ?></label></h3>
 <div class="inside">
-       <input type="text" name="link_name" size="30" value="<?php echo esc_attr($link->link_name); ?>" id="link_name" />
+       <input type="text" name="link_name" size="30" maxlength="255" value="<?php echo esc_attr($link->link_name); ?>" id="link_name" />
     <p><?php _e('Example: Nifty blogging software'); ?></p>
 </div>
 </div>
     <p><?php _e('Example: Nifty blogging software'); ?></p>
 </div>
 </div>
@@ -90,7 +93,7 @@ wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
 <div id="addressdiv" class="stuffbox">
 <h3><label for="link_url"><?php _e('Web Address') ?></label></h3>
 <div class="inside">
 <div id="addressdiv" class="stuffbox">
 <h3><label for="link_url"><?php _e('Web Address') ?></label></h3>
 <div class="inside">
-       <input type="text" name="link_url" size="30" class="code" value="<?php echo esc_attr($link->link_url); ?>" id="link_url" />
+       <input type="text" name="link_url" size="30" maxlength="255" class="code" value="<?php echo esc_attr($link->link_url); ?>" id="link_url" />
     <p><?php _e('Example: <code>http://wordpress.org/</code> &#8212; don&#8217;t forget the <code>http://</code>'); ?></p>
 </div>
 </div>
     <p><?php _e('Example: <code>http://wordpress.org/</code> &#8212; don&#8217;t forget the <code>http://</code>'); ?></p>
 </div>
 </div>
@@ -98,7 +101,7 @@ wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
 <div id="descriptiondiv" class="stuffbox">
 <h3><label for="link_description"><?php _e('Description') ?></label></h3>
 <div class="inside">
 <div id="descriptiondiv" class="stuffbox">
 <h3><label for="link_description"><?php _e('Description') ?></label></h3>
 <div class="inside">
-       <input type="text" name="link_description" size="30" value="<?php echo isset($link->link_description) ? esc_attr($link->link_description) : ''; ?>" id="link_description" />
+       <input type="text" name="link_description" size="30" maxlength="255" value="<?php echo isset($link->link_description) ? esc_attr($link->link_description) : ''; ?>" id="link_description" />
     <p><?php _e('This will be shown when someone hovers over the link in the blogroll, or optionally below the link.'); ?></p>
 </div>
 </div>
     <p><?php _e('This will be shown when someone hovers over the link in the blogroll, or optionally below the link.'); ?></p>
 </div>
 </div>
index 034642ad5ba1be3c6b7050fbf72afee0f572c936..b8f412531589d36eb568cd32cf1aa5c6ba71b541 100644 (file)
@@ -30,7 +30,7 @@ do_action($taxonomy . '_pre_edit_form', $tag, $taxonomy); ?>
 <?php screen_icon(); ?>
 <h2><?php echo $tax->labels->edit_item; ?></h2>
 <div id="ajax-response"></div>
 <?php screen_icon(); ?>
 <h2><?php echo $tax->labels->edit_item; ?></h2>
 <div id="ajax-response"></div>
-<form name="edittag" id="edittag" method="post" action="edit-tags.php" class="validate">
+<form name="edittag" id="edittag" method="post" action="edit-tags.php" class="validate"<?php do_action( $taxonomy . '_term_edit_form_tag' ); ?>>
 <input type="hidden" name="action" value="editedtag" />
 <input type="hidden" name="tag_ID" value="<?php echo esc_attr($tag->term_id) ?>" />
 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy) ?>" />
 <input type="hidden" name="action" value="editedtag" />
 <input type="hidden" name="tag_ID" value="<?php echo esc_attr($tag->term_id) ?>" />
 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy) ?>" />
index 8375202df25bd367f3d05cffe8b3e8a1b3bd8ccd..0a046370b3587696c818403415c125d4aafdaf9d 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! $taxnow )
        wp_die( __( 'Invalid taxonomy' ) );
 
 if ( ! $taxnow )
        wp_die( __( 'Invalid taxonomy' ) );
@@ -126,8 +126,8 @@ case 'edit':
        $tag = get_term( $tag_ID, $taxonomy, OBJECT, 'edit' );
        if ( ! $tag )
                wp_die( __( 'You attempted to edit an item that doesn&#8217;t exist. Perhaps it was deleted?' ) );
        $tag = get_term( $tag_ID, $taxonomy, OBJECT, 'edit' );
        if ( ! $tag )
                wp_die( __( 'You attempted to edit an item that doesn&#8217;t exist. Perhaps it was deleted?' ) );
-       require_once ( 'admin-header.php' );
-       include( './edit-tag-form.php' );
+       require_once( ABSPATH . 'wp-admin/admin-header.php' );
+       include( ABSPATH . 'wp-admin/edit-tag-form.php' );
 
 break;
 
 
 break;
 
@@ -247,17 +247,49 @@ if ( 'category' == $taxonomy || 'link_category' == $taxonomy || 'post_tag' == $t
        unset( $help );
 }
 
        unset( $help );
 }
 
-require_once ('admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( !current_user_can($tax->cap->edit_terms) )
        wp_die( __('You are not allowed to edit this item.') );
 
 
 if ( !current_user_can($tax->cap->edit_terms) )
        wp_die( __('You are not allowed to edit this item.') );
 
-$messages[1] = __('Item added.');
-$messages[2] = __('Item deleted.');
-$messages[3] = __('Item updated.');
-$messages[4] = __('Item not added.');
-$messages[5] = __('Item not updated.');
-$messages[6] = __('Items deleted.');
+$messages = array();
+$messages['_item'] = array(
+       0 => '', // Unused. Messages start at index 1.
+       1 => __( 'Item added.' ),
+       2 => __( 'Item deleted.' ),
+       3 => __( 'Item updated.' ),
+       4 => __( 'Item not added.' ),
+       5 => __( 'Item not updated.' ),
+       6 => __( 'Items deleted.' )
+);
+$messages['category'] = array(
+       0 => '', // Unused. Messages start at index 1.
+       1 => __( 'Category added.' ),
+       2 => __( 'Category deleted.' ),
+       3 => __( 'Category updated.' ),
+       4 => __( 'Category not added.' ),
+       5 => __( 'Category not updated.' ),
+       6 => __( 'Categories deleted.' )
+);
+$messages['post_tag'] = array(
+       0 => '', // Unused. Messages start at index 1.
+       1 => __( 'Tag added.' ),
+       2 => __( 'Tag deleted.' ),
+       3 => __( 'Tag updated.' ),
+       4 => __( 'Tag not added.' ),
+       5 => __( 'Tag not updated.' ),
+       6 => __( 'Tags deleted.' )
+);
+
+$messages = apply_filters( 'term_updated_messages', $messages );
+
+$message = false;
+if ( isset( $_REQUEST['message'] ) && ( $msg = (int) $_REQUEST['message'] ) ) {
+       if ( isset( $messages[ $taxonomy ][ $msg ] ) )
+               $message = $messages[ $taxonomy ][ $msg ];
+       elseif ( ! isset( $messages[ $taxonomy ] ) && isset( $messages['_item'][ $msg ] ) )
+               $message = $messages['_item'][ $msg ];
+}
 
 ?>
 
 
 ?>
 
@@ -268,8 +300,8 @@ if ( !empty($_REQUEST['s']) )
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( wp_unslash($_REQUEST['s']) ) ); ?>
 </h2>
 
        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( wp_unslash($_REQUEST['s']) ) ); ?>
 </h2>
 
-<?php if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) ) : ?>
-<div id="message" class="updated"><p><?php echo $messages[$msg]; ?></p></div>
+<?php if ( $message ) : ?>
+<div id="message" class="updated"><p><?php echo $message; ?></p></div>
 <?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
 endif; ?>
 <div id="ajax-response"></div>
 <?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
 endif; ?>
 <div id="ajax-response"></div>
@@ -349,7 +381,7 @@ if ( current_user_can($tax->cap->edit_terms) ) {
 
 <div class="form-wrap">
 <h3><?php echo $tax->labels->add_new_item; ?></h3>
 
 <div class="form-wrap">
 <h3><?php echo $tax->labels->add_new_item; ?></h3>
-<form id="addtag" method="post" action="edit-tags.php" class="validate">
+<form id="addtag" method="post" action="edit-tags.php" class="validate"<?php do_action( $taxonomy . '_term_new_form_tag' ); ?>>
 <input type="hidden" name="action" value="add-tag" />
 <input type="hidden" name="screen" value="<?php echo esc_attr($current_screen->id); ?>" />
 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
 <input type="hidden" name="action" value="add-tag" />
 <input type="hidden" name="screen" value="<?php echo esc_attr($current_screen->id); ?>" />
 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
@@ -371,7 +403,20 @@ if ( current_user_can($tax->cap->edit_terms) ) {
 <?php if ( is_taxonomy_hierarchical($taxonomy) ) : ?>
 <div class="form-field">
        <label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label>
 <?php if ( is_taxonomy_hierarchical($taxonomy) ) : ?>
 <div class="form-field">
        <label for="parent"><?php _ex('Parent', 'Taxonomy Parent'); ?></label>
-       <?php wp_dropdown_categories(array('hide_empty' => 0, 'hide_if_empty' => false, 'taxonomy' => $taxonomy, 'name' => 'parent', 'orderby' => 'name', 'hierarchical' => true, 'show_option_none' => __('None'))); ?>
+       <?php
+       $dropdown_args = array(
+               'hide_empty'       => 0,
+               'hide_if_empty'    => false,
+               'taxonomy'         => $taxonomy,
+               'name'             => 'parent',
+               'orderby'          => 'name',
+               'hierarchical'     => true,
+               'show_option_none' => __( 'None' ),
+       );
+
+       $dropdown_args = apply_filters( 'taxonomy_parent_dropdown_args', $dropdown_args, $taxonomy );
+       wp_dropdown_categories( $dropdown_args );
+       ?>
        <?php if ( 'category' == $taxonomy ) : // @todo: Generic text for hierarchical taxonomies ?>
                <p><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></p>
        <?php endif; ?>
        <?php if ( 'category' == $taxonomy ) : // @todo: Generic text for hierarchical taxonomies ?>
                <p><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></p>
        <?php endif; ?>
@@ -417,4 +462,4 @@ try{document.forms.addtag['tag-name'].focus();}catch(e){}
 break;
 }
 
 break;
 }
 
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index 65fd03426aa4b5fbbf8c23c5a393008df7701fdf..8d3203611759bfa74c2cf866af7e53fd5d492967 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! $typenow )
        wp_die( __( 'Invalid post type' ) );
 
 if ( ! $typenow )
        wp_die( __( 'Invalid post type' ) );
@@ -224,52 +224,77 @@ if ( 'post' == $post_type ) {
 
 add_screen_option( 'per_page', array( 'label' => $title, 'default' => 20, 'option' => 'edit_' . $post_type . '_per_page' ) );
 
 
 add_screen_option( 'per_page', array( 'label' => $title, 'default' => 20, 'option' => 'edit_' . $post_type . '_per_page' ) );
 
-require_once('./admin-header.php');
+$bulk_counts = array(
+       'updated'   => isset( $_REQUEST['updated'] )   ? absint( $_REQUEST['updated'] )   : 0,
+       'locked'    => isset( $_REQUEST['locked'] )    ? absint( $_REQUEST['locked'] )    : 0,
+       'deleted'   => isset( $_REQUEST['deleted'] )   ? absint( $_REQUEST['deleted'] )   : 0,
+       'trashed'   => isset( $_REQUEST['trashed'] )   ? absint( $_REQUEST['trashed'] )   : 0,
+       'untrashed' => isset( $_REQUEST['untrashed'] ) ? absint( $_REQUEST['untrashed'] ) : 0,
+);
+
+$bulk_messages = array();
+$bulk_messages['post'] = array(
+       'updated'   => _n( '%s post updated.', '%s posts updated.', $bulk_counts['updated'] ),
+       'locked'    => _n( '%s post not updated, somebody is editing it.', '%s posts not updated, somebody is editing them.', $bulk_counts['locked'] ),
+       'deleted'   => _n( '%s post permanently deleted.', '%s posts permanently deleted.', $bulk_counts['deleted'] ),
+       'trashed'   => _n( '%s post moved to the Trash.', '%s posts moved to the Trash.', $bulk_counts['trashed'] ),
+       'untrashed' => _n( '%s post restored from the Trash.', '%s posts restored from the Trash.', $bulk_counts['untrashed'] ),
+);
+$bulk_messages['page'] = array(
+       'updated'   => _n( '%s page updated.', '%s pages updated.', $bulk_counts['updated'] ),
+       'locked'    => _n( '%s page not updated, somebody is editing it.', '%s pages not updated, somebody is editing them.', $bulk_counts['locked'] ),
+       'deleted'   => _n( '%s page permanently deleted.', '%s pages permanently deleted.', $bulk_counts['deleted'] ),
+       'trashed'   => _n( '%s page moved to the Trash.', '%s pages moved to the Trash.', $bulk_counts['trashed'] ),
+       'untrashed' => _n( '%s page restored from the Trash.', '%s pages restored from the Trash.', $bulk_counts['untrashed'] ),
+);
+
+/**
+ * Filter the bulk action updated messages.
+ *
+ * By default, custom post types use the messages for the 'post' post type.
+ *
+ * @since 3.7.0
+ *
+ * @param array $bulk_messages Arrays of messages, each keyed by the corresponding post type. Messages are
+ *                             keyed with 'updated', 'locked', 'deleted', 'trashed', and 'untrashed'.
+ * @param array $bulk_counts   Array of item counts for each message, used to build internationalized strings.
+ */
+$bulk_messages = apply_filters( 'bulk_post_updated_messages', $bulk_messages, $bulk_counts );
+$bulk_counts = array_filter( $bulk_counts );
+
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap">
 <?php screen_icon(); ?>
 <h2><?php
 echo esc_html( $post_type_object->labels->name );
 if ( current_user_can( $post_type_object->cap->create_posts ) )
 ?>
 <div class="wrap">
 <?php screen_icon(); ?>
 <h2><?php
 echo esc_html( $post_type_object->labels->name );
 if ( current_user_can( $post_type_object->cap->create_posts ) )
-       echo ' <a href="' . esc_url( $post_new_file ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
+       echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="add-new-h2">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
 if ( ! empty( $_REQUEST['s'] ) )
        printf( ' <span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() );
 ?></h2>
 
 if ( ! empty( $_REQUEST['s'] ) )
        printf( ' <span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() );
 ?></h2>
 
-<?php if ( isset( $_REQUEST['locked'] ) || isset( $_REQUEST['updated'] ) || isset( $_REQUEST['deleted'] ) || isset( $_REQUEST['trashed'] ) || isset( $_REQUEST['untrashed'] ) ) {
-       $messages = array();
-?>
-<div id="message" class="updated"><p>
-<?php if ( isset( $_REQUEST['updated'] ) && $updated = absint( $_REQUEST['updated'] ) ) {
-       $messages[] = sprintf( _n( '%s post updated.', '%s posts updated.', $updated ), number_format_i18n( $updated ) );
-}
-
-if ( isset( $_REQUEST['locked'] ) && $locked = absint( $_REQUEST['locked'] ) ) {
-       $messages[] = sprintf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $locked ), number_format_i18n( $locked ) );
-}
-
-if ( isset( $_REQUEST['deleted'] ) && $deleted = absint( $_REQUEST['deleted'] ) ) {
-       $messages[] = sprintf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $deleted ), number_format_i18n( $deleted ) );
-}
-
-if ( isset( $_REQUEST['trashed'] ) && $trashed = absint( $_REQUEST['trashed'] ) ) {
-       $messages[] = sprintf( _n( 'Item moved to the Trash.', '%s items moved to the Trash.', $trashed ), number_format_i18n( $trashed ) );
-       $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0;
-       $messages[] = '<a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", "bulk-posts" ) ) . '">' . __('Undo') . '</a>';
-}
-
-if ( isset( $_REQUEST['untrashed'] ) && $untrashed = absint( $_REQUEST['untrashed'] ) ) {
-       $messages[] = sprintf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $untrashed ), number_format_i18n( $untrashed ) );
+<?php
+// If we have a bulk message to issue:
+$messages = array();
+foreach ( $bulk_counts as $message => $count ) {
+       if ( isset( $bulk_messages[ $post_type ][ $message ] ) )
+               $messages[] = sprintf( $bulk_messages[ $post_type ][ $message ], number_format_i18n( $count ) );
+       elseif ( isset( $bulk_messages['post'][ $message ] ) )
+               $messages[] = sprintf( $bulk_messages['post'][ $message ], number_format_i18n( $count ) );
+
+       if ( $message == 'trashed' && isset( $_REQUEST['ids'] ) ) {
+               $ids = preg_replace( '/[^0-9,]/', '', $_REQUEST['ids'] );
+               $messages[] = '<a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", "bulk-posts" ) ) . '">' . __('Undo') . '</a>';
+       }
 }
 
 if ( $messages )
 }
 
 if ( $messages )
-       echo join( ' ', $messages );
+       echo '<div id="message" class="updated"><p>' . join( ' ', $messages ) . '</p></div>';
 unset( $messages );
 
 $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'locked', 'skipped', 'updated', 'deleted', 'trashed', 'untrashed' ), $_SERVER['REQUEST_URI'] );
 ?>
 unset( $messages );
 
 $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'locked', 'skipped', 'updated', 'deleted', 'trashed', 'untrashed' ), $_SERVER['REQUEST_URI'] );
 ?>
-</p></div>
-<?php } ?>
 
 <?php $wp_list_table->views(); ?>
 
 
 <?php $wp_list_table->views(); ?>
 
@@ -297,4 +322,4 @@ if ( $wp_list_table->has_items() )
 </div>
 
 <?php
 </div>
 
 <?php
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index fc491b3b3aa894a111c37f85de6651a30183bdba..4f67c08520a8b6a276ff3d0da364a439d3956fd1 100644 (file)
@@ -7,13 +7,13 @@
  */
 
 /** Load WordPress Bootstrap */
  */
 
 /** Load WordPress Bootstrap */
-require_once ('admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( !current_user_can('export') )
        wp_die(__('You do not have sufficient permissions to export the content of this site.'));
 
 /** Load WordPress export API */
 
 if ( !current_user_can('export') )
        wp_die(__('You do not have sufficient permissions to export the content of this site.'));
 
 /** Load WordPress export API */
-require_once('./includes/export.php');
+require_once( ABSPATH . 'wp-admin/includes/export.php' );
 $title = __('Export');
 
 /**
 $title = __('Export');
 
 /**
@@ -94,14 +94,31 @@ if ( isset( $_GET['download'] ) ) {
                $args['content'] = $_GET['content'];
        }
 
                $args['content'] = $_GET['content'];
        }
 
+       /**
+        * Filter the export args.
+        *
+        * @since 3.5.0
+        *
+        * @param array $args The arguments to send to the exporter.
+        */
        $args = apply_filters( 'export_args', $args );
 
        export_wp( $args );
        die();
 }
 
        $args = apply_filters( 'export_args', $args );
 
        export_wp( $args );
        die();
 }
 
-require_once ('admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 
+/**
+ * Create the date options fields for exporting a given post type.
+ *
+ * @global wpdb      $wpdb      WordPress database object.
+ * @global WP_Locale $wp_locale Date and Time Locale object.
+ *
+ * @since 3.1.0
+ *
+ * @param string $post_type The post type. Default 'post'.
+ */
 function export_date_options( $post_type = 'post' ) {
        global $wpdb, $wp_locale;
 
 function export_date_options( $post_type = 'post' ) {
        global $wpdb, $wp_locale;
 
@@ -211,10 +228,17 @@ function export_date_options( $post_type = 'post' ) {
 <p><label><input type="radio" name="content" value="<?php echo esc_attr( $post_type->name ); ?>" /> <?php echo esc_html( $post_type->label ); ?></label></p>
 <?php endforeach; ?>
 
 <p><label><input type="radio" name="content" value="<?php echo esc_attr( $post_type->name ); ?>" /> <?php echo esc_html( $post_type->label ); ?></label></p>
 <?php endforeach; ?>
 
-<?php do_action( 'export_filters' ) ?>
+<?php
+/**
+ * Fires after the export filters form.
+ *
+ * @since 3.5.0
+ */
+do_action( 'export_filters' );
+?>
 
 <?php submit_button( __('Download Export File') ); ?>
 </form>
 </div>
 
 
 <?php submit_button( __('Download Export File') ); ?>
 </form>
 </div>
 
-<?php include('admin-footer.php'); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index d7accd1b5ad4ef65aa4d6c69787e4ec51a122b28..2f8fce4f5b6fda16dc93972bf20a0c11bb5b1645 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $title = __( 'Freedoms' );
 
 
 $title = __( 'Freedoms' );
 
@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating to the latest version. WordPress %s makes your writing experience even better.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
diff --git a/wp-admin/images/about-globe-2x.png b/wp-admin/images/about-globe-2x.png
new file mode 100644 (file)
index 0000000..648c5da
Binary files /dev/null and b/wp-admin/images/about-globe-2x.png differ
diff --git a/wp-admin/images/about-search-2x.png b/wp-admin/images/about-search-2x.png
new file mode 100644 (file)
index 0000000..0a05162
Binary files /dev/null and b/wp-admin/images/about-search-2x.png differ
diff --git a/wp-admin/images/about-updates-2x.png b/wp-admin/images/about-updates-2x.png
new file mode 100644 (file)
index 0000000..7ecd47d
Binary files /dev/null and b/wp-admin/images/about-updates-2x.png differ
index 72b9142f45e382090c4a5d1255a0f3b051428390..076f0d1f3d747eea1b8b443e46dadf2b6eee4d37 100644 (file)
@@ -9,7 +9,7 @@
 define('WP_LOAD_IMPORTERS', true);
 
 /** Load WordPress Bootstrap */
 define('WP_LOAD_IMPORTERS', true);
 
 /** Load WordPress Bootstrap */
-require_once ('admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( !current_user_can('import') )
        wp_die(__('You do not have sufficient permissions to import content in this site.'));
 
 if ( !current_user_can('import') )
        wp_die(__('You do not have sufficient permissions to import content in this site.'));
@@ -47,7 +47,7 @@ if ( ! empty( $_GET['invalid'] ) && isset( $popular_importers[ $_GET['invalid']
 add_thickbox();
 wp_enqueue_script( 'plugin-install' );
 
 add_thickbox();
 wp_enqueue_script( 'plugin-install' );
 
-require_once ('admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 $parent_file = 'tools.php';
 ?>
 
 $parent_file = 'tools.php';
 ?>
 
@@ -130,4 +130,4 @@ if ( current_user_can('install_plugins') )
 
 <?php
 
 
 <?php
 
-include ('admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index 734409fe1f1bac0f8bbb2ce48d2aec3e1f7cd4ad..e6c28344b164d9ba689ff348f151ef2cd2be128f 100644 (file)
@@ -26,12 +26,39 @@ function wp_ajax_nopriv_heartbeat() {
 
        if ( ! empty($_POST['data']) ) {
                $data = wp_unslash( (array) $_POST['data'] );
 
        if ( ! empty($_POST['data']) ) {
                $data = wp_unslash( (array) $_POST['data'] );
+
+               /**
+                * Filter Heartbeat AJAX response in no-privilege environments.
+                *
+                * @since 3.6.0
+                *
+                * @param array|object $response  The no-priv Heartbeat response object or array.
+                * @param array        $data      An array of data passed via $_POST.
+                * @param string       $screen_id The screen id.
+                */
                $response = apply_filters( 'heartbeat_nopriv_received', $response, $data, $screen_id );
        }
 
                $response = apply_filters( 'heartbeat_nopriv_received', $response, $data, $screen_id );
        }
 
+       /**
+        * Filter Heartbeat AJAX response when no data is passed.
+        *
+        * @since 3.6.0
+        *
+        * @param array|object $response  The Heartbeat response object or array.
+        * @param string       $screen_id The screen id.
+        */
        $response = apply_filters( 'heartbeat_nopriv_send', $response, $screen_id );
 
        $response = apply_filters( 'heartbeat_nopriv_send', $response, $screen_id );
 
-       // Allow the transport to be replaced with long-polling easily
+       /**
+        * Fires when Heartbeat ticks in no-privilege environments.
+        *
+        * Allows the transport to be easily replaced with long-polling.
+        *
+        * @since 3.6.0
+        *
+        * @param array|object $response  The no-priv Heartbeat response.
+        * @param string       $screen_id The screen id.
+        */
        do_action( 'heartbeat_nopriv_tick', $response, $screen_id );
 
        // send the current time according to the server
        do_action( 'heartbeat_nopriv_tick', $response, $screen_id );
 
        // send the current time according to the server
@@ -87,7 +114,7 @@ function wp_ajax_ajax_tag_search() {
        if ( strlen( $s ) < 2 )
                wp_die(); // require 2 chars for matching
 
        if ( strlen( $s ) < 2 )
                wp_die(); // require 2 chars for matching
 
-       $results = $wpdb->get_col( $wpdb->prepare( "SELECT t.name 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.name LIKE (%s)", $taxonomy, '%' . like_escape( $s ) . '%' ) );
+       $results = get_terms( $taxonomy, array( 'name__like' => $s, 'fields' => 'names', 'hide_empty' => false ) );
 
        echo join( $results, "\n" );
        wp_die();
 
        echo join( $results, "\n" );
        wp_die();
@@ -163,6 +190,7 @@ function wp_ajax_autocomplete_user() {
        if ( ! is_multisite() || ! current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) )
                wp_die( -1 );
 
        if ( ! is_multisite() || ! current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) )
                wp_die( -1 );
 
+       /** This filter is documented in wp-admin/user-new.php */
        if ( ! is_super_admin() && ! apply_filters( 'autocomplete_users_for_site_admins', false ) )
                wp_die( -1 );
 
        if ( ! is_super_admin() && ! apply_filters( 'autocomplete_users_for_site_admins', false ) )
                wp_die( -1 );
 
@@ -241,10 +269,11 @@ function wp_ajax_logged_in() {
  * @return die
  */
 function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
  * @return die
  */
 function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
-       $total = (int) @$_POST['_total'];
-       $per_page = (int) @$_POST['_per_page'];
-       $page = (int) @$_POST['_page'];
-       $url = esc_url_raw( @$_POST['_url'] );
+       $total    = isset( $_POST['_total'] )    ? (int) $_POST['_total']    : 0;
+       $per_page = isset( $_POST['_per_page'] ) ? (int) $_POST['_per_page'] : 0;
+       $page     = isset( $_POST['_page'] )     ? (int) $_POST['_page']     : 0;
+       $url      = isset( $_POST['_url'] )      ? esc_url_raw( $_POST['_url'] ) : '';
+
        // JS didn't send us everything we need to know. Just die with success message
        if ( !$total || !$per_page || !$page || !$url )
                wp_die( time() );
        // JS didn't send us everything we need to know. Just die with success message
        if ( !$total || !$per_page || !$page || !$url )
                wp_die( time() );
@@ -546,7 +575,7 @@ function wp_ajax_dim_comment() {
                wp_die( -1 );
 
        $current = wp_get_comment_status( $comment->comment_ID );
                wp_die( -1 );
 
        $current = wp_get_comment_status( $comment->comment_ID );
-       if ( $_POST['new'] == $current )
+       if ( isset( $_POST['new'] ) && $_POST['new'] == $current )
                wp_die( time() );
 
        check_ajax_referer( "approve-comment_$id" );
                wp_die( time() );
 
        check_ajax_referer( "approve-comment_$id" );
@@ -694,9 +723,18 @@ function wp_ajax_get_comments( $action ) {
 
        check_ajax_referer( $action );
 
 
        check_ajax_referer( $action );
 
+       if ( empty( $post_id ) && ! empty( $_REQUEST['p'] ) ) {
+               $id = absint( $_REQUEST['p'] );
+               if ( ! empty( $id ) )
+                       $post_id = $id;
+       }
+
+       if ( empty( $post_id ) )
+               wp_die( -1 );
+
        $wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
 
        $wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
 
-       if ( !current_user_can( 'edit_post', $post_id ) )
+       if ( ! current_user_can( 'edit_post', $post_id ) )
                wp_die( -1 );
 
        $wp_list_table->prepare_items();
                wp_die( -1 );
 
        $wp_list_table->prepare_items();
@@ -750,6 +788,9 @@ function wp_ajax_replyto_comment( $action ) {
                $comment_author_url   = wp_slash( $user->user_url );
                $comment_content      = trim($_POST['content']);
                if ( current_user_can( 'unfiltered_html' ) ) {
                $comment_author_url   = wp_slash( $user->user_url );
                $comment_content      = trim($_POST['content']);
                if ( current_user_can( 'unfiltered_html' ) ) {
+                       if ( ! isset( $_POST['_wp_unfiltered_html_comment'] ) )
+                               $_POST['_wp_unfiltered_html_comment'] = '';
+
                        if ( wp_create_nonce( 'unfiltered-html-comment' ) != $_POST['_wp_unfiltered_html_comment'] ) {
                                kses_remove_filters(); // start with a clean slate
                                kses_init_filters(); // set up the filters
                        if ( wp_create_nonce( 'unfiltered-html-comment' ) != $_POST['_wp_unfiltered_html_comment'] ) {
                                kses_remove_filters(); // start with a clean slate
                                kses_init_filters(); // set up the filters
@@ -762,7 +803,9 @@ function wp_ajax_replyto_comment( $action ) {
        if ( '' == $comment_content )
                wp_die( __( 'ERROR: please type a comment.' ) );
 
        if ( '' == $comment_content )
                wp_die( __( 'ERROR: please type a comment.' ) );
 
-       $comment_parent = absint($_POST['comment_ID']);
+       $comment_parent = 0;
+       if ( isset( $_POST['comment_ID'] ) )
+               $comment_parent = absint( $_POST['comment_ID'] );
        $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');
 
        $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');
 
@@ -783,19 +826,18 @@ function wp_ajax_replyto_comment( $action ) {
        $position = ( isset($_POST['position']) && (int) $_POST['position'] ) ? (int) $_POST['position'] : '-1';
 
        ob_start();
        $position = ( isset($_POST['position']) && (int) $_POST['position'] ) ? (int) $_POST['position'] : '-1';
 
        ob_start();
-               if ( 'dashboard' == $_REQUEST['mode'] ) {
-                       require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
-                       _wp_dashboard_recent_comments_row( $comment );
+       if ( isset( $_REQUEST['mode'] ) && 'dashboard' == $_REQUEST['mode'] ) {
+               require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
+               _wp_dashboard_recent_comments_row( $comment );
+       } else {
+               if ( isset( $_REQUEST['mode'] ) && 'single' == $_REQUEST['mode'] ) {
+                       $wp_list_table = _get_list_table('WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
                } else {
                } else {
-                       if ( 'single' == $_REQUEST['mode'] ) {
-                               $wp_list_table = _get_list_table('WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
-                       } else {
-                               $wp_list_table = _get_list_table('WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
-                       }
-                       $wp_list_table->single_row( $comment );
+                       $wp_list_table = _get_list_table('WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
                }
                }
-               $comment_list_item = ob_get_contents();
-       ob_end_clean();
+               $wp_list_table->single_row( $comment );
+       }
+       $comment_list_item = ob_get_clean();
 
        $response =  array(
                'what' => 'comment',
 
        $response =  array(
                'what' => 'comment',
@@ -824,7 +866,8 @@ function wp_ajax_edit_comment() {
        if ( '' == $_POST['content'] )
                wp_die( __( 'ERROR: please type a comment.' ) );
 
        if ( '' == $_POST['content'] )
                wp_die( __( 'ERROR: please type a comment.' ) );
 
-       $_POST['comment_status'] = $_POST['status'];
+       if ( isset( $_POST['status'] ) )
+               $_POST['comment_status'] = $_POST['status'];
        edit_comment();
 
        $position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
        edit_comment();
 
        $position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
@@ -834,11 +877,12 @@ function wp_ajax_edit_comment() {
        $wp_list_table = _get_list_table( $checkbox ? 'WP_Comments_List_Table' : 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
 
        $comment = get_comment( $comment_id );
        $wp_list_table = _get_list_table( $checkbox ? 'WP_Comments_List_Table' : 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) );
 
        $comment = get_comment( $comment_id );
+       if ( empty( $comment->comment_ID ) )
+               wp_die( -1 );
 
        ob_start();
 
        ob_start();
-               $wp_list_table->single_row( $comment );
-               $comment_list_item = ob_get_contents();
-       ob_end_clean();
+       $wp_list_table->single_row( $comment );
+       $comment_list_item = ob_get_clean();
 
        $x = new WP_Ajax_Response();
 
 
        $x = new WP_Ajax_Response();
 
@@ -905,6 +949,14 @@ 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'].
+        */
        $walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $_POST['menu'] );
 
        if ( ! class_exists( $walker_class_name ) )
        $walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $_POST['menu'] );
 
        if ( ! class_exists( $walker_class_name ) )
@@ -1046,9 +1098,10 @@ function wp_ajax_autosave() {
 
        check_ajax_referer( 'autosave', 'autosavenonce' );
 
 
        check_ajax_referer( 'autosave', 'autosavenonce' );
 
-       $_POST['post_category'] = explode(",", $_POST['catslist']);
-       if ( $_POST['post_type'] == 'page' || empty($_POST['post_category']) )
-               unset($_POST['post_category']);
+       if ( ! empty( $_POST['catslist'] ) )
+               $_POST['post_category'] = explode( ',', $_POST['catslist'] );
+       if ( $_POST['post_type'] == 'page' || empty( $_POST['post_category'] ) )
+               unset( $_POST['post_category'] );
 
        $data = '';
        $supplemental = array();
 
        $data = '';
        $supplemental = array();
@@ -1056,18 +1109,16 @@ function wp_ajax_autosave() {
 
        $post_id = (int) $_POST['post_id'];
        $_POST['ID'] = $_POST['post_ID'] = $post_id;
 
        $post_id = (int) $_POST['post_id'];
        $_POST['ID'] = $_POST['post_ID'] = $post_id;
-       $post = get_post($post_id);
+       $post = get_post( $post_id );
+       if ( empty( $post->ID ) || ! current_user_can( 'edit_post', $post->ID ) )
+               wp_die( __( 'You are not allowed to edit this post.' ) );
+
+       if ( 'page' == $post->post_type && ! current_user_can( 'edit_page', $post->ID ) )
+               wp_die( __( 'You are not allowed to edit this page.' ) );
+
        if ( 'auto-draft' == $post->post_status )
                $_POST['post_status'] = 'draft';
 
        if ( 'auto-draft' == $post->post_status )
                $_POST['post_status'] = 'draft';
 
-       if ( 'page' == $post->post_type ) {
-               if ( !current_user_can('edit_page', $post->ID) )
-                       wp_die( __( 'You are not allowed to edit this page.' ) );
-       } else {
-               if ( !current_user_can('edit_post', $post->ID) )
-                       wp_die( __( 'You are not allowed to edit this post.' ) );
-       }
-
        if ( ! empty( $_POST['autosave'] ) ) {
                if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() == $post->post_author && ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) ) {
                        // Drafts and auto-drafts are just overwritten by autosave for the same user if the post is not locked
        if ( ! empty( $_POST['autosave'] ) ) {
                if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() == $post->post_author && ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) ) {
                        // Drafts and auto-drafts are just overwritten by autosave for the same user if the post is not locked
@@ -1177,7 +1228,15 @@ function wp_ajax_menu_get_metabox() {
        }
 
        if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
        }
 
        if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
-               $item = apply_filters( 'nav_menu_meta_box_object', $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.
+                */
+               $item = apply_filters( 'nav_menu_meta_box_object', $menus_meta_box_object );
                ob_start();
                call_user_func_array($callback, array(
                        null,
                ob_start();
                call_user_func_array($callback, array(
                        null,
@@ -1313,7 +1372,7 @@ function wp_ajax_inline_save() {
        $data['excerpt'] = $post['post_excerpt'];
 
        // rename
        $data['excerpt'] = $post['post_excerpt'];
 
        // rename
-       $data['user_ID'] = $GLOBALS['user_ID'];
+       $data['user_ID'] = get_current_user_id();
 
        if ( isset($data['post_parent']) )
                $data['parent_id'] = $data['post_parent'];
 
        if ( isset($data['post_parent']) )
                $data['parent_id'] = $data['post_parent'];
@@ -1506,9 +1565,26 @@ function wp_ajax_save_widget() {
 
        unset( $_POST['savewidgets'], $_POST['action'] );
 
 
        unset( $_POST['savewidgets'], $_POST['action'] );
 
-       do_action('load-widgets.php');
-       do_action('widgets.php');
-       do_action('sidebar_admin_setup');
+       /**
+        * Fires early when editing the widgets displayed in sidebars.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'load-widgets.php' );
+
+       /**
+        * Fires early when editing the widgets displayed in sidebars.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'widgets.php' );
+
+       /**
+        * Fires early when editing the widgets displayed in sidebars.
+        *
+        * @since 2.2.0
+        */
+       do_action( 'sidebar_admin_setup' );
 
        $id_base = $_POST['id_base'];
        $widget_id = $_POST['widget-id'];
 
        $id_base = $_POST['id_base'];
        $widget_id = $_POST['widget-id'];
@@ -1762,6 +1838,13 @@ function wp_ajax_wp_remove_post_lock() {
        if ( $active_lock[1] != get_current_user_id() )
                wp_die( 0 );
 
        if ( $active_lock[1] != get_current_user_id() )
                wp_die( 0 );
 
+       /**
+        * Filter the post lock window duration.
+        *
+        * @since 3.3.0
+        *
+        * @param int $interval The interval in seconds the post lock duration should last, plus 5 seconds. Default 120.
+        */
        $new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', 120 ) + 5 ) . ':' . $active_lock[1];
        update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) );
        wp_die( 1 );
        $new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', 120 ) + 5 ) . ':' . $active_lock[1];
        update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) );
        wp_die( 1 );
@@ -1833,6 +1916,14 @@ function wp_ajax_query_attachments() {
        if ( current_user_can( get_post_type_object( 'attachment' )->cap->read_private_posts ) )
                $query['post_status'] .= ',private';
 
        if ( current_user_can( get_post_type_object( 'attachment' )->cap->read_private_posts ) )
                $query['post_status'] .= ',private';
 
+       /**
+        * Filter the arguments passed to WP_Query during an AJAX call for querying attachments.
+        *
+        * @since 3.7.0
+        *
+        * @param array $query An array of query variables. @see WP_Query::parse_query()
+        */
+       $query = apply_filters( 'ajax_query_attachments_args', $query );
        $query = new WP_Query( $query );
 
        $posts = array_map( 'wp_prepare_attachment_for_js', $query->posts );
        $query = new WP_Query( $query );
 
        $posts = array_map( 'wp_prepare_attachment_for_js', $query->posts );
@@ -1911,6 +2002,7 @@ function wp_ajax_save_attachment_compat() {
        if ( 'attachment' != $post['post_type'] )
                wp_send_json_error();
 
        if ( 'attachment' != $post['post_type'] )
                wp_send_json_error();
 
+       /** This filter is documented in wp-admin/includes/media.php */
        $post = apply_filters( 'attachment_fields_to_save', $post, $attachment_data );
 
        if ( isset( $post['errors'] ) ) {
        $post = apply_filters( 'attachment_fields_to_save', $post, $attachment_data );
 
        if ( isset( $post['errors'] ) ) {
@@ -2013,6 +2105,7 @@ function wp_ajax_send_attachment_to_editor() {
                $html = stripslashes_deep( $_POST['html'] );
        }
 
                $html = stripslashes_deep( $_POST['html'] );
        }
 
+       /** This filter is documented in wp-admin/includes/media.php */
        $html = apply_filters( 'media_send_to_editor', $html, $id, $attachment );
 
        wp_send_json_success( $html );
        $html = apply_filters( 'media_send_to_editor', $html, $id, $attachment );
 
        wp_send_json_success( $html );
@@ -2053,6 +2146,7 @@ function wp_ajax_send_link_to_editor() {
                && ( 'audio' == $ext_type || 'video' == $ext_type ) )
                        $type = $ext_type;
 
                && ( 'audio' == $ext_type || 'video' == $ext_type ) )
                        $type = $ext_type;
 
+       /** This filter is documented in wp-admin/includes/media.php */
        $html = apply_filters( $type . '_send_to_editor_url', $html, $src, $title );
 
        wp_send_json_success( $html );
        $html = apply_filters( $type . '_send_to_editor_url', $html, $src, $title );
 
        wp_send_json_success( $html );
@@ -2083,12 +2177,39 @@ function wp_ajax_heartbeat() {
 
        if ( ! empty($_POST['data']) ) {
                $data = (array) $_POST['data'];
 
        if ( ! empty($_POST['data']) ) {
                $data = (array) $_POST['data'];
+
+               /**
+                * Filter the Heartbeat response received.
+                *
+                * @since 3.6.0
+                *
+                * @param array|object $response  The Heartbeat response object or array.
+                * @param array        $data      The $_POST data sent.
+                * @param string       $screen_id The screen id.
+                */
                $response = apply_filters( 'heartbeat_received', $response, $data, $screen_id );
        }
 
                $response = apply_filters( 'heartbeat_received', $response, $data, $screen_id );
        }
 
+       /**
+        * Filter the Heartbeat response sent.
+        *
+        * @since 3.6.0
+        *
+        * @param array|object $response  The Heartbeat response object or array.
+        * @param string       $screen_id The screen id.
+        */
        $response = apply_filters( 'heartbeat_send', $response, $screen_id );
 
        $response = apply_filters( 'heartbeat_send', $response, $screen_id );
 
-       // Allow the transport to be replaced with long-polling easily
+       /**
+        * Fires when Heartbeat ticks in logged-in environments.
+        *
+        * Allows the transport to be easily replaced with long-polling.
+        *
+        * @since 3.6.0
+        *
+        * @param array|object $response  The Heartbeat response object or array.
+        * @param string       $screen_id The screen id.
+        */
        do_action( 'heartbeat_tick', $response, $screen_id );
 
        // Send the current time according to the server
        do_action( 'heartbeat_tick', $response, $screen_id );
 
        // Send the current time according to the server
index 0897fdc5a42230a728091bfbaa73c0b15d32cd5d..33785964183d5068ab970e3d75cd1a333f808073 100644 (file)
@@ -70,7 +70,7 @@ function get_default_link_to_edit() {
 }
 
 /**
 }
 
 /**
- * Delete link specified from database
+ * Delete link specified from database.
  *
  * @since 2.0.0
  *
  *
  * @since 2.0.0
  *
@@ -79,13 +79,25 @@ function get_default_link_to_edit() {
  */
 function wp_delete_link( $link_id ) {
        global $wpdb;
  */
 function wp_delete_link( $link_id ) {
        global $wpdb;
-
+       /**
+        * Fires before a link is deleted.
+        *
+        * @since 2.0.0
+        *
+        * @param int $link_id ID of the link to delete.
+        */
        do_action( 'delete_link', $link_id );
 
        wp_delete_object_term_relationships( $link_id, 'link_category' );
 
        $wpdb->delete( $wpdb->links, array( 'link_id' => $link_id ) );
        do_action( 'delete_link', $link_id );
 
        wp_delete_object_term_relationships( $link_id, 'link_category' );
 
        $wpdb->delete( $wpdb->links, array( 'link_id' => $link_id ) );
-
+       /**
+        * Fires after a link has been deleted.
+        *
+        * @since 2.2.0
+        *
+        * @param int $link_id ID of the deleted link.
+        */
        do_action( 'deleted_link', $link_id );
 
        clean_bookmark_cache( $link_id );
        do_action( 'deleted_link', $link_id );
 
        clean_bookmark_cache( $link_id );
@@ -206,11 +218,25 @@ function wp_insert_link( $linkdata, $wp_error = false ) {
 
        wp_set_link_cats( $link_id, $link_category );
 
 
        wp_set_link_cats( $link_id, $link_category );
 
-       if ( $update )
+       if ( $update ) {
+               /**
+                * Fires after a link was updated in the database.
+                *
+                * @since 2.0.0
+                *
+                * @param int $link_id ID of the link that was updated.
+                */
                do_action( 'edit_link', $link_id );
                do_action( 'edit_link', $link_id );
-       else
+       } else {
+               /**
+                * Fires after a link was added to the database.
+                *
+                * @since 2.0.0
+                *
+                * @param int $link_id ID of the link that was added.
+                */
                do_action( 'add_link', $link_id );
                do_action( 'add_link', $link_id );
-
+       }
        clean_bookmark_cache( $link_id );
 
        return $link_id;
        clean_bookmark_cache( $link_id );
 
        return $link_id;
index 23f3169d04a47d5916703220f9d44d04b6952536..345bda2f5b2e84c840fe8821988c4e4ddc57723a 100644 (file)
@@ -52,6 +52,8 @@ class WP_Comments_List_Table extends WP_List_Table {
 
                $search = ( isset( $_REQUEST['s'] ) ) ? $_REQUEST['s'] : '';
 
 
                $search = ( isset( $_REQUEST['s'] ) ) ? $_REQUEST['s'] : '';
 
+               $post_type = ( isset( $_REQUEST['post_type'] ) ) ? sanitize_key( $_REQUEST['post_type'] ) : '';
+
                $user_id = ( isset( $_REQUEST['user_id'] ) ) ? $_REQUEST['user_id'] : '';
 
                $orderby = ( isset( $_REQUEST['orderby'] ) ) ? $_REQUEST['orderby'] : '';
                $user_id = ( isset( $_REQUEST['user_id'] ) ) ? $_REQUEST['user_id'] : '';
 
                $orderby = ( isset( $_REQUEST['orderby'] ) ) ? $_REQUEST['orderby'] : '';
@@ -96,6 +98,7 @@ class WP_Comments_List_Table extends WP_List_Table {
                        'type' => $comment_type,
                        'orderby' => $orderby,
                        'order' => $order,
                        'type' => $comment_type,
                        'orderby' => $orderby,
                        'order' => $order,
+                       'post_type' => $post_type,
                );
 
                $_comments = get_comments( $args );
                );
 
                $_comments = get_comments( $args );
index d64fe4bba410bbc13ad8749cf0786b713e3398f1..c471b54fda099afaa28959c75ad658582936d8b3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * Base WordPress Filesystem.
+ * Base WordPress Filesystem
  *
  * @package WordPress
  * @subpackage Filesystem
  *
  * @package WordPress
  * @subpackage Filesystem
@@ -9,22 +9,23 @@
 /**
  * Base WordPress Filesystem class for which Filesystem implementations extend
  *
 /**
  * Base WordPress Filesystem class for which Filesystem implementations extend
  *
- * @since 2.5
+ * @since 2.5.0
  */
 class WP_Filesystem_Base {
        /**
         * Whether to display debug data for the connection.
         *
  */
 class WP_Filesystem_Base {
        /**
         * Whether to display debug data for the connection.
         *
-        * @since 2.5
         * @access public
         * @access public
+        * @since 2.5.0
         * @var bool
         */
        var $verbose = false;
         * @var bool
         */
        var $verbose = false;
+
        /**
         * Cached list of local filepaths to mapped remote filepaths.
         *
        /**
         * Cached list of local filepaths to mapped remote filepaths.
         *
-        * @since 2.7
         * @access private
         * @access private
+        * @since 2.7.0
         * @var array
         */
        var $cache = array();
         * @var array
         */
        var $cache = array();
@@ -32,63 +33,81 @@ class WP_Filesystem_Base {
        /**
         * The Access method of the current connection, Set automatically.
         *
        /**
         * The Access method of the current connection, Set automatically.
         *
-        * @since 2.5
         * @access public
         * @access public
+        * @since 2.5.0
         * @var string
         */
        var $method = '';
 
        /**
         * @var string
         */
        var $method = '';
 
        /**
-        * Returns the path on the remote filesystem of ABSPATH
+        * Constructor (empty).
+        */
+       function __construct() {}
+
+       /**
+        * Return the path on the remote filesystem of ABSPATH.
         *
         *
-        * @since 2.7
         * @access public
         * @access public
+        * @since 2.7.0
+        *
         * @return string The location of the remote path.
         */
        function abspath() {
                $folder = $this->find_folder(ABSPATH);
         * @return string The location of the remote path.
         */
        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.
+               // 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') )
                        $folder = '/';
                return $folder;
        }
                if ( ! $folder && $this->is_dir('/wp-includes') )
                        $folder = '/';
                return $folder;
        }
+
        /**
        /**
-        * Returns the path on the remote filesystem of WP_CONTENT_DIR
+        * Return the path on the remote filesystem of WP_CONTENT_DIR.
         *
         *
-        * @since 2.7
         * @access public
         * @access public
+        * @since 2.7.0
+        *
         * @return string The location of the remote path.
         */
        function wp_content_dir() {
                return $this->find_folder(WP_CONTENT_DIR);
        }
         * @return string The location of the remote path.
         */
        function wp_content_dir() {
                return $this->find_folder(WP_CONTENT_DIR);
        }
+
        /**
        /**
-        * Returns the path on the remote filesystem of WP_PLUGIN_DIR
+        * Return the path on the remote filesystem of WP_PLUGIN_DIR.
         *
         *
-        * @since 2.7
         * @access public
         * @access public
+        * @since 2.7.0
         *
         * @return string The location of the remote path.
         */
        function wp_plugins_dir() {
                return $this->find_folder(WP_PLUGIN_DIR);
        }
         *
         * @return string The location of the remote path.
         */
        function wp_plugins_dir() {
                return $this->find_folder(WP_PLUGIN_DIR);
        }
+
        /**
        /**
-        * Returns the path on the remote filesystem of the Themes Directory
+        * Return the path on the remote filesystem of the Themes Directory.
         *
         *
-        * @since 2.7
         * @access public
         * @access public
+        * @since 2.7.0
         *
         *
+        * @param string $theme The Theme stylesheet or template for the directory.
         * @return string The location of the remote path.
         */
         * @return string The location of the remote path.
         */
-       function wp_themes_dir() {
-               return $this->wp_content_dir() . 'themes/';
+       function wp_themes_dir( $theme = false ) {
+               $theme_root = get_theme_root( $theme );
+
+               // Account for relative theme roots
+               if ( '/themes' == $theme_root || ! is_dir( $theme_root ) )
+                       $theme_root = WP_CONTENT_DIR . $theme_root;
+
+               return $this->find_folder( $theme_root );
        }
        }
+
        /**
        /**
-        * Returns the path on the remote filesystem of WP_LANG_DIR
+        * Return the path on the remote filesystem of WP_LANG_DIR.
         *
         *
-        * @since 3.2.0
         * @access public
         * @access public
+        * @since 3.2.0
         *
         * @return string The location of the remote path.
         */
         *
         * @return string The location of the remote path.
         */
@@ -97,73 +116,109 @@ class WP_Filesystem_Base {
        }
 
        /**
        }
 
        /**
-        * Locates a folder on the remote filesystem.
-        *
-        * Deprecated; use WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir() methods instead.
+        * Locate a folder on the remote filesystem.
         *
         *
-        * @since 2.5
-        * @deprecated 2.7
         * @access public
         * @access public
+        * @since 2.5.0
+        * @deprecated 2.7.0 use WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir() instead.
+        * @see WP_Filesystem::abspath()
+        * @see WP_Filesystem::wp_content_dir()
+        * @see WP_Filesystem::wp_plugins_dir()
+        * @see WP_Filesystem::wp_themes_dir()
+        * @see WP_Filesystem::wp_lang_dir()
         *
         *
-        * @param string $base The folder to start searching from
-        * @param bool $echo True to display debug information
+        * @param string $base The folder to start searching from.
+        * @param bool   $echo True to display debug information.
+        *                     Default false.
         * @return string The location of the remote path.
         */
         * @return string The location of the remote path.
         */
-       function find_base_dir($base = '.', $echo = false) {
+       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();
        }
                _deprecated_function(__FUNCTION__, '2.7', 'WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir()' );
                $this->verbose = $echo;
                return $this->abspath();
        }
+
        /**
        /**
-        * Locates a folder on the remote filesystem.
-        *
-        * Deprecated; use WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir() methods instead.
+        * Locate a folder on the remote filesystem.
         *
         *
-        * @since 2.5
-        * @deprecated 2.7
         * @access public
         * @access public
+        * @since 2.5.0
+        * @deprecated 2.7.0 use WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir() methods instead.
+        * @see WP_Filesystem::abspath()
+        * @see WP_Filesystem::wp_content_dir()
+        * @see WP_Filesystem::wp_plugins_dir()
+        * @see WP_Filesystem::wp_themes_dir()
+        * @see WP_Filesystem::wp_lang_dir()
         *
         *
-        * @param string $base The folder to start searching from
-        * @param bool $echo True to display debug information
+        * @param string $base The folder to start searching from.
+        * @param bool   $echo True to display debug information.
         * @return string The location of the remote path.
         */
         * @return string The location of the remote path.
         */
-       function get_base_dir($base = '.', $echo = false) {
+       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();
        }
 
        /**
                _deprecated_function(__FUNCTION__, '2.7', 'WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir()' );
                $this->verbose = $echo;
                return $this->abspath();
        }
 
        /**
-        * Locates a folder on the remote filesystem.
+        * Locate a folder on the remote filesystem.
         *
         *
-        * Assumes that on Windows systems, Stripping off the Drive letter is OK
-        * Sanitizes \\ to / in windows filepaths.
+        * Assumes that on Windows systems, Stripping off the Drive
+        * letter is OK Sanitizes \\ to / in windows filepaths.
         *
         *
-        * @since 2.7
         * @access public
         * @access public
+        * @since 2.7.0
         *
         *
-        * @param string $folder the folder to locate
+        * @param string $folder the folder to locate.
         * @return string The location of the remote path.
         */
         * @return string The location of the remote path.
         */
-       function find_folder($folder) {
+       function find_folder( $folder ) {
+
+               if ( isset( $this->cache[ $folder ] ) )
+                       return $this->cache[ $folder ];
+
+               if ( stripos($this->method, 'ftp') !== false ) {
+                       $constant_overrides = array(
+                               'FTP_BASE' => ABSPATH,
+                               'FTP_CONTENT_DIR' => WP_CONTENT_DIR,
+                               'FTP_PLUGIN_DIR' => WP_PLUGIN_DIR,
+                               'FTP_LANG_DIR' => WP_LANG_DIR
+                       );
+
+                       // Direct matches ( folder = CONSTANT/ )
+                       foreach ( $constant_overrides as $constant => $dir ) {
+                               if ( ! defined( $constant ) )
+                                       continue;
+                               if ( $folder === $dir )
+                                       return trailingslashit( constant( $constant ) );
+                       }
+
+                       // Prefix Matches ( folder = CONSTANT/subdir )
+                       foreach ( $constant_overrides as $constant => $dir ) {
+                               if ( ! defined( $constant ) )
+                                       continue;
+                               if ( 0 === stripos( $folder, $dir ) ) { // $folder starts with $dir
+                                       $potential_folder = preg_replace( '#^' . preg_quote( $dir, '#' ) . '/#i', trailingslashit( constant( $constant ) ), $folder );
+                                       $potential_folder = trailingslashit( $potential_folder );
 
 
-               if ( strpos($this->method, 'ftp') !== false ) {
-                       $constant_overrides = array( 'FTP_BASE' => ABSPATH, 'FTP_CONTENT_DIR' => WP_CONTENT_DIR, 'FTP_PLUGIN_DIR' => WP_PLUGIN_DIR, 'FTP_LANG_DIR' => WP_LANG_DIR );
-                       foreach ( $constant_overrides as $constant => $dir )
-                               if ( defined($constant) && $folder === $dir )
-                                       return trailingslashit(constant($constant));
+                                       if ( $this->is_dir( $potential_folder ) ) {
+                                               $this->cache[ $folder ] = $potential_folder;
+                                               return $potential_folder;
+                                       }
+                               }
+                       }
                } elseif ( 'direct' == $this->method ) {
                } elseif ( 'direct' == $this->method ) {
-                       $folder = str_replace('\\', '/', $folder); //Windows path sanitisation
+                       $folder = str_replace('\\', '/', $folder); // Windows path sanitisation
                        return trailingslashit($folder);
                }
 
                        return trailingslashit($folder);
                }
 
-               $folder = preg_replace('|^([a-z]{1}):|i', '', $folder); //Strip out windows drive letter if it's there.
-               $folder = str_replace('\\', '/', $folder); //Windows path sanitisation
+               $folder = preg_replace('|^([a-z]{1}):|i', '', $folder); // Strip out windows drive letter if it's there.
+               $folder = str_replace('\\', '/', $folder); // Windows path sanitisation
 
                if ( isset($this->cache[ $folder ] ) )
                        return $this->cache[ $folder ];
 
 
                if ( isset($this->cache[ $folder ] ) )
                        return $this->cache[ $folder ];
 
-               if ( $this->exists($folder) ) { //Folder exists at that absolute path.
+               if ( $this->exists($folder) ) { // Folder exists at that absolute path.
                        $folder = trailingslashit($folder);
                        $this->cache[ $folder ] = $folder;
                        return $folder;
                        $folder = trailingslashit($folder);
                        $this->cache[ $folder ] = $folder;
                        return $folder;
@@ -174,43 +229,47 @@ class WP_Filesystem_Base {
        }
 
        /**
        }
 
        /**
-        * Locates a folder on the remote filesystem.
+        * Locate a folder on the remote filesystem.
         *
         *
-        * Expects Windows sanitized path
+        * Expects Windows sanitized path.
         *
         *
-        * @since 2.7
         * @access private
         * @access private
+        * @since 2.7.0
         *
         *
-        * @param string $folder the folder to locate
-        * @param string $base the folder to start searching from
-        * @param bool $loop if the function has recursed, Internal use only
+        * @param string $folder The folder to locate.
+        * @param string $base   The folder to start searching from.
+        * @param bool   $loop   If the function has recursed, Internal use only.
         * @return string The location of the remote path.
         */
         * @return string The location of the remote path.
         */
-       function search_for_folder($folder, $base = '.', $loop = false ) {
+       function search_for_folder( $folder, $base = '.', $loop = false ) {
                if ( empty( $base ) || '.' == $base )
                        $base = trailingslashit($this->cwd());
 
                $folder = untrailingslashit($folder);
 
                if ( empty( $base ) || '.' == $base )
                        $base = trailingslashit($this->cwd());
 
                $folder = untrailingslashit($folder);
 
+               if ( $this->verbose )
+                       printf( "\n" . __('Looking for %1$s in %2$s') . "<br/>\n", $folder, $base );
+
                $folder_parts = explode('/', $folder);
                $folder_parts = explode('/', $folder);
-               $last_index = array_pop( array_keys( $folder_parts ) );
+               $folder_part_keys = array_keys( $folder_parts );
+               $last_index = array_pop( $folder_part_keys );
                $last_path = $folder_parts[ $last_index ];
 
                $files = $this->dirlist( $base );
 
                foreach ( $folder_parts as $index => $key ) {
                        if ( $index == $last_index )
                $last_path = $folder_parts[ $last_index ];
 
                $files = $this->dirlist( $base );
 
                foreach ( $folder_parts as $index => $key ) {
                        if ( $index == $last_index )
-                               continue; //We want this to be caught by the next code block.
+                               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,
+                       // 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 ]) ){
                        // 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:
+                               // Lets try that folder:
                                $newdir = trailingslashit(path_join($base, $key));
                                if ( $this->verbose )
                                $newdir = trailingslashit(path_join($base, $key));
                                if ( $this->verbose )
-                                       printf( __('Changing to %s') . '<br/>', $newdir );
+                                       printf( "\n" . __('Changing to %s') . "<br/>\n", $newdir );
                                // 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) )
                                // 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) )
@@ -218,32 +277,38 @@ class WP_Filesystem_Base {
                        }
                }
 
                        }
                }
 
-               //Only check this as a last resort, to prevent locating the incorrect install. All above procedures will fail quickly if this is the right branch to take.
+               // Only check this as a last resort, to prevent locating the incorrect install. All above procedures will fail quickly if this is the right branch to take.
                if (isset( $files[ $last_path ] ) ) {
                        if ( $this->verbose )
                if (isset( $files[ $last_path ] ) ) {
                        if ( $this->verbose )
-                               printf( __('Found %s') . '<br/>',  $base . $last_path );
+                               printf( "\n" . __('Found %s') . "<br/>\n",  $base . $last_path );
                        return trailingslashit($base . $last_path);
                }
                        return trailingslashit($base . $last_path);
                }
-               if ( $loop )
-                       return false; //Prevent this function from looping again.
-               //As an extra last resort, Change back to / if the folder wasn't found. This comes into effect when the CWD is /home/user/ but WP is at /var/www/.... mainly dedicated setups.
-               return $this->search_for_folder($folder, '/', true);
+
+               // Prevent this function from looping again.
+               // No need to proceed if we've just searched in /
+               if ( $loop || '/' == $base )
+                       return false;
+
+               // As an extra last resort, Change back to / if the folder wasn't found.
+               // This comes into effect when the CWD is /home/user/ but WP is at /var/www/....
+               return $this->search_for_folder( $folder, '/', true );
 
        }
 
        /**
 
        }
 
        /**
-        * Returns the *nix style file permissions for a file
+        * Return the *nix-style file permissions for a file.
         *
         *
-        * From the PHP documentation page for fileperms()
+        * From the PHP documentation page for fileperms().
         *
         * @link http://docs.php.net/fileperms
         *
         * @link http://docs.php.net/fileperms
-        * @since 2.5
+        *
         * @access public
         * @access public
+        * @since 2.5.0
         *
         *
-        * @param string $file string filename
-        * @return string *nix style representation of permissions
+        * @param string $file String filename.
+        * @return string The *nix-style representation of permissions.
         */
         */
-       function gethchmod($file){
+       function gethchmod( $file ){
                $perms = $this->getchmod($file);
                if (($perms & 0xC000) == 0xC000) // Socket
                        $info = 's';
                $perms = $this->getchmod($file);
                if (($perms & 0xC000) == 0xC000) // Socket
                        $info = 's';
@@ -286,19 +351,20 @@ class WP_Filesystem_Base {
        }
 
        /**
        }
 
        /**
-        * Converts *nix style file permissions to a octal number.
+        * Convert *nix-style file permissions to a octal number.
         *
         * Converts '-rw-r--r--' to 0644
         * From "info at rvgate dot nl"'s comment on the PHP documentation for chmod()
         *
         * @link http://docs.php.net/manual/en/function.chmod.php#49614
         *
         * Converts '-rw-r--r--' to 0644
         * From "info at rvgate dot nl"'s comment on the PHP documentation for chmod()
         *
         * @link http://docs.php.net/manual/en/function.chmod.php#49614
-        * @since 2.5
+        *
         * @access public
         * @access public
+        * @since 2.5.0
         *
         *
-        * @param string $mode string *nix style file permission
+        * @param string $mode string The *nix-style file permission.
         * @return int octal representation
         */
         * @return int octal representation
         */
-       function getnumchmodfromh($mode) {
+       function getnumchmodfromh( $mode ) {
                $realmode = '';
                $legal =  array('', 'w', 'r', 'x', '-');
                $attarray = preg_split('//', $mode);
                $realmode = '';
                $legal =  array('', 'w', 'r', 'x', '-');
                $attarray = preg_split('//', $mode);
@@ -319,15 +385,379 @@ class WP_Filesystem_Base {
        }
 
        /**
        }
 
        /**
-        * Determines if the string provided contains binary characters.
+        * Determine if the string provided contains binary characters.
         *
         *
-        * @since 2.7
         * @access private
         * @access private
+        * @since 2.7.0
         *
         *
-        * @param string $text String to test against
-        * @return bool true if string is binary, false otherwise
+        * @param string $text String to test against.
+        * @return bool true if string is binary, false otherwise.
         */
        function is_binary( $text ) {
         */
        function is_binary( $text ) {
-               return (bool) preg_match('|[^\x20-\x7E]|', $text); //chr(32)..chr(127)
+               return (bool) preg_match( '|[^\x20-\x7E]|', $text ); // chr(32)..chr(127)
+       }
+
+       /**
+        * Change the ownership of a file / folder.
+        *
+        * Default behavior is to do nothing, override this in your subclass, if desired.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file      Path to the file.
+        * @param mixed  $owner     A user name or number.
+        * @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 ) {
+               return false;
+       }
+
+       /**
+        * Connect filesystem.
+        *
+        * @since 2.5.0
+        *
+        * @return bool True on success or false on failure (always true for WP_Filesystem_Direct).
+        */
+       function connect() {
+               return true;
+       }
+
+       /**
+        * Read entire file into a string.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Name of the file to read.
+        * @return string|bool Returns the read data or false on failure.
+        */
+       function get_contents( $file ) {
+               return false;
        }
        }
-}
+
+       /**
+        * Read entire file into an array.
+        *
+        * @since 2.5.0
+        *
+        * @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 ) {
+               return false;
+       }
+
+       /**
+        * Write a string to a file.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file     Remote path to the file where to write the data.
+        * @param string $contents The data to write.
+        * @param int    $mode     Optional. The file permissions as octal number, usually 0644.
+        * @return bool False on failure.
+        */
+       function put_contents( $file, $contents, $mode = false ) {
+               return false;
+       }
+
+       /**
+        * Get the current working directory.
+        *
+        * @since 2.5.0
+        *
+        * @return string|bool The current working directory on success, or false on failure.
+        */
+       function cwd() {
+               return false;
+       }
+
+       /**
+        * Change current directory.
+        *
+        * @since 2.5.0
+        *
+        * @param string $dir The new current directory.
+        * @return bool Returns true on success or false on failure.
+        */
+       function chdir( $dir ) {
+               return false;
+       }
+
+       /**
+        * Change the file group.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file      Path to the file.
+        * @param mixed  $group     A group name or number.
+        * @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 ) {
+               return false;
+       }
+
+       /**
+        * Change filesystem permissions.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file      Path to the file.
+        * @param int    $mode      Optional. The permissions as octal number, usually 0644 for files, 0755 for dirs.
+        * @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 ) {
+               return false;
+       }
+
+       /**
+        * Get the file owner.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Path to the file.
+        * @return string|bool Username of the user or false on error.
+        */
+       function owner( $file ) {
+               return false;
+       }
+
+       /**
+        * Get the file's group.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Path to the file.
+        * @return string|bool The group or false on error.
+        */
+       function group( $file ) {
+               return false;
+       }
+
+       /**
+        * Copy a file.
+        *
+        * @since 2.5.0
+        *
+        * @param string $source      Path to the source file.
+        * @param string $destination Path to the destination file.
+        * @param bool   $overwrite   Optional. Whether to overwrite the destination file if it exists.
+        *                            Default false.
+        * @param int    $mode        Optional. The permissions as octal number, usually 0644 for files, 0755 for dirs.
+        *                            Default false.
+        * @return bool True if file copied successfully, False otherwise.
+        */
+       function copy( $source, $destination, $overwrite = false, $mode = false ) {
+               return false;
+       }
+
+       /**
+        * Move a file.
+        *
+        * @since 2.5.0
+        *
+        * @param string $source      Path to the source file.
+        * @param string $destination Path to the destination file.
+        * @param bool   $overwrite   Optional. Whether to overwrite the destination file if it exists.
+        *                            Default false.
+        * @return bool True if file copied successfully, False otherwise.
+        */
+       function move( $source, $destination, $overwrite = false ) {
+               return false;
+       }
+
+       /**
+        * Delete a file or directory.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file      Path to the file.
+        * @param bool   $recursive Optional. If set True changes file group recursively. Defaults to False.
+        *                          Default false.
+        * @param bool   $type      Type of resource. 'f' for file, 'd' for directory.
+        *                          Default false.
+        * @return bool True if the file or directory was deleted, false on failure.
+        */
+       function delete( $file, $recursive = false, $type = false ) {
+               return false;
+       }
+
+       /**
+        * Check if a file or directory exists.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Path to file/directory.
+        * @return bool Whether $file exists or not.
+        */
+       function exists( $file ) {
+               return false;
+       }
+
+       /**
+        * Check if resource is a file.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file File path.
+        * @return bool Whether $file is a file.
+        */
+       function is_file( $file ) {
+               return false;
+       }
+
+       /**
+        * Check if resource is a directory.
+        *
+        * @since 2.5.0
+        *
+        * @param string $path Directory path.
+        * @return bool Whether $path is a directory.
+        */
+       function is_dir( $path ) {
+               return false;
+       }
+
+       /**
+        * Check if a file is readable.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Path to file.
+        * @return bool Whether $file is readable.
+        */
+       function is_readable( $file ) {
+               return false;
+       }
+
+       /**
+        * Check if a file or directory is writable.
+        *
+        * @since 2.5.0
+        *
+        * @param string $path Path to file/directory.
+        * @return bool Whether $file is writable.
+        */
+       function is_writable( $file ) {
+               return false;
+       }
+
+       /**
+        * Gets the file's last access time.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Path to file.
+        * @return int Unix timestamp representing last access time.
+        */
+       function atime( $file ) {
+               return false;
+       }
+
+       /**
+        * Gets the file modification time.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Path to file.
+        * @return int Unix timestamp representing modification time.
+        */
+       function mtime( $file ) {
+               return false;
+       }
+
+       /**
+        * Gets the file size (in bytes).
+        *
+        * @since 2.5.0
+        *
+        * @param string $file Path to file.
+        * @return int Size of the file in bytes.
+        */
+       function size( $file ) {
+               return false;
+       }
+
+       /**
+        * Set the access and modification times of a file.
+        *
+        * Note: If $file doesn't exist, it will be created.
+        *
+        * @since 2.5.0
+        *
+        * @param string $file  Path to file.
+        * @param int    $time  Optional. Modified time to set for file.
+        *                      Default 0.
+        * @param int    $atime Optional. Access time to set for file.
+        *                      Default 0.
+        * @return bool Whether operation was successful or not.
+        */
+       function touch( $file, $time = 0, $atime = 0 ) {
+               return false;
+       }
+
+       /**
+        * Create a directory.
+        *
+        * @since 2.5.0
+        *
+        * @param string $path  Path for new directory.
+        * @param mixed  $chmod Optional. The permissions as octal number, (or False to skip chmod)
+        *                      Default false.
+        * @param mixed  $chown Optional. A user name or number (or False to skip chown)
+        *                      Default false.
+        * @param mixed  $chgrp Optional. A group name or number (or False to skip chgrp).
+        *                      Default false.
+        * @return bool False if directory cannot be created, true otherwise.
+        */
+       function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) {
+               return false;
+       }
+
+       /**
+        * Delete a directory.
+        *
+        * @since 2.5.0
+        *
+        * @param string $path      Path to directory.
+        * @param bool   $recursive Optional. Whether to recursively remove files/directories.
+        *                          Default false.
+        * @return bool Whether directory is deleted successfully or not.
+        */
+       function rmdir( $path, $recursive = false ) {
+               return false;
+       }
+
+       /**
+        * Get details for files in a directory or a specific file.
+        *
+        * @since 2.5.0
+        *
+        * @param string $path           Path to directory or file.
+        * @param bool   $include_hidden Optional. Whether to include details of hidden ("." prefixed) files.
+        *                               Default true.
+        * @param bool   $recursive      Optional. Whether to recursively include file details in nested directories.
+        *                               Default false.
+        * @return array|bool {
+        *     Array of files. False if unable to list directory contents.
+        *
+        *     @type string 'name'        Name of the file/directory.
+        *     @type string 'perms'       *nix representation of permissions.
+        *     @type int    'permsn'      Octal representation of permissions.
+        *     @type string 'owner'       Owner name or ID.
+        *     @type int    'size'        Size of file in bytes.
+        *     @type int    'lastmodunix' Last modified unix timestamp.
+        *     @type mixed  'lastmod'     Last modified month (3 letter) and day (without leading 0).
+        *     @type int    'time'        Last modified time.
+        *     @type string 'type'        Type of resource. 'f' for file, 'd' for directory.
+        *     @type mixed  'files'       If a directory and $recursive is true, contains another array of files.
+        * }
+        */
+       function dirlist( $path, $include_hidden = true, $recursive = false ) {
+               return false;
+       }
+
+} // WP_Filesystem_Base
index e25c9ef8d78d61c3b60156d089263c6b433ac0c4..d07305bc1dda3cd7ddb13dd93d4cca78a763e51d 100644 (file)
@@ -15,7 +15,7 @@
  * @uses WP_Filesystem_Base Extends class
  */
 class WP_Filesystem_Direct extends WP_Filesystem_Base {
  * @uses WP_Filesystem_Base Extends class
  */
 class WP_Filesystem_Direct extends WP_Filesystem_Base {
-       var $errors = null;
+
        /**
         * constructor
         *
        /**
         * constructor
         *
@@ -25,14 +25,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
                $this->method = 'direct';
                $this->errors = new WP_Error();
        }
                $this->method = 'direct';
                $this->errors = new WP_Error();
        }
-       /**
-        * connect filesystem.
-        *
-        * @return bool Returns true on success or false on failure (always true for WP_Filesystem_Direct).
-        */
-       function connect() {
-               return true;
-       }
+
        /**
         * Reads entire file into a string
         *
        /**
         * Reads entire file into a string
         *
@@ -42,6 +35,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        function get_contents($file) {
                return @file_get_contents($file);
        }
        function get_contents($file) {
                return @file_get_contents($file);
        }
+
        /**
         * Reads entire file into an array
         *
        /**
         * Reads entire file into an array
         *
@@ -51,6 +45,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        function get_contents_array($file) {
                return @file($file);
        }
        function get_contents_array($file) {
                return @file($file);
        }
+
        /**
         * Write a string to a file
         *
        /**
         * Write a string to a file
         *
@@ -59,14 +54,29 @@ 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.
         */
         * @param int $mode (optional) The file permissions as octal number, usually 0644.
         * @return bool False upon failure.
         */
-       function put_contents($file, $contents, $mode = false ) {
-               if ( ! ($fp = @fopen($file, 'w')) )
+       function put_contents( $file, $contents, $mode = false ) {
+               $fp = @fopen( $file, 'wb' );
+               if ( ! $fp )
+                       return false;
+
+               mbstring_binary_safe_encoding();
+
+               $data_length = strlen( $contents );
+
+               $bytes_written = fwrite( $fp, $contents );
+
+               reset_mbstring_encoding();
+
+               fclose( $fp );
+
+               if ( $data_length !== $bytes_written )
                        return false;
                        return false;
-               @fwrite($fp, $contents);
-               @fclose($fp);
-               $this->chmod($file, $mode);
+
+               $this->chmod( $file, $mode );
+
                return true;
        }
                return true;
        }
+
        /**
         * Gets the current working directory
         *
        /**
         * Gets the current working directory
         *
@@ -75,6 +85,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        function cwd() {
                return @getcwd();
        }
        function cwd() {
                return @getcwd();
        }
+
        /**
         * Change directory
         *
        /**
         * Change directory
         *
@@ -84,6 +95,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        function chdir($dir) {
                return @chdir($dir);
        }
        function chdir($dir) {
                return @chdir($dir);
        }
+
        /**
         * Changes file group
         *
        /**
         * Changes file group
         *
@@ -99,7 +111,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
                        return @chgrp($file, $group);
                if ( ! $this->is_dir($file) )
                        return @chgrp($file, $group);
                        return @chgrp($file, $group);
                if ( ! $this->is_dir($file) )
                        return @chgrp($file, $group);
-               //Is a directory, and we want recursive
+               // Is a directory, and we want recursive
                $file = trailingslashit($file);
                $filelist = $this->dirlist($file);
                foreach ($filelist as $filename)
                $file = trailingslashit($file);
                $filelist = $this->dirlist($file);
                foreach ($filelist as $filename)
@@ -107,6 +119,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 
                return true;
        }
 
                return true;
        }
+
        /**
         * Changes filesystem permissions
         *
        /**
         * Changes filesystem permissions
         *
@@ -127,7 +140,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 
                if ( ! $recursive || ! $this->is_dir($file) )
                        return @chmod($file, $mode);
 
                if ( ! $recursive || ! $this->is_dir($file) )
                        return @chmod($file, $mode);
-               //Is a directory, and we want recursive
+               // Is a directory, and we want recursive
                $file = trailingslashit($file);
                $filelist = $this->dirlist($file);
                foreach ( (array)$filelist as $filename => $filemeta)
                $file = trailingslashit($file);
                $filelist = $this->dirlist($file);
                foreach ( (array)$filelist as $filename => $filemeta)
@@ -135,6 +148,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
 
                return true;
        }
 
                return true;
        }
+
        /**
         * Changes file owner
         *
        /**
         * Changes file owner
         *
@@ -150,18 +164,19 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
                        return @chown($file, $owner);
                if ( ! $this->is_dir($file) )
                        return @chown($file, $owner);
                        return @chown($file, $owner);
                if ( ! $this->is_dir($file) )
                        return @chown($file, $owner);
-               //Is a directory, and we want recursive
+               // Is a directory, and we want recursive
                $filelist = $this->dirlist($file);
                foreach ($filelist as $filename) {
                        $this->chown($file . '/' . $filename, $owner, $recursive);
                }
                return true;
        }
                $filelist = $this->dirlist($file);
                foreach ($filelist as $filename) {
                        $this->chown($file . '/' . $filename, $owner, $recursive);
                }
                return true;
        }
+
        /**
         * Gets file owner
         *
         * @param string $file Path to the file.
        /**
         * Gets file owner
         *
         * @param string $file Path to the file.
-        * @return string Username of the user.
+        * @return string|bool Username of the user or false on error.
         */
        function owner($file) {
                $owneruid = @fileowner($file);
         */
        function owner($file) {
                $owneruid = @fileowner($file);
@@ -172,6 +187,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
                $ownerarray = posix_getpwuid($owneruid);
                return $ownerarray['name'];
        }
                $ownerarray = posix_getpwuid($owneruid);
                return $ownerarray['name'];
        }
+
        /**
         * Gets file permissions
         *
        /**
         * Gets file permissions
         *
@@ -183,6 +199,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        function getchmod($file) {
                return substr(decoct(@fileperms($file)),3);
        }
        function getchmod($file) {
                return substr(decoct(@fileperms($file)),3);
        }
+
        function group($file) {
                $gid = @filegroup($file);
                if ( ! $gid )
        function group($file) {
                $gid = @filegroup($file);
                if ( ! $gid )
@@ -220,27 +237,30 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        }
 
        function delete($file, $recursive = false, $type = false) {
        }
 
        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.
+               if ( empty( $file ) ) // Some filesystems report this as /, which can cause non-expected recursive deletion of all files in the filesystem.
                        return false;
                        return false;
-               $file = str_replace('\\', '/', $file); //for win32, occasional problems deleting files otherwise
+               $file = str_replace( '\\', '/', $file ); // for win32, occasional problems deleting files otherwise
 
                if ( 'f' == $type || $this->is_file($file) )
                        return @unlink($file);
                if ( ! $recursive && $this->is_dir($file) )
                        return @rmdir($file);
 
 
                if ( 'f' == $type || $this->is_file($file) )
                        return @unlink($file);
                if ( ! $recursive && $this->is_dir($file) )
                        return @rmdir($file);
 
-               //At this point it's a folder, and we're in recursive mode
+               // At this point it's a folder, and we're in recursive mode
                $file = trailingslashit($file);
                $filelist = $this->dirlist($file, true);
 
                $retval = true;
                $file = trailingslashit($file);
                $filelist = $this->dirlist($file, true);
 
                $retval = true;
-               if ( is_array($filelist) ) //false if no files, So check first.
-                       foreach ($filelist as $filename => $fileinfo)
+               if ( is_array( $filelist ) ) {
+                       foreach ( $filelist as $filename => $fileinfo ) {
                                if ( ! $this->delete($file . $filename, $recursive, $fileinfo['type']) )
                                        $retval = false;
                                if ( ! $this->delete($file . $filename, $recursive, $fileinfo['type']) )
                                        $retval = false;
+                       }
+               }
 
                if ( file_exists($file) && ! @rmdir($file) )
                        $retval = false;
 
                if ( file_exists($file) && ! @rmdir($file) )
                        $retval = false;
+
                return $retval;
        }
 
                return $retval;
        }
 
@@ -271,6 +291,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        function mtime($file) {
                return @filemtime($file);
        }
        function mtime($file) {
                return @filemtime($file);
        }
+
        function size($file) {
                return @filesize($file);
        }
        function size($file) {
                return @filesize($file);
        }
index d087189147ebe626040f01a3c9a14e977a1dd96e..b9e32cdc42fb6f1b9dbb3937032a0cbac3e9084e 100644 (file)
@@ -23,14 +23,13 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                $this->method = 'ftpext';
                $this->errors = new WP_Error();
 
                $this->method = 'ftpext';
                $this->errors = new WP_Error();
 
-               //Check if possible to use ftp functions.
+               // Check if possible to use ftp functions.
                if ( ! extension_loaded('ftp') ) {
                        $this->errors->add('no_ftp_ext', __('The ftp PHP extension is not available'));
                        return false;
                }
 
                if ( ! extension_loaded('ftp') ) {
                        $this->errors->add('no_ftp_ext', __('The ftp PHP extension is not available'));
                        return false;
                }
 
-               // Set defaults:
-               //This Class uses the timeout on a per-connection basis, Others use it on a per-action basis.
+               // This Class uses the timeout on a per-connection basis, Others use it on a per-action basis.
 
                if ( ! defined('FS_TIMEOUT') )
                        define('FS_TIMEOUT', 240);
 
                if ( ! defined('FS_TIMEOUT') )
                        define('FS_TIMEOUT', 240);
@@ -80,7 +79,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                        return false;
                }
 
                        return false;
                }
 
-               //Set the Connection to use Passive FTP
+               // Set the Connection to use Passive FTP
                @ftp_pasv( $this->link, true );
                if ( @ftp_get_option($this->link, FTP_TIMEOUT_SEC) < FS_TIMEOUT )
                        @ftp_set_option($this->link, FTP_TIMEOUT_SEC, FS_TIMEOUT);
                @ftp_pasv( $this->link, true );
                if ( @ftp_get_option($this->link, FTP_TIMEOUT_SEC) < FS_TIMEOUT )
                        @ftp_set_option($this->link, FTP_TIMEOUT_SEC, FS_TIMEOUT);
@@ -88,20 +87,17 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                return true;
        }
 
                return true;
        }
 
-       function get_contents($file, $type = '', $resumepos = 0 ) {
-               if ( empty($type) )
-                       $type = FTP_BINARY;
-
+       function get_contents( $file ) {
                $tempfile = wp_tempnam($file);
                $temp = fopen($tempfile, 'w+');
 
                if ( ! $temp )
                        return false;
 
                $tempfile = wp_tempnam($file);
                $temp = fopen($tempfile, 'w+');
 
                if ( ! $temp )
                        return false;
 
-               if ( ! @ftp_fget($this->link, $temp, $file, $type, $resumepos) )
+               if ( ! @ftp_fget($this->link, $temp, $file, FTP_BINARY ) )
                        return false;
 
                        return false;
 
-               fseek($temp, 0); //Skip back to the start of the file being written to
+               fseek( $temp, 0 ); // Skip back to the start of the file being written to
                $contents = '';
 
                while ( ! feof($temp) )
                $contents = '';
 
                while ( ! feof($temp) )
@@ -111,21 +107,33 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                unlink($tempfile);
                return $contents;
        }
                unlink($tempfile);
                return $contents;
        }
+
        function get_contents_array($file) {
                return explode("\n", $this->get_contents($file));
        }
 
        function put_contents($file, $contents, $mode = false ) {
                $tempfile = wp_tempnam($file);
        function get_contents_array($file) {
                return explode("\n", $this->get_contents($file));
        }
 
        function put_contents($file, $contents, $mode = false ) {
                $tempfile = wp_tempnam($file);
-               $temp = fopen($tempfile, 'w+');
+               $temp = fopen( $tempfile, 'wb+' );
                if ( ! $temp )
                        return false;
 
                if ( ! $temp )
                        return false;
 
-               fwrite($temp, $contents);
-               fseek($temp, 0); //Skip back to the start of the file being written to
+               mbstring_binary_safe_encoding();
+
+               $data_length = strlen( $contents );
+               $bytes_written = fwrite( $temp, $contents );
+
+               reset_mbstring_encoding();
+
+               if ( $data_length !== $bytes_written ) {
+                       fclose( $temp );
+                       unlink( $tempfile );
+                       return false;
+               }
 
 
-               $type = $this->is_binary($contents) ? FTP_BINARY : FTP_ASCII;
-               $ret = @ftp_fput($this->link, $file, $temp, $type);
+               fseek( $temp, 0 ); // Skip back to the start of the file being written to
+
+               $ret = @ftp_fput( $this->link, $file, $temp, FTP_BINARY );
 
                fclose($temp);
                unlink($tempfile);
 
                fclose($temp);
                unlink($tempfile);
@@ -134,18 +142,22 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 
                return $ret;
        }
 
                return $ret;
        }
+
        function cwd() {
                $cwd = @ftp_pwd($this->link);
                if ( $cwd )
                        $cwd = trailingslashit($cwd);
                return $cwd;
        }
        function cwd() {
                $cwd = @ftp_pwd($this->link);
                if ( $cwd )
                        $cwd = trailingslashit($cwd);
                return $cwd;
        }
+
        function chdir($dir) {
                return @ftp_chdir($this->link, $dir);
        }
        function chdir($dir) {
                return @ftp_chdir($this->link, $dir);
        }
+
        function chgrp($file, $group, $recursive = false ) {
                return false;
        }
        function chgrp($file, $group, $recursive = false ) {
                return false;
        }
+
        function chmod($file, $mode = false, $recursive = false) {
                if ( ! $mode ) {
                        if ( $this->is_file($file) )
        function chmod($file, $mode = false, $recursive = false) {
                if ( ! $mode ) {
                        if ( $this->is_file($file) )
@@ -168,29 +180,31 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                        return (bool)@ftp_site($this->link, sprintf('CHMOD %o %s', $mode, $file));
                return (bool)@ftp_chmod($this->link, $mode, $file);
        }
                        return (bool)@ftp_site($this->link, sprintf('CHMOD %o %s', $mode, $file));
                return (bool)@ftp_chmod($this->link, $mode, $file);
        }
-       function chown($file, $owner, $recursive = false ) {
-               return false;
-       }
+
        function owner($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['owner'];
        }
        function owner($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['owner'];
        }
+
        function getchmod($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['permsn'];
        }
        function getchmod($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['permsn'];
        }
+
        function group($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['group'];
        }
        function group($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['group'];
        }
+
        function copy($source, $destination, $overwrite = false, $mode = false) {
                if ( ! $overwrite && $this->exists($destination) )
                        return false;
                $content = $this->get_contents($source);
        function copy($source, $destination, $overwrite = false, $mode = false) {
                if ( ! $overwrite && $this->exists($destination) )
                        return false;
                $content = $this->get_contents($source);
-               if ( false === $content)
+               if ( false === $content )
                        return false;
                return $this->put_contents($destination, $content, $mode);
        }
                        return false;
                return $this->put_contents($destination, $content, $mode);
        }
+
        function move($source, $destination, $overwrite = false) {
                return ftp_rename($this->link, $source, $destination);
        }
        function move($source, $destination, $overwrite = false) {
                return ftp_rename($this->link, $source, $destination);
        }
@@ -214,9 +228,11 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                $list = @ftp_nlist($this->link, $file);
                return !empty($list); //empty list = no file, so invert.
        }
                $list = @ftp_nlist($this->link, $file);
                return !empty($list); //empty list = no file, so invert.
        }
+
        function is_file($file) {
                return $this->exists($file) && !$this->is_dir($file);
        }
        function is_file($file) {
                return $this->exists($file) && !$this->is_dir($file);
        }
+
        function is_dir($path) {
                $cwd = $this->cwd();
                $result = @ftp_chdir($this->link, trailingslashit($path) );
        function is_dir($path) {
                $cwd = $this->cwd();
                $result = @ftp_chdir($this->link, trailingslashit($path) );
@@ -226,26 +242,31 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                }
                return false;
        }
                }
                return false;
        }
+
        function is_readable($file) {
        function is_readable($file) {
-               //Get dir list, Check if the file is readable by the current user??
                return true;
        }
                return true;
        }
+
        function is_writable($file) {
        function is_writable($file) {
-               //Get dir list, Check if the file is writable by the current user??
                return true;
        }
                return true;
        }
+
        function atime($file) {
                return false;
        }
        function atime($file) {
                return false;
        }
+
        function mtime($file) {
                return ftp_mdtm($this->link, $file);
        }
        function mtime($file) {
                return ftp_mdtm($this->link, $file);
        }
+
        function size($file) {
                return ftp_size($this->link, $file);
        }
        function size($file) {
                return ftp_size($this->link, $file);
        }
+
        function touch($file, $time = 0, $atime = 0) {
                return false;
        }
        function touch($file, $time = 0, $atime = 0) {
                return false;
        }
+
        function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
                $path = untrailingslashit($path);
                if ( empty($path) )
        function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
                $path = untrailingslashit($path);
                if ( empty($path) )
@@ -260,6 +281,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                        $this->chgrp($path, $chgrp);
                return true;
        }
                        $this->chgrp($path, $chgrp);
                return true;
        }
+
        function rmdir($path, $recursive = false) {
                return $this->delete($path, $recursive);
        }
        function rmdir($path, $recursive = false) {
                return $this->delete($path, $recursive);
        }
index 728385b70bff4c00fedeea3e510996a251051ada..817dd08e0bfeda9146b4beb270960c9f5233a119 100644 (file)
@@ -23,12 +23,11 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                $this->method = 'ftpsockets';
                $this->errors = new WP_Error();
 
                $this->method = 'ftpsockets';
                $this->errors = new WP_Error();
 
-               //Check if possible to use ftp functions.
+               // Check if possible to use ftp functions.
                if ( ! @include_once ABSPATH . 'wp-admin/includes/class-ftp.php' )
                                return false;
                $this->ftp = new ftp();
 
                if ( ! @include_once ABSPATH . 'wp-admin/includes/class-ftp.php' )
                                return false;
                $this->ftp = new ftp();
 
-               //Set defaults:
                if ( empty($opt['port']) )
                        $this->options['port'] = 21;
                else
                if ( empty($opt['port']) )
                        $this->options['port'] = 21;
                else
@@ -75,32 +74,35 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                        return false;
                }
 
                        return false;
                }
 
-               $this->ftp->SetType(FTP_AUTOASCII);
-               $this->ftp->Passive(true);
-               $this->ftp->setTimeout(FS_TIMEOUT);
+               $this->ftp->SetType( FTP_BINARY );
+               $this->ftp->Passive( true );
+               $this->ftp->setTimeout( FS_TIMEOUT );
                return true;
        }
 
                return true;
        }
 
-       function get_contents($file, $type = '', $resumepos = 0) {
+       function get_contents( $file ) {
                if ( ! $this->exists($file) )
                        return false;
 
                if ( ! $this->exists($file) )
                        return false;
 
-               if ( empty($type) )
-                       $type = FTP_AUTOASCII;
-               $this->ftp->SetType($type);
-
                $temp = wp_tempnam( $file );
 
                if ( ! $temphandle = fopen($temp, 'w+') )
                        return false;
 
                $temp = wp_tempnam( $file );
 
                if ( ! $temphandle = fopen($temp, 'w+') )
                        return false;
 
+               mbstring_binary_safe_encoding();
+
                if ( ! $this->ftp->fget($temphandle, $file) ) {
                        fclose($temphandle);
                        unlink($temp);
                if ( ! $this->ftp->fget($temphandle, $file) ) {
                        fclose($temphandle);
                        unlink($temp);
-                       return ''; //Blank document, File does exist, It's just blank.
+
+                       reset_mbstring_encoding();
+
+                       return ''; // Blank document, File does exist, It's just blank.
                }
 
                }
 
-               fseek($temphandle, 0); //Skip back to the start of the file being written to
+               reset_mbstring_encoding();
+
+               fseek( $temphandle, 0 ); // Skip back to the start of the file being written to
                $contents = '';
 
                while ( ! feof($temphandle) )
                $contents = '';
 
                while ( ! feof($temphandle) )
@@ -122,14 +124,25 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                        return false;
                }
 
                        return false;
                }
 
-               fwrite($temphandle, $contents);
-               fseek($temphandle, 0); //Skip back to the start of the file being written to
+               // The FTP class uses string functions internally during file download/upload
+               mbstring_binary_safe_encoding();
+
+               $bytes_written = fwrite( $temphandle, $contents );
+               if ( false === $bytes_written || $bytes_written != strlen( $contents ) ) {
+                       fclose( $temphandle );
+                       unlink( $temp );
+
+                       reset_mbstring_encoding();
+
+                       return false;
+               }
 
 
-               $type = $this->is_binary($contents) ? FTP_BINARY : FTP_ASCII;
-               $this->ftp->SetType($type);
+               fseek( $temphandle, 0 ); // Skip back to the start of the file being written to
 
                $ret = $this->ftp->fput($file, $temphandle);
 
 
                $ret = $this->ftp->fput($file, $temphandle);
 
+               reset_mbstring_encoding();
+
                fclose($temphandle);
                unlink($temp);
 
                fclose($temphandle);
                unlink($temp);
 
@@ -174,10 +187,6 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                return $this->ftp->chmod($file, $mode);
        }
 
                return $this->ftp->chmod($file, $mode);
        }
 
-       function chown($file, $owner, $recursive = false ) {
-               return false;
-       }
-
        function owner($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['owner'];
        function owner($file) {
                $dir = $this->dirlist($file);
                return $dir[$file]['owner'];
@@ -219,8 +228,10 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                return $this->ftp->mdel($file);
        }
 
                return $this->ftp->mdel($file);
        }
 
-       function exists($file) {
-               return $this->ftp->is_exists($file);
+       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
        }
 
        function is_file($file) {
        }
 
        function is_file($file) {
@@ -241,12 +252,10 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
        }
 
        function is_readable($file) {
        }
 
        function is_readable($file) {
-               //Get dir list, Check if the file is writable by the current user??
                return true;
        }
 
        function is_writable($file) {
                return true;
        }
 
        function is_writable($file) {
-               //Get dir list, Check if the file is writable by the current user??
                return true;
        }
 
                return true;
        }
 
@@ -295,9 +304,15 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                        $limit_file = false;
                }
 
                        $limit_file = false;
                }
 
+               mbstring_binary_safe_encoding();
+
                $list = $this->ftp->dirlist($path);
                $list = $this->ftp->dirlist($path);
-               if ( empty($list) && !$this->exists($path) )
+               if ( empty( $list ) && ! $this->exists( $path ) ) {
+
+                       reset_mbstring_encoding();
+
                        return false;
                        return false;
+               }
 
                $ret = array();
                foreach ( $list as $struc ) {
 
                $ret = array();
                foreach ( $list as $struc ) {
@@ -324,6 +339,9 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 
                        $ret[ $struc['name'] ] = $struc;
                }
 
                        $ret[ $struc['name'] ] = $struc;
                }
+
+               reset_mbstring_encoding();
+
                return $ret;
        }
 
                return $ret;
        }
 
index 8ff3cb18e79f458b4dc800b45737a9924a9e9f6e..f942989dad6151e54e68f0e47f19c051dff36a9f 100644 (file)
@@ -1,13 +1,6 @@
 <?php
 /**
 <?php
 /**
- * WordPress SSH2 Filesystem.
- *
- * @package WordPress
- * @subpackage Filesystem
- */
-
-/**
- * WordPress Filesystem Class for implementing SSH2.
+ * WordPress Filesystem Class for implementing SSH2
  *
  * To use this class you must follow these steps for PHP 5.2.6+
  *
  *
  * To use this class you must follow these steps for PHP 5.2.6+
  *
  *
  * Note: as of WordPress 2.8, This utilises the PHP5+ function 'stream_get_contents'
  *
  *
  * Note: as of WordPress 2.8, This utilises the PHP5+ function 'stream_get_contents'
  *
- * @since 2.7
+ * @since 2.7.0
+ *
  * @package WordPress
  * @subpackage Filesystem
  * @package WordPress
  * @subpackage Filesystem
- * @uses WP_Filesystem_Base Extends class
  */
 class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
  */
 class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
@@ -150,7 +143,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
                return false;
        }
 
                return false;
        }
 
-       function get_contents($file, $type = '', $resumepos = 0 ) {
+       function get_contents( $file ) {
                $file = ltrim($file, '/');
                return file_get_contents('ssh2.sftp://' . $this->sftp_link . '/' . $file);
        }
                $file = ltrim($file, '/');
                return file_get_contents('ssh2.sftp://' . $this->sftp_link . '/' . $file);
        }
@@ -161,12 +154,14 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        }
 
        function put_contents($file, $contents, $mode = false ) {
        }
 
        function put_contents($file, $contents, $mode = false ) {
-               $file = ltrim($file, '/');
-               $ret = file_put_contents('ssh2.sftp://' . $this->sftp_link . '/' . $file, $contents);
+               $ret = file_put_contents( 'ssh2.sftp://' . $this->sftp_link . '/' . ltrim( $file, '/' ), $contents );
+
+               if ( $ret !== strlen( $contents ) )
+                       return false;
 
                $this->chmod($file, $mode);
 
 
                $this->chmod($file, $mode);
 
-               return false !== $ret;
+               return true;
        }
 
        function cwd() {
        }
 
        function cwd() {
@@ -206,7 +201,17 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
                return $this->run_command(sprintf('chmod -R %o %s', $mode, escapeshellarg($file)), true);
        }
 
                return $this->run_command(sprintf('chmod -R %o %s', $mode, escapeshellarg($file)), true);
        }
 
-       function chown($file, $owner, $recursive = false ) {
+       /**
+        * Change the ownership of a file / folder.
+        *
+        * @since Unknown
+        *
+        * @param string $file    Path to the file.
+        * @param mixed  $owner   A user name or number.
+        * @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 ) {
                if ( ! $this->exists($file) )
                        return false;
                if ( ! $recursive || ! $this->is_dir($file) )
                if ( ! $this->exists($file) )
                        return false;
                if ( ! $recursive || ! $this->is_dir($file) )
index b017c84fcd3a0842ffdc6ff0942fee424a005c8f..57ff7f4b93b0919828f5998e092b10efbacf9d5a 100644 (file)
@@ -179,7 +179,7 @@ class WP_Importer {
         */
        function get_page( $url, $username = '', $password = '', $head = false ) {
                // Increase the timeout
         */
        function get_page( $url, $username = '', $password = '', $head = false ) {
                // Increase the timeout
-               add_filter( 'http_request_timeout', array( &$this, 'bump_request_timeout' ) );
+               add_filter( 'http_request_timeout', array( $this, 'bump_request_timeout' ) );
 
                $headers = array();
                $args = array();
 
                $headers = array();
                $args = array();
index 22c35f5edcba29c84b29b9794f1db8af9f10f901..bab488ec7cb792d6672278bd3f55710bee4f89dd 100644 (file)
@@ -87,7 +87,7 @@ class WP_List_Table {
 
                $this->screen = convert_to_screen( $args['screen'] );
 
 
                $this->screen = convert_to_screen( $args['screen'] );
 
-               add_filter( "manage_{$this->screen->id}_columns", array( &$this, 'get_columns' ), 0 );
+               add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 );
 
                if ( !$args['plural'] )
                        $args['plural'] = $this->screen->base;
 
                if ( !$args['plural'] )
                        $args['plural'] = $this->screen->base;
@@ -99,7 +99,7 @@ class WP_List_Table {
 
                if ( $args['ajax'] ) {
                        // wp_enqueue_script( 'list-table' );
 
                if ( $args['ajax'] ) {
                        // wp_enqueue_script( 'list-table' );
-                       add_action( 'admin_footer', array( &$this, '_js_vars' ) );
+                       add_action( 'admin_footer', array( $this, '_js_vars' ) );
                }
        }
 
                }
        }
 
@@ -340,7 +340,7 @@ class WP_List_Table {
                if ( !$action_count )
                        return '';
 
                if ( !$action_count )
                        return '';
 
-               $out = '<div class="' . ( $always_visible ? 'row-actions-visible' : 'row-actions' ) . '">';
+               $out = '<div class="' . ( $always_visible ? 'row-actions visible' : 'row-actions' ) . '">';
                foreach ( $actions as $action => $link ) {
                        ++$i;
                        ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
                foreach ( $actions as $action => $link ) {
                        ++$i;
                        ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
@@ -367,6 +367,16 @@ class WP_List_Table {
                        ORDER BY post_date DESC
                ", $post_type ) );
 
                        ORDER BY post_date DESC
                ", $post_type ) );
 
+               /**
+                * Filter the months dropdown results.
+                *
+                * @since 3.7.0
+                *
+                * @param object $months    The months dropdown query results.
+                * @param string $post_type The post type.
+                */
+               $months = apply_filters( 'months_dropdown_results', $months, $post_type );
+
                $month_count = count( $months );
 
                if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
                $month_count = count( $months );
 
                if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
@@ -764,7 +774,7 @@ class WP_List_Table {
 ?>
        <div class="tablenav <?php echo esc_attr( $which ); ?>">
 
 ?>
        <div class="tablenav <?php echo esc_attr( $which ); ?>">
 
-               <div class="alignleft actions">
+               <div class="alignleft actions bulkactions">
                        <?php $this->bulk_actions(); ?>
                </div>
 <?php
                        <?php $this->bulk_actions(); ?>
                </div>
 <?php
@@ -857,7 +867,7 @@ class WP_List_Table {
                        }
                        elseif ( method_exists( $this, 'column_' . $column_name ) ) {
                                echo "<td $attributes>";
                        }
                        elseif ( method_exists( $this, 'column_' . $column_name ) ) {
                                echo "<td $attributes>";
-                               echo call_user_func( array( &$this, 'column_' . $column_name ), $item );
+                               echo call_user_func( array( $this, 'column_' . $column_name ), $item );
                                echo "</td>";
                        }
                        else {
                                echo "</td>";
                        }
                        else {
index 67fd187cf6d8956ab609d0574239d966a8d46e9e..1f0067dd8ae2b16f8c78a564812426f7a74d7021 100644 (file)
@@ -301,11 +301,17 @@ foreach ( $columns as $column_name => $column_display_name ) {
                break;
 
        case 'parent':
                break;
 
        case 'parent':
-               if ( $post->post_parent > 0 && get_post( $post->post_parent ) ) {
+               if ( $post->post_parent > 0 )
+                       $parent = get_post( $post->post_parent );
+               else
+                       $parent = false;
+
+               if ( $parent ) {
                        $title = _draft_or_post_title( $post->post_parent );
                        $title = _draft_or_post_title( $post->post_parent );
+                       $parent_type = get_post_type_object( $parent->post_type );
 ?>
                        <td <?php echo $attributes ?>><strong>
 ?>
                        <td <?php echo $attributes ?>><strong>
-                               <?php if ( current_user_can( 'edit_post', $post->post_parent ) ) { ?>
+                               <?php if ( current_user_can( 'edit_post', $post->post_parent ) && $parent_type->show_ui ) { ?>
                                        <a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
                                                <?php echo $title ?></a><?php
                                } else {
                                        <a href="<?php echo get_edit_post_link( $post->post_parent ); ?>">
                                                <?php echo $title ?></a><?php
                                } else {
index b9d68a1f35e321bb0af768139f8d95cc00be6937..edc1146a975a6afafe7b289aebd78cf9dadd3037 100644 (file)
@@ -214,8 +214,10 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                                switch ( $column_name ) {
                                        case 'cb': ?>
                                                <th scope="row" class="check-column">
                                switch ( $column_name ) {
                                        case 'cb': ?>
                                                <th scope="row" class="check-column">
+                                                       <?php if ( ! is_main_site( $blog['blog_id'] ) ) : ?>
                                                        <label class="screen-reader-text" for="blog_<?php echo $blog['blog_id']; ?>"><?php printf( __( 'Select %s' ), $blogname ); ?></label>
                                                        <input type="checkbox" id="blog_<?php echo $blog['blog_id'] ?>" name="allblogs[]" value="<?php echo esc_attr( $blog['blog_id'] ) ?>" />
                                                        <label class="screen-reader-text" for="blog_<?php echo $blog['blog_id']; ?>"><?php printf( __( 'Select %s' ), $blogname ); ?></label>
                                                        <input type="checkbox" id="blog_<?php echo $blog['blog_id'] ?>" name="allblogs[]" value="<?php echo esc_attr( $blog['blog_id'] ) ?>" />
+                                                       <?php endif; ?>
                                                </th>
                                        <?php
                                        break;
                                                </th>
                                        <?php
                                        break;
index 1d61af9f82ac061413f0022eb4aa8cec0194053a..73045dbfc58de41ea8eabe7500c2f3cbfaf24f93 100644 (file)
@@ -84,7 +84,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
 
                if ( $s ) {
                        $status = 'search';
 
                if ( $s ) {
                        $status = 'search';
-                       $themes['search'] = array_filter( array_merge( $themes['all'], $themes['broken'] ), array( &$this, '_search_callback' ) );
+                       $themes['search'] = array_filter( array_merge( $themes['all'], $themes['broken'] ), array( $this, '_search_callback' ) );
                }
 
                $totals = array();
                }
 
                $totals = array();
@@ -108,7 +108,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                                if ( 'ASC' == $order )
                                        $this->items = array_reverse( $this->items );
                        } else {
                                if ( 'ASC' == $order )
                                        $this->items = array_reverse( $this->items );
                        } else {
-                               uasort( $this->items, array( &$this, '_order_callback' ) );
+                               uasort( $this->items, array( $this, '_order_callback' ) );
                        }
                }
 
                        }
                }
 
@@ -284,8 +284,8 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
                if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $stylesheet != get_option( 'stylesheet' ) && $stylesheet != get_option( 'template' ) )
                        $actions['delete'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=delete-selected&amp;checked[]=' . $theme_key . '&amp;theme_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-themes' ) ) . '" title="' . esc_attr__( 'Delete this theme' ) . '" class="delete">' . __( 'Delete' ) . '</a>';
 
                if ( ! $allowed && current_user_can( 'delete_themes' ) && ! $this->is_site_themes && $stylesheet != get_option( 'stylesheet' ) && $stylesheet != get_option( 'template' ) )
                        $actions['delete'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=delete-selected&amp;checked[]=' . $theme_key . '&amp;theme_status=' . $context . '&amp;paged=' . $page . '&amp;s=' . $s, 'bulk-themes' ) ) . '" title="' . esc_attr__( 'Delete this theme' ) . '" class="delete">' . __( 'Delete' ) . '</a>';
 
-               $actions = apply_filters( 'theme_action_links', array_filter( $actions ), $stylesheet, $theme, $context );
-               $actions = apply_filters( "theme_action_links_$stylesheet", $actions, $stylesheet, $theme, $context );
+               $actions = apply_filters( 'theme_action_links', array_filter( $actions ), $theme, $context );
+               $actions = apply_filters( "theme_action_links_$stylesheet", $actions, $theme, $context );
 
                $class = ! $allowed ? 'inactive' : 'active';
                $checkbox_id = "checkbox_" . md5( $theme->get('Name') );
 
                $class = ! $allowed ? 'inactive' : 'active';
                $checkbox_id = "checkbox_" . md5( $theme->get('Name') );
index 76ef2ce2c1ff42218ca3f70f0211c3f4532ee704..6cae9cef6318600d43e0502dbf748b4962ab8f40 100644 (file)
@@ -37,7 +37,23 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 
                $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.
+                *
+                * @since 2.7.0
+                *
+                * @param array $tabs The tabs shown on the Plugin Install screen. Defaults are 'dashboard', 'search',
+                *                    'upload', 'featured', 'popular', 'new', and 'favorites'.
+                */
                $tabs = apply_filters( 'install_plugins_tabs', $tabs );
                $tabs = apply_filters( 'install_plugins_tabs', $tabs );
+
+               /**
+                * Filter tabs not associated with a menu item on the Plugin Install screen.
+                *
+                * @since 2.7.0
+                *
+                * @param array $nonmenu_tabs The tabs that don't have a Menu item on the Plugin Install screen.
+                */
                $nonmenu_tabs = apply_filters( 'install_plugins_nonmenu_tabs', $nonmenu_tabs );
 
                // If a non-valid menu tab has been selected, And it's not a non-menu action.
                $nonmenu_tabs = apply_filters( 'install_plugins_nonmenu_tabs', $nonmenu_tabs );
 
                // If a non-valid menu tab has been selected, And it's not a non-menu action.
@@ -85,8 +101,22 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
 
                        default:
                                $args = false;
 
                        default:
                                $args = false;
+                               break;
                }
 
                }
 
+               /**
+                * Filter API request arguments for each Plugin Install screen tab.
+                *
+                * The dynamic portion of the hook name, $tab, refers to the plugin install tabs.
+                * Default tabs are 'dashboard', 'search', 'upload', 'featured', 'popular', 'new',
+                * and 'favorites'.
+                *
+                * @since 3.7.0
+                *
+                * @param array|bool $args Plugin Install API arguments.
+                */
+               $args = apply_filters( "install_plugins_table_api_args_$tab", $args );
+
                if ( !$args )
                        return;
 
                if ( !$args )
                        return;
 
@@ -124,7 +154,13 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                if ( 'top' ==  $which ) { ?>
                        <div class="tablenav top">
                                <div class="alignleft actions">
                if ( 'top' ==  $which ) { ?>
                        <div class="tablenav top">
                                <div class="alignleft actions">
-                                       <?php do_action( 'install_plugins_table_header' ); ?>
+                                       <?php
+                                       /**
+                                        * Fires before the Plugin Install table header pagination is displayed.
+                                        *
+                                        * @since 2.7.0
+                                        */
+                                       do_action( 'install_plugins_table_header' ); ?>
                                </div>
                                <?php $this->pagination( $which ); ?>
                                <br class="clear" />
                                </div>
                                <?php $this->pagination( $which ); ?>
                                <br class="clear" />
@@ -218,6 +254,14 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                                }
                        }
 
                                }
                        }
 
+                       /**
+                        * Filter the install action links for a plugin.
+                        *
+                        * @since 2.7.0
+                        *
+                        * @param array $action_links An array of plugin action hyperlinks. Defaults are links to Details and Install Now.
+                        * @param array $plugin       The plugin currently being listed.
+                        */
                        $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin );
                ?>
                <tr>
                        $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin );
                ?>
                <tr>
index ae1d1b8d8dedbe0b203632af2ea8c9e064a53b77..9e648498fe8653e2e29d79e33d2546cec86bd95a 100644 (file)
@@ -99,7 +99,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
 
                if ( $s ) {
                        $status = 'search';
 
                if ( $s ) {
                        $status = 'search';
-                       $plugins['search'] = array_filter( $plugins['all'], array( &$this, '_search_callback' ) );
+                       $plugins['search'] = array_filter( $plugins['all'], array( $this, '_search_callback' ) );
                }
 
                $totals = array();
                }
 
                $totals = array();
@@ -121,7 +121,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
                        $orderby = ucfirst( $orderby );
                        $order = strtoupper( $order );
 
                        $orderby = ucfirst( $orderby );
                        $order = strtoupper( $order );
 
-                       uasort( $this->items, array( &$this, '_order_callback' ) );
+                       uasort( $this->items, array( $this, '_order_callback' ) );
                }
 
                $plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 );
                }
 
                $plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 );
@@ -321,7 +321,7 @@ class WP_Plugins_List_Table extends WP_List_Table {
                        if ( true === ( $dropins[ $plugin_file ][1] ) ) { // Doesn't require a constant
                                $is_active = true;
                                $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';
                        if ( true === ( $dropins[ $plugin_file ][1] ) ) { // Doesn't require a constant
                                $is_active = true;
                                $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';
-                       } elseif ( constant( $dropins[ $plugin_file ][1] ) ) { // Constant is true
+                       } elseif ( defined( $dropins[ $plugin_file ][1] ) && constant( $dropins[ $plugin_file ][1] ) ) { // Constant is true
                                $is_active = true;
                                $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';
                        } else {
                                $is_active = true;
                                $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>';
                        } else {
index a798a2c2b9ae866978308cd85361528a2462723d..016a726b74b1270709ae84a1ae1258c3a7b6133f 100644 (file)
@@ -57,9 +57,10 @@ class WP_Posts_List_Table extends WP_List_Table {
                $post_type_object = get_post_type_object( $post_type );
 
                if ( !current_user_can( $post_type_object->cap->edit_others_posts ) ) {
                $post_type_object = get_post_type_object( $post_type );
 
                if ( !current_user_can( $post_type_object->cap->edit_others_posts ) ) {
+                       $exclude_states = get_post_stati( array( 'show_in_admin_all_list' => false ) );
                        $this->user_posts_count = $wpdb->get_var( $wpdb->prepare( "
                                SELECT COUNT( 1 ) FROM $wpdb->posts
                        $this->user_posts_count = $wpdb->get_var( $wpdb->prepare( "
                                SELECT COUNT( 1 ) FROM $wpdb->posts
-                               WHERE post_type = %s AND post_status NOT IN ( 'trash', 'auto-draft' )
+                               WHERE post_type = %s AND post_status NOT IN ( '" . implode( "','", $exclude_states ) . "' )
                                AND post_author = %d
                        ", $post_type, get_current_user_id() ) );
 
                                AND post_author = %d
                        ", $post_type, get_current_user_id() ) );
 
@@ -69,7 +70,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 
                if ( 'post' == $post_type && $sticky_posts = get_option( 'sticky_posts' ) ) {
                        $sticky_posts = implode( ', ', array_map( 'absint', (array) $sticky_posts ) );
 
                if ( 'post' == $post_type && $sticky_posts = get_option( 'sticky_posts' ) ) {
                        $sticky_posts = implode( ', ', array_map( 'absint', (array) $sticky_posts ) );
-                       $this->sticky_posts_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( 1 ) FROM $wpdb->posts WHERE post_type = %s AND post_status != 'trash' AND ID IN ($sticky_posts)", $post_type ) );
+                       $this->sticky_posts_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( 1 ) FROM $wpdb->posts WHERE post_type = %s AND post_status NOT IN ('trash', 'auto-draft') AND ID IN ($sticky_posts)", $post_type ) );
                }
        }
 
                }
        }
 
@@ -417,12 +418,12 @@ class WP_Posts_List_Table extends WP_List_Table {
         *
         * @since 3.1.0 (Standalone function exists since 2.6.0)
         *
         *
         * @since 3.1.0 (Standalone function exists since 2.6.0)
         *
-        * @param unknown_type $children_pages
-        * @param unknown_type $count
-        * @param unknown_type $parent
-        * @param unknown_type $level
-        * @param unknown_type $pagenum
-        * @param unknown_type $per_page
+        * @param array $children_pages
+        * @param int $count
+        * @param int $parent
+        * @param int $level
+        * @param int $pagenum
+        * @param int $per_page
         */
        function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) {
 
         */
        function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) {
 
@@ -539,8 +540,10 @@ class WP_Posts_List_Table extends WP_List_Table {
                                                        $level++;
                                                        $find_main_page = (int) $parent->post_parent;
 
                                                        $level++;
                                                        $find_main_page = (int) $parent->post_parent;
 
-                                                       if ( !isset( $parent_name ) )
+                                                       if ( !isset( $parent_name ) ) {
+                                                               /** This filter is documented in wp-includes/post-template.php */
                                                                $parent_name = apply_filters( 'the_title', $parent->post_title, $parent->ID );
                                                                $parent_name = apply_filters( 'the_title', $parent->post_title, $parent->ID );
+                                                       }
                                                }
                                        }
                                }
                                                }
                                        }
                                }
@@ -1034,6 +1037,33 @@ class WP_Posts_List_Table extends WP_List_Table {
        <?php endif; // 'post' && $can_publish && current_user_can( 'edit_others_cap' ) ?>
 
                        </div>
        <?php endif; // 'post' && $can_publish && current_user_can( 'edit_others_cap' ) ?>
 
                        </div>
+
+       <?php
+
+       if ( $bulk && post_type_supports( $screen->post_type, 'post-formats' ) ) {
+               $all_post_formats = get_post_format_strings();
+
+               ?>
+               <label class="alignleft" for="post_format">
+               <span class="title"><?php _ex( 'Format', 'post format' ); ?></span>
+               <select name="post_format">
+                       <option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option>
+                       <?php
+
+                       foreach ( $all_post_formats as $slug => $format ) {
+                               ?>
+                               <option value="<?php echo esc_attr( $slug ); ?>"><?php echo esc_html( $format ); ?></option>
+                               <?php
+                       }
+
+                       ?>
+               </select></label>
+       <?php
+
+       }
+
+       ?>
+
                </div></fieldset>
 
        <?php
                </div></fieldset>
 
        <?php
@@ -1057,6 +1087,9 @@ class WP_Posts_List_Table extends WP_List_Table {
                        } ?>
                        <input type="hidden" name="post_view" value="<?php echo esc_attr( $m ); ?>" />
                        <input type="hidden" name="screen" value="<?php echo esc_attr( $screen->id ); ?>" />
                        } ?>
                        <input type="hidden" name="post_view" value="<?php echo esc_attr( $m ); ?>" />
                        <input type="hidden" name="screen" value="<?php echo esc_attr( $screen->id ); ?>" />
+                       <?php if ( ! $bulk && ! post_type_supports( $screen->post_type, 'author' ) ) { ?>
+                               <input type="hidden" name="post_author" value="<?php echo esc_attr( $post->post_author ); ?>" />
+                       <?php } ?>
                        <span class="error" style="display:none"></span>
                        <br class="clear" />
                </p>
                        <span class="error" style="display:none"></span>
                        <br class="clear" />
                </p>
index eef7ccfdbc31d332494fcfdb8eddd983c3bf8789..f44b626616faf4b80896b1083810de314d8cb681 100644 (file)
@@ -259,7 +259,8 @@ class WP_Terms_List_Table extends WP_List_Table {
                }
                if ( current_user_can( $tax->cap->delete_terms ) && $tag->term_id != $default_term )
                        $actions['delete'] = "<a class='delete-tag' href='" . wp_nonce_url( "edit-tags.php?action=delete&amp;taxonomy=$taxonomy&amp;tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id ) . "'>" . __( 'Delete' ) . "</a>";
                }
                if ( current_user_can( $tax->cap->delete_terms ) && $tag->term_id != $default_term )
                        $actions['delete'] = "<a class='delete-tag' href='" . wp_nonce_url( "edit-tags.php?action=delete&amp;taxonomy=$taxonomy&amp;tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id ) . "'>" . __( 'Delete' ) . "</a>";
-               $actions['view'] = '<a href="' . get_term_link( $tag ) . '">' . __( 'View' ) . '</a>';
+               if ( $tax->public )
+                       $actions['view'] = '<a href="' . get_term_link( $tag ) . '">' . __( 'View' ) . '</a>';
 
                $actions = apply_filters( 'tag_row_actions', $actions, $tag );
                $actions = apply_filters( "{$taxonomy}_row_actions", $actions, $tag );
 
                $actions = apply_filters( 'tag_row_actions', $actions, $tag );
                $actions = apply_filters( "{$taxonomy}_row_actions", $actions, $tag );
index 8a46199f160082ba2677b6d5e13258eb9d484cea..bb8328fb1b62890ad932c83af3d10ad30211f99a 100644 (file)
@@ -90,8 +90,11 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
 
                        default:
                                $args = false;
 
                        default:
                                $args = false;
+                               break;
                }
 
                }
 
+               $args = apply_filters( 'install_themes_table_api_args_' . $tab, $args );
+
                if ( ! $args )
                        return;
 
                if ( ! $args )
                        return;
 
index 684bd8be00d0a8b836a878304595b5695fc46ca9..d49d9930b9555607f3b1f996131d4c28ef0f5fb4 100644 (file)
@@ -114,6 +114,16 @@ class WP_Themes_List_Table extends WP_List_Table {
                return array();
        }
 
                return array();
        }
 
+       function display_rows_or_placeholder() {
+               if ( $this->has_items() ) {
+                       $this->display_rows();
+               } else {
+                       echo '<div class="no-items">';
+                       $this->no_items();
+                       echo '</div>';
+               }
+       }
+
        function display_rows() {
                $themes = $this->items;
 
        function display_rows() {
                $themes = $this->items;
 
@@ -149,6 +159,7 @@ class WP_Themes_List_Table extends WP_List_Table {
                                        . "' );" . '">' . __( 'Delete' ) . '</a>';
 
                        $actions       = apply_filters( 'theme_action_links', $actions, $theme );
                                        . "' );" . '">' . __( 'Delete' ) . '</a>';
 
                        $actions       = apply_filters( 'theme_action_links', $actions, $theme );
+                       $actions       = apply_filters( "theme_action_links_$stylesheet", $actions, $theme );
                        $delete_action = isset( $actions['delete'] ) ? '<div class="delete-theme">' . $actions['delete'] . '</div>' : '';
                        unset( $actions['delete'] );
 
                        $delete_action = isset( $actions['delete'] ) ? '<div class="delete-theme">' . $actions['delete'] . '</div>' : '';
                        unset( $actions['delete'] );
 
diff --git a/wp-admin/includes/class-wp-upgrader-skins.php b/wp-admin/includes/class-wp-upgrader-skins.php
new file mode 100644 (file)
index 0000000..b8c82c7
--- /dev/null
@@ -0,0 +1,662 @@
+<?php
+/**
+ * The User Interface "Skins" for the WordPress File Upgrader
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 2.8.0
+ */
+
+/**
+ * Generic Skin for the WordPress Upgrader classes. This skin is designed to be extended for specific purposes.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 2.8.0
+ */
+class WP_Upgrader_Skin {
+
+       var $upgrader;
+       var $done_header = false;
+       var $result = false;
+
+       function __construct($args = array()) {
+               $defaults = array( 'url' => '', 'nonce' => '', 'title' => '', 'context' => false );
+               $this->options = wp_parse_args($args, $defaults);
+       }
+
+       function set_upgrader(&$upgrader) {
+               if ( is_object($upgrader) )
+                       $this->upgrader =& $upgrader;
+               $this->add_strings();
+       }
+
+       function add_strings() {
+       }
+
+       function set_result($result) {
+               $this->result = $result;
+       }
+
+       function request_filesystem_credentials($error = false) {
+               $url = $this->options['url'];
+               $context = $this->options['context'];
+               if ( !empty($this->options['nonce']) )
+                       $url = wp_nonce_url($url, $this->options['nonce']);
+               return request_filesystem_credentials($url, '', $error, $context); //Possible to bring inline, Leaving as is for now.
+       }
+
+       function header() {
+               if ( $this->done_header )
+                       return;
+               $this->done_header = true;
+               echo '<div class="wrap">';
+               screen_icon();
+               echo '<h2>' . $this->options['title'] . '</h2>';
+       }
+       function footer() {
+               echo '</div>';
+       }
+
+       function error($errors) {
+               if ( ! $this->done_header )
+                       $this->header();
+               if ( is_string($errors) ) {
+                       $this->feedback($errors);
+               } elseif ( is_wp_error($errors) && $errors->get_error_code() ) {
+                       foreach ( $errors->get_error_messages() as $message ) {
+                               if ( $errors->get_error_data() && is_string( $errors->get_error_data() ) )
+                                       $this->feedback($message . ' ' . esc_html( $errors->get_error_data() ) );
+                               else
+                                       $this->feedback($message);
+                       }
+               }
+       }
+
+       function feedback($string) {
+               if ( isset( $this->upgrader->strings[$string] ) )
+                       $string = $this->upgrader->strings[$string];
+
+               if ( strpos($string, '%') !== false ) {
+                       $args = func_get_args();
+                       $args = array_splice($args, 1);
+                       if ( $args ) {
+                               $args = array_map( 'strip_tags', $args );
+                               $args = array_map( 'esc_html', $args );
+                               $string = vsprintf($string, $args);
+                       }
+               }
+               if ( empty($string) )
+                       return;
+               show_message($string);
+       }
+       function before() {}
+       function after() {}
+
+}
+
+/**
+ * Plugin Upgrader Skin for WordPress Plugin Upgrades.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 2.8.0
+ */
+class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
+       var $plugin = '';
+       var $plugin_active = false;
+       var $plugin_network_active = false;
+
+       function __construct($args = array()) {
+               $defaults = array( 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => __('Update Plugin') );
+               $args = wp_parse_args($args, $defaults);
+
+               $this->plugin = $args['plugin'];
+
+               $this->plugin_active = is_plugin_active( $this->plugin );
+               $this->plugin_network_active = is_plugin_active_for_network( $this->plugin );
+
+               parent::__construct($args);
+       }
+
+       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>';
+               }
+
+               $update_actions =  array(
+                       'activate_plugin' => '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin') . '</a>',
+                       'plugins_page' => '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Go to plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>'
+               );
+               if ( $this->plugin_active || ! $this->result || is_wp_error( $this->result ) || ! current_user_can( 'activate_plugins' ) )
+                       unset( $update_actions['activate_plugin'] );
+
+               $update_actions = apply_filters('update_plugin_complete_actions', $update_actions, $this->plugin);
+               if ( ! empty($update_actions) )
+                       $this->feedback(implode(' | ', (array)$update_actions));
+       }
+
+       function before() {
+               if ( $this->upgrader->show_before ) {
+                       echo $this->upgrader->show_before;
+                       $this->upgrader->show_before = '';
+               }
+       }
+}
+
+/**
+ * Plugin Upgrader Skin for WordPress Plugin Upgrades.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 3.0.0
+ */
+class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
+       var $in_loop = false;
+       var $error = false;
+
+       function __construct($args = array()) {
+               $defaults = array( 'url' => '', 'nonce' => '' );
+               $args = wp_parse_args($args, $defaults);
+
+               parent::__construct($args);
+       }
+
+       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.');
+               $this->upgrader->strings['skin_update_successful'] = __('%1$s updated successfully.').' <a onclick="%2$s" href="#" class="hide-if-no-js"><span>'.__('Show Details').'</span><span class="hidden">'.__('Hide Details').'</span>.</a>';
+               $this->upgrader->strings['skin_upgrade_end'] = __('All updates have been completed.');
+       }
+
+       function feedback($string) {
+               if ( isset( $this->upgrader->strings[$string] ) )
+                       $string = $this->upgrader->strings[$string];
+
+               if ( strpos($string, '%') !== false ) {
+                       $args = func_get_args();
+                       $args = array_splice($args, 1);
+                       if ( $args ) {
+                               $args = array_map( 'strip_tags', $args );
+                               $args = array_map( 'esc_html', $args );
+                               $string = vsprintf($string, $args);
+                       }
+               }
+               if ( empty($string) )
+                       return;
+               if ( $this->in_loop )
+                       echo "$string<br />\n";
+               else
+                       echo "<p>$string</p>\n";
+       }
+
+       function header() {
+               // Nothing, This will be displayed within a iframe.
+       }
+
+       function footer() {
+               // Nothing, This will be displayed within a iframe.
+       }
+       function error($error) {
+               if ( is_string($error) && isset( $this->upgrader->strings[$error] ) )
+                       $this->error = $this->upgrader->strings[$error];
+
+               if ( is_wp_error($error) ) {
+                       foreach ( $error->get_error_messages() as $emessage ) {
+                               if ( $error->get_error_data() && is_string( $error->get_error_data() ) )
+                                       $messages[] = $emessage . ' ' . esc_html( $error->get_error_data() );
+                               else
+                                       $messages[] = $emessage;
+                       }
+                       $this->error = implode(', ', $messages);
+               }
+               echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
+       }
+
+       function bulk_header() {
+               $this->feedback('skin_upgrade_start');
+       }
+
+       function bulk_footer() {
+               $this->feedback('skin_upgrade_end');
+       }
+
+       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>';
+               echo '<div class="update-messages hide-if-js" id="progress-' . esc_attr($this->upgrader->update_current) . '"><p>';
+               $this->flush_output();
+       }
+
+       function after($title = '') {
+               echo '</p></div>';
+               if ( $this->error || ! $this->result ) {
+                       if ( $this->error )
+                               echo '<div class="error"><p>' . sprintf($this->upgrader->strings['skin_update_failed_error'], $title, $this->error) . '</p></div>';
+                       else
+                               echo '<div class="error"><p>' . sprintf($this->upgrader->strings['skin_update_failed'], $title) . '</p></div>';
+
+                       echo '<script type="text/javascript">jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').show();</script>';
+               }
+               if ( $this->result && ! is_wp_error( $this->result ) ) {
+                       if ( ! $this->error )
+                               echo '<div class="updated"><p>' . sprintf($this->upgrader->strings['skin_update_successful'], $title, 'jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').toggle();jQuery(\'span\', this).toggle(); return false;') . '</p></div>';
+                       echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
+               }
+
+               $this->reset();
+               $this->flush_output();
+       }
+
+       function reset() {
+               $this->in_loop = false;
+               $this->error = false;
+       }
+
+       function flush_output() {
+               wp_ob_end_flush_all();
+               flush();
+       }
+}
+
+class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
+       var $plugin_info = array(); // Plugin_Upgrader::bulk() will fill this in.
+
+       function __construct($args = array()) {
+               parent::__construct($args);
+       }
+
+       function add_strings() {
+               parent::add_strings();
+               $this->upgrader->strings['skin_before_update_header'] = __('Updating Plugin %1$s (%2$d/%3$d)');
+       }
+
+       function before($title = '') {
+               parent::before($this->plugin_info['Title']);
+       }
+
+       function after($title = '') {
+               parent::after($this->plugin_info['Title']);
+       }
+       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>',
+                       '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>'
+               );
+               if ( ! current_user_can( 'activate_plugins' ) )
+                       unset( $update_actions['plugins_page'] );
+
+               $update_actions = apply_filters('update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info);
+               if ( ! empty($update_actions) )
+                       $this->feedback(implode(' | ', (array)$update_actions));
+       }
+}
+
+class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
+       var $theme_info = array(); // Theme_Upgrader::bulk() will fill this in.
+
+       function __construct($args = array()) {
+               parent::__construct($args);
+       }
+
+       function add_strings() {
+               parent::add_strings();
+               $this->upgrader->strings['skin_before_update_header'] = __('Updating Theme %1$s (%2$d/%3$d)');
+       }
+
+       function before($title = '') {
+               parent::before( $this->theme_info->display('Name') );
+       }
+
+       function after($title = '') {
+               parent::after( $this->theme_info->display('Name') );
+       }
+
+       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>',
+                       '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>'
+               );
+               if ( ! current_user_can( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) )
+                       unset( $update_actions['themes_page'] );
+
+               $update_actions = apply_filters('update_bulk_theme_complete_actions', $update_actions, $this->theme_info );
+               if ( ! empty($update_actions) )
+                       $this->feedback(implode(' | ', (array)$update_actions));
+       }
+}
+
+/**
+ * Plugin Installer Skin for WordPress Plugin Installer.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 2.8.0
+ */
+class Plugin_Installer_Skin extends WP_Upgrader_Skin {
+       var $api;
+       var $type;
+
+       function __construct($args = array()) {
+               $defaults = array( 'type' => 'web', 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => '' );
+               $args = wp_parse_args($args, $defaults);
+
+               $this->type = $args['type'];
+               $this->api = isset($args['api']) ? $args['api'] : array();
+
+               parent::__construct($args);
+       }
+
+       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() {
+
+               $plugin_file = $this->upgrader->plugin_info();
+
+               $install_actions = array();
+
+               $from = isset($_GET['from']) ? wp_unslash( $_GET['from'] ) : 'plugins';
+
+               if ( 'import' == $from )
+                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;from=import&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin &amp; Run Importer') . '</a>';
+               else
+                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin') . '</a>';
+
+               if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) {
+                       $install_actions['network_activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;networkwide=1&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin for all sites in this network') . '" target="_parent">' . __('Network Activate') . '</a>';
+                       unset( $install_actions['activate_plugin'] );
+               }
+
+               if ( 'import' == $from )
+                       $install_actions['importers_page'] = '<a href="' . admin_url('import.php') . '" title="' . esc_attr__('Return to Importers') . '" target="_parent">' . __('Return to Importers') . '</a>';
+               else if ( $this->type == 'web' )
+                       $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugin-install.php') . '" title="' . esc_attr__('Return to Plugin Installer') . '" target="_parent">' . __('Return to Plugin Installer') . '</a>';
+               else
+                       $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Return to Plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>';
+
+               if ( ! $this->result || is_wp_error($this->result) ) {
+                       unset( $install_actions['activate_plugin'], $install_actions['network_activate'] );
+               } elseif ( ! current_user_can( 'activate_plugins' ) ) {
+                       unset( $install_actions['activate_plugin'] );
+               }
+
+               $install_actions = apply_filters('install_plugin_complete_actions', $install_actions, $this->api, $plugin_file);
+               if ( ! empty($install_actions) )
+                       $this->feedback(implode(' | ', (array)$install_actions));
+       }
+}
+
+/**
+ * Theme Installer Skin for the WordPress Theme Installer.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 2.8.0
+ */
+class Theme_Installer_Skin extends WP_Upgrader_Skin {
+       var $api;
+       var $type;
+
+       function __construct($args = array()) {
+               $defaults = array( 'type' => 'web', 'url' => '', 'theme' => '', 'nonce' => '', 'title' => '' );
+               $args = wp_parse_args($args, $defaults);
+
+               $this->type = $args['type'];
+               $this->api = isset($args['api']) ? $args['api'] : array();
+
+               parent::__construct($args);
+       }
+
+       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() {
+               if ( empty($this->upgrader->result['destination_name']) )
+                       return;
+
+               $theme_info = $this->upgrader->theme_info();
+               if ( empty( $theme_info ) )
+                       return;
+
+               $name       = $theme_info->display('Name');
+               $stylesheet = $this->upgrader->result['destination_name'];
+               $template   = $theme_info->get_template();
+
+               $preview_link = add_query_arg( array(
+                       'preview'    => 1,
+                       'template'   => urlencode( $template ),
+                       'stylesheet' => urlencode( $stylesheet ),
+               ), trailingslashit( home_url() ) );
+
+               $activate_link = add_query_arg( array(
+                       'action'     => 'activate',
+                       'template'   => urlencode( $template ),
+                       'stylesheet' => urlencode( $stylesheet ),
+               ), admin_url('themes.php') );
+               $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
+
+               $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>';
+               $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' ) )
+                       $install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . urlencode( $stylesheet ), 'enable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__( 'Enable this theme for all sites in this network' ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>';
+
+               if ( $this->type == 'web' )
+                       $install_actions['themes_page'] = '<a href="' . self_admin_url('theme-install.php') . '" title="' . esc_attr__('Return to Theme Installer') . '" target="_parent">' . __('Return to Theme Installer') . '</a>';
+               elseif ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) )
+                       $install_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
+
+               if ( ! $this->result || is_wp_error($this->result) || is_network_admin() || ! current_user_can( 'switch_themes' ) )
+                       unset( $install_actions['activate'], $install_actions['preview'] );
+
+               $install_actions = apply_filters('install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info);
+               if ( ! empty($install_actions) )
+                       $this->feedback(implode(' | ', (array)$install_actions));
+       }
+}
+
+/**
+ * Theme Upgrader Skin for WordPress Theme Upgrades.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 2.8.0
+ */
+class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
+       var $theme = '';
+
+       function __construct($args = array()) {
+               $defaults = array( 'url' => '', 'theme' => '', 'nonce' => '', 'title' => __('Update Theme') );
+               $args = wp_parse_args($args, $defaults);
+
+               $this->theme = $args['theme'];
+
+               parent::__construct($args);
+       }
+
+       function after() {
+
+               $update_actions = array();
+               if ( ! empty( $this->upgrader->result['destination_name'] ) && $theme_info = $this->upgrader->theme_info() ) {
+                       $name       = $theme_info->display('Name');
+                       $stylesheet = $this->upgrader->result['destination_name'];
+                       $template   = $theme_info->get_template();
+
+                       $preview_link = add_query_arg( array(
+                               'preview'    => 1,
+                               'template'   => urlencode( $template ),
+                               'stylesheet' => urlencode( $stylesheet ),
+                       ), trailingslashit( home_url() ) );
+
+                       $activate_link = add_query_arg( array(
+                               'action'     => 'activate',
+                               'template'   => urlencode( $template ),
+                               'stylesheet' => urlencode( $stylesheet ),
+                       ), admin_url('themes.php') );
+                       $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
+
+                       if ( get_stylesheet() == $stylesheet ) {
+                               if ( current_user_can( 'edit_theme_options' ) )
+                                       $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>';
+                               $update_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
+                       }
+
+                       if ( ! $this->result || is_wp_error( $this->result ) || is_network_admin() )
+                               unset( $update_actions['preview'], $update_actions['activate'] );
+               }
+
+               $update_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Return to Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
+
+               $update_actions = apply_filters('update_theme_complete_actions', $update_actions, $this->theme);
+               if ( ! empty($update_actions) )
+                       $this->feedback(implode(' | ', (array)$update_actions));
+       }
+}
+
+/**
+ * Translation Upgrader Skin for WordPress Translation Upgrades.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @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;
+
+       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->display_footer_actions = false;
+               }
+               parent::__construct( $args );
+       }
+
+       function before() {
+               $name = $this->upgrader->get_name_for_update( $this->language_update );
+
+               echo '<div class="update-messages lp-show-latest">';
+
+               printf( '<h4>' . __( 'Updating translations for %1$s (%2$s)&#8230;' ) . '</h4>', $name, $this->language_update->language );
+       }
+
+       function error( $error ) {
+               echo '<div class="lp-error">';
+               parent::error( $error );
+               echo '</div>';
+       }
+
+       function after() {
+               echo '</div>';
+       }
+
+       function bulk_footer() {
+               $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>';
+               $update_actions = apply_filters( 'update_translations_complete_actions', $update_actions );
+
+               if ( $update_actions && $this->display_footer_actions )
+                       $this->feedback( implode( ' | ', $update_actions ) );
+
+               parent::footer();
+       }
+}
+
+/**
+ * Upgrader Skin for Automatic WordPress Upgrades
+ *
+ * This skin is designed to be used when no output is intended, all output
+ * is captured and stored for the caller to process and log/email/discard.
+ *
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 3.7.0
+ */
+class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
+       protected $messages = array();
+
+       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
+               // This will output a credentials form in event of failure, We don't want that, so just hide with a buffer
+               ob_start();
+               $result = parent::request_filesystem_credentials( $error );
+               ob_end_clean();
+               return $result;
+       }
+
+       function get_upgrade_messages() {
+               return $this->messages;
+       }
+
+       function feedback( $data ) {
+               if ( is_wp_error( $data ) )
+                       $string = $data->get_error_message();
+               else if ( is_array( $data ) )
+                       return;
+               else
+                       $string = $data;
+
+               if ( ! empty( $this->upgrader->strings[ $string ] ) )
+                       $string = $this->upgrader->strings[ $string ];
+
+               if ( strpos( $string, '%' ) !== false ) {
+                       $args = func_get_args();
+                       $args = array_splice( $args, 1 );
+                       if ( ! empty( $args ) )
+                               $string = vsprintf( $string, $args );
+               }
+
+               $string = trim( $string );
+
+               // Only allow basic HTML in the messages, as it'll be used in emails/logs rather than direct browser output.
+               $string = wp_kses( $string, array(
+                       'a' => array(
+                               'href' => true
+                       ),
+                       'br' => true,
+                       'em' => true,
+                       'strong' => true,
+               ) );
+
+               if ( empty( $string ) )
+                       return;
+
+               $this->messages[] = $string;
+       }
+
+       function header() {
+               ob_start();
+       }
+
+       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() {}
+}
index 6c399c7ec00a1e0b518102724a7eeffdd9ec72b2..891a4e8953b33157762a53ec1ee8a7fc9a0cbe52 100644 (file)
  * @since 2.8.0
  */
 
  * @since 2.8.0
  */
 
+require ABSPATH . 'wp-admin/includes/class-wp-upgrader-skins.php';
+
 /**
  * WordPress Upgrader class for Upgrading/Installing a local set of files via the Filesystem Abstraction classes from a Zip file.
  *
 /**
  * WordPress Upgrader class for Upgrading/Installing a local set of files via the Filesystem Abstraction classes from a Zip file.
  *
- * @TODO More Detailed docs, for methods as well.
- *
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
@@ -93,8 +93,8 @@ class WP_Upgrader {
                                        if ( ! $wp_filesystem->wp_plugins_dir() )
                                                return new WP_Error('fs_no_plugins_dir', $this->strings['fs_no_plugins_dir']);
                                        break;
                                        if ( ! $wp_filesystem->wp_plugins_dir() )
                                                return new WP_Error('fs_no_plugins_dir', $this->strings['fs_no_plugins_dir']);
                                        break;
-                               case WP_CONTENT_DIR . '/themes':
-                                       if ( ! $wp_filesystem->find_folder(WP_CONTENT_DIR . '/themes') )
+                               case get_theme_root():
+                                       if ( ! $wp_filesystem->wp_themes_dir() )
                                                return new WP_Error('fs_no_themes_dir', $this->strings['fs_no_themes_dir']);
                                        break;
                                default:
                                                return new WP_Error('fs_no_themes_dir', $this->strings['fs_no_themes_dir']);
                                        break;
                                default:
@@ -108,6 +108,19 @@ class WP_Upgrader {
 
        function download_package($package) {
 
 
        function download_package($package) {
 
+               /**
+                * Filter whether to return the package.
+                *
+                * @since 3.7.0
+                *
+                * @param bool    $reply   Whether to bail without returning the package. Default is false.
+                * @param string  $package The package file name.
+                * @param object  $this    The WP_Upgrader instance.
+                */
+               $reply = apply_filters( 'upgrader_pre_download', false, $package, $this );
+               if ( false !== $reply )
+                       return $reply;
+
                if ( ! preg_match('!^(http|https|ftp)://!i', $package) && file_exists($package) ) //Local file or remote?
                        return $package; //must be a local file..
 
                if ( ! preg_match('!^(http|https|ftp)://!i', $package) && file_exists($package) ) //Local file or remote?
                        return $package; //must be a local file..
 
@@ -146,7 +159,7 @@ class WP_Upgrader {
                        $wp_filesystem->delete($working_dir, true);
 
                // Unzip package to working directory
                        $wp_filesystem->delete($working_dir, true);
 
                // Unzip package to working directory
-               $result = unzip_file($package, $working_dir); //TODO optimizations, Copy when Move/Rename would suffice?
+               $result = unzip_file( $package, $working_dir );
 
                // Once extracted, delete the package if required.
                if ( $delete_package )
 
                // Once extracted, delete the package if required.
                if ( $delete_package )
@@ -163,12 +176,17 @@ class WP_Upgrader {
                return $working_dir;
        }
 
                return $working_dir;
        }
 
-       function install_package($args = array()) {
-               global $wp_filesystem;
-               $defaults = array( 'source' => '', 'destination' => '', //Please always pass these
-                                               'clear_destination' => false, 'clear_working' => false,
-                                               'abort_if_destination_exists' => true,
-                                               'hook_extra' => array());
+       function install_package( $args = array() ) {
+               global $wp_filesystem, $wp_theme_directories;
+
+               $defaults = array(
+                       'source' => '', // Please always pass this
+                       'destination' => '', // and this
+                       'clear_destination' => false,
+                       'clear_working' => false,
+                       'abort_if_destination_exists' => true,
+                       'hook_extra' => array()
+               );
 
                $args = wp_parse_args($args, $defaults);
                extract($args);
 
                $args = wp_parse_args($args, $defaults);
                extract($args);
@@ -195,7 +213,7 @@ class WP_Upgrader {
                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($source) . $source_files[0] . '/') ) //Only one folder? Then we want its contents.
                        $source = trailingslashit($source) . trailingslashit($source_files[0]);
                elseif ( count($source_files) == 0 )
-                       return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], $this->strings['no_files'] ); //There are no files?
+                       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($source);
 
@@ -208,8 +226,13 @@ class WP_Upgrader {
                if ( $source !== $remote_source )
                        $source_files = array_keys( $wp_filesystem->dirlist($source) );
 
                if ( $source !== $remote_source )
                        $source_files = array_keys( $wp_filesystem->dirlist($source) );
 
-               //Protection against deleting files in any important base directories.
-               if ( in_array( $destination, array(ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes') ) ) {
+               // 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 ) )
+                       $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));
                }
@@ -239,7 +262,7 @@ class WP_Upgrader {
                //Create destination if needed
                if ( !$wp_filesystem->exists($remote_destination) )
                        if ( !$wp_filesystem->mkdir($remote_destination, FS_CHMOD_DIR) )
                //Create destination if needed
                if ( !$wp_filesystem->exists($remote_destination) )
                        if ( !$wp_filesystem->mkdir($remote_destination, FS_CHMOD_DIR) )
-                               return new WP_Error('mkdir_failed', $this->strings['mkdir_failed'], $remote_destination);
+                               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);
 
                // Copy new version of item into place.
                $result = copy_dir($source, $remote_destination);
@@ -271,38 +294,48 @@ class WP_Upgrader {
 
        function run($options) {
 
 
        function run($options) {
 
-               $defaults = array(      'package' => '', //Please always pass this.
-                                                       'destination' => '', //And this
-                                                       'clear_destination' => false,
-                                                       'abort_if_destination_exists' => true, // Abort if the Destination directory exists, Pass clear_destination as false please
-                                                       'clear_working' => true,
-                                                       'is_multi' => false,
-                                                       'hook_extra' => array() //Pass any extra $hook_extra args here, this will be passed to any hooked filters.
-                                               );
+               $defaults = array(
+                       'package' => '', // Please always pass this.
+                       'destination' => '', // And this
+                       'clear_destination' => false,
+                       'abort_if_destination_exists' => true, // Abort if the Destination directory exists, Pass clear_destination as false please
+                       'clear_working' => true,
+                       'is_multi' => false,
+                       '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);
                extract($options);
 
-               //Connect to the Filesystem first.
+               if ( ! $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, $destination) );
-               if ( ! $res ) //Mainly for non-connected filesystem.
+               // Mainly for non-connected filesystem.
+               if ( ! $res ) {
+                       if ( ! $is_multi )
+                               $this->skin->footer();
                        return false;
                        return false;
+               }
+
+               $this->skin->before();
 
                if ( is_wp_error($res) ) {
                        $this->skin->error($res);
 
                if ( is_wp_error($res) ) {
                        $this->skin->error($res);
+                       $this->skin->after();
+                       if ( ! $is_multi )
+                               $this->skin->footer();
                        return $res;
                }
 
                        return $res;
                }
 
-               if ( !$is_multi ) // call $this->header separately if running multiple times
-                       $this->skin->header();
-
-               $this->skin->before();
-
                //Download the package (Note, This just returns the filename of the file if the package is a local file)
                $download = $this->download_package( $package );
                if ( is_wp_error($download) ) {
                        $this->skin->error($download);
                        $this->skin->after();
                //Download the package (Note, This just returns the filename of the file if the package is a local file)
                $download = $this->download_package( $package );
                if ( is_wp_error($download) ) {
                        $this->skin->error($download);
                        $this->skin->after();
+                       if ( ! $is_multi )
+                               $this->skin->footer();
                        return $download;
                }
 
                        return $download;
                }
 
@@ -313,18 +346,21 @@ class WP_Upgrader {
                if ( is_wp_error($working_dir) ) {
                        $this->skin->error($working_dir);
                        $this->skin->after();
                if ( is_wp_error($working_dir) ) {
                        $this->skin->error($working_dir);
                        $this->skin->after();
+                       if ( ! $is_multi )
+                               $this->skin->footer();
                        return $working_dir;
                }
 
                //With the given options, this installs it to the destination directory.
                $result = $this->install_package( array(
                        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
-                                                                               ) );
+                       '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
+               ) );
+
                $this->skin->set_result($result);
                if ( is_wp_error($result) ) {
                        $this->skin->error($result);
                $this->skin->set_result($result);
                if ( is_wp_error($result) ) {
                        $this->skin->error($result);
@@ -333,10 +369,13 @@ class WP_Upgrader {
                        //Install Succeeded
                        $this->skin->feedback('process_success');
                }
                        //Install Succeeded
                        $this->skin->feedback('process_success');
                }
+
                $this->skin->after();
 
                $this->skin->after();
 
-               if ( !$is_multi )
+               if ( ! $is_multi ) {
+                       do_action( 'upgrader_process_complete', $this, $hook_extra );
                        $this->skin->footer();
                        $this->skin->footer();
+               }
 
                return $result;
        }
 
                return $result;
        }
@@ -361,8 +400,6 @@ class WP_Upgrader {
 /**
  * Plugin Upgrader class for WordPress Plugins, It is designed to upgrade/install plugins from a local zip, remote zip URL, or uploaded zip file.
  *
 /**
  * Plugin Upgrader class for WordPress Plugins, It is designed to upgrade/install plugins from a local zip, remote zip URL, or uploaded zip file.
  *
- * @TODO More Detailed docs, for methods as well.
- *
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
@@ -394,35 +431,46 @@ class Plugin_Upgrader extends WP_Upgrader {
                $this->strings['process_success'] = __('Plugin installed successfully.');
        }
 
                $this->strings['process_success'] = __('Plugin installed successfully.');
        }
 
-       function install($package) {
+       function install( $package, $args = array() ) {
+
+               $defaults = array(
+                       'clear_update_cache' => true,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
 
                $this->init();
                $this->install_strings();
 
 
                $this->init();
                $this->install_strings();
 
-               add_filter('upgrader_source_selection', array(&$this, 'check_package') );
-
-               $this->run(array(
-                                       'package' => $package,
-                                       'destination' => WP_PLUGIN_DIR,
-                                       'clear_destination' => false, //Do not overwrite files.
-                                       'clear_working' => true,
-                                       'hook_extra' => array()
-                                       ));
+               add_filter('upgrader_source_selection', array($this, 'check_package') );
+
+               $this->run( array(
+                       'package' => $package,
+                       'destination' => WP_PLUGIN_DIR,
+                       'clear_destination' => false, // Do not overwrite files.
+                       'clear_working' => true,
+                       'hook_extra' => array(
+                               'type' => 'plugin',
+                               'action' => 'install',
+                       )
+               ) );
 
 
-               remove_filter('upgrader_source_selection', array(&$this, 'check_package') );
+               remove_filter('upgrader_source_selection', array($this, 'check_package') );
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
                // Force refresh of plugin update information
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
                // Force refresh of plugin update information
-               delete_site_transient('update_plugins');
-               wp_cache_delete( 'plugins', 'plugins' );
-               do_action( 'upgrader_process_complete', $this, array( 'action' => 'install', 'type' => 'plugin' ), $package );
+               wp_clean_plugins_cache( $parsed_args['clear_update_cache'] );
 
                return true;
        }
 
 
                return true;
        }
 
-       function upgrade($plugin) {
+       function upgrade( $plugin, $args = array() ) {
+
+               $defaults = array(
+                       'clear_update_cache' => true,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
 
                $this->init();
                $this->upgrade_strings();
 
                $this->init();
                $this->upgrade_strings();
@@ -439,34 +487,41 @@ class Plugin_Upgrader extends WP_Upgrader {
                // Get the URL to the zip file
                $r = $current->response[ $plugin ];
 
                // Get the URL to the zip file
                $r = $current->response[ $plugin ];
 
-               add_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'), 10, 2);
-               add_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'), 10, 4);
-               //'source_selection' => array(&$this, 'source_selection'), //there's a trac ticket to move up the directory for zip's which are made a bit differently, useful for non-.org plugins.
-
-               $this->run(array(
-                                       'package' => $r->package,
-                                       'destination' => WP_PLUGIN_DIR,
-                                       'clear_destination' => true,
-                                       'clear_working' => true,
-                                       'hook_extra' => array(
-                                                               'plugin' => $plugin
-                                       )
-                               ));
+               add_filter('upgrader_pre_install', array($this, 'deactivate_plugin_before_upgrade'), 10, 2);
+               add_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'), 10, 4);
+               //'source_selection' => array($this, 'source_selection'), //there's a trac ticket to move up the directory for zip's which are made a bit differently, useful for non-.org plugins.
+
+               $this->run( array(
+                       'package' => $r->package,
+                       'destination' => WP_PLUGIN_DIR,
+                       'clear_destination' => true,
+                       'clear_working' => true,
+                       'hook_extra' => array(
+                               'plugin' => $plugin,
+                               'type' => 'plugin',
+                               'action' => 'update',
+                       ),
+               ) );
 
                // Cleanup our hooks, in case something else does a upgrade on this connection.
 
                // Cleanup our hooks, in case something else does a upgrade on this connection.
-               remove_filter('upgrader_pre_install', array(&$this, 'deactivate_plugin_before_upgrade'));
-               remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'));
+               remove_filter('upgrader_pre_install', array($this, 'deactivate_plugin_before_upgrade'));
+               remove_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'));
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
                // Force refresh of plugin update information
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
                // Force refresh of plugin update information
-               delete_site_transient('update_plugins');
-               wp_cache_delete( 'plugins', 'plugins' );
-               do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'plugin' ), $plugin );
+               wp_clean_plugins_cache( $parsed_args['clear_update_cache'] );
+
+               return true;
        }
 
        }
 
-       function bulk_upgrade($plugins) {
+       function bulk_upgrade( $plugins, $args = array() ) {
+
+               $defaults = array(
+                       'clear_update_cache' => true,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
 
                $this->init();
                $this->bulk = true;
 
                $this->init();
                $this->bulk = true;
@@ -474,7 +529,7 @@ class Plugin_Upgrader extends WP_Upgrader {
 
                $current = get_site_transient( 'update_plugins' );
 
 
                $current = get_site_transient( 'update_plugins' );
 
-               add_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'), 10, 4);
+               add_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'), 10, 4);
 
                $this->skin->header();
 
 
                $this->skin->header();
 
@@ -487,10 +542,13 @@ class Plugin_Upgrader extends WP_Upgrader {
 
                $this->skin->bulk_header();
 
 
                $this->skin->bulk_header();
 
-               // Only start maintenance mode if running in Multisite OR the plugin is in use
-               $maintenance = is_multisite(); // @TODO: This should only kick in for individual sites if at all possible.
+               // Only start maintenance mode if:
+               // - running Multisite and there are one or more plugins specified, OR
+               // - a plugin with an update available is currently active.
+               // @TODO: For multisite, maintenance mode should only kick in for individual sites if at all possible.
+               $maintenance = ( is_multisite() && ! empty( $plugins ) );
                foreach ( $plugins as $plugin )
                foreach ( $plugins as $plugin )
-                       $maintenance = $maintenance || (is_plugin_active($plugin) && isset($current->response[ $plugin ]) ); // Only activate Maintenance mode if a plugin is active AND has an update available
+                       $maintenance = $maintenance || ( is_plugin_active( $plugin ) && isset( $current->response[ $plugin] ) );
                if ( $maintenance )
                        $this->maintenance_mode(true);
 
                if ( $maintenance )
                        $this->maintenance_mode(true);
 
@@ -516,16 +574,16 @@ class Plugin_Upgrader extends WP_Upgrader {
 
                        $this->skin->plugin_active = is_plugin_active($plugin);
 
 
                        $this->skin->plugin_active = is_plugin_active($plugin);
 
-                       $result = $this->run(array(
-                                               'package' => $r->package,
-                                               'destination' => WP_PLUGIN_DIR,
-                                               'clear_destination' => true,
-                                               'clear_working' => true,
-                                               'is_multi' => true,
-                                               'hook_extra' => array(
-                                                                       'plugin' => $plugin
-                                               )
-                                       ));
+                       $result = $this->run( array(
+                               'package' => $r->package,
+                               'destination' => WP_PLUGIN_DIR,
+                               'clear_destination' => true,
+                               'clear_working' => true,
+                               'is_multi' => true,
+                               'hook_extra' => array(
+                                       'plugin' => $plugin
+                               )
+                       );
 
                        $results[$plugin] = $this->result;
 
 
                        $results[$plugin] = $this->result;
 
@@ -536,17 +594,22 @@ class Plugin_Upgrader extends WP_Upgrader {
 
                $this->maintenance_mode(false);
 
 
                $this->maintenance_mode(false);
 
+               do_action( 'upgrader_process_complete', $this, array(
+                       'action' => 'update',
+                       'type' => 'plugin',
+                       'bulk' => true,
+                       'plugins' => $plugins,
+               ) );
+
                $this->skin->bulk_footer();
 
                $this->skin->footer();
 
                // Cleanup our hooks, in case something else does a upgrade on this connection.
                $this->skin->bulk_footer();
 
                $this->skin->footer();
 
                // Cleanup our hooks, in case something else does a upgrade on this connection.
-               remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_plugin'));
+               remove_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'));
 
                // Force refresh of plugin update information
 
                // Force refresh of plugin update information
-               delete_site_transient('update_plugins');
-               wp_cache_delete( 'plugins', 'plugins' );
-               do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'plugin', 'bulk' => true ), $plugins );
+               wp_clean_plugins_cache( $parsed_args['clear_update_cache'] );
 
                return $results;
        }
 
                return $results;
        }
@@ -572,7 +635,7 @@ class Plugin_Upgrader extends WP_Upgrader {
                }
 
                if ( ! $plugins_found )
                }
 
                if ( ! $plugins_found )
-                       return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __('No valid plugins were found.') );
+                       return new WP_Error( 'incompatible_archive_no_plugins', $this->strings['incompatible_archive'], __( 'No valid plugins were found.' ) );
 
                return $source;
        }
 
                return $source;
        }
@@ -599,6 +662,10 @@ class Plugin_Upgrader extends WP_Upgrader {
                if ( is_wp_error($return) ) //Bypass.
                        return $return;
 
                if ( is_wp_error($return) ) //Bypass.
                        return $return;
 
+               // When in cron (background updates) don't deactivate the plugin, as we require a browser to reactivate it
+               if ( defined( 'DOING_CRON' ) && DOING_CRON )
+                       return $return;
+
                $plugin = isset($plugin['plugin']) ? $plugin['plugin'] : '';
                if ( empty($plugin) )
                        return new WP_Error('bad_request', $this->strings['bad_request']);
                $plugin = isset($plugin['plugin']) ? $plugin['plugin'] : '';
                if ( empty($plugin) )
                        return new WP_Error('bad_request', $this->strings['bad_request']);
@@ -642,8 +709,6 @@ class Plugin_Upgrader extends WP_Upgrader {
 /**
  * Theme Upgrader class for WordPress Themes, It is designed to upgrade/install themes from a local zip, remote zip URL, or uploaded zip file.
  *
 /**
  * Theme Upgrader class for WordPress Themes, It is designed to upgrade/install themes from a local zip, remote zip URL, or uploaded zip file.
  *
- * @TODO More Detailed docs, for methods as well.
- *
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
@@ -705,7 +770,7 @@ class Theme_Upgrader extends WP_Upgrader {
                if ( ! $api || is_wp_error($api) ) {
                        $this->skin->feedback( 'parent_theme_not_found', $theme_info->get('Template') );
                        // Don't show activate or preview actions after install
                if ( ! $api || is_wp_error($api) ) {
                        $this->skin->feedback( 'parent_theme_not_found', $theme_info->get('Template') );
                        // Don't show activate or preview actions after install
-                       add_filter('install_theme_complete_actions', array(&$this, 'hide_activate_preview_actions') );
+                       add_filter('install_theme_complete_actions', array($this, 'hide_activate_preview_actions') );
                        return $install_result;
                }
 
                        return $install_result;
                }
 
@@ -724,13 +789,13 @@ class Theme_Upgrader extends WP_Upgrader {
                // Install the parent theme
                $parent_result = $this->run( array(
                        'package' => $api->download_link,
                // Install the parent theme
                $parent_result = $this->run( array(
                        'package' => $api->download_link,
-                       'destination' => WP_CONTENT_DIR . '/themes',
+                       'destination' => get_theme_root(),
                        'clear_destination' => false, //Do not overwrite files.
                        'clear_working' => true
                ) );
 
                if ( is_wp_error($parent_result) )
                        'clear_destination' => false, //Do not overwrite files.
                        'clear_working' => true
                ) );
 
                if ( is_wp_error($parent_result) )
-                       add_filter('install_theme_complete_actions', array(&$this, 'hide_activate_preview_actions') );
+                       add_filter('install_theme_complete_actions', array($this, 'hide_activate_preview_actions') );
 
                // Start cleaning up after the parents installation
                remove_filter('install_theme_complete_actions', '__return_false', 999);
 
                // Start cleaning up after the parents installation
                remove_filter('install_theme_complete_actions', '__return_false', 999);
@@ -748,37 +813,48 @@ class Theme_Upgrader extends WP_Upgrader {
                return $actions;
        }
 
                return $actions;
        }
 
-       function install($package) {
+       function install( $package, $args = array() ) {
+
+               $defaults = array(
+                       'clear_update_cache' => true,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
 
                $this->init();
                $this->install_strings();
 
 
                $this->init();
                $this->install_strings();
 
-               add_filter('upgrader_source_selection', array(&$this, 'check_package') );
-               add_filter('upgrader_post_install', array(&$this, 'check_parent_theme_filter'), 10, 3);
+               add_filter('upgrader_source_selection', array($this, 'check_package') );
+               add_filter('upgrader_post_install', array($this, 'check_parent_theme_filter'), 10, 3);
 
 
-               $options = array(
-                                               'package' => $package,
-                                               'destination' => WP_CONTENT_DIR . '/themes',
-                                               'clear_destination' => false, //Do not overwrite files.
-                                               'clear_working' => true
-                                               );
-
-               $this->run($options);
+               $this->run( array(
+                       'package' => $package,
+                       'destination' => get_theme_root(),
+                       'clear_destination' => false, //Do not overwrite files.
+                       'clear_working' => true,
+                       'hook_extra' => array(
+                               'type' => 'theme',
+                               'action' => 'install',
+                       ),
+               ) );
 
 
-               remove_filter('upgrader_source_selection', array(&$this, 'check_package') );
-               remove_filter('upgrader_post_install', array(&$this, 'check_parent_theme_filter'));
+               remove_filter('upgrader_source_selection', array($this, 'check_package') );
+               remove_filter('upgrader_post_install', array($this, 'check_parent_theme_filter'));
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
-               // Force refresh of theme update information
-               wp_clean_themes_cache();
-               do_action( 'upgrader_process_complete', $this, array( 'action' => 'install', 'type' => 'theme' ), $package );
+               // Refresh the Theme Update information
+               wp_clean_themes_cache( $parsed_args['clear_update_cache'] );
 
                return true;
        }
 
 
                return true;
        }
 
-       function upgrade($theme) {
+       function upgrade( $theme, $args = array() ) {
+
+               $defaults = array(
+                       'clear_update_cache' => true,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
 
                $this->init();
                $this->upgrade_strings();
 
                $this->init();
                $this->upgrade_strings();
@@ -795,37 +871,40 @@ class Theme_Upgrader extends WP_Upgrader {
 
                $r = $current->response[ $theme ];
 
 
                $r = $current->response[ $theme ];
 
-               add_filter('upgrader_pre_install', array(&$this, 'current_before'), 10, 2);
-               add_filter('upgrader_post_install', array(&$this, 'current_after'), 10, 2);
-               add_filter('upgrader_clear_destination', array(&$this, 'delete_old_theme'), 10, 4);
-
-               $options = array(
-                                               'package' => $r['package'],
-                                               'destination' => WP_CONTENT_DIR . '/themes',
-                                               'clear_destination' => true,
-                                               'clear_working' => true,
-                                               'hook_extra' => array(
-                                                                                       'theme' => $theme
-                                                                                       )
-                                               );
-
-               $this->run($options);
+               add_filter('upgrader_pre_install', array($this, 'current_before'), 10, 2);
+               add_filter('upgrader_post_install', array($this, 'current_after'), 10, 2);
+               add_filter('upgrader_clear_destination', array($this, 'delete_old_theme'), 10, 4);
+
+               $this->run( array(
+                       'package' => $r['package'],
+                       'destination' => get_theme_root( $theme ),
+                       'clear_destination' => true,
+                       'clear_working' => true,
+                       'hook_extra' => array(
+                               'theme' => $theme,
+                               'type' => 'theme',
+                               'action' => 'update',
+                       ),
+               );
 
 
-               remove_filter('upgrader_pre_install', array(&$this, 'current_before'));
-               remove_filter('upgrader_post_install', array(&$this, 'current_after'));
-               remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_theme'));
+               remove_filter('upgrader_pre_install', array($this, 'current_before'));
+               remove_filter('upgrader_post_install', array($this, 'current_after'));
+               remove_filter('upgrader_clear_destination', array($this, 'delete_old_theme'));
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
 
                if ( ! $this->result || is_wp_error($this->result) )
                        return $this->result;
 
-               // Force refresh of theme update information
-               wp_clean_themes_cache();
-               do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'theme' ), $theme );
+               wp_clean_themes_cache( $parsed_args['clear_update_cache'] );
 
                return true;
        }
 
 
                return true;
        }
 
-       function bulk_upgrade($themes) {
+       function bulk_upgrade( $themes, $args = array() ) {
+
+               $defaults = array(
+                       'clear_update_cache' => true,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
 
                $this->init();
                $this->bulk = true;
 
                $this->init();
                $this->bulk = true;
@@ -833,9 +912,9 @@ class Theme_Upgrader extends WP_Upgrader {
 
                $current = get_site_transient( 'update_themes' );
 
 
                $current = get_site_transient( 'update_themes' );
 
-               add_filter('upgrader_pre_install', array(&$this, 'current_before'), 10, 2);
-               add_filter('upgrader_post_install', array(&$this, 'current_after'), 10, 2);
-               add_filter('upgrader_clear_destination', array(&$this, 'delete_old_theme'), 10, 4);
+               add_filter('upgrader_pre_install', array($this, 'current_before'), 10, 2);
+               add_filter('upgrader_post_install', array($this, 'current_after'), 10, 2);
+               add_filter('upgrader_clear_destination', array($this, 'delete_old_theme'), 10, 4);
 
                $this->skin->header();
 
 
                $this->skin->header();
 
@@ -848,8 +927,11 @@ class Theme_Upgrader extends WP_Upgrader {
 
                $this->skin->bulk_header();
 
 
                $this->skin->bulk_header();
 
-               // Only start maintenance mode if running in Multisite OR the theme is in use
-               $maintenance = is_multisite(); // @TODO: This should only kick in for individual sites if at all possible.
+               // Only start maintenance mode if:
+               // - running Multisite and there are one or more themes specified, OR
+               // - a theme with an update available is currently in use.
+               // @TODO: For multisite, maintenance mode should only kick in for individual sites if at all possible.
+               $maintenance = ( is_multisite() && ! empty( $themes ) );
                foreach ( $themes as $theme )
                        $maintenance = $maintenance || $theme == get_stylesheet() || $theme == get_template();
                if ( $maintenance )
                foreach ( $themes as $theme )
                        $maintenance = $maintenance || $theme == get_stylesheet() || $theme == get_template();
                if ( $maintenance )
@@ -876,17 +958,15 @@ class Theme_Upgrader extends WP_Upgrader {
                        // Get the URL to the zip file
                        $r = $current->response[ $theme ];
 
                        // Get the URL to the zip file
                        $r = $current->response[ $theme ];
 
-                       $options = array(
-                                                       'package' => $r['package'],
-                                                       'destination' => WP_CONTENT_DIR . '/themes',
-                                                       'clear_destination' => true,
-                                                       'clear_working' => true,
-                                                       'hook_extra' => array(
-                                                                                               'theme' => $theme
-                                                                                               )
-                                                       );
-
-                       $result = $this->run($options);
+                       $result = $this->run( array(
+                               'package' => $r['package'],
+                               'destination' => get_theme_root( $theme ),
+                               'clear_destination' => true,
+                               'clear_working' => true,
+                               'hook_extra' => array(
+                                       'theme' => $theme
+                               ),
+                       ) );
 
                        $results[$theme] = $this->result;
 
 
                        $results[$theme] = $this->result;
 
@@ -897,18 +977,24 @@ class Theme_Upgrader extends WP_Upgrader {
 
                $this->maintenance_mode(false);
 
 
                $this->maintenance_mode(false);
 
+               do_action( 'upgrader_process_complete', $this, array(
+                       'action' => 'update',
+                       'type' => 'plugin',
+                       'bulk' => true,
+                       'themes' => $themes,
+               ) );
+
                $this->skin->bulk_footer();
 
                $this->skin->footer();
 
                // Cleanup our hooks, in case something else does a upgrade on this connection.
                $this->skin->bulk_footer();
 
                $this->skin->footer();
 
                // Cleanup our hooks, in case something else does a upgrade on this connection.
-               remove_filter('upgrader_pre_install', array(&$this, 'current_before'));
-               remove_filter('upgrader_post_install', array(&$this, 'current_after'));
-               remove_filter('upgrader_clear_destination', array(&$this, 'delete_old_theme'));
+               remove_filter('upgrader_pre_install', array($this, 'current_before'));
+               remove_filter('upgrader_post_install', array($this, 'current_after'));
+               remove_filter('upgrader_clear_destination', array($this, 'delete_old_theme'));
 
 
-               // Force refresh of theme update information
-               wp_clean_themes_cache();
-               do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'theme', 'bulk' => true ), $themes );
+               // Refresh the Theme Update information
+               wp_clean_themes_cache( $parsed_args['clear_update_cache'] );
 
                return $results;
        }
 
                return $results;
        }
@@ -926,16 +1012,16 @@ class Theme_Upgrader extends WP_Upgrader {
 
                // A proper archive should have a style.css file in the single subdirectory
                if ( ! file_exists( $working_directory . 'style.css' ) )
 
                // A proper archive should have a style.css file in the single subdirectory
                if ( ! file_exists( $working_directory . 'style.css' ) )
-                       return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __('The theme is missing the <code>style.css</code> stylesheet.') );
+                       return new WP_Error( 'incompatible_archive_theme_no_style', $this->strings['incompatible_archive'], __( 'The theme is missing the <code>style.css</code> stylesheet.' ) );
 
                $info = get_file_data( $working_directory . 'style.css', array( 'Name' => 'Theme Name', 'Template' => 'Template' ) );
 
                if ( empty( $info['Name'] ) )
 
                $info = get_file_data( $working_directory . 'style.css', array( 'Name' => 'Theme Name', 'Template' => 'Template' ) );
 
                if ( empty( $info['Name'] ) )
-                       return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __("The <code>style.css</code> stylesheet doesn't contain a valid theme header.") );
+                       return new WP_Error( 'incompatible_archive_theme_no_name', $this->strings['incompatible_archive'], __( "The <code>style.css</code> stylesheet doesn't contain a valid theme header." ) );
 
                // If it's not a child theme, it must have at least an index.php to be legit.
                if ( empty( $info['Template'] ) && ! file_exists( $working_directory . 'index.php' ) )
 
                // If it's not a child theme, it must have at least an index.php to be legit.
                if ( empty( $info['Template'] ) && ! file_exists( $working_directory . 'index.php' ) )
-                       return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], __('The theme is missing the <code>index.php</code> file.') );
+                       return new WP_Error( 'incompatible_archive_theme_no_index', $this->strings['incompatible_archive'], __( 'The theme is missing the <code>index.php</code> file.' ) );
 
                return $source;
        }
 
                return $source;
        }
@@ -978,18 +1064,22 @@ class Theme_Upgrader extends WP_Upgrader {
                return $return;
        }
 
                return $return;
        }
 
-       function delete_old_theme($removed, $local_destination, $remote_destination, $theme) {
+       function delete_old_theme( $removed, $local_destination, $remote_destination, $theme ) {
                global $wp_filesystem;
 
                global $wp_filesystem;
 
-               $theme = isset($theme['theme']) ? $theme['theme'] : '';
+               if ( is_wp_error( $removed ) )
+                       return $removed; // Pass errors through.
 
 
-               if ( is_wp_error($removed) || empty($theme) )
-                       return $removed; //Pass errors through.
+               if ( ! isset( $theme['theme'] ) )
+                       return $removed;
 
 
-               $themes_dir = $wp_filesystem->wp_themes_dir();
-               if ( $wp_filesystem->exists( trailingslashit($themes_dir) . $theme ) )
-                       if ( ! $wp_filesystem->delete( trailingslashit($themes_dir) . $theme, true ) )
+               $theme = $theme['theme'];
+               $themes_dir = trailingslashit( $wp_filesystem->wp_themes_dir( $theme ) );
+               if ( $wp_filesystem->exists( $themes_dir . $theme ) ) {
+                       if ( ! $wp_filesystem->delete( $themes_dir . $theme, true ) )
                                return false;
                                return false;
+               }
+
                return true;
        }
 
                return true;
        }
 
@@ -1001,15 +1091,210 @@ class Theme_Upgrader extends WP_Upgrader {
                        else
                                return false;
                }
                        else
                                return false;
                }
-               return wp_get_theme( $theme, WP_CONTENT_DIR . '/themes/' );
+               return wp_get_theme( $theme );
        }
 
 }
 
        }
 
 }
 
+add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
+
 /**
 /**
- * Core Upgrader class for WordPress. It allows for WordPress to upgrade itself in combination with the wp-admin/includes/update-core.php file
+ * Language pack upgrader, for updating translations of plugins, themes, and core.
  *
  *
- * @TODO More Detailed docs, for methods as well.
+ * @package WordPress
+ * @subpackage Upgrader
+ * @since 3.7.0
+ */
+class Language_Pack_Upgrader extends WP_Upgrader {
+
+       var $result;
+       var $bulk = true;
+
+       static function async_upgrade( $upgrader = false ) {
+               // Avoid recursion.
+               if ( $upgrader && $upgrader instanceof Language_Pack_Upgrader )
+                       return;
+
+               // Nothing to do?
+               $language_updates = wp_get_translation_updates();
+               if ( ! $language_updates )
+                       return;
+
+               $skin = new Language_Pack_Upgrader_Skin( array(
+                       'skip_header_footer' => true,
+               ) );
+
+               $lp_upgrader = new Language_Pack_Upgrader( $skin );
+               $lp_upgrader->upgrade();
+       }
+
+       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.' );
+               $this->strings['downloading_package'] = __( 'Downloading translation from <span class="code">%s</span>&#8230;' );
+               $this->strings['unpack_package'] = __( 'Unpacking the update&#8230;' );
+               $this->strings['process_failed'] = __( 'Translation update failed.' );
+               $this->strings['process_success'] = __( 'Translation updated successfully.' );
+       }
+
+       function upgrade( $update = false, $args = array() ) {
+               if ( $update )
+                       $update = array( $update );
+               $results = $this->bulk_upgrade( $update, $args );
+               return $results[0];
+       }
+
+       function bulk_upgrade( $language_updates = array(), $args = array() ) {
+               global $wp_filesystem;
+
+               $defaults = array(
+                       'clear_update_cache' => true,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
+
+               $this->init();
+               $this->upgrade_strings();
+
+               if ( ! $language_updates )
+                       $language_updates = wp_get_translation_updates();
+
+               if ( empty( $language_updates ) ) {
+                       $this->skin->header();
+                       $this->skin->before();
+                       $this->skin->set_result( true );
+                       $this->skin->feedback( 'up_to_date' );
+                       $this->skin->after();
+                       $this->skin->bulk_footer();
+                       $this->skin->footer();
+                       return true;
+               }
+
+               if ( 'upgrader_process_complete' == current_filter() )
+                       $this->skin->feedback( 'starting_upgrade' );
+
+               add_filter( 'upgrader_source_selection', array( &$this, 'check_package' ), 10, 3 );
+
+               $this->skin->header();
+
+               // Connect to the Filesystem first.
+               $res = $this->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) );
+               if ( ! $res ) {
+                       $this->skin->footer();
+                       return false;
+               }
+
+               $results = array();
+
+               $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.
+               $remote_destination = $wp_filesystem->find_folder( WP_LANG_DIR );
+               if ( ! $wp_filesystem->exists( $remote_destination ) )
+                       if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) )
+                               return new WP_Error( 'mkdir_failed_lang_dir', $this->strings['mkdir_failed'], $remote_destination );
+
+               foreach ( $language_updates as $language_update ) {
+
+                       $this->skin->language_update = $language_update;
+
+                       $destination = WP_LANG_DIR;
+                       if ( 'plugin' == $language_update->type )
+                               $destination .= '/plugins';
+                       elseif ( 'theme' == $language_update->type )
+                               $destination .= '/themes';
+
+                       $this->update_current++;
+
+                       $options = array(
+                               'package' => $language_update->package,
+                               'destination' => $destination,
+                               'clear_destination' => false,
+                               'abort_if_destination_exists' => false, // We expect the destination to exist.
+                               'clear_working' => true,
+                               'is_multi' => true,
+                               'hook_extra' => array(
+                                       'language_update_type' => $language_update->type,
+                                       'language_update' => $language_update,
+                               )
+                       );
+
+                       $result = $this->run( $options );
+
+                       $results[] = $this->result;
+
+                       // Prevent credentials auth screen from displaying multiple times.
+                       if ( false === $result )
+                               break;
+               }
+
+               $this->skin->bulk_footer();
+
+               $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 );
+
+               if ( $parsed_args['clear_update_cache'] ) {
+                       wp_clean_themes_cache( true );
+                       wp_clean_plugins_cache( true );
+                       delete_site_transient( 'update_core' );
+               }
+
+               return $results;
+       }
+
+       function check_package( $source, $remote_source ) {
+               global $wp_filesystem;
+
+               if ( is_wp_error( $source ) )
+                       return $source;
+
+               // Check that the folder contains a valid language.
+               $files = $wp_filesystem->dirlist( $remote_source );
+
+               // Check to see if a .po and .mo exist in the folder.
+               $po = $mo = false;
+               foreach ( (array) $files as $file => $filedata ) {
+                       if ( '.po' == substr( $file, -3 ) )
+                               $po = true;
+                       elseif ( '.mo' == substr( $file, -3 ) )
+                               $mo = true;
+               }
+
+               if ( ! $mo || ! $po )
+                       return new WP_Error( 'incompatible_archive_pomo', $this->strings['incompatible_archive'],
+                               __( 'The language pack is missing either the <code>.po</code> or <code>.mo</code> files.' ) );
+
+               return $source;
+       }
+
+       function get_name_for_update( $update ) {
+               switch ( $update->type ) {
+                       case 'core':
+                               return 'WordPress'; // Not translated
+                               break;
+                       case 'theme':
+                               $theme = wp_get_theme( $update->slug );
+                               if ( $theme->exists() )
+                                       return $theme->Get( 'Name' );
+                               break;
+                       case 'plugin':
+                               $plugin_data = get_plugins( '/' . $update->slug );
+                               $plugin_data = array_shift( $plugin_data );
+                               if ( $plugin_data )
+                                       return $plugin_data['Name'];
+                               break;
+               }
+               return '';
+       }
+
+}
+
+/**
+ * Core Upgrader class for WordPress. It allows for WordPress to upgrade itself in combination with the wp-admin/includes/update-core.php file
  *
  * @package WordPress
  * @subpackage Upgrader
  *
  * @package WordPress
  * @subpackage Upgrader
@@ -1024,11 +1309,22 @@ class Core_Upgrader extends WP_Upgrader {
                $this->strings['unpack_package'] = __('Unpacking the update&#8230;');
                $this->strings['copy_failed'] = __('Could not copy files.');
                $this->strings['copy_failed_space'] = __('Could not copy files. You may have run out of disk space.' );
                $this->strings['unpack_package'] = __('Unpacking the update&#8230;');
                $this->strings['copy_failed'] = __('Could not copy files.');
                $this->strings['copy_failed_space'] = __('Could not copy files. You may have run out of disk space.' );
+               $this->strings['start_rollback'] = __( 'Attempting to roll back to previous version.' );
+               $this->strings['rollback_was_required'] = __( 'Due to an error during updating, WordPress has rolled back to your previous version.' );
        }
 
        }
 
-       function upgrade($current) {
+       function upgrade( $current, $args = array() ) {
                global $wp_filesystem, $wp_version;
 
                global $wp_filesystem, $wp_version;
 
+               $start_time = time();
+
+               $defaults = array(
+                       'pre_check_md5'    => true,
+                       'attempt_rollback' => false,
+                       'do_rollback'      => false,
+               );
+               $parsed_args = wp_parse_args( $args, $defaults );
+
                $this->init();
                $this->upgrade_strings();
 
                $this->init();
                $this->upgrade_strings();
 
@@ -1042,11 +1338,19 @@ class Core_Upgrader extends WP_Upgrader {
 
                $wp_dir = trailingslashit($wp_filesystem->abspath());
 
 
                $wp_dir = trailingslashit($wp_filesystem->abspath());
 
+               $partial = true;
+               if ( $parsed_args['do_rollback'] )
+                       $partial = false;
+               elseif ( $parsed_args['pre_check_md5'] && ! $this->check_files() )
+                       $partial = false;
+
                // If partial update is returned from the API, use that, unless we're doing a reinstall.
                // If we cross the new_bundled version number, then use the new_bundled zip.
                // Don't though if the constant is set to skip bundled items.
                // If the API returns a no_content zip, go with it. Finally, default to the full zip.
                // If partial update is returned from the API, use that, unless we're doing a reinstall.
                // If we cross the new_bundled version number, then use the new_bundled zip.
                // Don't though if the constant is set to skip bundled items.
                // If the API returns a no_content zip, go with it. Finally, default to the full zip.
-               if ( $current->packages->partial && 'reinstall' != $current->response && $wp_version == $current->partial_version )
+               if ( $parsed_args['do_rollback'] && $current->packages->rollback )
+                       $to_download = 'rollback';
+               elseif ( $current->packages->partial && 'reinstall' != $current->response && $wp_version == $current->partial_version && $partial )
                        $to_download = 'partial';
                elseif ( $current->packages->new_bundled && version_compare( $wp_version, $current->new_bundled, '<' )
                        && ( ! defined( 'CORE_UPGRADE_SKIP_NEW_BUNDLED' ) || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) )
                        $to_download = 'partial';
                elseif ( $current->packages->new_bundled && version_compare( $wp_version, $current->new_bundled, '<' )
                        && ( ! defined( 'CORE_UPGRADE_SKIP_NEW_BUNDLED' ) || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) )
@@ -1067,625 +1371,1031 @@ class Core_Upgrader extends WP_Upgrader {
                // Copy update-core.php from the new version into place.
                if ( !$wp_filesystem->copy($working_dir . '/wordpress/wp-admin/includes/update-core.php', $wp_dir . 'wp-admin/includes/update-core.php', true) ) {
                        $wp_filesystem->delete($working_dir, true);
                // Copy update-core.php from the new version into place.
                if ( !$wp_filesystem->copy($working_dir . '/wordpress/wp-admin/includes/update-core.php', $wp_dir . 'wp-admin/includes/update-core.php', true) ) {
                        $wp_filesystem->delete($working_dir, true);
-                       return new WP_Error('copy_failed', $this->strings['copy_failed']);
+                       return new WP_Error( 'copy_failed_for_update_core_file', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), 'wp-admin/includes/update-core.php' );
                }
                $wp_filesystem->chmod($wp_dir . 'wp-admin/includes/update-core.php', FS_CHMOD_FILE);
 
                }
                $wp_filesystem->chmod($wp_dir . 'wp-admin/includes/update-core.php', FS_CHMOD_FILE);
 
-               require(ABSPATH . 'wp-admin/includes/update-core.php');
+               require_once( ABSPATH . 'wp-admin/includes/update-core.php' );
 
                if ( ! function_exists( 'update_core' ) )
                        return new WP_Error( 'copy_failed_space', $this->strings['copy_failed_space'] );
 
                $result = update_core( $working_dir, $wp_dir );
 
                if ( ! function_exists( 'update_core' ) )
                        return new WP_Error( 'copy_failed_space', $this->strings['copy_failed_space'] );
 
                $result = update_core( $working_dir, $wp_dir );
-               do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'core' ), $result );
-               return $result;
-       }
 
 
-}
+               // In the event of an issue, we may be able to roll back.
+               if ( $parsed_args['attempt_rollback'] && $current->packages->rollback && ! $parsed_args['do_rollback'] ) {
+                       $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.
+                               if ( false !== strpos( $error_code, 'do_rollback' ) )
+                                       $try_rollback = true;
+                               elseif ( false !== strpos( $error_code, '__copy_dir' ) )
+                                       $try_rollback = true;
+                               elseif ( 'disk_full' === $error_code )
+                                       $try_rollback = true;
+                       }
 
 
-/**
- * Generic Skin for the WordPress Upgrader classes. This skin is designed to be extended for specific purposes.
- *
- * @TODO More Detailed docs, for methods as well.
- *
- * @package WordPress
- * @subpackage Upgrader
- * @since 2.8.0
- */
-class WP_Upgrader_Skin {
+                       if ( $try_rollback ) {
+                               apply_filters( 'update_feedback', $result );
+                               apply_filters( 'update_feedback', $this->strings['start_rollback'] );
 
 
-       var $upgrader;
-       var $done_header = false;
-       var $result = false;
+                               $rollback_result = $this->upgrade( $current, array_merge( $parsed_args, array( 'do_rollback' => true ) ) );
 
 
-       function __construct($args = array()) {
-               $defaults = array( 'url' => '', 'nonce' => '', 'title' => '', 'context' => false );
-               $this->options = wp_parse_args($args, $defaults);
-       }
+                               $original_result = $result;
+                               $result = new WP_Error( 'rollback_was_required', $this->strings['rollback_was_required'], (object) array( 'update' => $original_result, 'rollback' => $rollback_result ) );
+                       }
+               }
 
 
-       function set_upgrader(&$upgrader) {
-               if ( is_object($upgrader) )
-                       $this->upgrader =& $upgrader;
-               $this->add_strings();
-       }
+               do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'core' ) );
 
 
-       function add_strings() {
-       }
+               // Clear the current updates
+               delete_site_transient( 'update_core' );
 
 
-       function set_result($result) {
-               $this->result = $result;
-       }
+               if ( ! $parsed_args['do_rollback'] ) {
+                       $stats = array(
+                               'update_type'      => $current->response,
+                               'success'          => true,
+                               'fs_method'        => $wp_filesystem->method,
+                               'fs_method_forced' => defined( 'FS_METHOD' ) || has_filter( 'filesystem_method' ),
+                               'time_taken'       => time() - $start_time,
+                               'attempted'        => $current->version,
+                       );
 
 
-       function request_filesystem_credentials($error = false) {
-               $url = $this->options['url'];
-               $context = $this->options['context'];
-               if ( !empty($this->options['nonce']) )
-                       $url = wp_nonce_url($url, $this->options['nonce']);
-               return request_filesystem_credentials($url, '', $error, $context); //Possible to bring inline, Leaving as is for now.
-       }
+                       if ( is_wp_error( $result ) ) {
+                               $stats['success'] = false;
+                               // Did a rollback occur?
+                               if ( ! empty( $try_rollback ) ) {
+                                       $stats['error_code'] = $original_result->get_error_code();
+                                       $stats['error_data'] = $original_result->get_error_data();
+                                       // Was the rollback successful? If not, collect its error too.
+                                       $stats['rollback'] = ! is_wp_error( $rollback_result );
+                                       if ( is_wp_error( $rollback_result ) ) {
+                                               $stats['rollback_code'] = $rollback_result->get_error_code();
+                                               $stats['rollback_data'] = $rollback_result->get_error_data();
+                                       }
+                               } else {
+                                       $stats['error_code'] = $result->get_error_code();
+                                       $stats['error_data'] = $result->get_error_data();
+                               }
+                       }
 
 
-       function header() {
-               if ( $this->done_header )
-                       return;
-               $this->done_header = true;
-               echo '<div class="wrap">';
-               screen_icon();
-               echo '<h2>' . $this->options['title'] . '</h2>';
-       }
-       function footer() {
-               echo '</div>';
+                       wp_version_check( $stats );
+               }
+
+               return $result;
        }
 
        }
 
-       function error($errors) {
-               if ( ! $this->done_header )
-                       $this->header();
-               if ( is_string($errors) ) {
-                       $this->feedback($errors);
-               } elseif ( is_wp_error($errors) && $errors->get_error_code() ) {
-                       foreach ( $errors->get_error_messages() as $message ) {
-                               if ( $errors->get_error_data() )
-                                       $this->feedback($message . ' ' . esc_html( $errors->get_error_data() ) );
-                               else
-                                       $this->feedback($message);
+       // 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
+
+               $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
+               $current_is_development_version = (bool) strpos( $wp_version, '-' );
+
+               // Defaults:
+               $upgrade_dev   = true;
+               $upgrade_minor = true;
+               $upgrade_major = false;
+
+               // WP_AUTO_UPDATE_CORE = true (all), 'minor', false.
+               if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
+                       if ( false === WP_AUTO_UPDATE_CORE ) {
+                               // Defaults to turned off, unless a filter allows it
+                               $upgrade_dev = $upgrade_minor = $upgrade_major = false;
+                       } elseif ( true === WP_AUTO_UPDATE_CORE ) {
+                               // ALL updates for core
+                               $upgrade_dev = $upgrade_minor = $upgrade_major = true;
+                       } elseif ( 'minor' === WP_AUTO_UPDATE_CORE ) {
+                               // Only minor updates for core
+                               $upgrade_dev = $upgrade_major = false;
+                               $upgrade_minor = true;
                        }
                }
                        }
                }
-       }
 
 
-       function feedback($string) {
-               if ( isset( $this->upgrader->strings[$string] ) )
-                       $string = $this->upgrader->strings[$string];
-
-               if ( strpos($string, '%') !== false ) {
-                       $args = func_get_args();
-                       $args = array_splice($args, 1);
-                       if ( $args ) {
-                               $args = array_map( 'strip_tags', $args );
-                               $args = array_map( 'esc_html', $args );
-                               $string = vsprintf($string, $args);
-                       }
+               // 1: If we're already on that version, not much point in updating?
+               if ( $offered_ver == $wp_version )
+                       return false;
+
+               // 2: If we're running a newer version, that's a nope
+               if ( version_compare( $wp_version, $offered_ver, '>' ) )
+                       return false;
+
+               $failure_data = get_site_option( 'auto_core_update_failed' );
+               if ( $failure_data ) {
+                       // If this was a critical update failure, cannot update.
+                       if ( ! empty( $failure_data['critical'] ) )
+                               return false;
+
+                       // Don't claim we can update on update-core.php if we have a non-critical failure logged.
+                       if ( $wp_version == $failure_data['current'] && false !== strpos( $offered_ver, '.1.next.minor' ) )
+                               return false;
+
+                       // Cannot update if we're retrying the same A to B update that caused a non-critical failure.
+                       // Some non-critical failures do allow retries, like download_failed.
+                       // 3.7.1 => 3.7.2 resulted in files_not_writable, if we are still on 3.7.1 and still trying to update to 3.7.2.
+                       if ( empty( $failure_data['retry'] ) && $wp_version == $failure_data['current'] && $offered_ver == $failure_data['attempted'] )
+                               return false;
                }
                }
-               if ( empty($string) )
-                       return;
-               show_message($string);
+
+               // 3: 3.7-alpha-25000 -> 3.7-alpha-25678 -> 3.7-beta1 -> 3.7-beta2
+               if ( $current_is_development_version ) {
+                       if ( ! apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev ) )
+                               return false;
+                       // 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)
+               if ( $current_branch == $new_branch )
+                       return apply_filters( 'allow_minor_auto_core_updates', $upgrade_minor );
+
+               // 5: Major version updates (3.7.0 -> 3.8.0 -> 3.9.1)
+               if ( version_compare( $new_branch, $current_branch, '>' ) )
+                       return apply_filters( 'allow_major_auto_core_updates', $upgrade_major );
+
+               // If we're not sure, we don't want it
+               return false;
        }
        }
-       function before() {}
-       function after() {}
 
 
+       function check_files() {
+               global $wp_version, $wp_local_package;
+
+               $checksums = get_core_checksums( $wp_version, isset( $wp_local_package ) ? $wp_local_package : 'en_US' );
+
+               if ( ! is_array( $checksums ) )
+                       return false;
+
+               foreach ( $checksums as $file => $checksum ) {
+                       // Skip files which get updated
+                       if ( 'wp-content' == substr( $file, 0, 10 ) )
+                               continue;
+                       if ( ! file_exists( ABSPATH . $file ) || md5_file( ABSPATH . $file ) !== $checksum )
+                               return false;
+               }
+
+               return true;
+       }
 }
 
 /**
 }
 
 /**
- * Plugin Upgrader Skin for WordPress Plugin Upgrades.
- *
- * @TODO More Detailed docs, for methods as well.
+ * Upgrade Skin helper for File uploads. This class handles the upload process and passes it as if it's a local file to the Upgrade/Installer functions.
  *
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
  */
  *
  * @package WordPress
  * @subpackage Upgrader
  * @since 2.8.0
  */
-class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
-       var $plugin = '';
-       var $plugin_active = false;
-       var $plugin_network_active = false;
+class File_Upload_Upgrader {
+       var $package;
+       var $filename;
+       var $id = 0;
 
 
-       function __construct($args = array()) {
-               $defaults = array( 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => __('Update Plugin') );
-               $args = wp_parse_args($args, $defaults);
+       function __construct($form, $urlholder) {
 
 
-               $this->plugin = $args['plugin'];
+               if ( empty($_FILES[$form]['name']) && empty($_GET[$urlholder]) )
+                       wp_die(__('Please select a file'));
 
 
-               $this->plugin_active = is_plugin_active( $this->plugin );
-               $this->plugin_network_active = is_plugin_active_for_network( $this->plugin );
+               //Handle a newly uploaded file, Else assume it's already been uploaded
+               if ( ! empty($_FILES) ) {
+                       $overrides = array( 'test_form' => false, 'test_type' => false );
+                       $file = wp_handle_upload( $_FILES[$form], $overrides );
 
 
-               parent::__construct($args);
-       }
+                       if ( isset( $file['error'] ) )
+                               wp_die( $file['error'] );
 
 
-       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>';
-               }
+                       $this->filename = $_FILES[$form]['name'];
+                       $this->package = $file['file'];
 
 
-               $update_actions =  array(
-                       'activate_plugin' => '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin') . '</a>',
-                       'plugins_page' => '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Go to plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>'
-               );
-               if ( $this->plugin_active || ! $this->result || is_wp_error( $this->result ) || ! current_user_can( 'activate_plugins' ) )
-                       unset( $update_actions['activate_plugin'] );
+                       // Construct the object array
+                       $object = array(
+                               'post_title' => $this->filename,
+                               'post_content' => $file['url'],
+                               'post_mime_type' => $file['type'],
+                               'guid' => $file['url'],
+                               'context' => 'upgrader',
+                               'post_status' => 'private'
+                       );
 
 
-               $update_actions = apply_filters('update_plugin_complete_actions', $update_actions, $this->plugin);
-               if ( ! empty($update_actions) )
-                       $this->feedback(implode(' | ', (array)$update_actions));
-       }
+                       // 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 ) );
+
+               } elseif ( is_numeric( $_GET[$urlholder] ) ) {
+                       // Numeric Package = previously uploaded file, see above.
+                       $this->id = (int) $_GET[$urlholder];
+                       $attachment = get_post( $this->id );
+                       if ( empty($attachment) )
+                               wp_die(__('Please select a file'));
 
 
-       function before() {
-               if ( $this->upgrader->show_before ) {
-                       echo $this->upgrader->show_before;
-                       $this->upgrader->show_before = '';
+                       $this->filename = $attachment->post_title;
+                       $this->package = get_attached_file( $attachment->ID );
+               } else {
+                       // Else, It's set to something, Back compat for plugins using the old (pre-3.3) File_Uploader handler.
+                       if ( ! ( ( $uploads = wp_upload_dir() ) && false === $uploads['error'] ) )
+                               wp_die( $uploads['error'] );
+
+                       $this->filename = $_GET[$urlholder];
+                       $this->package = $uploads['basedir'] . '/' . $this->filename;
                }
        }
                }
        }
+
+       function cleanup() {
+               if ( $this->id )
+                       wp_delete_attachment( $this->id );
+
+               elseif ( file_exists( $this->package ) )
+                       return @unlink( $this->package );
+
+               return true;
+       }
 }
 
 /**
 }
 
 /**
- * Plugin Upgrader Skin for WordPress Plugin Upgrades.
+ * The WordPress automatic background updater.
  *
  * @package WordPress
  * @subpackage Upgrader
  *
  * @package WordPress
  * @subpackage Upgrader
- * @since 3.0.0
+ * @since 3.7.0
  */
  */
-class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
-       var $in_loop = false;
-       var $error = false;
-
-       function __construct($args = array()) {
-               $defaults = array( 'url' => '', 'nonce' => '' );
-               $args = wp_parse_args($args, $defaults);
+class WP_Automatic_Updater {
+
+       /**
+        * Tracks update results during processing.
+        *
+        * @var array
+        */
+       protected $update_results = array();
+
+       /**
+        * Whether the entire automatic updater is disabled.
+        *
+        * @since 3.7.0
+        */
+       public function is_disabled() {
+               // Background updates are disabled if you don't want file changes.
+               if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS )
+                       return true;
+
+               if ( defined( 'WP_INSTALLING' ) )
+                       return true;
+
+               // More fine grained control can be done through the WP_AUTO_UPDATE_CORE constant and filters.
+               $disabled = defined( 'AUTOMATIC_UPDATER_DISABLED' ) && AUTOMATIC_UPDATER_DISABLED;
+
+               /**
+                * Filter whether to entirely disable background updates.
+                *
+                * There are more fine-grained filters and controls for selective disabling.
+                * This filter parallels the AUTOMATIC_UPDATER_DISABLED constant in name.
+                *
+                * This also disables update notification emails. That may change in the future.
+                *
+                * @since 3.7.0
+                * @param bool $disabled Whether the updater should be disabled.
+                */
+               return apply_filters( 'automatic_updater_disabled', $disabled );
+       }
+
+       /**
+        * Check for version control checkouts.
+        *
+        * Checks for Subversion, Git, Mercurial, and Bazaar. It recursively looks up the
+        * filesystem to the top of the drive, erring on the side of detecting a VCS
+        * checkout somewhere.
+        *
+        * ABSPATH is always checked in addition to whatever $context is (which may be the
+        * wp-content directory, for example). The underlying assumption is that if you are
+        * using version control *anywhere*, then you should be making decisions for
+        * how things get updated.
+        *
+        * @since 3.7.0
+        *
+        * @param string $context The filesystem path to check, in addition to ABSPATH.
+        */
+       public function is_vcs_checkout( $context ) {
+               $context_dirs = array( untrailingslashit( $context ) );
+               if ( $context !== ABSPATH )
+                       $context_dirs[] = untrailingslashit( ABSPATH );
+
+               $vcs_dirs = array( '.svn', '.git', '.hg', '.bzr' );
+               $check_dirs = array();
+
+               foreach ( $context_dirs as $context_dir ) {
+                       // Walk up from $context_dir to the root.
+                       do {
+                               $check_dirs[] = $context_dir;
+
+                               // Once we've hit '/' or 'C:\', we need to stop. dirname will keep returning the input here.
+                               if ( $context_dir == dirname( $context_dir ) )
+                                       break;
 
 
-               parent::__construct($args);
-       }
+                       // Continue one level at a time.
+                       } while ( $context_dir = dirname( $context_dir ) );
+               }
 
 
-       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.');
-               $this->upgrader->strings['skin_update_successful'] = __('%1$s updated successfully.').' <a onclick="%2$s" href="#" class="hide-if-no-js"><span>'.__('Show Details').'</span><span class="hidden">'.__('Hide Details').'</span>.</a>';
-               $this->upgrader->strings['skin_upgrade_end'] = __('All updates have been completed.');
-       }
+               $check_dirs = array_unique( $check_dirs );
 
 
-       function feedback($string) {
-               if ( isset( $this->upgrader->strings[$string] ) )
-                       $string = $this->upgrader->strings[$string];
-
-               if ( strpos($string, '%') !== false ) {
-                       $args = func_get_args();
-                       $args = array_splice($args, 1);
-                       if ( $args ) {
-                               $args = array_map( 'strip_tags', $args );
-                               $args = array_map( 'esc_html', $args );
-                               $string = vsprintf($string, $args);
+               // Search all directories we've found for evidence of version control.
+               foreach ( $vcs_dirs as $vcs_dir ) {
+                       foreach ( $check_dirs as $check_dir ) {
+                               if ( $checkout = @is_dir( rtrim( $check_dir, '\\/' ) . "/$vcs_dir" ) )
+                                       break 2;
                        }
                }
                        }
                }
-               if ( empty($string) )
-                       return;
-               if ( $this->in_loop )
-                       echo "$string<br />\n";
-               else
-                       echo "<p>$string</p>\n";
-       }
 
 
-       function header() {
-               // Nothing, This will be displayed within a iframe.
-       }
+               /**
+                * Filter whether the automatic updater should consider a filesystem location to be potentially
+                * managed by a version control system.
+                *
+                * @since 3.7.0
+                *
+                * @param bool $checkout  Whether a VCS checkout was discovered at $context or ABSPATH, or anywhere higher.
+                * @param string $context The filesystem context (a path) against which filesystem status should be checked.
+                */
+               return apply_filters( 'automatic_updates_is_vcs_checkout', $checkout, $context );
+       }
+
+       /**
+        * Tests to see if we can and should update a specific item.
+        *
+        * @since 3.7.0
+        *
+        * @param string $type    The type of update being checked: 'core', 'theme', 'plugin', 'translation'.
+        * @param object $item    The update offer.
+        * @param string $context The filesystem context (a path) against which filesystem access and status
+        *                        should be checked.
+        */
+       public function should_update( $type, $item, $context ) {
+               // Used to see if WP_Filesystem is set up to allow unattended updates.
+               $skin = new Automatic_Upgrader_Skin;
+
+               if ( $this->is_disabled() )
+                       return false;
 
 
-       function footer() {
-               // Nothing, This will be displayed within a iframe.
-       }
-       function error($error) {
-               if ( is_string($error) && isset( $this->upgrader->strings[$error] ) )
-                       $this->error = $this->upgrader->strings[$error];
-
-               if ( is_wp_error($error) ) {
-                       foreach ( $error->get_error_messages() as $emessage ) {
-                               if ( $error->get_error_data() )
-                                       $messages[] = $emessage . ' ' . esc_html( $error->get_error_data() );
-                               else
-                                       $messages[] = $emessage;
-                       }
-                       $this->error = implode(', ', $messages);
+               // If we can't do an auto core update, we may still be able to email the user.
+               if ( ! $skin->request_filesystem_credentials( false, $context ) || $this->is_vcs_checkout( $context ) ) {
+                       if ( 'core' == $type )
+                               $this->send_core_update_notification_email( $item );
+                       return false;
                }
                }
-               echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
-       }
-
-       function bulk_header() {
-               $this->feedback('skin_upgrade_start');
-       }
 
 
-       function bulk_footer() {
-               $this->feedback('skin_upgrade_end');
-       }
+               // Next up, is this an item we can update?
+               if ( 'core' == $type )
+                       $update = Core_Upgrader::should_update_to_version( $item->current );
+               else
+                       $update = ! empty( $item->autoupdate );
+
+               /**
+                * Filter whether to automatically update core, a plugin, a theme, or a language.
+                *
+                * The dynamic portion of the hook name, $type, refers to the type of update
+                * being checked. Can be 'core', 'theme', 'plugin', or 'translation'.
+                *
+                * Generally speaking, plugins, themes, and major core versions are not updated by default,
+                * while translations and minor and development versions for core are updated by default.
+                *
+                * See the filters allow_dev_auto_core_updates, allow_minor_auto_core_updates, and
+                * allow_major_auto_core_updates more straightforward filters to adjust core updates.
+                *
+                * @since 3.7.0
+                *
+                * @param bool   $update Whether to update.
+                * @param object $item   The update offer.
+                */
+               $update = apply_filters( 'auto_update_' . $type, $update, $item );
+
+               if ( ! $update ) {
+                       if ( 'core' == $type )
+                               $this->send_core_update_notification_email( $item );
+                       return false;
+               }
 
 
-       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>';
-               echo '<div class="update-messages hide-if-js" id="progress-' . esc_attr($this->upgrader->update_current) . '"><p>';
-               $this->flush_output();
-       }
+               // If it's a core update, are we actually compatible with its requirements?
+               if ( 'core' == $type ) {
+                       global $wpdb;
 
 
-       function after($title = '') {
-               echo '</p></div>';
-               if ( $this->error || ! $this->result ) {
-                       if ( $this->error )
-                               echo '<div class="error"><p>' . sprintf($this->upgrader->strings['skin_update_failed_error'], $title, $this->error) . '</p></div>';
+                       $php_compat = version_compare( phpversion(), $item->php_version, '>=' );
+                       if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
+                               $mysql_compat = true;
                        else
                        else
-                               echo '<div class="error"><p>' . sprintf($this->upgrader->strings['skin_update_failed'], $title) . '</p></div>';
+                               $mysql_compat = version_compare( $wpdb->db_version(), $item->mysql_version, '>=' );
 
 
-                       echo '<script type="text/javascript">jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').show();</script>';
-               }
-               if ( $this->result && ! is_wp_error( $this->result ) ) {
-                       if ( ! $this->error )
-                               echo '<div class="updated"><p>' . sprintf($this->upgrader->strings['skin_update_successful'], $title, 'jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').toggle();jQuery(\'span\', this).toggle(); return false;') . '</p></div>';
-                       echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
+                       if ( ! $php_compat || ! $mysql_compat )
+                               return false;
                }
 
                }
 
-               $this->reset();
-               $this->flush_output();
+               return true;
        }
 
        }
 
-       function reset() {
-               $this->in_loop = false;
-               $this->error = false;
-       }
+       /**
+        * Notifies an administrator of a core update.
+        *
+        * @since 3.7.0
+        *
+        * @param object $item The update offer.
+        */
+       protected function send_core_update_notification_email( $item ) {
+               $notify   = true;
+               $notified = get_site_option( 'auto_core_update_notified' );
 
 
-       function flush_output() {
-               wp_ob_end_flush_all();
-               flush();
-       }
-}
+               // Don't notify if we've already notified the same email address of the same version.
+               if ( $notified && $notified['email'] == get_site_option( 'admin_email' ) && $notified['version'] == $item->current )
+                       return false;
 
 
-class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
-       var $plugin_info = array(); // Plugin_Upgrader::bulk() will fill this in.
+               // See if we need to notify users of a core update.
+               $notify = ! empty( $item->notify_email );
+
+               /**
+                * Whether to notify the site administrator of a new core update.
+                *
+                * By default, administrators are notified when the update offer received from WordPress.org
+                * sets a particular flag. This allows for discretion in if and when to notify.
+                *
+                * This filter only fires once per release -- if the same email address was already
+                * notified of the same new version, we won't repeatedly email the administrator.
+                *
+                * This filter is also used on about.php to check if a plugin has disabled these notifications.
+                *
+                * @since 3.7.0
+                *
+                * @param bool $notify Whether the site administrator is notified.
+                * @param object $item The update offer.
+                */
+               if ( ! apply_filters( 'send_core_update_notification_email', $notify, $item ) )
+                       return false;
 
 
-       function __construct($args = array()) {
-               parent::__construct($args);
+               $this->send_email( 'manual', $item );
+               return true;
        }
 
        }
 
-       function add_strings() {
-               parent::add_strings();
-               $this->upgrader->strings['skin_before_update_header'] = __('Updating Plugin %1$s (%2$d/%3$d)');
-       }
+       /**
+        * Update an item, if appropriate.
+        *
+        * @since 3.7.0
+        *
+        * @param string $type The type of update being checked: 'core', 'theme', 'plugin', 'translation'.
+        * @param object $item The update offer.
+        */
+       public function update( $type, $item ) {
+               $skin = new Automatic_Upgrader_Skin;
+
+               switch ( $type ) {
+                       case 'core':
+                               // The Core upgrader doesn't use the Upgrader's skin during the actual main part of the upgrade, instead, firing a filter.
+                               add_filter( 'update_feedback', array( $skin, 'feedback' ) );
+                               $upgrader = new Core_Upgrader( $skin );
+                               $context  = ABSPATH;
+                               break;
+                       case 'plugin':
+                               $upgrader = new Plugin_Upgrader( $skin );
+                               $context  = WP_PLUGIN_DIR; // We don't support custom Plugin directories, or updates for WPMU_PLUGIN_DIR
+                               break;
+                       case 'theme':
+                               $upgrader = new Theme_Upgrader( $skin );
+                               $context  = get_theme_root( $item );
+                               break;
+                       case 'translation':
+                               $upgrader = new Language_Pack_Upgrader( $skin );
+                               $context  = WP_CONTENT_DIR; // WP_LANG_DIR;
+                               break;
+               }
 
 
-       function before($title = '') {
-               parent::before($this->plugin_info['Title']);
-       }
+               // Determine whether we can and should perform this update.
+               if ( ! $this->should_update( $type, $item, $context ) )
+                       return false;
 
 
-       function after($title = '') {
-               parent::after($this->plugin_info['Title']);
-       }
-       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>',
-                       '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>'
-               );
-               if ( ! current_user_can( 'activate_plugins' ) )
-                       unset( $update_actions['plugins_page'] );
+               switch ( $type ) {
+                       case 'core':
+                               $skin->feedback( __( 'Updating to WordPress %s' ), $item->version );
+                               $item_name = sprintf( __( 'WordPress %s' ), $item->version );
+                               break;
+                       case 'theme':
+                               $theme = wp_get_theme( $item );
+                               $item_name = $theme->Get( 'Name' );
+                               $skin->feedback( __( 'Updating theme: %s' ), $item_name );
+                               break;
+                       case 'plugin':
+                               $plugin_data = get_plugin_data( $context . '/' . $item );
+                               $item_name = $plugin_data['Name'];
+                               $skin->feedback( __( 'Updating plugin: %s' ), $item_name );
+                               break;
+                       case 'translation':
+                               $language_item_name = $upgrader->get_name_for_update( $item );
+                               $item_name = sprintf( __( 'Translations for %s' ), $language_item_name );
+                               $skin->feedback( sprintf( __( 'Updating translations for %1$s (%2$s)&#8230;' ), $language_item_name, $item->language ) );
+                               break;
+               }
 
 
-               $update_actions = apply_filters('update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info);
-               if ( ! empty($update_actions) )
-                       $this->feedback(implode(' | ', (array)$update_actions));
-       }
-}
+               // Boom, This sites about to get a whole new splash of paint!
+               $upgrade_result = $upgrader->upgrade( $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 */
+               ) );
 
 
-class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
-       var $theme_info = array(); // Theme_Upgrader::bulk() will fill this in.
+               // 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 );
+                       } else {
+                               $skin->feedback( __( 'WordPress updated successfully' ) );
+                       }
+               }
 
 
-       function __construct($args = array()) {
-               parent::__construct($args);
-       }
+               $this->update_results[ $type ][] = (object) array(
+                       'item'     => $item,
+                       'result'   => $upgrade_result,
+                       'name'     => $item_name,
+                       'messages' => $skin->get_upgrade_messages()
+               );
 
 
-       function add_strings() {
-               parent::add_strings();
-               $this->upgrader->strings['skin_before_update_header'] = __('Updating Theme %1$s (%2$d/%3$d)');
+               return $upgrade_result;
        }
 
        }
 
-       function before($title = '') {
-               parent::before( $this->theme_info->display('Name') );
-       }
+       /**
+        * Kicks off the background update process, looping through all pending updates.
+        *
+        * @since 3.7.0
+        */
+       public function run() {
+               global $wpdb, $wp_version;
 
 
-       function after($title = '') {
-               parent::after( $this->theme_info->display('Name') );
-       }
+               if ( $this->is_disabled() )
+                       return;
 
 
-       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>',
-                       '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>'
-               );
-               if ( ! current_user_can( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) )
-                       unset( $update_actions['themes_page'] );
+               if ( ! is_main_network() || ! is_main_site() )
+                       return;
 
 
-               $update_actions = apply_filters('update_bulk_theme_complete_actions', $update_actions, $this->theme_info );
-               if ( ! empty($update_actions) )
-                       $this->feedback(implode(' | ', (array)$update_actions));
-       }
-}
+               $lock_name = 'auto_updater.lock';
 
 
-/**
- * Plugin Installer Skin for WordPress Plugin Installer.
- *
- * @TODO More Detailed docs, for methods as well.
- *
- * @package WordPress
- * @subpackage Upgrader
- * @since 2.8.0
- */
-class Plugin_Installer_Skin extends WP_Upgrader_Skin {
-       var $api;
-       var $type;
+               // Try to lock
+               $lock_result = $wpdb->query( $wpdb->prepare( "INSERT IGNORE INTO `$wpdb->options` ( `option_name`, `option_value`, `autoload` ) VALUES (%s, %s, 'no') /* LOCK */", $lock_name, time() ) );
 
 
-       function __construct($args = array()) {
-               $defaults = array( 'type' => 'web', 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => '' );
-               $args = wp_parse_args($args, $defaults);
+               if ( ! $lock_result ) {
+                       $lock_result = get_option( $lock_name );
 
 
-               $this->type = $args['type'];
-               $this->api = isset($args['api']) ? $args['api'] : array();
+                       // If we couldn't create a lock, and there isn't a lock, bail
+                       if ( ! $lock_result )
+                               return;
 
 
-               parent::__construct($args);
-       }
+                       // Check to see if the lock is still valid
+                       if ( $lock_result > ( time() - HOUR_IN_SECONDS ) )
+                               return;
+               }
 
 
-       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);
-       }
+               // Update the lock, as by this point we've definately 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
+               remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
+               remove_action( 'upgrader_process_complete', 'wp_version_check' );
+               remove_action( 'upgrader_process_complete', 'wp_update_plugins' );
+               remove_action( 'upgrader_process_complete', 'wp_update_themes' );
+
+               // Next, Plugins
+               wp_update_plugins(); // Check for Plugin updates
+               $plugin_updates = get_site_transient( 'update_plugins' );
+               if ( $plugin_updates && !empty( $plugin_updates->response ) ) {
+                       foreach ( array_keys( $plugin_updates->response ) as $plugin ) {
+                               $this->update( 'plugin', $plugin );
+                       }
+                       // Force refresh of plugin update information
+                       wp_clean_plugins_cache();
+               }
 
 
-       function after() {
+               // Next, those themes we all love
+               wp_update_themes();  // Check for Theme updates
+               $theme_updates = get_site_transient( 'update_themes' );
+               if ( $theme_updates && !empty( $theme_updates->response ) ) {
+                       foreach ( array_keys( $theme_updates->response ) as $theme ) {
+                               $this->update( 'theme', $theme );
+                       }
+                       // Force refresh of theme update information
+                       wp_clean_themes_cache();
+               }
 
 
-               $plugin_file = $this->upgrader->plugin_info();
+               // Next, Process any core update
+               wp_version_check(); // Check for Core updates
+               $core_update = find_core_auto_update();
 
 
-               $install_actions = array();
+               if ( $core_update )
+                       $this->update( 'core', $core_update );
 
 
-               $from = isset($_GET['from']) ? wp_unslash( $_GET['from'] ) : 'plugins';
+               // Clean up, and check for any pending translations
+               // (Core_Upgrader checks for core updates)
+               wp_update_themes();  // Check for Theme updates
+               wp_update_plugins(); // Check for Plugin updates
 
 
-               if ( 'import' == $from )
-                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;from=import&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin &amp; Run Importer') . '</a>';
-               else
-                       $install_actions['activate_plugin'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin') . '" target="_parent">' . __('Activate Plugin') . '</a>';
+               // Finally, Process any new translations
+               $language_updates = wp_get_translation_updates();
+               if ( $language_updates ) {
+                       foreach ( $language_updates as $update ) {
+                               $this->update( 'translation', $update );
+                       }
 
 
-               if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) {
-                       $install_actions['network_activate'] = '<a href="' . wp_nonce_url('plugins.php?action=activate&amp;networkwide=1&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file) . '" title="' . esc_attr__('Activate this plugin for all sites in this network') . '" target="_parent">' . __('Network Activate') . '</a>';
-                       unset( $install_actions['activate_plugin'] );
-               }
+                       // Clear existing caches
+                       wp_clean_plugins_cache();
+                       wp_clean_themes_cache();
+                       delete_site_transient( 'update_core' );
 
 
-               if ( 'import' == $from )
-                       $install_actions['importers_page'] = '<a href="' . admin_url('import.php') . '" title="' . esc_attr__('Return to Importers') . '" target="_parent">' . __('Return to Importers') . '</a>';
-               else if ( $this->type == 'web' )
-                       $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugin-install.php') . '" title="' . esc_attr__('Return to Plugin Installer') . '" target="_parent">' . __('Return to Plugin Installer') . '</a>';
-               else
-                       $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Return to Plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>';
+                       wp_version_check();  // check for Core updates
+                       wp_update_themes();  // Check for Theme updates
+                       wp_update_plugins(); // Check for Plugin updates
+               }
 
 
-               if ( ! $this->result || is_wp_error($this->result) ) {
-                       unset( $install_actions['activate_plugin'], $install_actions['network_activate'] );
-               } elseif ( ! current_user_can( 'activate_plugins' ) ) {
-                       unset( $install_actions['activate_plugin'] );
+               // Send debugging email to all development installs.
+               if ( ! empty( $this->update_results ) ) {
+                       $development_version = false !== strpos( $wp_version, '-' );
+                       /**
+                        * Filter whether to send a debugging email for each automatic background update.
+                        *
+                        * @since 3.7.0
+                        * @param bool $development_version By default, emails are sent if the install is a development version.
+                        *                                  Return false to avoid the email.
+                        */
+                       if ( apply_filters( 'automatic_updates_send_debug_email', $development_version ) )
+                               $this->send_debug_email();
+
+                       if ( ! empty( $this->update_results['core'] ) )
+                               $this->after_core_update( $this->update_results['core'][0] );
                }
 
                }
 
-               $install_actions = apply_filters('install_plugin_complete_actions', $install_actions, $this->api, $plugin_file);
-               if ( ! empty($install_actions) )
-                       $this->feedback(implode(' | ', (array)$install_actions));
+               // Clear the lock
+               delete_option( $lock_name );
        }
        }
-}
 
 
-/**
- * Theme Installer Skin for the WordPress Theme Installer.
- *
- * @TODO More Detailed docs, for methods as well.
- *
- * @package WordPress
- * @subpackage Upgrader
- * @since 2.8.0
- */
-class Theme_Installer_Skin extends WP_Upgrader_Skin {
-       var $api;
-       var $type;
-
-       function __construct($args = array()) {
-               $defaults = array( 'type' => 'web', 'url' => '', 'theme' => '', 'nonce' => '', 'title' => '' );
-               $args = wp_parse_args($args, $defaults);
+       /**
+        * If we tried to perform a core update, check if we should send an email,
+        * and if we need to avoid processing future updates.
+        *
+        * @param object $update_result The result of the core update. Includes the update offer and result.
+        */
+       protected function after_core_update( $update_result ) {
+               global $wp_version;
 
 
-               $this->type = $args['type'];
-               $this->api = isset($args['api']) ? $args['api'] : array();
+               $core_update = $update_result->item;
+               $result      = $update_result->result;
 
 
-               parent::__construct($args);
-       }
+               if ( ! is_wp_error( $result ) ) {
+                       $this->send_email( 'success', $core_update );
+                       return;
+               }
 
 
-       function before() {
-               if ( !empty($this->api) )
-                       $this->upgrader->strings['process_success'] = sprintf( $this->upgrader->strings['process_success_specific'], $this->api->name, $this->api->version);
-       }
+               $error_code = $result->get_error_code();
+
+               // Any of these WP_Error codes are critical failures, as in they occurred after we started to copy core files.
+               // We should not try to perform a background update again until there is a successful one-click update performed by the user.
+               $critical = false;
+               if ( $error_code === 'disk_full' || false !== strpos( $error_code, '__copy_dir' ) ) {
+                       $critical = true;
+               } elseif ( $error_code === 'rollback_was_required' && is_wp_error( $result->get_error_data()->rollback ) ) {
+                       // A rollback is only critical if it failed too.
+                       $critical = true;
+                       $rollback_result = $result->get_error_data()->rollback;
+               } elseif ( false !== strpos( $error_code, 'do_rollback' ) ) {
+                       $critical = true;
+               }
 
 
-       function after() {
-               if ( empty($this->upgrader->result['destination_name']) )
+               if ( $critical ) {
+                       $critical_data = array(
+                               'attempted'  => $core_update->current,
+                               'current'    => $wp_version,
+                               'error_code' => $error_code,
+                               'error_data' => $result->get_error_data(),
+                               'timestamp'  => time(),
+                               'critical'   => true,
+                       );
+                       if ( isset( $rollback_result ) ) {
+                               $critical_data['rollback_code'] = $rollback_result->get_error_code();
+                               $critical_data['rollback_data'] = $rollback_result->get_error_data();
+                       }
+                       update_site_option( 'auto_core_update_failed', $critical_data );
+                       $this->send_email( 'critical', $core_update, $result );
                        return;
                        return;
+               }
 
 
-               $theme_info = $this->upgrader->theme_info();
-               if ( empty( $theme_info ) )
+               /*
+                * Any other WP_Error code (like download_failed or files_not_writable) occurs before
+                * we tried to copy over core files. Thus, the failures are early and graceful.
+                *
+                * We should avoid trying to perform a background update again for the same version.
+                * But we can try again if another version is released.
+                *
+                * For certain 'transient' failures, like download_failed, we should allow retries.
+                * In fact, let's schedule a special update for an hour from now. (It's possible
+                * the issue could actually be on WordPress.org's side.) If that one fails, then email.
+                */
+               $send = true;
+               $transient_failures = array( 'incompatible_archive', 'download_failed', 'insane_distro' );
+               if ( in_array( $error_code, $transient_failures ) && ! get_site_option( 'auto_core_update_failed' ) ) {
+                       wp_schedule_single_event( time() + HOUR_IN_SECONDS, 'wp_maybe_auto_update' );
+                       $send = false;
+               }
+
+               $n = get_site_option( 'auto_core_update_notified' );
+               // Don't notify if we've already notified the same email address of the same version of the same notification type.
+               if ( $n && 'fail' == $n['type'] && $n['email'] == get_site_option( 'admin_email' ) && $n['version'] == $core_update->current )
+                       $send = false;
+
+               update_site_option( 'auto_core_update_failed', array(
+                       'attempted'  => $core_update->current,
+                       'current'    => $wp_version,
+                       'error_code' => $error_code,
+                       'error_data' => $result->get_error_data(),
+                       'timestamp'  => time(),
+                       'retry'      => in_array( $error_code, $transient_failures ),
+               ) );
+
+               if ( $send )
+                       $this->send_email( 'fail', $core_update, $result );
+       }
+
+       /**
+        * Sends an email upon the completion or failure of a background core update.
+        *
+        * @since 3.7.0
+        *
+        * @param string $type        The type of email to send. Can be one of 'success', 'fail', 'manual', 'critical'.
+        * @param object $core_update The update offer that was attempted.
+        * @param mixed  $result      Optional. The result for the core update. Can be WP_Error.
+        */
+       protected function send_email( $type, $core_update, $result = null ) {
+               update_site_option( 'auto_core_update_notified', array(
+                       'type'      => $type,
+                       'email'     => get_site_option( 'admin_email' ),
+                       'version'   => $core_update->current,
+                       'timestamp' => time(),
+               ) );
+
+               $next_user_core_update = get_preferred_from_update_core();
+               // If the update transient is empty, use the update we just performed
+               if ( ! $next_user_core_update )
+                       $next_user_core_update = $core_update;
+               $newer_version_available = ( 'upgrade' == $next_user_core_update->response && version_compare( $next_user_core_update->version, $core_update, '>' ) );
+
+               /**
+                * Filter whether to send an email following an automatic background core update.
+                *
+                * @since 3.7.0
+                *
+                * @param bool   $send        Whether to send the email. Default true.
+                * @param string $type        The type of email to send. Can be one of 'success', 'fail', 'critical'.
+                * @param object $core_update The update offer that was attempted.
+                * @param mixed  $result      The result for the core update. Can be WP_Error.
+                */
+               if ( 'manual' !== $type && ! apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result ) )
                        return;
 
                        return;
 
-               $name       = $theme_info->display('Name');
-               $stylesheet = $this->upgrader->result['destination_name'];
-               $template   = $theme_info->get_template();
-
-               $preview_link = add_query_arg( array(
-                       'preview'    => 1,
-                       'template'   => urlencode( $template ),
-                       'stylesheet' => urlencode( $stylesheet ),
-               ), trailingslashit( home_url() ) );
-
-               $activate_link = add_query_arg( array(
-                       'action'     => 'activate',
-                       'template'   => urlencode( $template ),
-                       'stylesheet' => urlencode( $stylesheet ),
-               ), admin_url('themes.php') );
-               $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
-
-               $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>';
-               $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' ) )
-                       $install_actions['network_enable'] = '<a href="' . esc_url( wp_nonce_url( 'themes.php?action=enable&amp;theme=' . urlencode( $stylesheet ), 'enable-theme_' . $stylesheet ) ) . '" title="' . esc_attr__( 'Enable this theme for all sites in this network' ) . '" target="_parent">' . __( 'Network Enable' ) . '</a>';
-
-               if ( $this->type == 'web' )
-                       $install_actions['themes_page'] = '<a href="' . self_admin_url('theme-install.php') . '" title="' . esc_attr__('Return to Theme Installer') . '" target="_parent">' . __('Return to Theme Installer') . '</a>';
-               elseif ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) )
-                       $install_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
-
-               if ( ! $this->result || is_wp_error($this->result) || is_network_admin() || ! current_user_can( 'switch_themes' ) )
-                       unset( $install_actions['activate'], $install_actions['preview'] );
-
-               $install_actions = apply_filters('install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info);
-               if ( ! empty($install_actions) )
-                       $this->feedback(implode(' | ', (array)$install_actions));
-       }
-}
+               switch ( $type ) {
+                       case 'success' : // We updated.
+                               /* translators: 1: Site name, 2: WordPress version number. */
+                               $subject = __( '[%1$s] Your site has updated to WordPress %2$s' );
+                               break;
 
 
-/**
- * Theme Upgrader Skin for WordPress Theme Upgrades.
- *
- * @TODO More Detailed docs, for methods as well.
- *
- * @package WordPress
- * @subpackage Upgrader
- * @since 2.8.0
- */
-class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
-       var $theme = '';
+                       case 'fail' :   // We tried to update but couldn't.
+                       case 'manual' : // We can't update (and made no attempt).
+                               /* translators: 1: Site name, 2: WordPress version number. */
+                               $subject = __( '[%1$s] WordPress %2$s is available. Please update!' );
+                               break;
 
 
-       function __construct($args = array()) {
-               $defaults = array( 'url' => '', 'theme' => '', 'nonce' => '', 'title' => __('Update Theme') );
-               $args = wp_parse_args($args, $defaults);
+                       case 'critical' : // We tried to update, started to copy files, then things went wrong.
+                               /* translators: 1: Site name. */
+                               $subject = __( '[%1$s] URGENT: Your site may be down due to a failed update' );
+                               break;
 
 
-               $this->theme = $args['theme'];
+                       default :
+                               return;
+               }
 
 
-               parent::__construct($args);
-       }
+               // If the auto update is not to the latest version, say that the current version of WP is available instead.
+               $version = 'success' === $type ? $core_update->current : $next_user_core_update->current;
+               $subject = sprintf( $subject, wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ), $version );
 
 
-       function after() {
-
-               $update_actions = array();
-               if ( ! empty( $this->upgrader->result['destination_name'] ) && $theme_info = $this->upgrader->theme_info() ) {
-                       $name       = $theme_info->display('Name');
-                       $stylesheet = $this->upgrader->result['destination_name'];
-                       $template   = $theme_info->get_template();
-
-                       $preview_link = add_query_arg( array(
-                               'preview'    => 1,
-                               'template'   => urlencode( $template ),
-                               'stylesheet' => urlencode( $stylesheet ),
-                       ), trailingslashit( home_url() ) );
-
-                       $activate_link = add_query_arg( array(
-                               'action'     => 'activate',
-                               'template'   => urlencode( $template ),
-                               'stylesheet' => urlencode( $stylesheet ),
-                       ), admin_url('themes.php') );
-                       $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet );
-
-                       if ( get_stylesheet() == $stylesheet ) {
-                               if ( current_user_can( 'edit_theme_options' ) )
-                                       $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>';
-                               $update_actions['activate'] = '<a href="' . esc_url( $activate_link ) . '" class="activatelink" title="' . esc_attr( sprintf( __('Activate &#8220;%s&#8221;'), $name ) ) . '">' . __('Activate') . '</a>';
-                       }
+               $body = '';
 
 
-                       if ( ! $this->result || is_wp_error( $this->result ) || is_network_admin() )
-                               unset( $update_actions['preview'], $update_actions['activate'] );
-               }
+               switch ( $type ) {
+                       case 'success' :
+                               $body .= sprintf( __( 'Howdy! Your site at %1$s has been updated automatically to WordPress %2$s.' ), home_url(), $core_update->current );
+                               $body .= "\n\n";
+                               if ( ! $newer_version_available )
+                                       $body .= __( 'No further action is needed on your part.' ) . ' ';
 
 
-               $update_actions['themes_page'] = '<a href="' . self_admin_url('themes.php') . '" title="' . esc_attr__('Return to Themes page') . '" target="_parent">' . __('Return to Themes page') . '</a>';
+                               // Can only reference the About screen if their update was successful.
+                               list( $about_version ) = explode( '-', $core_update->current, 2 );
+                               $body .= sprintf( __( "For more on version %s, see the About WordPress screen:" ), $about_version );
+                               $body .= "\n" . admin_url( 'about.php' );
 
 
-               $update_actions = apply_filters('update_theme_complete_actions', $update_actions, $this->theme);
-               if ( ! empty($update_actions) )
-                       $this->feedback(implode(' | ', (array)$update_actions));
-       }
-}
+                               if ( $newer_version_available ) {
+                                       $body .= "\n\n" . sprintf( __( 'WordPress %s is also now available.' ), $next_user_core_update->current ) . ' ';
+                                       $body .= __( 'Updating is easy and only takes a few moments:' );
+                                       $body .= "\n" . network_admin_url( 'update-core.php' );
+                               }
 
 
-/**
- * Upgrade Skin helper for File uploads. This class handles the upload process and passes it as if it's a local file to the Upgrade/Installer functions.
- *
- * @TODO More Detailed docs, for methods as well.
- *
- * @package WordPress
- * @subpackage Upgrader
- * @since 2.8.0
- */
-class File_Upload_Upgrader {
-       var $package;
-       var $filename;
-       var $id = 0;
+                               break;
 
 
-       function __construct($form, $urlholder) {
+                       case 'fail' :
+                       case 'manual' :
+                               $body .= sprintf( __( 'Please update your site at %1$s to WordPress %2$s.' ), home_url(), $next_user_core_update->current );
 
 
-               if ( empty($_FILES[$form]['name']) && empty($_GET[$urlholder]) )
-                       wp_die(__('Please select a file'));
+                               $body .= "\n\n";
 
 
-               //Handle a newly uploaded file, Else assume it's already been uploaded
-               if ( ! empty($_FILES) ) {
-                       $overrides = array( 'test_form' => false, 'test_type' => false );
-                       $file = wp_handle_upload( $_FILES[$form], $overrides );
+                               // Don't show this message if there is a newer version available.
+                               // Potential for confusion, and also not useful for them to know at this point.
+                               if ( 'fail' == $type && ! $newer_version_available )
+                                       $body .= __( 'We tried but were unable to update your site automatically.' ) . ' ';
 
 
-                       if ( isset( $file['error'] ) )
-                               wp_die( $file['error'] );
+                               $body .= __( 'Updating is easy and only takes a few moments:' );
+                               $body .= "\n" . network_admin_url( 'update-core.php' );
+                               break;
 
 
-                       $this->filename = $_FILES[$form]['name'];
-                       $this->package = $file['file'];
+                       case 'critical' :
+                               if ( $newer_version_available )
+                                       $body .= sprintf( __( 'Your site at %1$s experienced a critical failure while trying to update WordPress to version %2$s.' ), home_url(), $core_update->current );
+                               else
+                                       $body .= sprintf( __( 'Your site at %1$s experienced a critical failure while trying to update to the latest version of WordPress, %2$s.' ), home_url(), $core_update->current );
 
 
-                       // Construct the object array
-                       $object = array(
-                               'post_title' => $this->filename,
-                               'post_content' => $file['url'],
-                               'post_mime_type' => $file['type'],
-                               'guid' => $file['url'],
-                               'context' => 'upgrader',
-                               'post_status' => 'private'
-                       );
+                               $body .= "\n\n" . __( "This means your site may be offline or broken. Don't panic; this can be fixed." );
 
 
-                       // Save the data
-                       $this->id = wp_insert_attachment( $object, $file['file'] );
+                               $body .= "\n\n" . __( "Please check out your site now. It's possible that everything is working. If it says you need to update, you should do so:" );
+                               $body .= "\n" . network_admin_url( 'update-core.php' );
+                               break;
+               }
 
 
-                       // 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 ) );
+               // Updates are important!
+               if ( $type != 'success' || $newer_version_available )
+                       $body .= "\n\n" . __( 'Keeping your site updated is important for security. It also makes the internet a safer place for you and your readers.' );
 
 
-               } elseif ( is_numeric( $_GET[$urlholder] ) ) {
-                       // Numeric Package = previously uploaded file, see above.
-                       $this->id = (int) $_GET[$urlholder];
-                       $attachment = get_post( $this->id );
-                       if ( empty($attachment) )
-                               wp_die(__('Please select a file'));
+               // Add a note about the support forums to all emails.
+               $body .= "\n\n" . __( 'If you experience any issues or need support, the volunteers in the WordPress.org support forums may be able to help.' );
+               $body .= "\n" . __( 'http://wordpress.org/support/' );
 
 
-                       $this->filename = $attachment->post_title;
-                       $this->package = get_attached_file( $attachment->ID );
-               } else {
-                       // Else, It's set to something, Back compat for plugins using the old (pre-3.3) File_Uploader handler.
-                       if ( ! ( ( $uploads = wp_upload_dir() ) && false === $uploads['error'] ) )
-                               wp_die( $uploads['error'] );
+               // If things are successful and we're now on the latest, mention plugins and themes if any are out of date.
+               if ( $type == 'success' && ! $newer_version_available && ( get_plugin_updates() || get_theme_updates() ) ) {
+                       $body .= "\n\n" . __( 'You also have some plugins or themes with updates available. Update them now:' );
+                       $body .= "\n" . network_admin_url();
+               }
 
 
-                       $this->filename = $_GET[$urlholder];
-                       $this->package = $uploads['basedir'] . '/' . $this->filename;
+               $body .= "\n\n" . __( 'The WordPress Team' ) . "\n";
+
+               if ( 'critical' == $type && is_wp_error( $result ) ) {
+                       $body .= "\n***\n\n";
+                       $body .= sprintf( __( 'Your site was running version %s.' ), $GLOBALS['wp_version'] );
+                       $body .= ' ' . __( 'We have some data that describes the error your site encountered.' );
+                       $body .= ' ' . __( 'Your hosting company, support forum volunteers, or a friendly developer may be able to use this information to help you:' );
+
+                       // If we had a rollback and we're still critical, then the rollback failed too.
+                       // Loop through all errors (the main WP_Error, the update result, the rollback result) for code, data, etc.
+                       if ( 'rollback_was_required' == $result->get_error_code() )
+                               $errors = array( $result, $result->get_error_data()->update, $result->get_error_data()->rollback );
+                       else
+                               $errors = array( $result );
+
+                       foreach ( $errors as $error ) {
+                               if ( ! is_wp_error( $error ) )
+                                       continue;
+                               $error_code = $error->get_error_code();
+                               $body .= "\n\n" . sprintf( __( "Error code: %s" ), $error_code );
+                               if ( 'rollback_was_required' == $error_code )
+                                       continue;
+                               if ( $error->get_error_message() )
+                                       $body .= "\n" . $error->get_error_message();
+                               $error_data = $error->get_error_data();
+                               if ( $error_data )
+                                       $body .= "\n" . implode( ', ', (array) $error_data );
+                       }
+                       $body .= "\n";
                }
                }
-       }
 
 
-       function cleanup() {
-               if ( $this->id )
-                       wp_delete_attachment( $this->id );
+               $to  = get_site_option( 'admin_email' );
+               $headers = '';
+
+               $email = compact( 'to', 'subject', 'body', 'headers' );
+               /**
+                * Filter the email sent following an automatic background core update.
+                *
+                * @since 3.7.0
+                *
+                * @param array $email {
+                *     Array of email arguments that will be passed to wp_mail().
+                *
+                *     @type string $to      The email recipient. An array of emails can be returned, as handled by wp_mail().
+                *     @type string $subject The email's subject.
+                *     @type string $body    The email message body.
+                *     @type string $headers Any email headers, defaults to no headers.
+                * }
+                * @param string $type        The type of email being sent. Can be one of 'success', 'fail', 'manual', 'critical'.
+                * @param object $core_update The update offer that was attempted.
+                * @param mixed  $result      The result for the core update. Can be WP_Error.
+                */
+               $email = apply_filters( 'auto_core_update_email', $email, $type, $core_update, $result );
+
+               wp_mail( $email['to'], $email['subject'], $email['body'], $email['headers'] );
+       }
+
+       /**
+        * Prepares and sends an email of a full log of background update results, useful for debugging and geekery.
+        *
+        * @since 3.7.0
+        */
+       protected function send_debug_email() {
+               $update_count = 0;
+               foreach ( $this->update_results as $type => $updates )
+                       $update_count += count( $updates );
+
+               $body = array();
+               $failures = 0;
+
+               $body[] = 'WordPress site: ' . network_home_url( '/' );
+
+               // Core
+               if ( isset( $this->update_results['core'] ) ) {
+                       $result = $this->update_results['core'][0];
+                       if ( $result->result && ! is_wp_error( $result->result ) ) {
+                               $body[] = sprintf( 'SUCCESS: WordPress was successfully updated to %s', $result->name );
+                       } else {
+                               $body[] = sprintf( 'FAILED: WordPress failed to update to %s', $result->name );
+                               $failures++;
+                       }
+                       $body[] = '';
+               }
 
 
-               elseif ( file_exists( $this->package ) )
-                       return @unlink( $this->package );
+               // Plugins, Themes, Translations
+               foreach ( array( 'plugin', 'theme', 'translation' ) as $type ) {
+                       if ( ! isset( $this->update_results[ $type ] ) )
+                               continue;
+                       $success_items = wp_list_filter( $this->update_results[ $type ], array( 'result' => true ) );
+                       if ( $success_items ) {
+                               $body[] = "The following {$type}s were successfully updated:";
+                               foreach ( wp_list_pluck( $success_items, 'name' ) as $name )
+                                       $body[] = ' * SUCCESS: ' . $name;
+                       }
+                       if ( $success_items != $this->update_results[ $type ] ) {
+                               // Failed updates
+                               $body[] = "The following {$type}s failed to update:";
+                               foreach ( $this->update_results[ $type ] as $item ) {
+                                       if ( ! $item->result || is_wp_error( $item->result ) ) {
+                                               $body[] = ' * FAILED: ' . $item->name;
+                                               $failures++;
+                                       }
+                               }
+                       }
+                       $body[] = '';
+               }
 
 
-               return true;
+               if ( $failures ) {
+                       $body[] = '';
+                       $body[] = 'BETA TESTING?';
+                       $body[] = '=============';
+                       $body[] = '';
+                       $body[] = 'This debugging email is sent when you are using a development version of WordPress.';
+                       $body[] = '';
+                       $body[] = 'If you think these failures might be due to a bug in WordPress, could you report it?';
+                       $body[] = ' * Open a thread in the support forums: http://wordpress.org/support/forum/alphabeta';
+                       $body[] = " * Or, if you're comfortable writing a bug report: http://core.trac.wordpress.org/";
+                       $body[] = '';
+                       $body[] = 'Thanks! -- The WordPress Team';
+                       $body[] = '';
+                       $subject = sprintf( '[%s] There were failures during background updates', get_bloginfo( 'name' ) );
+               } else {
+                       $subject = sprintf( '[%s] Background updates have finished', get_bloginfo( 'name' ) );
+               }
+
+               $body[] = 'UPDATE LOG';
+               $body[] = '==========';
+               $body[] = '';
+
+               foreach ( array( 'core', 'plugin', 'theme', 'translation' ) as $type ) {
+                       if ( ! isset( $this->update_results[ $type ] ) )
+                               continue;
+                       foreach ( $this->update_results[ $type ] as $update ) {
+                               $body[] = $update->name;
+                               $body[] = str_repeat( '-', strlen( $update->name ) );
+                               foreach ( $update->messages as $message )
+                                       $body[] = "  " . html_entity_decode( str_replace( '&#8230;', '...', $message ) );
+                               if ( is_wp_error( $update->result ) ) {
+                                       $results = array( 'update' => $update->result );
+                                       // If we rolled back, we want to know an error that occurred then too.
+                                       if ( 'rollback_was_required' === $update->result->get_error_code() )
+                                               $results = (array) $update->result->get_error_data();
+                                       foreach ( $results as $result_type => $result ) {
+                                               if ( ! is_wp_error( $result ) )
+                                                       continue;
+                                               $body[] = '  ' . ( 'rollback' === $result_type ? 'Rollback ' : '' ) . 'Error: [' . $result->get_error_code() . '] ' . $result->get_error_message();
+                                               if ( $result->get_error_data() )
+                                                       $body[] = '         ' . implode( ', ', (array) $result->get_error_data() );
+                                       }
+                               }
+                               $body[] = '';
+                       }
+               }
+
+               //echo "<h1>\n$subject\n</h1>\n";
+               //echo "<pre>\n" . implode( "\n", $body ) . "\n</pre>";
+
+               wp_mail( get_site_option( 'admin_email' ), $subject, implode( "\n", $body ) );
        }
 }
        }
 }
index 1620755b68a98c8b5512b8dfcff355c63d1341f3..a74eeaac2275dfb8f2ec53850a5af746d5e7bd0d 100644 (file)
@@ -36,12 +36,18 @@ function edit_comment() {
        if ( ! current_user_can( 'edit_comment', (int) $_POST['comment_ID'] ) )
                wp_die ( __( 'You are not allowed to edit comments on this post.' ) );
 
        if ( ! current_user_can( 'edit_comment', (int) $_POST['comment_ID'] ) )
                wp_die ( __( 'You are not allowed to edit comments on this post.' ) );
 
-       $_POST['comment_author'] = $_POST['newcomment_author'];
-       $_POST['comment_author_email'] = $_POST['newcomment_author_email'];
-       $_POST['comment_author_url'] = $_POST['newcomment_author_url'];
-       $_POST['comment_approved'] = $_POST['comment_status'];
-       $_POST['comment_content'] = $_POST['content'];
-       $_POST['comment_ID'] = (int) $_POST['comment_ID'];
+       if ( isset( $_POST['newcomment_author'] ) )
+               $_POST['comment_author'] = $_POST['newcomment_author'];
+       if ( isset( $_POST['newcomment_author_email'] ) )
+               $_POST['comment_author_email'] = $_POST['newcomment_author_email'];
+       if ( isset( $_POST['newcomment_author_url'] ) )
+               $_POST['comment_author_url'] = $_POST['newcomment_author_url'];
+       if ( isset( $_POST['comment_status'] ) )
+               $_POST['comment_approved'] = $_POST['comment_status'];
+       if ( isset( $_POST['content'] ) )
+               $_POST['comment_content'] = $_POST['content'];
+       if ( isset( $_POST['comment_ID'] ) )
+               $_POST['comment_ID'] = (int) $_POST['comment_ID'];
 
        foreach ( array ('aa', 'mm', 'jj', 'hh', 'mn') as $timeunit ) {
                if ( !empty( $_POST['hidden_' . $timeunit] ) && $_POST['hidden_' . $timeunit] != $_POST[$timeunit] ) {
 
        foreach ( array ('aa', 'mm', 'jj', 'hh', 'mn') as $timeunit ) {
                if ( !empty( $_POST['hidden_' . $timeunit] ) && $_POST['hidden_' . $timeunit] != $_POST[$timeunit] ) {
@@ -83,7 +89,14 @@ function get_comment_to_edit( $id ) {
        $comment->comment_post_ID = (int) $comment->comment_post_ID;
 
        $comment->comment_content = format_to_edit( $comment->comment_content );
        $comment->comment_post_ID = (int) $comment->comment_post_ID;
 
        $comment->comment_content = format_to_edit( $comment->comment_content );
-       $comment->comment_content = apply_filters( 'comment_edit_pre', $comment->comment_content);
+       /**
+        * Filter the comment content before editing.
+        *
+        * @since 2.0.0
+        *
+        * @param string $comment->comment_content Comment content.
+        */
+       $comment->comment_content = apply_filters( 'comment_edit_pre', $comment->comment_content );
 
        $comment->comment_author = format_to_edit( $comment->comment_author );
        $comment->comment_author_email = format_to_edit( $comment->comment_author_email );
 
        $comment->comment_author = format_to_edit( $comment->comment_author );
        $comment->comment_author_email = format_to_edit( $comment->comment_author_email );
@@ -148,7 +161,7 @@ function get_pending_comments_num( $post_id ) {
  */
 function floated_admin_avatar( $name ) {
        global $comment;
  */
 function floated_admin_avatar( $name ) {
        global $comment;
-       $avatar = get_avatar( $comment, 32 );
+       $avatar = get_avatar( $comment, 32, 'mystery' );
        return "$avatar $name";
 }
 
        return "$avatar $name";
 }
 
index 657402f9422ec9f035e669982a3cf180fd7095cf..1f71f243a05fe8961c2fa8142cb0054bbc349831 100644 (file)
@@ -142,11 +142,13 @@ function wp_dashboard_setup() {
        if ( $update )
                update_option( 'dashboard_widget_options', $widget_options );
 
        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', '');
        do_action('do_meta_boxes', $screen->id, 'normal', '');
+       /** This action is documented in wp-admin/edit-form-advanced.php */
        do_action('do_meta_boxes', $screen->id, 'side', '');
 }
 
        do_action('do_meta_boxes', $screen->id, 'side', '');
 }
 
-function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null ) {
+function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null, $callback_args = null ) {
        $screen = get_current_screen();
        global $wp_dashboard_control_callbacks;
 
        $screen = get_current_screen();
        global $wp_dashboard_control_callbacks;
 
@@ -177,7 +179,7 @@ function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_
        if ( 'dashboard_browser_nag' === $widget_id )
                $priority = 'high';
 
        if ( 'dashboard_browser_nag' === $widget_id )
                $priority = 'high';
 
-       add_meta_box( $widget_id, $widget_name, $callback, $screen, $location, $priority );
+       add_meta_box( $widget_id, $widget_name, $callback, $screen, $location, $priority, $callback_args );
 }
 
 function _wp_dashboard_control_callback( $dashboard, $meta_box ) {
 }
 
 function _wp_dashboard_control_callback( $dashboard, $meta_box ) {
@@ -366,7 +368,7 @@ function wp_dashboard_right_now() {
 
        if ( $theme->errors() ) {
                if ( ! is_multisite() || is_super_admin() )
 
        if ( $theme->errors() ) {
                if ( ! is_multisite() || is_super_admin() )
-                       echo '<span class="error-message">' . __('ERROR: The themes directory is either empty or doesn&#8217;t exist. Please check your installation.') . '</span>';
+                       echo '<span class="error-message">' . sprintf( __( 'ERROR: %s' ), $theme->errors()->get_error_message() ) . '</span>';
        } elseif ( ! empty($wp_registered_sidebars) ) {
                $sidebars_widgets = wp_get_sidebars_widgets();
                $num_widgets = 0;
        } elseif ( ! empty($wp_registered_sidebars) ) {
                $sidebars_widgets = wp_get_sidebars_widgets();
                $num_widgets = 0;
@@ -710,7 +712,7 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
                <div id="comment-<?php echo $comment->comment_ID; ?>" <?php comment_class( array( 'comment-item', wp_get_comment_status($comment->comment_ID) ) ); ?>>
                        <?php if ( !$comment->comment_type || 'comment' == $comment->comment_type ) : ?>
 
                <div id="comment-<?php echo $comment->comment_ID; ?>" <?php comment_class( array( 'comment-item', wp_get_comment_status($comment->comment_ID) ) ); ?>>
                        <?php if ( !$comment->comment_type || 'comment' == $comment->comment_type ) : ?>
 
-                       <?php echo get_avatar( $comment, 50 ); ?>
+                       <?php echo get_avatar( $comment, 50, 'mystery' ); ?>
 
                        <div class="dashboard-comment-wrap">
                        <h4 class="comment-meta">
 
                        <div class="dashboard-comment-wrap">
                        <h4 class="comment-meta">
@@ -1095,6 +1097,7 @@ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) {
        if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number]) ) {
                $_POST['widget-rss'][$number] = wp_unslash( $_POST['widget-rss'][$number] );
                $widget_options[$widget_id] = wp_widget_rss_process( $_POST['widget-rss'][$number] );
        if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number]) ) {
                $_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
                if ( !$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title']) ) {
                        $rss = fetch_feed($widget_options[$widget_id]['url']);
                // 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']);
@@ -1225,7 +1228,7 @@ function wp_check_browser_version() {
                        'user-agent'    => 'WordPress/' . $wp_version . '; ' . home_url()
                );
 
                        'user-agent'    => 'WordPress/' . $wp_version . '; ' . home_url()
                );
 
-               $response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.0/', $options );
+               $response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.1/', $options );
 
                if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
                        return false;
 
                if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
                        return false;
@@ -1241,7 +1244,7 @@ function wp_check_browser_version() {
                 *  'img_src' - string - An image representing the browser
                 *  'img_src_ssl' - string - An image (over SSL) representing the browser
                 */
                 *  'img_src' - string - An image representing the browser
                 *  'img_src_ssl' - string - An image (over SSL) representing the browser
                 */
-               $response = maybe_unserialize( wp_remote_retrieve_body( $response ) );
+               $response = json_decode( wp_remote_retrieve_body( $response ), true );
 
                if ( ! is_array( $response ) )
                        return false;
 
                if ( ! is_array( $response ) )
                        return false;
index 399577ed4b75f437f01e28d69f3ce73a9aeed2e3..66d9abb39e7df93c15d104072f8be616effce04d 100644 (file)
@@ -13,8 +13,8 @@
  */
 
 /**
  */
 
 /**
- * @since 2.1
- * @deprecated 2.1
+ * @since 2.1.0
+ * @deprecated 2.1.0
  * @deprecated Use wp_editor().
  * @see wp_editor()
  */
  * @deprecated Use wp_editor().
  * @see wp_editor()
  */
@@ -27,8 +27,8 @@ function tinymce_include() {
 /**
  * Unused Admin function.
  *
 /**
  * Unused Admin function.
  *
- * @since 2.0
- * @deprecated 2.5
+ * @since 2.0.0
+ * @deprecated 2.5.0
  *
  */
 function documentation_link() {
  *
  */
 function documentation_link() {
@@ -106,6 +106,22 @@ function dropdown_link_categories( $default = 0 ) {
        wp_link_category_checklist( $link_id );
 }
 
        wp_link_category_checklist( $link_id );
 }
 
+/**
+ * Get the real filesystem path to a file to edit within the admin.
+ *
+ * @since 1.5.0
+ * @deprecated 2.9.0
+ * @uses WP_CONTENT_DIR Full filesystem path to the wp-content directory.
+ *
+ * @param string $file Filesystem path relative to the wp-content directory.
+ * @return string Full filesystem path to edit.
+ */
+function get_real_file_to_edit( $file ) {
+       _deprecated_function( __FUNCTION__, '2.9' );
+
+       return WP_CONTENT_DIR . $file;
+}
+
 /**
  * {@internal Missing Short Description}}
  *
 /**
  * {@internal Missing Short Description}}
  *
@@ -207,7 +223,7 @@ function codepress_footer_js() {
 /**
  * Determine whether to use CodePress.
  *
 /**
  * Determine whether to use CodePress.
  *
- * @since 2.8
+ * @since 2.8.0
  * @deprecated 3.0.0
 **/
 function use_codepress() {
  * @deprecated 3.0.0
 **/
 function use_codepress() {
@@ -719,7 +735,7 @@ function wp_dashboard_quick_press_output() {
 
 /**
  * @since 2.7.0
 
 /**
  * @since 2.7.0
- * @deprecated 3.3
+ * @deprecated 3.3.0
  * @deprecated Use wp_editor()
  * @see wp_editor()
  */
  * @deprecated Use wp_editor()
  * @see wp_editor()
  */
@@ -924,6 +940,7 @@ function get_allowed_themes() {
  * {@internal Missing Short Description}}
  *
  * @since 1.5.0
  * {@internal Missing Short Description}}
  *
  * @since 1.5.0
+ * @deprecated 3.4.0
  *
  * @return unknown
  */
  *
  * @return unknown
  */
@@ -947,6 +964,7 @@ function get_broken_themes() {
  * {@internal Missing Short Description}}
  *
  * @since 2.0.0
  * {@internal Missing Short Description}}
  *
  * @since 2.0.0
+ * @deprecated 3.4.0
  *
  * @return unknown
  */
  *
  * @return unknown
  */
@@ -1023,3 +1041,93 @@ function wp_create_thumbnail( $file, $max_side, $deprecated = '' ) {
        _deprecated_function( __FUNCTION__, '3.5', 'image_resize()' );
        return apply_filters( 'wp_create_thumbnail', image_resize( $file, $max_side, $max_side ) );
 }
        _deprecated_function( __FUNCTION__, '3.5', 'image_resize()' );
        return apply_filters( 'wp_create_thumbnail', image_resize( $file, $max_side, $max_side ) );
 }
+
+/**
+ * This was once used to display a metabox for the nav menu theme locations.
+ *
+ * Deprecated in favor of a 'Manage Locations' tab added to nav menus management screen.
+ *
+ * @since 3.0.0
+ * @deprecated 3.6.0
+ */
+function wp_nav_menu_locations_meta_box() {
+       _deprecated_function( __FUNCTION__, '3.6' );
+}
+
+/**
+ * This was once used to kick-off the Core Updater.
+ *
+ * Deprecated in favor of instantating a Core_Upgrader instance directly,
+ * and calling the 'upgrade' method.
+ *
+ * @since 2.7.0
+ * @deprecated 3.7.0
+ */
+function wp_update_core($current, $feedback = '') {
+       _deprecated_function( __FUNCTION__, '3.7', 'new Core_Upgrader();' );
+
+       if ( !empty($feedback) )
+               add_filter('update_feedback', $feedback);
+
+       include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+       $upgrader = new Core_Upgrader();
+       return $upgrader->upgrade($current);
+
+}
+
+/**
+ * This was once used to kick-off the Plugin Updater.
+ *
+ * Deprecated in favor of instantating a Plugin_Upgrader instance directly,
+ * and calling the 'upgrade' method.
+ * Unused since 2.8.0.
+ *
+ * @since 2.5.0
+ * @deprecated 3.7.0
+ */
+function wp_update_plugin($plugin, $feedback = '') {
+       _deprecated_function( __FUNCTION__, '3.7', 'new Plugin_Upgrader();' );
+
+       if ( !empty($feedback) )
+               add_filter('update_feedback', $feedback);
+
+       include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+       $upgrader = new Plugin_Upgrader();
+       return $upgrader->upgrade($plugin);
+}
+
+/**
+ * This was once used to kick-off the Plugin Updater.
+ *
+ * Deprecated in favor of instantating a Plugin_Upgrader instance directly,
+ * and calling the 'upgrade' method.
+ * Unused since 2.8.0.
+ *
+ * @since 2.7.0
+ * @deprecated 3.7.0
+ */
+function wp_update_theme($theme, $feedback = '') {
+       _deprecated_function( __FUNCTION__, '3.7', 'new Theme_Upgrader();' );
+
+       if ( !empty($feedback) )
+               add_filter('update_feedback', $feedback);
+
+       include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+       $upgrader = new Theme_Upgrader();
+       return $upgrader->upgrade($theme);
+}
+
+/**
+ * This was once used to display attachment links. Now it is deprecated and stubbed.
+ *
+ * {@internal Missing Short Description}}
+ *
+ * @since 2.0.0
+ * @deprecated 3.7.0
+ *
+ * @param unknown_type $id
+ * @return unknown
+ */
+function the_attachment_links( $id = false ) {
+       _deprecated_function( __FUNCTION__, '3.7' );
+}
index ae08c3c17d3190abaa40e2beffab9b856a6cd9dd..91d88a18abe5b9f8ff330319f75558e12b653c22 100644 (file)
@@ -367,10 +367,11 @@ function export_wp( $args = array() ) {
                $is_sticky = is_sticky( $post->ID ) ? 1 : 0;
 ?>
        <item>
                $is_sticky = is_sticky( $post->ID ) ? 1 : 0;
 ?>
        <item>
+               <?php /** This filter is documented in wp-includes/feed.php */ ?>
                <title><?php echo apply_filters( 'the_title_rss', $post->post_title ); ?></title>
                <link><?php the_permalink_rss() ?></link>
                <pubDate><?php echo mysql2date( 'D, d M Y H:i:s +0000', get_post_time( 'Y-m-d H:i:s', true ), false ); ?></pubDate>
                <title><?php echo apply_filters( 'the_title_rss', $post->post_title ); ?></title>
                <link><?php the_permalink_rss() ?></link>
                <pubDate><?php echo mysql2date( 'D, d M Y H:i:s +0000', get_post_time( 'Y-m-d H:i:s', true ), false ); ?></pubDate>
-               <dc:creator><?php echo get_the_author_meta( 'login' ); ?></dc:creator>
+               <dc:creator><?php echo wxr_cdata( get_the_author_meta( 'login' ) ); ?></dc:creator>
                <guid isPermaLink="false"><?php the_guid(); ?></guid>
                <description></description>
                <content:encoded><?php echo wxr_cdata( apply_filters( 'the_content_export', $post->post_content ) ); ?></content:encoded>
                <guid isPermaLink="false"><?php the_guid(); ?></guid>
                <description></description>
                <content:encoded><?php echo wxr_cdata( apply_filters( 'the_content_export', $post->post_content ) ); ?></content:encoded>
index ca424264bc0a2da81a169576a8cc976ecdeef33e..7b83ca5539a55a740fa5a38d09f2d2bfa424f2b8 100644 (file)
@@ -93,30 +93,6 @@ function get_home_path() {
        return str_replace( '\\', '/', $home_path );
 }
 
        return str_replace( '\\', '/', $home_path );
 }
 
-/**
- * Get the real file system path to a file to edit within the admin
- *
- * If the $file is index.php or .htaccess this function will assume it is relative
- * to the install root, otherwise it is assumed the file is relative to the wp-content
- * directory
- *
- * @since 1.5.0
- *
- * @uses get_home_path
- * @uses WP_CONTENT_DIR full filesystem path to the wp-content directory
- * @param string $file filesystem path relative to the WordPress install directory or to the wp-content directory
- * @return string full file system path to edit
- */
-function get_real_file_to_edit( $file ) {
-       if ('index.php' == $file || '.htaccess' == $file ) {
-               $real_file = get_home_path() . $file;
-       } else {
-               $real_file = WP_CONTENT_DIR . $file;
-       }
-
-       return $real_file;
-}
-
 /**
  * Returns a listing of all files in the specified folder and all subdirectories up to 100 levels deep.
  * The depth of the recursiveness can be controlled by the $levels param.
 /**
  * Returns a listing of all files in the specified folder and all subdirectories up to 100 levels deep.
  * The depth of the recursiveness can be controlled by the $levels param.
@@ -509,9 +485,43 @@ function download_url( $url, $timeout = 300 ) {
                return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
        }
 
                return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
        }
 
+       $content_md5 = wp_remote_retrieve_header( $response, 'content-md5' );
+       if ( $content_md5 ) {
+               $md5_check = verify_file_md5( $tmpfname, $content_md5 );
+               if ( is_wp_error( $md5_check ) ) {
+                       unlink( $tmpfname );
+                       return $md5_check;
+               }
+       }
+
        return $tmpfname;
 }
 
        return $tmpfname;
 }
 
+/**
+ * Calculates and compares the MD5 of a file to it's expected value.
+ *
+ * @since 3.7.0
+ *
+ * @param string $filename The filename to check the MD5 of.
+ * @param string $expected_md5 The expected MD5 of the file, either a base64 encoded raw md5, or a hex-encoded md5
+ * @return bool|object WP_Error on failure, true on success, false when the MD5 format is unknown/unexpected
+ */
+function verify_file_md5( $filename, $expected_md5 ) {
+       if ( 32 == strlen( $expected_md5 ) )
+               $expected_raw_md5 = pack( 'H*', $expected_md5 );
+       elseif ( 24 == strlen( $expected_md5 ) )
+               $expected_raw_md5 = base64_decode( $expected_md5 );
+       else
+               return false; // unknown format
+
+       $file_md5 = md5_file( $filename, true );
+
+       if ( $file_md5 === $expected_raw_md5 )
+               return true;
+
+       return new WP_Error( 'md5_mismatch', sprintf( __( 'The checksum of the file (%1$s) does not match the expected checksum value (%2$s).' ), bin2hex( $file_md5 ), bin2hex( $expected_raw_md5 ) ) );
+}
+
 /**
  * Unzips a specified ZIP file to a location on the Filesystem via the WordPress Filesystem Abstraction.
  * Assumes that WP_Filesystem() has already been called and set up. Does not extract a root-level __MACOSX directory, if present.
 /**
  * Unzips a specified ZIP file to a location on the Filesystem via the WordPress Filesystem Abstraction.
  * Assumes that WP_Filesystem() has already been called and set up. Does not extract a root-level __MACOSX directory, if present.
@@ -586,24 +596,38 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) {
 
        $z = new ZipArchive();
 
 
        $z = new ZipArchive();
 
-       // PHP4-compat - php4 classes can't contain constants
-       $zopen = $z->open($file, /* ZIPARCHIVE::CHECKCONS */ 4);
+       $zopen = $z->open( $file, ZIPARCHIVE::CHECKCONS );
        if ( true !== $zopen )
        if ( true !== $zopen )
-               return new WP_Error('incompatible_archive', __('Incompatible Archive.'));
+               return new WP_Error( 'incompatible_archive', __( 'Incompatible Archive.' ), array( 'ziparchive_error' => $zopen ) );
+
+       $uncompressed_size = 0;
 
        for ( $i = 0; $i < $z->numFiles; $i++ ) {
                if ( ! $info = $z->statIndex($i) )
 
        for ( $i = 0; $i < $z->numFiles; $i++ ) {
                if ( ! $info = $z->statIndex($i) )
-                       return new WP_Error('stat_failed', __('Could not retrieve file from archive.'));
+                       return new WP_Error( 'stat_failed_ziparchive', __( 'Could not retrieve file from archive.' ) );
 
                if ( '__MACOSX/' === substr($info['name'], 0, 9) ) // Skip the OS X-created __MACOSX directory
                        continue;
 
 
                if ( '__MACOSX/' === substr($info['name'], 0, 9) ) // Skip the OS X-created __MACOSX directory
                        continue;
 
+               $uncompressed_size += $info['size'];
+
                if ( '/' == substr($info['name'], -1) ) // directory
                        $needed_dirs[] = $to . untrailingslashit($info['name']);
                else
                        $needed_dirs[] = $to . untrailingslashit(dirname($info['name']));
        }
 
                if ( '/' == substr($info['name'], -1) ) // directory
                        $needed_dirs[] = $to . untrailingslashit($info['name']);
                else
                        $needed_dirs[] = $to . untrailingslashit(dirname($info['name']));
        }
 
+       /*
+        * disk_free_space() could return false. Assume that any falsey value is an error.
+        * A disk that has zero free bytes has bigger problems.
+        * Require we have enough space to unzip the file and copy its contents, with a 10% buffer.
+        */
+       if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
+               $available_space = @disk_free_space( WP_CONTENT_DIR );
+               if ( $available_space && ( $uncompressed_size * 2.1 ) > $available_space )
+                       return new WP_Error( 'disk_full_unzip_file', __( 'Could not copy files. You may have run out of disk space.' ), compact( 'uncompressed_size', 'available_space' ) );
+       }
+
        $needed_dirs = array_unique($needed_dirs);
        foreach ( $needed_dirs as $dir ) {
                // Check the parent folders of the folders all exist within the creation array.
        $needed_dirs = array_unique($needed_dirs);
        foreach ( $needed_dirs as $dir ) {
                // Check the parent folders of the folders all exist within the creation array.
@@ -623,13 +647,13 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) {
        // Create those directories if need be:
        foreach ( $needed_dirs as $_dir ) {
                if ( ! $wp_filesystem->mkdir($_dir, FS_CHMOD_DIR) && ! $wp_filesystem->is_dir($_dir) ) // Only check to see if the Dir exists upon creation failure. Less I/O this way.
        // Create those directories if need be:
        foreach ( $needed_dirs as $_dir ) {
                if ( ! $wp_filesystem->mkdir($_dir, FS_CHMOD_DIR) && ! $wp_filesystem->is_dir($_dir) ) // Only check to see if the Dir exists upon creation failure. Less I/O this way.
-                       return new WP_Error('mkdir_failed', __('Could not create directory.'), $_dir);
+                       return new WP_Error( 'mkdir_failed_ziparchive', __( 'Could not create directory.' ), substr( $_dir, strlen( $to ) ) );
        }
        unset($needed_dirs);
 
        for ( $i = 0; $i < $z->numFiles; $i++ ) {
                if ( ! $info = $z->statIndex($i) )
        }
        unset($needed_dirs);
 
        for ( $i = 0; $i < $z->numFiles; $i++ ) {
                if ( ! $info = $z->statIndex($i) )
-                       return new WP_Error('stat_failed', __('Could not retrieve file from archive.'));
+                       return new WP_Error( 'stat_failed_ziparchive', __( 'Could not retrieve file from archive.' ) );
 
                if ( '/' == substr($info['name'], -1) ) // directory
                        continue;
 
                if ( '/' == substr($info['name'], -1) ) // directory
                        continue;
@@ -639,10 +663,10 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) {
 
                $contents = $z->getFromIndex($i);
                if ( false === $contents )
 
                $contents = $z->getFromIndex($i);
                if ( false === $contents )
-                       return new WP_Error('extract_failed', __('Could not extract file from archive.'), $info['name']);
+                       return new WP_Error( 'extract_failed_ziparchive', __( 'Could not extract file from archive.' ), $info['name'] );
 
                if ( ! $wp_filesystem->put_contents( $to . $info['name'], $contents, FS_CHMOD_FILE) )
 
                if ( ! $wp_filesystem->put_contents( $to . $info['name'], $contents, FS_CHMOD_FILE) )
-                       return new WP_Error('copy_failed', __('Could not copy file.'), $to . $info['name']);
+                       return new WP_Error( 'copy_failed_ziparchive', __( 'Could not copy file.' ), $info['name'] );
        }
 
        $z->close();
        }
 
        $z->close();
@@ -666,11 +690,7 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) {
 function _unzip_file_pclzip($file, $to, $needed_dirs = array()) {
        global $wp_filesystem;
 
 function _unzip_file_pclzip($file, $to, $needed_dirs = array()) {
        global $wp_filesystem;
 
-       // See #15789 - PclZip uses string functions on binary data, If it's overloaded with Multibyte safe functions the results are incorrect.
-       if ( ini_get('mbstring.func_overload') && function_exists('mb_internal_encoding') ) {
-               $previous_encoding = mb_internal_encoding();
-               mb_internal_encoding('ISO-8859-1');
-       }
+       mbstring_binary_safe_encoding();
 
        require_once(ABSPATH . 'wp-admin/includes/class-pclzip.php');
 
 
        require_once(ABSPATH . 'wp-admin/includes/class-pclzip.php');
 
@@ -678,24 +698,38 @@ function _unzip_file_pclzip($file, $to, $needed_dirs = array()) {
 
        $archive_files = $archive->extract(PCLZIP_OPT_EXTRACT_AS_STRING);
 
 
        $archive_files = $archive->extract(PCLZIP_OPT_EXTRACT_AS_STRING);
 
-       if ( isset($previous_encoding) )
-               mb_internal_encoding($previous_encoding);
+       reset_mbstring_encoding();
 
        // Is the archive valid?
        if ( !is_array($archive_files) )
                return new WP_Error('incompatible_archive', __('Incompatible Archive.'), $archive->errorInfo(true));
 
        if ( 0 == count($archive_files) )
 
        // Is the archive valid?
        if ( !is_array($archive_files) )
                return new WP_Error('incompatible_archive', __('Incompatible Archive.'), $archive->errorInfo(true));
 
        if ( 0 == count($archive_files) )
-               return new WP_Error('empty_archive', __('Empty archive.'));
+               return new WP_Error( 'empty_archive_pclzip', __( 'Empty archive.' ) );
+
+       $uncompressed_size = 0;
 
        // Determine any children directories needed (From within the archive)
        foreach ( $archive_files as $file ) {
                if ( '__MACOSX/' === substr($file['filename'], 0, 9) ) // Skip the OS X-created __MACOSX directory
                        continue;
 
 
        // Determine any children directories needed (From within the archive)
        foreach ( $archive_files as $file ) {
                if ( '__MACOSX/' === substr($file['filename'], 0, 9) ) // Skip the OS X-created __MACOSX directory
                        continue;
 
+               $uncompressed_size += $file['size'];
+
                $needed_dirs[] = $to . untrailingslashit( $file['folder'] ? $file['filename'] : dirname($file['filename']) );
        }
 
                $needed_dirs[] = $to . untrailingslashit( $file['folder'] ? $file['filename'] : dirname($file['filename']) );
        }
 
+       /*
+        * disk_free_space() could return false. Assume that any falsey value is an error.
+        * A disk that has zero free bytes has bigger problems.
+        * Require we have enough space to unzip the file and copy its contents, with a 10% buffer.
+        */
+       if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
+               $available_space = @disk_free_space( WP_CONTENT_DIR );
+               if ( $available_space && ( $uncompressed_size * 2.1 ) > $available_space )
+                       return new WP_Error( 'disk_full_unzip_file', __( 'Could not copy files. You may have run out of disk space.' ), compact( 'uncompressed_size', 'available_space' ) );
+       }
+
        $needed_dirs = array_unique($needed_dirs);
        foreach ( $needed_dirs as $dir ) {
                // Check the parent folders of the folders all exist within the creation array.
        $needed_dirs = array_unique($needed_dirs);
        foreach ( $needed_dirs as $dir ) {
                // Check the parent folders of the folders all exist within the creation array.
@@ -714,8 +748,9 @@ function _unzip_file_pclzip($file, $to, $needed_dirs = array()) {
 
        // Create those directories if need be:
        foreach ( $needed_dirs as $_dir ) {
 
        // Create those directories if need be:
        foreach ( $needed_dirs as $_dir ) {
-               if ( ! $wp_filesystem->mkdir($_dir, FS_CHMOD_DIR) && ! $wp_filesystem->is_dir($_dir) ) // Only check to see if the dir exists upon creation failure. Less I/O this way.
-                       return new WP_Error('mkdir_failed', __('Could not create directory.'), $_dir);
+               // Only check to see if the dir exists upon creation failure. Less I/O this way.
+               if ( ! $wp_filesystem->mkdir( $_dir, FS_CHMOD_DIR ) && ! $wp_filesystem->is_dir( $_dir ) )
+                       return new WP_Error( 'mkdir_failed_pclzip', __( 'Could not create directory.' ), substr( $_dir, strlen( $to ) ) );
        }
        unset($needed_dirs);
 
        }
        unset($needed_dirs);
 
@@ -728,7 +763,7 @@ function _unzip_file_pclzip($file, $to, $needed_dirs = array()) {
                        continue;
 
                if ( ! $wp_filesystem->put_contents( $to . $file['filename'], $file['content'], FS_CHMOD_FILE) )
                        continue;
 
                if ( ! $wp_filesystem->put_contents( $to . $file['filename'], $file['content'], FS_CHMOD_FILE) )
-                       return new WP_Error('copy_failed', __('Could not copy file.'), $to . $file['filename']);
+                       return new WP_Error( 'copy_failed_pclzip', __( 'Could not copy file.' ), $file['filename'] );
        }
        return true;
 }
        }
        return true;
 }
@@ -752,31 +787,31 @@ function copy_dir($from, $to, $skip_list = array() ) {
        $from = trailingslashit($from);
        $to = trailingslashit($to);
 
        $from = trailingslashit($from);
        $to = trailingslashit($to);
 
-       $skip_regex = '';
-       foreach ( (array)$skip_list as $key => $skip_file )
-               $skip_regex .= preg_quote($skip_file, '!') . '|';
-
-       if ( !empty($skip_regex) )
-               $skip_regex = '!(' . rtrim($skip_regex, '|') . ')$!i';
-
        foreach ( (array) $dirlist as $filename => $fileinfo ) {
        foreach ( (array) $dirlist as $filename => $fileinfo ) {
-               if ( !empty($skip_regex) )
-                       if ( preg_match($skip_regex, $from . $filename) )
-                               continue;
+               if ( in_array( $filename, $skip_list ) )
+                       continue;
 
                if ( 'f' == $fileinfo['type'] ) {
                        if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) {
                                // If copy failed, chmod file to 0644 and try again.
 
                if ( 'f' == $fileinfo['type'] ) {
                        if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) {
                                // If copy failed, chmod file to 0644 and try again.
-                               $wp_filesystem->chmod($to . $filename, 0644);
+                               $wp_filesystem->chmod( $to . $filename, FS_CHMOD_FILE );
                                if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) )
                                if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) )
-                                       return new WP_Error('copy_failed', __('Could not copy file.'), $to . $filename);
+                                       return new WP_Error( 'copy_failed_copy_dir', __( 'Could not copy file.' ), $to . $filename );
                        }
                } elseif ( 'd' == $fileinfo['type'] ) {
                        if ( !$wp_filesystem->is_dir($to . $filename) ) {
                                if ( !$wp_filesystem->mkdir($to . $filename, FS_CHMOD_DIR) )
                        }
                } elseif ( 'd' == $fileinfo['type'] ) {
                        if ( !$wp_filesystem->is_dir($to . $filename) ) {
                                if ( !$wp_filesystem->mkdir($to . $filename, FS_CHMOD_DIR) )
-                                       return new WP_Error('mkdir_failed', __('Could not create directory.'), $to . $filename);
+                                       return new WP_Error( 'mkdir_failed_copy_dir', __( 'Could not create directory.' ), $to . $filename );
                        }
                        }
-                       $result = copy_dir($from . $filename, $to . $filename, $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 . '/' ) )
+                                       $sub_skip_list[] = preg_replace( '!^' . preg_quote( $filename, '!' ) . '/!i', '', $skip_item );
+                       }
+
+                       $result = copy_dir($from . $filename, $to . $filename, $sub_skip_list);
                        if ( is_wp_error($result) )
                                return $result;
                }
                        if ( is_wp_error($result) )
                                return $result;
                }
@@ -831,9 +866,9 @@ function WP_Filesystem( $args = false, $context = false ) {
 
        // Set the permission constants if not already set.
        if ( ! defined('FS_CHMOD_DIR') )
 
        // Set the permission constants if not already set.
        if ( ! defined('FS_CHMOD_DIR') )
-               define('FS_CHMOD_DIR', 0755 );
+               define('FS_CHMOD_DIR', ( fileperms( ABSPATH ) & 0777 | 0755 ) );
        if ( ! defined('FS_CHMOD_FILE') )
        if ( ! defined('FS_CHMOD_FILE') )
-               define('FS_CHMOD_FILE', 0644 );
+               define('FS_CHMOD_FILE', ( fileperms( ABSPATH . 'index.php' ) & 0777 | 0644 ) );
 
        return true;
 }
 
        return true;
 }
@@ -860,6 +895,11 @@ function get_filesystem_method($args = array(), $context = false) {
        if ( ! $method && function_exists('getmyuid') && function_exists('fileowner') ){
                if ( !$context )
                        $context = WP_CONTENT_DIR;
        if ( ! $method && function_exists('getmyuid') && function_exists('fileowner') ){
                if ( !$context )
                        $context = WP_CONTENT_DIR;
+
+               // If the directory doesn't exist (wp-content/languages) then use the parent directory as we'll create it.
+               if ( WP_LANG_DIR == $context && ! is_dir( $context ) )
+                       $context = dirname( $context );
+
                $context = trailingslashit($context);
                $temp_file_name = $context . 'temp-write-test-' . time();
                $temp_handle = @fopen($temp_file_name, 'w');
                $context = trailingslashit($context);
                $temp_file_name = $context . 'temp-write-test-' . time();
                $temp_handle = @fopen($temp_file_name, 'w');
@@ -990,9 +1030,8 @@ jQuery(function($){
 -->
 </script>
 <form action="<?php echo esc_url( $form_post ) ?>" method="post">
 -->
 </script>
 <form action="<?php echo esc_url( $form_post ) ?>" method="post">
-<div class="wrap">
-<?php screen_icon(); ?>
-<h2><?php _e('Connection Information') ?></h2>
+<div>
+<h3><?php _e('Connection Information') ?></h3>
 <p><?php
        $label_user = __('Username');
        $label_pass = __('Password');
 <p><?php
        $label_user = __('Username');
        $label_pass = __('Password');
@@ -1025,7 +1064,8 @@ jQuery(function($){
 
 <tr valign="top">
 <th scope="row"><label for="password"><?php echo $label_pass; ?></label></th>
 
 <tr valign="top">
 <th scope="row"><label for="password"><?php echo $label_pass; ?></label></th>
-<td><input name="password" type="password" id="password" value="<?php if ( defined('FTP_PASS') ) echo '*****'; ?>"<?php disabled( defined('FTP_PASS') ); ?> size="40" /></td>
+<td><div><input name="password" type="password" id="password" value="<?php if ( defined('FTP_PASS') ) echo '*****'; ?>"<?php disabled( defined('FTP_PASS') ); ?> size="40" /></div>
+<div><em><?php if ( ! defined('FTP_PASS') ) _e( 'This password will not be stored on the server.' ); ?></em></div></td>
 </tr>
 
 <?php if ( isset($types['ssh']) ) : ?>
 </tr>
 
 <?php if ( isset($types['ssh']) ) : ?>
index 9d717d7ea4ac0b74698ac3c92ac12e67c6342cd6..40cea96eb0fad6128cdcc31f1ab596eaa700fd58 100644 (file)
@@ -467,8 +467,8 @@ function stream_preview_image( $post_id ) {
        $h = $size['height'];
 
        $ratio = _image_get_preview_ratio( $w, $h );
        $h = $size['height'];
 
        $ratio = _image_get_preview_ratio( $w, $h );
-       $w2 = $w * $ratio;
-       $h2 = $h * $ratio;
+       $w2 = max ( 1, $w * $ratio );
+       $h2 = max ( 1, $h * $ratio );
 
        if ( is_wp_error( $img->resize( $w2, $h2 ) ) )
                return false;
 
        if ( is_wp_error( $img->resize( $w2, $h2 ) ) )
                return false;
@@ -499,6 +499,7 @@ function wp_restore_image($post_id) {
                        if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) {
                                // delete only if it's edited image
                                if ( preg_match('/-e[0-9]{13}\./', $parts['basename']) ) {
                        if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) {
                                // 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 */
                                        $delpath = apply_filters('wp_delete_file', $file);
                                        @unlink($delpath);
                                }
                                        $delpath = apply_filters('wp_delete_file', $file);
                                        @unlink($delpath);
                                }
@@ -522,6 +523,7 @@ function wp_restore_image($post_id) {
                                if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) {
                                        // delete only if it's edited image
                                        if ( preg_match('/-e[0-9]{13}-/', $meta['sizes'][$default_size]['file']) ) {
                                if ( defined('IMAGE_EDIT_OVERWRITE') && IMAGE_EDIT_OVERWRITE ) {
                                        // 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']) );
                                                @unlink($delpath);
                                        }
                                                $delpath = apply_filters( 'wp_delete_file', path_join($parts['dirname'], $meta['sizes'][$default_size]['file']) );
                                                @unlink($delpath);
                                        }
@@ -722,6 +724,7 @@ function wp_save_image( $post_id ) {
        }
 
        if ( $delete ) {
        }
 
        if ( $delete ) {
+               /** This filter is documented in wp-admin/custom-header.php */
                $delpath = apply_filters('wp_delete_file', $new_path);
                @unlink( $delpath );
        }
                $delpath = apply_filters('wp_delete_file', $new_path);
                @unlink( $delpath );
        }
index 69f7ebe6a31a2ca84d403e62c54787ea54e392f2..590a54f527df5489065fb1275870d3b85bfbf2a0 100644 (file)
@@ -108,10 +108,10 @@ function wp_get_popular_importers() {
        $popular_importers = get_site_transient( 'popular_importers_' . $locale );
 
        if ( ! $popular_importers ) {
        $popular_importers = get_site_transient( 'popular_importers_' . $locale );
 
        if ( ! $popular_importers ) {
-               $url = add_query_arg( 'locale', get_locale(), 'http://api.wordpress.org/core/importers/1.0/' );
+               $url = add_query_arg( 'locale', get_locale(), 'http://api.wordpress.org/core/importers/1.1/' );
                $options = array( 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url() );
                $response = wp_remote_get( $url, $options );
                $options = array( 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url() );
                $response = wp_remote_get( $url, $options );
-               $popular_importers = maybe_unserialize( wp_remote_retrieve_body( $response ) );
+               $popular_importers = json_decode( wp_remote_retrieve_body( $response ), true );
 
                if ( is_array( $popular_importers ) )
                        set_site_transient( 'popular_importers_' . $locale, $popular_importers, 2 * DAY_IN_SECONDS );
 
                if ( is_array( $popular_importers ) )
                        set_site_transient( 'popular_importers_' . $locale, $popular_importers, 2 * DAY_IN_SECONDS );
index 071df0dcc56038631e85d175499687155d37c34a..2403ec859a2d55e087b225fbf4e554677f4baea2 100644 (file)
@@ -95,7 +95,7 @@ class _WP_List_Table_Compat extends WP_List_Table {
 
                if ( !empty( $columns ) ) {
                        $this->_columns = $columns;
 
                if ( !empty( $columns ) ) {
                        $this->_columns = $columns;
-                       add_filter( 'manage_' . $screen->id . '_columns', array( &$this, 'get_columns' ), 0 );
+                       add_filter( 'manage_' . $screen->id . '_columns', array( $this, 'get_columns' ), 0 );
                }
        }
 
                }
        }
 
index b8cc09817948f908aba17158487aef8d470166d3..e2f78d63f4bfeace2313ad417e80feecc382defd 100644 (file)
@@ -914,18 +914,19 @@ function media_post_single_attachment_fields_to_edit( $form_fields, $post ) {
  * @param array $attachment {@internal $attachment not used}}
  * @return array
  */
  * @param array $attachment {@internal $attachment not used}}
  * @return array
  */
-function image_attachment_fields_to_save($post, $attachment) {
-       if ( substr($post['post_mime_type'], 0, 5) == 'image' ) {
-               if ( strlen(trim($post['post_title'])) == 0 ) {
-                       $post['post_title'] = preg_replace('/\.\w+$/', '', basename($post['guid']));
-                       $post['errors']['post_title']['errors'][] = __('Empty Title filled from filename.');
+function image_attachment_fields_to_save( $post, $attachment ) {
+       if ( substr( $post['post_mime_type'], 0, 5 ) == 'image' ) {
+               if ( strlen( trim( $post['post_title'] ) ) == 0 ) {
+                       $attachment_url = ( isset( $post['attachment_url'] ) ) ? $post['attachment_url'] : $post['guid'];
+                       $post['post_title'] = preg_replace( '/\.\w+$/', '', wp_basename( $attachment_url ) );
+                       $post['errors']['post_title']['errors'][] = __( 'Empty Title filled from filename.' );
                }
        }
 
        return $post;
 }
 
                }
        }
 
        return $post;
 }
 
-add_filter('attachment_fields_to_save', 'image_attachment_fields_to_save', 10, 2);
+add_filter( 'attachment_fields_to_save', 'image_attachment_fields_to_save', 10, 2 );
 
 /**
  * {@internal Missing Short Description}}
 
 /**
  * {@internal Missing Short Description}}
@@ -1499,7 +1500,7 @@ function media_upload_header() {
  * @param unknown_type $errors
  */
 function media_upload_form( $errors = null ) {
  * @param unknown_type $errors
  */
 function media_upload_form( $errors = null ) {
-       global $type, $tab, $pagenow, $is_IE, $is_opera;
+       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.'), 'http://wordpress.org/mobile/' ) . '</p>';
 
        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.'), 'http://wordpress.org/mobile/' ) . '</p>';
@@ -2077,17 +2078,18 @@ $arc_query = "SELECT DISTINCT YEAR(post_date) AS yyear, MONTH(post_date) AS mmon
 $arc_result = $wpdb->get_results( $arc_query );
 
 $month_count = count($arc_result);
 $arc_result = $wpdb->get_results( $arc_query );
 
 $month_count = count($arc_result);
+$selected_month = isset( $_GET['m'] ) ? $_GET['m'] : 0;
 
 if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) { ?>
 <select name='m'>
 
 if ( $month_count && !( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) { ?>
 <select name='m'>
-<option<?php selected( @$_GET['m'], 0 ); ?> value='0'><?php _e('Show all dates'); ?></option>
+<option<?php selected( $selected_month, 0 ); ?> value='0'><?php _e('Show all dates'); ?></option>
 <?php
 foreach ($arc_result as $arc_row) {
        if ( $arc_row->yyear == 0 )
                continue;
        $arc_row->mmonth = zeroise( $arc_row->mmonth, 2 );
 
 <?php
 foreach ($arc_result as $arc_row) {
        if ( $arc_row->yyear == 0 )
                continue;
        $arc_row->mmonth = zeroise( $arc_row->mmonth, 2 );
 
-       if ( isset($_GET['m']) && ( $arc_row->yyear . $arc_row->mmonth == $_GET['m'] ) )
+       if ( $arc_row->yyear . $arc_row->mmonth == $selected_month )
                $default = ' selected="selected"';
        else
                $default = '';
                $default = ' selected="selected"';
        else
                $default = '';
@@ -2432,14 +2434,14 @@ function attachment_submitbox_metadata() {
 
        $att_url = wp_get_attachment_url( $post->ID );
 ?>
 
        $att_url = wp_get_attachment_url( $post->ID );
 ?>
-       <div class="misc-pub-section">
+       <div class="misc-pub-section misc-pub-attachment">
                        <label for="attachment_url"><?php _e( 'File URL:' ); ?></label>
                        <input type="text" class="widefat urlfield" readonly="readonly" name="attachment_url" value="<?php echo esc_attr($att_url); ?>" />
        </div>
                        <label for="attachment_url"><?php _e( 'File URL:' ); ?></label>
                        <input type="text" class="widefat urlfield" readonly="readonly" name="attachment_url" value="<?php echo esc_attr($att_url); ?>" />
        </div>
-       <div class="misc-pub-section">
+       <div class="misc-pub-section misc-pub-filename">
                <?php _e( 'File name:' ); ?> <strong><?php echo $filename; ?></strong>
        </div>
                <?php _e( 'File name:' ); ?> <strong><?php echo $filename; ?></strong>
        </div>
-       <div class="misc-pub-section">
+       <div class="misc-pub-section misc-pub-filetype">
                <?php _e( 'File type:' ); ?> <strong><?php
                        if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) )
                                echo esc_html( strtoupper( $matches[1] ) );
                <?php _e( 'File type:' ); ?> <strong><?php
                        if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) )
                                echo esc_html( strtoupper( $matches[1] ) );
@@ -2448,19 +2450,51 @@ function attachment_submitbox_metadata() {
                ?></strong>
        </div>
 
                ?></strong>
        </div>
 
-<?php
-       if ( preg_match( '#^audio|video#', $post->post_mime_type ) ):
+       <?php
+               $file  = get_attached_file( $post->ID );
+               $file_size = false;
+
+               if ( isset( $meta['filesize'] ) )
+                       $file_size = $meta['filesize'];
+               elseif ( file_exists( $file ) )
+                       $file_size = filesize( $file );
+
+               if ( ! empty( $file_size ) ) : ?>
+                       <div class="misc-pub-section misc-pub-filesize">
+                               <?php _e( 'File size:' ); ?> <strong><?php echo size_format( $file_size ); ?></strong>
+                       </div>
+                       <?php
+               endif;
 
 
-               $fields = array(
-                       'mime_type' => __( 'Mime-type:' ),
-                       'year' => __( 'Year:' ),
-                       'genre' => __( 'Genre:' ),
+       if ( preg_match( '#^(audio|video)#', $post->post_mime_type ) ):
+
+               /**
+                * Audio and video metadata fields to be shown in the publish meta box.
+                *
+                * The key for each item in the array should correspond to an attachment
+                * metadata key, and the value should be the desired label.
+                *
+                * @since  3.7.0
+                *
+                * @param array $fields {
+                *     An array of the attachment metadata keys and labels.
+                *
+                *     @type string 'mime_type'        Label to be shown before the field mime_type.
+                *     @type string 'year'             Label to be shown before the field year.
+                *     @type string 'genre'            Label to be shown before the field genre.
+                *     @type string 'length_formatted' Label to be shown before the field length_formatted.
+                * }
+                */
+               $fields = apply_filters( 'media_submitbox_misc_sections', array(
+                       'mime_type'        => __( 'Mime-type:' ),
+                       'year'             => __( 'Year:' ),
+                       'genre'            => __( 'Genre:' ),
                        'length_formatted' => __( 'Length:' ),
                        'length_formatted' => __( 'Length:' ),
-               );
+               ) );
 
                foreach ( $fields as $key => $label ):
                        if ( ! empty( $meta[$key] ) ) : ?>
 
                foreach ( $fields as $key => $label ):
                        if ( ! empty( $meta[$key] ) ) : ?>
-               <div class="misc-pub-section">
+               <div class="misc-pub-section misc-pub-mime-meta misc-pub-<?php echo sanitize_html_class( $key ); ?>">
                        <?php echo $label ?> <strong><?php echo esc_html( $meta[$key] ); ?></strong>
                </div>
        <?php
                        <?php echo $label ?> <strong><?php echo esc_html( $meta[$key] ); ?></strong>
                </div>
        <?php
@@ -2468,7 +2502,7 @@ function attachment_submitbox_metadata() {
                endforeach;
 
                if ( ! empty( $meta['bitrate'] ) ) : ?>
                endforeach;
 
                if ( ! empty( $meta['bitrate'] ) ) : ?>
-               <div class="misc-pub-section">
+               <div class="misc-pub-section misc-pub-bitrate">
                        <?php _e( 'Bitrate:' ); ?> <strong><?php
                                echo round( $meta['bitrate'] / 1000 ), 'kb/s';
 
                        <?php _e( 'Bitrate:' ); ?> <strong><?php
                                echo round( $meta['bitrate'] / 1000 ), 'kb/s';
 
@@ -2480,14 +2514,29 @@ function attachment_submitbox_metadata() {
        <?php
                endif;
 
        <?php
                endif;
 
-               $audio_fields = array(
+               /**
+                * Audio attachment metadata fields to be shown in the publish meta box.
+                *
+                * The key for each item in the array should correspond to an attachment
+                * metadata key, and the value should be the desired label.
+                *
+                * @since  3.7.0
+                *
+                * @param array $fields {
+                *     An array of the attachment metadata keys and labels.
+                *
+                *     @type string 'dataformat' Label to be shown before the field dataformat.
+                *     @type string 'codec'      Label to be shown before the field codec.
+                * }
+                */
+               $audio_fields = apply_filters( 'audio_submitbox_misc_sections', array(
                        'dataformat' => __( 'Audio Format:' ),
                        'dataformat' => __( 'Audio Format:' ),
-                       'codec' => __( 'Audio Codec:' )
-               );
+                       'codec'      => __( 'Audio Codec:' )
+               ) );
 
                foreach ( $audio_fields as $key => $label ):
                        if ( ! empty( $meta['audio'][$key] ) ) : ?>
 
                foreach ( $audio_fields as $key => $label ):
                        if ( ! empty( $meta['audio'][$key] ) ) : ?>
-               <div class="misc-pub-section">
+               <div class="misc-pub-section misc-pub-audio misc-pub-<?php echo sanitize_html_class( $key ); ?>">
                        <?php echo $label; ?> <strong><?php echo esc_html( $meta['audio'][$key] ); ?></strong>
                </div>
        <?php
                        <?php echo $label; ?> <strong><?php echo esc_html( $meta['audio'][$key] ); ?></strong>
                </div>
        <?php
@@ -2497,7 +2546,7 @@ function attachment_submitbox_metadata() {
        endif;
 
        if ( $media_dims ) : ?>
        endif;
 
        if ( $media_dims ) : ?>
-       <div class="misc-pub-section">
+       <div class="misc-pub-section misc-pub-dimensions">
                <?php _e( 'Dimensions:' ); ?> <strong><?php echo $media_dims; ?></strong>
        </div>
 <?php
                <?php _e( 'Dimensions:' ); ?> <strong><?php echo $media_dims; ?></strong>
        </div>
 <?php
index cefa5a96ba7afd3c607e96cc878eed8105dd2b9f..357fec8f41dc2f2d50b908be91a9e39690458e01 100644 (file)
@@ -55,7 +55,7 @@ if ( 'publish' == $post->post_status ) {
 
 <div id="misc-publishing-actions">
 
 
 <div id="misc-publishing-actions">
 
-<div class="misc-pub-section"><label for="post_status"><?php _e('Status:') ?></label>
+<div class="misc-pub-section misc-pub-post-status"><label for="post_status"><?php _e('Status:') ?></label>
 <span id="post-status-display">
 <?php
 switch ( $post->post_status ) {
 <span id="post-status-display">
 <?php
 switch ( $post->post_status ) {
@@ -105,7 +105,7 @@ switch ( $post->post_status ) {
 <?php } ?>
 </div><!-- .misc-pub-section -->
 
 <?php } ?>
 </div><!-- .misc-pub-section -->
 
-<div class="misc-pub-section" id="visibility">
+<div class="misc-pub-section misc-pub-visibility" id="visibility">
 <?php _e('Visibility:'); ?> <span id="post-visibility-display"><?php
 
 if ( 'private' == $post->post_status ) {
 <?php _e('Visibility:'); ?> <span id="post-visibility-display"><?php
 
 if ( 'private' == $post->post_status ) {
@@ -138,7 +138,7 @@ echo esc_html( $visibility_trans ); ?></span>
 <span id="sticky-span"><input id="sticky" name="sticky" type="checkbox" value="sticky" <?php checked( is_sticky( $post->ID ) ); ?> /> <label for="sticky" class="selectit"><?php _e( 'Stick this post to the front page' ); ?></label><br /></span>
 <?php endif; ?>
 <input type="radio" name="visibility" id="visibility-radio-password" value="password" <?php checked( $visibility, 'password' ); ?> /> <label for="visibility-radio-password" class="selectit"><?php _e('Password protected'); ?></label><br />
 <span id="sticky-span"><input id="sticky" name="sticky" type="checkbox" value="sticky" <?php checked( is_sticky( $post->ID ) ); ?> /> <label for="sticky" class="selectit"><?php _e( 'Stick this post to the front page' ); ?></label><br /></span>
 <?php endif; ?>
 <input type="radio" name="visibility" id="visibility-radio-password" value="password" <?php checked( $visibility, 'password' ); ?> /> <label for="visibility-radio-password" class="selectit"><?php _e('Password protected'); ?></label><br />
-<span id="password-span"><label for="post_password"><?php _e('Password:'); ?></label> <input type="text" name="post_password" id="post_password" value="<?php echo esc_attr($post->post_password); ?>" /><br /></span>
+<span id="password-span"><label for="post_password"><?php _e('Password:'); ?></label> <input type="text" name="post_password" id="post_password" value="<?php echo esc_attr($post->post_password); ?>"  maxlength="20" /><br /></span>
 <input type="radio" name="visibility" id="visibility-radio-private" value="private" <?php checked( $visibility, 'private' ); ?> /> <label for="visibility-radio-private" class="selectit"><?php _e('Private'); ?></label><br />
 
 <p>
 <input type="radio" name="visibility" id="visibility-radio-private" value="private" <?php checked( $visibility, 'private' ); ?> /> <label for="visibility-radio-private" class="selectit"><?php _e('Private'); ?></label><br />
 
 <p>
@@ -174,7 +174,7 @@ if ( 0 != $post->ID ) {
 if ( ! empty( $args['args']['revisions_count'] ) ) :
        $revisions_to_keep = wp_revisions_to_keep( $post );
 ?>
 if ( ! empty( $args['args']['revisions_count'] ) ) :
        $revisions_to_keep = wp_revisions_to_keep( $post );
 ?>
-<div class="misc-pub-section num-revisions">
+<div class="misc-pub-section misc-pub-revisions">
 <?php
        if ( $revisions_to_keep > 0 && $revisions_to_keep <= $args['args']['revisions_count'] ) {
                echo '<span title="' . esc_attr( sprintf( __( 'Your site is configured to keep only the last %s revisions.' ),
 <?php
        if ( $revisions_to_keep > 0 && $revisions_to_keep <= $args['args']['revisions_count'] ) {
                echo '<span title="' . esc_attr( sprintf( __( 'Your site is configured to keep only the last %s revisions.' ),
@@ -190,7 +190,7 @@ if ( ! empty( $args['args']['revisions_count'] ) ) :
 <?php endif;
 
 if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
 <?php endif;
 
 if ( $can_publish ) : // Contributors don't get to choose the date of publish ?>
-<div class="misc-pub-section curtime">
+<div class="misc-pub-section curtime misc-pub-curtime">
        <span id="timestamp">
        <?php printf($stamp, $date); ?></span>
        <a href="#edit_timestamp" class="edit-timestamp hide-if-no-js"><?php _e('Edit') ?></a>
        <span id="timestamp">
        <?php printf($stamp, $date); ?></span>
        <a href="#edit_timestamp" class="edit-timestamp hide-if-no-js"><?php _e('Edit') ?></a>
@@ -278,7 +278,7 @@ function attachment_submit_meta_box( $post ) {
        $stamp = __('Uploaded on: <b>%1$s</b>');
        $date = date_i18n( $datef, strtotime( $post->post_date ) );
        ?>
        $stamp = __('Uploaded on: <b>%1$s</b>');
        $date = date_i18n( $datef, strtotime( $post->post_date ) );
        ?>
-       <div class="misc-pub-section curtime">
+       <div class="misc-pub-section curtime misc-pub-curtime">
                <span id="timestamp"><?php printf($stamp, $date); ?></span>
        </div><!-- .misc-pub-section -->
 
                <span id="timestamp"><?php printf($stamp, $date); ?></span>
        </div><!-- .misc-pub-section -->
 
@@ -506,7 +506,7 @@ foreach ( $metadata as $key => $value ) {
                unset( $metadata[ $key ] );
 }
 list_meta( $metadata );
                unset( $metadata[ $key ] );
 }
 list_meta( $metadata );
-meta_form(); ?>
+meta_form( $post ); ?>
 </div>
 <p><?php _e('Custom fields can be used to add extra metadata to a post that you can <a href="http://codex.wordpress.org/Using_Custom_Fields" target="_blank">use in your theme</a>.'); ?></p>
 <?php
 </div>
 <p><?php _e('Custom fields can be used to add extra metadata to a post that you can <a href="http://codex.wordpress.org/Using_Custom_Fields" target="_blank">use in your theme</a>.'); ?></p>
 <?php
@@ -702,7 +702,7 @@ function link_submit_meta_box($link) {
 </div>
 
 <div id="misc-publishing-actions">
 </div>
 
 <div id="misc-publishing-actions">
-<div class="misc-pub-section">
+<div class="misc-pub-section misc-pub-private">
        <label for="link_private" class="selectit"><input id="link_private" name="link_visible" type="checkbox" value="N" <?php checked($link->link_visible, 'N'); ?> /> <?php _e('Keep this link private') ?></label>
 </div>
 </div>
        <label for="link_private" class="selectit"><input id="link_private" name="link_visible" type="checkbox" value="N" <?php checked($link->link_visible, 'N'); ?> /> <?php _e('Keep this link private') ?></label>
 </div>
 </div>
@@ -962,11 +962,11 @@ function link_advanced_meta_box($link) {
 <table class="links-table" cellpadding="0">
        <tr>
                <th scope="row"><label for="link_image"><?php _e('Image Address') ?></label></th>
 <table class="links-table" cellpadding="0">
        <tr>
                <th scope="row"><label for="link_image"><?php _e('Image Address') ?></label></th>
-               <td><input type="text" name="link_image" class="code" id="link_image" value="<?php echo ( isset( $link->link_image ) ? esc_attr($link->link_image) : ''); ?>" /></td>
+               <td><input type="text" name="link_image" class="code" id="link_image" maxlength="255" value="<?php echo ( isset( $link->link_image ) ? esc_attr($link->link_image) : ''); ?>" /></td>
        </tr>
        <tr>
                <th scope="row"><label for="rss_uri"><?php _e('RSS Address') ?></label></th>
        </tr>
        <tr>
                <th scope="row"><label for="rss_uri"><?php _e('RSS Address') ?></label></th>
-               <td><input name="link_rss" class="code" type="text" id="rss_uri" value="<?php echo ( isset( $link->link_rss ) ? esc_attr($link->link_rss) : ''); ?>" /></td>
+               <td><input name="link_rss" class="code" type="text" id="rss_uri" maxlength="255" value="<?php echo ( isset( $link->link_rss ) ? esc_attr($link->link_rss) : ''); ?>" /></td>
        </tr>
        <tr>
                <th scope="row"><label for="link_notes"><?php _e('Notes') ?></label></th>
        </tr>
        <tr>
                <th scope="row"><label for="link_notes"><?php _e('Notes') ?></label></th>
index 5b609e45ba1f39dbedd82a37ae3a83ac545448f1..5a3b9706c78dfa08fa52db613155255321bd5583 100644 (file)
@@ -7,17 +7,50 @@
  */
 
 /**
  */
 
 /**
- * {@internal Missing Short Description}}
+ * Returns whether the server is running Apache with the mod_rewrite module loaded.
  *
  * @since 2.0.0
  *
  *
  * @since 2.0.0
  *
- * @return unknown
+ * @return bool
  */
 function got_mod_rewrite() {
        $got_rewrite = apache_mod_loaded('mod_rewrite', true);
  */
 function got_mod_rewrite() {
        $got_rewrite = apache_mod_loaded('mod_rewrite', true);
+
+       /**
+        * Filter whether Apache and mod_rewrite are present.
+        *
+        * 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.
+        *
+        * @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);
 }
 
        return apply_filters('got_rewrite', $got_rewrite);
 }
 
+/**
+ * Returns whether the server supports URL rewriting.
+ *
+ * Detects Apache's mod_rewrite, IIS 7.0+ permalink support, and nginx.
+ *
+ * @since 3.7.0
+ *
+ * @return bool Whether the server supports URL rewriting.
+ */
+function got_url_rewrite() {
+       $got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || iis7_supports_permalinks() );
+
+       /**
+        * 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 );
+}
+
 /**
  * {@internal Missing Short Description}}
  *
 /**
  * {@internal Missing Short Description}}
  *
@@ -263,7 +296,7 @@ function wp_reset_vars( $vars ) {
  */
 function show_message($message) {
        if ( is_wp_error($message) ){
  */
 function show_message($message) {
        if ( is_wp_error($message) ){
-               if ( $message->get_error_data() )
+               if ( $message->get_error_data() && is_string( $message->get_error_data() ) )
                        $message = $message->get_error_message() . ': ' . $message->get_error_data();
                else
                        $message = $message->get_error_message();
                        $message = $message->get_error_message() . ': ' . $message->get_error_data();
                else
                        $message = $message->get_error_message();
index bba4adbe267bdd0defb3b7c34c644086ae9fb48f..7c3f4bba59d6ef9b77a447925389af0bcda36b69 100644 (file)
@@ -61,7 +61,14 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
        }
 
        $blog = get_blog_details( $blog_id );
        }
 
        $blog = get_blog_details( $blog_id );
-
+       /**
+        * Fires before a blog is deleted.
+        *
+        * @since MU
+        *
+        * @param int  $blog_id The blog ID.
+        * @param bool $drop    True if blog's table should be dropped. Default is false.
+        */
        do_action( 'delete_blog', $blog_id, $drop );
 
        $users = get_users( array( 'blog_id' => $blog_id, 'fields' => 'ids' ) );
        do_action( 'delete_blog', $blog_id, $drop );
 
        $users = get_users( array( 'blog_id' => $blog_id, 'fields' => 'ids' ) );
@@ -80,7 +87,16 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
                $drop = false;
 
        if ( $drop ) {
                $drop = false;
 
        if ( $drop ) {
-               $drop_tables = apply_filters( 'wpmu_drop_tables', $wpdb->tables( 'blog' ), $blog_id );
+               $tables = $wpdb->tables( 'blog' );
+               /**
+                * Filter the tables to drop when the blog is deleted.
+                *
+                * @since MU
+                *
+                * @param array $tables  The blog tables to be dropped.
+                * @param int   $blog_id The ID of the blog to drop tables for.
+                */
+               $drop_tables = apply_filters( 'wpmu_drop_tables', $tables, $blog_id );
 
                foreach ( (array) $drop_tables as $table ) {
                        $wpdb->query( "DROP TABLE IF EXISTS `$table`" );
 
                foreach ( (array) $drop_tables as $table ) {
                        $wpdb->query( "DROP TABLE IF EXISTS `$table`" );
@@ -89,6 +105,14 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
                $wpdb->delete( $wpdb->blogs, array( 'blog_id' => $blog_id ) );
 
                $uploads = wp_upload_dir();
                $wpdb->delete( $wpdb->blogs, array( 'blog_id' => $blog_id ) );
 
                $uploads = wp_upload_dir();
+               /**
+                * Filter the upload base directory to delete when the blog is deleted.
+                *
+                * @since MU
+                *
+                * @param string $uploads['basedir'] Uploads path without subdirectory. @see wp_upload_dir()
+                * @param int    $blog_id            The blog ID.
+                */
                $dir = apply_filters( 'wpmu_delete_blog_upload_dir', $uploads['basedir'], $blog_id );
                $dir = rtrim( $dir, DIRECTORY_SEPARATOR );
                $top_dir = $dir;
                $dir = apply_filters( 'wpmu_delete_blog_upload_dir', $uploads['basedir'], $blog_id );
                $dir = rtrim( $dir, DIRECTORY_SEPARATOR );
                $top_dir = $dir;
@@ -137,7 +161,13 @@ function wpmu_delete_user( $id ) {
 
        if ( !$user->exists() )
                return false;
 
        if ( !$user->exists() )
                return false;
-
+       /**
+        * Fires before a user is deleted from the network.
+        *
+        * @since MU
+        *
+        * @param int $id ID of the user about to be deleted from the network.
+        */
        do_action( 'wpmu_delete_user', $id );
 
        $blogs = get_blogs_of_user( $id );
        do_action( 'wpmu_delete_user', $id );
 
        $blogs = get_blogs_of_user( $id );
@@ -172,7 +202,13 @@ function wpmu_delete_user( $id ) {
 
        clean_user_cache( $user );
 
 
        clean_user_cache( $user );
 
-       // allow for commit transaction
+       /**
+        * Fires after the user is deleted from the network.
+        *
+        * @since 2.8.0
+        *
+        * @param int $id ID of the user that was deleted from the network.
+        */
        do_action( 'deleted_user', $id );
 
        return true;
        do_action( 'deleted_user', $id );
 
        return true;
@@ -190,7 +226,7 @@ function update_option_new_admin_email( $old_value, $value ) {
        );
        update_option( 'adminhash', $new_admin_email );
 
        );
        update_option( 'adminhash', $new_admin_email );
 
-       $content = apply_filters( 'new_admin_email_content', __( "Dear user,
+       $email_text = __( 'Dear user,
 
 You recently requested to have the administration email address on
 your site changed.
 
 You recently requested to have the administration email address on
 your site changed.
@@ -204,7 +240,23 @@ This email has been sent to ###EMAIL###
 
 Regards,
 All at ###SITENAME###
 
 Regards,
 All at ###SITENAME###
-###SITEURL### "), $new_admin_email );
+###SITEURL###' );
+
+       /**
+        * Filter the email text sent when the site admin email is changed.
+        *
+        * The following strings have a special meaning and will get replaced dynamically:
+        * ###ADMIN_URL### The link to click on to confirm the email change. Required otherwise this functunalty is will break.
+        * ###EMAIL###     The new email.
+        * ###SITENAME###  The name of the site.
+        * ###SITEURL###   The URL to the site.
+        *
+        * @since MU
+        *
+        * @param string $email_text      Text in the email.
+        * @param string $new_admin_email New admin email that the current administration email was changed to.
+        */
+       $content = apply_filters( 'new_admin_email_content', $email_text, $new_admin_email );
 
        $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'options.php?adminhash='.$hash ) ), $content );
        $content = str_replace( '###EMAIL###', $value, $content );
 
        $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'options.php?adminhash='.$hash ) ), $content );
        $content = str_replace( '###EMAIL###', $value, $content );
@@ -244,7 +296,7 @@ function send_confirmation_on_profile_email() {
                                );
                update_option( $current_user->ID . '_new_email', $new_user_email );
 
                                );
                update_option( $current_user->ID . '_new_email', $new_user_email );
 
-               $content = apply_filters( 'new_user_email_content', __( "Dear user,
+               $email_text = __( 'Dear user,
 
 You recently requested to have the email address on your account changed.
 If this is correct, please click on the following link to change it:
 
 You recently requested to have the email address on your account changed.
 If this is correct, please click on the following link to change it:
@@ -257,7 +309,23 @@ This email has been sent to ###EMAIL###
 
 Regards,
 All at ###SITENAME###
 
 Regards,
 All at ###SITENAME###
-###SITEURL###" ), $new_user_email );
+###SITEURL###' );
+
+               /**
+                * Filter the email text sent when a user changes emails.
+                *
+                * The following strings have a special meaning and will get replaced dynamically:
+                * ###ADMIN_URL### The link to click on to confirm the email change. Required otherwise this functunalty is will break.
+                * ###EMAIL### The new email.
+                * ###SITENAME### The name of the site.
+                * ###SITEURL### The URL to the site.
+                *
+                * @since MU
+                *
+                * @param string $email_text     Text in the email.
+                * @param string $new_user_email New user email that the current user has changed to.
+                */
+               $content = apply_filters( 'new_user_email_content', $email_text, $new_user_email );
 
                $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'profile.php?newuseremail='.$hash ) ), $content );
                $content = str_replace( '###EMAIL###', $_POST['email'], $content);
 
                $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'profile.php?newuseremail='.$hash ) ), $content );
                $content = str_replace( '###EMAIL###', $_POST['email'], $content);
@@ -377,10 +445,25 @@ function update_user_status( $id, $pref, $value, $deprecated = null ) {
        clean_user_cache( $user );
 
        if ( $pref == 'spam' ) {
        clean_user_cache( $user );
 
        if ( $pref == 'spam' ) {
-               if ( $value == 1 )
+               if ( $value == 1 ) {
+                       /**
+                        * Fires after the user is marked as a SPAM user.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @param int $id ID of the user marked as SPAM.
+                        */
                        do_action( 'make_spam_user', $id );
                        do_action( 'make_spam_user', $id );
-               else
+               } else {
+                       /**
+                        * Fires after the user is marked as a HAM user. Opposite of SPAM.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @param int $id ID of the user marked as HAM.
+                        */
                        do_action( 'make_ham_user', $id );
                        do_action( 'make_ham_user', $id );
+               }
        }
 
        return $value;
        }
 
        return $value;
@@ -411,6 +494,15 @@ function format_code_lang( $code = '' ) {
                'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili',
                'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek',
                've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh','wa' => 'Walloon','wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu' );
                'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili',
                'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek',
                've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh','wa' => 'Walloon','wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu' );
+
+       /**
+        * Filter the language codes.
+        *
+        * @since MU
+        *
+        * @param array  $lang_codes Key/value pair of language codes where key is the short version.
+        * @param string $code       A two-letter designation of the language.
+        */
        $lang_codes = apply_filters( 'lang_codes', $lang_codes, $code );
        return strtr( $code, $lang_codes );
 }
        $lang_codes = apply_filters( 'lang_codes', $lang_codes, $code );
        return strtr( $code, $lang_codes );
 }
@@ -498,31 +590,19 @@ function mu_dropdown_languages( $lang_files = array(), $current = '' ) {
 
        // Order by name
        uksort( $output, 'strnatcasecmp' );
 
        // Order by name
        uksort( $output, 'strnatcasecmp' );
-
+       /**
+        * Filter the languages available in the dropdown.
+        *
+        * @since MU
+        *
+        * @param array $output     HTML output of the dropdown.
+        * @param array $lang_files Available language files.
+        * @param string $current   The current language code.
+        */
        $output = apply_filters( 'mu_dropdown_languages', $output, $lang_files, $current );
        echo implode( "\n\t", $output );
 }
 
        $output = apply_filters( 'mu_dropdown_languages', $output, $lang_files, $current );
        echo implode( "\n\t", $output );
 }
 
-/* Warn the admin if SECRET SALT information is missing from wp-config.php */
-function secret_salt_warning() {
-       if ( !is_super_admin() )
-               return;
-       $secret_keys = array( 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT' );
-       $out = '';
-       foreach( $secret_keys as $key ) {
-               if ( ! defined( $key ) )
-                       $out .= "define( '$key', '" . esc_html( wp_generate_password( 64, true, true ) ) . "' );<br />";
-       }
-       if ( $out != '' ) {
-               $msg  = __( 'Warning! WordPress encrypts user cookies, but you must add the following lines to <strong>wp-config.php</strong> for it to be more secure.' );
-               $msg .= '<br/>' . __( "Before the line <code>/* That's all, stop editing! Happy blogging. */</code> please add this code:" );
-               $msg .= "<br/><br/><code>$out</code>";
-
-               echo "<div class='update-nag'>$msg</div>";
-       }
-}
-add_action( 'network_admin_notices', 'secret_salt_warning' );
-
 function site_admin_notice() {
        global $wp_db_version;
        if ( !is_super_admin() )
 function site_admin_notice() {
        global $wp_db_version;
        if ( !is_super_admin() )
@@ -595,7 +675,11 @@ function choose_primary_blog() {
        <?php if ( in_array( get_site_option( 'registration' ), array( 'all', 'blog' ) ) ) : ?>
                <tr>
                        <th scope="row" colspan="2" class="th-full">
        <?php if ( in_array( get_site_option( 'registration' ), array( 'all', 'blog' ) ) ) : ?>
                <tr>
                        <th scope="row" colspan="2" class="th-full">
-                               <a href="<?php echo apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) ); ?>"><?php _e( 'Create a New Site' ); ?></a>
+                               <?php
+                               $signup_url = network_site_url( 'wp-signup.php' );
+                               /** This filter is documented in wp-login.php */
+                               ?>
+                               <a href="<?php echo apply_filters( 'wp_signup_location', $signup_url ); ?>"><?php _e( 'Create a New Site' ); ?></a>
                        </th>
                </tr>
        <?php endif; ?>
                        </th>
                </tr>
        <?php endif; ?>
@@ -604,18 +688,25 @@ function choose_primary_blog() {
 }
 
 /**
 }
 
 /**
- * Grants super admin privileges.
+ * Grants Super Admin privileges.
  *
  * @since 3.0.0
  *
  * @since 3.0.0
- * @param int $user_id
+ * @param int $user_id ID of the user to be granted Super Admin privileges.
  */
 function grant_super_admin( $user_id ) {
        global $super_admins;
 
        // If global super_admins override is defined, there is nothing to do here.
  */
 function grant_super_admin( $user_id ) {
        global $super_admins;
 
        // If global super_admins override is defined, there is nothing to do here.
-       if ( isset($super_admins) )
+       if ( isset( $super_admins ) )
                return false;
 
                return false;
 
+       /**
+        * Fires before the user is granted Super Admin privileges.
+        *
+        * @since 3.0.0
+        *
+        * @param int $user_id ID of the user that is about to be granted Super Admin privileges.
+        */
        do_action( 'grant_super_admin', $user_id );
 
        // Directly fetch site_admins instead of using get_super_admins()
        do_action( 'grant_super_admin', $user_id );
 
        // Directly fetch site_admins instead of using get_super_admins()
@@ -625,6 +716,14 @@ function grant_super_admin( $user_id ) {
        if ( $user && ! in_array( $user->user_login, $super_admins ) ) {
                $super_admins[] = $user->user_login;
                update_site_option( 'site_admins' , $super_admins );
        if ( $user && ! in_array( $user->user_login, $super_admins ) ) {
                $super_admins[] = $user->user_login;
                update_site_option( 'site_admins' , $super_admins );
+
+               /**
+                * Fires after the user is granted Super Admin privileges.
+                *
+                * @since 3.0.0
+                *
+                * @param int $user_id ID of the user that was granted Super Admin privileges.
+                */
                do_action( 'granted_super_admin', $user_id );
                return true;
        }
                do_action( 'granted_super_admin', $user_id );
                return true;
        }
@@ -632,18 +731,25 @@ function grant_super_admin( $user_id ) {
 }
 
 /**
 }
 
 /**
- * Revokes super admin privileges.
+ * Revokes Super Admin privileges.
  *
  * @since 3.0.0
  *
  * @since 3.0.0
- * @param int $user_id
+ * @param int $user_id ID of the user Super Admin privileges to be revoked from.
  */
 function revoke_super_admin( $user_id ) {
        global $super_admins;
 
        // If global super_admins override is defined, there is nothing to do here.
  */
 function revoke_super_admin( $user_id ) {
        global $super_admins;
 
        // If global super_admins override is defined, there is nothing to do here.
-       if ( isset($super_admins) )
+       if ( isset( $super_admins ) )
                return false;
 
                return false;
 
+       /**
+        * Fires before the user's Super Admin privileges are revoked.
+        *
+        * @since 3.0.0
+        *
+        * @param int $user_id ID of the user Super Admin privileges are being revoked from.
+        */
        do_action( 'revoke_super_admin', $user_id );
 
        // Directly fetch site_admins instead of using get_super_admins()
        do_action( 'revoke_super_admin', $user_id );
 
        // Directly fetch site_admins instead of using get_super_admins()
@@ -654,6 +760,14 @@ function revoke_super_admin( $user_id ) {
                if ( false !== ( $key = array_search( $user->user_login, $super_admins ) ) ) {
                        unset( $super_admins[$key] );
                        update_site_option( 'site_admins', $super_admins );
                if ( false !== ( $key = array_search( $user->user_login, $super_admins ) ) ) {
                        unset( $super_admins[$key] );
                        update_site_option( 'site_admins', $super_admins );
+
+                       /**
+                        * Fires after the user's Super Admin privileges are revoked.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @param int $user_id ID of the user Super Admin privileges were revoked from.
+                        */
                        do_action( 'revoked_super_admin', $user_id );
                        return true;
                }
                        do_action( 'revoked_super_admin', $user_id );
                        return true;
                }
@@ -667,16 +781,24 @@ function revoke_super_admin( $user_id ) {
  * By default editing of network is restricted to the Network Admin for that site_id this allows for this to be overridden
  *
  * @since 3.1.0
  * By default editing of network is restricted to the Network Admin for that site_id this allows for this to be overridden
  *
  * @since 3.1.0
- * @param integer $site_id The network/site id to check.
+ * @param integer $site_id The network/site ID to check.
  */
 function can_edit_network( $site_id ) {
        global $wpdb;
 
  */
 function can_edit_network( $site_id ) {
        global $wpdb;
 
-       if ($site_id == $wpdb->siteid )
+       if ( $site_id == $wpdb->siteid )
                $result = true;
        else
                $result = false;
 
                $result = true;
        else
                $result = false;
 
+       /**
+        * Filter whether this network can be edited from this page.
+        *
+        * @since 3.1.0
+        *
+        * @param bool $result  Whether the network can be edited from this page.
+        * @param int  $site_id The network/site ID to check.
+        */
        return apply_filters( 'can_edit_network', $result, $site_id );
 }
 
        return apply_filters( 'can_edit_network', $result, $site_id );
 }
 
index 7e9fe6ad6425c7f6aff9bdc0ffbf166928ebbc19..d3aa7bd07dcfad168f8ea35d14da134cf3f89239 100644 (file)
@@ -9,36 +9,47 @@
  */
 class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
        /**
  */
 class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
        /**
+        * Starts the list before the elements are added.
+        *
         * @see Walker_Nav_Menu::start_lvl()
         * @see Walker_Nav_Menu::start_lvl()
+        *
         * @since 3.0.0
         *
         * @param string $output Passed by reference.
         * @since 3.0.0
         *
         * @param string $output Passed by reference.
+        * @param int    $depth  Depth of menu item. Used for padding.
+        * @param array  $args   Not used.
         */
        function start_lvl( &$output, $depth = 0, $args = array() ) {}
 
        /**
         */
        function start_lvl( &$output, $depth = 0, $args = array() ) {}
 
        /**
+        * Ends the list of after the elements are added.
+        *
         * @see Walker_Nav_Menu::end_lvl()
         * @see Walker_Nav_Menu::end_lvl()
+        *
         * @since 3.0.0
         *
         * @param string $output Passed by reference.
         * @since 3.0.0
         *
         * @param string $output Passed by reference.
+        * @param int    $depth  Depth of menu item. Used for padding.
+        * @param array  $args   Not used.
         */
        function end_lvl( &$output, $depth = 0, $args = array() ) {}
 
        /**
         */
        function end_lvl( &$output, $depth = 0, $args = array() ) {}
 
        /**
-        * @see Walker::start_el()
+        * Start the element output.
+        *
+        * @see Walker_Nav_Menu::start_el()
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param object $item Menu item data object.
-        * @param int $depth Depth of menu item. Used for padding.
-        * @param object $args
+        * @param object $item   Menu item data object.
+        * @param int    $depth  Depth of menu item. Used for padding.
+        * @param array  $args   Not used.
+        * @param int    $id     Not used.
         */
        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;
 
         */
        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;
 
-               $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
-
                ob_start();
                $item_id = esc_attr( $item->ID );
                $removed_args = array(
                ob_start();
                $item_id = esc_attr( $item->ID );
                $removed_args = array(
@@ -57,7 +68,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
                                $original_title = false;
                } elseif ( 'post_type' == $item->type ) {
                        $original_object = get_post( $item->object_id );
                                $original_title = false;
                } elseif ( 'post_type' == $item->type ) {
                        $original_object = get_post( $item->object_id );
-                       $original_title = $original_object->post_title;
+                       $original_title = get_the_title( $original_object->ID );
                }
 
                $classes = array(
                }
 
                $classes = array(
@@ -214,7 +225,8 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
                <?php
                $output .= ob_get_clean();
        }
                <?php
                $output .= ob_get_clean();
        }
-}
+
+} // Walker_Nav_Menu_Edit
 
 /**
  * Create HTML list of nav menu input items.
 
 /**
  * Create HTML list of nav menu input items.
@@ -230,24 +242,50 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
                }
        }
 
                }
        }
 
+       /**
+        * Starts the list before the elements are added.
+        *
+        * @see Walker_Nav_Menu::start_lvl()
+        *
+        * @since 3.0.0
+        *
+        * @param string $output Passed by reference. Used to append additional content.
+        * @param int    $depth  Depth of page. Used for padding.
+        * @param array  $args   Not used.
+        */
        function start_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat( "\t", $depth );
                $output .= "\n$indent<ul class='children'>\n";
        }
 
        function start_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat( "\t", $depth );
                $output .= "\n$indent<ul class='children'>\n";
        }
 
+       /**
+        * Ends the list of after the elements are added.
+        *
+        * @see Walker_Nav_Menu::end_lvl()
+        *
+        * @since 3.0.0
+        *
+        * @param string $output Passed by reference. Used to append additional content.
+        * @param int    $depth  Depth of page. Used for padding.
+        * @param array  $args   Not used.
+        */
        function end_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat( "\t", $depth );
                $output .= "\n$indent</ul>";
        }
 
        /**
        function end_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat( "\t", $depth );
                $output .= "\n$indent</ul>";
        }
 
        /**
-        * @see Walker::start_el()
+        * Start the element output.
+        *
+        * @see Walker_Nav_Menu::start_el()
+        *
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param object $item Menu item data object.
-        * @param int $depth Depth of menu item. Used for padding.
-        * @param object $args
+        * @param object $item   Menu item data object.
+        * @param int    $depth  Depth of menu item. Used for padding.
+        * @param array  $args   Not used.
+        * @param int    $id     Not used.
         */
        function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
                global $_nav_menu_placeholder;
         */
        function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
                global $_nav_menu_placeholder;
@@ -261,15 +299,23 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
                $output .= $indent . '<li>';
                $output .= '<label class="menu-item-title">';
                $output .= '<input type="checkbox" class="menu-item-checkbox';
                $output .= $indent . '<li>';
                $output .= '<label class="menu-item-title">';
                $output .= '<input type="checkbox" class="menu-item-checkbox';
-               if ( property_exists( $item, 'front_or_home' ) && $item->front_or_home ) {
-                       $title = sprintf( _x( 'Home: %s', 'nav menu front page title' ), $item->post_title );
+
+               if ( ! empty( $item->front_or_home ) )
                        $output .= ' add-to-top';
                        $output .= ' add-to-top';
-               } elseif ( property_exists( $item, 'label' ) ) {
+
+               $output .= '" name="menu-item[' . $possible_object_id . '][menu-item-object-id]" value="'. esc_attr( $item->object_id ) .'" /> ';
+
+               if ( ! empty( $item->label ) ) {
                        $title = $item->label;
                        $title = $item->label;
+               } elseif ( isset( $item->post_type ) ) {
+                       /** This filter is documented in wp-includes/post-template.php */
+                       $title = apply_filters( 'the_title', $item->post_title, $item->ID );
+                       if ( ! empty( $item->front_or_home ) && _x( 'Home', 'nav menu home label' ) !== $title )
+                               $title = sprintf( _x( 'Home: %s', 'nav menu front page title' ), $title );
                }
                }
-               $output .= '" name="menu-item[' . $possible_object_id . '][menu-item-object-id]" value="'. esc_attr( $item->object_id ) .'" /> ';
+
                $output .= isset( $title ) ? esc_html( $title ) : esc_html( $item->title );
                $output .= isset( $title ) ? esc_html( $title ) : esc_html( $item->title );
-               $output .= '</label>';
+               $output .= '</label>';
 
                // Menu item hidden fields
                $output .= '<input type="hidden" class="menu-item-db-id" name="menu-item[' . $possible_object_id . '][menu-item-db-id]" value="' . $possible_db_id . '" />';
 
                // Menu item hidden fields
                $output .= '<input type="hidden" class="menu-item-db-id" name="menu-item[' . $possible_object_id . '][menu-item-db-id]" value="' . $possible_db_id . '" />';
@@ -283,7 +329,8 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
                $output .= '<input type="hidden" class="menu-item-classes" name="menu-item[' . $possible_object_id . '][menu-item-classes]" value="'. esc_attr( implode( ' ', $item->classes ) ) .'" />';
                $output .= '<input type="hidden" class="menu-item-xfn" name="menu-item[' . $possible_object_id . '][menu-item-xfn]" value="'. esc_attr( $item->xfn ) .'" />';
        }
                $output .= '<input type="hidden" class="menu-item-classes" name="menu-item[' . $possible_object_id . '][menu-item-classes]" value="'. esc_attr( implode( ' ', $item->classes ) ) .'" />';
                $output .= '<input type="hidden" class="menu-item-xfn" name="menu-item[' . $possible_object_id . '][menu-item-xfn]" value="'. esc_attr( $item->xfn ) .'" />';
        }
-}
+
+} // Walker_Nav_Menu_Checklist
 
 /**
  * Prints the appropriate response to a menu quick search.
 
 /**
  * Prints the appropriate response to a menu quick search.
@@ -486,51 +533,6 @@ function wp_nav_menu_taxonomy_meta_boxes() {
        }
 }
 
        }
 }
 
-/**
- * Displays a metabox for the nav menu theme locations.
- *
- * @since 3.0.0
- */
-function wp_nav_menu_locations_meta_box() {
-       global $nav_menu_selected_id;
-
-       if ( ! current_theme_supports( 'menus' ) ) {
-               // We must only support widgets. Leave a message and bail.
-               echo '<p class="howto">' . __('The current theme does not natively support menus, but you can use the &#8220;Custom Menu&#8221; widget to add any menus you create here to the theme&#8217;s sidebar.') . '</p>';
-               return;
-       }
-
-       $locations = get_registered_nav_menus();
-       $menus = wp_get_nav_menus();
-       $menu_locations = get_nav_menu_locations();
-       $num_locations = count( array_keys($locations) );
-
-       echo '<p class="howto">' . _n( 'Select a menu to use within your theme.', 'Select the menus you will use in your theme.', $num_locations ) . '</p>';
-
-       foreach ( $locations as $location => $description ) {
-               ?>
-               <p>
-                       <label class="howto" for="locations-<?php echo $location; ?>">
-                               <span><?php echo $description; ?></span>
-                               <select name="menu-locations[<?php echo $location; ?>]" id="locations-<?php echo $location; ?>">
-                                       <option value="0"></option>
-                                       <?php foreach ( $menus as $menu ) : ?>
-                                       <option<?php selected( isset( $menu_locations[ $location ] ) && $menu_locations[ $location ] == $menu->term_id ); ?>
-                                               value="<?php echo $menu->term_id; ?>"><?php echo wp_html_excerpt( $menu->name, 40, '&hellip;' ); ?></option>
-                                       <?php endforeach; ?>
-                               </select>
-                       </label>
-               </p>
-       <?php
-       }
-       ?>
-       <p class="button-controls">
-               <?php submit_button( __( 'Save' ), 'primary right', 'nav-menu-locations', false, wp_nav_menu_disabled_check( $nav_menu_selected_id ) ); ?>
-               <span class="spinner"></span>
-       </p>
-       <?php
-}
-
 /**
  * Check whether to disable the Menu Locations meta box submit button
  *
 /**
  * Check whether to disable the Menu Locations meta box submit button
  *
index 1c07b6856c10b609ee959c4104d6a14799949368..7f1e0f2c62b4e6a154705da1f1ec4cf8d7c139fa 100644 (file)
@@ -34,14 +34,44 @@ function plugins_api($action, $args = null) {
        if ( !isset($args->per_page) )
                $args->per_page = 24;
 
        if ( !isset($args->per_page) )
                $args->per_page = 24;
 
-       // Allows a plugin to override the WordPress.org API entirely.
-       // Use the filter 'plugins_api_result' to merely add results.
-       // Please ensure that a object is returned from the following filters.
-       $args = apply_filters('plugins_api_args', $args, $action);
-       $res = apply_filters('plugins_api', false, $action, $args);
+       /**
+        * Override the Plugin Install API arguments.
+        *
+        * Please ensure that an object is returned.
+        *
+        * @since 2.7.0
+        *
+        * @param object $args   Plugin API arguments.
+        * @param string $action The type of information being requested from the Plugin Install API.
+        */
+       $args = apply_filters( 'plugins_api_args', $args, $action );
+
+       /**
+        * Allows a plugin to override the WordPress.org Plugin Install API entirely.
+        *
+        * Please ensure that an object is returned.
+        *
+        * @since 2.7.0
+        *
+        * @param bool|object         The result object. Default is false.
+        * @param string      $action The type of information being requested from the Plugin Install API.
+        * @param object      $args   Plugin API arguments.
+        */
+       $res = apply_filters( 'plugins_api', false, $action, $args );
 
        if ( false === $res ) {
 
        if ( false === $res ) {
-               $request = wp_remote_post('http://api.wordpress.org/plugins/info/1.0/', array( 'timeout' => 15, 'body' => array('action' => $action, 'request' => serialize($args))) );
+               $url = 'http://api.wordpress.org/plugins/info/1.0/';
+               if ( wp_http_supports( array( 'ssl' ) ) )
+                       $url = set_url_scheme( $url, 'https' );
+
+               $request = wp_remote_post( $url, array(
+                       'timeout' => 15,
+                       'body' => array(
+                               'action' => $action,
+                               'request' => serialize( $args )
+                       )
+               ) );
+
                if ( is_wp_error($request) ) {
                        $res = new WP_Error('plugins_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="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
                } else {
                if ( is_wp_error($request) ) {
                        $res = new WP_Error('plugins_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="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
                } else {
@@ -53,7 +83,16 @@ function plugins_api($action, $args = null) {
                $res->external = true;
        }
 
                $res->external = true;
        }
 
-       return apply_filters('plugins_api_result', $res, $action, $args);
+       /**
+        * Filter the Plugin Install API response results.
+        *
+        * @since 2.7.0
+        *
+        * @param object|WP_Error $res    Response object or WP_Error.
+        * @param string          $action The type of information being requested from the Plugin Install API.
+        * @param object          $args   Plugin API arguments.
+        */
+       return apply_filters( 'plugins_api_result', $res, $action, $args );
 }
 
 /**
 }
 
 /**
@@ -265,7 +304,7 @@ function install_plugin_install_status($api, $loop = false) {
 function install_plugin_information() {
        global $tab;
 
 function install_plugin_information() {
        global $tab;
 
-       $api = plugins_api('plugin_information', array('slug' => wp_unslash( $_REQUEST['plugin'] ) ));
+       $api = plugins_api( 'plugin_information', array( 'slug' => wp_unslash( $_REQUEST['plugin'] ), 'is_ssl' => is_ssl() ) );
 
        if ( is_wp_error($api) )
                wp_die($api);
 
        if ( is_wp_error($api) )
                wp_die($api);
@@ -296,9 +335,11 @@ function install_plugin_information() {
                        $api->$key = wp_kses( $api->$key, $plugins_allowedtags );
        }
 
                        $api->$key = wp_kses( $api->$key, $plugins_allowedtags );
        }
 
-       $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 = array_shift( $section_titles = array_keys((array)$api->sections) );
+       $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') );
        echo "<div id='$tab-header'>\n";
 
        iframe_header( __('Plugin Install') );
        echo "<div id='$tab-header'>\n";
index 109e66d8b752e967b87f71b4deb81c5561450a7e..4e2126a3682caabcc6f8332c00c5287d8f117b7c 100644 (file)
@@ -114,6 +114,9 @@ function get_plugin_data( $plugin_file, $markup = true, $translate = true ) {
  */
 function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup = true, $translate = true ) {
 
  */
 function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup = true, $translate = true ) {
 
+       // Sanitize the plugin filename to a WP_PLUGIN_DIR relative path
+       $plugin_file = plugin_basename( $plugin_file );
+
        // Translate fields
        if ( $translate ) {
                if ( $textdomain = $plugin_data['TextDomain'] ) {
        // Translate fields
        if ( $translate ) {
                if ( $textdomain = $plugin_data['TextDomain'] ) {
@@ -537,7 +540,28 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
                include_once(WP_PLUGIN_DIR . '/' . $plugin);
 
                if ( ! $silent ) {
                include_once(WP_PLUGIN_DIR . '/' . $plugin);
 
                if ( ! $silent ) {
+                       /**
+                        * Fires before a plugin is activated in activate_plugin() when the $silent parameter is false.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param string $plugin       Plugin path to main plugin file with plugin data.
+                        * @param bool   $network_wide Whether to enable the plugin for all sites in the network
+                        *                             or just the current site. Multisite only. Default is false.
+                        */
                        do_action( 'activate_plugin', $plugin, $network_wide );
                        do_action( 'activate_plugin', $plugin, $network_wide );
+
+                       /**
+                        * Fires before a plugin is activated in activate_plugin() when the $silent parameter is false.
+                        *
+                        * The action concatenates the 'activate_' prefix with the $plugin value passed to
+                        * activate_plugin() to create a dynamically-named action.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param bool $network_wide Whether to enable the plugin for all sites in the network
+                        *                           or just the current site. Multisite only. Default is false.
+                        */
                        do_action( 'activate_' . $plugin, $network_wide );
                }
 
                        do_action( 'activate_' . $plugin, $network_wide );
                }
 
@@ -551,6 +575,15 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
                }
 
                if ( ! $silent ) {
                }
 
                if ( ! $silent ) {
+                       /**
+                        * Fires after a plugin has been activated in activate_plugin() when the $silent parameter is false.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param string $plugin       Plugin path to main plugin file with plugin data.
+                        * @param bool   $network_wide Whether to enable the plugin for all sites in the network
+                        *                             or just the current site. Multisite only. Default is false.
+                        */
                        do_action( 'activated_plugin', $plugin, $network_wide );
                }
 
                        do_action( 'activated_plugin', $plugin, $network_wide );
                }
 
@@ -591,6 +624,16 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
                $network_deactivating = false !== $network_wide && is_plugin_active_for_network( $plugin );
 
                if ( ! $silent )
                $network_deactivating = false !== $network_wide && is_plugin_active_for_network( $plugin );
 
                if ( ! $silent )
+                       /**
+                        * Fires for each plugin being deactivated in deactivate_plugins(), before deactivation
+                        * and when the $silent parameter is false.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param string $plugin               Plugin path to main plugin file with plugin data.
+                        * @param bool   $network_deactivating Whether the plugin is deactivated for all sites in the network
+                        *                                     or just the current site. Multisite only. Default is false.
+                        */
                        do_action( 'deactivate_plugin', $plugin, $network_deactivating );
 
                if ( false !== $network_wide ) {
                        do_action( 'deactivate_plugin', $plugin, $network_deactivating );
 
                if ( false !== $network_wide ) {
@@ -611,7 +654,30 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
                }
 
                if ( ! $silent ) {
                }
 
                if ( ! $silent ) {
+                       /**
+                        * Fires for each plugin being deactivated in deactivate_plugins(), after deactivation
+                        * and when the $silent parameter is false.
+                        *
+                        * The action concatenates the 'deactivate_' prefix with the plugin's basename
+                        * to create a dynamically-named action.
+                        *
+                        * @since 2.0.0
+                        *
+                        * @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
+                        *                                   or just the current site. Multisite only. Default is false.
+                        */
                        do_action( 'deactivate_' . $plugin, $network_deactivating );
                        do_action( 'deactivate_' . $plugin, $network_deactivating );
+
+                       /**
+                        * Fires for each plugin being deactivated in deactivate_plugins(), after deactivation
+                        * and when the $silent parameter is false.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param string $plugin               Plugin path to main plugin file with plugin data.
+                        * @param bool   $network_deactivating Whether the plugin is deactivated for all sites in the network
+                        *                                     or just the current site. Multisite only. Default is false.
+                        */
                        do_action( 'deactivated_plugin', $plugin, $network_deactivating );
                }
        }
                        do_action( 'deactivated_plugin', $plugin, $network_deactivating );
                }
        }
@@ -862,6 +928,15 @@ function uninstall_plugin($plugin) {
                include WP_PLUGIN_DIR . '/' . $file;
 
                add_action( 'uninstall_' . $file, $callable );
                include WP_PLUGIN_DIR . '/' . $file;
 
                add_action( 'uninstall_' . $file, $callable );
+
+               /**
+                * Fires in uninstall_plugin() once the plugin has been uninstalled.
+                *
+                * The action concatenates the 'uninstall_' prefix with the basename of the
+                * plugin passed to {@see uninstall_plugin()} to create a dynamically-named action.
+                *
+                * @since 2.7.0
+                */
                do_action( 'uninstall_' . $file );
        }
 }
                do_action( 'uninstall_' . $file );
        }
 }
@@ -1761,3 +1836,16 @@ function settings_fields($option_group) {
        echo '<input type="hidden" name="action" value="update" />';
        wp_nonce_field("$option_group-options");
 }
        echo '<input type="hidden" name="action" value="update" />';
        wp_nonce_field("$option_group-options");
 }
+
+/**
+ * Clears the Plugins cache used by get_plugins() and by default, the Plugin Update cache.
+ *
+ * @since 3.7.0
+ *
+ * @param bool $clear_update_cache Whether to clear the Plugin updates cache
+ */
+function wp_clean_plugins_cache( $clear_update_cache = true ) {
+       if ( $clear_update_cache )
+               delete_site_transient( 'update_plugins' );
+       wp_cache_delete( 'plugins', 'plugins' );
+}
index f5324bff823b7c9ac057d6479ebd6db37e990bca..7d074dd77988f3b392422161767c1af440bb405e 100644 (file)
@@ -52,7 +52,7 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
        if ( isset($post_data['trackback_url']) )
                $post_data['to_ping'] = $post_data['trackback_url'];
 
        if ( isset($post_data['trackback_url']) )
                $post_data['to_ping'] = $post_data['trackback_url'];
 
-       $post_data['user_ID'] = $GLOBALS['user_ID'];
+       $post_data['user_ID'] = get_current_user_id();
 
        if (!empty ( $post_data['post_author_override'] ) ) {
                $post_data['post_author'] = (int) $post_data['post_author_override'];
 
        if (!empty ( $post_data['post_author_override'] ) ) {
                $post_data['post_author'] = (int) $post_data['post_author_override'];
@@ -178,6 +178,15 @@ function edit_post( $post_data = null ) {
                        wp_die( __('You are not allowed to edit this post.' ));
        }
 
                        wp_die( __('You are not allowed to edit this post.' ));
        }
 
+       if ( post_type_supports( $ptype->name, 'revisions' ) ) {
+               $revisions = wp_get_post_revisions( $post_ID, array( 'order' => 'ASC', 'posts_per_page' => 1 ) );
+               $revision = current( $revisions );
+
+               // Check if the revisions have been upgraded
+               if ( $revisions && _wp_get_post_revision_version( $revision ) < 1 )
+                       _wp_upgrade_revisions_of_post( $post, wp_get_post_revisions( $post_ID ) );
+       }
+
        $post_data = _wp_translate_postdata( true, $post_data );
        if ( is_wp_error($post_data) )
                wp_die( $post_data->get_error_message() );
        $post_data = _wp_translate_postdata( true, $post_data );
        if ( is_wp_error($post_data) )
                wp_die( $post_data->get_error_message() );
@@ -261,12 +270,13 @@ function edit_post( $post_data = null ) {
                }
 
                $attachment_data = isset( $post_data['attachments'][ $post_ID ] ) ? $post_data['attachments'][ $post_ID ] : array();
                }
 
                $attachment_data = isset( $post_data['attachments'][ $post_ID ] ) ? $post_data['attachments'][ $post_ID ] : array();
+               /** This filter is documented in wp-admin/includes/media.php */
                $post_data = apply_filters( 'attachment_fields_to_save', $post_data, $attachment_data );
        }
 
        add_meta( $post_ID );
 
                $post_data = apply_filters( 'attachment_fields_to_save', $post_data, $attachment_data );
        }
 
        add_meta( $post_ID );
 
-       update_post_meta( $post_ID, '_edit_last', $GLOBALS['current_user']->ID );
+       update_post_meta( $post_ID, '_edit_last', get_current_user_id() );
 
        wp_update_post( $post_data );
 
 
        wp_update_post( $post_data );
 
@@ -324,7 +334,13 @@ function bulk_edit_posts( $post_data = null ) {
 
        $post_IDs = array_map( 'intval', (array) $post_data['post'] );
 
 
        $post_IDs = array_map( 'intval', (array) $post_data['post'] );
 
-       $reset = array( 'post_author', 'post_status', 'post_password', 'post_parent', 'page_template', 'comment_status', 'ping_status', 'keep_private', 'tax_input', 'post_category', 'sticky' );
+       $reset = array(
+               'post_author', 'post_status', 'post_password',
+               'post_parent', 'page_template', 'comment_status',
+               'ping_status', 'keep_private', 'tax_input',
+               'post_category', 'sticky', 'post_format',
+       );
+
        foreach ( $reset as $field ) {
                if ( isset($post_data[$field]) && ( '' == $post_data[$field] || -1 == $post_data[$field] ) )
                        unset($post_data[$field]);
        foreach ( $reset as $field ) {
                if ( isset($post_data[$field]) && ( '' == $post_data[$field] || -1 == $post_data[$field] ) )
                        unset($post_data[$field]);
@@ -418,6 +434,9 @@ function bulk_edit_posts( $post_data = null ) {
                        else
                                unstick_post( $post_ID );
                }
                        else
                                unstick_post( $post_ID );
                }
+
+               if ( isset( $post_data['post_format'] ) )
+                       set_post_format( $post_ID, $post_data['post_format'] );
        }
 
        return array( 'updated' => $updated, 'skipped' => $skipped, 'locked' => $locked );
        }
 
        return array( 'updated' => $updated, 'skipped' => $skipped, 'locked' => $locked );
@@ -529,8 +548,6 @@ function post_exists($title, $content = '', $date = '') {
  * @return unknown
  */
 function wp_write_post() {
  * @return unknown
  */
 function wp_write_post() {
-       global $user_ID;
-
        if ( isset($_POST['post_type']) )
                $ptype = get_post_type_object($_POST['post_type']);
        else
        if ( isset($_POST['post_type']) )
                $ptype = get_post_type_object($_POST['post_type']);
        else
@@ -741,15 +758,15 @@ function update_meta( $meta_id, $meta_key, $meta_value ) {
  * @since 2.3.0
  * @access private
  *
  * @since 2.3.0
  * @access private
  *
- * @param unknown_type $post_ID
- * @return unknown
+ * @param int|object $post Post ID or post object.
+ * @return void|int|WP_Error Void if nothing fixed. 0 or WP_Error on update failure. The post ID on update success.
  */
  */
-function _fix_attachment_links( $post_ID ) {
-       $post = get_post( $post_ID, ARRAY_A );
+function _fix_attachment_links( $post ) {
+       $post = get_post( $post, ARRAY_A );
        $content = $post['post_content'];
 
        $content = $post['post_content'];
 
-       // quick sanity check, don't run if no pretty permalinks or post is not published
-       if ( !get_option('permalink_structure') || $post['post_status'] != 'publish' )
+       // Don't run if no pretty permalinks or post is not published, scheduled, or privately published.
+       if ( ! get_option( 'permalink_structure' ) || ! in_array( $post['post_status'], array( 'publish', 'future', 'private' ) ) )
                return;
 
        // Short if there aren't any links or no '?attachment_id=' strings (strpos cannot be zero)
                return;
 
        // Short if there aren't any links or no '?attachment_id=' strings (strpos cannot be zero)
@@ -995,9 +1012,9 @@ function postbox_classes( $id, $page ) {
  * @return array With two entries of type string
  */
 function get_sample_permalink($id, $title = null, $name = null) {
  * @return array With two entries of type string
  */
 function get_sample_permalink($id, $title = null, $name = null) {
-       $post = get_post($id);
-       if ( !$post->ID )
-               return array('', '');
+       $post = get_post( $id );
+       if ( ! $post )
+               return array( '', '' );
 
        $ptype = get_post_type_object($post->post_type);
 
 
        $ptype = get_post_type_object($post->post_type);
 
@@ -1057,8 +1074,9 @@ function get_sample_permalink($id, $title = null, $name = null) {
  * @return string The HTML of the sample permalink slug editor.
  */
 function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
  * @return string The HTML of the sample permalink slug editor.
  */
 function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
-       global $wpdb;
-       $post = get_post($id);
+       $post = get_post( $id );
+       if ( ! $post )
+               return '';
 
        list($permalink, $post_name) = get_sample_permalink($post->ID, $new_title, $new_slug);
 
 
        list($permalink, $post_name) = get_sample_permalink($post->ID, $new_title, $new_slug);
 
@@ -1260,7 +1278,13 @@ function _admin_notice_post_locked() {
                ?>
                <div class="post-locked-message">
                <div class="post-locked-avatar"><?php echo get_avatar( $user->ID, 64 ); ?></div>
                ?>
                <div class="post-locked-message">
                <div class="post-locked-avatar"><?php echo get_avatar( $user->ID, 64 ); ?></div>
-               <p class="currently-editing wp-tab-first" tabindex="0"><?php echo esc_html( sprintf( __( 'This content is currently locked. If you take over, %s will be blocked from continuing to edit.' ), $user->display_name ) ); ?></p>
+               <p class="currently-editing wp-tab-first" tabindex="0">
+               <?php
+                       _e( 'This content is currently locked.' );
+                       if ( $override )
+                               printf( ' ' . __( 'If you take over, %s will be blocked from continuing to edit.' ), esc_html( $user->display_name ) );
+               ?>
+               </p>
                <?php do_action( 'post_locked_dialog', $post ); ?>
                <p>
                <a class="button" href="<?php echo esc_url( $sendback ); ?>"><?php echo $sendback_text; ?></a>
                <?php do_action( 'post_locked_dialog', $post ); ?>
                <p>
                <a class="button" href="<?php echo esc_url( $sendback ); ?>"><?php echo $sendback_text; ?></a>
index 597ec1f02c8cfc67434066e54158274ab72508e2..737c3b1637e94bcf40126be4eabaf2696c10827c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * WordPress Administration Revisions API.
+ * WordPress Administration Revisions API
  *
  * @package WordPress
  * @subpackage Administration
  *
  * @package WordPress
  * @subpackage Administration
  *
  * @since 3.6.0
  *
  *
  * @since 3.6.0
  *
- * @param object $post The post object.
- * @param int $compare_from The revision id to compare from.
- * @param int $compare_to The revision id to come to.
+ * @param object|int $post         The post object. Also accepts a post ID.
+ * @param int        $compare_from The revision ID to compare from.
+ * @param int        $compare_to   The revision ID to come to.
  *
  * @return array|bool Associative array of a post's revisioned fields and their diffs.
  *
  * @return array|bool Associative array of a post's revisioned fields and their diffs.
- *     Or, false on failure.
+ *                    Or, false on failure.
  */
 function wp_get_revision_ui_diff( $post, $compare_from, $compare_to ) {
        if ( ! $post = get_post( $post ) )
  */
 function wp_get_revision_ui_diff( $post, $compare_from, $compare_to ) {
        if ( ! $post = get_post( $post ) )
@@ -55,7 +55,22 @@ function wp_get_revision_ui_diff( $post, $compare_from, $compare_to ) {
        $return = array();
 
        foreach ( _wp_post_revision_fields() as $field => $name ) {
        $return = array();
 
        foreach ( _wp_post_revision_fields() as $field => $name ) {
+               /**
+                * Contextually filter a post revision field.
+                *
+                * The dynamic portion of the hook name, $field, corresponds to each of the post
+                * fields of the revision object being iterated over in a foreach statement.
+                *
+                * @since 3.6.0
+                *
+                * @param string  $compare_from->$field The current revision field to compare to or from.
+                * @param string  $field                The current revision field.
+                * @param WP_Post $compare_from         The revision post object to compare to or from.
+                * @param string  null                  The context of whether the current revision is the old or the new one. Values are 'to' or 'from'.
+                */
                $content_from = $compare_from ? apply_filters( "_wp_post_revision_field_$field", $compare_from->$field, $field, $compare_from, 'from' ) : '';
                $content_from = $compare_from ? apply_filters( "_wp_post_revision_field_$field", $compare_from->$field, $field, $compare_from, 'from' ) : '';
+
+               /** This filter is documented in wp-admin/includes/revision.php */
                $content_to = apply_filters( "_wp_post_revision_field_$field", $compare_to->$field, $field, $compare_to, 'to' );
 
                $diff = wp_text_diff( $content_from, $content_to, array( 'show_split_view' => true ) );
                $content_to = apply_filters( "_wp_post_revision_field_$field", $compare_to->$field, $field, $compare_to, 'to' );
 
                $diff = wp_text_diff( $content_from, $content_to, array( 'show_split_view' => true ) );
@@ -85,9 +100,9 @@ function wp_get_revision_ui_diff( $post, $compare_from, $compare_to ) {
  *
  * @since 3.6.0
  *
  *
  * @since 3.6.0
  *
- * @param object $post The post object.
- * @param int $selected_revision_id The selected revision id.
- * @param int $from (optional) The revision id to compare from.
+ * @param object|int $post                 The post object. Also accepts a post ID.
+ * @param int        $selected_revision_id The selected revision ID.
+ * @param int        $from                 Optional. The revision ID to compare from.
  *
  * @return array An associative array of revision data and related settings.
  */
  *
  * @return array An associative array of revision data and related settings.
  */
index 162651a418cc60fabaeb3017434cf856f359cdf8..f88f79d0528275581a72c96b8467952e6a23e273 100644 (file)
@@ -230,7 +230,7 @@ CREATE TABLE $wpdb->posts (
   registered datetime NOT NULL default '0000-00-00 00:00:00',
   last_updated datetime NOT NULL default '0000-00-00 00:00:00',
   public tinyint(2) NOT NULL default '1',
   registered datetime NOT NULL default '0000-00-00 00:00:00',
   last_updated datetime NOT NULL default '0000-00-00 00:00:00',
   public tinyint(2) NOT NULL default '1',
-  archived enum('0','1') NOT NULL default '0',
+  archived tinyint(2) NOT NULL default '0',
   mature tinyint(2) NOT NULL default '0',
   spam tinyint(2) NOT NULL default '0',
   deleted tinyint(2) NOT NULL default '0',
   mature tinyint(2) NOT NULL default '0',
   spam tinyint(2) NOT NULL default '0',
   deleted tinyint(2) NOT NULL default '0',
@@ -272,6 +272,7 @@ CREATE TABLE $wpdb->sitemeta (
   KEY site_id (site_id)
 ) $charset_collate;
 CREATE TABLE $wpdb->signups (
   KEY site_id (site_id)
 ) $charset_collate;
 CREATE TABLE $wpdb->signups (
+  signup_id bigint(20) NOT NULL auto_increment,
   domain varchar(200) NOT NULL default '',
   path varchar(100) NOT NULL default '',
   title longtext NOT NULL,
   domain varchar(200) NOT NULL default '',
   path varchar(100) NOT NULL default '',
   title longtext NOT NULL,
@@ -282,8 +283,11 @@ CREATE TABLE $wpdb->signups (
   active tinyint(1) NOT NULL default '0',
   activation_key varchar(50) NOT NULL default '',
   meta longtext,
   active tinyint(1) NOT NULL default '0',
   activation_key varchar(50) NOT NULL default '',
   meta longtext,
+  PRIMARY KEY  (signup_id),
   KEY activation_key (activation_key),
   KEY activation_key (activation_key),
-  KEY domain (domain)
+  KEY user_email (user_email),
+  KEY user_login_email (user_login,user_email),
+  KEY domain_path (domain,path)
 ) $charset_collate;";
 
        switch ( $scope ) {
 ) $charset_collate;";
 
        switch ( $scope ) {
@@ -542,6 +546,24 @@ function populate_options() {
 
        // delete obsolete magpie stuff
        $wpdb->query("DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'");
 
        // 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.
+       $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");
+
+       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");
+    }
 }
 
 /**
 }
 
 /**
@@ -918,6 +940,16 @@ We hope you enjoy your new site. Thanks!
        if ( ! $subdomain_install )
                $sitemeta['illegal_names'][] = 'blog';
 
        if ( ! $subdomain_install )
                $sitemeta['illegal_names'][] = 'blog';
 
+       /**
+        * Filter meta for a network on creation.
+        *
+        * @since 3.7.0
+        *
+        * @param array $sitemeta Associative of meta keys and values to be inserted.
+        * @param int $network_id Network ID being created.
+        */
+       $sitemeta = apply_filters( 'populate_network_meta', $sitemeta, $network_id );
+
        $insert = '';
        foreach ( $sitemeta as $meta_key => $meta_value ) {
                if ( is_array( $meta_value ) )
        $insert = '';
        foreach ( $sitemeta as $meta_key => $meta_value ) {
                if ( is_array( $meta_value ) )
@@ -936,7 +968,7 @@ We hope you enjoy your new site. Thanks!
                $current_site->domain = $domain;
                $current_site->path = $path;
                $current_site->site_name = ucfirst( $domain );
                $current_site->domain = $domain;
                $current_site->path = $path;
                $current_site->site_name = ucfirst( $domain );
-               $wpdb->insert( $wpdb->blogs, array( 'site_id' => $network_id, 'domain' => $domain, 'path' => $path, 'registered' => current_time( 'mysql' ) ) );
+               $wpdb->insert( $wpdb->blogs, array( 'site_id' => $network_id, 'blog_id' => 1, 'domain' => $domain, 'path' => $path, 'registered' => current_time( 'mysql' ) ) );
                $current_site->blog_id = $blog_id = $wpdb->insert_id;
                update_user_meta( $site_user->ID, 'source_domain', $domain );
                update_user_meta( $site_user->ID, 'primary_blog', $blog_id );
                $current_site->blog_id = $blog_id = $wpdb->insert_id;
                update_user_meta( $site_user->ID, 'source_domain', $domain );
                update_user_meta( $site_user->ID, 'primary_blog', $blog_id );
@@ -947,9 +979,10 @@ We hope you enjoy your new site. Thanks!
                        $wp_rewrite->set_permalink_structure( '/blog/%year%/%monthnum%/%day%/%postname%/' );
 
                flush_rewrite_rules();
                        $wp_rewrite->set_permalink_structure( '/blog/%year%/%monthnum%/%day%/%postname%/' );
 
                flush_rewrite_rules();
-       }
 
 
-       if ( $subdomain_install ) {
+               if ( ! $subdomain_install )
+                       return true;
+
                $vhost_ok = false;
                $errstr = '';
                $hostname = substr( md5( time() ), 0, 6 ) . '.' . $domain; // Very random hostname!
                $vhost_ok = false;
                $errstr = '';
                $hostname = substr( md5( time() ), 0, 6 ) . '.' . $domain; // Very random hostname!
index fdc6d64d554439de4a6da39d4a1ee1e0aeef7abf..87fe6e6d6738ba6a93e4f93d1d9b251b1ae363e6 100644 (file)
@@ -34,7 +34,8 @@ function category_exists($cat_name, $parent = 0) {
  * @return unknown
  */
 function get_category_to_edit( $id ) {
  * @return unknown
  */
 function get_category_to_edit( $id ) {
-       $category = get_category( $id, OBJECT, 'edit' );
+       $category = get_term( $id, 'category', OBJECT, 'edit' );
+       _make_cat_compat( $category );
        return $category;
 }
 
        return $category;
 }
 
@@ -155,7 +156,8 @@ function wp_update_category($catarr) {
                return false;
 
        // First, get all of the original fields
                return false;
 
        // First, get all of the original fields
-       $category = get_category($cat_ID, ARRAY_A);
+       $category = get_term( $cat_ID, 'category', ARRAY_A );
+       _make_cat_compat( $category );
 
        // Escape data pulled from DB.
        $category = wp_slash($category);
 
        // Escape data pulled from DB.
        $category = wp_slash($category);
index 18349644c93056c67f611b9741875d5f8051a31e..ad42074dccba2ac50572915c57007ae9d4cfda16 100644 (file)
@@ -24,16 +24,51 @@ class Walker_Category_Checklist extends Walker {
        var $tree_type = 'category';
        var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
 
        var $tree_type = 'category';
        var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
 
+       /**
+        * Starts the list before the elements are added.
+        *
+        * @see Walker:start_lvl()
+        *
+        * @since 2.5.1
+        *
+        * @param string $output Passed by reference. Used to append additional content.
+        * @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() ) {
                $indent = str_repeat("\t", $depth);
                $output .= "$indent<ul class='children'>\n";
        }
 
        function start_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\t", $depth);
                $output .= "$indent<ul class='children'>\n";
        }
 
+       /**
+        * Ends the list of after the elements are added.
+        *
+        * @see Walker::end_lvl()
+        *
+        * @since 2.5.1
+        *
+        * @param string $output Passed by reference. Used to append additional content.
+        * @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() ) {
                $indent = str_repeat("\t", $depth);
                $output .= "$indent</ul>\n";
        }
 
        function end_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\t", $depth);
                $output .= "$indent</ul>\n";
        }
 
+       /**
+        * Start the element output.
+        *
+        * @see Walker::start_el()
+        *
+        * @since 2.5.1
+        *
+        * @param string $output   Passed by reference. Used to append additional content.
+        * @param object $category The current term object.
+        * @param int    $depth    Depth of the term in reference to parents. Default 0.
+        * @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) )
        function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
                extract($args);
                if ( empty($taxonomy) )
@@ -48,6 +83,18 @@ class Walker_Category_Checklist extends Walker {
                $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, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' /> ' . esc_html( apply_filters('the_category', $category->name )) . '</label>';
        }
 
+       /**
+        * Ends the element output, if needed.
+        *
+        * @see Walker::end_el()
+        *
+        * @since 2.5.1
+        *
+        * @param string $output   Passed by reference. Used to append additional content.
+        * @param object $category The current term object.
+        * @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() ) {
                $output .= "</li>\n";
        }
        function end_el( &$output, $category, $depth = 0, $args = array() ) {
                $output .= "</li>\n";
        }
@@ -500,12 +547,15 @@ function _list_meta_row( $entry, &$count ) {
 }
 
 /**
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Prints the form in the Custom Fields meta box.
  *
  * @since 1.2.0
  *
  * @since 1.2.0
+ *
+ * @param WP_Post $post Optional. The post being edited.
  */
  */
-function meta_form() {
+function meta_form( $post = null ) {
        global $wpdb;
        global $wpdb;
+       $post = get_post( $post );
        $limit = (int) apply_filters( 'postmeta_form_limit', 30 );
        $keys = $wpdb->get_col( "
                SELECT meta_key
        $limit = (int) apply_filters( 'postmeta_form_limit', 30 );
        $keys = $wpdb->get_col( "
                SELECT meta_key
@@ -535,7 +585,7 @@ function meta_form() {
 <?php
 
        foreach ( $keys as $key ) {
 <?php
 
        foreach ( $keys as $key ) {
-               if ( is_protected_meta( $key, 'post' ) )
+               if ( is_protected_meta( $key, 'post' ) || ! current_user_can( 'add_post_meta', $post->ID, $key ) )
                        continue;
                echo "\n<option value='" . esc_attr($key) . "'>" . esc_html($key) . "</option>";
        }
                        continue;
                echo "\n<option value='" . esc_attr($key) . "'>" . esc_html($key) . "</option>";
        }
@@ -695,57 +745,6 @@ function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
        }
 }
 
        }
 }
 
-/**
- * {@internal Missing Short Description}}
- *
- * @since 2.0.0
- *
- * @param unknown_type $id
- * @return unknown
- */
-function the_attachment_links( $id = false ) {
-       $id = (int) $id;
-       $post = get_post( $id );
-
-       if ( $post->post_type != 'attachment' )
-               return false;
-
-       $icon = wp_get_attachment_image( $post->ID, 'thumbnail', true );
-       $attachment_data = wp_get_attachment_metadata( $id );
-       $thumb = isset( $attachment_data['thumb'] );
-?>
-<form id="the-attachment-links">
-<table>
-       <col />
-       <col class="widefat" />
-       <tr>
-               <th scope="row"><?php _e( 'URL' ) ?></th>
-               <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><?php echo esc_textarea( wp_get_attachment_url() ); ?></textarea></td>
-       </tr>
-<?php if ( $icon ) : ?>
-       <tr>
-               <th scope="row"><?php $thumb ? _e( 'Thumbnail linked to file' ) : _e( 'Image linked to file' ); ?></th>
-               <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>"><?php echo $icon ?></a></textarea></td>
-       </tr>
-       <tr>
-               <th scope="row"><?php $thumb ? _e( 'Thumbnail linked to page' ) : _e( 'Image linked to page' ); ?></th>
-               <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ?>" rel="attachment wp-att-<?php echo $post->ID; ?>"><?php echo $icon ?></a></textarea></td>
-       </tr>
-<?php else : ?>
-       <tr>
-               <th scope="row"><?php _e( 'Link to file' ) ?></th>
-               <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo wp_get_attachment_url(); ?>" class="attachmentlink"><?php echo basename( wp_get_attachment_url() ); ?></a></textarea></td>
-       </tr>
-       <tr>
-               <th scope="row"><?php _e( 'Link to page' ) ?></th>
-               <td><textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link( $post->ID ) ?>" rel="attachment wp-att-<?php echo $post->ID ?>"><?php the_title(); ?></a></textarea></td>
-       </tr>
-<?php endif; ?>
-</table>
-</form>
-<?php
-}
-
 /**
  * Print out <option> html elements for role selectors
  *
 /**
  * Print out <option> html elements for role selectors
  *
@@ -757,7 +756,7 @@ function wp_dropdown_roles( $selected = false ) {
        $p = '';
        $r = '';
 
        $p = '';
        $r = '';
 
-       $editable_roles = get_editable_roles();
+       $editable_roles = array_reverse( get_editable_roles() );
 
        foreach ( $editable_roles as $role => $details ) {
                $name = translate_user_role($details['name'] );
 
        foreach ( $editable_roles as $role => $details ) {
                $name = translate_user_role($details['name'] );
@@ -1072,13 +1071,6 @@ function add_settings_section($id, $title, $callback, $page) {
                $page = 'reading';
        }
 
                $page = 'reading';
        }
 
-       if ( !isset($wp_settings_sections) )
-               $wp_settings_sections = array();
-       if ( !isset($wp_settings_sections[$page]) )
-               $wp_settings_sections[$page] = array();
-       if ( !isset($wp_settings_sections[$page][$id]) )
-               $wp_settings_sections[$page][$id] = array();
-
        $wp_settings_sections[$page][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback);
 }
 
        $wp_settings_sections[$page][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback);
 }
 
@@ -1117,13 +1109,6 @@ function add_settings_field($id, $title, $callback, $page, $section = 'default',
                $page = 'reading';
        }
 
                $page = 'reading';
        }
 
-       if ( !isset($wp_settings_fields) )
-               $wp_settings_fields = array();
-       if ( !isset($wp_settings_fields[$page]) )
-               $wp_settings_fields[$page] = array();
-       if ( !isset($wp_settings_fields[$page][$section]) )
-               $wp_settings_fields[$page][$section] = array();
-
        $wp_settings_fields[$page][$section][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback, 'args' => $args);
 }
 
        $wp_settings_fields[$page][$section][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback, 'args' => $args);
 }
 
@@ -1143,7 +1128,7 @@ function add_settings_field($id, $title, $callback, $page, $section = 'default',
 function do_settings_sections( $page ) {
        global $wp_settings_sections, $wp_settings_fields;
 
 function do_settings_sections( $page ) {
        global $wp_settings_sections, $wp_settings_fields;
 
-       if ( ! isset( $wp_settings_sections ) || !isset( $wp_settings_sections[$page] ) )
+       if ( ! isset( $wp_settings_sections[$page] ) )
                return;
 
        foreach ( (array) $wp_settings_sections[$page] as $section ) {
                return;
 
        foreach ( (array) $wp_settings_sections[$page] as $section ) {
@@ -1178,7 +1163,7 @@ function do_settings_sections( $page ) {
 function do_settings_fields($page, $section) {
        global $wp_settings_fields;
 
 function do_settings_fields($page, $section) {
        global $wp_settings_fields;
 
-       if ( !isset($wp_settings_fields) || !isset($wp_settings_fields[$page]) || !isset($wp_settings_fields[$page][$section]) )
+       if ( ! isset( $wp_settings_fields[$page][$section] ) )
                return;
 
        foreach ( (array) $wp_settings_fields[$page][$section] as $field ) {
                return;
 
        foreach ( (array) $wp_settings_fields[$page][$section] as $field ) {
@@ -1219,9 +1204,6 @@ function do_settings_fields($page, $section) {
 function add_settings_error( $setting, $code, $message, $type = 'error' ) {
        global $wp_settings_errors;
 
 function add_settings_error( $setting, $code, $message, $type = 'error' ) {
        global $wp_settings_errors;
 
-       if ( !isset($wp_settings_errors) )
-               $wp_settings_errors = array();
-
        $new_error = array(
                'setting' => $setting,
                'code' => $code,
        $new_error = array(
                'setting' => $setting,
                'code' => $code,
@@ -1256,7 +1238,7 @@ function add_settings_error( $setting, $code, $message, $type = 'error' ) {
 function get_settings_errors( $setting = '', $sanitize = false ) {
        global $wp_settings_errors;
 
 function get_settings_errors( $setting = '', $sanitize = false ) {
        global $wp_settings_errors;
 
-       // If $sanitize is true, manually re-run the sanitizisation for this option
+       // 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 )
        // This allows the $sanitize_callback from register_setting() to run, adding
        // any settings errors you want to show by default.
        if ( $sanitize )
@@ -1453,6 +1435,10 @@ do_action("admin_head-$hook_suffix");
 do_action('admin_head');
 
 $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
 do_action('admin_head');
 
 $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
+
+if ( is_rtl() )
+       $admin_body_class .= ' rtl';
+
 ?>
 </head>
 <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-admin wp-core-ui no-js iframe <?php echo apply_filters( 'admin_body_class', '' ) . ' ' . $admin_body_class; ?>">
 ?>
 </head>
 <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-admin wp-core-ui no-js iframe <?php echo apply_filters( 'admin_body_class', '' ) . ' ' . $admin_body_class; ?>">
@@ -1905,7 +1891,7 @@ final class WP_Internal_Pointers {
                $content  = '<h3>' . __( 'Compare Revisions' ) . '</h3>';
                $content .= '<p>' . __( 'View, compare, and restore other versions of this content on the improved revisions screen.' ) . '</p>';
 
                $content  = '<h3>' . __( 'Compare Revisions' ) . '</h3>';
                $content .= '<p>' . __( 'View, compare, and restore other versions of this content on the improved revisions screen.' ) . '</p>';
 
-               self::print_js( 'wp360_revisions', '.misc-pub-section.num-revisions', array(
+               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' ),
                ) );
                        'content' => $content,
                        'position' => array( 'edge' => is_rtl() ? 'left' : 'right', 'align' => 'center', 'my' => is_rtl() ? 'left' : 'right-14px' ),
                ) );
index 315f021386982a01cd9cc089a69825534a1c7586..0e48bac8876e29c3ec23aed3135a38cc864d765d 100644 (file)
@@ -282,7 +282,17 @@ function themes_api($action, $args = null) {
        $res = apply_filters('themes_api', false, $action, $args); //NOTE: Allows a theme to completely override the builtin WordPress.org API.
 
        if ( ! $res ) {
        $res = apply_filters('themes_api', false, $action, $args); //NOTE: Allows a theme to completely override the builtin WordPress.org API.
 
        if ( ! $res ) {
-               $request = wp_remote_post('http://api.wordpress.org/themes/info/1.0/', array( 'body' => array('action' => $action, 'request' => serialize($args))) );
+               $url = 'http://api.wordpress.org/themes/info/1.0/';
+               if ( wp_http_supports( array( 'ssl' ) ) )
+                       $url = set_url_scheme( $url, 'https' );
+
+               $request = wp_remote_post( $url, array(
+                       'body' => array(
+                               'action' => $action,
+                               'request' => serialize( $args )
+                       )
+               ) );
+
                if ( is_wp_error($request) ) {
                        $res = new WP_Error('themes_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="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
                } else {
                if ( is_wp_error($request) ) {
                        $res = new WP_Error('themes_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="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
                } else {
index ea1312b1329eec1b625b551bb08403230ecf3314..52ef1fd4498e2a946017883ffba556fb14bf8515 100644 (file)
@@ -558,6 +558,10 @@ $_old_files = array(
 'wp-admin/js/categories.min.js',
 'wp-admin/js/custom-fields.js',
 'wp-admin/js/custom-fields.min.js',
 'wp-admin/js/categories.min.js',
 'wp-admin/js/custom-fields.js',
 'wp-admin/js/custom-fields.min.js',
+// 3.7
+'wp-admin/js/cat.js',
+'wp-admin/js/cat.min.js',
+'wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.min.js',
 );
 
 /**
 );
 
 /**
@@ -658,11 +662,11 @@ function update_core($from, $to) {
        $versions_file = trailingslashit( $wp_filesystem->wp_content_dir() ) . 'upgrade/version-current.php';
        if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $versions_file ) ) {
                 $wp_filesystem->delete( $from, true );
        $versions_file = trailingslashit( $wp_filesystem->wp_content_dir() ) . 'upgrade/version-current.php';
        if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $versions_file ) ) {
                 $wp_filesystem->delete( $from, true );
-                return new WP_Error( 'copy_failed', __('Could not copy file.') );
+                return new WP_Error( 'copy_failed_for_version_file', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), 'wp-includes/version.php' );
        }
 
        $wp_filesystem->chmod( $versions_file, FS_CHMOD_FILE );
        }
 
        $wp_filesystem->chmod( $versions_file, FS_CHMOD_FILE );
-       require_once( WP_CONTENT_DIR . '/upgrade/version-current.php' );
+       require( WP_CONTENT_DIR . '/upgrade/version-current.php' );
        $wp_filesystem->delete( $versions_file );
 
        $php_version    = phpversion();
        $wp_filesystem->delete( $versions_file );
 
        $php_version    = phpversion();
@@ -685,16 +689,100 @@ function update_core($from, $to) {
        elseif ( !$mysql_compat )
                return new WP_Error( 'mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ) );
 
        elseif ( !$mysql_compat )
                return new WP_Error( 'mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ) );
 
-       apply_filters('update_feedback', __('Installing the latest version&#8230;'));
+       apply_filters( 'update_feedback', __( 'Preparing to install the latest version&#8230;' ) );
 
 
+       // Don't copy wp-content, we'll deal with that below
+       $skip = array( 'wp-content' );
+       $check_is_writable = array();
+
+       // Check to see which files don't really need updating - only available for 3.7 and higher
+       if ( function_exists( 'get_core_checksums' ) ) {
+               $checksums = get_core_checksums( $wp_version, isset( $wp_local_package ) ? $wp_local_package : 'en_US' );
+               if ( is_array( $checksums ) && isset( $checksums[ $wp_version ] ) )
+                       $checksums = $checksums[ $wp_version ]; // Compat code for 3.7-beta2
+               if ( is_array( $checksums ) ) {
+                       foreach( $checksums as $file => $checksum ) {
+                               if ( 'wp-content' == substr( $file, 0, 10 ) )
+                                       continue;
+                               if ( ! file_exists( ABSPATH . $file ) )
+                                       continue;
+                               if ( md5_file( ABSPATH . $file ) === $checksum )
+                                       $skip[] = $file;
+                               else
+                                       $check_is_writable[ $file ] = ABSPATH . $file;
+                       }
+               }
+       }
+
+       // If we're using the direct method, we can predict write failures that are due to permissions.
+       if ( $check_is_writable && 'direct' === $wp_filesystem->method ) {
+               $files_writable = array_filter( $check_is_writable, array( $wp_filesystem, 'is_writable' ) );
+               if ( $files_writable !== $check_is_writable ) {
+                       $files_not_writable = array_diff_key( $check_is_writable, $files_writable );
+                       foreach ( $files_not_writable as $relative_file_not_writable => $file_not_writable ) {
+                               // If the writable check failed, chmod file to 0644 and try again, same as copy_dir().
+                               $wp_filesystem->chmod( $file_not_writable, FS_CHMOD_FILE );
+                               if ( $wp_filesystem->is_writable( $file_not_writable ) )
+                                       unset( $files_not_writable[ $relative_file_not_writable ] );
+                       }
+
+                       // Store package-relative paths (the key) of non-writable files in the WP_Error object.
+                       $error_data = version_compare( $old_wp_version, '3.7-beta2', '>' ) ? array_keys( $files_not_writable ) : '';
+
+                       if ( $files_not_writable )
+                               return new WP_Error( 'files_not_writable', __( 'The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.' ), implode( ', ', $error_data ) );
+               }
+       }
+
+       apply_filters( 'update_feedback', __( 'Enabling Maintenance mode&#8230;' ) );
        // Create maintenance file to signal that we are upgrading
        $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
        $maintenance_file = $to . '.maintenance';
        $wp_filesystem->delete($maintenance_file);
        $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);
 
        // Create maintenance file to signal that we are upgrading
        $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
        $maintenance_file = $to . '.maintenance';
        $wp_filesystem->delete($maintenance_file);
        $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);
 
+       apply_filters( 'update_feedback', __( 'Copying the required files&#8230;' ) );
        // Copy new versions of WP files into place.
        // Copy new versions of WP files into place.
-       $result = _copy_dir($from . $distro, $to, array('wp-content') );
+       $result = _copy_dir( $from . $distro, $to, $skip );
+       if ( is_wp_error( $result ) )
+               $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
+
+       // Check to make sure everything copied correctly, ignoring the contents of wp-content
+       $skip = array( 'wp-content' );
+       $failed = array();
+       if ( is_array( $checksums ) ) {
+               foreach ( $checksums as $file => $checksum ) {
+                       if ( 0 === strpos( $file, 'wp-content' ) )
+                               continue;
+
+                       if ( file_exists( ABSPATH . $file ) && md5_file( ABSPATH . $file ) == $checksum )
+                               $skip[] = $file;
+                       else
+                               $failed[] = $file;
+               }
+       }
+
+       // Some files didn't copy properly
+       if ( ! empty( $failed ) ) {
+               $total_size = 0;
+               // Find the local version of the working directory
+               $working_dir_local = WP_CONTENT_DIR . '/upgrade/' . basename( $from ) . $distro;
+               foreach ( $failed as $file ) {
+                       if ( file_exists( $working_dir_local . $file ) )
+                               $total_size += filesize( $working_dir_local . $file );
+               }
+
+               // If we don't have enough free space, it isn't worth trying again.
+               // Unlikely to be hit due to the check in unzip_file().
+               $available_space = @disk_free_space( ABSPATH );
+               if ( $available_space && $total_size >= $available_space ) {
+                       $result = new WP_Error( 'disk_full', __( 'There is not enough free disk space to complete the update.' ) );
+               } else {
+                       $result = _copy_dir( $from . $distro, $to, $skip );
+                       if ( is_wp_error( $result ) )
+                               $result = new WP_Error( $result->get_error_code() . '_retry', $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) );
+               }
+       }
 
        // Custom Content Directory needs updating now.
        // Copy Languages
 
        // Custom Content Directory needs updating now.
        // Copy Languages
@@ -711,11 +799,18 @@ function update_core($from, $to) {
 
                if ( @is_dir($lang_dir) ) {
                        $wp_lang_dir = $wp_filesystem->find_folder($lang_dir);
 
                if ( @is_dir($lang_dir) ) {
                        $wp_lang_dir = $wp_filesystem->find_folder($lang_dir);
-                       if ( $wp_lang_dir )
+                       if ( $wp_lang_dir ) {
                                $result = copy_dir($from . $distro . 'wp-content/languages/', $wp_lang_dir);
                                $result = copy_dir($from . $distro . 'wp-content/languages/', $wp_lang_dir);
+                               if ( is_wp_error( $result ) )
+                                       $result = new WP_Error( $result->get_error_code() . '_languages', $result->get_error_message(), substr( $result->get_error_data(), strlen( $wp_lang_dir ) ) );
+                       }
                }
        }
 
                }
        }
 
+       apply_filters( 'update_feedback', __( 'Disabling Maintenance mode&#8230;' ) );
+       // Remove maintenance file, we're done with potential site-breaking changes
+       $wp_filesystem->delete( $maintenance_file );
+
        // 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, preventing installation of Twenty Twelve.
        if ( '3.5' == $old_wp_version ) {
                if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' )  ) {
        // 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, preventing installation of Twenty Twelve.
        if ( '3.5' == $old_wp_version ) {
                if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' )  ) {
@@ -749,15 +844,20 @@ function update_core($from, $to) {
                                                continue;
 
                                        if ( ! $wp_filesystem->copy($from . $distro . 'wp-content/' . $file, $dest . $filename, FS_CHMOD_FILE) )
                                                continue;
 
                                        if ( ! $wp_filesystem->copy($from . $distro . 'wp-content/' . $file, $dest . $filename, FS_CHMOD_FILE) )
-                                               $result = new WP_Error('copy_failed', __('Could not copy file.'), $dest . $filename);
+                                               $result = new WP_Error( "copy_failed_for_new_bundled_$type", __( 'Could not copy file.' ), $dest . $filename );
                                } else {
                                        if ( ! $development_build && $wp_filesystem->is_dir( $dest . $filename ) )
                                                continue;
 
                                        $wp_filesystem->mkdir($dest . $filename, FS_CHMOD_DIR);
                                        $_result = copy_dir( $from . $distro . 'wp-content/' . $file, $dest . $filename);
                                } else {
                                        if ( ! $development_build && $wp_filesystem->is_dir( $dest . $filename ) )
                                                continue;
 
                                        $wp_filesystem->mkdir($dest . $filename, FS_CHMOD_DIR);
                                        $_result = copy_dir( $from . $distro . 'wp-content/' . $file, $dest . $filename);
-                                       if ( is_wp_error($_result) ) //If a error occurs partway through this final step, keep the error flowing through, but keep process going.
-                                               $result = $_result;
+
+                                       // If a error occurs partway through this final step, keep the error flowing through, but keep process going.
+                                       if ( is_wp_error( $_result ) ) {
+                                               if ( ! is_wp_error( $result ) )
+                                                       $result = new WP_Error;
+                                               $result->add( $_result->get_error_code() . "_$type", $_result->get_error_message(), substr( $_result->get_error_data(), strlen( $dest ) ) );
+                                       }
                                }
                        }
                } //end foreach
                                }
                        }
                } //end foreach
@@ -765,7 +865,6 @@ function update_core($from, $to) {
 
        // Handle $result error from the above blocks
        if ( is_wp_error($result) ) {
 
        // Handle $result error from the above blocks
        if ( is_wp_error($result) ) {
-               $wp_filesystem->delete($maintenance_file);
                $wp_filesystem->delete($from, true);
                return $result;
        }
                $wp_filesystem->delete($from, true);
                return $result;
        }
@@ -792,12 +891,13 @@ function update_core($from, $to) {
        else
                delete_option('update_core');
 
        else
                delete_option('update_core');
 
-       // Remove maintenance file, we're done.
-       $wp_filesystem->delete($maintenance_file);
-
        // If we made it this far:
        do_action( '_core_updated_successfully', $wp_version );
 
        // If we made it this far:
        do_action( '_core_updated_successfully', $wp_version );
 
+       // Clear the option that blocks auto updates after failures, now that we've been successful.
+       if ( function_exists( 'delete_site_option' ) )
+               delete_site_option( 'auto_core_update_failed' );
+
        return $wp_version;
 }
 
        return $wp_version;
 }
 
@@ -805,10 +905,12 @@ function update_core($from, $to) {
  * Copies a directory from one location to another via the WordPress Filesystem Abstraction.
  * Assumes that WP_Filesystem() has already been called and setup.
  *
  * Copies a directory from one location to another via the WordPress Filesystem Abstraction.
  * Assumes that WP_Filesystem() has already been called and setup.
  *
- * This is a temporary function for the 3.1 -> 3.2 upgrade only and will be removed in 3.3
+ * This is a temporary function for the 3.1 -> 3.2 upgrade, as well as for those upgrading to
+ * 3.7+
  *
  * @ignore
  * @since 3.2.0
  *
  * @ignore
  * @since 3.2.0
+ * @since 3.7.0 Updated not to use a regular expression for the skip list
  * @see copy_dir()
  *
  * @param string $from source directory
  * @see copy_dir()
  *
  * @param string $from source directory
@@ -824,31 +926,31 @@ function _copy_dir($from, $to, $skip_list = array() ) {
        $from = trailingslashit($from);
        $to = trailingslashit($to);
 
        $from = trailingslashit($from);
        $to = trailingslashit($to);
 
-       $skip_regex = '';
-       foreach ( (array)$skip_list as $key => $skip_file )
-               $skip_regex .= preg_quote($skip_file, '!') . '|';
-
-       if ( !empty($skip_regex) )
-               $skip_regex = '!(' . rtrim($skip_regex, '|') . ')$!i';
-
        foreach ( (array) $dirlist as $filename => $fileinfo ) {
        foreach ( (array) $dirlist as $filename => $fileinfo ) {
-               if ( !empty($skip_regex) )
-                       if ( preg_match($skip_regex, $from . $filename) )
-                               continue;
+               if ( in_array( $filename, $skip_list ) )
+                       continue;
 
                if ( 'f' == $fileinfo['type'] ) {
                        if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) {
                                // If copy failed, chmod file to 0644 and try again.
 
                if ( 'f' == $fileinfo['type'] ) {
                        if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) {
                                // If copy failed, chmod file to 0644 and try again.
-                               $wp_filesystem->chmod($to . $filename, 0644);
+                               $wp_filesystem->chmod( $to . $filename, FS_CHMOD_FILE );
                                if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) )
                                if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) )
-                                       return new WP_Error('copy_failed', __('Could not copy file.'), $to . $filename);
+                                       return new WP_Error( 'copy_failed__copy_dir', __( 'Could not copy file.' ), $to . $filename );
                        }
                } elseif ( 'd' == $fileinfo['type'] ) {
                        if ( !$wp_filesystem->is_dir($to . $filename) ) {
                                if ( !$wp_filesystem->mkdir($to . $filename, FS_CHMOD_DIR) )
                        }
                } elseif ( 'd' == $fileinfo['type'] ) {
                        if ( !$wp_filesystem->is_dir($to . $filename) ) {
                                if ( !$wp_filesystem->mkdir($to . $filename, FS_CHMOD_DIR) )
-                                       return new WP_Error('mkdir_failed', __('Could not create directory.'), $to . $filename);
+                                       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
+                       $sub_skip_list = array();
+                       foreach ( $skip_list as $skip_item ) {
+                               if ( 0 === strpos( $skip_item, $filename . '/' ) )
+                                       $sub_skip_list[] = preg_replace( '!^' . preg_quote( $filename, '!' ) . '/!i', '', $skip_item );
                        }
                        }
-                       $result = _copy_dir($from . $filename, $to . $filename, $skip_list);
+
+                       $result = _copy_dir($from . $filename, $to . $filename, $sub_skip_list);
                        if ( is_wp_error($result) )
                                return $result;
                }
                        if ( is_wp_error($result) )
                                return $result;
                }
@@ -870,7 +972,7 @@ function _redirect_to_about_wordpress( $new_version ) {
        if ( version_compare( $wp_version, '3.4-RC1', '>=' ) )
                return;
 
        if ( version_compare( $wp_version, '3.4-RC1', '>=' ) )
                return;
 
-       // Ensure we only run this on the update-core.php page. wp_update_core() could be called in other contexts.
+       // Ensure we only run this on the update-core.php page. The Core_Upgrader may be used in other contexts.
        if ( 'update-core.php' != $pagenow )
                return;
 
        if ( 'update-core.php' != $pagenow )
                return;
 
index 5cca9dca6bac01ca4a01715a0b4364da1272e9f3..147ce4a10f4b06ec4efadc81b659e988450891e1 100644 (file)
@@ -6,8 +6,6 @@
  * @subpackage Administration
  */
 
  * @subpackage Administration
  */
 
-// The admin side of our 1.1 update system
-
 /**
  * Selects the first update version from the update_core option
  *
 /**
  * Selects the first update version from the update_core option
  *
  */
 function get_preferred_from_update_core() {
        $updates = get_core_updates();
  */
 function get_preferred_from_update_core() {
        $updates = get_core_updates();
-       if ( !is_array( $updates ) )
+       if ( ! is_array( $updates ) )
                return false;
        if ( empty( $updates ) )
                return false;
        if ( empty( $updates ) )
-               return (object)array('response' => 'latest');
+               return (object) array( 'response' => 'latest' );
        return $updates[0];
 }
 
        return $updates[0];
 }
 
@@ -30,51 +28,129 @@ function get_preferred_from_update_core() {
  * @return array Array of the update objects
  */
 function get_core_updates( $options = array() ) {
  * @return array Array of the update objects
  */
 function get_core_updates( $options = array() ) {
-       $options = array_merge( array('available' => true, 'dismissed' => false ), $options );
+       $options = array_merge( array( 'available' => true, 'dismissed' => false ), $options );
        $dismissed = get_site_option( 'dismissed_update_core' );
        $dismissed = get_site_option( 'dismissed_update_core' );
-       if ( !is_array( $dismissed ) ) $dismissed = array();
+
+       if ( ! is_array( $dismissed ) )
+               $dismissed = array();
+
        $from_api = get_site_transient( 'update_core' );
        $from_api = get_site_transient( 'update_core' );
-       if ( empty($from_api) )
+
+       if ( ! isset( $from_api->updates ) || ! is_array( $from_api->updates ) )
                return false;
                return false;
-       if ( !isset( $from_api->updates ) || !is_array( $from_api->updates ) ) return false;
+
        $updates = $from_api->updates;
        $updates = $from_api->updates;
-       if ( !is_array( $updates ) ) return false;
        $result = array();
        $result = array();
-       foreach($updates as $update) {
-               if ( array_key_exists( $update->current.'|'.$update->locale, $dismissed ) ) {
+       foreach ( $updates as $update ) {
+               if ( $update->response == 'autoupdate' )
+                       continue;
+
+               if ( array_key_exists( $update->current . '|' . $update->locale, $dismissed ) ) {
                        if ( $options['dismissed'] ) {
                                $update->dismissed = true;
                        if ( $options['dismissed'] ) {
                                $update->dismissed = true;
-                               $result[]= $update;
+                               $result[] = $update;
                        }
                } else {
                        if ( $options['available'] ) {
                                $update->dismissed = false;
                        }
                } else {
                        if ( $options['available'] ) {
                                $update->dismissed = false;
-                               $result[]= $update;
+                               $result[] = $update;
                        }
                }
        }
        return $result;
 }
 
                        }
                }
        }
        return $result;
 }
 
+/**
+ * Gets the best available (and enabled) Auto-Update for WordPress Core.
+ *
+ * If there's 1.2.3 and 1.3 on offer, it'll choose 1.3 if the install allows it, else, 1.2.3
+ *
+ * @since 3.7.0
+ *
+ * @return bool|array False on failure, otherwise the core update offering.
+ */
+function find_core_auto_update() {
+       $updates = get_site_transient( 'update_core' );
+       if ( ! $updates || empty( $updates->updates ) )
+               return false;
+
+       include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+
+       $auto_update = false;
+       $upgrader = new WP_Automatic_Updater;
+       foreach ( $updates->updates as $update ) {
+               if ( 'autoupdate' != $update->response )
+                       continue;
+
+               if ( ! $upgrader->should_update( 'core', $update, ABSPATH ) )
+                       continue;
+
+               if ( ! $auto_update || version_compare( $update->current, $auto_update->current, '>' ) )
+                       $auto_update = $update;
+       }
+       return $auto_update;
+}
+
+/**
+ * Gets and caches the checksums for the given version of WordPress.
+ *
+ * @since 3.7.0
+ *
+ * @param string $version Version string to query.
+ * @param string $locale  Locale to query.
+ * @return bool|array False on failure. An array of checksums on success.
+ */
+function get_core_checksums( $version, $locale ) {
+       $return = array();
+
+       $url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( compact( 'version', 'locale' ), null, '&' );
+
+       if ( wp_http_supports( array( 'ssl' ) ) )
+               $url = set_url_scheme( $url, 'https' );
+
+       $options = array(
+               'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ),
+       );
+
+       $response = wp_remote_get( $url, $options );
+
+       if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
+               return false;
+
+       $body = trim( wp_remote_retrieve_body( $response ) );
+       $body = json_decode( $body, true );
+
+       if ( ! is_array( $body ) || ! isset( $body['checksums'] ) || ! is_array( $body['checksums'] ) )
+               return false;
+
+       return $body['checksums'];
+}
+
 function dismiss_core_update( $update ) {
        $dismissed = get_site_option( 'dismissed_update_core' );
 function dismiss_core_update( $update ) {
        $dismissed = get_site_option( 'dismissed_update_core' );
-       $dismissed[ $update->current.'|'.$update->locale ] = true;
+       $dismissed[ $update->current . '|' . $update->locale ] = true;
        return update_site_option( 'dismissed_update_core', $dismissed );
 }
 
 function undismiss_core_update( $version, $locale ) {
        $dismissed = get_site_option( 'dismissed_update_core' );
        return update_site_option( 'dismissed_update_core', $dismissed );
 }
 
 function undismiss_core_update( $version, $locale ) {
        $dismissed = get_site_option( 'dismissed_update_core' );
-       $key = $version.'|'.$locale;
-       if ( !isset( $dismissed[$key] ) ) return false;
+       $key = $version . '|' . $locale;
+
+       if ( ! isset( $dismissed[$key] ) )
+               return false;
+
        unset( $dismissed[$key] );
        return update_site_option( 'dismissed_update_core', $dismissed );
 }
 
 function find_core_update( $version, $locale ) {
        $from_api = get_site_transient( 'update_core' );
        unset( $dismissed[$key] );
        return update_site_option( 'dismissed_update_core', $dismissed );
 }
 
 function find_core_update( $version, $locale ) {
        $from_api = get_site_transient( 'update_core' );
-       if ( !is_array( $from_api->updates ) ) return false;
+
+       if ( ! isset( $from_api->updates ) || ! is_array( $from_api->updates ) )
+               return false;
+
        $updates = $from_api->updates;
        $updates = $from_api->updates;
-       foreach($updates as $update) {
+       foreach ( $updates as $update ) {
                if ( $update->current == $version && $update->locale == $locale )
                        return $update;
        }
                if ( $update->current == $version && $update->locale == $locale )
                        return $update;
        }
@@ -211,15 +287,6 @@ function wp_plugin_update_row( $file, $plugin_data ) {
        }
 }
 
        }
 }
 
-function wp_update_plugin($plugin, $feedback = '') {
-       if ( !empty($feedback) )
-               add_filter('update_feedback', $feedback);
-
-       include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
-       $upgrader = new Plugin_Upgrader();
-       return $upgrader->upgrade($plugin);
-}
-
 function get_theme_updates() {
        $themes = wp_get_themes();
        $current = get_site_transient('update_themes');
 function get_theme_updates() {
        $themes = wp_get_themes();
        $current = get_site_transient('update_themes');
@@ -236,15 +303,6 @@ function get_theme_updates() {
        return $update_themes;
 }
 
        return $update_themes;
 }
 
-function wp_update_theme($theme, $feedback = '') {
-       if ( !empty($feedback) )
-               add_filter('update_feedback', $feedback);
-
-       include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
-       $upgrader = new Theme_Upgrader();
-       return $upgrader->upgrade($theme);
-}
-
 function wp_theme_update_rows() {
        if ( !current_user_can('update_themes' ) )
                return;
 function wp_theme_update_rows() {
        if ( !current_user_can('update_themes' ) )
                return;
@@ -285,19 +343,28 @@ function wp_theme_update_row( $theme_key, $theme ) {
        echo '</div></td></tr>';
 }
 
        echo '</div></td></tr>';
 }
 
-function wp_update_core($current, $feedback = '') {
-       if ( !empty($feedback) )
-               add_filter('update_feedback', $feedback);
-
-       include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
-       $upgrader = new Core_Upgrader();
-       return $upgrader->upgrade($current);
-
-}
-
 function maintenance_nag() {
 function maintenance_nag() {
+       include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
        global $upgrading;
        global $upgrading;
-       if ( ! isset( $upgrading ) )
+       $nag = isset( $upgrading );
+       if ( ! $nag ) {
+               $failed = get_site_option( 'auto_core_update_failed' );
+               /*
+                * If an update failed critically, we may have copied over version.php but not other files.
+                * In that case, if the install claims we're running the version we attempted, nag.
+                * This is serious enough to err on the side of nagging.
+                *
+                * If we simply failed to update before we tried to copy any files, then assume things are
+                * OK if they are now running the latest.
+                *
+                * This flag is cleared whenever a successful update occurs using Core_Upgrader.
+                */
+               $comparison = ! empty( $failed['critical'] ) ? '>=' : '>';
+               if ( version_compare( $failed['attempted'], $wp_version, '>=' ) )
+                       $nag = true;
+       }
+
+       if ( ! $nag )
                return false;
 
        if ( current_user_can('update_core') )
                return false;
 
        if ( current_user_can('update_core') )
@@ -308,3 +375,4 @@ function maintenance_nag() {
        echo "<div class='update-nag'>$msg</div>";
 }
 add_action( 'admin_notices', 'maintenance_nag' );
        echo "<div class='update-nag'>$msg</div>";
 }
 add_action( 'admin_notices', 'maintenance_nag' );
+add_action( 'network_admin_notices', 'maintenance_nag' );
index 0d17d8fce4d4ac1060364c54a380ae97a6e871cf..b1b85555e3c393d47aed918c3f644bd309ff6f6b 100644 (file)
@@ -402,6 +402,9 @@ function upgrade_all() {
        if ( $wp_current_db_version < 22422 )
                upgrade_350();
 
        if ( $wp_current_db_version < 22422 )
                upgrade_350();
 
+       if ( $wp_current_db_version < 25824 )
+               upgrade_370();
+
        maybe_disable_link_manager();
 
        maybe_disable_automattic_widgets();
        maybe_disable_link_manager();
 
        maybe_disable_automattic_widgets();
@@ -1208,6 +1211,17 @@ function upgrade_350() {
                wp_delete_term( $term->term_id, 'post_format' );
 }
 
                wp_delete_term( $term->term_id, 'post_format' );
 }
 
+/**
+ * Execute changes made in WordPress 3.7.
+ *
+ * @since 3.7.0
+ */
+function upgrade_370() {
+       global $wp_current_db_version;
+       if ( $wp_current_db_version < 25824 )
+               wp_clear_scheduled_hook( 'wp_auto_updates_maybe_update' );
+}
+
 /**
  * Execute network level changes
  *
 /**
  * Execute network level changes
  *
@@ -1215,6 +1229,20 @@ function upgrade_350() {
  */
 function upgrade_network() {
        global $wp_current_db_version, $wpdb;
  */
 function upgrade_network() {
        global $wp_current_db_version, $wpdb;
+
+       // 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.
+               $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");
+       }
+
        // 2.8
        if ( $wp_current_db_version < 11549 ) {
                $wpmu_sitewide_plugins = get_site_option( 'wpmu_sitewide_plugins' );
        // 2.8
        if ( $wp_current_db_version < 11549 ) {
                $wpmu_sitewide_plugins = get_site_option( 'wpmu_sitewide_plugins' );
@@ -1978,6 +2006,22 @@ function pre_schema_upgrade() {
                $wpdb->query("ALTER TABLE $wpdb->options DROP INDEX option_name");
        }
 
                $wpdb->query("ALTER TABLE $wpdb->options DROP INDEX option_name");
        }
 
+       // Multisite schema upgrades.
+       if ( $wp_current_db_version < 25448 && is_multisite() && ! defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) && is_main_network() ) {
+
+               // Upgrade verions prior to 3.7
+               if ( $wp_current_db_version < 25179 ) {
+                       // New primary key for signups.
+                       $wpdb->query( "ALTER TABLE $wpdb->signups ADD signup_id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST" );
+                       $wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain" );
+               }
+
+               if ( $wp_current_db_version < 25448 ) {
+                       // Convert archived from enum to tinyint.
+                       $wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived varchar(1) NOT NULL default '0'" );
+                       $wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived tinyint(2) NOT NULL default 0" );
+               }
+       }
 }
 
 /**
 }
 
 /**
index 9e9d94494c396c3df8f226d19a7c7fff83692b5e..b61cb7ad357bfb2a1010192c9e9eb0f2f79fe489 100644 (file)
@@ -85,7 +85,7 @@ function edit_user( $user_id = 0 ) {
        if ( isset( $_POST['description'] ) )
                $user->description = trim( $_POST['description'] );
 
        if ( isset( $_POST['description'] ) )
                $user->description = trim( $_POST['description'] );
 
-       foreach ( _wp_get_user_contactmethods( $user ) as $method => $name ) {
+       foreach ( wp_get_user_contact_methods( $user ) as $method => $name ) {
                if ( isset( $_POST[$method] ))
                        $user->$method = sanitize_text_field( $_POST[$method] );
        }
                if ( isset( $_POST[$method] ))
                        $user->$method = sanitize_text_field( $_POST[$method] );
        }
@@ -195,12 +195,13 @@ function get_editable_roles() {
  * @since 2.0.5
  *
  * @param int $user_id User ID.
  * @since 2.0.5
  *
  * @param int $user_id User ID.
- * @return object WP_User object with user data.
+ * @return WP_User|bool WP_User object on success, false on failure.
  */
 function get_user_to_edit( $user_id ) {
        $user = get_userdata( $user_id );
 
  */
 function get_user_to_edit( $user_id ) {
        $user = get_userdata( $user_id );
 
-       $user->filter = 'edit';
+       if ( $user )
+               $user->filter = 'edit';
 
        return $user;
 }
 
        return $user;
 }
index b476267cb84ebb04a0009eec4d3743998272a3e0..d74a45b8b3908bab09b145efffe21517726d35a1 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** Load WordPress Bootstrap */
  */
 
 /** Load WordPress Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 /** Load WordPress dashboard API */
 require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
 
 /** Load WordPress dashboard API */
 require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
@@ -120,7 +120,17 @@ $today = current_time('mysql', 1);
        <div id="welcome-panel" class="<?php echo esc_attr( $classes ); ?>">
                <?php wp_nonce_field( 'welcome-panel-nonce', 'welcomepanelnonce', false ); ?>
                <a class="welcome-panel-close" href="<?php echo esc_url( admin_url( '?welcome=0' ) ); ?>"><?php _e( 'Dismiss' ); ?></a>
        <div id="welcome-panel" class="<?php echo esc_attr( $classes ); ?>">
                <?php wp_nonce_field( 'welcome-panel-nonce', 'welcomepanelnonce', false ); ?>
                <a class="welcome-panel-close" href="<?php echo esc_url( admin_url( '?welcome=0' ) ); ?>"><?php _e( 'Dismiss' ); ?></a>
-               <?php do_action( 'welcome_panel' ); ?>
+               <?php
+               /**
+                * Add content to the welcome panel on the admin dashboard.
+                *
+                * To remove the default welcome panel, use remove_action():
+                * <code>remove_action( 'welcome_panel', 'wp_welcome_panel' );</code>
+                *
+                * @since 3.5.0
+                */
+               do_action( 'welcome_panel' );
+               ?>
        </div>
 <?php endif; ?>
 
        </div>
 <?php endif; ?>
 
index 71d59a9c49b96a448a518988f02fff461761edae..0b6ac2edb3528204c7ee8a73f4790d429500d880 100644 (file)
@@ -36,10 +36,10 @@ define( 'WP_INSTALLING', true );
 require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 
 /** Load WordPress Administration Upgrade API */
 require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 
 /** Load WordPress Administration Upgrade API */
-require_once( dirname( __FILE__ ) . '/includes/upgrade.php' );
+require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
 
 /** Load wpdb */
 
 /** Load wpdb */
-require_once(dirname(dirname(__FILE__)) . '/wp-includes/wp-db.php');
+require_once( ABSPATH . 'wp-includes/wp-db.php' );
 
 $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
 
 
 $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0;
 
@@ -85,13 +85,13 @@ function display_setup_form( $error = null ) {
                $blog_public = isset( $_POST['blog_public'] );
 
        $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_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';
+       $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 ) ) {
 ?>
        $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 printf( __( '<strong>ERROR</strong>: %s' ), $error ); ?></p>
+<p class="message"><?php echo $error; ?></p>
 <?php } ?>
 <form id="setup" method="post" action="install.php?step=2">
        <table class="form-table">
 <?php } ?>
 <form id="setup" method="post" action="install.php?step=2">
        <table class="form-table">
@@ -190,7 +190,7 @@ switch($step) {
                display_header();
                // Fill in the data we gathered
                $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : '';
                display_header();
                // Fill in the data we gathered
                $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';
+               $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'] ) ) : '';
                $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'] ) ) : '';
@@ -199,22 +199,22 @@ switch($step) {
                $error = false;
                if ( empty( $user_name ) ) {
                        // TODO: poka-yoke
                $error = false;
                if ( empty( $user_name ) ) {
                        // TODO: poka-yoke
-                       display_setup_form( __('you must provide a valid username.') );
+                       display_setup_form( __( 'Please provide a valid username.' ) );
                        $error = true;
                } elseif ( $user_name != sanitize_user( $user_name, true ) ) {
                        $error = true;
                } elseif ( $user_name != sanitize_user( $user_name, true ) ) {
-                       display_setup_form( __('the username you provided has invalid characters.') );
+                       display_setup_form( __( 'The username you provided has invalid characters.' ) );
                        $error = true;
                } elseif ( $admin_password != $admin_password_check ) {
                        // TODO: poka-yoke
                        $error = true;
                } elseif ( $admin_password != $admin_password_check ) {
                        // TODO: poka-yoke
-                       display_setup_form( __( 'your passwords do not match. Please try again' ) );
+                       display_setup_form( __( 'Your passwords do not match. Please try again.' ) );
                        $error = true;
                } else if ( empty( $admin_email ) ) {
                        // TODO: poka-yoke
                        $error = true;
                } else if ( empty( $admin_email ) ) {
                        // TODO: poka-yoke
-                       display_setup_form( __( 'you must provide an e-mail address.' ) );
+                       display_setup_form( __( 'You must provide an email address.' ) );
                        $error = true;
                } elseif ( ! is_email( $admin_email ) ) {
                        // TODO: poka-yoke
                        $error = true;
                } elseif ( ! is_email( $admin_email ) ) {
                        // TODO: poka-yoke
-                       display_setup_form( __( 'that isn&#8217;t a valid e-mail address. E-mail addresses look like: <code>username@example.com</code>' ) );
+                       display_setup_form( __( 'Sorry, that isn&#8217;t a valid email address. Email addresses look like <code>username@example.com</code>.' ) );
                        $error = true;
                }
 
                        $error = true;
                }
 
diff --git a/wp-admin/js/about.js b/wp-admin/js/about.js
new file mode 100644 (file)
index 0000000..3aaa66d
--- /dev/null
@@ -0,0 +1,80 @@
+(function($){
+       var password = 'Gosh, WordPress is grand.',
+               $input = $('#pass'),
+               shouldAnimate = true,
+               timesForAnimation = [280, 300, 305, 310, 315, 325, 330, 345, 360, 370, 380, 400, 450, 500, 600],
+               resultsCache = {},
+               indicatorString = $('#pass-strength-result').text();
+
+       function updateResult(){
+               var strength;
+
+               if ( typeof( resultsCache[ $input.val() ]) === 'undefined') {
+                       strength = wp.passwordStrength.meter($input.val(), [], $input.val());
+                       resultsCache[ $input.val() ] = strength;
+               } else {
+                       strength = resultsCache[ $input.val() ];
+               }
+
+               $('#pass-strength-result').removeClass('short bad good strong');
+               switch ( strength ) {
+                       case 2:
+                               $('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
+                               break;
+                       case 3:
+                               $('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
+                               break;
+                       case 4:
+                               $('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
+                               break;
+                       default:
+                               $('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
+               }
+       }
+       function resetMeter(){
+               $input.val('');
+               $('#pass-strength-result').text(indicatorString);
+               $('#pass-strength-result').removeClass('short bad good strong');
+       }
+
+       function animate(){
+               if (shouldAnimate === false)
+                       return;
+               if ($input.val().length < password.length){
+                       $input.val( password.substr(0, $input.val().length + 1) );
+                       updateResult();
+
+                       // Look like real typing by changing the speed new letters are added each time
+                       setTimeout( animate, ( timesForAnimation[ Math.floor( Math.random() * timesForAnimation.length ) ] ) );
+               } else {
+                       resetMeter();
+
+                       // When we reset, let's wait a bit longer than normal to start again
+                       setTimeout(animate, 700);
+               }
+
+       }
+
+       function begin(){
+               // we async load zxcvbn, so we need to make sure it's loaded before starting
+               if (typeof(zxcvbn) !== 'undefined')
+                       animate();
+               else
+                       setTimeout(begin,800);
+       }
+
+       // Turn off the animation on focus
+       $input.on('focus', function(){
+               shouldAnimate = false;
+               resetMeter();
+       });
+
+       // Act like a normal password strength meter
+       $input.on('keyup', function(){
+               updateResult();
+       });
+
+       // Start the animation
+       begin();
+
+})(jQuery);
diff --git a/wp-admin/js/about.min.js b/wp-admin/js/about.min.js
new file mode 100644 (file)
index 0000000..4720562
--- /dev/null
@@ -0,0 +1 @@
+!function(a){function b(){var b;switch("undefined"==typeof j[g.val()]?(b=wp.passwordStrength.meter(g.val(),[],g.val()),j[g.val()]=b):b=j[g.val()],a("#pass-strength-result").removeClass("short bad good strong"),b){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}function c(){g.val(""),a("#pass-strength-result").text(k),a("#pass-strength-result").removeClass("short bad good strong")}function d(){h!==!1&&(g.val().length<f.length?(g.val(f.substr(0,g.val().length+1)),b(),setTimeout(d,i[Math.floor(Math.random()*i.length)])):(c(),setTimeout(d,700)))}function e(){"undefined"!=typeof zxcvbn?d():setTimeout(e,800)}var f="Gosh, WordPress is grand.",g=a("#pass"),h=!0,i=[280,300,305,310,315,325,330,345,360,370,380,400,450,500,600],j={},k=a("#pass-strength-result").text();g.on("focus",function(){h=!1,c()}),g.on("keyup",function(){b()}),e()}(jQuery);
\ No newline at end of file
index 9a9355a2912153a870ed2d921f45d3f4e09bbdad..a67e7572ab14f57b7b27413e0503152638eb8cc6 100644 (file)
@@ -1 +1 @@
-(function(e){e(document).ready(function(){e(".accordion-container").on("click keydown",".accordion-section-title",function(f){if(f.type==="keydown"&&13!==f.which){return}f.preventDefault();a(e(this))});e(".hide-postbox-tog").click(function(){d()})});var b=e(".accordion-container li.accordion-section"),c=e(".accordion-section-content");function d(){b.removeClass("top bottom");b.filter(":visible").first().addClass("top");b.filter(":visible").last().addClass("bottom").find(c).addClass("bottom")}function a(f){var h=f.closest(".accordion-section"),i=h.closest(".accordion-container").find(".open"),g=h.find(c);if(h.hasClass("cannot-expand")){return}if(h.hasClass("open")){h.toggleClass("open");g.toggle(true).slideToggle(150)}else{i.removeClass("open");i.find(c).show().slideUp(150);g.toggle(false).slideToggle(150);h.toggleClass("open")}d()}d()})(jQuery);
\ No newline at end of file
+!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
diff --git a/wp-admin/js/cat.js b/wp-admin/js/cat.js
deleted file mode 100644 (file)
index 772ab5a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-jQuery(document).ready( function($) {
-       var myConfirm = function() { return '' !== $('#newcat').val(); };
-       $('#jaxcat').prepend('<span id="ajaxcat"><input type="text" name="newcat" id="newcat" size="16" autocomplete="off"/><input type="button" name="Button" data-wp-lists="add:categorychecklist:jaxcat" id="catadd" value="' + catL10n.add + '"/><input type="hidden"/><input type="hidden"/><span id="howto">' + catL10n.how + '</span></span><span id="cat-ajax-response"></span>');
-       $('#categorychecklist').wpList( { alt: '', response: 'cat-ajax-response', confirm: myConfirm } );
-} );
diff --git a/wp-admin/js/cat.min.js b/wp-admin/js/cat.min.js
deleted file mode 100644 (file)
index f286d61..0000000
+++ /dev/null
@@ -1 +0,0 @@
-jQuery(document).ready(function(b){var a=function(){return""!==b("#newcat").val()};b("#jaxcat").prepend('<span id="ajaxcat"><input type="text" name="newcat" id="newcat" size="16" autocomplete="off"/><input type="button" name="Button" data-wp-lists="add:categorychecklist:jaxcat" id="catadd" value="'+catL10n.add+'"/><input type="hidden"/><input type="hidden"/><span id="howto">'+catL10n.how+'</span></span><span id="cat-ajax-response"></span>');b("#categorychecklist").wpList({alt:"",response:"cat-ajax-response",confirm:a})});
\ No newline at end of file
index 178ab37821bf8611e3720891ae8ec9e35f25a316..2a3745703855dd030352e04f72fca9ff581caee8 100644 (file)
@@ -1 +1 @@
-(function(f,e){var a='<a tabindex="0" class="wp-color-result" />',c='<div class="wp-picker-holder" />',b='<div class="wp-picker-container" />',g='<input type="button" class="button button-small hidden" />';var d={options:{defaultColor:false,change:false,clear:false,hide:true,palettes:true},_create:function(){if(!f.support.iris){return}var h=this;var i=h.element;f.extend(h.options,i.data());h.initialValue=i.val();i.addClass("wp-color-picker").hide().wrap(b);h.wrap=i.parent();h.toggler=f(a).insertBefore(i).css({backgroundColor:h.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current);h.pickerContainer=f(c).insertAfter(i);h.button=f(g);if(h.options.defaultColor){h.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString)}else{h.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear)}i.wrap('<span class="wp-picker-input-wrap" />').after(h.button);i.iris({target:h.pickerContainer,hide:true,width:255,mode:"hsv",palettes:h.options.palettes,change:function(j,k){h.toggler.css({backgroundColor:k.color.toString()});if(f.isFunction(h.options.change)){h.options.change.call(this,j,k)}}});i.val(h.initialValue);h._addListeners();if(!h.options.hide){h.toggler.click()}},_addListeners:function(){var h=this;h.toggler.click(function(i){i.stopPropagation();h.element.toggle().iris("toggle");h.button.toggleClass("hidden");h.toggler.toggleClass("wp-picker-open");if(h.toggler.hasClass("wp-picker-open")){f("body").on("click",{wrap:h.wrap,toggler:h.toggler},h._bodyListener)}else{f("body").off("click",h._bodyListener)}});h.element.change(function(j){var i=f(this),k=i.val();if(k===""||k==="#"){h.toggler.css("backgroundColor","");if(f.isFunction(h.options.clear)){h.options.clear.call(this,j)}}});h.toggler.on("keyup",function(i){if(i.keyCode===13||i.keyCode===32){i.preventDefault();h.toggler.trigger("click").next().focus()}});h.button.click(function(j){var i=f(this);if(i.hasClass("wp-picker-clear")){h.element.val("");h.toggler.css("backgroundColor","");if(f.isFunction(h.options.clear)){h.options.clear.call(this,j)}}else{if(i.hasClass("wp-picker-default")){h.element.val(h.options.defaultColor).change()}}})},_bodyListener:function(h){if(!h.data.wrap.find(h.target).length){h.data.toggler.click()}},color:function(h){if(h===e){return this.element.iris("option","color")}this.element.iris("option","color",h)},defaultColor:function(h){if(h===e){return this.options.defaultColor}this.options.defaultColor=h}};f.widget("wp.wpColorPicker",d)}(jQuery));
\ No newline at end of file
+!function(a,b){var c='<a tabindex="0" class="wp-color-result" />',d='<div class="wp-picker-holder" />',e='<div class="wp-picker-container" />',f='<input type="button" class="button button-small hidden" />',g={options:{defaultColor:!1,change:!1,clear:!1,hide:!0,palettes:!0},_create:function(){if(a.support.iris){var b=this,g=b.element;a.extend(b.options,g.data()),b.initialValue=g.val(),g.addClass("wp-color-picker").hide().wrap(e),b.wrap=g.parent(),b.toggler=a(c).insertBefore(g).css({backgroundColor:b.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current),b.pickerContainer=a(d).insertAfter(g),b.button=a(f),b.options.defaultColor?b.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString):b.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear),g.wrap('<span class="wp-picker-input-wrap" />').after(b.button),g.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)}}),g.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"):(this.element.iris("option","color",a),void 0)},defaultColor:function(a){return a===b?this.options.defaultColor:(this.options.defaultColor=a,void 0)}};a.widget("wp.wpColorPicker",g)}(jQuery);
\ No newline at end of file
index e5a48a5ec233921b7a9a7a7c418cd0c4c5415194..fbfa877a76469500689c952f5fc0ef6a53c2ad30 100644 (file)
@@ -1 +1 @@
-jQuery(document).ready(function(b){postboxes.add_postbox_toggles("comment");var a=b("#timestamp").html();b(".edit-timestamp").click(function(){if(b("#timestampdiv").is(":hidden")){b("#timestampdiv").slideDown("normal");b(".edit-timestamp").hide()}return false});b(".cancel-timestamp").click(function(){b("#timestampdiv").slideUp("normal");b("#mm").val(b("#hidden_mm").val());b("#jj").val(b("#hidden_jj").val());b("#aa").val(b("#hidden_aa").val());b("#hh").val(b("#hidden_hh").val());b("#mn").val(b("#hidden_mn").val());b("#timestamp").html(a);b(".edit-timestamp").show();return false});b(".save-timestamp").click(function(){var g=b("#aa").val(),h=b("#mm").val(),d=b("#jj").val(),c=b("#hh").val(),f=b("#mn").val(),e=new Date(g,h-1,d,c,f);if(e.getFullYear()!=g||(1+e.getMonth())!=h||e.getDate()!=d||e.getMinutes()!=f){b(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false}else{b(".timestamp-wrap","#timestampdiv").removeClass("form-invalid")}b("#timestampdiv").slideUp("normal");b(".edit-timestamp").show();b("#timestamp").html(commentL10n.submittedOn+" <b>"+b('#mm option[value="'+h+'"]').text()+" "+d+", "+g+" @ "+c+":"+f+"</b> ");return false})});
\ No newline at end of file
+jQuery(document).ready(function(a){postboxes.add_postbox_toggles("comment");var b=a("#timestamp").html();a(".edit-timestamp").click(function(){return a("#timestampdiv").is(":hidden")&&(a("#timestampdiv").slideDown("normal"),a(".edit-timestamp").hide()),!1}),a(".cancel-timestamp").click(function(){return a("#timestampdiv").slideUp("normal"),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()),a("#timestamp").html(b),a(".edit-timestamp").show(),!1}),a(".save-timestamp").click(function(){var b=a("#aa").val(),c=a("#mm").val(),d=a("#jj").val(),e=a("#hh").val(),f=a("#mn").val(),g=new Date(b,c-1,d,e,f);return g.getFullYear()!=b||1+g.getMonth()!=c||g.getDate()!=d||g.getMinutes()!=f?(a(".timestamp-wrap","#timestampdiv").addClass("form-invalid"),!1):(a(".timestamp-wrap","#timestampdiv").removeClass("form-invalid"),a("#timestampdiv").slideUp("normal"),a(".edit-timestamp").show(),a("#timestamp").html(commentL10n.submittedOn+" <b>"+a('#mm option[value="'+c+'"]').text()+" "+d+", "+b+" @ "+e+":"+f+"</b> "),!1)})});
\ No newline at end of file
index 228cf0ccb53c44ea7534feee6aa3c627d87a4f7e..822af979da8ac6db6e21cc98165f560c9afc22da 100644 (file)
@@ -160,7 +160,7 @@ $('.contextual-help-tabs').delegate('a', 'click focus', function(e) {
 });
 
 $(document).ready( function() {
 });
 
 $(document).ready( function() {
-       var lastClicked = false, checks, first, last, checked, menu = $('#adminmenu'), mobileEvent,
+       var lastClicked = false, checks, first, last, checked, sliced, menu = $('#adminmenu'), mobileEvent,
                pageInput = $('input.current-page'), currentPage = pageInput.val();
 
        // when the menu is folded, make the fly-out submenu header clickable
                pageInput = $('input.current-page'), currentPage = pageInput.val();
 
        // when the menu is folded, make the fly-out submenu header clickable
@@ -286,7 +286,8 @@ $(document).ready( function() {
                        last = checks.index( this );
                        checked = $(this).prop('checked');
                        if ( 0 < first && 0 < last && first != last ) {
                        last = checks.index( this );
                        checked = $(this).prop('checked');
                        if ( 0 < first && 0 < last && first != last ) {
-                               checks.slice( first, last ).prop( 'checked', function(){
+                               sliced = ( last > first ) ? checks.slice( first, last ) : checks.slice( last, first );
+                               sliced.prop( 'checked', function() {
                                        if ( $(this).closest('tr').is(':visible') )
                                                return checked;
 
                                        if ( $(this).closest('tr').is(':visible') )
                                                return checked;
 
@@ -333,6 +334,20 @@ $(document).ready( function() {
                });
        });
 
                });
        });
 
+       // Show row actions on keyboard focus of its parent container element or any other elements contained within
+       var transitionTimeout, focusedRowActions;
+       $( 'td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap' ).focusin(function(){
+               clearTimeout( transitionTimeout );
+               focusedRowActions = $(this).find( '.row-actions' );
+               focusedRowActions.addClass( 'visible' );
+       }).focusout(function(){
+               // Tabbing between post title and .row-actions links needs a brief pause, otherwise
+               // the .row-actions div gets hidden in transit in some browsers (ahem, Firefox).
+               transitionTimeout = setTimeout(function(){
+                       focusedRowActions.removeClass( 'visible' );
+               }, 30);
+       });
+
        $('#default-password-nag-no').click( function() {
                setUserSetting('default_password_nag', 'hide');
                $('div.default-password-nag').hide();
        $('#default-password-nag-no').click( function() {
                setUserSetting('default_password_nag', 'hide');
                $('div.default-password-nag').hide();
@@ -395,6 +410,10 @@ $(document).ready( function() {
                });
        }
 
                });
        }
 
+       $('.search-box input[type="search"], .search-box input[type="submit"]').mousedown(function () {
+               $('select[name^="action"]').val('-1');
+       });
+
        // Scroll into view when focused
        $('#contextual-help-link, #show-settings-link').on( 'focus.scroll-into-view', function(e){
                if ( e.target.scrollIntoView )
        // Scroll into view when focused
        $('#contextual-help-link, #show-settings-link').on( 'focus.scroll-into-view', function(e){
                if ( e.target.scrollIntoView )
index c2aa152ecc4f88323056779c4d22b60593372658..430e0c2ddfbb2d61e1785f8208abbf957bbd3dbe 100644 (file)
@@ -1 +1 @@
-var showNotice,adminMenu,columns,validateForm,screenMeta;(function(a){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 d=a(this),c=d.val();if(d.prop("checked")){b.checked(c)}else{b.unchecked(c)}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 b=this.id;return b.substring(b,b.length-5)}).get().join(",")}},colSpanChange:function(b){var d=a("table").find(".colspanchange"),c;if(!d.length){return}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 b=commonL10n.warnDelete||"";if(confirm(b)){return true}return false},note:function(b){alert(b)}};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(c){var b=a(this.href.replace(/.+#/,"#"));c.preventDefault();if(!b.length){return}if(b.is(":visible")){screenMeta.close(b,a(this))}else{screenMeta.open(b,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",true)})},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active").attr("aria-expanded",false);a(".screen-meta-toggle").css("visibility","");b.parent().hide()})}};a(".contextual-help-tabs").delegate("a","click focus",function(d){var c=a(this),b;d.preventDefault();if(c.is(".active a")){return false}a(".contextual-help-tabs .active").removeClass("active");c.parent("li").addClass("active");b=a(c.attr("href"));a(".help-tab-content").not(b).removeClass("active").hide();b.addClass("active").show()});a(document).ready(function(){var i=false,d,f,j,h,c=a("#adminmenu"),b,e=a("input.current-page"),g=e.val();c.on("click.wp-submenu-head",".wp-submenu-head",function(k){a(k.target).parent().siblings("a").get(0).click()});a("#collapse-menu").on("click.collapse-menu",function(m){var k=a(document.body),l;a("#adminmenu div.wp-submenu").css("margin-top","");l=navigator.userAgent.indexOf("AppleWebKit/")>-1?a(window).width():window.innerWidth;if(l&&l<900){if(k.hasClass("auto-fold")){k.removeClass("auto-fold").removeClass("folded");setUserSetting("unfold",1);setUserSetting("mfold","o")}else{k.addClass("auto-fold");setUserSetting("unfold",0)}}else{if(k.hasClass("folded")){k.removeClass("folded");setUserSetting("mfold","o")}else{k.addClass("folded");setUserSetting("mfold","f")}}});if("ontouchstart" in window||/IEMobile\/[1-9]/.test(navigator.userAgent)){b=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click";a(document.body).on(b+".wp-mobile-hover",function(k){if(!a(k.target).closest("#adminmenu").length){c.find("li.wp-has-submenu.opensub").removeClass("opensub")}});c.find("a.wp-has-submenu").on(b+".wp-mobile-hover",function(m){var l=a(this),k=l.parent();if(!k.hasClass("opensub")&&(!k.hasClass("wp-menu-open")||k.width()<40)){m.preventDefault();c.find("li.opensub").removeClass("opensub");k.addClass("opensub")}})}c.find("li.wp-has-submenu").hoverIntent({over:function(s){var u,q,k,r,l=a(this).find(".wp-submenu"),v,n,p,t=parseInt(l.css("top"),10);if(isNaN(t)||t>-5){return}v=a(this).offset().top;n=a(window).scrollTop();p=v-n-30;u=v+l.height()+1;q=a("#wpwrap").height();k=60+u-q;r=a(window).height()+n-15;if(r<(u-k)){k=u-r}if(k>p){k=p}if(k>1){l.css("margin-top","-"+k+"px")}else{l.css("margin-top","")}c.find("li.menu-top").removeClass("opensub");a(this).addClass("opensub")},out:function(){a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90});c.on("focus.adminmenu",".wp-submenu a",function(k){a(k.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(k){a(k.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(l){if("undefined"==l.shiftKey){return true}if(l.shiftKey){if(!i){return true}d=a(i).closest("form").find(":checkbox");f=d.index(i);j=d.index(this);h=a(this).prop("checked");if(0<f&&0<j&&f!=j){d.slice(f,j).prop("checked",function(){if(a(this).closest("tr").is(":visible")){return h}return false})}}i=this;var k=a(this).closest("tbody").find(":checkbox").filter(":visible").not(":checked");a(this).closest("table").children("thead, tfoot").find(":checkbox").prop("checked",function(){return(0==k.length)});return true});a("thead, tfoot").find(".check-column :checkbox").click(function(m){var n=a(this).prop("checked"),l="undefined"==typeof toggleWithKeyboard?false:toggleWithKeyboard,k=m.shiftKey||l;a(this).closest("table").children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(a(this).is(":hidden")){return false}if(k){return a(this).prop("checked")}else{if(n){return true}}return false});a(this).closest("table").children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(k){return false}else{if(n){return true}}return false})});a("#default-password-nag-no").click(function(){setUserSetting("default_password_nag","hide");a("div.default-password-nag").hide();return false});a("#newcontent").bind("keydown.wpevent_InsertTab",function(p){var m=p.target,r,l,q,k,o;if(p.keyCode==27){a(m).data("tab-out",true);return}if(p.keyCode!=9||p.ctrlKey||p.altKey||p.shiftKey){return}if(a(m).data("tab-out")){a(m).data("tab-out",false);return}r=m.selectionStart;l=m.selectionEnd;q=m.value;try{this.lastKey=9}catch(n){}if(document.selection){m.focus();o=document.selection.createRange();o.text="\t"}else{if(r>=0){k=this.scrollTop;m.value=q.substring(0,r).concat("\t",q.substring(l));m.selectionStart=m.selectionEnd=r+1;this.scrollTop=k}}if(p.stopPropagation){p.stopPropagation()}if(p.preventDefault){p.preventDefault()}});a("#newcontent").bind("blur.wpevent_InsertTab",function(k){if(this.lastKey&&9==this.lastKey){this.focus()}});if(e.length){e.closest("form").submit(function(k){if(a('select[name="action"]').val()==-1&&a('select[name="action2"]').val()==-1&&e.val()==g){e.val("1")}})}a("#contextual-help-link, #show-settings-link").on("focus.scroll-into-view",function(k){if(k.target.scrollIntoView){k.target.scrollIntoView(false)}});(function(){var l,k,m=a("form.wp-upload-form");if(!m.length){return}l=m.find('input[type="submit"]');k=m.find('input[type="file"]');function n(){l.prop("disabled",""===k.map(function(){return a(this).val()}).get().join(""))}n();k.on("change",n)})()});a(document).bind("wp_CloseOnEscape",function(c,b){if(typeof(b.cb)!="function"){return}if(typeof(b.condition)!="function"||b.condition()){b.cb()}return true})})(jQuery);
\ No newline at end of file
+var showNotice,adminMenu,columns,validateForm,screenMeta;!function(a){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(),c.addClass("active").show(),void 0)}),a(document).ready(function(){var b,c,d,e,f,g,h=!1,i=a("#adminmenu"),j=a("input.current-page"),k=j.val();i.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 b,c=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),b=navigator.userAgent.indexOf("AppleWebKit/")>-1?a(window).width():window.innerWidth,b&&900>b?c.hasClass("auto-fold")?(c.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o")):(c.addClass("auto-fold"),setUserSetting("unfold",0)):c.hasClass("folded")?(c.removeClass("folded"),setUserSetting("mfold","o")):(c.addClass("folded"),setUserSetting("mfold","f"))}),("ontouchstart"in window||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(g=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click",a(document.body).on(g+".wp-mobile-hover",function(b){a(b.target).closest("#adminmenu").length||i.find("li.wp-has-submenu.opensub").removeClass("opensub")}),i.find("a.wp-has-submenu").on(g+".wp-mobile-hover",function(b){var c=a(this),d=c.parent();d.hasClass("opensub")||d.hasClass("wp-menu-open")&&!(d.width()<40)||(b.preventDefault(),i.find("li.opensub").removeClass("opensub"),d.addClass("opensub"))})),i.find("li.wp-has-submenu").hoverIntent({over:function(){var b,c,d,e,f,g,h,j=a(this).find(".wp-submenu"),k=parseInt(j.css("top"),10);isNaN(k)||k>-5||(f=a(this).offset().top,g=a(window).scrollTop(),h=f-g-30,b=f+j.height()+1,c=a("#wpwrap").height(),d=60+b-c,e=a(window).height()+g-15,b-d>e&&(d=b-e),d>h&&(d=h),d>1?j.css("margin-top","-"+d+"px"):j.css("margin-top",""),i.find("li.menu-top").removeClass("opensub"),a(this).addClass("opensub"))},out:function(){a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),i.on("focus.adminmenu",".wp-submenu a",function(b){a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){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(g){if("undefined"==g.shiftKey)return!0;if(g.shiftKey){if(!h)return!0;b=a(h).closest("form").find(":checkbox"),c=b.index(h),d=b.index(this),e=a(this).prop("checked"),c>0&&d>0&&c!=d&&(f=d>c?b.slice(c,d):b.slice(d,c),f.prop("checked",function(){return a(this).closest("tr").is(":visible")?e:!1}))}h=this;var i=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==i.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").click(function(b){var c=a(this).prop("checked"),d="undefined"==typeof toggleWithKeyboard?!1:toggleWithKeyboard,e=b.shiftKey||d;a(this).closest("table").children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:e?a(this).prop("checked"):c?!0:!1}),a(this).closest("table").children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return e?!1:c?!0:!1})});var l,m;a("td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap").focusin(function(){clearTimeout(l),m=a(this).find(".row-actions"),m.addClass("visible")}).focusout(function(){l=setTimeout(function(){m.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 a(h).data("tab-out",!0),void 0;if(!(9!=b.keyCode||b.ctrlKey||b.altKey||b.shiftKey)){if(a(h).data("tab-out"))return a(h).data("tab-out",!1),void 0;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()}),j.length&&j.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&j.val()==k&&j.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))}()}),a(document).bind("wp_CloseOnEscape",function(a,b){return"function"==typeof b.cb?(("function"!=typeof b.condition||b.condition())&&b.cb(),!0):void 0})}(jQuery);
\ No newline at end of file
index 4ada9f8fcc2edca2f8f4c256392bdc3beb7ea48e..669d281f6a3789edb044eb2b62fb70f7557ebd74 100644 (file)
@@ -1 +1 @@
-(function(a){a(document).ready(function(){var b=a("#custom-background-image"),c;a("#background-color").wpColorPicker({change:function(d,e){b.css("background-color",e.color.toString())},clear:function(){b.css("background-color","")}});a('input[name="background-position-x"]').change(function(){b.css("background-position",a(this).val()+" top")});a('input[name="background-repeat"]').change(function(){b.css("background-repeat",a(this).val())});a("#choose-from-library-link").click(function(e){var d=a(this);e.preventDefault();if(c){c.open();return}c=wp.media.frames.customBackground=wp.media({title:d.data("choose"),library:{type:"image"},button:{text:d.data("update"),close:false}});c.on("select",function(){var f=c.state().get("selection").first();a.post(ajaxurl,{action:"set-background-image",attachment_id:f.id,size:"full"}).done(function(){window.location.reload()})});c.open()})})})(jQuery);
\ No newline at end of file
+!function(a){a(document).ready(function(){var b,c=a("#custom-background-image");a("#background-color").wpColorPicker({change:function(a,b){c.css("background-color",b.color.toString())},clear:function(){c.css("background-color","")}}),a('input[name="background-position-x"]').change(function(){c.css("background-position",a(this).val()+" top")}),a('input[name="background-repeat"]').change(function(){c.css("background-repeat",a(this).val())}),a("#choose-from-library-link").click(function(c){var d=a(this);return c.preventDefault(),b?(b.open(),void 0):(b=wp.media.frames.customBackground=wp.media({title:d.data("choose"),library:{type:"image"},button:{text:d.data("update"),close:!1}}),b.on("select",function(){var c=b.state().get("selection").first();a.post(ajaxurl,{action:"set-background-image",attachment_id:c.id,size:"full"}).done(function(){window.location.reload()})}),b.open(),void 0)})})}(jQuery);
\ No newline at end of file
index 01fffbac171346482d35c2c9177dde439b2112cc..f780db7c75a3ddac44e5a9fb08421ced9b653937 100644 (file)
@@ -36,7 +36,7 @@
                        $.extend( this, options || {} );
 
                        this.id = id;
                        $.extend( this, options || {} );
 
                        this.id = id;
-                       this.selector = '#customize-control-' + id.replace( ']', '' ).replace( '[', '-' );
+                       this.selector = '#customize-control-' + id.replace( /\]/g, '' ).replace( /\[/g, '-' );
                        this.container = $( this.selector );
 
                        settings = $.map( this.params.settings, function( value ) {
                        this.container = $( this.selector );
 
                        settings = $.map( this.params.settings, function( value ) {
 
                                // Check for URLs that include "/wp-admin/" or end in "/wp-admin".
                                // Strip hashes and query strings before testing.
 
                                // Check for URLs that include "/wp-admin/" or end in "/wp-admin".
                                // Strip hashes and query strings before testing.
-                               if ( /\/wp-admin(\/|$)/.test( to.replace(/[#?].*$/, '') ) )
+                               if ( /\/wp-admin(\/|$)/.test( to.replace( /[#?].*$/, '' ) ) )
                                        return null;
 
                                // Attempt to match the URL to the control frame's scheme
                                // and check if it's allowed. If not, try the original URL.
                                $.each([ to.replace( rscheme, self.scheme() ), to ], function( i, url ) {
                                        $.each( self.allowedUrls, function( i, allowed ) {
                                        return null;
 
                                // Attempt to match the URL to the control frame's scheme
                                // and check if it's allowed. If not, try the original URL.
                                $.each([ to.replace( rscheme, self.scheme() ), to ], function( i, url ) {
                                        $.each( self.allowedUrls, function( i, allowed ) {
-                                               if ( 0 === url.indexOf( allowed ) ) {
+                                               var path;
+
+                                               allowed = allowed.replace( /\/+$/, '' );
+                                               path = url.replace( allowed, '' );
+
+                                               if ( 0 === url.indexOf( allowed ) && /^([/#?]|$)/.test( path ) ) {
                                                        result = url;
                                                        return false;
                                                }
                                                        result = url;
                                                        return false;
                                                }
                        if ( 9 === event.which ) // tab
                                return;
                        if ( 13 === event.which ) // enter
                        if ( 9 === event.which ) // tab
                                return;
                        if ( 13 === event.which ) // enter
-                               parent.send( 'close' );
+                               this.click();
                        event.preventDefault();
                });
 
                        event.preventDefault();
                });
 
index 82050c464c3826b9d016e7afabfb6b7af65b76d1..3a7de3d902dd18d7e5abf78e6d86cbf3b69dc2f3 100644 (file)
@@ -1 +1 @@
-(function(a,c){var b=wp.customize;b.Setting=b.Value.extend({initialize:function(g,f,d){var e;b.Value.prototype.initialize.call(this,f,d);this.id=g;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()])}}});b.Control=b.Class.extend({initialize:function(i,e){var g=this,d,h,f;this.params={};c.extend(this,e||{});this.id=i;this.selector="#customize-control-"+i.replace("]","").replace("[","-");this.container=c(this.selector);f=c.map(this.params.settings,function(j){return j});b.apply(b,f.concat(function(){var j;g.settings={};for(j in g.params.settings){g.settings[j]=b(g.params.settings[j])}g.setting=g.settings["default"]||null;g.ready()}));g.elements=[];d=this.container.find("[data-customize-setting-link]");h={};d.each(function(){var k=c(this),j;if(k.is(":radio")){j=k.prop("name");if(h[j]){return}h[j]=true;k=d.filter('[name="'+j+'"]')}b(k.data("customizeSettingLink"),function(m){var l=new b.Element(k);g.elements.push(l);l.sync(m);l.set(m())})})},ready:function(){},dropdownInit:function(){var f=this,e=this.container.find(".dropdown-status"),g=this.params,h=function(i){if(typeof i==="string"&&g.statuses&&g.statuses[i]){e.html(g.statuses[i]).show()}else{e.hide()}};var d=false;this.container.on("click keydown",".dropdown",function(i){if(i.type==="keydown"&&13!==i.which){return}i.preventDefault();if(!d){f.container.toggleClass("open")}if(f.container.hasClass("open")){f.container.parent().parent().find("li.library-selected").focus()}d=true;setTimeout(function(){d=false},400)});this.setting.bind(h);h(this.setting())}});b.ColorControl=b.Control.extend({ready:function(){var e=this,d=this.container.find(".color-picker-hex");d.val(e.setting()).wpColorPicker({change:function(g,f){e.setting.set(d.wpColorPicker("color"))},clear:function(){e.setting.set(false)}})}});b.UploadControl=b.Control.extend({ready:function(){var d=this;this.params.removed=this.params.removed||"";this.success=c.proxy(this.success,this);this.uploader=c.extend({container:this.container,browser:this.container.find(".upload"),dropzone:this.container.find(".upload-dropzone"),success:this.success,plupload:{},params:{}},this.uploader||{});if(d.params.extensions){d.uploader.plupload.filters=[{title:b.l10n.allowedFiles,extensions:d.params.extensions}]}if(d.params.context){d.uploader.params["post_data[context]"]=this.params.context}if(b.settings.theme.stylesheet){d.uploader.params["post_data[theme]"]=b.settings.theme.stylesheet}this.uploader=new wp.Uploader(this.uploader);this.remover=this.container.find(".remove");this.remover.on("click keydown",function(e){if(e.type==="keydown"&&13!==e.which){return}d.setting.set(d.params.removed);e.preventDefault()});this.removerVisibility=c.proxy(this.removerVisibility,this);this.setting.bind(this.removerVisibility);this.removerVisibility(this.setting.get())},success:function(d){this.setting.set(d.get("url"))},removerVisibility:function(d){this.remover.toggle(d!=this.params.removed)}});b.ImageControl=b.UploadControl.extend({ready:function(){var e=this,d;this.uploader={init:function(f){var h,g;if(this.supports.dragdrop){return}h=e.container.find(".upload-fallback");g=h.children().detach();this.browser.detach().empty().append(g);h.append(this.browser).show()}};b.UploadControl.prototype.ready.call(this);this.thumbnail=this.container.find(".preview-thumbnail img");this.thumbnailSrc=c.proxy(this.thumbnailSrc,this);this.setting.bind(this.thumbnailSrc);this.library=this.container.find(".library");this.tabs={};d=this.library.find(".library-content");this.library.children("ul").children("li").each(function(){var g=c(this),h=g.data("customizeTab"),f=d.filter('[data-customize-tab="'+h+'"]');e.tabs[h]={both:g.add(f),link:g,panel:f}});this.library.children("ul").on("click keydown","li",function(g){if(g.type==="keydown"&&13!==g.which){return}var h=c(this).data("customizeTab"),f=e.tabs[h];g.preventDefault();if(f.link.hasClass("library-selected")){return}e.selected.both.removeClass("library-selected");e.selected=f;e.selected.both.addClass("library-selected")});this.library.on("click keydown","a",function(f){if(f.type==="keydown"&&13!==f.which){return}var g=c(this).data("customizeImageValue");if(g){e.setting.set(g);f.preventDefault()}});if(this.tabs.uploaded){this.tabs.uploaded.target=this.library.find(".uploaded-target");if(!this.tabs.uploaded.panel.find(".thumbnail").length){this.tabs.uploaded.both.addClass("hidden")}}d.each(function(){var f=e.tabs[c(this).data("customizeTab")];if(!f.link.hasClass("hidden")){e.selected=f;f.both.addClass("library-selected");return false}});this.dropdownInit()},success:function(d){b.UploadControl.prototype.success.call(this,d);if(this.tabs.uploaded&&this.tabs.uploaded.target.length){this.tabs.uploaded.both.removeClass("hidden");d.element=c('<a href="#" class="thumbnail"></a>').data("customizeImageValue",d.get("url")).append('<img src="'+d.get("url")+'" />').appendTo(this.tabs.uploaded.target)}},thumbnailSrc:function(d){if(/^(https?:)?\/\//.test(d)){this.thumbnail.prop("src",d).show()}else{this.thumbnail.hide()}}});b.defaultConstructor=b.Setting;b.control=new b.Values({defaultConstructor:b.Control});b.PreviewFrame=b.Messenger.extend({sensitivity:2000,initialize:function(g,f){var e=c.Deferred(),d=this;e.promise(this);this.container=g.container;this.signature=g.signature;c.extend(g,{channel:b.PreviewFrame.uuid()});b.Messenger.prototype.initialize.call(this,g,f);this.add("previewUrl",g.previewUrl);this.query=c.extend(g.query||{},{customize_messenger_channel:this.channel()});this.run(e)},run:function(e){var d=this,f=false,g=false;if(this._ready){this.unbind("ready",this._ready)}this._ready=function(){g=true;if(f){e.resolveWith(d)}};this.bind("ready",this._ready);this.request=c.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:true}});this.request.fail(function(){e.rejectWith(d,["request failure"])});this.request.done(function(j){var i=d.request.getResponseHeader("Location"),h=d.signature,k;if(i&&i!=d.previewUrl()){e.rejectWith(d,["redirect",i]);return}if("0"===j){d.login(e);return}if("-1"===j){e.rejectWith(d,["cheatin"]);return}k=j.lastIndexOf(h);if(-1===k||k<j.lastIndexOf("</html>")){e.rejectWith(d,["unsigned"]);return}j=j.slice(0,k)+j.slice(k+h.length);d.iframe=c("<iframe />").appendTo(d.container);d.iframe.one("load",function(){f=true;if(g){e.resolveWith(d)}else{setTimeout(function(){e.rejectWith(d,["ready timeout"])},d.sensitivity)}});d.targetWindow(d.iframe[0].contentWindow);d.targetWindow().document.open();d.targetWindow().document.write(j);d.targetWindow().document.close()})},login:function(e){var d=this,f;f=function(){e.rejectWith(d,["logged out"])};if(this.triedLogin){return f()}c.get(b.settings.url.ajax,{action:"logged-in"}).fail(f).done(function(g){var h;if("1"!==g){f()}h=c('<iframe src="'+d.previewUrl()+'" />').hide();h.appendTo(d.container);h.load(function(){d.triedLogin=true;h.remove();d.run(e)})})},destroy:function(){b.Messenger.prototype.destroy.call(this);this.request.abort();if(this.iframe){this.iframe.remove()}delete this.request;delete this.iframe;delete this.targetWindow}});(function(){var d=0;b.PreviewFrame.uuid=function(){return"preview-"+d++}}());b.Previewer=b.Messenger.extend({refreshBuffer:250,initialize:function(h,f){var d=this,g=/^https?/,e;c.extend(this,f||{});this.refresh=(function(i){var j=i.refresh,l=function(){k=null;j.call(i)},k;return function(){if(typeof k!=="number"){if(i.loading){i.abort()}else{return l()}}clearTimeout(k);k=setTimeout(l,i.refreshBuffer)}})(this);this.container=b.ensure(h.container);this.allowedUrls=h.allowedUrls;this.signature=h.signature;h.url=window.location.href;b.Messenger.prototype.initialize.call(this,h);this.add("scheme",this.origin()).link(this.origin).setter(function(j){var i=j.match(g);return i?i[0]:""});this.add("previewUrl",h.previewUrl).setter(function(j){var i;if(/\/wp-admin(\/|$)/.test(j.replace(/[#?].*$/,""))){return null}c.each([j.replace(g,d.scheme()),j],function(l,k){c.each(d.allowedUrls,function(m,n){if(0===k.indexOf(n)){i=k;return false}});if(i){return false}});return i?i:null});this.previewUrl.bind(this.refresh);this.scroll=0;this.bind("scroll",function(i){this.scroll=i});this.bind("url",this.previewUrl)},query:function(){},abort:function(){if(this.loading){this.loading.destroy();delete this.loading}},refresh:function(){var d=this;this.abort();this.loading=new b.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},container:this.container,signature:this.signature});this.loading.done(function(){this.bind("synced",function(){if(d.preview){d.preview.destroy()}d.preview=this;delete d.loading;d.targetWindow(this.targetWindow());d.channel(this.channel());d.send("active")});this.send("sync",{scroll:d.scroll,settings:b.get()})});this.loading.fail(function(f,e){if("redirect"===f&&e){d.previewUrl(e)}if("logged out"===f){if(d.preview){d.preview.destroy();delete d.preview}d.login().done(d.refresh)}if("cheatin"===f){d.cheatin()}})},login:function(){var g=this,d,f,e;if(this._login){return this._login}d=c.Deferred();this._login=d.promise();f=new b.Messenger({channel:"login",url:b.settings.url.login});e=c('<iframe src="'+b.settings.url.login+'" />').appendTo(this.container);f.targetWindow(e[0].contentWindow);f.bind("login",function(){e.remove();f.destroy();delete g._login;d.resolve()});return this._login},cheatin:function(){c(document.body).empty().addClass("cheatin").append("<p>"+b.l10n.cheatin+"</p>")}});b.controlConstructor={color:b.ColorControl,upload:b.UploadControl,image:b.ImageControl};c(function(){b.settings=window._wpCustomizeSettings;b.l10n=window._wpCustomizeControlsL10n;if(!b.settings){return}if(!c.support.postMessage||(!c.support.cors&&b.settings.isCrossDomain)){return window.location=b.settings.url.fallback}var d=c(document.body),f=d.children(".wp-full-overlay"),h,i,g;c("#customize-controls").on("keydown",function(j){if(c(j.target).is("textarea")){return}if(13===j.which){j.preventDefault()}});i=new b.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:b.settings.url.preview,allowedUrls:b.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:b.settings.nonce,query:function(){return{wp_customize:"on",theme:b.settings.theme.stylesheet,customized:JSON.stringify(b.get()),nonce:this.nonce.preview}},save:function(){var j=this,l=c.extend(this.query(),{action:"customize_save",nonce:this.nonce.save}),k=c.post(b.settings.url.ajax,l);b.trigger("save",k);d.addClass("saving");k.always(function(){d.removeClass("saving")});k.done(function(m){if("0"===m){j.preview.iframe.hide();j.login().done(function(){j.save();j.preview.iframe.show()});return}if("-1"===m){j.cheatin();return}b.trigger("saved")})}});i.bind("nonce",function(j){c.extend(this.nonce,j)});c.each(b.settings.settings,function(k,j){b.create(k,k,j.value,{transport:j.transport,previewer:i})});c.each(b.settings.controls,function(m,k){var j=b.controlConstructor[k.type]||b.Control,l;l=b.control.add(m,new j(m,{params:k,previewer:i}))});if(i.previewUrl()){i.refresh()}else{i.previewUrl(b.settings.url.home)}(function(){var l=new b.Values(),k=l.create("saved"),j=l.create("activated");l.bind("change",function(){var n=c("#save"),m=c(".back");if(!j()){n.val(b.l10n.activate).prop("disabled",false);m.text(b.l10n.cancel)}else{if(k()){n.val(b.l10n.saved).prop("disabled",true);m.text(b.l10n.close)}else{n.val(b.l10n.save).prop("disabled",false);m.text(b.l10n.cancel)}}});k(true);j(b.settings.theme.active);b.bind("change",function(){l("saved").set(false)});b.bind("saved",function(){l("saved").set(true);l("activated").set(true)});j.bind(function(m){if(m){b.trigger("activated")}});b.state=l}());c("#save").click(function(j){i.save();j.preventDefault()}).keydown(function(j){if(9===j.which){return}if(13===j.which){i.save()}j.preventDefault()});c(".back").keydown(function(j){if(9===j.which){return}if(13===j.which){g.send("close")}j.preventDefault()});c(".upload-dropzone a.upload").keydown(function(j){if(13===j.which){this.click()}});c(".collapse-sidebar").on("click keydown",function(j){if(j.type==="keydown"&&13!==j.which){return}f.toggleClass("collapsed").toggleClass("expanded");j.preventDefault()});g=new b.Messenger({url:b.settings.url.parent,channel:"loader"});g.bind("back",function(){c(".back").on("click.back",function(j){j.preventDefault();g.send("close")})});b.bind("saved",function(){g.send("saved")});b.bind("activated",function(){if(g.targetWindow()){g.send("activated",b.settings.url.activated)}else{if(b.settings.url.activated){window.location=b.settings.url.activated}}});g.send("ready");c.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(j){return !!j}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(j){return"page"===j}},header_textcolor:{controls:["header_textcolor"],callback:function(j){return"blank"!==j}}},function(j,k){b(j,function(l){c.each(k.controls,function(m,n){b.control(n,function(p){var o=function(q){p.container.toggle(k.callback(q))};o(l.get());l.bind(o)})})})});b.control("display_header_text",function(k){var j="";k.elements[0].unsync(b("header_textcolor"));k.element=new b.Element(k.container.find("input"));k.element.set("blank"!==k.setting());k.element.bind(function(l){if(!l){j=b("header_textcolor").get()}k.setting.set(l?j:"blank")});k.setting.bind(function(l){k.element.set("blank"!==l)})});b.control("header_image",function(j){j.setting.bind(function(k){if(k===j.params.removed){j.settings.data.set(false)}});j.library.on("click","a",function(k){j.settings.data.set(c(this).data("customizeHeaderImageData"))});j.uploader.success=function(l){var k;b.ImageControl.prototype.success.call(j,l);k={attachment_id:l.get("id"),url:l.get("url"),thumbnail_url:l.get("url"),height:l.get("height"),width:l.get("width")};l.element.data("customizeHeaderImageData",k);j.settings.data.set(k)}});b.trigger("ready");var e=c(".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),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=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()},e=!1;this.container.on("click keydown",".dropdown",function(b){("keydown"!==b.type||13===b.which)&&(b.preventDefault(),e||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),e=!0,setTimeout(function(){e=!1},400))}),this.setting.bind(d),d(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.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()?(a.rejectWith(c,["redirect",h]),void 0):"0"===f?(c.login(a),void 0):"-1"===f?(a.rejectWith(c,["cheatin"]),void 0):(g=f.lastIndexOf(i),-1===g||g<f.lastIndexOf("</html>")?(a.rejectWith(c,["unsigned"]),void 0):(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),c.targetWindow().document.close(),void 0))})},login:function(a){var d,e=this;return d=function(){a.rejectWith(e,["logged out"])},this.triedLogin?d():(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)})}),void 0)},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},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");b("#customize-controls").on("keydown",function(a){b(a.target).is("textarea")||13===a.which&&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=this,d=b.extend(this.query(),{action:"customize_save",nonce:this.nonce.save}),f=b.post(c.settings.url.ajax,d);c.trigger("save",f),e.addClass("saving"),f.always(function(){e.removeClass("saving")}),f.done(function(b){return"0"===b?(a.preview.iframe.hide(),a.login().done(function(){a.save(),a.preview.iframe.show()}),void 0):"-1"===b?(a.cheatin(),void 0):(c.trigger("saved"),void 0)})}}),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");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),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)&&(f.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.control("header_image",function(a){a.setting.bind(function(b){b===a.params.removed&&a.settings.data.set(!1)}),a.library.on("click","a",function(){a.settings.data.set(b(this).data("customizeHeaderImageData"))}),a.uploader.success=function(b){var d;c.ImageControl.prototype.success.call(a,b),d={attachment_id:b.get("id"),url:b.get("url"),thumbnail_url:b.get("url"),height:b.get("height"),width:b.get("width")},b.element.data("customizeHeaderImageData",d),a.settings.data.set(d)}}),c.trigger("ready");var g=b(".back");g.focus(),setTimeout(function(){g.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
index 7e793b91baf354c00b0f2c76dbd0cab639cb0ec2..38908044d1a29f07361675dbbf7494eb59c34273 100644 (file)
@@ -1 +1 @@
-var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(c){var d=c("#welcome-panel"),a=c("#wp_welcome_panel-hide"),b=function(e){c.post(ajaxurl,{action:"update-welcome-panel",visible:e,welcomepanelnonce:c("#welcomepanelnonce").val()})};if(d.hasClass("hidden")&&a.prop("checked")){d.removeClass("hidden")}c(".welcome-panel-close, .welcome-panel-dismiss a",d).click(function(f){f.preventDefault();d.addClass("hidden");b(0);c("#wp_welcome_panel-hide").prop("checked",false)});a.click(function(){d.toggleClass("hidden",!this.checked);b(this.checked?1:0)});ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins"];ajaxPopulateWidgets=function(f){function e(g,k){var j,h=c("#"+k+" div.inside:visible").find(".widget-loading");if(h.length){j=h.parent();setTimeout(function(){j.load(ajaxurl+"?action=dashboard-widgets&widget="+k,"",function(){j.hide().slideDown("normal",function(){c(this).css("display","")})})},g*500)}}if(f){f=f.toString();if(c.inArray(f,ajaxWidgets)!=-1){e(0,f)}}else{c.each(ajaxWidgets,e)}};ajaxPopulateWidgets();postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets});quickPressLoad=function(){var e=c("#quickpost-action"),f;f=c("#quick-press").submit(function(){c("#dashboard_quick_press #publishing-action .spinner").show();c('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",true);if("post"==e.val()){e.val("post-quickpress-publish")}c("#dashboard_quick_press div.inside").load(f.attr("action"),f.serializeArray(),function(){c("#dashboard_quick_press #publishing-action .spinner").hide();c('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",false);c("#dashboard_quick_press ul").next("p").remove();c("#dashboard_quick_press ul").find("li").each(function(){c("#dashboard_recent_drafts ul").prepend(this)}).end().remove();quickPressLoad()});return false});c("#publish").click(function(){e.val("post-quickpress-publish")});c("#title, #tags-input").each(function(){var h=c(this),g=c("#"+this.id+"-prompt-text");if(""===this.value){g.removeClass("screen-reader-text")}g.click(function(){c(this).addClass("screen-reader-text");h.focus()});h.blur(function(){if(""===this.value){g.removeClass("screen-reader-text")}});h.focus(function(){g.addClass("screen-reader-text")})});c("#quick-press").on("click focusin",function(){wpActiveEditor="content"})};quickPressLoad()});
\ No newline at end of file
+var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){var b=a("#welcome-panel"),c=a("#wp_welcome_panel-hide"),d=function(b){a.post(ajaxurl,{action:"update-welcome-panel",visible:b,welcomepanelnonce:a("#welcomepanelnonce").val()})};b.hasClass("hidden")&&c.prop("checked")&&b.removeClass("hidden"),a(".welcome-panel-close, .welcome-panel-dismiss a",b).click(function(c){c.preventDefault(),b.addClass("hidden"),d(0),a("#wp_welcome_panel-hide").prop("checked",!1)}),c.click(function(){b.toggleClass("hidden",!this.checked),d(this.checked?1:0)}),ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins"],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,"",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 b,c=a("#quickpost-action");b=a("#quick-press").submit(function(){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),"post"==c.val()&&c.val("post-quickpress-publish"),a("#dashboard_quick_press div.inside").load(b.attr("action"),b.serializeArray(),function(){a("#dashboard_quick_press #publishing-action .spinner").hide(),a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",!1),a("#dashboard_quick_press ul").next("p").remove(),a("#dashboard_quick_press ul").find("li").each(function(){a("#dashboard_recent_drafts ul").prepend(this)}).end().remove(),quickPressLoad()}),!1}),a("#publish").click(function(){c.val("post-quickpress-publish")}),a("#title, #tags-input").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"})},quickPressLoad()});
\ No newline at end of file
index 038a1e56893ba92de46a239b664d48e150b0fb01..ab22d3572cc4a2632fa2c6f592f5ab8bbadcde71 100644 (file)
@@ -495,7 +495,6 @@ commentReply = {
                t.revert();
 
                r = r.responses[0];
                t.revert();
 
                r = r.responses[0];
-               c = r.data;
                id = '#comment-' + r.id;
 
                if ( 'edit-comment' == t.act )
                id = '#comment-' + r.id;
 
                if ( 'edit-comment' == t.act )
@@ -513,8 +512,10 @@ commentReply = {
                        }
                }
 
                        }
                }
 
+               c = $.trim(r.data); // Trim leading whitespaces
                $(c).hide()
                $('#replyrow').after(c);
                $(c).hide()
                $('#replyrow').after(c);
+
                id = $(id);
                t.addEvents(id);
                bg = id.hasClass('unapproved') ? '#FFFFE0' : id.closest('.widefat, .postbox').css('backgroundColor');
                id = $(id);
                t.addEvents(id);
                bg = id.hasClass('unapproved') ? '#FFFFE0' : id.closest('.widefat, .postbox').css('backgroundColor');
index cfd9d5a3ea3d3a1c88a5e96c62b12a08a0a64aaf..1d7741c3f9aa3eb92362081e62381765118a47bb 100644 (file)
@@ -1 +1 @@
-var theList,theExtraList,toggleWithKeyboard=false;(function(d){var b,a,e,c;setCommentsList=function(){var g,i,k,n=0,j,l,h,m,f;g=d('input[name="_total"]',"#comments-form");i=d('input[name="_per_page"]',"#comments-form");k=d('input[name="_page"]',"#comments-form");j=function(s,p){var v=d("#"+p.element),o,u,q;o=d("#replyrow");u=d("#comment_ID",o).val();q=d("#replybtn",o);if(v.is(".unapproved")){if(p.data.id==u){q.text(adminCommentsL10n.replyApprove)}v.find("div.comment_status").html("0")}else{if(p.data.id==u){q.text(adminCommentsL10n.reply)}v.find("div.comment_status").html("1")}var t=d("#"+p.element).is("."+p.dimClass)?1:-1;e(t)};l=function(r,v){var w=d(r.target).attr("data-wp-lists"),o,p,q,u,x,t,s=false;r.data._total=g.val()||0;r.data._per_page=i.val()||0;r.data._page=k.val()||0;r.data._url=document.location.href;r.data.comment_status=d('input[name="comment_status"]',"#comments-form").val();if(w.indexOf(":trash=1")!=-1){s="trash"}else{if(w.indexOf(":spam=1")!=-1){s="spam"}}if(s){o=w.replace(/.*?comment-([0-9]+).*/,"$1");p=d("#comment-"+o);note=d("#"+s+"-undo-holder").html();p.find(".check-column :checkbox").prop("checked",false);if(p.siblings("#replyrow").length&&commentReply.cid==o){commentReply.close()}if(p.is("tr")){q=p.children(":visible").length;t=d(".author strong",p).text();u=d('<tr id="undo-'+o+'" class="undo un'+s+'" style="display:none;"><td colspan="'+q+'">'+note+"</td></tr>")}else{t=d(".comment-author",p).text();u=d('<div id="undo-'+o+'" style="display:none;" class="undo un'+s+'">'+note+"</div>")}p.before(u);d("strong","#undo-"+o).text(t);x=d(".undo a","#undo-"+o);x.attr("href","comment.php?action=un"+s+"comment&c="+o+"&_wpnonce="+r.data._ajax_nonce);x.attr("data-wp-lists","delete:the-comment-list:comment-"+o+"::un"+s+"=1");x.attr("class","vim-z vim-destructive");d(".avatar",p).clone().prependTo("#undo-"+o+" ."+s+"-undo-inside");x.click(function(){v.wpList.del(this);d("#undo-"+o).css({backgroundColor:"#ceb"}).fadeOut(350,function(){d(this).remove();d("#comment-"+o).css("backgroundColor","").fadeIn(300,function(){d(this).show()})});return false})}return r};h=function(o,p,q){if(p<n){return}if(q){n=p}g.val(o.toString())};c=function(t){var s=d("#dashboard_right_now"),p,r,q,o;t=t||0;if(isNaN(t)||!s.length){return}p=d("span.total-count",s);r=d("span.approved-count",s);q=b(p);q=q+t;o=q-b(d("span.pending-count",s))-b(d("span.spam-count",s));a(p,q);a(r,o)};b=function(o){var p=parseInt(o.html().replace(/[^0-9]+/g,""),10);if(isNaN(p)){return 0}return p};a=function(p,q){var o="";if(isNaN(q)){return}q=q<1?"0":q.toString();if(q.length>3){while(q.length>3){o=thousandsSeparator+q.substr(q.length-3)+o;q=q.substr(0,q.length-3)}q=q+o}p.html(q)};e=function(o){d("span.pending-count").each(function(){var p=d(this),q=b(p)+o;if(q<1){q=0}p.closest(".awaiting-mod")[0==q?"addClass":"removeClass"]("count-0");a(p,q)});c()};m=function(o,s){var v,t,x,w,p,y=d(s.target).parent().is("span.untrash"),q=d(s.target).parent().is("span.unspam"),u=d("#"+s.element).is(".unapproved");function z(r){if(d(s.target).parent().is("span."+r)){return 1}else{if(d("#"+s.element).is("."+r)){return -1}}return 0}if(y){w=-1}else{w=z("trash")}if(q){x=-1}else{x=z("spam")}if(d(s.target).parent().is("span.unapprove")||((y||q)&&u)){p=1}else{if(u){p=-1}}if(p){e(p)}d("span.spam-count").each(function(){var r=d(this),A=b(r)+x;a(r,A)});d("span.trash-count").each(function(){var r=d(this),A=b(r)+w;a(r,A)});if(d("#dashboard_right_now").length){t=w?-1*w:0;c(t)}else{v=g.val()?parseInt(g.val(),10):0;if(d(s.target).parent().is("span.undo")){v++}else{v--}if(v<0){v=0}if(("object"==typeof o)&&n<s.parsed.responses[0].supplemental.time){total_items_i18n=s.parsed.responses[0].supplemental.total_items_i18n||"";if(total_items_i18n){d(".displaying-num").text(total_items_i18n);d(".total-pages").text(s.parsed.responses[0].supplemental.total_pages_i18n);d(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",s.parsed.responses[0].supplemental.total_pages==d(".current-page").val())}h(v,s.parsed.responses[0].supplemental.time,true)}else{h(v,o,false)}}if(!theExtraList||theExtraList.size()==0||theExtraList.children().size()==0||y||q){return}theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone());f()};f=function(r){var p=d.query.get(),o=d(".total-pages").text(),q=d('input[name="_per_page"]',"#comments-form").val();if(!p.paged){p.paged=1}if(p.paged>o){return}if(r){theExtraList.empty();p.number=Math.min(8,q)}else{p.number=1;p.offset=Math.min(8,q)-1}p.no_placeholder=true;p.paged++;if(true===p.comment_type){p.comment_type=""}p=d.extend(p,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:d("#_ajax_fetch_list_nonce").val()});d.ajax({url:ajaxurl,global:false,dataType:"json",data:p,success:function(s){theExtraList.get(0).wpList.add(s.rows)}})};theExtraList=d("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"});theList=d("#the-comment-list").wpList({alt:"",delBefore:l,dimAfter:j,delAfter:m,addColor:"none"}).bind("wpListDelEnd",function(q,p){var o=d(p.target).attr("data-wp-lists"),r=p.element.replace(/[^0-9]+/g,"");if(o.indexOf(":trash=1")!=-1||o.indexOf(":spam=1")!=-1){d("#undo-"+r).fadeIn(300,function(){d(this).show()})}})};commentReply={cid:"",act:"",init:function(){var f=d("#replyrow");d("a.cancel",f).click(function(){return commentReply.revert()});d("a.save",f).click(function(){return commentReply.send()});d("input#author, input#author-email, input#author-url",f).keypress(function(g){if(g.which==13){commentReply.send();g.preventDefault();return false}});d("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(d(this).parent())});d("#doaction, #doaction2, #post-query-submit").click(function(g){if(d("#the-comment-list #replyrow").length>0){commentReply.close()}});this.comments_listing=d('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(f){f.each(function(){d(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(d(this).parent())})})},toggle:function(f){if(d(f).css("display")!="none"){d(f).find("a.vim-q").click()}},revert:function(){if(d("#the-comment-list #replyrow").length<1){return false}d("#replyrow").fadeOut("fast",function(){commentReply.close()});return false},close:function(){var g,f=d("#replyrow");if(f.parent().is("#com-reply")){return}if(this.cid&&this.act=="edit-comment"){g=d("#comment-"+this.cid);g.fadeIn(300,function(){g.show()}).css("backgroundColor","")}if(typeof QTags!="undefined"){QTags.closeAllTags("replycontent")}d("#add-new-comment").css("display","");f.hide();d("#com-reply").append(f);d("#replycontent").css("height","").val("");d("#edithead input").val("");d(".error",f).html("").hide();d(".spinner",f).hide();this.cid=""},open:function(f,i,k){var p=this,g,j,m,n=d("#comment-"+f),l=n.height(),o;p.close();p.cid=f;g=d("#replyrow");j=d("#inline-"+f);k=k||"replyto";m="edit"==k?"edit":"replyto";m=p.act=m+"-comment";d("#action",g).val(m);d("#comment_post_ID",g).val(i);d("#comment_ID",g).val(f);if(l>120){d("#replycontent",g).css("height",(35+l)+"px")}if(k=="edit"){d("#author",g).val(d("div.author",j).text());d("#author-email",g).val(d("div.author-email",j).text());d("#author-url",g).val(d("div.author-url",j).text());d("#status",g).val(d("div.comment_status",j).text());d("#replycontent",g).val(d("textarea.comment",j).val());d("#edithead, #savebtn",g).show();d("#replyhead, #replybtn, #addhead, #addbtn",g).hide();n.after(g).fadeOut("fast",function(){d("#replyrow").fadeIn(300,function(){d(this).show()})})}else{if(k=="add"){d("#addhead, #addbtn",g).show();d("#replyhead, #replybtn, #edithead, #editbtn",g).hide();d("#the-comment-list").prepend(g);d("#replyrow").fadeIn(300)}else{o=d("#replybtn",g);d("#edithead, #savebtn, #addhead, #addbtn",g).hide();d("#replyhead, #replybtn",g).show();n.after(g);if(n.hasClass("unapproved")){o.text(adminCommentsL10n.replyApprove)}else{o.text(adminCommentsL10n.reply)}d("#replyrow").fadeIn(300,function(){d(this).show()})}}setTimeout(function(){var s,q,t,h,r;s=d("#replyrow").offset().top;q=s+d("#replyrow").height();t=window.pageYOffset||document.documentElement.scrollTop;h=document.documentElement.clientHeight||self.innerHeight||0;r=t+h;if(r-20<q){window.scroll(0,q-h+35)}else{if(s-20<t){window.scroll(0,s-35)}}d("#replycontent").focus().keyup(function(u){if(u.which==27){commentReply.revert()}})},600);return false},send:function(){var f={};d("#replysubmit .error").hide();d("#replysubmit .spinner").show();d("#replyrow input").not(":button").each(function(){var g=d(this);f[g.attr("name")]=g.val()});f.content=d("#replycontent").val();f.id=f.comment_post_ID;f.comments_listing=this.comments_listing;f.p=d('[name="p"]').val();if(d("#comment-"+d("#comment_ID").val()).hasClass("unapproved")){f.approve_parent=1}d.ajax({type:"POST",url:ajaxurl,data:f,success:function(g){commentReply.show(g)},error:function(g){commentReply.error(g)}});return false},show:function(g){var i=this,j,l,k,h,f;if(typeof(g)=="string"){i.error({responseText:g});return false}j=wpAjax.parseAjaxResponse(g);if(j.errors){i.error({responseText:wpAjax.broken});return false}i.revert();j=j.responses[0];l=j.data;k="#comment-"+j.id;if("edit-comment"==i.act){d(k).remove()}if(j.supplemental.parent_approved){f=d("#comment-"+j.supplemental.parent_approved);e(-1);if(this.comments_listing=="moderated"){f.animate({backgroundColor:"#CCEEBB"},400,function(){f.fadeOut()});return}}d(l).hide();d("#replyrow").after(l);k=d(k);i.addEvents(k);h=k.hasClass("unapproved")?"#FFFFE0":k.closest(".widefat, .postbox").css("backgroundColor");k.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:h},300,function(){if(f&&f.length){f.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:h},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}})},error:function(f){var g=f.statusText;d("#replysubmit .spinner").hide();if(f.responseText){g=f.responseText.replace(/<.[^<>]*?>/g,"")}if(g){d("#replysubmit .error").html(g).show()}},addcomment:function(f){var g=this;d("#add-new-comment").fadeOut(200,function(){g.open(0,f,"add");d("table.comments-box").css("display","");d("#no-comments").remove()})}};d(document).ready(function(){var i,f,g,h;setCommentsList();commentReply.init();d(document).delegate("span.delete a.delete","click",function(){return false});if(typeof d.table_hotkeys!="undefined"){i=function(j){return function(){var m,k;m="next"==j?"first":"last";k=d(".tablenav-pages ."+j+"-page:not(.disabled)");if(k.length){window.location=k[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+m+"=1"}}};f=function(k,j){window.location=d("span.edit a",j).attr("href")};g=function(){toggleWithKeyboard=true;d("input:checkbox","#cb").click().prop("checked",false);toggleWithKeyboard=false};h=function(j){return function(){var k=d('select[name="action"]');d('option[value="'+j+'"]',k).prop("selected",true);d("#doaction").click()}};d.table_hotkeys(d("table.widefat"),["a","u","s","d","r","q","z",["e",f],["shift+x",g],["shift+a",h("approve")],["shift+s",h("spam")],["shift+d",h("delete")],["shift+t",h("trash")],["shift+z",h("untrash")],["shift+u",h("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:i("prev"),next_page_link_cb:i("next")})}})})(jQuery);
\ No newline at end of file
+var theList,theExtraList,toggleWithKeyboard=!1;!function(a){var b,c,d,e;setCommentsList=function(){var f,g,h,i,j,k,l,m,n=0;f=a('input[name="_total"]',"#comments-form"),g=a('input[name="_per_page"]',"#comments-form"),h=a('input[name="_page"]',"#comments-form"),i=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"));var i=a("#"+c.element).is("."+c.dimClass)?1:-1;d(i)},j=function(b,c){var d,e,i,j,k,l,m=a(b.target).attr("data-wp-lists"),n=!1;return b.data._total=f.val()||0,b.data._per_page=g.val()||0,b.data._page=h.val()||0,b.data._url=document.location.href,b.data.comment_status=a('input[name="comment_status"]',"#comments-form").val(),-1!=m.indexOf(":trash=1")?n="trash":-1!=m.indexOf(":spam=1")&&(n="spam"),n&&(d=m.replace(/.*?comment-([0-9]+).*/,"$1"),e=a("#comment-"+d),note=a("#"+n+"-undo-holder").html(),e.find(".check-column :checkbox").prop("checked",!1),e.siblings("#replyrow").length&&commentReply.cid==d&&commentReply.close(),e.is("tr")?(i=e.children(":visible").length,l=a(".author strong",e).text(),j=a('<tr id="undo-'+d+'" class="undo un'+n+'" style="display:none;"><td colspan="'+i+'">'+note+"</td></tr>")):(l=a(".comment-author",e).text(),j=a('<div id="undo-'+d+'" style="display:none;" class="undo un'+n+'">'+note+"</div>")),e.before(j),a("strong","#undo-"+d).text(l),k=a(".undo a","#undo-"+d),k.attr("href","comment.php?action=un"+n+"comment&c="+d+"&_wpnonce="+b.data._ajax_nonce),k.attr("data-wp-lists","delete:the-comment-list:comment-"+d+"::un"+n+"=1"),k.attr("class","vim-z vim-destructive"),a(".avatar",e).clone().prependTo("#undo-"+d+" ."+n+"-undo-inside"),k.click(function(){return c.wpList.del(this),a("#undo-"+d).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+d).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},k=function(a,b,c){n>b||(c&&(n=b),f.val(a.toString()))},e=function(d){var e,f,g,h,i=a("#dashboard_right_now");d=d||0,!isNaN(d)&&i.length&&(e=a("span.total-count",i),f=a("span.approved-count",i),g=b(e),g+=d,h=g-b(a("span.pending-count",i))-b(a("span.spam-count",i)),c(e,g),c(f,h))},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)}),e()},l=function(g,h){function i(b){return a(h.target).parent().is("span."+b)?1:a("#"+h.element).is("."+b)?-1:0}var j,l,o,p,q,r=a(h.target).parent().is("span.untrash"),s=a(h.target).parent().is("span.unspam"),t=a("#"+h.element).is(".unapproved");p=r?-1:i("trash"),o=s?-1:i("spam"),a(h.target).parent().is("span.unapprove")||(r||s)&&t?q=1:t&&(q=-1),q&&d(q),a("span.spam-count").each(function(){var d=a(this),e=b(d)+o;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+p;c(d,e)}),a("#dashboard_right_now").length?(l=p?-1*p:0,e(l)):(j=f.val()?parseInt(f.val(),10):0,a(h.target).parent().is("span.undo")?j++:j--,0>j&&(j=0),"object"==typeof g&&n<h.parsed.responses[0].supplemental.time?(total_items_i18n=h.parsed.responses[0].supplemental.total_items_i18n||"",total_items_i18n&&(a(".displaying-num").text(total_items_i18n),a(".total-pages").text(h.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",h.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),k(j,h.parsed.responses[0].supplemental.time,!0)):k(j,g,!1)),!theExtraList||0==theExtraList.size()||0==theExtraList.children().size()||r||s||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),m())},m=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:j,dimAfter:i,delAfter:l,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=this,j=a("#comment-"+b),k=j.height();return i.close(),i.cid=b,e=a("#replyrow"),f=a("#inline-"+b),d=d||"replyto",g="edit"==d?"edit":"replyto",g=i.act=g+"-comment",a("#action",e).val(g),a("#comment_post_ID",e).val(c),a("#comment_ID",e).val(b),k>120&&a("#replycontent",e).css("height",35+k+"px"),"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(),j.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(),j.after(e),j.hasClass("unapproved")?h.text(adminCommentsL10n.replyApprove):h.text(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||self.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)?(h.animate({backgroundColor:"#CCEEBB"},400,function(){h.fadeOut()}),void 0):(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"),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")}),void 0)))},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(){toggleWithKeyboard=!0,a("input:checkbox","#cb").click().prop("checked",!1),toggleWithKeyboard=!1},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")}))})}(jQuery);
\ No newline at end of file
index e54e836cc20fda35790f732022bd534ac35eeef6..78c86a8fb82b4f8ef9e0f721fc734e68e65b8360 100644 (file)
@@ -94,7 +94,7 @@ var switchEditors = {
                // Mark </p> if it has any attributes.
                content = content.replace(/(<p [^>]+>.*?)<\/p>/g, '$1</p#>');
 
                // Mark </p> if it has any attributes.
                content = content.replace(/(<p [^>]+>.*?)<\/p>/g, '$1</p#>');
 
-               // Sepatate <div> containing <p>
+               // Separate <div> containing <p>
                content = content.replace(/<div( [^>]*)?>\s*<p>/gi, '<div$1>\n\n');
 
                // Remove <p> and <br />
                content = content.replace(/<div( [^>]*)?>\s*<p>/gi, '<div$1>\n\n');
 
                // Remove <p> and <br />
index 4a7e79937cadad1d7ea198184224f7b1e8150e2e..9cdd2fd416fd58ac2b0725cc3a955ee66f684817 100644 (file)
@@ -1 +1 @@
-var switchEditors={switchto:function(b){var c=b.id,a=c.length,e=c.substr(0,a-5),d=c.substr(a-4);this.go(e,d)},go:function(g,f){g=g||"content";f=f||"toggle";var c=this,b=tinyMCE.get(g),a,d,e=tinymce.DOM;a="wp-"+g+"-wrap";d=e.get(g);if("toggle"==f){if(b&&!b.isHidden()){f="html"}else{f="tmce"}}if("tmce"==f||"tinymce"==f){if(b&&!b.isHidden()){return false}if(typeof(QTags)!="undefined"){QTags.closeAllTags(g)}if(tinyMCEPreInit.mceInit[g]&&tinyMCEPreInit.mceInit[g].wpautop){d.value=c.wpautop(d.value)}if(b){b.show()}else{b=new tinymce.Editor(g,tinyMCEPreInit.mceInit[g]);b.render()}e.removeClass(a,"html-active");e.addClass(a,"tmce-active");setUserSetting("editor","tinymce")}else{if("html"==f){if(b&&b.isHidden()){return false}if(b){b.hide()}else{if(tinyMCEPreInit.mceInit[g]&&tinyMCEPreInit.mceInit[g].wpautop){d.value=c.pre_wpautop(d.value)}e.setStyles(d,{display:"",visibility:""})}e.removeClass(a,"tmce-active");e.addClass(a,"html-active");setUserSetting("editor","html")}}return false},_wp_Nop:function(c){var d,b,e=false,a=false;if(c.indexOf("<pre")!=-1||c.indexOf("<script")!=-1){e=true;c=c.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(f){f=f.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-temp-lb>");return f.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-temp-lb>")})}if(c.indexOf("[caption")!=-1){a=true;c=c.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(f){return f.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")})}d="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset";c=c.replace(new RegExp("\\s*</("+d+")>\\s*","g"),"</$1>\n");c=c.replace(new RegExp("\\s*<((?:"+d+")(?: [^>]*)?)>","g"),"\n<$1>");c=c.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>");c=c.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n");c=c.replace(/\s*<p>/gi,"");c=c.replace(/\s*<\/p>\s*/gi,"\n\n");c=c.replace(/\n[\s\u00a0]+\n/g,"\n\n");c=c.replace(/\s*<br ?\/?>\s*/gi,"\n");c=c.replace(/\s*<div/g,"\n<div");c=c.replace(/<\/div>\s*/g,"</div>\n");c=c.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n");c=c.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption");b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset";c=c.replace(new RegExp("\\s*<((?:"+b+")(?: [^>]*)?)\\s*>","g"),"\n<$1>");c=c.replace(new RegExp("\\s*</("+b+")>\\s*","g"),"</$1>\n");c=c.replace(/<li([^>]*)>/g,"\t<li$1>");if(c.indexOf("<hr")!=-1){c=c.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")}if(c.indexOf("<object")!=-1){c=c.replace(/<object[\s\S]+?<\/object>/g,function(f){return f.replace(/[\r\n]+/g,"")})}c=c.replace(/<\/p#>/g,"</p>\n");c=c.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1");c=c.replace(/^\s+/,"");c=c.replace(/[\s\u00a0]+$/,"");if(e){c=c.replace(/<wp-temp-lb>/g,"\n")}if(a){c=c.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")}return c},_wp_Autop:function(a){var c=false,b=false,d="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary";if(a.indexOf("<object")!=-1){a=a.replace(/<object[\s\S]+?<\/object>/g,function(e){return e.replace(/[\r\n]+/g,"")})}a=a.replace(/<[^<>]+>/g,function(e){return e.replace(/[\r\n]+/g," ")});if(a.indexOf("<pre")!=-1||a.indexOf("<script")!=-1){c=true;a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(e){return e.replace(/(\r\n|\n)/g,"<wp-temp-lb>")})}if(a.indexOf("[caption")!=-1){b=true;a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(e){e=e.replace(/<br([^>]*)>/g,"<wp-temp-br$1>");e=e.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(f){return f.replace(/[\r\n\t]+/," ")});return e.replace(/\s*\n\s*/g,"<wp-temp-br />")})}a=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(f,e,g){if(g.match(/<p( [^>]*)?>/)){return f}return e+"<p>"+g+"</p>"});if(c){a=a.replace(/<wp-temp-lb>/g,"\n")}if(b){a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")}return a},pre_wpautop:function(b){var a=this,d={o:a,data:b,unfiltered:b},c=typeof(jQuery)!="undefined";if(c){jQuery("body").trigger("beforePreWpautop",[d])}d.data=a._wp_Nop(d.data);if(c){jQuery("body").trigger("afterPreWpautop",[d])}return d.data},wpautop:function(b){var a=this,d={o:a,data:b,unfiltered:b},c=typeof(jQuery)!="undefined";if(c){jQuery("body").trigger("beforeWpautop",[d])}d.data=a._wp_Autop(d.data);if(c){jQuery("body").trigger("afterWpautop",[d])}return d.data}};
\ No newline at end of file
+var 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){a=a||"content",b=b||"toggle";var c,d,e=this,f=tinyMCE.get(a),g=tinymce.DOM;if(c="wp-"+a+"-wrap",d=g.get(a),"toggle"==b&&(b=f&&!f.isHidden()?"html":"tmce"),"tmce"==b||"tinymce"==b){if(f&&!f.isHidden())return!1;"undefined"!=typeof QTags&&QTags.closeAllTags(a),tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(d.value=e.wpautop(d.value)),f?f.show():(f=new tinymce.Editor(a,tinyMCEPreInit.mceInit[a]),f.render()),g.removeClass(c,"html-active"),g.addClass(c,"tmce-active"),setUserSetting("editor","tinymce")}else if("html"==b){if(f&&f.isHidden())return!1;f?f.hide():(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(d.value=e.pre_wpautop(d.value)),g.setStyles(d,{display:"",visibility:""})),g.removeClass(c,"tmce-active"),g.addClass(c,"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-temp-lb>"),a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-temp-lb>")})),-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-temp-lb>/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|select|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|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-temp-lb>")})),-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-temp-lb>/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
index 9d112ca61ce50adeeb99354d070c0effc72006e4..5933724bff0e263e9909c3c93ce1f544a6c298c6 100644 (file)
@@ -1 +1 @@
-jQuery(document).ready(function(c){var b,e,a,d=false;e=function(){b=c("#media-items").sortable({items:"div.media-item",placeholder:"sorthelper",axis:"y",distance:2,handle:"div.filename",stop:function(i,h){var g=c("#media-items").sortable("toArray"),f=g.length;c.each(g,function(k,l){var j=d?(f-k):(1+k);c("#"+l+" .menu_order input").val(j)})}})};sortIt=function(){var g=c(".menu_order_input"),f=g.length;g.each(function(j){var h=d?(f-j):(1+j);c(this).val(h)})};clearAll=function(f){f=f||0;c(".menu_order_input").each(function(){if(this.value=="0"||f){this.value=""}})};c("#asc").click(function(){d=false;sortIt();return false});c("#desc").click(function(){d=true;sortIt();return false});c("#clear").click(function(){clearAll(1);return false});c("#showall").click(function(){c("#sort-buttons span a").toggle();c("a.describe-toggle-on").hide();c("a.describe-toggle-off, table.slidetoggle").show();c("img.pinkynail").toggle(false);return false});c("#hideall").click(function(){c("#sort-buttons span a").toggle();c("a.describe-toggle-on").show();c("a.describe-toggle-off, table.slidetoggle").hide();c("img.pinkynail").toggle(true);return false});e();clearAll();if(c("#media-items>*").length>1){a=wpgallery.getWin();c("#save-all, #gallery-settings").show();if(typeof a.tinyMCE!="undefined"&&a.tinyMCE.activeEditor&&!a.tinyMCE.activeEditor.isHidden()){wpgallery.mcemode=true;wpgallery.init()}else{c("#insert-gallery").show()}}});jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinymce=null,tinyMCE,wpgallery;wpgallery={mcemode:false,editor:{},dom:{},is_update:false,el:{},I:function(a){return document.getElementById(a)},init:function(){var d=this,a,f,c,e,b=d.getWin();if(!d.mcemode){return}a=(""+document.location.search).replace(/^\?/,"").split("&");f={};for(c=0;c<a.length;c++){e=a[c].split("=");f[unescape(e[0])]=unescape(e[1])}if(f.mce_rdomain){document.domain=f.mce_rdomain}tinymce=b.tinymce;tinyMCE=b.tinyMCE;d.editor=tinymce.EditorManager.activeEditor;d.setup()},getWin:function(){return window.dialogArguments||opener||parent||top},setup:function(){var f=this,c,d=f.editor,i,e,h,b,j;if(!f.mcemode){return}f.el=d.selection.getNode();if(f.el.nodeName!="IMG"||!d.dom.hasClass(f.el,"wpGallery")){if((i=d.dom.select("img.wpGallery"))&&i[0]){f.el=i[0]}else{if(getUserSetting("galfile")=="1"){f.I("linkto-file").checked="checked"}if(getUserSetting("galdesc")=="1"){f.I("order-desc").checked="checked"}if(getUserSetting("galcols")){f.I("columns").value=getUserSetting("galcols")}if(getUserSetting("galord")){f.I("orderby").value=getUserSetting("galord")}jQuery("#insert-gallery").show();return}}c=d.dom.getAttrib(f.el,"title");c=d.dom.decode(c);if(c){jQuery("#update-gallery").show();f.is_update=true;e=c.match(/columns=['"]([0-9]+)['"]/);h=c.match(/link=['"]([^'"]+)['"]/i);b=c.match(/order=['"]([^'"]+)['"]/i);j=c.match(/orderby=['"]([^'"]+)['"]/i);if(h&&h[1]){f.I("linkto-file").checked="checked"}if(b&&b[1]){f.I("order-desc").checked="checked"}if(e&&e[1]){f.I("columns").value=""+e[1]}if(j&&j[1]){f.I("orderby").value=j[1]}}else{jQuery("#insert-gallery").show()}},update:function(){var b=this,a=b.editor,d="",c;if(!b.mcemode||!b.is_update){c="[gallery"+b.getSettings()+"]";b.getWin().send_to_editor(c);return}if(b.el.nodeName!="IMG"){return}d=a.dom.decode(a.dom.getAttrib(b.el,"title"));d=d.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi,"");d+=b.getSettings();a.dom.setAttrib(b.el,"title",d);b.getWin().tb_remove()},getSettings:function(){var a=this.I,b="";if(a("linkto-file").checked){b+=' link="file"';setUserSetting("galfile","1")}if(a("order-desc").checked){b+=' order="DESC"';setUserSetting("galdesc","1")}if(a("columns").value!=3){b+=' columns="'+a("columns").value+'"';setUserSetting("galcols",a("columns").value)}if(a("orderby").value!="menu_order"){b+=' orderby="'+a("orderby").value+'"';setUserSetting("galord",a("orderby").value)}return b}};
\ No newline at end of file
+jQuery(document).ready(function(a){var b,c,d,e=!1;c=function(){b=a("#media-items").sortable({items:"div.media-item",placeholder:"sorthelper",axis:"y",distance:2,handle:"div.filename",stop:function(){var b=a("#media-items").sortable("toArray"),c=b.length;a.each(b,function(b,d){var f=e?c-b:1+b;a("#"+d+" .menu_order input").val(f)})}})},sortIt=function(){var b=a(".menu_order_input"),c=b.length;b.each(function(b){var d=e?c-b:1+b;a(this).val(d)})},clearAll=function(b){b=b||0,a(".menu_order_input").each(function(){("0"==this.value||b)&&(this.value="")})},a("#asc").click(function(){return e=!1,sortIt(),!1}),a("#desc").click(function(){return e=!0,sortIt(),!1}),a("#clear").click(function(){return clearAll(1),!1}),a("#showall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").hide(),a("a.describe-toggle-off, table.slidetoggle").show(),a("img.pinkynail").toggle(!1),!1}),a("#hideall").click(function(){return a("#sort-buttons span a").toggle(),a("a.describe-toggle-on").show(),a("a.describe-toggle-off, table.slidetoggle").hide(),a("img.pinkynail").toggle(!0),!1}),c(),clearAll(),a("#media-items>*").length>1&&(d=wpgallery.getWin(),a("#save-all, #gallery-settings").show(),"undefined"!=typeof d.tinyMCE&&d.tinyMCE.activeEditor&&!d.tinyMCE.activeEditor.isHidden()?(wpgallery.mcemode=!0,wpgallery.init()):a("#insert-gallery").show())}),jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinymce=null,tinyMCE,wpgallery;wpgallery={mcemode:!1,editor:{},dom:{},is_update:!1,el:{},I:function(a){return document.getElementById(a)},init:function(){var a,b,c,d,e=this,f=e.getWin();if(e.mcemode){for(a=(""+document.location.search).replace(/^\?/,"").split("&"),b={},c=0;c<a.length;c++)d=a[c].split("="),b[unescape(d[0])]=unescape(d[1]);b.mce_rdomain&&(document.domain=b.mce_rdomain),tinymce=f.tinymce,tinyMCE=f.tinyMCE,e.editor=tinymce.EditorManager.activeEditor,e.setup()}},getWin:function(){return window.dialogArguments||opener||parent||top},setup:function(){var a,b,c,d,e,f,g=this,h=g.editor;if(g.mcemode){if(g.el=h.selection.getNode(),"IMG"!=g.el.nodeName||!h.dom.hasClass(g.el,"wpGallery")){if(!(b=h.dom.select("img.wpGallery"))||!b[0])return"1"==getUserSetting("galfile")&&(g.I("linkto-file").checked="checked"),"1"==getUserSetting("galdesc")&&(g.I("order-desc").checked="checked"),getUserSetting("galcols")&&(g.I("columns").value=getUserSetting("galcols")),getUserSetting("galord")&&(g.I("orderby").value=getUserSetting("galord")),jQuery("#insert-gallery").show(),void 0;g.el=b[0]}a=h.dom.getAttrib(g.el,"title"),a=h.dom.decode(a),a?(jQuery("#update-gallery").show(),g.is_update=!0,c=a.match(/columns=['"]([0-9]+)['"]/),d=a.match(/link=['"]([^'"]+)['"]/i),e=a.match(/order=['"]([^'"]+)['"]/i),f=a.match(/orderby=['"]([^'"]+)['"]/i),d&&d[1]&&(g.I("linkto-file").checked="checked"),e&&e[1]&&(g.I("order-desc").checked="checked"),c&&c[1]&&(g.I("columns").value=""+c[1]),f&&f[1]&&(g.I("orderby").value=f[1])):jQuery("#insert-gallery").show()}},update:function(){var a,b=this,c=b.editor,d="";return b.mcemode&&b.is_update?("IMG"==b.el.nodeName&&(d=c.dom.decode(c.dom.getAttrib(b.el,"title")),d=d.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi,""),d+=b.getSettings(),c.dom.setAttrib(b.el,"title",d),b.getWin().tb_remove()),void 0):(a="[gallery"+b.getSettings()+"]",b.getWin().send_to_editor(a),void 0)},getSettings:function(){var a=this.I,b="";return a("linkto-file").checked&&(b+=' link="file"',setUserSetting("galfile","1")),a("order-desc").checked&&(b+=' order="DESC"',setUserSetting("galdesc","1")),3!=a("columns").value&&(b+=' columns="'+a("columns").value+'"',setUserSetting("galcols",a("columns").value)),"menu_order"!=a("orderby").value&&(b+=' orderby="'+a("orderby").value+'"',setUserSetting("galord",a("orderby").value)),b}};
\ No newline at end of file
index b11e2d3ab00de41893e99b7c396c1d1a60ae6089..88eb2922e354d6a2e711e1ba70852ff7e89a24ca 100644 (file)
@@ -158,33 +158,35 @@ imageEdit = {
                        'rand': t.intval(Math.random() * 1000000)
                };
 
                        'rand': t.intval(Math.random() * 1000000)
                };
 
-               img = $('<img id="image-preview-' + postid + '" />');
-               img.load( function() {
-                       var max1, max2, parent = $('#imgedit-crop-' + postid), t = imageEdit;
-
-                       parent.empty().append(img);
-
-                       // w, h are the new full size dims
-                       max1 = Math.max( t.hold.w, t.hold.h );
-                       max2 = Math.max( $(img).width(), $(img).height() );
-                       t.hold['sizer'] = max1 > max2 ? max2 / max1 : 1;
-
-                       t.initCrop(postid, img, parent);
-                       t.setCropSelection(postid, 0);
-
-                       if ( (typeof callback != "unknown") && callback != null )
-                               callback();
-
-                       if ( $('#imgedit-history-' + postid).val() && $('#imgedit-undone-' + postid).val() == 0 )
-                               $('input.imgedit-submit-btn', '#imgedit-panel-' + postid).removeAttr('disabled');
-                       else
-                               $('input.imgedit-submit-btn', '#imgedit-panel-' + postid).prop('disabled', true);
-
-                       t.toggleEditor(postid, 0);
-               }).error(function(){
-                       $('#imgedit-crop-' + postid).empty().append('<div class="error"><p>' + imageEditL10n.error + '</p></div>');
-                       t.toggleEditor(postid, 0);
-               }).attr('src', ajaxurl + '?' + $.param(data));
+               img = $('<img id="image-preview-' + postid + '" />')
+                       .on('load', function() {
+                               var max1, max2, parent = $('#imgedit-crop-' + postid), t = imageEdit;
+
+                               parent.empty().append(img);
+
+                               // w, h are the new full size dims
+                               max1 = Math.max( t.hold.w, t.hold.h );
+                               max2 = Math.max( $(img).width(), $(img).height() );
+                               t.hold['sizer'] = max1 > max2 ? max2 / max1 : 1;
+
+                               t.initCrop(postid, img, parent);
+                               t.setCropSelection(postid, 0);
+
+                               if ( (typeof callback != "unknown") && callback != null )
+                                       callback();
+
+                               if ( $('#imgedit-history-' + postid).val() && $('#imgedit-undone-' + postid).val() == 0 )
+                                       $('input.imgedit-submit-btn', '#imgedit-panel-' + postid).removeAttr('disabled');
+                               else
+                                       $('input.imgedit-submit-btn', '#imgedit-panel-' + postid).prop('disabled', true);
+
+                               t.toggleEditor(postid, 0);
+                       })
+                       .on('error', function() {
+                               $('#imgedit-crop-' + postid).empty().append('<div class="error"><p>' + imageEditL10n.error + '</p></div>');
+                               t.toggleEditor(postid, 0);
+                       })
+                       .attr('src', ajaxurl + '?' + $.param(data));
        },
 
        action : function(postid, nonce, action) {
        },
 
        action : function(postid, nonce, action) {
index 6d7e0314ca4f4a1119ca40e65e71f35ea15e3f4b..61d174451720f39c643e9df4c88e59081bb6eeee 100644 (file)
@@ -1 +1 @@
-var imageEdit;(function(a){imageEdit={iasapi:{},hold:{},postid:"",intval:function(b){return b|0},setDisabled:function(c,b){if(b){c.removeClass("disabled");a("input",c).removeAttr("disabled")}else{c.addClass("disabled");a("input",c).prop("disabled",true)}},init:function(g,e){var d=this,c=a("#image-editor-"+d.postid),b=d.intval(a("#imgedit-x-"+g).val()),f=d.intval(a("#imgedit-y-"+g).val());if(d.postid!=g&&c.length){d.close(d.postid)}d.hold.w=d.hold.ow=b;d.hold.h=d.hold.oh=f;d.hold.xy_ratio=b/f;d.hold.sizer=parseFloat(a("#imgedit-sizer-"+g).val());d.postid=g;a("#imgedit-response-"+g).empty();a('input[type="text"]',"#imgedit-panel-"+g).keypress(function(i){var h=i.keyCode;if(36<h&&h<41){a(this).blur()}if(13==h){i.preventDefault();i.stopPropagation();return false}})},toggleEditor:function(d,b){var c=a("#imgedit-wait-"+d);if(b){c.height(a("#imgedit-panel-"+d).height()).fadeIn("fast")}else{c.fadeOut("fast")}},toggleHelp:function(b){a(b).siblings(".imgedit-help").slideToggle("fast");return false},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(i,b){var d=a("#imgedit-scale-width-"+i),f=a("#imgedit-scale-height-"+i),g=a("#imgedit-scale-warn-"+i),c="",e="";if(b){e=(d.val()!="")?Math.round(d.val()/this.hold.xy_ratio):"";f.val(e)}else{c=(f.val()!="")?Math.round(f.val()*this.hold.xy_ratio):"";d.val(c)}if((e&&e>this.hold.oh)||(c&&c>this.hold.ow)){g.css("visibility","visible")}else{g.css("visibility","hidden")}},getSelRatio:function(f){var b=this.hold.w,e=this.hold.h,d=this.intval(a("#imgedit-crop-width-"+f).val()),c=this.intval(a("#imgedit-crop-height-"+f).val());if(d&&c){return d+":"+c}if(b&&e){return b+":"+e}return"1:1"},filterHistory:function(j,f){var d=a("#imgedit-history-"+j).val(),b,h,e,c,g=[];if(d!=""){d=JSON.parse(d);b=this.intval(a("#imgedit-undone-"+j).val());if(b>0){while(b>0){d.pop();b--}}if(f){if(!d.length){this.hold.w=this.hold.ow;this.hold.h=this.hold.oh;return""}e=d[d.length-1];e=e.c||e.r||e.f||false;if(e){this.hold.w=e.fw;this.hold.h=e.fh}}for(h in d){c=d[h];if(c.hasOwnProperty("c")){g[h]={c:{x:c.c.x,y:c.c.y,w:c.c.w,h:c.c.h}}}else{if(c.hasOwnProperty("r")){g[h]={r:c.r.r}}else{if(c.hasOwnProperty("f")){g[h]={f:c.f.f}}}}}return JSON.stringify(g)}return""},refreshEditor:function(g,d,f){var c=this,e,b;c.toggleEditor(g,1);e={action:"imgedit-preview",_ajax_nonce:d,postid:g,history:c.filterHistory(g,1),rand:c.intval(Math.random()*1000000)};b=a('<img id="image-preview-'+g+'" />');b.load(function(){var i,h,k=a("#imgedit-crop-"+g),j=imageEdit;k.empty().append(b);i=Math.max(j.hold.w,j.hold.h);h=Math.max(a(b).width(),a(b).height());j.hold.sizer=i>h?h/i:1;j.initCrop(g,b,k);j.setCropSelection(g,0);if((typeof f!="unknown")&&f!=null){f()}if(a("#imgedit-history-"+g).val()&&a("#imgedit-undone-"+g).val()==0){a("input.imgedit-submit-btn","#imgedit-panel-"+g).removeAttr("disabled")}else{a("input.imgedit-submit-btn","#imgedit-panel-"+g).prop("disabled",true)}j.toggleEditor(g,0)}).error(function(){a("#imgedit-crop-"+g).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>");c.toggleEditor(g,0)}).attr("src",ajaxurl+"?"+a.param(e))},action:function(b,g,c){var j=this,e,i,f,d,k;if(j.notsaved(b)){return false}e={action:"image-editor",_ajax_nonce:g,postid:b};if("scale"==c){i=a("#imgedit-scale-width-"+b),f=a("#imgedit-scale-height-"+b),d=j.intval(i.val()),k=j.intval(f.val());if(d<1){i.focus();return false}else{if(k<1){f.focus();return false}}if(d==j.hold.ow||k==j.hold.oh){return false}e["do"]="scale";e.fwidth=d;e.fheight=k}else{if("restore"==c){e["do"]="restore"}else{return false}}j.toggleEditor(b,1);a.post(ajaxurl,e,function(h){a("#image-editor-"+b).empty().append(h);j.toggleEditor(b,0)})},save:function(f,b){var c,e=this.getTarget(f),d=this.filterHistory(f,0);if(""==d){return false}this.toggleEditor(f,1);c={action:"image-editor",_ajax_nonce:b,postid:f,history:d,target:e,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"};a.post(ajaxurl,c,function(h){var g=JSON.parse(h);if(g.error){a("#imgedit-response-"+f).html('<div class="error"><p>'+g.error+"</p><div>");imageEdit.close(f);return}if(g.fw&&g.fh){a("#media-dims-"+f).html(g.fw+" &times; "+g.fh)}if(g.thumbnail){a(".thumbnail","#thumbnail-head-"+f).attr("src",""+g.thumbnail)}if(g.msg){a("#imgedit-response-"+f).html('<div class="updated"><p>'+g.msg+"</p></div>")}imageEdit.close(f)})},open:function(h,d){var f,e=a("#image-editor-"+h),c=a("#media-head-"+h),b=a("#imgedit-open-btn-"+h),g=b.siblings(".spinner");b.prop("disabled",true);g.show();f={action:"image-editor",_ajax_nonce:d,postid:h,"do":"open"};e.load(ajaxurl,f,function(){e.fadeIn("fast");c.fadeOut("fast",function(){b.removeAttr("disabled");g.hide()})})},imgLoaded:function(d){var b=a("#image-preview-"+d),c=a("#imgedit-crop-"+d);this.initCrop(d,b,c);this.setCropSelection(d,0);this.toggleEditor(d,0)},initCrop:function(g,e,c){var b=this,d=a("#imgedit-sel-width-"+g),f=a("#imgedit-sel-height-"+g);b.iasapi=a(e).imgAreaSelect({parent:c,instance:true,handles:true,keys:true,minWidth:3,minHeight:3,onInit:function(h,i){c.children().mousedown(function(m){var k=false,l,j;if(m.shiftKey){l=b.iasapi.getSelection();j=b.getSelRatio(g);k=(l&&l.width&&l.height)?l.width+":"+l.height:j}b.iasapi.setOptions({aspectRatio:k})})},onSelectStart:function(h,i){imageEdit.setDisabled(a("#imgedit-crop-sel-"+g),1)},onSelectEnd:function(h,i){imageEdit.setCropSelection(g,i)},onSelectChange:function(h,j){var i=imageEdit.hold.sizer;d.val(imageEdit.round(j.width/i));f.val(imageEdit.round(j.height/i))}})},setCropSelection:function(g,f){var e,b=a("#imgedit-minthumb-"+g).val()||"128:128",d=this.hold.sizer;b=b.split(":");f=f||0;if(!f||(f.width<3&&f.height<3)){this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),0);this.setDisabled(a("#imgedit-crop-sel-"+g),0);a("#imgedit-sel-width-"+g).val("");a("#imgedit-sel-height-"+g).val("");a("#imgedit-selection-"+g).val("");return false}if(f.width<(b[0]*d)&&f.height<(b[1]*d)){this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),0);a("#imgedit-selection-"+g).val("");return false}e={x:f.x1,y:f.y1,w:f.width,h:f.height};this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),1);a("#imgedit-selection-"+g).val(JSON.stringify(e))},close:function(c,b){b=b||false;if(b&&this.notsaved(c)){return false}this.iasapi={};this.hold={};a("#image-editor-"+c).fadeOut("fast",function(){a("#media-head-"+c).fadeIn("fast");a(this).empty()})},notsaved:function(e){var c=a("#imgedit-history-"+e).val(),d=(c!="")?JSON.parse(c):new Array(),b=this.intval(a("#imgedit-undone-"+e).val());if(b<d.length){if(confirm(a("#imgedit-leaving-"+e).html())){return false}return true}return false},addStep:function(i,h,d){var c=this,e=a("#imgedit-history-"+h),g=(e.val()!="")?JSON.parse(e.val()):new Array(),f=a("#imgedit-undone-"+h),b=c.intval(f.val());while(b>0){g.pop();b--}f.val(0);g.push(i);e.val(JSON.stringify(g));c.refreshEditor(h,d,function(){c.setDisabled(a("#image-undo-"+h),true);c.setDisabled(a("#image-redo-"+h),false)})},rotate:function(d,e,c,b){if(a(b).hasClass("disabled")){return false}this.addStep({r:{r:d,fw:this.hold.h,fh:this.hold.w}},e,c)},flip:function(d,e,c,b){if(a(b).hasClass("disabled")){return false}this.addStep({f:{f:d,fw:this.hold.w,fh:this.hold.h}},e,c)},crop:function(g,e,c){var f=a("#imgedit-selection-"+g).val(),b=this.intval(a("#imgedit-sel-width-"+g).val()),d=this.intval(a("#imgedit-sel-height-"+g).val());if(a(c).hasClass("disabled")||f==""){return false}f=JSON.parse(f);if(f.w>0&&f.h>0&&b>0&&d>0){f.fw=b;f.fh=d;this.addStep({c:f},g,e)}},undo:function(g,e){var d=this,c=a("#image-undo-"+g),f=a("#imgedit-undone-"+g),b=d.intval(f.val())+1;if(c.hasClass("disabled")){return}f.val(b);d.refreshEditor(g,e,function(){var h=a("#imgedit-history-"+g),i=(h.val()!="")?JSON.parse(h.val()):new Array();d.setDisabled(a("#image-redo-"+g),true);d.setDisabled(c,b<i.length)})},redo:function(g,e){var d=this,c=a("#image-redo-"+g),f=a("#imgedit-undone-"+g),b=d.intval(f.val())-1;if(c.hasClass("disabled")){return}f.val(b);d.refreshEditor(g,e,function(){d.setDisabled(a("#image-undo-"+g),true);d.setDisabled(c,b>0)})},setNumSelection:function(c){var g,k=a("#imgedit-sel-width-"+c),j=a("#imgedit-sel-height-"+c),o=this.intval(k.val()),m=this.intval(j.val()),i=a("#image-preview-"+c),p=i.height(),h=i.width(),b=this.hold.sizer,f,n,e,l,d=this.iasapi;if(o<1){k.val("");return false}if(m<1){j.val("");return false}if(o&&m&&(g=d.getSelection())){e=g.x1+Math.round(o*b);l=g.y1+Math.round(m*b);f=g.x1;n=g.y1;if(e>h){f=0;e=h;k.val(Math.round(e/b))}if(l>p){n=0;l=p;j.val(Math.round(l/b))}d.setSelection(f,n,e,l);d.update();this.setCropSelection(c,d.getSelection())}},round:function(b){var c;b=Math.round(b);if(this.hold.sizer>0.6){return b}c=b.toString().slice(-1);if("1"==c){return b-1}else{if("9"==c){return b+1}}return b},setRatioSelection:function(j,i,d){var f,e,b=this.intval(a("#imgedit-crop-width-"+j).val()),g=this.intval(a("#imgedit-crop-height-"+j).val()),c=a("#image-preview-"+j).height();if(!this.intval(a(d).val())){a(d).val("");return}if(b&&g){this.iasapi.setOptions({aspectRatio:b+":"+g});if(f=this.iasapi.getSelection(true)){e=Math.ceil(f.y1+((f.x2-f.x1)/(b/g)));if(e>c){e=c;if(i){a("#imgedit-crop-height-"+j).val("")}else{a("#imgedit-crop-width-"+j).val("")}}this.iasapi.setSelection(f.x1,f.y1,f.x2,e);this.iasapi.update()}}}}})(jQuery);
\ No newline at end of file
+var imageEdit;!function(a){imageEdit={iasapi:{},hold:{},postid:"",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).siblings(".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(b,c,d){var e,f,g=this;g.toggleEditor(b,1),e={action:"imgedit-preview",_ajax_nonce:c,postid:b,history:g.filterHistory(b,1),rand:g.intval(1e6*Math.random())},f=a('<img id="image-preview-'+b+'" />').on("load",function(){var c,e,g=a("#imgedit-crop-"+b),h=imageEdit;g.empty().append(f),c=Math.max(h.hold.w,h.hold.h),e=Math.max(a(f).width(),a(f).height()),h.hold.sizer=c>e?e/c:1,h.initCrop(b,f,g),h.setCropSelection(b,0),"unknown"!=typeof d&&null!=d&&d(),a("#imgedit-history-"+b).val()&&0==a("#imgedit-undone-"+b).val()?a("input.imgedit-submit-btn","#imgedit-panel-"+b).removeAttr("disabled"):a("input.imgedit-submit-btn","#imgedit-panel-"+b).prop("disabled",!0),h.toggleEditor(b,0)}).on("error",function(){a("#imgedit-crop-"+b).empty().append('<div class="error"><p>'+imageEditL10n.error+"</p></div>"),g.toggleEditor(b,0)}).attr("src",ajaxurl+"?"+a.param(e))},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)})},save:function(b,c){var d,e=this.getTarget(b),f=this.filterHistory(b,0);return""==f?!1:(this.toggleEditor(b,1),d={action:"image-editor",_ajax_nonce:c,postid:b,history:f,target:e,context:a("#image-edit-context").length?a("#image-edit-context").val():null,"do":"save"},a.post(ajaxurl,d,function(c){var d=JSON.parse(c);return d.error?(a("#imgedit-response-"+b).html('<div class="error"><p>'+d.error+"</p><div>"),imageEdit.close(b),void 0):(d.fw&&d.fh&&a("#media-dims-"+b).html(d.fw+" &times; "+d.fh),d.thumbnail&&a(".thumbnail","#thumbnail-head-"+b).attr("src",""+d.thumbnail),d.msg&&a("#imgedit-response-"+b).html('<div class="updated"><p>'+d.msg+"</p></div>"),imageEdit.close(b),void 0)}),void 0)},open:function(b,c){var d,e=a("#image-editor-"+b),f=a("#media-head-"+b),g=a("#imgedit-open-btn-"+b),h=g.siblings(".spinner");g.prop("disabled",!0),h.show(),d={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},e.load(ajaxurl,d,function(){e.fadeIn("fast"),f.fadeOut("fast",function(){g.removeAttr("disabled"),h.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(b,c,d){var e=this,f=a("#imgedit-sel-width-"+b),g=a("#imgedit-sel-height-"+b);e.iasapi=a(c).imgAreaSelect({parent:d,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(){d.children().mousedown(function(a){var c,d,f=!1;a.shiftKey&&(c=e.iasapi.getSelection(),d=e.getSelRatio(b),f=c&&c.width&&c.height?c.width+":"+c.height:d),e.iasapi.setOptions({aspectRatio:f})})},onSelectStart:function(){imageEdit.setDisabled(a("#imgedit-crop-sel-"+b),1)},onSelectEnd:function(a,c){imageEdit.setCropSelection(b,c)},onSelectChange:function(a,b){var c=imageEdit.hold.sizer;f.val(imageEdit.round(b.width/c)),g.val(imageEdit.round(b.height/c))}})},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),a("#imgedit-selection-"+b).val(JSON.stringify(d)),void 0)},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()}),void 0)},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!=c?JSON.parse(c):new Array,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()):new Array,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:(this.addStep({r:{r:b,fw:this.hold.h,fh:this.hold.w}},c,d),void 0)},flip:function(b,c,d,e){return a(e).hasClass("disabled")?!1:(this.addStep({f:{f:b,fw:this.hold.w,fh:this.hold.h}},c,d),void 0)},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),e.w>0&&e.h>0&&f>0&&g>0&&(e.fw=f,e.fh=g,this.addStep({c:e},b,c)),void 0)},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()):new Array;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):(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())),void 0)},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())?(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 0):(a(d).val(""),void 0)}}}(jQuery);
\ No newline at end of file
index 8076c31e09ae10f88e3fc5af1899eb9d59407d00..9b8c04d392fa06cdfa07f98e8c6e739af078cb98 100644 (file)
@@ -64,11 +64,6 @@ inlineEditPost = {
                                t.revert();
                        }
                });
                                t.revert();
                        }
                });
-
-               $('#post-query-submit').mousedown(function(e){
-                       t.revert();
-                       $('select[name^="action"]').val('-1');
-               });
        },
 
        toggle : function(el){
        },
 
        toggle : function(el){
@@ -258,6 +253,10 @@ inlineEditPost = {
                                } else {
                                        $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
                                }
                                } else {
                                        $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
                                }
+
+                               if ( $('#post-'+id).prev().hasClass('alternate') ) {
+                                       $('#post-'+id).removeClass('alternate');
+                               }
                        }
                , 'html');
                return false;
                        }
                , 'html');
                return false;
index 6bdb41454baf8760ec5df68875a63bc82019ad30..afa849d018b3eb4b5439cfac21041f7b4edb5bac 100644 (file)
@@ -1 +1 @@
-(function(a){inlineEditPost={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type=a("table.widefat").hasClass("pages")?"page":"post";c.what="#post-";d.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});a("a.cancel",d).click(function(){return inlineEditPost.revert()});a("a.save",d).click(function(){return inlineEditPost.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditPost.save(this)}});a("a.cancel",b).click(function(){return inlineEditPost.revert()});a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var e=a("input.inline-edit-password-input");if(a(this).prop("checked")){e.val("").prop("disabled",true)}else{e.prop("disabled",false)}});a("#the-list").on("click","a.editinline",function(){inlineEditPost.edit(this);return false});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"]',b).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}});a("#post-query-submit").mousedown(function(f){c.revert();a('select[name^="action"]').val("-1")})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},setBulk:function(){var e="",d=this.type,b,f=true;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(g){if(a(this).prop("checked")){f=false;var h=a(this).val(),c;c=a("#inline_"+h+" .post_title").html()||inlineEditL10n.notitle;e+='<div id="ttle'+h+'"><a id="_'+h+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+c+"</div>"}});if(f){return this.revert()}a("#bulk-titles").html(e);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});if("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:true,multipleSep:inlineEditL10n.comma+" "})}a("html, body").animate({scrollTop:0},"fast")},edit:function(c){var n=this,j,e,g,i,h,m,l,d=true,o,b,k;n.revert();if(typeof(c)=="object"){c=n.getId(c)}j=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"];if(n.type=="page"){j.push("post_parent","page_template")}e=a("#inline-edit").clone(true);a("td",e).attr("colspan",a(".widefat:first thead th:visible").length);if(a(n.what+c).hasClass("alternate")){a(e).addClass("alternate")}a(n.what+c).hide().after(e);g=a("#inline_"+c);if(!a(':input[name="post_author"] option[value="'+a(".post_author",g).text()+'"]',e).val()){a(':input[name="post_author"]',e).prepend('<option value="'+a(".post_author",g).text()+'">'+a("#"+n.type+"-"+c+" .author").text()+"</option>")}if(a(':input[name="post_author"] option',e).length==1){a("label.inline-edit-author",e).hide()}b=a(".post_format",g).text();a("option.unsupported",e).each(function(){var f=a(this);if(f.val()!=b){f.remove()}});for(k=0;k<j.length;k++){a(':input[name="'+j[k]+'"]',e).val(a("."+j[k],g).text())}if(a(".comment_status",g).text()=="open"){a('input[name="comment_status"]',e).prop("checked",true)}if(a(".ping_status",g).text()=="open"){a('input[name="ping_status"]',e).prop("checked",true)}if(a(".sticky",g).text()=="sticky"){a('input[name="sticky"]',e).prop("checked",true)}a(".post_category",g).each(function(){var f=a(this).text();if(f){taxname=a(this).attr("id").replace("_"+c,"");a("ul."+taxname+"-checklist :checkbox",e).val(f.split(","))}});a(".tags_input",g).each(function(){var q=a(this).text(),r=a(this).attr("id").replace("_"+c,""),p=a("textarea.tax_input_"+r,e),f=inlineEditL10n.comma;if(q){if(","!==f){q=q.replace(/,/g,f)}p.val(q)}p.suggest(ajaxurl+"?action=ajax-tag-search&tax="+r,{delay:500,minchars:2,multiple:true,multipleSep:inlineEditL10n.comma+" "})});i=a("._status",g).text();if("future"!=i){a('select[name="_status"] option[value="future"]',e).remove()}if("private"==i){a('input[name="keep_private"]',e).prop("checked",true);a("input.inline-edit-password-input").val("").prop("disabled",true)}h=a('select[name="post_parent"] option[value="'+c+'"]',e);if(h.length>0){m=h[0].className.split("-")[1];l=h;while(d){l=l.next("option");if(l.length==0){break}o=l[0].className.split("-")[1];if(o<=m){d=false}else{l.remove();l=h}}h.remove()}a(e).attr("id","edit-"+c).addClass("inline-editor").show();a(".ptitle",e).focus();return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .spinner").show();d={action:"inline-save",post_type:typenow,post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(f){a("table.widefat .spinner").hide();if(f){if(-1!=f.indexOf("<tr")){a(inlineEditPost.what+e).remove();a("#edit-"+e).before(f).remove();a(inlineEditPost.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save .error").html(f).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .spinner").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditPost.init()});a(document).on("heartbeat-tick.wp-check-locked-posts",function(d,c){var b=c["wp-check-locked-posts"]||{};a("#the-list tr").each(function(g,h){var f=h.id,k=a(h),j,e;if(b.hasOwnProperty(f)){if(!k.hasClass("wp-locked")){j=b[f];k.find(".column-title .locked-text").text(j.text);k.find(".check-column checkbox").prop("checked",false);if(j.avatar_src){e=a('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",j.avatar_src.replace(/&amp;/g,"&"));k.find(".column-title .locked-avatar").empty().append(e)}k.addClass("wp-locked")}}else{if(k.hasClass("wp-locked")){k.removeClass("wp-locked").delay(1000).find(".locked-info span").empty()}}})}).on("heartbeat-send.wp-check-locked-posts",function(d,c){var b=[];a("#the-list tr").each(function(e,f){if(f.id){b.push(f.id)}});if(b.length){c["wp-check-locked-posts"]=b}})}(jQuery));
\ No newline at end of file
+!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+" "})),a("html, body").animate({scrollTop:0},"fast"),void 0)},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=a(this).text();c&&(taxname=a(this).attr("id").replace("_"+b,""),a("ul."+taxname+"-checklist :checkbox",d).val(c.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+" :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)})}(jQuery);
\ No newline at end of file
index 6d5293ac3cc7a37efdc9e046823a16101781d5ff..609c0d7c9b51de856ec95fe3f40b121cf1956eed 100644 (file)
@@ -90,6 +90,9 @@ inlineEditTax = {
                                                $('#edit-'+id+' .inline-edit-save .error').html(r).show();
                                } else
                                        $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
                                                $('#edit-'+id+' .inline-edit-save .error').html(r).show();
                                } else
                                        $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
+
+                               if ($(row).prev('tr').hasClass('alternate'))
+                                       $(row).removeClass('alternate');
                        }
                );
                return false;
                        }
                );
                return false;
index f7a9e4c931602c1e409f0563853cbd32bce6cfb6..26cd550966adc983e8b134a0709a75fccafbaa94 100644 (file)
@@ -1 +1 @@
-(function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("data-wp-lists").substr(5);b.what="#"+b.type+"-";a("#the-list").on("click","a.editinline",function(){inlineEditTax.edit(this);return false});c.keyup(function(d){if(d.which==27){return inlineEditTax.revert()}});a("a.cancel",c).click(function(){return inlineEditTax.revert()});a("a.save",c).click(function(){return inlineEditTax.save(this)});a("input, select",c).keydown(function(d){if(d.which==13){return inlineEditTax.save(this)}});a('#posts-filter input[type="submit"]').mousedown(function(d){b.revert()})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},edit:function(d){var c=this,b;c.revert();if(typeof(d)=="object"){d=c.getId(d)}b=a("#inline-edit").clone(true),rowData=a("#inline_"+d);a("td",b).attr("colspan",a(".widefat:first thead th:visible").length);if(a(c.what+d).hasClass("alternate")){a(b).addClass("alternate")}a(c.what+d).hide().after(b);a(':input[name="name"]',b).val(a(".name",rowData).text());a(':input[name="slug"]',b).val(a(".slug",rowData).text());a(b).attr("id","edit-"+d).addClass("inline-editor").show();a(".ptitle",b).eq(0).focus();return false},save:function(e){var d,b,c=a('input[name="taxonomy"]').val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .spinner").show();d={action:"inline-save-tax",tax_type:this.type,tax_ID:e,taxonomy:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post(ajaxurl,d,function(g){var h,f;a("table.widefat .spinner").hide();if(g){if(-1!=g.indexOf("<tr")){a(inlineEditTax.what+e).remove();f=a(g).attr("id");a("#edit-"+e).before(g).remove();h=f?a("#"+f):a(inlineEditTax.what+e);h.hide().fadeIn()}else{a("#edit-"+e+" .inline-edit-save .error").html(g).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}});return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .spinner").hide();a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}return false},getId:function(c){var d=c.tagName=="TR"?c.id:a(c).parents("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditTax.init()})})(jQuery);
\ No newline at end of file
+!function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("data-wp-lists").substr(5),b.what="#"+b.type+"-",a("#the-list").on("click","a.editinline",function(){return inlineEditTax.edit(this),!1}),c.keyup(function(a){return 27==a.which?inlineEditTax.revert():void 0}),a("a.cancel",c).click(function(){return inlineEditTax.revert()}),a("a.save",c).click(function(){return inlineEditTax.save(this)}),a("input, select",c).keydown(function(a){return 13==a.which?inlineEditTax.save(this):void 0}),a('#posts-filter input[type="submit"]').mousedown(function(){b.revert()})},toggle:function(b){var c=this;"none"==a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},edit:function(b){var c,d=this;return d.revert(),"object"==typeof b&&(b=d.getId(b)),c=a("#inline-edit").clone(!0),rowData=a("#inline_"+b),a("td",c).attr("colspan",a(".widefat:first thead th:visible").length),a(d.what+b).hasClass("alternate")&&a(c).addClass("alternate"),a(d.what+b).hide().after(c),a(':input[name="name"]',c).val(a(".name",rowData).text()),a(':input[name="slug"]',c).val(a(".slug",rowData).text()),a(c).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",c).eq(0).focus(),!1},save:function(b){var c,d,e=a('input[name="taxonomy"]').val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").show(),c={action:"inline-save-tax",tax_type:this.type,tax_ID:b,taxonomy:e},d=a("#edit-"+b+" :input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){var d,e;a("table.widefat .spinner").hide(),c?-1!=c.indexOf("<tr")?(a(inlineEditTax.what+b).remove(),e=a(c).attr("id"),a("#edit-"+b).before(c).remove(),d=e?a("#"+e):a(inlineEditTax.what+b),d.hide().fadeIn()):a("#edit-"+b+" .inline-edit-save .error").html(c).show():a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show(),a(d).prev("tr").hasClass("alternate")&&a(d).removeClass("alternate")}),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").hide(),a("#"+b).remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show()),!1},getId:function(b){var c="TR"==b.tagName?b.id:a(b).parents("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditTax.init()})}(jQuery);
\ No newline at end of file
index 5ab75a6a749e2a7dfff209bd77c49d986b438ce5..f14877707478df42d94f77d465bd518d1824e2b0 100644 (file)
@@ -1 +1 @@
-jQuery(document).ready(function(c){var b,a=false,d,e;c("#link_name").focus();postboxes.add_postbox_toggles("link");c("#category-tabs a").click(function(){var f=c(this).attr("href");c(this).parent().addClass("tabs").siblings("li").removeClass("tabs");c(".tabs-panel").hide();c(f).show();if("#categories-all"==f){deleteUserSetting("cats")}else{setUserSetting("cats","pop")}return false});if(getUserSetting("cats")){c('#category-tabs a[href="#categories-pop"]').click()}b=c("#newcat").one("focus",function(){c(this).val("").removeClass("form-input-tip")});c("#link-category-add-submit").click(function(){b.focus()});d=function(){if(a){return}a=true;var f=c(this),h=f.is(":checked"),g=f.val().toString();c("#in-link-category-"+g+", #in-popular-link_category-"+g).prop("checked",h);a=false};e=function(g,f){c(f.what+" response_data",g).each(function(){var h=c(c(this).text());h.find("label").each(function(){var j=c(this),l=j.find("input").val(),m=j.find("input")[0].id,i=c.trim(j.text()),k;c("#"+m).change(d);k=c('<option value="'+parseInt(l,10)+'"></option>').text(i)})})};c("#categorychecklist").wpList({alt:"",what:"link-category",response:"category-ajax-response",addAfter:e});c('a[href="#categories-all"]').click(function(){deleteUserSetting("cats")});c('a[href="#categories-pop"]').click(function(){setUserSetting("cats","pop")});if("pop"==getUserSetting("cats")){c('a[href="#categories-pop"]').click()}c("#category-add-toggle").click(function(){c(this).parents("div:first").toggleClass("wp-hidden-children");c('#category-tabs a[href="#categories-all"]').click();c("#newcategory").focus();return false});c(".categorychecklist :checkbox").change(d).filter(":checked").change()});
\ No newline at end of file
+jQuery(document).ready(function(a){var b,c,d,e=!1;a("#link_name").focus(),postboxes.add_postbox_toggles("link"),a("#category-tabs a").click(function(){var b=a(this).attr("href");return a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a(".tabs-panel").hide(),a(b).show(),"#categories-all"==b?deleteUserSetting("cats"):setUserSetting("cats","pop"),!1}),getUserSetting("cats")&&a('#category-tabs a[href="#categories-pop"]').click(),b=a("#newcat").one("focus",function(){a(this).val("").removeClass("form-input-tip")}),a("#link-category-add-submit").click(function(){b.focus()}),c=function(){if(!e){e=!0;var b=a(this),c=b.is(":checked"),d=b.val().toString();a("#in-link-category-"+d+", #in-popular-link_category-"+d).prop("checked",c),e=!1}},d=function(b,d){a(d.what+" response_data",b).each(function(){var b=a(a(this).text());b.find("label").each(function(){var b,d=a(this),e=d.find("input").val(),f=d.find("input")[0].id,g=a.trim(d.text());a("#"+f).change(c),b=a('<option value="'+parseInt(e,10)+'"></option>').text(g)})})},a("#categorychecklist").wpList({alt:"",what:"link-category",response:"category-ajax-response",addAfter:d}),a('a[href="#categories-all"]').click(function(){deleteUserSetting("cats")}),a('a[href="#categories-pop"]').click(function(){setUserSetting("cats","pop")}),"pop"==getUserSetting("cats")&&a('a[href="#categories-pop"]').click(),a("#category-add-toggle").click(function(){return a(this).parents("div:first").toggleClass("wp-hidden-children"),a('#category-tabs a[href="#categories-all"]').click(),a("#newcategory").focus(),!1}),a(".categorychecklist :checkbox").change(c).filter(":checked").change()});
\ No newline at end of file
index 81e51131afbadfe76a8cb6112a6fdbf0774b59a3..dc66a26cd0143727b771938b172c56fd91f35335 100644 (file)
@@ -1 +1 @@
-jQuery(function(a){a("body").bind("click.wp-gallery",function(d){var c=a(d.target),f,b;if(c.hasClass("wp-set-header")){(window.dialogArguments||opener||parent||top).location.href=c.data("location");d.preventDefault()}else{if(c.hasClass("wp-set-background")){f=c.data("attachment-id");b=a('input[name="attachments['+f+'][image-size]"]:checked').val();jQuery.post(ajaxurl,{action:"set-background-image",attachment_id:f,size:b},function(){var e=window.dialogArguments||opener||parent||top;e.tb_remove();e.location.reload()});d.preventDefault()}}})});
\ No newline at end of file
+jQuery(function(a){a("body").bind("click.wp-gallery",function(b){var c,d,e=a(b.target);e.hasClass("wp-set-header")?((window.dialogArguments||opener||parent||top).location.href=e.data("location"),b.preventDefault()):e.hasClass("wp-set-background")&&(c=e.data("attachment-id"),d=a('input[name="attachments['+c+'][image-size]"]:checked').val(),jQuery.post(ajaxurl,{action:"set-background-image",attachment_id:c,size:d},function(){var a=window.dialogArguments||opener||parent||top;a.tb_remove(),a.location.reload()}),b.preventDefault())})});
\ No newline at end of file
index cbb27e1a91e70bd071f818ef8eb35b2f74c77b4a..98e590d8299e12f5aaf310145d85f265a510ed2b 100644 (file)
@@ -1 +1 @@
-var wpActiveEditor;function send_to_editor(c){var b,a=typeof(tinymce)!="undefined",f=typeof(QTags)!="undefined";if(!wpActiveEditor){if(a&&tinymce.activeEditor){b=tinymce.activeEditor;wpActiveEditor=b.id}else{if(!f){return false}}}else{if(a){if(tinymce.activeEditor&&(tinymce.activeEditor.id=="mce_fullscreen"||tinymce.activeEditor.id=="wp_mce_fullscreen")){b=tinymce.activeEditor}else{b=tinymce.get(wpActiveEditor)}}}if(b&&!b.isHidden()){if(tinymce.isIE&&b.windowManager.insertimagebookmark){b.selection.moveToBookmark(b.windowManager.insertimagebookmark)}if(c.indexOf("[caption")!==-1){if(b.wpSetImgCaption){c=b.wpSetImgCaption(c)}}else{if(c.indexOf("[gallery")!==-1){if(b.plugins.wpgallery){c=b.plugins.wpgallery._do_gallery(c)}}else{if(c.indexOf("[embed")===0){if(b.plugins.wordpress){c=b.plugins.wordpress._setEmbed(c)}}}}b.execCommand("mceInsertContent",false,c)}else{if(f){QTags.insertContent(c)}else{document.getElementById(wpActiveEditor).value+=c}}try{tb_remove()}catch(d){}}var tb_position;(function(a){tb_position=function(){var f=a("#TB_window"),e=a(window).width(),d=a(window).height(),c=(720<e)?720:e,b=0;if(a("body.admin-bar").length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a("#TB_iframeContent").width(c-50).height(d-75-b);f.css({"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:20+b+"px","margin-top":"0"})}}return a("a.thickbox").each(function(){var g=a(this).attr("href");if(!g){return}g=g.replace(/&width=[0-9]+/g,"");g=g.replace(/&height=[0-9]+/g,"");a(this).attr("href",g+"&width="+(c-80)+"&height="+(d-85-b))})};a(window).resize(function(){tb_position()});a(document).ready(function(b){b("a.thickbox").click(function(){var c;if(typeof(tinymce)!="undefined"&&tinymce.isIE&&(c=tinymce.get(wpActiveEditor))&&!c.isHidden()){c.focus();c.windowManager.insertimagebookmark=c.selection.getBookmark()}})})})(jQuery);
\ No newline at end of file
+function send_to_editor(a){var b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags;if(wpActiveEditor)c&&(b=!tinymce.activeEditor||"mce_fullscreen"!=tinymce.activeEditor.id&&"wp_mce_fullscreen"!=tinymce.activeEditor.id?tinymce.get(wpActiveEditor):tinymce.activeEditor);else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,wpActiveEditor=b.id;else if(!d)return!1;b&&!b.isHidden()?(tinymce.isIE&&b.windowManager.insertimagebookmark&&b.selection.moveToBookmark(b.windowManager.insertimagebookmark),-1!==a.indexOf("[caption")?b.wpSetImgCaption&&(a=b.wpSetImgCaption(a)):-1!==a.indexOf("[gallery")?b.plugins.wpgallery&&(a=b.plugins.wpgallery._do_gallery(a)):0===a.indexOf("[embed")&&b.plugins.wordpress&&(a=b.plugins.wordpress._setEmbed(a)),b.execCommand("mceInsertContent",!1,a)):d?QTags.insertContent(a):document.getElementById(wpActiveEditor).value+=a;try{tb_remove()}catch(e){}}var wpActiveEditor,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("body.admin-bar").length&&(f=28),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()}),a(document).ready(function(a){a("a.thickbox").click(function(){var a;"undefined"!=typeof tinymce&&tinymce.isIE&&(a=tinymce.get(wpActiveEditor))&&!a.isHidden()&&(a.focus(),a.windowManager.insertimagebookmark=a.selection.getBookmark())})})}(jQuery);
\ No newline at end of file
index 1ddaf1a33864ffc11d3fd65f3f2fcdeb38acc80d..063f24c36e6622c6a05b74d7afe5ece92877befa 100644 (file)
@@ -1 +1 @@
-var findPosts;(function(a){findPosts={open:function(e,d){var c=document.documentElement.scrollTop||a(document).scrollTop(),b=a(".ui-find-overlay");if(b.length==0){a("body").append('<div class="ui-find-overlay"></div>');findPosts.overlay()}b.show();if(e&&d){a("#affected").attr("name",e).val(d)}a("#find-posts").show().draggable({handle:"#find-posts-head"}).css({top:c+50+"px",left:"50%",marginLeft:"-328px"});a("#find-posts-input").focus().keyup(function(f){if(f.which==27){findPosts.close()}});findPosts.send();return false},close:function(){a("#find-posts-response").html("");a("#find-posts").draggable("destroy").hide();a(".ui-find-overlay").hide()},overlay:function(){a(".ui-find-overlay").css({"z-index":"999",width:a(document).width()+"px",height:a(document).height()+"px"}).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({type:"POST",url:ajaxurl,data:b,success:function(d){findPosts.show(d);c.hide()},error:function(d){findPosts.error(d);c.hide()}})},show:function(b){if(typeof(b)=="string"){this.error({responseText:b});return}var c=wpAjax.parseAjaxResponse(b);if(c.errors){this.error({responseText:wpAjax.broken})}c=c.responses[0];a("#find-posts-response").html(c.data);a(".found-posts td").on("click",function(){a(this).parent().find(".found-radio input").prop("checked",true)})},error:function(b){var c=b.statusText;if(b.responseText){c=b.responseText.replace(/<.[^<>]*?>/g,"")}if(c){a("#find-posts-response").html(c)}}};a(document).ready(function(){a("#find-posts-submit").click(function(b){if(""==a("#find-posts-response").html()){b.preventDefault()}});a("#find-posts .find-box-search :input").keypress(function(b){if(13==b.which){findPosts.send();return false}});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(){if(a(this).val()=="attach"){b.preventDefault();findPosts.open()}})})});a(window).resize(function(){findPosts.overlay()})})(jQuery);
\ No newline at end of file
+var findPosts;!function(a){findPosts={open:function(b,c){var d=document.documentElement.scrollTop||a(document).scrollTop(),e=a(".ui-find-overlay");return 0==e.length&&(a("body").append('<div class="ui-find-overlay"></div>'),findPosts.overlay()),e.show(),b&&c&&a("#affected").attr("name",b).val(c),a("#find-posts").show().draggable({handle:"#find-posts-head"}).css({top:d+50+"px",left:"50%",marginLeft:"-328px"}),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").draggable("destroy").hide(),a(".ui-find-overlay").hide()},overlay:function(){a(".ui-find-overlay").css({"z-index":"999",width:a(document).width()+"px",height:a(document).height()+"px"}).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({type:"POST",url:ajaxurl,data:b,success:function(a){findPosts.show(a),c.hide()},error:function(a){findPosts.error(a),c.hide()}})},show:function(b){if("string"==typeof b)return this.error({responseText:b}),void 0;var c=wpAjax.parseAjaxResponse(b);c.errors&&this.error({responseText:wpAjax.broken}),c=c.responses[0],a("#find-posts-response").html(c.data),a(".found-posts td").on("click",function(){a(this).parent().find(".found-radio input").prop("checked",!0)})},error:function(b){var c=b.statusText;b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#find-posts-response").html(c)}},a(document).ready(function(){a("#find-posts-submit").click(function(b){""==a("#find-posts-response").html()&&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(window).resize(function(){findPosts.overlay()})}(jQuery);
\ No newline at end of file
index 4c6efec3dfc5249fa61a61b6bd9fa63249dbf68b..4df69f965005a51f8294f11c038436ca2da91793 100644 (file)
@@ -178,6 +178,7 @@ var wpNavMenu;
                                                        var t = $(this),
                                                                listItemDBIDMatch = re.exec( t.attr('name') ),
                                                                listItemDBID = 'undefined' == typeof listItemDBIDMatch[1] ? 0 : parseInt(listItemDBIDMatch[1], 10);
                                                        var t = $(this),
                                                                listItemDBIDMatch = re.exec( t.attr('name') ),
                                                                listItemDBID = 'undefined' == typeof listItemDBIDMatch[1] ? 0 : parseInt(listItemDBIDMatch[1], 10);
+
                                                        if ( this.className && -1 != this.className.indexOf('add-to-top') )
                                                                processMethod = api.addMenuItemToTop;
                                                        menuItems[listItemDBID] = t.closest('li').getItemData( 'add-menu-item', listItemDBID );
                                                        if ( this.className && -1 != this.className.indexOf('add-to-top') )
                                                                processMethod = api.addMenuItemToTop;
                                                        menuItems[listItemDBID] = t.closest('li').getItemData( 'add-menu-item', listItemDBID );
@@ -402,16 +403,16 @@ var wpNavMenu;
                refreshAdvancedAccessibility : function() {
 
                        // Hide all links by default
                refreshAdvancedAccessibility : function() {
 
                        // Hide all links by default
-                       $( '.menu-item-settings .field-move a' ).hide();
+                       $( '.menu-item-settings .field-move a' ).css( 'display', 'none' );
 
                        $( '.item-edit' ).each( function() {
                                var $this = $(this),
                                        movement = [],
                                        availableMovement = '',
 
                        $( '.item-edit' ).each( function() {
                                var $this = $(this),
                                        movement = [],
                                        availableMovement = '',
-                                       menuItem = $this.parents( 'li.menu-item' ).first(),
+                                       menuItem = $this.closest( 'li.menu-item' ).first(),
                                        depth = menuItem.menuItemDepth(),
                                        isPrimaryMenuItem = ( 0 === depth ),
                                        depth = menuItem.menuItemDepth(),
                                        isPrimaryMenuItem = ( 0 === depth ),
-                                       itemName = $this.parents( '.menu-item-handle' ).find( '.menu-item-title' ).text(),
+                                       itemName = $this.closest( '.menu-item-handle' ).find( '.menu-item-title' ).text(),
                                        position = parseInt( menuItem.index() ),
                                        prevItemDepth = ( isPrimaryMenuItem ) ? depth : parseInt( depth - 1 ),
                                        prevItemNameLeft = menuItem.prevAll('.menu-item-depth-' + prevItemDepth).first().find( '.menu-item-title' ).text(),
                                        position = parseInt( menuItem.index() ),
                                        prevItemDepth = ( isPrimaryMenuItem ) ? depth : parseInt( depth - 1 ),
                                        prevItemNameLeft = menuItem.prevAll('.menu-item-depth-' + prevItemDepth).first().find( '.menu-item-title' ).text(),
@@ -422,35 +423,35 @@ var wpNavMenu;
                                // Where can they move this menu item?
                                if ( 0 !== position ) {
                                        var thisLink = menuItem.find( '.menus-move-up' );
                                // Where can they move this menu item?
                                if ( 0 !== position ) {
                                        var thisLink = menuItem.find( '.menus-move-up' );
-                                       thisLink.prop( 'title', menus.moveUp ).show();
+                                       thisLink.prop( 'title', menus.moveUp ).css( 'display', 'inline' );
                                }
 
                                if ( 0 !== position && isPrimaryMenuItem ) {
                                        var thisLink = menuItem.find( '.menus-move-top' );
                                }
 
                                if ( 0 !== position && isPrimaryMenuItem ) {
                                        var thisLink = menuItem.find( '.menus-move-top' );
-                                       thisLink.prop( 'title', menus.moveToTop ).show();
+                                       thisLink.prop( 'title', menus.moveToTop ).css( 'display', 'inline' );
                                }
 
                                if ( position + 1 !== totalMenuItems && 0 !== position ) {
                                        var thisLink = menuItem.find( '.menus-move-down' );
                                }
 
                                if ( position + 1 !== totalMenuItems && 0 !== position ) {
                                        var thisLink = menuItem.find( '.menus-move-down' );
-                                       thisLink.prop( 'title', menus.moveDown ).show();
+                                       thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
                                }
 
                                if ( 0 === position && 0 !== hasSameDepthSibling ) {
                                        var thisLink = menuItem.find( '.menus-move-down' );
                                }
 
                                if ( 0 === position && 0 !== hasSameDepthSibling ) {
                                        var thisLink = menuItem.find( '.menus-move-down' );
-                                       thisLink.prop( 'title', menus.moveDown ).show();
+                                       thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
                                }
 
                                if ( ! isPrimaryMenuItem ) {
                                        var thisLink = menuItem.find( '.menus-move-left' ),
                                                thisLinkText = menus.outFrom.replace( '%s', prevItemNameLeft );
                                }
 
                                if ( ! isPrimaryMenuItem ) {
                                        var thisLink = menuItem.find( '.menus-move-left' ),
                                                thisLinkText = menus.outFrom.replace( '%s', prevItemNameLeft );
-                                       thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).html( thisLinkText ).show();
+                                       thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).html( thisLinkText ).css( 'display', 'inline' );
                                }
 
                                if ( 0 !== position ) {
                                        if ( menuItem.find( '.menu-item-data-parent-id' ).val() !== menuItem.prev().find( '.menu-item-data-db-id' ).val() ) {
                                                var thisLink = menuItem.find( '.menus-move-right' ),
                                                        thisLinkText = menus.under.replace( '%s', prevItemNameRight );
                                }
 
                                if ( 0 !== position ) {
                                        if ( menuItem.find( '.menu-item-data-parent-id' ).val() !== menuItem.prev().find( '.menu-item-data-db-id' ).val() ) {
                                                var thisLink = menuItem.find( '.menus-move-right' ),
                                                        thisLinkText = menus.under.replace( '%s', prevItemNameRight );
-                                               thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).html( thisLinkText ).show();
+                                               thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).html( thisLinkText ).css( 'display', 'inline' );
                                        }
                                }
 
                                        }
                                }
 
@@ -902,12 +903,16 @@ var wpNavMenu;
 
                        $.post( ajaxurl, params, function(menuMarkup) {
                                var ins = $('#menu-instructions');
 
                        $.post( ajaxurl, params, function(menuMarkup) {
                                var ins = $('#menu-instructions');
+
+                               menuMarkup = $.trim( menuMarkup ); // Trim leading whitespaces
                                processMethod(menuMarkup, params);
                                processMethod(menuMarkup, params);
+
                                // Make it stand out a bit more visually, by adding a fadeIn
                                $( 'li.pending' ).hide().fadeIn('slow');
                                $( '.drag-instructions' ).show();
                                if( ! ins.hasClass( 'menu-instructions-inactive' ) && ins.siblings().length )
                                        ins.addClass( 'menu-instructions-inactive' );
                                // Make it stand out a bit more visually, by adding a fadeIn
                                $( 'li.pending' ).hide().fadeIn('slow');
                                $( '.drag-instructions' ).show();
                                if( ! ins.hasClass( 'menu-instructions-inactive' ) && ins.siblings().length )
                                        ins.addClass( 'menu-instructions-inactive' );
+
                                callback();
                        });
                },
                                callback();
                        });
                },
index e385728fa5286390227edd759adbe777ae40f570..e9bf60da301ee029a30b9cbf5e6fdb0bfcd5b682 100644 (file)
@@ -1 +1 @@
-var wpNavMenu;(function(b){var a=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:undefined,targetList:undefined,menusChanged:false,isRTL:!!("undefined"!=typeof isRtl&&isRtl),negateIfRTL:("undefined"!=typeof isRtl&&isRtl)?-1:1,init:function(){a.menuList=b("#menu-to-edit");a.targetList=a.menuList;this.jQueryExtensions();this.attachMenuEditListeners();this.setupInputWithDefaultTitle();this.attachQuickSearchListeners();this.attachThemeLocationsListeners();this.attachTabsPanelListeners();this.attachUnsavedChangesListener();if(a.menuList.length){this.initSortables()}if(menus.oneThemeLocationNoMenus){b("#posttype-page").addSelectedToMenu(a.addMenuItemToBottom)}this.initManageLocations();this.initAccessibility();this.initToggles()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){var c=a.isRTL?this.eq(0).css("margin-right"):this.eq(0).css("margin-left");return a.pxToDepth(c&&-1!=c.indexOf("px")?c.slice(0,-2):0)},updateDepthClass:function(d,c){return this.each(function(){var e=b(this);c=c||e.menuItemDepth();b(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+d)})},shiftDepthClass:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth();b(this).removeClass("menu-item-depth-"+e).addClass("menu-item-depth-"+(e+c))})},childMenuItems:function(){var c=b();this.each(function(){var d=b(this),f=d.menuItemDepth(),e=d.next();while(e.length&&e.menuItemDepth()>f){c=c.add(e);e=e.next()}});return c},shiftHorizontally:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth(),f=e+c;d.moveHorizontally(f,e)})},moveHorizontally:function(d,c){return this.each(function(){var f=b(this),e=f.childMenuItems(),h=d-c,g=f.find(".is-submenu");f.updateDepthClass(d,c).updateParentMenuItemDBId();if(e){e.each(function(j){var k=b(this),i=k.menuItemDepth(),l=i+h;k.updateDepthClass(l,i).updateParentMenuItemDBId()})}if(0===d){g.hide()}else{g.show()}})},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),c=e.find(".menu-item-data-parent-id"),g=parseInt(e.menuItemDepth()),f=g-1,d=e.prevAll(".menu-item-depth-"+f).first();if(0==g){c.val(0)}else{c.val(d.find(".menu-item-data-db-id").val())}})},hideAdvancedMenuItemFields:function(){return this.each(function(){var c=b(this);b(".hide-column-tog").not(":checked").each(function(){c.find(".field-"+b(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){if(0==b("#menu-to-edit").length){return false}return this.each(function(){var e=b(this),d={},g=(menus.oneThemeLocationNoMenus&&0==e.find(".tabs-panel-active .categorychecklist li input:checked").length)?e.find('#page-all li input[type="checkbox"]'):e.find(".tabs-panel-active .categorychecklist li input:checked"),f=new RegExp("menu-item\\[([^\\]]*)");c=c||a.addMenuItemToBottom;if(!g.length){return false}e.find(".spinner").show();b(g).each(function(){var i=b(this),h=f.exec(i.attr("name")),j="undefined"==typeof h[1]?0:parseInt(h[1],10);if(this.className&&-1!=this.className.indexOf("add-to-top")){c=a.addMenuItemToTop}d[j]=i.closest("li").getItemData("add-menu-item",j)});a.addItemToMenu(d,c,function(){g.removeAttr("checked");e.find(".spinner").hide()})})},getItemData:function(f,g){f=f||"menu-item";var d={},e,c=["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"];if(!g&&f=="menu-item"){g=this.find(".menu-item-data-db-id").val()}if(!g){return d}this.find("input").each(function(){var h;e=c.length;while(e--){if(f=="menu-item"){h=c[e]+"["+g+"]"}else{if(f=="add-menu-item"){h="menu-item["+g+"]["+c[e]+"]"}}if(this.name&&h==this.name){d[c[e]]=this.value}}});return d},setItemData:function(c,d,e){d=d||"menu-item";if(!e&&d=="menu-item"){e=b(".menu-item-data-db-id",this).val()}if(!e){return this}this.find("input").each(function(){var f=b(this),g;b.each(c,function(h,i){if(d=="menu-item"){g=h+"["+e+"]"}else{if(d=="add-menu-item"){g="menu-item["+e+"]["+h+"]"}}if(g==f.attr("name")){f.val(i)}})});return this}})},countMenuItems:function(c){return b(".menu-item-depth-"+c).length},moveMenuItem:function(i,e){var f=b("#menu-to-edit li");menuItemsCount=f.length,thisItem=i.parents("li.menu-item"),thisItemChildren=thisItem.childMenuItems(),thisItemData=thisItem.getItemData(),thisItemDepth=parseInt(thisItem.menuItemDepth()),thisItemPosition=parseInt(thisItem.index()),c=thisItem.next(),g=c.childMenuItems(),nextItemDepth=parseInt(c.menuItemDepth())+1,prevItem=thisItem.prev(),prevItemDepth=parseInt(prevItem.menuItemDepth()),prevItemId=prevItem.getItemData()["menu-item-db-id"];switch(e){case"up":var h=thisItemPosition-1;if(0===thisItemPosition){break}if(0===h&&0!==thisItemDepth){thisItem.moveHorizontally(0,thisItemDepth)}if(0!==prevItemDepth){thisItem.moveHorizontally(prevItemDepth,thisItemDepth)}if(thisItemChildren){var d=thisItem.add(thisItemChildren);d.detach().insertBefore(f.eq(h)).updateParentMenuItemDBId()}else{thisItem.detach().insertBefore(f.eq(h)).updateParentMenuItemDBId()}break;case"down":if(thisItemChildren){var d=thisItem.add(thisItemChildren),c=f.eq(d.length+thisItemPosition),g=0!==c.childMenuItems().length;if(g){var j=parseInt(c.menuItemDepth())+1;thisItem.moveHorizontally(j,thisItemDepth)}if(menuItemsCount===thisItemPosition+d.length){break}d.detach().insertAfter(f.eq(thisItemPosition+d.length)).updateParentMenuItemDBId()}else{if(0!==g.length){thisItem.moveHorizontally(nextItemDepth,thisItemDepth)}if(menuItemsCount===thisItemPosition+1){break}thisItem.detach().insertAfter(f.eq(thisItemPosition+1)).updateParentMenuItemDBId()}break;case"top":if(0===thisItemPosition){break}if(thisItemChildren){var d=thisItem.add(thisItemChildren);d.detach().insertBefore(f.eq(0)).updateParentMenuItemDBId()}else{thisItem.detach().insertBefore(f.eq(0)).updateParentMenuItemDBId()}break;case"left":if(0===thisItemDepth){break}thisItem.shiftHorizontally(-1);break;case"right":if(0===thisItemPosition){break}if(thisItemData["menu-item-parent-id"]===prevItemId){break}thisItem.shiftHorizontally(1);break}i.focus();a.registerChange();a.refreshKeyboardAccessibility();a.refreshAdvancedAccessibility()},initAccessibility:function(){a.refreshKeyboardAccessibility();a.refreshAdvancedAccessibility();b(".menus-move-up").on("click",function(c){a.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"up");c.preventDefault()});b(".menus-move-down").on("click",function(c){a.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"down");c.preventDefault()});b(".menus-move-top").on("click",function(c){a.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"top");c.preventDefault()});b(".menus-move-left").on("click",function(c){a.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"left");c.preventDefault()});b(".menus-move-right").on("click",function(c){a.moveMenuItem(b(this).parents("li.menu-item").find("a.item-edit"),"right");c.preventDefault()})},refreshAdvancedAccessibility:function(){b(".menu-item-settings .field-move a").hide();b(".item-edit").each(function(){var j=b(this),p=[],v="",h=j.parents("li.menu-item").first(),u=h.menuItemDepth(),m=(0===u),s=j.parents(".menu-item-handle").find(".menu-item-title").text(),t=parseInt(h.index()),i=(m)?u:parseInt(u-1),d=h.prevAll(".menu-item-depth-"+i).first().find(".menu-item-title").text(),l=h.prevAll(".menu-item-depth-"+u).first().find(".menu-item-title").text(),k=b("#menu-to-edit li").length,q=h.nextAll(".menu-item-depth-"+u).length;if(0!==t){var f=h.find(".menus-move-up");f.prop("title",menus.moveUp).show()}if(0!==t&&m){var f=h.find(".menus-move-top");f.prop("title",menus.moveToTop).show()}if(t+1!==k&&0!==t){var f=h.find(".menus-move-down");f.prop("title",menus.moveDown).show()}if(0===t&&0!==q){var f=h.find(".menus-move-down");f.prop("title",menus.moveDown).show()}if(!m){var f=h.find(".menus-move-left"),e=menus.outFrom.replace("%s",d);f.prop("title",menus.moveOutFrom.replace("%s",d)).html(e).show()}if(0!==t){if(h.find(".menu-item-data-parent-id").val()!==h.prev().find(".menu-item-data-db-id").val()){var f=h.find(".menus-move-right"),e=menus.under.replace("%s",l);f.prop("title",menus.moveUnder.replace("%s",l)).html(e).show()}}if(m){var r=b(".menu-item-depth-0"),x=r.index(h)+1,k=r.length,w=menus.menuFocus.replace("%1$s",s).replace("%2$d",x).replace("%3$d",k)}else{var o=h.prevAll(".menu-item-depth-"+parseInt(u-1)).first(),c=o.find(".menu-item-data-db-id").val(),n=o.find(".menu-item-title").text(),g=b('.menu-item .menu-item-data-parent-id[value="'+c+'"]'),x=b(g.parents(".menu-item").get().reverse()).index(h)+1;w=menus.subMenuFocus.replace("%1$s",s).replace("%2$d",x).replace("%3$s",n)}j.prop("title",w).html(w)})},refreshKeyboardAccessibility:function(){b(".item-edit").off("focus").on("focus",function(){b(this).off("keydown").on("keydown",function(f){var d=b(this);if(37!=f.which&&38!=f.which&&39!=f.which&&40!=f.which){return}d.off("keydown");if(1===b("#menu-to-edit li").length){return}var c={"38":"up","40":"down","37":"left","39":"right"};if(b("body").hasClass("rtl")){c={"38":"up","40":"down","39":"left","37":"right"}}switch(c[f.which]){case"up":a.moveMenuItem(d,"up");break;case"down":a.moveMenuItem(d,"down");break;case"left":a.moveMenuItem(d,"left");break;case"right":a.moveMenuItem(d,"right");break}b("#edit-"+thisItemData["menu-item-db-id"]).focus();return false})})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus");columns.useCheckboxesForHidden();columns.checked=function(c){b(".field-"+c).removeClass("hidden-field")};columns.unchecked=function(c){b(".field-"+c).addClass("hidden-field")};a.menuList.hideAdvancedMenuItemFields();b(".hide-postbox-tog").click(function(){var c=b(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");b.post(ajaxurl,{action:"closed-postboxes",hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){var p=0,e,t,d,l,o,f,c,i,s,m=a.menuList.offset().left,h=b("body"),q,n=r();if(0!=b("#menu-to-edit li").length){b(".drag-instructions").show()}m+=a.isRTL?a.menuList.width():0;a.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(A,z){var u,x,w,v,y;if(a.isRTL){z.item[0].style.right="auto"}s=z.item.children(".menu-item-transport");e=z.item.menuItemDepth();j(z,e);w=(z.item.next()[0]==z.placeholder[0])?z.item.next():z.item;v=w.childMenuItems();s.append(v);u=s.outerHeight();u+=(u>0)?(z.placeholder.css("margin-top").slice(0,-2)*1):0;u+=z.helper.outerHeight();i=u;u-=2;z.placeholder.height(u);q=e;v.each(function(){var B=b(this).menuItemDepth();q=(B>q)?B:q});x=z.helper.find(".menu-item-handle").outerWidth();x+=a.depthToPx(q-e);x-=2;z.placeholder.width(x);y=z.placeholder.next();y.css("margin-top",i+"px");z.placeholder.detach();b(this).sortable("refresh");z.item.after(z.placeholder);y.css("margin-top",0);k(z)},stop:function(y,w){var v,u=p-e;v=s.children().insertAfter(w.item);var x=w.item.find(".item-title .is-submenu");if(0<p){x.show()}else{x.hide()}if(u!=0){w.item.updateDepthClass(p);v.shiftDepthClass(u);g(u)}a.registerChange();w.item.updateParentMenuItemDBId();w.item[0].style.top=0;if(a.isRTL){w.item[0].style.left="auto";w.item[0].style.right=0}a.refreshKeyboardAccessibility();a.refreshAdvancedAccessibility()},change:function(v,u){if(!u.placeholder.parent().hasClass("menu")){(l.length)?l.after(u.placeholder):a.menuList.prepend(u.placeholder)}k(u)},sort:function(w,v){var y=v.helper.offset(),u=a.isRTL?y.left+v.helper.width():y.left,x=a.negateIfRTL*a.pxToDepth(u-m);if(x>d||y.top<f){x=d}else{if(x<t){x=t}}if(x!=p){j(v,x)}if(c&&y.top+i>c){o.after(v.placeholder);k(v);b(this).sortable("refreshPositions")}}});function k(u){var v;l=u.placeholder.prev();o=u.placeholder.next();if(l[0]==u.item[0]){l=l.prev()}if(o[0]==u.item[0]){o=o.next()}f=(l.length)?l.offset().top+l.height():0;c=(o.length)?o.offset().top+o.height()/3:0;t=(o.length)?o.menuItemDepth():0;if(l.length){d=((v=l.menuItemDepth()+1)>a.options.globalMaxDepth)?a.options.globalMaxDepth:v}else{d=0}}function j(u,v){u.placeholder.updateDepthClass(v,p);p=v}function r(){if(!h[0].className){return 0}var u=h[0].className.match(/menu-max-depth-(\d+)/);return u&&u[1]?parseInt(u[1]):0}function g(u){var v,w=n;if(u===0){return}else{if(u>0){v=q+u;if(v>n){w=v}}else{if(u<0&&q==n){while(!b(".menu-item-depth-"+w,a.menuList).length&&w>0){w--}}}}h.removeClass("menu-max-depth-"+n).addClass("menu-max-depth-"+w);n=w}},initManageLocations:function(){b("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null});b(".menu-location-menus select").on("change",function(){var c=b(this).closest("tr").find(".locations-edit-menu-link");if(b(this).find("option:selected").data("orig")){c.show()}else{c.hide()}})},attachMenuEditListeners:function(){var c=this;b("#update-nav-menu").bind("click",function(d){if(d.target&&d.target.className){if(-1!=d.target.className.indexOf("item-edit")){return c.eventOnClickEditLink(d.target)}else{if(-1!=d.target.className.indexOf("menu-save")){return c.eventOnClickMenuSave(d.target)}else{if(-1!=d.target.className.indexOf("menu-delete")){return c.eventOnClickMenuDelete(d.target)}else{if(-1!=d.target.className.indexOf("item-delete")){return c.eventOnClickMenuItemDelete(d.target)}else{if(-1!=d.target.className.indexOf("item-cancel")){return c.eventOnClickCancelLink(d.target)}}}}}}});b('#add-custom-links input[type="text"]').keypress(function(d){if(d.keyCode===13){d.preventDefault();b("#submit-customlinkdiv").click()}})},setupInputWithDefaultTitle:function(){var c="input-with-default-title";b("."+c).each(function(){var f=b(this),e=f.attr("title"),d=f.val();f.data(c,e);if(""==d){f.val(e)}else{if(e==d){return}else{f.removeClass(c)}}}).focus(function(){var d=b(this);if(d.val()==d.data(c)){d.val("").removeClass(c)}}).blur(function(){var d=b(this);if(""==d.val()){d.addClass(c).val(d.data(c))}});b(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var d=b("#nav-menu-theme-locations"),c={};c.action="menu-locations-save";c["menu-settings-column-nonce"]=b("#menu-settings-column-nonce").val();d.find('input[type="submit"]').click(function(){d.find("select").each(function(){c[this.name]=b(this).val()});d.find(".spinner").show();b.post(ajaxurl,c,function(e){d.find(".spinner").hide()});return false})},attachQuickSearchListeners:function(){var c;b(".quick-search").keypress(function(f){var d=b(this);if(13==f.which){a.updateQuickSearchResults(d);return false}if(c){clearTimeout(c)}c=setTimeout(function(){a.updateQuickSearchResults(d)},400)}).attr("autocomplete","off")},updateQuickSearchResults:function(d){var c,g,e=2,f=d.val();if(f.length<e){return}c=d.parents(".tabs-panel");g={action:"menu-quick-search","response-format":"markup",menu:b("#menu").val(),"menu-settings-column-nonce":b("#menu-settings-column-nonce").val(),q:f,type:d.attr("name")};b(".spinner",c).show();b.post(ajaxurl,g,function(h){a.processQuickSearchQueryResponse(h,g,c)})},addCustomLink:function(c){var e=b("#custom-menu-item-url").val(),d=b("#custom-menu-item-name").val();c=c||a.addMenuItemToBottom;if(""==e||"http://"==e){return false}b(".customlinkdiv .spinner").show();this.addLinkToMenu(e,d,c,function(){b(".customlinkdiv .spinner").hide();b("#custom-menu-item-name").val("").blur();b("#custom-menu-item-url").val("http://")})},addLinkToMenu:function(e,d,c,f){c=c||a.addMenuItemToBottom;f=f||function(){};a.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":e,"menu-item-title":d}},c,f)},addItemToMenu:function(e,c,g){var f=b("#menu").val(),d=b("#menu-settings-column-nonce").val();c=c||function(){};g=g||function(){};params={action:"add-menu-item",menu:f,"menu-settings-column-nonce":d,"menu-item":e};b.post(ajaxurl,params,function(h){var i=b("#menu-instructions");c(h,params);b("li.pending").hide().fadeIn("slow");b(".drag-instructions").show();if(!i.hasClass("menu-instructions-inactive")&&i.siblings().length){i.addClass("menu-instructions-inactive")}g()})},addMenuItemToBottom:function(c,d){b(c).hideAdvancedMenuItemFields().appendTo(a.targetList);a.refreshKeyboardAccessibility();a.refreshAdvancedAccessibility()},addMenuItemToTop:function(c,d){b(c).hideAdvancedMenuItemFields().prependTo(a.targetList);a.refreshKeyboardAccessibility();a.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){b("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){a.registerChange()});if(0!=b("#menu-to-edit").length||0!=b(".menu-location-menus select").length){window.onbeforeunload=function(){if(a.menusChanged){return navMenuL10n.saveAlert}}}else{b("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")}},registerChange:function(){a.menusChanged=true},attachTabsPanelListeners:function(){b("#menu-settings-column").bind("click",function(h){var f,d,i,c,g=b(h.target);if(g.hasClass("nav-tab-link")){d=g.data("type");i=g.parents(".accordion-section-content").first();b("input",i).removeAttr("checked");b(".tabs-panel-active",i).removeClass("tabs-panel-active").addClass("tabs-panel-inactive");b("#"+d,i).removeClass("tabs-panel-inactive").addClass("tabs-panel-active");b(".tabs",i).removeClass("tabs");g.parent().addClass("tabs");b(".quick-search",i).focus();h.preventDefault()}else{if(g.hasClass("select-all")){f=/#(.*)$/.exec(h.target.href);if(f&&f[1]){c=b("#"+f[1]+" .tabs-panel-active .menu-item-title input");if(c.length===c.filter(":checked").length){c.removeAttr("checked")}else{c.prop("checked",true)}return false}}else{if(g.hasClass("submit-add-to-menu")){a.registerChange();if(h.target.id&&"submit-customlinkdiv"==h.target.id){a.addCustomLink(a.addMenuItemToBottom)}else{if(h.target.id&&-1!=h.target.id.indexOf("submit-")){b("#"+h.target.id.replace(/submit-/,"")).addSelectedToMenu(a.addMenuItemToBottom)}}return false}else{if(g.hasClass("page-numbers")){b.post(ajaxurl,h.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(m){if(-1==m.indexOf("replace-id")){return}var l=b.parseJSON(m),e=document.getElementById(l["replace-id"]),k=document.createElement("div"),j=document.createElement("div");if(!l.markup||!e){return}j.innerHTML=l.markup?l.markup:"";e.parentNode.insertBefore(k,e);k.parentNode.removeChild(e);k.parentNode.insertBefore(j,k);k.parentNode.removeChild(k)});return false}}}}})},eventOnClickEditLink:function(d){var c,e,f=/#(.*)$/.exec(d.href);if(f&&f[1]){c=b("#"+f[1]);e=c.parent();if(0!=e.length){if(e.hasClass("menu-item-edit-inactive")){if(!c.data("menu-item-data")){c.data("menu-item-data",c.getItemData())}c.slideDown("fast");e.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")}else{c.slideUp("fast");e.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")}return false}}},eventOnClickCancelLink:function(e){var d=b(e).closest(".menu-item-settings"),c=b(e).closest(".menu-item");c.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive");d.setItemData(d.data("menu-item-data")).hide();return false},eventOnClickMenuSave:function(e){var f="",c=b("#menu-name"),d=c.val();if(!d||d==c.attr("title")||!d.replace(/\s+/,"")){c.parent().addClass("form-invalid");return false}b("#nav-menu-theme-locations select").each(function(){f+='<input type="hidden" name="'+this.name+'" value="'+b(this).val()+'" />'});b("#update-nav-menu").append(f);a.menuList.find(".menu-item-data-position").val(function(g){return g+1});window.onbeforeunload=null;return true},eventOnClickMenuDelete:function(c){if(confirm(navMenuL10n.warnDeleteMenu)){window.onbeforeunload=null;return true}return false},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);a.removeMenuItem(b("#menu-item-"+d));a.registerChange();return false},processQuickSearchQueryResponse:function(g,k,c){var e,i,f={},d=document.getElementById("nav-menu-meta"),j=new RegExp("menu-item\\[([^\\]]*)","g"),h=b("<div>").html(g).find("li"),l;if(!h.length){b(".categorychecklist",c).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>");b(".spinner",c).hide();return}h.each(function(){l=b(this);e=j.exec(l.html());if(e&&e[1]){i=e[1];while(d.elements["menu-item["+i+"][menu-item-type]"]||f[i]){i--}f[i]=true;if(i!=e[1]){l.html(l.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+i+"]"))}}});b(".categorychecklist",c).html(h);b(".spinner",c).hide()},removeMenuItem:function(d){var c=d.childMenuItems();d.addClass("deleting").animate({opacity:0,height:0},350,function(){var e=b("#menu-instructions");d.remove();c.shiftDepthClass(-1).updateParentMenuItemDBId();if(0==b("#menu-to-edit li").length){b(".drag-instructions").hide();e.removeClass("menu-instructions-inactive")}})},depthToPx:function(c){return c*a.options.menuItemDepthPerLevel},pxToDepth:function(c){return Math.floor(c/a.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})})(jQuery);
\ No newline at end of file
+var wpNavMenu;!function(a){var 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=b.isRTL?this.eq(0).css("margin-right"):this.eq(0).css("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()),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();0==d?c.val(0):c.val(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=menus.oneThemeLocationNoMenus&&0==d.find(".tabs-panel-active .categorychecklist li input:checked").length?d.find('#page-all li input[type="checkbox"]'):d.find(".tabs-panel-active .categorychecklist li input:checked"),g=new RegExp("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)}),b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").hide()}),void 0):!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=a("#menu-to-edit li");switch(menuItemsCount=e.length,thisItem=c.parents("li.menu-item"),thisItemChildren=thisItem.childMenuItems(),thisItemData=thisItem.getItemData(),thisItemDepth=parseInt(thisItem.menuItemDepth()),thisItemPosition=parseInt(thisItem.index()),h=thisItem.next(),i=h.childMenuItems(),nextItemDepth=parseInt(h.menuItemDepth())+1,prevItem=thisItem.prev(),prevItemDepth=parseInt(prevItem.menuItemDepth()),prevItemId=prevItem.getItemData()["menu-item-db-id"],d){case"up":var f=thisItemPosition-1;if(0===thisItemPosition)break;if(0===f&&0!==thisItemDepth&&thisItem.moveHorizontally(0,thisItemDepth),0!==prevItemDepth&&thisItem.moveHorizontally(prevItemDepth,thisItemDepth),thisItemChildren){var g=thisItem.add(thisItemChildren);g.detach().insertBefore(e.eq(f)).updateParentMenuItemDBId()}else thisItem.detach().insertBefore(e.eq(f)).updateParentMenuItemDBId();break;case"down":if(thisItemChildren){var g=thisItem.add(thisItemChildren),h=e.eq(g.length+thisItemPosition),i=0!==h.childMenuItems().length;if(i){var j=parseInt(h.menuItemDepth())+1;thisItem.moveHorizontally(j,thisItemDepth)}if(menuItemsCount===thisItemPosition+g.length)break;g.detach().insertAfter(e.eq(thisItemPosition+g.length)).updateParentMenuItemDBId()}else{if(0!==i.length&&thisItem.moveHorizontally(nextItemDepth,thisItemDepth),menuItemsCount===thisItemPosition+1)break;thisItem.detach().insertAfter(e.eq(thisItemPosition+1)).updateParentMenuItemDBId()}break;case"top":if(0===thisItemPosition)break;if(thisItemChildren){var g=thisItem.add(thisItemChildren);g.detach().insertBefore(e.eq(0)).updateParentMenuItemDBId()}else thisItem.detach().insertBefore(e.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===thisItemDepth)break;thisItem.shiftHorizontally(-1);break;case"right":if(0===thisItemPosition)break;if(thisItemData["menu-item-parent-id"]===prevItemId)break;thisItem.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),a(".menus-move-up").on("click",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"up"),c.preventDefault()}),a(".menus-move-down").on("click",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"down"),c.preventDefault()}),a(".menus-move-top").on("click",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"top"),c.preventDefault()}),a(".menus-move-left").on("click",function(c){b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),"left"),c.preventDefault()}),a(".menus-move-right").on("click",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=a(this),c=b.closest("li.menu-item").first(),d=c.menuItemDepth(),e=0===d,f=b.closest(".menu-item-handle").find(".menu-item-title").text(),g=parseInt(c.index()),h=e?d:parseInt(d-1),i=c.prevAll(".menu-item-depth-"+h).first().find(".menu-item-title").text(),j=c.prevAll(".menu-item-depth-"+d).first().find(".menu-item-title").text(),k=a("#menu-to-edit li").length,l=c.nextAll(".menu-item-depth-"+d).length;if(0!==g){var m=c.find(".menus-move-up");m.prop("title",menus.moveUp).css("display","inline")}if(0!==g&&e){var m=c.find(".menus-move-top");m.prop("title",menus.moveToTop).css("display","inline")}if(g+1!==k&&0!==g){var m=c.find(".menus-move-down");m.prop("title",menus.moveDown).css("display","inline")}if(0===g&&0!==l){var m=c.find(".menus-move-down");m.prop("title",menus.moveDown).css("display","inline")}if(!e){var m=c.find(".menus-move-left"),n=menus.outFrom.replace("%s",i);m.prop("title",menus.moveOutFrom.replace("%s",i)).html(n).css("display","inline")}if(0!==g&&c.find(".menu-item-data-parent-id").val()!==c.prev().find(".menu-item-data-db-id").val()){var m=c.find(".menus-move-right"),n=menus.under.replace("%s",j);m.prop("title",menus.moveUnder.replace("%s",j)).html(n).css("display","inline")}if(e)var o=a(".menu-item-depth-0"),p=o.index(c)+1,k=o.length,q=menus.menuFocus.replace("%1$s",f).replace("%2$d",p).replace("%3$d",k);else{var r=c.prevAll(".menu-item-depth-"+parseInt(d-1)).first(),s=r.find(".menu-item-data-db-id").val(),t=r.find(".menu-item-title").text(),u=a('.menu-item .menu-item-data-parent-id[value="'+s+'"]'),p=a(u.parents(".menu-item").get().reverse()).index(c)+1;q=menus.subMenuFocus.replace("%1$s",f).replace("%2$d",p).replace("%3$s",t)}b.prop("title",q).html(q)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d=a(this);if((37==c.which||38==c.which||39==c.which||40==c.which)&&(d.off("keydown"),1!==a("#menu-to-edit li").length)){var e={38:"up",40:"down",37:"left",39:"right"};switch(a("body").hasClass("rtl")&&(e={38:"up",40:"down",39:"left",37:"right"}),e[c.which]){case"up":b.moveMenuItem(d,"up");break;case"down":b.moveMenuItem(d,"down");break;case"left":b.moveMenuItem(d,"left");break;case"right":b.moveMenuItem(d,"right")}return a("#edit-"+thisItemData["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]):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=q-g;d=o.children().insertAfter(c.item);var h=c.item.find(".item-title .is-submenu");q>0?h.show():h.hide(),0!=e&&(c.item.updateDepthClass(q),d.shiftDepthClass(e),f(e)),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),c=setTimeout(function(){b.updateQuickSearchResults(e)},400),void 0)}).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(),this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").hide(),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}),void 0)},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=a("#menu").val(),f=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},params={action:"add-menu-item",menu:e,"menu-settings-column-nonce":f,"menu-item":b},a.post(ajaxurl,params,function(b){var e=a("#menu-instructions");b=a.trim(b),c(b,params),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!e.hasClass("menu-instructions-inactive")&&e.siblings().length&&e.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 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=new RegExp("menu-item\\[([^\\]]*)","g"),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),a(".spinner",d).hide(),void 0):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),a(".spinner",d).hide(),void 0)},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
index 0f07a93785dbf34daba8af50f40dab0930b6e2a8..9ddee476bddf0fc042ed86ee063b073776bf9337 100644 (file)
@@ -1,36 +1,74 @@
-// Password strength meter
-function passwordStrength(password1, username, password2) {
-       var shortPass = 1, badPass = 2, goodPass = 3, strongPass = 4, mismatch = 5, symbolSize = 0, natLog, score;
-
-       // password 1 != password 2
-       if ( (password1 != password2) && password2.length > 0)
-               return mismatch
-
-       //password < 4
-       if ( password1.length < 4 )
-               return shortPass
-
-       //password1 == username
-       if ( password1.toLowerCase() == username.toLowerCase() )
-               return badPass;
-
-       if ( password1.match(/[0-9]/) )
-               symbolSize +=10;
-       if ( password1.match(/[a-z]/) )
-               symbolSize +=26;
-       if ( password1.match(/[A-Z]/) )
-               symbolSize +=26;
-       if ( password1.match(/[^a-zA-Z0-9]/) )
-               symbolSize +=31;
-
-       natLog = Math.log( Math.pow(symbolSize, password1.length) );
-       score = natLog / Math.LN2;
-
-       if (score < 40 )
-               return badPass
-
-       if (score < 56 )
-               return goodPass
-
-    return strongPass;
-}
+window.wp = window.wp || {};
+
+var passwordStrength;
+(function($){
+       wp.passwordStrength = {
+               /**
+                * Determine the strength of a given password
+                *
+                * @param string password1 The password
+                * @param array blacklist An array of words that will lower the entropy of the password
+                * @param string password2 The confirmed password
+                */
+               meter : function( password1, blacklist, password2 ) {
+                       if ( ! $.isArray( blacklist ) )
+                               blacklist = [ blacklist.toString() ];
+
+                       if (password1 != password2 && password2 && password2.length > 0)
+                               return 5;
+
+                       var result = zxcvbn( password1, blacklist );
+                       return result.score;
+               },
+
+               /**
+                * Builds an array of data that should be penalized, because it would lower the entropy of a password if it were used
+                *
+                * @return array The array of data to be blacklisted
+                */
+               userInputBlacklist : function() {
+                       var i, userInputFieldsLength, rawValuesLength, currentField,
+                               rawValues       = [],
+                               blacklist       = [],
+                               userInputFields = [ 'user_login', 'first_name', 'last_name', 'nickname', 'display_name', 'email', 'url', 'description', 'weblog_title', 'admin_email' ];
+
+                       // Collect all the strings we want to blacklist
+                       rawValues.push( document.title );
+                       rawValues.push( document.URL );
+
+                       userInputFieldsLength = userInputFields.length;
+                       for ( i = 0; i < userInputFieldsLength; i++ ) {
+                               currentField = $( '#' + userInputFields[ i ] );
+
+                               if ( 0 == currentField.length ) {
+                                       continue;
+                               }
+
+                               rawValues.push( currentField[0].defaultValue );
+                               rawValues.push( currentField.val() );
+                       }
+
+                       // Strip out non-alphanumeric characters and convert each word to an individual entry
+                       rawValuesLength = rawValues.length;
+                       for ( i = 0; i < rawValuesLength; i++ ) {
+                               if ( rawValues[ i ] ) {
+                                       blacklist = blacklist.concat( rawValues[ i ].replace( /\W/g, ' ' ).split( ' ' ) );
+                               }
+                       }
+
+                       // Remove empty values, short words, and duplicates. Short words are likely to cause many false positives.
+                       blacklist = $.grep( blacklist, function( value, key ) {
+                               if ( '' == value || 4 > value.length ) {
+                                       return false;
+                               }
+
+                               return $.inArray( value, blacklist ) === key;
+                       });
+
+                       return blacklist;
+               }
+       }
+
+       // Backwards compatibility.
+       passwordStrength = wp.passwordStrength.meter;
+})(jQuery);
\ No newline at end of file
index 957d454a6e9d9151090427b42a0e1d54ed5d9150..49496701daac1d08d857e861959777b91b3b5824 100644 (file)
@@ -1 +1 @@
-function passwordStrength(f,i,d){var k=1,h=2,b=3,a=4,c=5,g=0,j,e;if((f!=d)&&d.length>0){return c}if(f.length<4){return k}if(f.toLowerCase()==i.toLowerCase()){return h}if(f.match(/[0-9]/)){g+=10}if(f.match(/[a-z]/)){g+=26}if(f.match(/[A-Z]/)){g+=26}if(f.match(/[^a-zA-Z0-9]/)){g+=31}j=Math.log(Math.pow(g,f.length));e=j/Math.LN2;if(e<40){return h}if(e<56){return b}return a};
\ No newline at end of file
+window.wp=window.wp||{};var passwordStrength;!function(a){wp.passwordStrength={meter:function(b,c,d){if(a.isArray(c)||(c=[c.toString()]),b!=d&&d&&d.length>0)return 5;var e=zxcvbn(b,c);return e.score},userInputBlacklist:function(){var b,c,d,e,f=[],g=[],h=["user_login","first_name","last_name","nickname","display_name","email","url","description","weblog_title","admin_email"];for(f.push(document.title),f.push(document.URL),c=h.length,b=0;c>b;b++)e=a("#"+h[b]),0!=e.length&&(f.push(e[0].defaultValue),f.push(e.val()));for(d=f.length,b=0;d>b;b++)f[b]&&(g=g.concat(f[b].replace(/\W/g," ").split(" ")));return g=a.grep(g,function(b,c){return""==b||4>b.length?!1:a.inArray(b,g)===c})}},passwordStrength=wp.passwordStrength.meter}(jQuery);
\ No newline at end of file
index 4c461e5c928b20a71962faed37e9ad94c7867786..321811a02df5ffa4a707cb591f143945936c2023 100644 (file)
@@ -1 +1 @@
-var tb_position;jQuery(document).ready(function(a){tb_position=function(){var f=a("#TB_window"),e=a(window).width(),d=a(window).height(),c=(720<e)?720:e,b=0;if(a("body.admin-bar").length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a("#TB_iframeContent").width(c-50).height(d-75-b);f.css({"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:20+b+"px","margin-top":"0"})}}return a("a.thickbox").each(function(){var g=a(this).attr("href");if(!g){return}g=g.replace(/&width=[0-9]+/g,"");g=g.replace(/&height=[0-9]+/g,"");a(this).attr("href",g+"&width="+(c-80)+"&height="+(d-85-b))})};a(window).resize(function(){tb_position()});a("#dashboard_plugins, .plugins").on("click","a.thickbox",function(){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"));return false});a("#plugin-information #sidemenu a").click(function(){var b=a(this).attr("name");a("#plugin-information-header a.current").removeClass("current");a(this).addClass("current");a("#section-holder div.section").hide();a("#section-"+b).show();return false});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(),e=c>720?720:c,f=0;return a("body.admin-bar").length&&(f=28),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()}),a("#dashboard_plugins, .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 #sidemenu a").click(function(){var b=a(this).attr("name");return a("#plugin-information-header a.current").removeClass("current"),a(this).addClass("current"),a("#section-holder div.section").hide(),a("#section-"+b).show(),!1}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
\ No newline at end of file
index 921278a192c4ab6dbf52efa9052e409580808017..379015a267863ce09f1ca39093aca2b21db0b718 100644 (file)
@@ -1 +1 @@
-var tagBox,commentsBox,editPermalink,makeSlugeditClickable,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint;function array_unique_noempty(b){var c=[];jQuery.each(b,function(a,d){d=jQuery.trim(d);if(d&&jQuery.inArray(d,c)==-1){c.push(d)}});return c}(function(a){tagBox={clean:function(c){var b=postL10n.comma;if(","!==b){c=c.replace(new RegExp(b,"g"),",")}c=c.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,"");if(","!==b){c=c.replace(/,/g,b)}return c},parseTags:function(f){var i=f.id,c=i.split("-check-num-")[1],e=a(f).closest(".tagsdiv"),h=e.find(".the-tags"),b=postL10n.comma,d=h.val().split(b),g=[];delete d[c];a.each(d,function(j,k){k=a.trim(k);if(k){g.push(k)}});h.val(this.clean(g.join(b)));this.quickClicks(e);return false},quickClicks:function(d){var g=a(".the-tags",d),e=a(".tagchecklist",d),f=a(d).attr("id"),b,c;if(!g.length){return}c=g.prop("disabled");b=g.val().split(postL10n.comma);e.empty();a.each(b,function(i,k){var j,h;k=a.trim(k);if(!k){return}j=a("<span />").text(k);if(!c){h=a('<a id="'+f+"-check-num-"+i+'" class="ntdelbutton">X</a>');h.click(function(){tagBox.parseTags(this)});j.prepend("&nbsp;").prepend(h)}e.append(j)})},flushTags:function(g,c,h){c=c||false;var d=a(".the-tags",g),j=a("input.newtag",g),b=postL10n.comma,e,i;i=c?a(c).text():j.val();tagsval=d.val();e=tagsval?tagsval+b+i:i;e=this.clean(e);e=array_unique_noempty(e.split(b)).join(b);d.val(e);this.quickClicks(g);if(!c){j.val("")}if("undefined"==typeof(h)){j.focus()}return false},get:function(c){var b=c.substr(c.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:b},function(e,d){if(0==e||"success"!=d){e=wpAjax.broken}e=a('<p id="tagcloud-'+b+'" class="the-tagcloud">'+e+"</p>");a("a",e).click(function(){tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this);return false});a("#"+c).after(e)})},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(){if(this.value==""){a(this).parent().siblings(".taghint").css("visibility","")}}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(d){if(13==d.which){tagBox.flushTags(a(this).closest(".tagsdiv"));return false}}).keypress(function(d){if(13==d.which){d.preventDefault();return false}}).each(function(){var d=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+d,{delay:500,minchars:2,multiple:true,multipleSep:postL10n.comma+" "})});a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,false,1)})});a("a.tagcloud-link").click(function(){tagBox.get(a(this).attr("id"));a(this).unbind().click(function(){a(this).siblings(".the-tagcloud").toggle();return false});return false})}};commentsBox={st:0,get:function(d,c){var b=this.st,e;if(!c){c=20}this.st+=c;this.total=d;a("#commentsdiv .spinner").show();e={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:b,number:c};a.post(ajaxurl,e,function(f){f=wpAjax.parseAjaxResponse(f);a("#commentsdiv .widefat").show();a("#commentsdiv .spinner").hide();if("object"==typeof f&&f.responses[0]){a("#the-comment-list").append(f.responses[0].data);theList=theExtraList=null;a("a[className*=':']").unbind();if(commentsBox.st>commentsBox.total){a("#show-comments").hide()}else{a("#show-comments").show().children("a").html(postL10n.showcomm)}return}else{if(1==f){a("#show-comments").html(postL10n.endcomm);return}}a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")});return false}};WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)};WPSetThumbnailID=function(c){var b=a('input[value="_thumbnail_id"]',"#list-table");if(b.size()>0){a("#meta\\["+b.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(c)}};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(c){if(c=="0"){alert(setPostThumbnailL10n.error)}else{WPSetThumbnailHTML(c)}})};a(document).on("heartbeat-send.refresh-lock",function(g,d){var c=a("#active_post_lock").val(),b=a("#post_ID").val(),f={};if(!b||!a("#post-lock-dialog").length){return}f.post_id=b;if(c){f.lock=c}d["wp-refresh-post-lock"]=f});a(document).on("heartbeat-tick.refresh-lock",function(f,d){var g,c,b;if(d["wp-refresh-post-lock"]){g=d["wp-refresh-post-lock"];if(g.lock_error){c=a("#post-lock-dialog");if(c.length&&!c.is(":visible")){if(typeof autosave=="function"){a(document).on("autosave-disable-buttons.post-lock",function(){c.addClass("saving")}).on("autosave-enable-buttons.post-lock",function(){c.removeClass("saving").addClass("saved");window.onbeforeunload=null});if(!autosave()){window.onbeforeunload=null}autosave=function(){}}if(g.lock_error.avatar_src){b=a('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",g.lock_error.avatar_src.replace(/&amp;/g,"&"));c.find("div.post-locked-avatar").empty().append(b)}c.show().find(".currently-editing").text(g.lock_error.text);c.find(".wp-tab-first").focus()}}else{if(g.new_lock){a("#active_post_lock").val(g.new_lock)}}}})}(jQuery));(function(c){var a,b;function d(){a=false;window.clearTimeout(b);b=window.setTimeout(function(){a=true},300000)}c(document).on("heartbeat-send.wp-refresh-nonces",function(i,h){var g,f;if(a){if((f=c("#post_ID").val())&&(g=c("#_wpnonce").val())){h["wp-refresh-post-nonces"]={post_id:f,post_nonce:g}}}}).on("heartbeat-tick.wp-refresh-nonces",function(h,g){var f=g["wp-refresh-post-nonces"];if(f){d();if(f.replace){c.each(f.replace,function(e,i){c("#"+e).val(i)})}if(f.heartbeatNonce){window.heartbeatSettings.nonce=f.heartbeatNonce}}}).ready(function(){d()})}(jQuery));jQuery(document).ready(function(f){var b,a,g="",e=0,h=f("#content");postboxes.add_postbox_toggles(pagenow);f("#post-lock-dialog .notification-dialog").on("keydown",function(j){if(j.which!=9){return}var i=f(j.target);if(i.hasClass("wp-tab-first")&&j.shiftKey){f(this).find(".wp-tab-last").focus();j.preventDefault()}else{if(i.hasClass("wp-tab-last")&&!j.shiftKey){f(this).find(".wp-tab-first").focus();j.preventDefault()}}}).filter(":visible").find(".wp-tab-first").focus();if(f("#tagsdiv-post_tag").length){tagBox.init()}else{f("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){if(this.id.indexOf("tagsdiv-")===0){tagBox.init();return false}})}f(".categorydiv").each(function(){var m=f(this).attr("id"),l,n,k,i,j;k=m.split("-");k.shift();i=k.join("-");j=i+"_tab";if(i=="category"){j="cats"}f("a","#"+i+"-tabs").click(function(){var o=f(this).attr("href");f(this).parent().addClass("tabs").siblings("li").removeClass("tabs");f("#"+i+"-tabs").siblings(".tabs-panel").hide();f(o).show();if("#"+i+"-all"==o){deleteUserSetting(j)}else{setUserSetting(j,"pop")}return false});if(getUserSetting(j)){f('a[href="#'+i+'-pop"]',"#"+i+"-tabs").click()}f("#new"+i).one("focus",function(){f(this).val("").removeClass("form-input-tip")});f("#new"+i).keypress(function(o){if(13===o.keyCode){o.preventDefault();f("#"+i+"-add-submit").click()}});f("#"+i+"-add-submit").click(function(){f("#new"+i).focus()});l=function(o){if(!f("#new"+i).val()){return false}o.data+="&"+f(":checked","#"+i+"checklist").serialize();f("#"+i+"-add-submit").prop("disabled",true);return o};n=function(t,q){var p,o=f("#new"+i+"_parent");f("#"+i+"-add-submit").prop("disabled",false);if("undefined"!=q.parsed.responses[0]&&(p=q.parsed.responses[0].supplemental.newcat_parent)){o.before(p);o.remove()}};f("#"+i+"checklist").wpList({alt:"",response:i+"-ajax-response",addBefore:l,addAfter:n});f("#"+i+"-add-toggle").click(function(){f("#"+i+"-adder").toggleClass("wp-hidden-children");f('a[href="#'+i+'-all"]',"#"+i+"-tabs").click();f("#new"+i).focus();return false});f("#"+i+"checklist, #"+i+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var o=f(this),q=o.is(":checked"),p=o.val();if(p&&o.parents("#taxonomy-"+i).length){f("#in-"+i+"-"+p+", #in-popular-"+i+"-"+p).prop("checked",q)}})});if(f("#postcustom").length){f("#the-list").wpList({addAfter:function(i,j){f("table#list-table").show()},addBefore:function(i){i.data+="&post_id="+f("#post_ID").val();return i}})}if(f("#submitdiv").length){b=f("#timestamp").html();a=f("#post-visibility-display").html();function d(){var i=f("#post-visibility-select");if(f("input:radio:checked",i).val()!="public"){f("#sticky").prop("checked",false);f("#sticky-span").hide()}else{f("#sticky-span").show()}if(f("input:radio:checked",i).val()!="password"){f("#password-span").hide()}else{f("#password-span").show()}}function c(){if(!f("#timestampdiv").length){return true}var p,q,j,s,r=f("#post_status"),k=f('option[value="publish"]',r),i=f("#aa").val(),n=f("#mm").val(),o=f("#jj").val(),m=f("#hh").val(),l=f("#mn").val();p=new Date(i,n-1,o,m,l);q=new Date(f("#hidden_aa").val(),f("#hidden_mm").val()-1,f("#hidden_jj").val(),f("#hidden_hh").val(),f("#hidden_mn").val());j=new Date(f("#cur_aa").val(),f("#cur_mm").val()-1,f("#cur_jj").val(),f("#cur_hh").val(),f("#cur_mn").val());if(p.getFullYear()!=i||(1+p.getMonth())!=n||p.getDate()!=o||p.getMinutes()!=l){f(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false}else{f(".timestamp-wrap","#timestampdiv").removeClass("form-invalid")}if(p>j&&f("#original_post_status").val()!="future"){s=postL10n.publishOnFuture;f("#publish").val(postL10n.schedule)}else{if(p<=j&&f("#original_post_status").val()!="publish"){s=postL10n.publishOn;f("#publish").val(postL10n.publish)}else{s=postL10n.publishOnPast;f("#publish").val(postL10n.update)}}if(q.toUTCString()==p.toUTCString()){f("#timestamp").html(b)}else{f("#timestamp").html(s+" <b>"+postL10n.dateFormat.replace("%1$s",f('option[value="'+f("#mm").val()+'"]',"#mm").text()).replace("%2$s",o).replace("%3$s",i).replace("%4$s",m).replace("%5$s",l)+"</b> ")}if(f("input:radio:checked","#post-visibility-select").val()=="private"){f("#publish").val(postL10n.update);if(k.length==0){r.append('<option value="publish">'+postL10n.privatelyPublished+"</option>")}else{k.html(postL10n.privatelyPublished)}f('option[value="publish"]',r).prop("selected",true);f(".edit-post-status","#misc-publishing-actions").hide()}else{if(f("#original_post_status").val()=="future"||f("#original_post_status").val()=="draft"){if(k.length){k.remove();r.val(f("#hidden_post_status").val())}}else{k.html(postL10n.published)}if(r.is(":hidden")){f(".edit-post-status","#misc-publishing-actions").show()}}f("#post-status-display").html(f("option:selected",r).text());if(f("option:selected",r).val()=="private"||f("option:selected",r).val()=="publish"){f("#save-post").hide()}else{f("#save-post").show();if(f("option:selected",r).val()=="pending"){f("#save-post").show().val(postL10n.savePending)}else{f("#save-post").show().val(postL10n.saveDraft)}}return true}f(".edit-visibility","#visibility").click(function(){if(f("#post-visibility-select").is(":hidden")){d();f("#post-visibility-select").slideDown("fast");f(this).hide()}return false});f(".cancel-post-visibility","#post-visibility-select").click(function(){f("#post-visibility-select").slideUp("fast");f("#visibility-radio-"+f("#hidden-post-visibility").val()).prop("checked",true);f("#post_password").val(f("#hidden-post-password").val());f("#sticky").prop("checked",f("#hidden-post-sticky").prop("checked"));f("#post-visibility-display").html(a);f(".edit-visibility","#visibility").show();c();return false});f(".save-post-visibility","#post-visibility-select").click(function(){var i=f("#post-visibility-select");i.slideUp("fast");f(".edit-visibility","#visibility").show();c();if(f("input:radio:checked",i).val()!="public"){f("#sticky").prop("checked",false)}if(true==f("#sticky").prop("checked")){g="Sticky"}else{g=""}f("#post-visibility-display").html(postL10n[f("input:radio:checked",i).val()+g]);return false});f("input:radio","#post-visibility-select").change(function(){d()});f("#timestampdiv").siblings("a.edit-timestamp").click(function(){if(f("#timestampdiv").is(":hidden")){f("#timestampdiv").slideDown("fast");f("#mm").focus();f(this).hide()}return false});f(".cancel-timestamp","#timestampdiv").click(function(){f("#timestampdiv").slideUp("fast");f("#mm").val(f("#hidden_mm").val());f("#jj").val(f("#hidden_jj").val());f("#aa").val(f("#hidden_aa").val());f("#hh").val(f("#hidden_hh").val());f("#mn").val(f("#hidden_mn").val());f("#timestampdiv").siblings("a.edit-timestamp").show();c();return false});f(".save-timestamp","#timestampdiv").click(function(){if(c()){f("#timestampdiv").slideUp("fast");f("#timestampdiv").siblings("a.edit-timestamp").show()}return false});f("#post").on("submit",function(i){if(!c()){i.preventDefault();f("#timestampdiv").show();f("#publishing-action .spinner").hide();f("#publish").prop("disabled",false).removeClass("button-primary-disabled");return false}});f("#post-status-select").siblings("a.edit-post-status").click(function(){if(f("#post-status-select").is(":hidden")){f("#post-status-select").slideDown("fast");f(this).hide()}return false});f(".save-post-status","#post-status-select").click(function(){f("#post-status-select").slideUp("fast");f("#post-status-select").siblings("a.edit-post-status").show();c();return false});f(".cancel-post-status","#post-status-select").click(function(){f("#post-status-select").slideUp("fast");f("#post_status").val(f("#hidden_post_status").val());f("#post-status-select").siblings("a.edit-post-status").show();c();return false})}if(f("#edit-slug-box").length){editPermalink=function(j){var k,n=0,m=f("#editable-post-name"),o=m.html(),r=f("#post_name"),s=r.val(),p=f("#edit-slug-buttons"),q=p.html(),l=f("#editable-post-name-full").html();f("#view-post-btn").hide();p.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>");p.children(".save").click(function(){var i=m.children("input").val();if(i==f("#editable-post-name-full").text()){return f(".cancel","#edit-slug-buttons").click()}f.post(ajaxurl,{action:"sample-permalink",post_id:j,new_slug:i,new_title:f("#title").val(),samplepermalinknonce:f("#samplepermalinknonce").val()},function(u){var t=f("#edit-slug-box");t.html(u);if(t.hasClass("hidden")){t.fadeIn("fast",function(){t.removeClass("hidden")})}p.html(q);r.val(i);makeSlugeditClickable();f("#view-post-btn").show()});return false});f(".cancel","#edit-slug-buttons").click(function(){f("#view-post-btn").show();m.html(o);p.html(q);r.val(s);return false});for(k=0;k<l.length;++k){if("%"==l.charAt(k)){n++}}slug_value=(n>l.length/4)?"":l;m.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children("input").keypress(function(t){var i=t.keyCode||0;if(13==i){p.children(".save").click();return false}if(27==i){p.children(".cancel").click();return false}}).keyup(function(i){r.val(this.value)}).focus()};makeSlugeditClickable=function(){f("#editable-post-name").click(function(){f("#edit-slug-buttons").children(".edit-slug").click()})};makeSlugeditClickable()}if(typeof(wpWordCount)!="undefined"){f(document).triggerHandler("wpcountwords",[h.val()]);h.keyup(function(j){var i=j.keyCode||j.charCode;if(i==e){return true}if(13==i||8==e||46==e){f(document).triggerHandler("wpcountwords",[h.val()])}e=i;return true})}wptitlehint=function(k){k=k||"title";var i=f("#"+k),j=f("#"+k+"-prompt-text");if(i.val()==""){j.removeClass("screen-reader-text")}j.click(function(){f(this).addClass("screen-reader-text");i.focus()});i.blur(function(){if(this.value==""){j.removeClass("screen-reader-text")}}).focus(function(){j.addClass("screen-reader-text")}).keydown(function(l){j.addClass("screen-reader-text");f(this).unbind(l)})};wptitlehint();(function(){var i=f("textarea#content"),l=null,j;if(!i.length||"ontouchstart" in window){return}function k(n){i.height(Math.max(50,l+n.pageY)+"px");return false}function m(o){var n;i.focus();f(document).unbind("mousemove",k).unbind("mouseup",m);n=parseInt(i.css("height"),10);if(n&&n>50&&n<5000){setUserSetting("ed_size",n)}}i.css("resize","none");j=f('<div id="content-resize-handle"><br></div>');f("#wp-content-wrap").append(j);j.on("mousedown",function(n){l=i.height()-n.pageY;i.blur();f(document).mousemove(k).mouseup(m);return false})})();if(typeof(tinymce)!="undefined"){tinymce.onAddEditor.add(function(i,j){if(j.id!="content"||tinymce.isIOS5){return}function k(){var l,m=document.getElementById("content_ifr"),o=m?parseInt(m.style.height,10):0,n=f("#content_tbl tr.mceFirst").height();if(!o||!n){return false}l=o+n+21;l-=33;return l}j.onLoadContent.add(function(m,q){var r,n=document.getElementById("content"),l=n?parseInt(n.style.height,10):0,p=f("#content_tbl tr.mceFirst").height()||33;if(!l||l<50||l>5000){l=360}if(getUserSetting("ed_size")>5000){setUserSetting("ed_size",360)}r=(l-p)+12;if(r>50&&r<5000){f("#content_tbl").css("height","");f("#content_ifr").css("height",r+"px")}});j.onSaveContent.add(function(m,n){var l=k();if(!l||l<50||l>5000){return}f("textarea#content").css("height",l+"px")});j.onPostRender.add(function(){f("#content_resize").on("mousedown.wp-mce-resize",function(l){f(document).on("mouseup.wp-mce-resize",function(n){var m;f(document).off("mouseup.wp-mce-resize");m=k();if(m&&m>50&&m<5000){setUserSetting("ed_size",m)}})})})});f("#post-formats-select input.post-format").on("change.set-editor-class",function(k){var j,i,l=this.id;if(l&&f(this).prop("checked")){j=tinymce.get("content");if(j){i=j.getBody();i.className=i.className.replace(/\bpost-format-[^ ]+/,"");j.dom.addClass(i,l=="post-format-0"?"post-format-standard":l)}}})}});
\ 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,editPermalink,makeSlugeditClickable,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint;!function(a){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){c=c||!1;var e,f,g=a(".the-tags",b),h=a("input.newtag",b),i=postL10n.comma;return f=c?a(c).text():h.val(),tagsval=g.val(),e=tagsval?tagsval+i+f:f,e=this.clean(e),e=array_unique_noempty(e.split(i)).join(i),g.val(e),this.quickClicks(b),c||h.val(""),"undefined"==typeof d&&h.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(),commentsBox.st>commentsBox.total?a("#show-comments").hide():a("#show-comments").show().children("a").html(postL10n.showcomm),void 0):1==b?(a("#show-comments").html(postL10n.endcomm),void 0):(a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>"),void 0)}),!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)}),a(document).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")&&("function"==typeof autosave&&(a(document).on("autosave-disable-buttons.post-lock",function(){e.addClass("saving")}).on("autosave-enable-buttons.post-lock",function(){e.removeClass("saving").addClass("saved"),window.onbeforeunload=null}),autosave()||(window.onbeforeunload=null),autosave=function(){}),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))})}(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=a("#post-visibility-select");"public"!=a("input:radio:checked",b).val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=a("input:radio:checked",b).val()?a("#password-span").hide():a("#password-span").show()}function c(){if(!a("#timestampdiv").length)return!0;var b,c,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),c=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?(a(".timestamp-wrap","#timestampdiv").addClass("form-invalid"),!1):(a(".timestamp-wrap","#timestampdiv").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)),c.toUTCString()==b.toUTCString()?a("#timestamp").html(d):a("#timestamp").html(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"==a("input:radio:checked","#post-visibility-select").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(".edit-post-status","#misc-publishing-actions").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(".edit-post-status","#misc-publishing-actions").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(),"pending"==a("option:selected",g).val()?a("#save-post").show().val(postL10n.savePending):a("#save-post").show().val(postL10n.saveDraft)),!0)}var d,e,f="",g=0,h=a("#content");postboxes.add_postbox_toggles(pagenow),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(),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&&(d=a("#timestamp").html(),e=a("#post-visibility-display").html(),a(".edit-visibility","#visibility").click(function(){return a("#post-visibility-select").is(":hidden")&&(b(),a("#post-visibility-select").slideDown("fast"),a(this).hide()),!1}),a(".cancel-post-visibility","#post-visibility-select").click(function(){return a("#post-visibility-select").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(e),a(".edit-visibility","#visibility").show(),c(),!1}),a(".save-post-visibility","#post-visibility-select").click(function(){var b=a("#post-visibility-select");return b.slideUp("fast"),a(".edit-visibility","#visibility").show(),c(),"public"!=a("input:radio:checked",b).val()&&a("#sticky").prop("checked",!1),f=1==a("#sticky").prop("checked")?"Sticky":"",a("#post-visibility-display").html(postL10n[a("input:radio:checked",b).val()+f]),!1}),a("input:radio","#post-visibility-select").change(function(){b()}),a("#timestampdiv").siblings("a.edit-timestamp").click(function(){return a("#timestampdiv").is(":hidden")&&(a("#timestampdiv").slideDown("fast"),a("#mm").focus(),a(this).hide()),!1}),a(".cancel-timestamp","#timestampdiv").click(function(){return a("#timestampdiv").slideUp("fast"),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()),a("#timestampdiv").siblings("a.edit-timestamp").show(),c(),!1}),a(".save-timestamp","#timestampdiv").click(function(){return c()&&(a("#timestampdiv").slideUp("fast"),a("#timestampdiv").siblings("a.edit-timestamp").show()),!1}),a("#post").on("submit",function(b){return c()?void 0:(b.preventDefault(),a("#timestampdiv").show(),a("#publishing-action .spinner").hide(),a("#publish").prop("disabled",!1).removeClass("button-primary-disabled"),!1)}),a("#post-status-select").siblings("a.edit-post-status").click(function(){return a("#post-status-select").is(":hidden")&&(a("#post-status-select").slideDown("fast"),a(this).hide()),!1}),a(".save-post-status","#post-status-select").click(function(){return a("#post-status-select").slideUp("fast"),a("#post-status-select").siblings("a.edit-post-status").show(),c(),!1}),a(".cancel-post-status","#post-status-select").click(function(){return a("#post-status-select").slideUp("fast"),a("#post_status").val(a("#hidden_post_status").val()),a("#post-status-select").siblings("a.edit-post-status").show(),c(),!1})),a("#edit-slug-box").length&&(editPermalink=function(b){var 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 c=e.children("input").val();return c==a("#editable-post-name-full").text()?a(".cancel","#edit-slug-buttons").click():(a.post(ajaxurl,{action:"sample-permalink",post_id:b,new_slug:c,new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(b){var d=a("#edit-slug-box");d.html(b),d.hasClass("hidden")&&d.fadeIn("fast",function(){d.removeClass("hidden")}),i.html(j),g.val(c),makeSlugeditClickable(),a("#view-post-btn").show()}),!1)}),a(".cancel","#edit-slug-buttons").click(function(){return a("#view-post-btn").show(),e.html(f),i.html(j),g.val(h),!1}),c=0;c<k.length;++c)"%"==k.charAt(c)&&d++;slug_value=d>k.length/4?"":k,e.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').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()},makeSlugeditClickable=function(){a("#editable-post-name").click(function(){a("#edit-slug-buttons").children(".edit-slug").click()})},makeSlugeditClickable()),"undefined"!=typeof wpWordCount&&(a(document).triggerHandler("wpcountwords",[h.val()]),h.keyup(function(b){var c=b.keyCode||b.charCode;return c==g?!0:((13==c||8==g||46==g)&&a(document).triggerHandler("wpcountwords",[h.val()]),g=c,!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){return e.height(Math.max(50,f+a.pageY)+"px"),!1}function c(){var d;e.focus(),a(document).unbind("mousemove",b).unbind("mouseup",c),d=parseInt(e.css("height"),10),d&&d>50&&5e3>d&&setUserSetting("ed_size",d)}var d,e=a("textarea#content"),f=null;!e.length||"ontouchstart"in window||(e.css("resize","none"),d=a('<div id="content-resize-handle"><br></div>'),a("#wp-content-wrap").append(d),d.on("mousedown",function(d){return f=e.height()-d.pageY,e.blur(),a(document).mousemove(b).mouseup(c),!1}))}(),"undefined"!=typeof tinymce&&(tinymce.onAddEditor.add(function(b,c){function d(){var b,c=document.getElementById("content_ifr"),d=c?parseInt(c.style.height,10):0,e=a("#content_tbl tr.mceFirst").height();return d&&e?(b=d+e+21,b-=33):!1}"content"!=c.id||tinymce.isIOS5||(c.onLoadContent.add(function(){var b,c=document.getElementById("content"),d=c?parseInt(c.style.height,10):0,e=a("#content_tbl tr.mceFirst").height()||33;(!d||50>d||d>5e3)&&(d=360),getUserSetting("ed_size")>5e3&&setUserSetting("ed_size",360),b=d-e+12,b>50&&5e3>b&&(a("#content_tbl").css("height",""),a("#content_ifr").css("height",b+"px"))}),c.onSaveContent.add(function(){var b=d();!b||50>b||b>5e3||a("textarea#content").css("height",b+"px")}),c.onPostRender.add(function(){a("#content_resize").on("mousedown.wp-mce-resize",function(){a(document).on("mouseup.wp-mce-resize",function(){var b;a(document).off("mouseup.wp-mce-resize"),b=d(),b&&b>50&&5e3>b&&setUserSetting("ed_size",b)})})}))}),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
index 0db8f615afd74c72a075666d9c7fffd0e3361f15..bda502721eb29f3f98844a49ad23c4abde24b682 100644 (file)
@@ -1 +1 @@
-var postboxes;(function(a){postboxes={add_postbox_toggles:function(d,c){var b=this;b.init(d,c);a(".postbox h3, .postbox .handlediv").bind("click.postboxes",function(){var e=a(this).parent(".postbox"),f=e.attr("id");if("dashboard_browser_nag"==f){return}e.toggleClass("closed");if(d!="press-this"){b.save_state(d)}if(f){if(!e.hasClass("closed")&&a.isFunction(postboxes.pbshow)){b.pbshow(f)}else{if(e.hasClass("closed")&&a.isFunction(postboxes.pbhide)){b.pbhide(f)}}}});a(".postbox h3 a").click(function(f){f.stopPropagation()});a(".postbox a.dismiss").bind("click.postboxes",function(g){var f=a(this).parents(".postbox").attr("id")+"-hide";a("#"+f).prop("checked",false).triggerHandler("click");return false});a(".hide-postbox-tog").bind("click.postboxes",function(){var e=a(this).val();if(a(this).prop("checked")){a("#"+e).show();if(a.isFunction(postboxes.pbshow)){b.pbshow(e)}}else{a("#"+e).hide();if(a.isFunction(postboxes.pbhide)){b.pbhide(e)}}b.save_state(d);b._mark_area()});a('.columns-prefs input[type="radio"]').bind("click.postboxes",function(){var e=parseInt(a(this).val(),10);if(e){b._pb_edit(e);b.save_order(d)}})},init:function(d,c){var b=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:(b?200:0),distance:2,tolerance:"pointer",forcePlaceholderSize:true,helper:"clone",opacity:0.65,stop:function(g,f){if(a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id){a(this).sortable("cancel");return}postboxes.save_order(d)},receive:function(g,f){if("dashboard_browser_nag"==f.item[0].id){a(f.sender).sortable("cancel")}postboxes._mark_area()}});if(b){a(document.body).bind("orientationchange.postboxes",function(){postboxes._pb_change()});this._pb_change()}this._mark_area()},save_state:function(d){var b=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),c=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:b,hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:d})},save_order:function(c){var b,d=a(".columns-prefs input:checked").val()||0;b={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:c};a(".meta-box-sortables").each(function(){b["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b)},_mark_area:function(){var c=a("div.postbox:visible").length,b=a("#post-body #side-sortables");a("#dashboard-widgets .meta-box-sortables:visible").each(function(f,e){var d=a(this);if(c==1||d.children(".postbox:visible").length){d.removeClass("empty-container")}else{d.addClass("empty-container")}});if(b.length){if(b.children(".postbox:visible").length){b.removeClass("empty-container")}else{if(a("#postbox-container-1").css("width")=="280px"){b.addClass("empty-container")}}}},_pb_edit:function(c){var b=a(".metabox-holder").get(0);b.className=b.className.replace(/columns-\d+/,"columns-"+c)},_pb_change:function(){var b=a('label.columns-prefs-1 input[type="radio"]');switch(window.orientation){case 90:case -90:if(!b.length||!b.is(":checked")){this._pb_edit(2)}break;case 0:case 180:if(a("#poststuff").length){this._pb_edit(1)}else{if(!b.length||!b.is(":checked")){this._pb_edit(2)}}break}},pbshow:false,pbhide:false}}(jQuery));
\ No newline at end of file
+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?(a(this).sortable("cancel"),void 0):(postboxes.save_order(b),void 0)},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.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
index a1e1a004be22e2f21eb16d7ac80f5b3b1b7ef7e5..e9b537c2bee2d6ca6ac3f1c5b5dcddd0a6986c7f 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(b){var a;a=wp.revisions={model:{},view:{},controller:{}};a.settings=_.isUndefined(_wpRevisionsSettings)?{}:_wpRevisionsSettings;a.debug=false;a.log=function(){if(window.console&&a.debug){console.log.apply(console,arguments)}};b.fn.allOffsets=function(){var d=this.offset()||{top:0,left:0},c=b(window);return _.extend(d,{right:c.width()-d.left-this.outerWidth(),bottom:c.height()-d.top-this.outerHeight()})};b.fn.allPositions=function(){var c=this.position()||{top:0,left:0},d=this.parent();return _.extend(c,{right:d.outerWidth()-c.left-this.outerWidth(),bottom:d.outerHeight()-c.top-this.outerHeight()})};if(a.settings.to){a.settings.to=parseInt(a.settings.to,10)}if(a.settings.from){a.settings.from=parseInt(a.settings.from,10)}if(a.settings.compareTwoMode){a.settings.compareTwoMode=a.settings.compareTwoMode==="1"}a.model.Slider=Backbone.Model.extend({defaults:{value:null,values:null,min:0,max:1,step:1,range:false,compareTwoMode:false},initialize:function(c){this.frame=c.frame;this.revisions=c.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(d,c){return isRtl?this.revisions.length-this.revisions.indexOf(this.get(d))-1:this.revisions.indexOf(this.get(c))},updateSliderSettings:function(){if(this.get("compareTwoMode")){this.set({values:[this.getSliderValue("to","from"),this.getSliderValue("from","to")],value:null,range:true})}else{this.set({value:this.getSliderValue("to","to"),values:null,range:false})}this.trigger("update:slider")},hoverRevision:function(c,d){this.trigger("hovered:revision",d)},updateMode:function(c,d){this.set({compareTwoMode:d})},handleLocalChanges:function(){this.frame.set({from:this.get("from"),to:this.get("to")})},receiveRevisions:function(d,c){if(this.get("from")===d&&this.get("to")===c){return}this.set({from:d,to:c},{silent:true});this.trigger("update:revisions",d,c)}});a.model.Tooltip=Backbone.Model.extend({defaults:{revision:null,offset:{},hovering:false,scrubbing:false},initialize:function(c){this.frame=c.frame;this.revisions=c.revisions;this.slider=c.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(c){this.set({revision:c})},setHovering:function(c,d){this.set({hovering:d})},setScrubbing:function(c,d){this.set({scrubbing:d})}});a.model.Revision=Backbone.Model.extend({});a.model.Revisions=Backbone.Collection.extend({model:a.model.Revision,initialize:function(){_.bindAll(this,"next","prev")},next:function(d){var c=this.indexOf(d);if(c!==-1&&c!==this.length-1){return this.at(c+1)}},prev:function(d){var c=this.indexOf(d);if(c!==-1&&c!==0){return this.at(c-1)}}});a.model.Field=Backbone.Model.extend({});a.model.Fields=Backbone.Collection.extend({model:a.model.Field});a.model.Diff=Backbone.Model.extend({initialize:function(d,e){var c=this.get("fields");this.unset("fields");this.fields=new a.model.Fields(c)}});a.model.Diffs=Backbone.Collection.extend({initialize:function(d,c){_.bindAll(this,"getClosestUnloaded");this.loadAll=_.once(this._loadAll);this.revisions=c.revisions;this.requests={}},model:a.model.Diff,ensure:function(j,d){var g=this.get(j);var f=this.requests[j];var c=b.Deferred();var e={};var i=j.split(":")[0];var h=j.split(":")[1];e[j]=true;wp.revisions.log("ensure",j);this.trigger("ensure",e,i,h,c.promise());if(g){c.resolveWith(d,[g])}else{this.trigger("ensure:load",e,i,h,c.promise());_.each(e,_.bind(function(k){if(this.requests[k]){delete e[k]}if(this.get(k)){delete e[k]}},this));if(!f){e[j]=true;f=this.load(_.keys(e))}f.done(_.bind(function(){c.resolveWith(d,[this.get(j)])},this)).fail(_.bind(function(){c.reject()}))}return c.promise()},getClosestUnloaded:function(e,c){var d=this;return _.chain([0].concat(e)).initial().zip(e).sortBy(function(f){return Math.abs(c-f[1])}).map(function(f){return f.join(":")}).filter(function(f){return _.isUndefined(d.get(f))&&!d.requests[f]}).value()},_loadAll:function(g,c,f){var e=this,d=b.Deferred();diffs=_.first(this.getClosestUnloaded(g,c),f);if(_.size(diffs)>0){this.load(diffs).done(function(){e._loadAll(g,c,f).done(function(){d.resolve()})}).fail(function(){if(1===f){d.reject()}else{e._loadAll(g,c,Math.ceil(f/2)).done(function(){d.resolve()})}})}else{d.resolve()}return d},load:function(c){wp.revisions.log("load",c);return this.fetch({data:{compare:c},remove:false}).done(function(){wp.revisions.log("load:complete",c)})},sync:function(g,e,d){if("read"===g){d=d||{};d.context=this;d.data=_.extend(d.data||{},{action:"get-revision-diffs",post_id:a.settings.postId});var c=wp.ajax.send(d);var f=this.requests;if(d.data.compare){_.each(d.data.compare,function(h){f[h]=c})}c.always(function(){if(d.data.compare){_.each(d.data.compare,function(h){delete f[h]})}});return c}else{return Backbone.Model.prototype.sync.apply(this,arguments)}}});a.model.FrameState=Backbone.Model.extend({defaults:{loading:false,error:false,compareTwoMode:false},initialize:function(c,d){var e={};_.bindAll(this,"receiveDiff");this._debouncedEnsureDiff=_.debounce(this._ensureDiff,200);this.revisions=d.revisions;this.diffs=new a.model.Diffs([],{revisions:this.revisions});this.diffs.set(a.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);e.to=this.revisions.get(a.settings.to);e.from=this.revisions.get(a.settings.from);e.compareTwoMode=a.settings.compareTwoMode;e.baseUrl=a.settings.baseUrl;this.set(e);if(window.history&&window.history.pushState){this.router=new a.Router({model:this});Backbone.history.start({pushState:true})}},updateLoadingStatus:function(){this.set("error",false);this.set("loading",!this.diff())},changeMode:function(c,d){if(d&&0===this.revisions.indexOf(this.get("to"))){this.set({from:this.revisions.at(0),to:this.revisions.at(1)})}},updatedRevisions:function(d,c){if(this.get("compareTwoMode")){}else{this.diffs.loadAll(this.revisions.pluck("id"),c.id,40)}},diff:function(){return this.diffs.get(this._diffId)},updateDiff:function(c){var g,f,d,e;c=c||{};g=this.get("from");f=this.get("to");d=(g?g.id:0)+":"+f.id;if(this._diffId===d){return b.Deferred().reject().promise()}this._diffId=d;this.trigger("update:revisions",g,f);e=this.diffs.get(d);if(e){this.receiveDiff(e);return b.Deferred().resolve().promise()}else{if(c.immediate){return this._ensureDiff()}else{this._debouncedEnsureDiff();return b.Deferred().reject().promise()}}},changeRevisionHandler:function(d,e,c){this.updateDiff()},receiveDiff:function(c){if(_.isUndefined(c)||_.isUndefined(c.id)){this.set({loading:false,error:true})}else{if(this._diffId===c.id){this.trigger("update:diff",c)}}},_ensureDiff:function(){return this.diffs.ensure(this._diffId,this).always(this.receiveDiff)}});a.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 a.view.Controls({model:this.model}))},render:function(){wp.Backbone.View.prototype.render.apply(this,arguments);b("html").css("overflow-y","scroll");b("#wpbody-content .wrap").append(this.el);this.updateCompareTwoMode();this.renderDiff(this.model.diff());this.views.ready();return this},renderDiff:function(c){this.views.set(".revisions-diff-frame",new a.view.Diff({model:c}))},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"))}});a.view.Controls=wp.Backbone.View.extend({className:"revisions-controls",initialize:function(){_.bindAll(this,"setWidth");this.views.add(new a.view.Buttons({model:this.model}));this.views.add(new a.view.Checkbox({model:this.model}));var c=new a.model.Slider({frame:this.model,revisions:this.model.revisions});var d=new a.model.Tooltip({frame:this.model,revisions:this.model.revisions,slider:c});this.views.add(new a.view.Tooltip({model:d}));this.views.add(new a.view.Tickmarks({model:d}));this.views.add(new a.view.Slider({model:c}));this.views.add(new a.view.Metabox({model:this.model}))},ready:function(){this.top=this.$el.offset().top;this.window=b(window);this.window.on("scroll.wp.revisions",{controls:this},function(g){var d=g.data.controls;var c=d.$el.parent();var f=d.window.scrollTop();var h=d.views.parent;if(f>=d.top){if(!h.$el.hasClass("pinned")){d.setWidth();c.css("height",c.height()+"px");d.window.on("resize.wp.revisions.pinning click.wp.revisions.pinning",{controls:d},function(i){i.data.controls.setWidth()})}h.$el.addClass("pinned")}else{if(h.$el.hasClass("pinned")){d.window.off(".wp.revisions.pinning");d.$el.css("width","auto");h.$el.removeClass("pinned");c.css("height","auto");d.top=d.$el.offset().top}else{d.top=d.$el.offset().top}}})},setWidth:function(){this.$el.css("width",this.$el.parent().width()+"px")}});a.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(f,e){var i,h,c,g,d=this.model.revisions.indexOf(e);h=this.$el.allOffsets();c=this.$el.parent().allOffsets();if(d===this.model.revisions.length-1){i={rightPlusWidth:h.left-c.left+1,leftPlusWidth:h.right-c.right+1}}else{g=this.$("div:nth-of-type("+(d+1)+")");i=g.allPositions();_.extend(i,{left:i.left+h.left-c.left,right:i.right+h.right-c.right});_.extend(i,{leftPlusWidth:i.left+g.outerWidth(),rightPlusWidth:i.right+g.outerWidth()})}this.model.set({offset:i})},ready:function(){var d,c;d=this.model.revisions.length-1;c=1/d;this.$el.css("width",(this.model.revisions.length*50)+"px");_(d).times(function(e){this.$el.append('<div style="'+this.direction+": "+(100*c*e)+'%"></div>')},this)}});a.view.Metabox=wp.Backbone.View.extend({className:"revisions-meta",initialize:function(){this.views.add(new a.view.MetaFrom({model:this.model,className:"diff-meta diff-meta-from"}));this.views.add(new a.view.MetaTo({model:this.model}))}});a.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}});a.view.MetaFrom=a.view.Meta.extend({className:"diff-meta diff-meta-from",type:"from"});a.view.MetaTo=a.view.Meta.extend({className:"diff-meta diff-meta-to",type:"to"});a.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(){if(this.model.revisions.length<3){b(".revision-toggle-compare-mode").hide()}},updateCompareTwoMode:function(){this.$(".compare-two-revisions").prop("checked",this.model.get("compareTwoMode"))},compareTwoToggle:function(c){this.model.set({compareTwoMode:b(".compare-two-revisions").prop("checked")})}});a.view.Tooltip=wp.Backbone.View.extend({className:"revisions-tooltip",template:wp.template("revisions-meta"),initialize:function(c){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(){if(_.isNull(this.model.get("revision"))){return}else{return _.extend({type:"tooltip"},{attributes:this.model.get("revision").toJSON()})}},render:function(){var g,e,f,d={},c=this.model.revisions.indexOf(this.model.get("revision"))+1;f=(c/this.model.revisions.length)>0.5;if(isRtl){g=f?"left":"right";e=f?"leftPlusWidth":g}else{g=f?"right":"left";e=f?"rightPlusWidth":g}otherDirection="right"===g?"left":"right";wp.Backbone.View.prototype.render.apply(this,arguments);d[g]=this.model.get("offset")[e]+"px";d[otherDirection]="";this.$el.toggleClass("flipped",f).css(d)},visible:function(){return this.model.get("scrubbing")||this.model.get("hovering")},toggleVisibility:function(c){if(this.visible()){this.$el.stop().show().fadeTo(100-this.el.style.opacity*100,1)}else{this.$el.stop().fadeTo(this.el.style.opacity*300,0,function(){b(this).hide()})}return}});a.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(d){var c={to:this.model.revisions.at(d)};if(d){c.from=this.model.revisions.at(d-1)}else{this.model.unset("from",{silent:true})}this.model.set(c)},nextRevision:function(){var c=this.model.revisions.indexOf(this.model.get("to"))+1;this.gotoModel(c)},previousRevision:function(){var c=this.model.revisions.indexOf(this.model.get("to"))-1;this.gotoModel(c)},disabledButtonCheck:function(){var g=this.model.revisions.length-1,c=0,d=b(".revisions-next .button"),e=b(".revisions-previous .button"),f=this.model.revisions.indexOf(this.model.get("to"));d.prop("disabled",(g===f));e.prop("disabled",(c===f))}});a.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",(this.model.revisions.length*50)+"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(j){var d=this.model.revisions.length-1,i=this.$el.allOffsets()[this.direction],g=this.$el.width(),c=g/d,h=isRtl?b(window).width()-j.pageX:j.pageX;h=h-i;var f=Math.floor((h+(c/2))/c);if(f<0){f=0}else{if(f>=this.model.revisions.length){f=this.model.revisions.length-1}}this.model.set({hoveredRevision:this.model.revisions.at(f)})},mouseLeave:function(){this.model.set({hovering:false})},mouseEnter:function(){this.model.set({hovering:true})},applySliderSettings:function(){this.$el.slider(_.pick(this.model.toJSON(),"value","values","range"));var c=this.$("a.ui-slider-handle");if(this.model.get("compareTwoMode")){c.first().toggleClass("to-handle",!!isRtl).toggleClass("from-handle",!isRtl);c.last().toggleClass("from-handle",!!isRtl).toggleClass("to-handle",!isRtl)}else{c.removeClass("from-handle to-handle")}},start:function(c,d){this.model.set({scrubbing:true});b(window).on("mousemove.wp.revisions",{view:this},function(i){var j=i.data.view,n=j.$el.offset().left,f=n,g=n+j.$el.width(),k=g,l="0",o="100%",h=b(d.handle);if(j.model.get("compareTwoMode")){var m=h.parent().find(".ui-slider-handle");if(h.is(m.first())){k=m.last().offset().left;o=k-f}else{n=m.first().offset().left+m.first().width();l=n-f}}if(i.pageX<n){h.css("left",l)}else{if(i.pageX>k){h.css("left",o)}else{h.css("left",i.pageX-f)}}})},getPosition:function(c){return isRtl?this.model.revisions.length-c-1:c},slide:function(d,f){var c,e;if(this.model.get("compareTwoMode")){if(f.values[1]===f.values[0]){return false}if(isRtl){f.values.reverse()}c={from:this.model.revisions.at(this.getPosition(f.values[0])),to:this.model.revisions.at(this.getPosition(f.values[1]))}}else{c={to:this.model.revisions.at(this.getPosition(f.value))};if(this.getPosition(f.value)>0){c.from=this.model.revisions.at(this.getPosition(f.value)-1)}else{c.from=undefined}}e=this.model.revisions.at(this.getPosition(f.value));if(this.model.get("scrubbing")){c.hoveredRevision=e}this.model.set(c)},stop:function(c,d){b(window).off("mousemove.wp.revisions");this.model.updateSliderSettings();this.model.set({scrubbing:false})}});a.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)}});a.Router=Backbone.Router.extend({initialize:function(c){this.model=c.model;this.routes=_.object([[this.baseUrl("?from=:from&to=:to"),"handleRoute"],[this.baseUrl("?from=:from&to=:to"),"handleRoute"]]);this.listenTo(this.model,"update:diff",_.debounce(this.updateUrl,250));this.listenTo(this.model,"change:compareTwoMode",this.updateUrl)},baseUrl:function(c){return this.model.get("baseUrl")+c},updateUrl:function(){var d=this.model.has("from")?this.model.get("from").id:0;var c=this.model.get("to").id;if(this.model.get("compareTwoMode")){this.navigate(this.baseUrl("?from="+d+"&to="+c))}else{this.navigate(this.baseUrl("?revision="+c))}},handleRoute:function(d,c){var g,f,e=_.isUndefined(c);if(!e){c=this.model.revisions.get(d);d=this.model.revisions.prev(c);c=c?c.id:0;d=d?d.id:0}this.model.set({from:this.model.revisions.get(parseInt(d,10)),to:this.model.revisions.get(parseInt(d,10)),compareTwoMode:e})}});a.init=function(){a.view.frame=new a.view.Frame({model:new a.model.FrameState({},{revisions:new a.model.Revisions(a.settings.revisionData)})}).render()};b(a.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&&console.log.apply(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.get("compareTwoMode")?this.set({values:[this.getSliderValue("to","from"),this.getSliderValue("from","to")],value:null,range:!0}):this.set({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();return diffs=_.first(this.getClosestUnloaded(b,c),d),_.size(diffs)>0?this.load(diffs).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=this.model.revisions.indexOf(this.model.get("revision"))+1;c=e/this.model.revisions.length>.5,isRtl?(a=c?"left":"right",b=c?"leftPlusWidth":a):(a=c?"right":"left",b=c?"rightPlusWidth":a),otherDirection="right"===a?"left":"right",wp.Backbone.View.prototype.render.apply(this,arguments),d[a]=this.model.get("offset")[b]+"px",d[otherDirection]="",this.$el.toggleClass("flipped",c).css(d)},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;g-=d;var 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=b.data.view,e=d.$el.offset().left,f=e,g=e+d.$el.width(),h=g,i="0",j="100%",k=a(c.handle);if(d.model.get("compareTwoMode")){var l=k.parent().find(".ui-slider-handle");k.is(l.first())?(h=l.last().offset().left,j=h-f):(e=l.first().offset().left+l.first().width(),i=e-f)}b.pageX<e?k.css("left",i):b.pageX>h?k.css("left",j):k.css("left",b.pageX-f)})},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.routes=_.object([[this.baseUrl("?from=:from&to=:to"),"handleRoute"],[this.baseUrl("?from=:from&to=:to"),"handleRoute"]]),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)):this.navigate(this.baseUrl("?revision="+b))},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),this.model.set({from:this.model.revisions.get(parseInt(a,10)),to:this.model.revisions.get(parseInt(a,10)),compareTwoMode:c})}}),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
index ffe08d86ac09c72b9707563729f55caed001869a..dcea06a69ec11894aa629a204c7f6c6083d360f3 100644 (file)
@@ -1 +1 @@
-function WPSetAsThumbnail(c,b){var a=jQuery("a#wp-post-thumbnail-"+c);a.text(setPostThumbnailL10n.saving);jQuery.post(ajaxurl,{action:"set-post-thumbnail",post_id:post_id,thumbnail_id:c,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(e){var d=window.dialogArguments||opener||parent||top;a.text(setPostThumbnailL10n.setThumbnail);if(e=="0"){alert(setPostThumbnailL10n.error)}else{jQuery("a.wp-post-thumbnail").show();a.text(setPostThumbnailL10n.done);a.fadeOut(2000);d.WPSetThumbnailID(c);d.WPSetThumbnailHTML(e)}})};
\ No newline at end of file
+function WPSetAsThumbnail(a,b){var c=jQuery("a#wp-post-thumbnail-"+a);c.text(setPostThumbnailL10n.saving),jQuery.post(ajaxurl,{action:"set-post-thumbnail",post_id:post_id,thumbnail_id:a,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(b){var d=window.dialogArguments||opener||parent||top;c.text(setPostThumbnailL10n.setThumbnail),"0"==b?alert(setPostThumbnailL10n.error):(jQuery("a.wp-post-thumbnail").show(),c.text(setPostThumbnailL10n.done),c.fadeOut(2e3),d.WPSetThumbnailID(a),d.WPSetThumbnailHTML(b))})}
\ No newline at end of file
index c187750fd0d7f0760ab33bf9483d2f9aa9951acc..505dc3eb0cb6e879a3ae8d773f7fce55edf5531f 100644 (file)
@@ -1 +1 @@
-jQuery(document).ready(function(a){a("#the-list").on("click",".delete-tag",function(g){var b=a(this),f=b.parents("tr"),c=true,d;if("undefined"!=showNotice){c=showNotice.warn()}if(c){d=b.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag");a.post(ajaxurl,d,function(e){if("1"==e){a("#ajax-response").empty();f.fadeOut("normal",function(){f.remove()});a('select#parent option[value="'+d.match(/tag_ID=(\d+)/)[1]+'"]').remove();a("a.tag-link-"+d.match(/tag_ID=(\d+)/)[1]).remove()}else{if("-1"==e){a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>");f.children().css("backgroundColor","")}else{a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>");f.children().css("backgroundColor","")}}});f.children().css("backgroundColor","#f33")}return false});a("#submit").click(function(){var b=a(this).parents("form");if(!validateForm(b)){return false}a.post(ajaxurl,a("#addtag").serialize(),function(h){a("#ajax-response").empty();var f=wpAjax.parseAjaxResponse(h,"ajax-response");if(!f||f.errors){return}var g=b.find("select#parent").val();if(g>0&&a("#tag-"+g).length>0){a(".tags #tag-"+g).after(f.responses[0].supplemental.noparents)}else{a(".tags").prepend(f.responses[0].supplemental.parents)}a(".tags .no-items").remove();if(b.find("select#parent")){var e=f.responses[1].supplemental;var c="";for(var d=0;d<f.responses[1].position;d++){c+="&nbsp;&nbsp;&nbsp;"}b.find("select#parent option:selected").after('<option value="'+e.term_id+'">'+c+e.name+"</option>")}a('input[type="text"]:visible, textarea:visible',b).val("")});return false})});
\ No newline at end of file
+jQuery(document).ready(function(a){a("#the-list").on("click",".delete-tag",function(){var b,c=a(this),d=c.parents("tr"),e=!0;return"undefined"!=showNotice&&(e=showNotice.warn()),e&&(b=c.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag"),a.post(ajaxurl,b,function(c){"1"==c?(a("#ajax-response").empty(),d.fadeOut("normal",function(){d.remove()}),a('select#parent option[value="'+b.match(/tag_ID=(\d+)/)[1]+'"]').remove(),a("a.tag-link-"+b.match(/tag_ID=(\d+)/)[1]).remove()):"-1"==c?(a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>"),d.children().css("backgroundColor","")):(a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>"),d.children().css("backgroundColor",""))}),d.children().css("backgroundColor","#f33")),!1}),a("#submit").click(function(){var b=a(this).parents("form");return validateForm(b)?(a.post(ajaxurl,a("#addtag").serialize(),function(c){a("#ajax-response").empty();var d=wpAjax.parseAjaxResponse(c,"ajax-response");if(d&&!d.errors){var e=b.find("select#parent").val();if(e>0&&a("#tag-"+e).length>0?a(".tags #tag-"+e).after(d.responses[0].supplemental.noparents):a(".tags").prepend(d.responses[0].supplemental.parents),a(".tags .no-items").remove(),b.find("select#parent")){for(var f=d.responses[1].supplemental,g="",h=0;h<d.responses[1].position;h++)g+="&nbsp;&nbsp;&nbsp;";b.find("select#parent option:selected").after('<option value="'+f.term_id+'">'+g+f.name+"</option>")}a('input[type="text"]:visible, textarea:visible',b).val("")}}),!1):!1})});
\ No newline at end of file
index 78211901036984170c28fc6721f12f19ac45a377..0a26a466d816fc7ee82fd046fdd9d0488b5fcebe 100644 (file)
@@ -1 +1 @@
-var thickDims,tbWidth,tbHeight;jQuery(document).ready(function(a){thickDims=function(){var f=a("#TB_window"),d=a(window).height(),b=a(window).width(),c,e;c=(tbWidth&&tbWidth<b-90)?tbWidth:b-90;e=(tbHeight&&tbHeight<d-60)?tbHeight:d-60;if(f.size()){f.width(c).height(e);a("#TB_iframeContent").width(c).height(e-27);f.css({"margin-left":"-"+parseInt((c/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:"30px","margin-top":"0"})}}};thickDims();a(window).resize(function(){thickDims()});a("a.thickbox-preview").click(function(){tb_click.call(this);var d=a(this).parents(".available-theme").find(".activatelink"),e="",b=a(this).attr("href"),c,f;if(tbWidth=b.match(/&tbWidth=[0-9]+/)){tbWidth=parseInt(tbWidth[0].replace(/[^0-9]+/g,""),10)}else{tbWidth=a(window).width()-90}if(tbHeight=b.match(/&tbHeight=[0-9]+/)){tbHeight=parseInt(tbHeight[0].replace(/[^0-9]+/g,""),10)}else{tbHeight=a(window).height()-60}if(d.length){c=d.attr("href")||"";f=d.attr("title")||"";e='&nbsp; <a href="'+c+'" target="_top" class="tb-theme-preview-link">'+f+"</a>"}else{f=a(this).attr("title")||"";e='&nbsp; <span class="tb-theme-preview-link">'+f+"</span>"}a("#TB_title").css({"background-color":"#222",color:"#dfdfdf"});a("#TB_closeAjaxWindow").css({"float":"left"});a("#TB_ajaxWindowTitle").css({"float":"right"}).html(e);a("#TB_iframeContent").width("100%");thickDims();return false})});
\ No newline at end of file
+var thickDims,tbWidth,tbHeight;jQuery(document).ready(function(a){thickDims=function(){var b,c,d=a("#TB_window"),e=a(window).height(),f=a(window).width();b=tbWidth&&f-90>tbWidth?tbWidth:f-90,c=tbHeight&&e-60>tbHeight?tbHeight:e-60,d.size()&&(d.width(b).height(c),a("#TB_iframeContent").width(b).height(c-27),d.css({"margin-left":"-"+parseInt(b/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&d.css({top:"30px","margin-top":"0"}))},thickDims(),a(window).resize(function(){thickDims()}),a("a.thickbox-preview").click(function(){tb_click.call(this);var b,c,d=a(this).parents(".available-theme").find(".activatelink"),e="",f=a(this).attr("href");return tbWidth=(tbWidth=f.match(/&tbWidth=[0-9]+/))?parseInt(tbWidth[0].replace(/[^0-9]+/g,""),10):a(window).width()-90,tbHeight=(tbHeight=f.match(/&tbHeight=[0-9]+/))?parseInt(tbHeight[0].replace(/[^0-9]+/g,""),10):a(window).height()-60,d.length?(b=d.attr("href")||"",c=d.attr("title")||"",e='&nbsp; <a href="'+b+'" target="_top" class="tb-theme-preview-link">'+c+"</a>"):(c=a(this).attr("title")||"",e='&nbsp; <span class="tb-theme-preview-link">'+c+"</span>"),a("#TB_title").css({"background-color":"#222",color:"#dfdfdf"}),a("#TB_closeAjaxWindow").css({"float":"left"}),a("#TB_ajaxWindowTitle").css({"float":"right"}).html(e),a("#TB_iframeContent").width("100%"),thickDims(),!1})});
\ No newline at end of file
index 3efe890ff20422198e6b719db2cb20d260e46b52..fca2ab6a797d0d1e14f9477cec7e340b5e4a5e19 100644 (file)
@@ -1 +1 @@
-jQuery(function(a){a("#availablethemes").on("click",".theme-detail",function(c){var d=a(this).closest(".available-theme"),b=d.find(".themedetaildiv");if(!b.length){b=d.find(".install-theme-info .theme-details");b=b.clone().addClass("themedetaildiv").appendTo(d).hide()}b.toggle();c.preventDefault()})});var tb_position;jQuery(document).ready(function(a){tb_position=function(){var f=a("#TB_window"),e=a(window).width(),d=a(window).height(),c=(1040<e)?1040:e,b=0;if(a("body.admin-bar").length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a("#TB_iframeContent").width(c-50).height(d-75-b);f.css({"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:20+b+"px","margin-top":"0"})}}};a(window).resize(function(){tb_position()})});jQuery(function(c){if(!window.postMessage){return}var e=c("#theme-installer"),d=e.find(".install-theme-info"),b=e.find(".wp-full-overlay-main"),a=c(document.body);e.on("click",".close-full-overlay",function(f){e.fadeOut(200,function(){b.empty();a.removeClass("theme-installer-active full-overlay-active")});f.preventDefault()});e.on("click",".collapse-sidebar",function(f){e.toggleClass("collapsed").toggleClass("expanded");f.preventDefault()});c("#availablethemes").on("click",".install-theme-preview",function(f){var g;d.html(c(this).closest(".installable-theme").find(".install-theme-info").html());g=d.find(".theme-preview-url").val();b.html('<iframe src="'+g+'" />');e.fadeIn(200,function(){a.addClass("theme-installer-active full-overlay-active")});f.preventDefault()})});var ThemeViewer;(function(a){ThemeViewer=function(b){function d(){a("#filter-click, #mini-filter-click").unbind("click").click(function(){a("#filter-click").toggleClass("current");a("#filter-box").slideToggle();a("#current-theme").slideToggle(300);return false});a("#filter-box :checkbox").unbind("click").click(function(){var e=a("#filter-box :checked").length,f=a("#filter-click").text();if(f.indexOf("(")!=-1){f=f.substr(0,f.indexOf("("))}if(e==0){a("#filter-click").text(f)}else{a("#filter-click").text(f+" ("+e+")")}})}var c={init:d};return c}})(jQuery);jQuery(document).ready(function(a){theme_viewer=new ThemeViewer();theme_viewer.init()});var ThemeScroller;(function(a){ThemeScroller={querying:false,scrollPollingDelay:500,failedRetryDelay:4000,outListBottomThreshold:300,init:function(){var b=this;if(typeof ajaxurl==="undefined"||typeof list_args==="undefined"||typeof theme_list_args==="undefined"){a(".pagination-links").show();return}this.nonce=a("#_ajax_fetch_list_nonce").val();this.nextPage=(theme_list_args.paged+1);this.$outList=a("#availablethemes");this.$spinner=a("div.tablenav.bottom").children(".spinner");this.$window=a(window);this.$document=a(document);if(theme_list_args.total_pages>=this.nextPage){this.pollInterval=setInterval(function(){return b.poll()},this.scrollPollingDelay)}},poll:function(){var b=this.$document.scrollTop()+this.$window.innerHeight();if(this.querying||(b<this.$outList.height()-this.outListBottomThreshold)){return}this.ajax()},process:function(b){if(b===undefined){clearInterval(this.pollInterval);return}if(this.nextPage>theme_list_args.total_pages){clearInterval(this.pollInterval)}if(this.nextPage<=(theme_list_args.total_pages+1)){this.$outList.append(b.rows)}},ajax:function(){var b=this;this.querying=true;var c={action:"fetch-list",paged:this.nextPage,s:theme_list_args.search,tab:theme_list_args.tab,type:theme_list_args.type,_ajax_fetch_list_nonce:this.nonce,"features[]":theme_list_args.features,list_args:list_args};this.$spinner.show();a.getJSON(ajaxurl,c).done(function(d){b.nextPage++;b.process(d);b.$spinner.hide();b.querying=false}).fail(function(){b.$spinner.hide();b.querying=false;setTimeout(function(){b.ajax()},b.failedRetryDelay)})}};a(document).ready(function(b){ThemeScroller.init()})})(jQuery);
\ No newline at end of file
+jQuery(function(a){a("#availablethemes").on("click",".theme-detail",function(b){var c=a(this).closest(".available-theme"),d=c.find(".themedetaildiv");d.length||(d=c.find(".install-theme-info .theme-details"),d=d.clone().addClass("themedetaildiv").appendTo(c).hide()),d.toggle(),b.preventDefault()})});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("body.admin-bar").length&&(f=28),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()})}),jQuery(function(a){if(window.postMessage){var b=a("#theme-installer"),c=b.find(".install-theme-info"),d=b.find(".wp-full-overlay-main"),e=a(document.body);b.on("click",".close-full-overlay",function(a){b.fadeOut(200,function(){d.empty(),e.removeClass("theme-installer-active full-overlay-active")}),a.preventDefault()}),b.on("click",".collapse-sidebar",function(a){b.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault()}),a("#availablethemes").on("click",".install-theme-preview",function(f){var g;c.html(a(this).closest(".installable-theme").find(".install-theme-info").html()),g=c.find(".theme-preview-url").val(),d.html('<iframe src="'+g+'" />'),b.fadeIn(200,function(){e.addClass("theme-installer-active full-overlay-active")}),f.preventDefault()})}});var ThemeViewer;!function(a){ThemeViewer=function(){function b(){a("#filter-click, #mini-filter-click").unbind("click").click(function(){return a("#filter-click").toggleClass("current"),a("#filter-box").slideToggle(),a("#current-theme").slideToggle(300),!1}),a("#filter-box :checkbox").unbind("click").click(function(){var b=a("#filter-box :checked").length,c=a("#filter-click").text();-1!=c.indexOf("(")&&(c=c.substr(0,c.indexOf("("))),0==b?a("#filter-click").text(c):a("#filter-click").text(c+" ("+b+")")})}var c={init:b};return c}}(jQuery),jQuery(document).ready(function(){theme_viewer=new ThemeViewer,theme_viewer.init()});var ThemeScroller;!function(a){ThemeScroller={querying:!1,scrollPollingDelay:500,failedRetryDelay:4e3,outListBottomThreshold:300,init:function(){var b=this;return"undefined"==typeof ajaxurl||"undefined"==typeof list_args||"undefined"==typeof theme_list_args?(a(".pagination-links").show(),void 0):(this.nonce=a("#_ajax_fetch_list_nonce").val(),this.nextPage=theme_list_args.paged+1,this.$outList=a("#availablethemes"),this.$spinner=a("div.tablenav.bottom").children(".spinner"),this.$window=a(window),this.$document=a(document),theme_list_args.total_pages>=this.nextPage&&(this.pollInterval=setInterval(function(){return b.poll()},this.scrollPollingDelay)),void 0)},poll:function(){var a=this.$document.scrollTop()+this.$window.innerHeight();this.querying||a<this.$outList.height()-this.outListBottomThreshold||this.ajax()},process:function(a){return void 0===a?(clearInterval(this.pollInterval),void 0):(this.nextPage>theme_list_args.total_pages&&clearInterval(this.pollInterval),this.nextPage<=theme_list_args.total_pages+1&&this.$outList.append(a.rows),void 0)},ajax:function(){var b=this;this.querying=!0;var c={action:"fetch-list",paged:this.nextPage,s:theme_list_args.search,tab:theme_list_args.tab,type:theme_list_args.type,_ajax_fetch_list_nonce:this.nonce,"features[]":theme_list_args.features,list_args:list_args};this.$spinner.show(),a.getJSON(ajaxurl,c).done(function(a){b.nextPage++,b.process(a),b.$spinner.hide(),b.querying=!1}).fail(function(){b.$spinner.hide(),b.querying=!1,setTimeout(function(){b.ajax()},b.failedRetryDelay)})}},a(document).ready(function(){ThemeScroller.init()})}(jQuery);
\ No newline at end of file
index bd4885525015a85ce259dd1215de50a3527b4270..d11de9f6777ae01f463edd746d4e517913c883a7 100644 (file)
@@ -9,7 +9,7 @@
                        return;
                }
 
                        return;
                }
 
-               strength = passwordStrength(pass1, user, pass2);
+               strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass2 );
 
                switch ( strength ) {
                        case 2:
 
                switch ( strength ) {
                        case 2:
index 9ae96482d25175133acf372abe72712a3f8fabd3..ec152394329367fc1ede1bbe23b200f5ac2e25d5 100644 (file)
@@ -1 +1 @@
-(function(a){function b(){var e=a("#pass1").val(),d=a("#user_login").val(),c=a("#pass2").val(),f;a("#pass-strength-result").removeClass("short bad good strong");if(!e){a("#pass-strength-result").html(pwsL10n.empty);return}f=passwordStrength(e,d,c);switch(f){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c=a("#display_name");a("#pass1").val("").keyup(b);a("#pass2").val("").keyup(b);a("#pass-strength-result").show();a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",true)});if(c.length){a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var e=[],d={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};if(d.display_firstname&&d.display_lastname){d.display_firstlast=d.display_firstname+" "+d.display_lastname;d.display_lastfirst=d.display_lastname+" "+d.display_firstname}a.each(a("option",c),function(f,g){e.push(g.value)});a.each(d,function(h,f){if(!f){return}var g=f.replace(/<\/?[a-z][^>]*>/gi,"");if(d[h].length&&a.inArray(g,e)==-1){e.push(g);a("<option />",{text:g}).appendTo(c)}})})}})})(jQuery);
\ No newline at end of file
+!function(a){function b(){var b,c=a("#pass1").val(),d=(a("#user_login").val(),a("#pass2").val());if(a("#pass-strength-result").removeClass("short bad good strong"),!c)return a("#pass-strength-result").html(pwsL10n.empty),void 0;switch(b=wp.passwordStrength.meter(c,wp.passwordStrength.userInputBlacklist(),d)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c=a("#display_name");a("#pass1").val("").keyup(b),a("#pass2").val("").keyup(b),a("#pass-strength-result").show(),a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",!0)}),c.length&&a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var b=[],d={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};d.display_firstname&&d.display_lastname&&(d.display_firstlast=d.display_firstname+" "+d.display_lastname,d.display_lastfirst=d.display_lastname+" "+d.display_firstname),a.each(a("option",c),function(a,c){b.push(c.value)}),a.each(d,function(e,f){if(f){var g=f.replace(/<\/?[a-z][^>]*>/gi,"");d[e].length&&-1==a.inArray(g,b)&&(b.push(g),a("<option />",{text:g}).appendTo(c))}})})})}(jQuery);
\ No newline at end of file
index 5f17b528d1b94f28fceed34cc723693ee3f65888..deb4c8910cf0961825e5d429800d4dfcfefe12a8 100644 (file)
@@ -1 +1 @@
-(function(a){var b="undefined"!==typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){a(".wp-suggest-user").autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type=add"+b,delay:500,minLength:2,position:("undefined"!==typeof isRtl&&isRtl)?{my:"right top",at:"right bottom",offset:"0, -1"}:{offset:"0, -1"},open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})})(jQuery);
\ No newline at end of file
+!function(a){var b="undefined"!=typeof current_site_id?"&site_id="+current_site_id:"";a(document).ready(function(){a(".wp-suggest-user").autocomplete({source:ajaxurl+"?action=autocomplete-user&autocomplete_type=add"+b,delay:500,minLength:2,position:"undefined"!=typeof isRtl&&isRtl?{my:"right top",at:"right bottom",offset:"0, -1"}:{offset:"0, -1"},open:function(){a(this).addClass("open")},close:function(){a(this).removeClass("open")}})})}(jQuery);
\ No newline at end of file
index fd1efba3e23bf6a89ea978fad9cf2028a4fc47ae..1ba2c9a2c0beaafe5d1d2a8843a379edc65f1246 100644 (file)
@@ -1 +1 @@
-var wpWidgets;(function(a){wpWidgets={init:function(){var f,d=a("div.widgets-sortables"),c=!!("undefined"!=typeof isRtl&&isRtl),e=(isRtl?"marginRight":"marginLeft"),b;a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var h=a(this).siblings(".widgets-sortables"),g=a(this).parent();if(!g.hasClass("closed")){h.sortable("disable");g.addClass("closed")}else{g.removeClass("closed");h.sortable("enable").sortable("refresh")}});a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).parent().toggleClass("closed")});d.each(function(){if(a(this).parent().hasClass("inactive")){return true}var i=50,g=a(this).children(".widget").length;i=i+parseInt(g*48,10);a(this).css("minHeight",i+"px")});a(document.body).bind("click.widgets-toggle",function(l){var k=a(l.target),i={},j,g,h;if(k.parents(".widget-top").length&&!k.parents("#available-widgets").length){j=k.closest("div.widget");g=j.children(".widget-inside");h=parseInt(j.find("input.widget-width").val(),10);if(g.is(":hidden")){if(h>250&&g.closest("div.widgets-sortables").length){i.width=h+30+"px";if(g.closest("div.widget-liquid-right").length){i[e]=235-h+"px"}j.css(i)}wpWidgets.fixLabels(j);g.slideDown("fast")}else{g.slideUp("fast",function(){j.css({width:"",margin:""})})}l.preventDefault()}else{if(k.hasClass("widget-control-save")){wpWidgets.save(k.closest("div.widget"),0,1,0);l.preventDefault()}else{if(k.hasClass("widget-control-remove")){wpWidgets.save(k.closest("div.widget"),1,1,0);l.preventDefault()}else{if(k.hasClass("widget-control-close")){wpWidgets.close(k.closest("div.widget"));l.preventDefault()}}}}});d.children(".widget").each(function(){wpWidgets.appendTitle(this);if(a("p.widget-error",this).length){a("a.widget-action",this).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(h,g){g.helper.find("div.widget-description").hide();b=this.id},stop:function(h,g){if(f){a(f).hide()}f=""}});d.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(h,g){g.item.children(".widget-inside").hide();g.item.css({margin:"",width:""})},stop:function(i,g){if(g.item.hasClass("ui-draggable")&&g.item.data("draggable")){g.item.draggable("destroy")}if(g.item.hasClass("deleting")){wpWidgets.save(g.item,1,0,1);g.item.remove();return}var h=g.item.find("input.add_new").val(),l=g.item.find("input.multi_number").val(),k=b,j=a(this).attr("id");g.item.css({margin:"",width:""});b="";if(h){if("multi"==h){g.item.html(g.item.html().replace(/<[^<>]+>/g,function(n){return n.replace(/__i__|%i%/g,l)}));g.item.attr("id",k.replace("__i__",l));l++;a("div#"+k).find("input.multi_number").val(l)}else{if("single"==h){g.item.attr("id","new-"+k);f="div#"+k}}wpWidgets.save(g.item,0,0,1);g.item.find("input.add_new").val("");g.item.find("a.widget-action").click();return}wpWidgets.saveOrder(j)},receive:function(i,h){var g=a(h.sender);if(!a(this).is(":visible")||this.id.indexOf("orphaned_widgets")!=-1){g.sortable("cancel")}if(g.attr("id").indexOf("orphaned_widgets")!=-1&&!g.children(".widget").length){g.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()})}}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable");a("#available-widgets").droppable({tolerance:"pointer",accept:function(g){return a(g).parent().attr("id")!="widget-list"},drop:function(h,g){g.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(h,g){g.draggable.addClass("deleting");a("div.widget-placeholder").hide();if(g.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(g.draggable.find("div.widget-title").children("h4").html())}},out:function(h,g){g.draggable.removeClass("deleting");a("div.widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}})},saveOrder:function(c){if(c){a("#"+c).closest("div.widgets-holder-wrap").find(".spinner").css("display","inline-block")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){if(a(this).sortable){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")}});a.post(ajaxurl,b,function(){a(".spinner").hide()});this.resize()},save:function(g,d,e,b){var h=g.closest("div.widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);a(".spinner",g).show();c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a("input.widget_number",g).val()){j=a("input.widget-id",g).val();a("#available-widgets").find("input.widget-id").each(function(){if(a(this).val()==j){a(this).closest("div.widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".spinner").hide();if(i&&i.length>2){a("div.widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";if(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)},resize:function(){a("div.widgets-sortables").each(function(){if(a(this).parent().hasClass("inactive")){return true}var c=50,b=a(this).children(".widget").length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.children(".widget-inside").slideUp("fast",function(){b.css({width:"",margin:""})})}};a(document).ready(function(b){wpWidgets.init()})})(jQuery);
\ No newline at end of file
+var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=a("div.widgets-sortables"),e=isRtl?"marginRight":"marginLeft";a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var b=a(this).siblings(".widgets-sortables"),c=a(this).parent();c.hasClass("closed")?(c.removeClass("closed"),b.sortable("enable").sortable("refresh")):(b.sortable("disable"),c.addClass("closed"))}),a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).parent().toggleClass("closed")}),d.each(function(){if(a(this).parent().hasClass("inactive"))return!0;var b=50,c=a(this).children(".widget").length;b+=parseInt(48*c,10),a(this).css("minHeight",b+"px")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,f,g=a(b.target),h={};g.parents(".widget-top").length&&!g.parents("#available-widgets").length?(c=g.closest("div.widget"),d=c.children(".widget-inside"),f=parseInt(c.find("input.widget-width").val(),10),d.is(":hidden")?(f>250&&d.closest("div.widgets-sortables").length&&(h.width=f+30+"px",d.closest("div.widget-liquid-right").length&&(h[e]=235-f+"px"),c.css(h)),wpWidgets.fixLabels(c),d.slideDown("fast")):d.slideUp("fast",function(){c.css({width:"",margin:""})}),b.preventDefault()):g.hasClass("widget-control-save")?(wpWidgets.save(g.closest("div.widget"),0,1,0),b.preventDefault()):g.hasClass("widget-control-remove")?(wpWidgets.save(g.closest("div.widget"),1,1,0),b.preventDefault()):g.hasClass("widget-control-close")&&(wpWidgets.close(g.closest("div.widget")),b.preventDefault())}),d.children(".widget").each(function(){wpWidgets.appendTitle(this),a("p.widget-error",this).length&&a("a.widget-action",this).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(a,b){b.helper.find("div.widget-description").hide(),c=this.id},stop:function(){b&&a(b).hide(),b=""}}),d.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(a,b){b.item.children(".widget-inside").hide(),b.item.css({margin:"",width:""})},stop:function(d,e){if(e.item.hasClass("ui-draggable")&&e.item.data("draggable")&&e.item.draggable("destroy"),e.item.hasClass("deleting"))return wpWidgets.save(e.item,1,0,1),e.item.remove(),void 0;var f=e.item.find("input.add_new").val(),g=e.item.find("input.multi_number").val(),h=c,i=a(this).attr("id");return e.item.css({margin:"",width:""}),c="",f?("multi"==f?(e.item.html(e.item.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),e.item.attr("id",h.replace("__i__",g)),g++,a("div#"+h).find("input.multi_number").val(g)):"single"==f&&(e.item.attr("id","new-"+h),b="div#"+h),wpWidgets.save(e.item,0,0,1),e.item.find("input.add_new").val(""),e.item.find("a.widget-action").click(),void 0):(wpWidgets.saveOrder(i),void 0)},receive:function(b,c){var d=a(c.sender);a(this).is(":visible")&&-1==this.id.indexOf("orphaned_widgets")||d.sortable("cancel"),-1==d.attr("id").indexOf("orphaned_widgets")||d.children(".widget").length||d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()})}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable"),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("")}})},saveOrder:function(b){b&&a("#"+b).closest("div.widgets-holder-wrap").find(".spinner").css("display","inline-block");var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};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()}),this.resize()},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(),wpWidgets.resize())):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b),wpWidgets.fixLabels(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)},resize:function(){a("div.widgets-sortables").each(function(){if(a(this).parent().hasClass("inactive"))return!0;var b=50,c=a(this).children(".widget").length;b+=parseInt(48*c,10),a(this).css("minHeight",b+"px")})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var b=a(this).attr("for");b&&b==a("input",this).attr("id")&&a(this).removeAttr("for")})},close:function(a){a.children(".widget-inside").slideUp("fast",function(){a.css({width:"",margin:""})})}},a(document).ready(function(){wpWidgets.init()})}(jQuery);
\ No newline at end of file
index ad5db1bf8169f99966c968432694f59e8aa0c3c5..525c3706cab6c67d3e1a1019579c31e4f28ff777 100644 (file)
@@ -1 +1 @@
-(function(a,b){wpWordCount={settings:{strip:/<[a-zA-Z\/][^<>]*>/g,clean:/[0-9.(),;:!?%#$¿'"_+=\\/-]+/g,w:/\S\s+/g,c:/\S/g},block:0,wc:function(e,g){var f=this,d=a(".word-count"),c=0;if(g===b){g=wordCountL10n.type}if(g!=="w"&&g!=="c"){g="w"}if(f.block){return}f.block=1;setTimeout(function(){if(e){e=e.replace(f.settings.strip," ").replace(/&nbsp;|&#160;/gi," ");e=e.replace(f.settings.clean,"");e.replace(f.settings[g],function(){c++})}d.html(c.toString());setTimeout(function(){f.block=0},2000)},1)}};a(document).bind("wpcountwords",function(d,c){wpWordCount.wc(c)})}(jQuery));
\ No newline at end of file
+!function(a,b){wpWordCount={settings:{strip:/<[a-zA-Z\/][^<>]*>/g,clean:/[0-9.(),;:!?%#$¿'"_+=\\/-]+/g,w:/\S\s+/g,c:/\S/g},block:0,wc:function(c,d){var e=this,f=a(".word-count"),g=0;d===b&&(d=wordCountL10n.type),"w"!==d&&"c"!==d&&(d="w"),e.block||(e.block=1,setTimeout(function(){c&&(c=c.replace(e.settings.strip," ").replace(/&nbsp;|&#160;/gi," "),c=c.replace(e.settings.clean,""),c.replace(e.settings[d],function(){g++})),f.html(g.toString()),setTimeout(function(){e.block=0},2e3)},1))}},a(document).bind("wpcountwords",function(a,b){wpWordCount.wc(b)})}(jQuery);
\ No newline at end of file
index c1a317f33290bee342240f38ac875a37fa79afb7..072ce040b3528e0ce834666f39131066336b53b6 100644 (file)
@@ -1 +1 @@
-var PubSub,fullscreen,wptitlehint;PubSub=function(){this.topics={}};PubSub.prototype.subscribe=function(a,b){if(!this.topics[a]){this.topics[a]=[]}this.topics[a].push(b);return b};PubSub.prototype.unsubscribe=function(b,e){var c,a,d=this.topics[b];if(!d){return e||[]}if(e){for(c=0,a=d.length;c<a;c++){if(e==d[c]){d.splice(c,1)}}return e}else{this.topics[b]=[];return d}};PubSub.prototype.publish=function(c,b){var d,a,e,f=this.topics[c];if(!f){return}b=b||[];for(d=0,a=f.length;d<a;d++){e=(f[d].apply(null,b)===false||e)}return !e};(function(c){var b,e,d,a;fullscreen=b={};e=b.pubsub=new PubSub();timer=0;block=false;a=b.settings={visible:false,mode:"tinymce",editor_id:"content",title_id:"",timer:0,toolbar_shown:false};d=b.bounder=function(l,h,g,j){var k,i;g=g||1250;if(j){k=j.pageY||j.clientY||j.offsetY;i=c(document).scrollTop();if(!j.isDefaultPrevented){k=135+k}if(k-i>120){return}}if(block){return}block=true;setTimeout(function(){block=false},400);if(a.timer){clearTimeout(a.timer)}else{e.publish(l)}function f(){e.publish(h);a.timer=0}a.timer=setTimeout(f,g)};b.on=function(){if(a.visible){return}if(typeof(wp_fullscreen_settings)=="object"){c.extend(a,wp_fullscreen_settings)}a.editor_id=wpActiveEditor||"content";if(c("input#title").length&&a.editor_id=="content"){a.title_id="title"}else{if(c("input#"+a.editor_id+"-title").length){a.title_id=a.editor_id+"-title"}else{c("#wp-fullscreen-title, #wp-fullscreen-title-prompt-text").hide()}}a.mode=c("#"+a.editor_id).is(":hidden")?"tinymce":"html";a.qt_canvas=c("#"+a.editor_id).get(0);if(!a.element){b.ui.init()}a.is_mce_on=a.has_tinymce&&typeof(tinyMCE.get(a.editor_id))!="undefined";b.ui.fade("show","showing","shown")};b.off=function(){if(!a.visible){return}b.ui.fade("hide","hiding","hidden")};b.switchmode=function(g){var f=a.mode;if(!g||!a.visible||!a.has_tinymce){return f}if(f==g){return f}e.publish("switchMode",[f,g]);a.mode=g;e.publish("switchedMode",[f,g]);return g};b.save=function(){var h=c("#hiddenaction"),f=h.val(),i=c("#wp-fullscreen-save .spinner"),g=c("#wp-fullscreen-save span");i.show();b.savecontent();h.val("wp-fullscreen-save-post");c.post(ajaxurl,c("form#post").serialize(),function(j){i.hide();g.show();setTimeout(function(){g.fadeOut(1000)},3000);if(j.last_edited){c("#wp-fullscreen-save input").attr("title",j.last_edited)}},"json");h.val(f)};b.savecontent=function(){var f,g;if(a.title_id){c("#"+a.title_id).val(c("#wp-fullscreen-title").val())}if(a.mode==="tinymce"&&(f=tinyMCE.get("wp_mce_fullscreen"))){g=f.save()}else{g=c("#wp_mce_fullscreen").val()}c("#"+a.editor_id).val(g);c(document).triggerHandler("wpcountwords",[g])};set_title_hint=function(f){if(!f.val().length){f.siblings("label").css("visibility","")}else{f.siblings("label").css("visibility","hidden")}};b.dfw_width=function(h){var g=c("#wp-fullscreen-wrap"),f=g.width();if(!h){g.width(c("#wp-fullscreen-central-toolbar").width());deleteUserSetting("dfw_width");return}f=h+f;if(f<200||f>1200){return}g.width(f);setUserSetting("dfw_width",f)};e.subscribe("showToolbar",function(){a.toolbars.removeClass("fade-1000").addClass("fade-300");b.fade.In(a.toolbars,300,function(){e.publish("toolbarShown")},true);c("#wp-fullscreen-body").addClass("wp-fullscreen-focus");a.toolbar_shown=true});e.subscribe("hideToolbar",function(){a.toolbars.removeClass("fade-300").addClass("fade-1000");b.fade.Out(a.toolbars,1000,function(){e.publish("toolbarHidden")},true);c("#wp-fullscreen-body").removeClass("wp-fullscreen-focus")});e.subscribe("toolbarShown",function(){a.toolbars.removeClass("fade-300")});e.subscribe("toolbarHidden",function(){a.toolbars.removeClass("fade-1000");a.toolbar_shown=false});e.subscribe("show",function(){var f;if(a.title_id){f=c("#wp-fullscreen-title").val(c("#"+a.title_id).val());set_title_hint(f)}c("#wp-fullscreen-save input").attr("title",c("#last-edit").text());a.textarea_obj.value=a.qt_canvas.value;if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenInit")}a.orig_y=c(window).scrollTop()});e.subscribe("showing",function(){c(document.body).addClass("fullscreen-active");b.refresh_buttons();c(document).bind("mousemove.fullscreen",function(f){d("showToolbar","hideToolbar",2000,f)});d("showToolbar","hideToolbar",2000);b.bind_resize();setTimeout(b.resize_textarea,200);scrollTo(0,0);c("#wpadminbar").hide()});e.subscribe("shown",function(){var f;a.visible=true;if(a.has_tinymce&&!a.is_mce_on){f=function(g,h){var k=h.getElement(),i=k.value,j=tinyMCEPreInit.mceInit[a.editor_id];if(j&&j.wpautop&&typeof(switchEditors)!="undefined"){k.value=switchEditors.wpautop(k.value)}h.onInit.add(function(l){l.hide();l.getElement().value=i;tinymce.onAddEditor.remove(f)})};tinymce.onAddEditor.add(f);tinyMCE.init(tinyMCEPreInit.mceInit[a.editor_id]);a.is_mce_on=true}wpActiveEditor="wp_mce_fullscreen"});e.subscribe("hide",function(){var f=c("#"+a.editor_id).is(":hidden");if(a.has_tinymce&&a.mode==="tinymce"&&!f){switchEditors.go(a.editor_id,"tmce")}else{if(a.mode==="html"&&f){switchEditors.go(a.editor_id,"html")}}b.savecontent();c(document).unbind(".fullscreen");c(a.textarea_obj).unbind(".grow");if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenSave")}if(a.title_id){set_title_hint(c("#"+a.title_id))}a.qt_canvas.value=a.textarea_obj.value});e.subscribe("hiding",function(){c(document.body).removeClass("fullscreen-active");scrollTo(0,a.orig_y);c("#wpadminbar").show()});e.subscribe("hidden",function(){a.visible=false;c("#wp_mce_fullscreen, #wp-fullscreen-title").removeAttr("style");if(a.has_tinymce&&a.is_mce_on){tinyMCE.execCommand("wpFullScreenClose")}a.textarea_obj.value="";b.oldheight=0;wpActiveEditor=a.editor_id});e.subscribe("switchMode",function(h,g){var f;if(!a.has_tinymce||!a.is_mce_on){return}f=tinyMCE.get("wp_mce_fullscreen");if(h==="html"&&g==="tinymce"){if(tinyMCE.get(a.editor_id).getParam("wpautop")&&typeof(switchEditors)!="undefined"){a.textarea_obj.value=switchEditors.wpautop(a.textarea_obj.value)}if("undefined"==typeof(f)){tinyMCE.execCommand("wpFullScreenInit")}else{f.show()}}else{if(h==="tinymce"&&g==="html"){if(f){f.hide()}}}});e.subscribe("switchedMode",function(g,f){b.refresh_buttons(true);if(f==="html"){setTimeout(b.resize_textarea,200)}});b.b=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Bold")}};b.i=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Italic")}};b.ul=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertUnorderedList")}};b.ol=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertOrderedList")}};b.link=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Link")}else{wpLink.open()}};b.unlink=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("unlink")}};b.atd=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceWritingImprovementTool")}};b.help=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Help")}};b.blockquote=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceBlockQuote")}};b.medialib=function(){if(typeof wp!=="undefined"&&wp.media&&wp.media.editor){wp.media.editor.open(a.editor_id)}};b.refresh_buttons=function(f){f=f||false;if(a.mode==="html"){c("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).addClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").addClass("wp-html-mode")}}else{if(a.mode==="tinymce"){c("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).removeClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").removeClass("wp-html-mode")}}}};b.ui={init:function(){var f=c("#fullscreen-topbar"),h=c("#wp_mce_fullscreen"),g=0;a.toolbars=f.add(c("#wp-fullscreen-status"));a.element=c("#fullscreen-fader");a.textarea_obj=h[0];a.has_tinymce=typeof(tinymce)!="undefined";if(!a.has_tinymce){c("#wp-fullscreen-mode-bar").hide()}if(wptitlehint&&c("#wp-fullscreen-title").length){wptitlehint("wp-fullscreen-title")}c(document).keyup(function(k){var l=k.keyCode||k.charCode,i,j;if(!fullscreen.settings.visible){return true}if(navigator.platform&&navigator.platform.indexOf("Mac")!=-1){i=k.ctrlKey}else{i=k.altKey}if(27==l){j={event:k,what:"dfw",cb:fullscreen.off,condition:function(){if(c("#TB_window").is(":visible")||c(".wp-dialog").is(":visible")){return false}return true}};if(!jQuery(document).triggerHandler("wp_CloseOnEscape",[j])){fullscreen.off()}}if(i&&(61==l||107==l||187==l)){b.dfw_width(25)}if(i&&(45==l||109==l||189==l)){b.dfw_width(-25)}if(i&&48==l){b.dfw_width(0)}return false});if(typeof(wpWordCount)!="undefined"){h.keyup(function(j){var i=j.keyCode||j.charCode;if(i==g){return true}if(13==i||8==g||46==g){c(document).triggerHandler("wpcountwords",[h.val()])}g=i;return true})}f.mouseenter(function(i){a.toolbars.addClass("fullscreen-make-sticky");c(document).unbind(".fullscreen");clearTimeout(a.timer);a.timer=0}).mouseleave(function(i){a.toolbars.removeClass("fullscreen-make-sticky");if(a.visible){c(document).bind("mousemove.fullscreen",function(j){d("showToolbar","hideToolbar",2000,j)})}})},fade:function(g,f,h){if(!a.element){b.ui.init()}if(g&&!e.publish(g)){return}b.fade.In(a.element,600,function(){if(f){e.publish(f)}b.fade.Out(a.element,600,function(){if(h){e.publish(h)}})})}};b.fade={transitionend:"transitionend webkitTransitionEnd oTransitionEnd",sensitivity:100,In:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(b.fade.transitions){if(g.is(":visible")){g.addClass("fade-trigger");return g}g.show();g.first().one(this.transitionend,function(){i()});setTimeout(function(){g.addClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.css("opacity",1);g.first().fadeIn(h,i);if(g.length>1){g.not(":first").fadeIn(h)}}return g},Out:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(!g.is(":visible")){return g}if(b.fade.transitions){g.first().one(b.fade.transitionend,function(){if(g.hasClass("fade-trigger")){return}g.hide();i()});setTimeout(function(){g.removeClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.first().fadeOut(h,i);if(g.length>1){g.not(":first").fadeOut(h)}}return g},transitions:(function(){var f=document.documentElement.style;return(typeof(f.WebkitTransition)=="string"||typeof(f.MozTransition)=="string"||typeof(f.OTransition)=="string"||typeof(f.transition)=="string")})()};b.bind_resize=function(){c(a.textarea_obj).bind("keypress.grow click.grow paste.grow",function(){setTimeout(b.resize_textarea,200)})};b.oldheight=0;b.resize_textarea=function(){var f=a.textarea_obj,g;g=f.scrollHeight>300?f.scrollHeight:300;if(g!=b.oldheight){f.style.height=g+"px";b.oldheight=g}}})(jQuery);
\ No newline at end of file
+var PubSub,fullscreen,wptitlehint;PubSub=function(){this.topics={}},PubSub.prototype.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},PubSub.prototype.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},PubSub.prototype.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}},function(a){var b,c,d,e;fullscreen=b={},c=b.pubsub=new PubSub,timer=0,block=!1,e=b.settings={visible:!1,mode:"tinymce",editor_id:"content",title_id:"",timer:0,toolbar_shown:!1},d=b.bounder=function(b,d,f,g){function h(){c.publish(d),e.timer=0}var i,j;f=f||1250,g&&(i=g.pageY||g.clientY||g.offsetY,j=a(document).scrollTop(),g.isDefaultPrevented||(i=135+i),i-j>120)||block||(block=!0,setTimeout(function(){block=!1},400),e.timer?clearTimeout(e.timer):c.publish(b),e.timer=setTimeout(h,f))},b.on=function(){e.visible||("object"==typeof wp_fullscreen_settings&&a.extend(e,wp_fullscreen_settings),e.editor_id=wpActiveEditor||"content",a("input#title").length&&"content"==e.editor_id?e.title_id="title":a("input#"+e.editor_id+"-title").length?e.title_id=e.editor_id+"-title":a("#wp-fullscreen-title, #wp-fullscreen-title-prompt-text").hide(),e.mode=a("#"+e.editor_id).is(":hidden")?"tinymce":"html",e.qt_canvas=a("#"+e.editor_id).get(0),e.element||b.ui.init(),e.is_mce_on=e.has_tinymce&&"undefined"!=typeof tinyMCE.get(e.editor_id),b.ui.fade("show","showing","shown"))},b.off=function(){e.visible&&b.ui.fade("hide","hiding","hidden")},b.switchmode=function(a){var b=e.mode;return a&&e.visible&&e.has_tinymce?b==a?b:(c.publish("switchMode",[b,a]),e.mode=a,c.publish("switchedMode",[b,a]),a):b},b.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save span");e.show(),b.savecontent(),c.val("wp-fullscreen-save-post"),a.post(ajaxurl,a("form#post").serialize(),function(b){e.hide(),f.show(),setTimeout(function(){f.fadeOut(1e3)},3e3),b.last_edited&&a("#wp-fullscreen-save input").attr("title",b.last_edited)},"json"),c.val(d)},b.savecontent=function(){var b,c;e.title_id&&a("#"+e.title_id).val(a("#wp-fullscreen-title").val()),c="tinymce"===e.mode&&(b=tinyMCE.get("wp_mce_fullscreen"))?b.save():a("#wp_mce_fullscreen").val(),a("#"+e.editor_id).val(c),a(document).triggerHandler("wpcountwords",[c])},set_title_hint=function(a){a.val().length?a.siblings("label").css("visibility","hidden"):a.siblings("label").css("visibility","")},b.dfw_width=function(b){var c=a("#wp-fullscreen-wrap"),d=c.width();return b?(d=b+d,200>d||d>1200||(c.width(d),setUserSetting("dfw_width",d)),void 0):(c.width(a("#wp-fullscreen-central-toolbar").width()),deleteUserSetting("dfw_width"),void 0)},c.subscribe("showToolbar",function(){e.toolbars.removeClass("fade-1000").addClass("fade-300"),b.fade.In(e.toolbars,300,function(){c.publish("toolbarShown")},!0),a("#wp-fullscreen-body").addClass("wp-fullscreen-focus"),e.toolbar_shown=!0}),c.subscribe("hideToolbar",function(){e.toolbars.removeClass("fade-300").addClass("fade-1000"),b.fade.Out(e.toolbars,1e3,function(){c.publish("toolbarHidden")},!0),a("#wp-fullscreen-body").removeClass("wp-fullscreen-focus")}),c.subscribe("toolbarShown",function(){e.toolbars.removeClass("fade-300")}),c.subscribe("toolbarHidden",function(){e.toolbars.removeClass("fade-1000"),e.toolbar_shown=!1}),c.subscribe("show",function(){var b;e.title_id&&(b=a("#wp-fullscreen-title").val(a("#"+e.title_id).val()),set_title_hint(b)),a("#wp-fullscreen-save input").attr("title",a("#last-edit").text()),e.textarea_obj.value=e.qt_canvas.value,e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("wpFullScreenInit"),e.orig_y=a(window).scrollTop()}),c.subscribe("showing",function(){a(document.body).addClass("fullscreen-active"),b.refresh_buttons(),a(document).bind("mousemove.fullscreen",function(a){d("showToolbar","hideToolbar",2e3,a)}),d("showToolbar","hideToolbar",2e3),b.bind_resize(),setTimeout(b.resize_textarea,200),scrollTo(0,0),a("#wpadminbar").hide()}),c.subscribe("shown",function(){var a;e.visible=!0,e.has_tinymce&&!e.is_mce_on&&(a=function(b,c){var d=c.getElement(),f=d.value,g=tinyMCEPreInit.mceInit[e.editor_id];g&&g.wpautop&&"undefined"!=typeof switchEditors&&(d.value=switchEditors.wpautop(d.value)),c.onInit.add(function(b){b.hide(),b.getElement().value=f,tinymce.onAddEditor.remove(a)})},tinymce.onAddEditor.add(a),tinyMCE.init(tinyMCEPreInit.mceInit[e.editor_id]),e.is_mce_on=!0),wpActiveEditor="wp_mce_fullscreen"}),c.subscribe("hide",function(){var c=a("#"+e.editor_id).is(":hidden");e.has_tinymce&&"tinymce"===e.mode&&!c?switchEditors.go(e.editor_id,"tmce"):"html"===e.mode&&c&&switchEditors.go(e.editor_id,"html"),b.savecontent(),a(document).unbind(".fullscreen"),a(e.textarea_obj).unbind(".grow"),e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("wpFullScreenSave"),e.title_id&&set_title_hint(a("#"+e.title_id)),e.qt_canvas.value=e.textarea_obj.value}),c.subscribe("hiding",function(){a(document.body).removeClass("fullscreen-active"),scrollTo(0,e.orig_y),a("#wpadminbar").show()}),c.subscribe("hidden",function(){e.visible=!1,a("#wp_mce_fullscreen, #wp-fullscreen-title").removeAttr("style"),e.has_tinymce&&e.is_mce_on&&tinyMCE.execCommand("wpFullScreenClose"),e.textarea_obj.value="",b.oldheight=0,wpActiveEditor=e.editor_id}),c.subscribe("switchMode",function(a,b){var c;e.has_tinymce&&e.is_mce_on&&(c=tinyMCE.get("wp_mce_fullscreen"),"html"===a&&"tinymce"===b?(tinyMCE.get(e.editor_id).getParam("wpautop")&&"undefined"!=typeof switchEditors&&(e.textarea_obj.value=switchEditors.wpautop(e.textarea_obj.value)),"undefined"==typeof c?tinyMCE.execCommand("wpFullScreenInit"):c.show()):"tinymce"===a&&"html"===b&&c&&c.hide())}),c.subscribe("switchedMode",function(a,c){b.refresh_buttons(!0),"html"===c&&setTimeout(b.resize_textarea,200)}),b.b=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("Bold")},b.i=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("Italic")},b.ul=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("InsertUnorderedList")},b.ol=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("InsertOrderedList")},b.link=function(){e.has_tinymce&&"tinymce"===e.mode?tinyMCE.execCommand("WP_Link"):wpLink.open()},b.unlink=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("unlink")},b.atd=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("mceWritingImprovementTool")},b.help=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("WP_Help")},b.blockquote=function(){e.has_tinymce&&"tinymce"===e.mode&&tinyMCE.execCommand("mceBlockQuote")},b.medialib=function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(e.editor_id)},b.refresh_buttons=function(b){b=b||!1,"html"===e.mode?(a("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode"),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"===e.mode&&(a("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode"),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"))},b.ui={init:function(){var c=a("#fullscreen-topbar"),f=a("#wp_mce_fullscreen"),g=0;e.toolbars=c.add(a("#wp-fullscreen-status")),e.element=a("#fullscreen-fader"),e.textarea_obj=f[0],e.has_tinymce="undefined"!=typeof tinymce,e.has_tinymce||a("#wp-fullscreen-mode-bar").hide(),wptitlehint&&a("#wp-fullscreen-title").length&&wptitlehint("wp-fullscreen-title"),a(document).keyup(function(c){var d,e,f=c.keyCode||c.charCode;return fullscreen.settings.visible?(d=navigator.platform&&-1!=navigator.platform.indexOf("Mac")?c.ctrlKey:c.altKey,27==f&&(e={event:c,what:"dfw",cb:fullscreen.off,condition:function(){return a("#TB_window").is(":visible")||a(".wp-dialog").is(":visible")?!1:!0}},jQuery(document).triggerHandler("wp_CloseOnEscape",[e])||fullscreen.off()),!d||61!=f&&107!=f&&187!=f||b.dfw_width(25),!d||45!=f&&109!=f&&189!=f||b.dfw_width(-25),d&&48==f&&b.dfw_width(0),!1):!0}),"undefined"!=typeof wpWordCount&&f.keyup(function(b){var c=b.keyCode||b.charCode;return c==g?!0:((13==c||8==g||46==g)&&a(document).triggerHandler("wpcountwords",[f.val()]),g=c,!0)}),c.mouseenter(function(){e.toolbars.addClass("fullscreen-make-sticky"),a(document).unbind(".fullscreen"),clearTimeout(e.timer),e.timer=0}).mouseleave(function(){e.toolbars.removeClass("fullscreen-make-sticky"),e.visible&&a(document).bind("mousemove.fullscreen",function(a){d("showToolbar","hideToolbar",2e3,a)})})},fade:function(a,d,f){e.element||b.ui.init(),(!a||c.publish(a))&&b.fade.In(e.element,600,function(){d&&c.publish(d),b.fade.Out(e.element,600,function(){f&&c.publish(f)})})}},b.fade={transitionend:"transitionend webkitTransitionEnd oTransitionEnd",sensitivity:100,In:function(c,d,e,f){if(e=e||a.noop,d=d||400,f=f||!1,b.fade.transitions){if(c.is(":visible"))return c.addClass("fade-trigger"),c;c.show(),c.first().one(this.transitionend,function(){e()}),setTimeout(function(){c.addClass("fade-trigger")},this.sensitivity)}else f&&c.stop(),c.css("opacity",1),c.first().fadeIn(d,e),c.length>1&&c.not(":first").fadeIn(d);return c},Out:function(c,d,e,f){return e=e||a.noop,d=d||400,f=f||!1,c.is(":visible")?(b.fade.transitions?(c.first().one(b.fade.transitionend,function(){c.hasClass("fade-trigger")||(c.hide(),e())}),setTimeout(function(){c.removeClass("fade-trigger")},this.sensitivity)):(f&&c.stop(),c.first().fadeOut(d,e),c.length>1&&c.not(":first").fadeOut(d)),c):c},transitions:function(){var a=document.documentElement.style;return"string"==typeof a.WebkitTransition||"string"==typeof a.MozTransition||"string"==typeof a.OTransition||"string"==typeof a.transition}()},b.bind_resize=function(){a(e.textarea_obj).bind("keypress.grow click.grow paste.grow",function(){setTimeout(b.resize_textarea,200)})},b.oldheight=0,b.resize_textarea=function(){var a,c=e.textarea_obj;a=c.scrollHeight>300?c.scrollHeight:300,a!=b.oldheight&&(c.style.height=a+"px",b.oldheight=a)}}(jQuery);
\ No newline at end of file
index c9b7597c8849fbc6718b0c1ce75c5f7b1ba94dcf..1d316df137ec4e989dcf25edc4641275d08425f0 100644 (file)
@@ -1 +1 @@
-jQuery(document).ready(function(a){a("#link_rel").prop("readonly",true);a("#linkxfndiv input").bind("click keyup",function(){var c=a("#me").is(":checked"),b="";a("input.valinp").each(function(){if(c){a(this).prop("disabled",true).parent().addClass("disabled")}else{a(this).removeAttr("disabled").parent().removeClass("disabled");if(a(this).is(":checked")&&a(this).val()!=""){b+=a(this).val()+" "}}});a("#link_rel").val((c)?"me":b.substr(0,b.length-1))})});
\ No newline at end of file
+jQuery(document).ready(function(a){a("#link_rel").prop("readonly",!0),a("#linkxfndiv input").bind("click keyup",function(){var b=a("#me").is(":checked"),c="";a("input.valinp").each(function(){b?a(this).prop("disabled",!0).parent().addClass("disabled"):(a(this).removeAttr("disabled").parent().removeClass("disabled"),a(this).is(":checked")&&""!=a(this).val()&&(c+=a(this).val()+" "))}),a("#link_rel").val(b?"me":c.substr(0,c.length-1))})});
\ No newline at end of file
index 6f9c5678e80d4415af083b85a26c08670c6f8b74..d15fb9315fbf8a306139514f385659cbcaeb1e1c 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can('manage_links') )
        wp_die(__('You do not have sufficient permissions to add links to this site.'));
 
 if ( ! current_user_can('manage_links') )
        wp_die(__('You do not have sufficient permissions to add links to this site.'));
@@ -24,6 +24,6 @@ if ( wp_is_mobile() )
        wp_enqueue_script( 'jquery-touch-punch' );
 
 $link = get_default_link_to_edit();
        wp_enqueue_script( 'jquery-touch-punch' );
 
 $link = get_default_link_to_edit();
-include('./edit-link-form.php');
+include( ABSPATH . 'wp-admin/edit-link-form.php' );
 
 
-require('./admin-footer.php');
+require( ABSPATH . 'wp-admin/admin-footer.php' );
index 3154f8e3db97177cf9214b667072d92f44f41405..cbcf689be7e9757cc63f8b2051f8b79e664fd9f0 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once ('admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( ! current_user_can( 'manage_links' ) )
        wp_die( __( 'You do not have sufficient permissions to edit the links for this site.' ) );
 
 if ( ! current_user_can( 'manage_links' ) )
        wp_die( __( 'You do not have sufficient permissions to edit the links for this site.' ) );
 
@@ -61,7 +61,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-include_once ('./admin-header.php');
+include_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( ! current_user_can('manage_links') )
        wp_die(__("You do not have sufficient permissions to edit the links for this site."));
 
 if ( ! current_user_can('manage_links') )
        wp_die(__("You do not have sufficient permissions to edit the links for this site."));
@@ -97,4 +97,4 @@ if ( isset($_REQUEST['deleted']) ) {
 </div>
 
 <?php
 </div>
 
 <?php
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index e696d4544187f55f9cd28efdd47c83ba84597839..1b27ce7de72c4074f1ec81fcaf472c6bbfa841b0 100644 (file)
@@ -10,7 +10,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once ('admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_reset_vars( array( 'action', 'cat_id', 'link_id' ) );
 
 
 wp_reset_vars( array( 'action', 'cat_id', 'link_id' ) );
 
@@ -111,8 +111,8 @@ switch ($action) {
                if (!$link = get_link_to_edit($link_id))
                        wp_die(__('Link not found.'));
 
                if (!$link = get_link_to_edit($link_id))
                        wp_die(__('Link not found.'));
 
-               include ('edit-link-form.php');
-               include ('admin-footer.php');
+               include( ABSPATH . 'wp-admin/edit-link-form.php' );
+               include( ABSPATH . 'wp-admin/admin-footer.php' );
                break;
 
        default :
                break;
 
        default :
index 7cc13e11ace666f56e4084612afe9df8d8d9b63c..98bf579081c7d5ccf7e370566e6617a5f19b14ac 100644 (file)
@@ -7,7 +7,7 @@
  */
 define('WP_REPAIRING', true);
 
  */
 define('WP_REPAIRING', true);
 
-require_once('../../wp-load.php');
+require_once( dirname( dirname( dirname( __FILE__ ) ) ) . '/wp-load.php' );
 
 header( 'Content-Type: text/html; charset=utf-8' );
 ?>
 
 header( 'Content-Type: text/html; charset=utf-8' );
 ?>
@@ -38,7 +38,14 @@ if ( ! defined( 'WP_ALLOW_REPAIR' ) ) {
        if ( is_multisite() && ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->sitecategories'" ) )
                unset( $tables['sitecategories'] );
 
        if ( is_multisite() && ! $wpdb->get_var( "SHOW TABLES LIKE '$wpdb->sitecategories'" ) )
                unset( $tables['sitecategories'] );
 
-       $tables = array_merge( $tables, (array) apply_filters( 'tables_to_repair', array() ) ); // Return tables with table prefixes.
+       /**
+        * Filter additional database tables to repair.
+        *
+        * @since 3.0.0
+        *
+        * @param array $tables Array of prefixed table names to be repaired.
+        */
+       $tables = array_merge( $tables, (array) apply_filters( 'tables_to_repair', array() ) );
 
        // Loop over the tables, checking and repairing as needed.
        foreach ( $tables as $table ) {
 
        // Loop over the tables, checking and repairing as needed.
        foreach ( $tables as $table ) {
index e4288119573db1bfc087d9a323eff3b496809766..d8f8b633479b2efb5bae030e102a57d13d77c5f6 100644 (file)
@@ -10,7 +10,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if (!current_user_can('upload_files'))
        wp_die(__('You do not have permission to upload files.'));
 
 if (!current_user_can('upload_files'))
        wp_die(__('You do not have permission to upload files.'));
index 96af66bb8d828e6e48da497505323a103ac4a842..19c4f330528eb396275755bf578a4fd3563985f9 100644 (file)
@@ -13,7 +13,7 @@ if ( ! isset( $_GET['inline'] ) )
        define( 'IFRAME_REQUEST' , true );
 
 /** Load WordPress Administration Bootstrap */
        define( 'IFRAME_REQUEST' , true );
 
 /** Load WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if (!current_user_can('upload_files'))
        wp_die(__('You do not have permission to upload files.'));
 
 if (!current_user_can('upload_files'))
        wp_die(__('You do not have permission to upload files.'));
index 15d4323876a0b351ca664591564b260d2220c828..c9f03483598f3141ba4dbf382f57bc3cf8ac32bd 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $parent_file = 'upload.php';
 $submenu_file = 'upload.php';
 
 $parent_file = 'upload.php';
 $submenu_file = 'upload.php';
@@ -84,7 +84,7 @@ case 'edit' :
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
-       require( './admin-header.php' );
+       require( ABSPATH . 'wp-admin/admin-header.php' );
 
        $parent_file = 'upload.php';
        $message = '';
 
        $parent_file = 'upload.php';
        $message = '';
@@ -136,7 +136,7 @@ if ( current_user_can( 'upload_files' ) ) { ?>
 
 <?php
 
 
 <?php
 
-       require( './admin-footer.php' );
+       require( ABSPATH . 'wp-admin/admin-footer.php' );
 
        exit;
 
 
        exit;
 
index c158cc20375b0c94bb19cdbd659fba1c6b54dce2..10ad1395ecf8f6704c34cabe267edb7302c6492b 100644 (file)
@@ -34,7 +34,7 @@ get_admin_page_parent();
  * @param bool $submenu_as_parent
  */
 function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
  * @param bool $submenu_as_parent
  */
 function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
-       global $self, $parent_file, $submenu_file, $plugin_page, $pagenow, $typenow;
+       global $self, $parent_file, $submenu_file, $plugin_page, $typenow;
 
        $first = true;
        // 0 = name, 1 = capability, 2 = file, 3 = class, 4 = id, 5 = icon src
 
        $first = true;
        // 0 = name, 1 = capability, 2 = file, 3 = class, 4 = id, 5 = icon src
@@ -75,7 +75,6 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                $arrow = '<div class="wp-menu-arrow"><div></div></div>';
 
                $title = wptexturize( $item[0] );
                $arrow = '<div class="wp-menu-arrow"><div></div></div>';
 
                $title = wptexturize( $item[0] );
-               $aria_label = esc_attr( strip_tags( $item[0] ) ); // strip the comment/plugins/updates bubbles spans but keep the pending number if any
 
                echo "\n\t<li$class$id>";
 
 
                echo "\n\t<li$class$id>";
 
index 365b4595441c1fdb0ce1e0d76b51be2098e83779..b0f7b51e3ad3252826fb6a5a9cc99382f01768b1 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /**
  */
 
 /**
- * Constructs the admin menu bar.
+ * Constructs the admin menu.
  *
  * The elements in the array are :
  *     0: Menu item name
  *
  * The elements in the array are :
  *     0: Menu item name
@@ -53,7 +53,7 @@ $menu[5] = array( __('Posts'), 'edit_posts', 'edit.php', '', 'open-if-no-js menu
 
        $i = 15;
        foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
 
        $i = 15;
        foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
-               if ( ! $tax->show_ui || ! in_array('post', (array) $tax->object_type, true) )
+               if ( ! $tax->show_ui || ! $tax->show_in_menu || ! in_array('post', (array) $tax->object_type, true) )
                        continue;
 
                $submenu['edit.php'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name );
                        continue;
 
                $submenu['edit.php'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name );
@@ -65,7 +65,7 @@ $menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu
        /* translators: add new file */
        $submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php');
        foreach ( get_taxonomies_for_attachments( 'objects' ) as $tax ) {
        /* translators: add new file */
        $submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php');
        foreach ( get_taxonomies_for_attachments( 'objects' ) as $tax ) {
-               if ( ! $tax->show_ui )
+               if ( ! $tax->show_ui || ! $tax->show_in_menu )
                        continue;
 
                $submenu['upload.php'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name . '&amp;post_type=attachment' );
                        continue;
 
                $submenu['upload.php'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name . '&amp;post_type=attachment' );
@@ -84,7 +84,7 @@ $menu[20] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page', '', 'me
        $submenu['edit.php?post_type=page'][10] = array( _x('Add New', 'page'), get_post_type_object( 'page' )->cap->create_posts, 'post-new.php?post_type=page' );
        $i = 15;
        foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
        $submenu['edit.php?post_type=page'][10] = array( _x('Add New', 'page'), get_post_type_object( 'page' )->cap->create_posts, 'post-new.php?post_type=page' );
        $i = 15;
        foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
-               if ( ! $tax->show_ui || ! in_array('page', (array) $tax->object_type, true) )
+               if ( ! $tax->show_ui || ! $tax->show_in_menu  || ! in_array('page', (array) $tax->object_type, true) )
                        continue;
 
                $submenu['edit.php?post_type=page'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name . '&amp;post_type=page' );
                        continue;
 
                $submenu['edit.php?post_type=page'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name . '&amp;post_type=page' );
@@ -126,7 +126,7 @@ foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false,
 
        $i = 15;
        foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
 
        $i = 15;
        foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
-               if ( ! $tax->show_ui || ! in_array($ptype, (array) $tax->object_type, true) )
+               if ( ! $tax->show_ui || ! $tax->show_in_menu || ! in_array($ptype, (array) $tax->object_type, true) )
                        continue;
 
                $submenu["edit.php?post_type=$ptype"][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, "edit-tags.php?taxonomy=$tax->name&amp;post_type=$ptype" );
                        continue;
 
                $submenu["edit.php?post_type=$ptype"][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, "edit-tags.php?taxonomy=$tax->name&amp;post_type=$ptype" );
index 9129795de6a3e53efe8cd114b2e17f93d0f61d64..13a9b4a3cd2e6ea55f03644cd9b31292f93e1361 100644 (file)
@@ -7,6 +7,6 @@
  * @package WordPress
  * @subpackage Administration
  */
  * @package WordPress
  * @subpackage Administration
  */
-require_once('../wp-load.php');
+require_once( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 wp_redirect( admin_url('edit-comments.php?comment_status=moderated') );
 exit;
 wp_redirect( admin_url('edit-comments.php?comment_status=moderated') );
 exit;
index fe5e19bc87e1b6003218dd295845d5a535758e63..35e21e971a55e657f4f93590becc1686fd2a7dd7 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_redirect( network_admin_url() );
 exit;
 
 wp_redirect( network_admin_url() );
 exit;
index 7d772c2658325d0cf0c2a8f9ea43de8a051c58f2..b9112c061da7e24df2341c52d272492eca78df50 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( !is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( !is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -29,7 +29,7 @@ $blog = get_blog_details();
 
 $title = __( 'Delete Site' );
 $parent_file = 'tools.php';
 
 $title = __( 'Delete Site' );
 $parent_file = 'tools.php';
-require_once( './admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 echo '<div class="wrap">';
 screen_icon();
 
 echo '<div class="wrap">';
 screen_icon();
@@ -43,7 +43,7 @@ if ( isset( $_POST['action'] ) && $_POST['action'] == 'deleteblog' && isset( $_P
 
        $url_delete = esc_url( admin_url( 'ms-delete-site.php?h=' . $hash ) );
 
 
        $url_delete = esc_url( admin_url( 'ms-delete-site.php?h=' . $hash ) );
 
-       $content = apply_filters( 'delete_site_email_content', __( "Dear User,
+       $content = __( "Dear User,
 You recently clicked the 'Delete Site' link on your site and filled in a
 form on that page.
 If you really want to delete your site, click the link below. You will not
 You recently clicked the 'Delete Site' link on your site and filled in a
 form on that page.
 If you really want to delete your site, click the link below. You will not
@@ -56,7 +56,15 @@ are gone forever.)
 
 Thanks for using the site,
 Webmaster
 
 Thanks for using the site,
 Webmaster
-###SITE_NAME###" ) );
+###SITE_NAME###" );
+       /**
+        * Filter the email content sent when a site in a Multisite network is deleted.
+        *
+        * @since 3.0.0
+        *
+        * @param string $content The email content that will be sent to the user who deleted a site in a Multisite network.
+        */
+       $content = apply_filters( 'delete_site_email_content', $content );
 
        $content = str_replace( '###URL_DELETE###', $url_delete, $content );
        $content = str_replace( '###SITE_NAME###', $current_site->site_name, $content );
 
        $content = str_replace( '###URL_DELETE###', $url_delete, $content );
        $content = str_replace( '###SITE_NAME###', $current_site->site_name, $content );
@@ -81,4 +89,4 @@ Webmaster
 }
 echo '</div>';
 
 }
 echo '</div>';
 
-include( './admin-footer.php' );
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index 6e56e026a920ba5cc4133565d6bfbc2ef9f18903..5c405e6f73e471afb452ea2c48ca906d9ce1fac7 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_redirect( network_admin_url() );
 exit;
 
 wp_redirect( network_admin_url() );
 exit;
index 784ac24f1774be9b73a2e0b31462189cbcabe3f2..764e937757fd36c1028d9b7508d6d8fd1a1739e6 100644 (file)
@@ -7,6 +7,6 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 
-wp_redirect( network_admin_url('settings.php') );
\ No newline at end of file
+wp_redirect( network_admin_url('settings.php') );
index 00502c915ae2a5e5df0bf31b00e3b53849996ef1..4f2f2a9b51b2080990a2e7b138ead74d96369070 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_redirect( network_admin_url('sites.php') );
 exit;
 
 wp_redirect( network_admin_url('sites.php') );
 exit;
index ad873babb482538079aa839db4d3a646c0fabeac..1a03c66652e29e82e1ec19ad7ad117c1a1bf5682 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_redirect( network_admin_url('themes.php') );
 exit;
 
 wp_redirect( network_admin_url('themes.php') );
 exit;
index 3d36a2cc59f31d78cf757e58e244e281da501f27..ebf5d27a95b1c97fc72e4345429362b85ebd2cfe 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once('admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_redirect( network_admin_url('upgrade.php') );
 exit;
 
 wp_redirect( network_admin_url('upgrade.php') );
 exit;
index a3be929ac7cc32f16535f4e59959f32b20af4570..cc89815058ef99588a41d004a67b85477e4e33d1 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_redirect( network_admin_url('users.php') );
 exit;
 
 wp_redirect( network_admin_url('users.php') );
 exit;
index 2ef4ca77e81b0966e4b7a6ba501a52888b56ca44..61073587c45d737dc4f2dda4834c1e6797fe610f 100644 (file)
@@ -7,7 +7,7 @@
  * @since 3.0.0
  */
 
  * @since 3.0.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( !is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( !is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -49,7 +49,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-require_once( './admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( $updated ) { ?>
        <div id="message" class="updated"><p><strong><?php _e( 'Settings saved.' ); ?></strong></p></div>
 
 if ( $updated ) { ?>
        <div id="message" class="updated"><p><strong><?php _e( 'Settings saved.' ); ?></strong></p></div>
@@ -117,4 +117,4 @@ else :
 <?php endif; ?>
        </div>
 <?php
 <?php endif; ?>
        </div>
 <?php
-include( './admin-footer.php' );
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index bbee8d620a7f27ea91e0eead5ecd6569965d6572..7306778aa5af26a2b90030f3931557632be0d467 100644 (file)
@@ -10,7 +10,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 // Load all the nav menu interface functions
 require_once( ABSPATH . 'wp-admin/includes/nav-menu.php' );
 
 // Load all the nav menu interface functions
 require_once( ABSPATH . 'wp-admin/includes/nav-menu.php' );
@@ -472,11 +472,11 @@ wp_nav_menu_setup();
 wp_initial_nav_menu_meta_boxes();
 
 if ( ! current_theme_supports( 'menus' ) && ! $num_locations )
 wp_initial_nav_menu_meta_boxes();
 
 if ( ! current_theme_supports( 'menus' ) && ! $num_locations )
-       $messages[] = '<div id="message" class="updated"><p>' . sprintf( __( 'Your theme does not natively support menus, but you can use them in sidebars by adding a &#8220;Custom Menus&#8221; widget on the <a href="%s">Widgets</a> screen.' ), admin_url( 'widgets.php' ) ) . '</p></div>';
+       $messages[] = '<div id="message" class="updated"><p>' . sprintf( __( 'Your theme does not natively support menus, but you can use them in sidebars by adding a &#8220;Custom Menu&#8221; widget on the <a href="%s">Widgets</a> screen.' ), admin_url( 'widgets.php' ) ) . '</p></div>';
 
 if ( ! $locations_screen ) : // Main tab
        $overview  = '<p>' . __( 'This screen is used for managing your custom navigation menus.' ) . '</p>';
 
 if ( ! $locations_screen ) : // Main tab
        $overview  = '<p>' . __( 'This screen is used for managing your custom navigation menus.' ) . '</p>';
-       $overview .= '<p>' . sprintf( __( 'Menus can be displayed in locations defined by your theme, even used in sidebars by adding a &#8220;Custom Menus&#8221; widget on the <a href="%1$s">Widgets</a> screen. If your theme does not support the custom menus feature (the default themes, %2$s and %3$s, do), you can learn about adding this support by following the Documentation link to the side.' ), admin_url( 'widgets.php' ), 'Twenty Thirteen', 'Twenty Twelve' ) . '</p>';
+       $overview .= '<p>' . sprintf( __( 'Menus can be displayed in locations defined by your theme, even used in sidebars by adding a &#8220;Custom Menu&#8221; widget on the <a href="%1$s">Widgets</a> screen. If your theme does not support the custom menus feature (the default themes, %2$s and %3$s, do), you can learn about adding this support by following the Documentation link to the side.' ), admin_url( 'widgets.php' ), 'Twenty Thirteen', 'Twenty Twelve' ) . '</p>';
        $overview .= '<p>' . __( 'From this screen you can:' ) . '</p>';
        $overview .= '<ul><li>' . __( 'Create, edit, and delete menus' ) . '</li>';
        $overview .= '<li>' . __( 'Add, organize, and modify individual menu items' ) . '</li></ul>';
        $overview .= '<p>' . __( 'From this screen you can:' ) . '</p>';
        $overview .= '<ul><li>' . __( 'Create, edit, and delete menus' ) . '</li>';
        $overview .= '<li>' . __( 'Add, organize, and modify individual menu items' ) . '</li></ul>';
@@ -499,7 +499,7 @@ if ( ! $locations_screen ) : // Main tab
        ) );
 
        $editing_menus  = '<p>' . __( 'Each custom menu may contain a mix of links to pages, categories, custom URLs or other content types. Menu links are added by selecting items from the expanding boxes in the left-hand column below.' ) . '</p>';
        ) );
 
        $editing_menus  = '<p>' . __( 'Each custom menu may contain a mix of links to pages, categories, custom URLs or other content types. Menu links are added by selecting items from the expanding boxes in the left-hand column below.' ) . '</p>';
-       $editing_menus .= '<p>' . __( '<strong>Clicking the title of any menu item</strong> in the editor will reveal a standard group of settings. Additional settings such as link target, CSS classes, link relationships, and link descriptions can be enabled and disabled via the Screen Options tab.' ) . '</p>';
+       $editing_menus .= '<p>' . __( '<strong>Clicking the arrow to the right of any menu item</strong> in the editor will reveal a standard group of settings. Additional settings such as link target, CSS classes, link relationships, and link descriptions can be enabled and disabled via the Screen Options tab.' ) . '</p>';
        $editing_menus .= '<ul><li>' . __( 'Add one or several items at once by <strong>selecting the checkbox next to each item and clicking Add to Menu</strong>' ) . '</li>';
        $editing_menus .= '<li>' . __( 'To add a custom link, <strong>expand the Links section, enter a URL and link text, and click Add to Menu</strong>' ) .'</li>';
        $editing_menus .= '<li>' . __( 'To reorganize menu items, <strong>drag and drop items with your mouse or use your keyboard</strong>. Drag or move a menu item a little to the right to make it a submenu' ) . '</li>';
        $editing_menus .= '<ul><li>' . __( 'Add one or several items at once by <strong>selecting the checkbox next to each item and clicking Add to Menu</strong>' ) . '</li>';
        $editing_menus .= '<li>' . __( 'To add a custom link, <strong>expand the Links section, enter a URL and link text, and click Add to Menu</strong>' ) .'</li>';
        $editing_menus .= '<li>' . __( 'To reorganize menu items, <strong>drag and drop items with your mouse or use your keyboard</strong>. Drag or move a menu item a little to the right to make it a submenu' ) . '</li>';
@@ -530,7 +530,7 @@ get_current_screen()->set_help_sidebar(
 );
 
 // Get the admin header
 );
 
 // Get the admin header
-require_once( './admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap">
        <?php screen_icon(); ?>
 ?>
 <div class="wrap">
        <?php screen_icon(); ?>
@@ -547,7 +547,7 @@ require_once( './admin-header.php' );
        ?>
        <?php
        if ( $locations_screen ) :
        ?>
        <?php
        if ( $locations_screen ) :
-               echo '<p>' . sprintf( _n( 'Your theme supports %s menu. Select which menu you would like to use below.', 'Your theme supports %s menus. Select a menu to use for each theme location below.', $num_locations ), number_format_i18n( $num_locations ) ) . '</p>';
+               echo '<p>' . sprintf( _n( 'Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . '</p>';
        ?>
        <div id="menu-locations-wrap">
                <form method="post" action="<?php echo esc_url( add_query_arg( array( 'action' => 'locations' ), admin_url( 'nav-menus.php' ) ) ); ?>">
        ?>
        <div id="menu-locations-wrap">
                <form method="post" action="<?php echo esc_url( add_query_arg( array( 'action' => 'locations' ), admin_url( 'nav-menus.php' ) ) ); ?>">
@@ -762,4 +762,4 @@ require_once( './admin-header.php' );
        </div><!-- /#nav-menus-frame -->
        <?php endif; ?>
 </div><!-- /.wrap-->
        </div><!-- /#nav-menus-frame -->
        <?php endif; ?>
 </div><!-- /.wrap-->
-<?php include( './admin-footer.php' ); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index c3dea684714304bc22520020f4f3621ab666b3d3..097489df6601b6f61deebc3b8858b133810abc6a 100644 (file)
@@ -13,7 +13,7 @@
 define( 'WP_INSTALLING_NETWORK', true );
 
 /** WordPress Administration Bootstrap */
 define( 'WP_INSTALLING_NETWORK', true );
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_super_admin() )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
 if ( ! is_super_admin() )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
@@ -58,13 +58,20 @@ function allow_subdomain_install() {
        return true;
 }
 /**
        return true;
 }
 /**
- * Allow subdirectory install
+ * Allow subdirectory install.
  *
  * @since 3.0.0
  * @return bool Whether subdirectory install is allowed
  */
 function allow_subdirectory_install() {
        global $wpdb;
  *
  * @since 3.0.0
  * @return bool Whether subdirectory install is allowed
  */
 function allow_subdirectory_install() {
        global $wpdb;
+        /**
+         * Filter whether to enable the subdirectory install feature in Multisite.
+         *
+         * @since 3.0.0
+         *
+         * @param bool true Whether to enable the subdirectory install feature in Multisite. Default is false.
+         */
        if ( apply_filters( 'allow_subdirectory_install', false ) )
                return true;
 
        if ( apply_filters( 'allow_subdirectory_install', false ) )
                return true;
 
index e8bbe999d0cf44244ee1cd17177f8f6f4fcf7e49..4ad541268aefae85373be89afa8aed07ce71a333 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../about.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/about.php' );
index 82caa3ad08fcc5906c70e030f26cb8f35819d79a..3d3ae1496b60be1eb7ed39558a4412be88b9bbba 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../credits.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/credits.php' );
index e76f25878c9cf14987cc59d15d882c89268abcb9..b1ae4bbb05c647fceab01c51a0ec6f5c24778d30 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
index a15a4c3fd31f95f26a2d473ad4d9ee89928a0cfb..da7f86bd2277c0939f7ebdab57908a5befd76dff 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../freedoms.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/freedoms.php' );
index 96c2c248a641160c65c80244c975de98dc2c7183..5514331cf3afacbef2768158e9666921605a2e9b 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 /** Load WordPress dashboard API */
 require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
 
 /** Load WordPress dashboard API */
 require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
@@ -36,11 +36,11 @@ get_current_screen()->add_help_tab( array(
 ) );
 
 $quick_tasks = '<p>' . __( 'The Right Now widget on this screen provides current user and site counts on your network.' ) . '</p>';
 ) );
 
 $quick_tasks = '<p>' . __( 'The Right Now widget on this screen provides current user and site counts on your network.' ) . '</p>';
-$quick_tasks .= '<ul><li>' . __( 'To add a new user <strong>click Create a New User</strong>' ) . '</li>';
-$quick_tasks .= '<li>' . __( 'To add a new site <strong>click Create a New Site</strong>' ) . '</li></ul>';
+$quick_tasks .= '<ul><li>' . __( 'To add a new user, <strong>click Create a New User</strong>.' ) . '</li>';
+$quick_tasks .= '<li>' . __( 'To add a new site, <strong>click Create a New Site</strong>.' ) . '</li></ul>';
 $quick_tasks .= '<p>' . __( 'To search for a user or site, use the search boxes.' ) . '</p>';
 $quick_tasks .= '<p>' . __( 'To search for a user or site, use the search boxes.' ) . '</p>';
-$quick_tasks .= '<ul><li>' . __( '<strong>To search for a user</strong> enter all or part of a username or email address' ) . '</li>';
-$quick_tasks .= '<li>' . __( '<strong>To search for a site</strong> enter the path or domain' ) . '</li></ul>';
+$quick_tasks .= '<ul><li>' . __( 'To search for a user, <strong>enter an email address or username</strong>. Use a wildcard to search for a partial username, such as user&#42;.' ) . '</li>';
+$quick_tasks .= '<li>' . __( 'To search for a site, <strong>enter the path or domain</strong>.' ) . '</li></ul>';
 
 get_current_screen()->add_help_tab( array(
        'id'      => 'quick-tasks',
 
 get_current_screen()->add_help_tab( array(
        'id'      => 'quick-tasks',
@@ -62,7 +62,7 @@ add_thickbox();
 
 add_screen_option('layout_columns', array('max' => 4, 'default' => 2) );
 
 
 add_screen_option('layout_columns', array('max' => 4, 'default' => 2) );
 
-require_once( '../admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 
 
 ?>
 
@@ -79,4 +79,4 @@ require_once( '../admin-header.php' );
 
 </div><!-- wrap -->
 
 
 </div><!-- wrap -->
 
-<?php include( '../admin-footer.php' ); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 8850aa8f887d624dccf21b30fcb9b7bc9ea33540..9af590c45a1d0d7c4409e22db6b8b8ed443572aa 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../plugin-editor.php' );
+require( ABSPATH . 'wp-admin/plugin-editor.php' );
index 5c6243f1cfaf14bc08c5541a299b7330f2d486ed..a8a1c17297cb358bc69cdf5a757a8cb8d1c8555e 100644 (file)
@@ -11,9 +11,9 @@ if ( isset( $_GET['tab'] ) && ( 'plugin-information' == $_GET['tab'] ) )
        define( 'IFRAME_REQUEST', true );
 
 /** Load WordPress Administration Bootstrap */
        define( 'IFRAME_REQUEST', true );
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../plugin-install.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/plugin-install.php' );
index 514a22b41a931d454c593091a71bca9a0a0cae58..e9970605267a10f63266485db141dc25bc6ae8a4 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../plugins.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/plugins.php' );
index c100e68865ca4136bdbd9a3e31a0b75b6187458a..df6b782711bb734f23fb56bdf921acca2736d4ab 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../profile.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/profile.php' );
index e7456940316e365963393f0c09450d81ddc00d4b..de39b26be264e90035c3d41fb8833c345cfeb22c 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -25,7 +25,6 @@ get_current_screen()->add_help_tab( array(
                'content' =>
                        '<p>' . __('This screen sets and changes options for the network as a whole. The first site is the main site in the network and network options are pulled from that original site&#8217;s options.') . '</p>' .
                        '<p>' . __('Operational settings has fields for the network&#8217;s name and admin email.') . '</p>' .
                'content' =>
                        '<p>' . __('This screen sets and changes options for the network as a whole. The first site is the main site in the network and network options are pulled from that original site&#8217;s options.') . '</p>' .
                        '<p>' . __('Operational settings has fields for the network&#8217;s name and admin email.') . '</p>' .
-                       '<p>' . __('Dashboard Site is an option to give a site to users who do not have a site on the system. Their default role is Subscriber, but that default can be changed. The Admin Notice Feed can provide a notice on all dashboards of the latest post via RSS or Atom, or provide no such notice if left blank.') . '</p>' .
                        '<p>' . __('Registration settings can disable/enable public signups. If you let others sign up for a site, install spam plugins. Spaces, not commas, should separate names banned as sites for this network.') . '</p>' .
                        '<p>' . __('New site settings are defaults applied when a new site is created in the network. These include welcome email for when a new site or user account is registered, and what&#8127;s put in the first post, page, comment, comment author, and comment URL.') . '</p>' .
                        '<p>' . __('Upload settings control the size of the uploaded files and the amount of available upload space for each site. You can change the default value for specific sites when you edit a particular site. Allowed file types are also listed (space separated only).') . '</p>' .
                        '<p>' . __('Registration settings can disable/enable public signups. If you let others sign up for a site, install spam plugins. Spaces, not commas, should separate names banned as sites for this network.') . '</p>' .
                        '<p>' . __('New site settings are defaults applied when a new site is created in the network. These include welcome email for when a new site or user account is registered, and what&#8127;s put in the first post, page, comment, comment author, and comment URL.') . '</p>' .
                        '<p>' . __('Upload settings control the size of the uploaded files and the amount of available upload space for each site. You can change the default value for specific sites when you edit a particular site. Allowed file types are also listed (space separated only).') . '</p>' .
@@ -72,7 +71,7 @@ if ( $_POST ) {
        exit();
 }
 
        exit();
 }
 
-include( '../admin-header.php' );
+include( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( isset( $_GET['updated'] ) ) {
        ?><div id="message" class="updated"><p><?php _e( 'Options saved.' ) ?></p></div><?php
 
 if ( isset( $_GET['updated'] ) ) {
        ?><div id="message" class="updated"><p><?php _e( 'Options saved.' ) ?></p></div><?php
@@ -301,4 +300,4 @@ if ( isset( $_GET['updated'] ) ) {
        </form>
 </div>
 
        </form>
 </div>
 
-<?php include( '../admin-footer.php' ); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index e5d5880f9e9a832dd63c6671a40f700b9d7be202..35938990e6542e70a25b571cd670f11fd0af2825 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../network.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/network.php' );
index 7dd6aeb23af3c461a3b59fcc8de8b5eb22e2bffd..6a952b646f37666c4d856192b2cde8dd49847086 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -50,7 +50,7 @@ if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
        switch_to_blog( $id );
 
        if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
        switch_to_blog( $id );
 
        if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
-               $blog_address = get_blogaddress_by_domain( $_POST['blog']['domain'], $_POST['blog']['path'] );
+               $blog_address = esc_url_raw( $_POST['blog']['domain'] . $_POST['blog']['path'] );
                if ( get_option( 'siteurl' ) != $blog_address )
                        update_option( 'siteurl', $blog_address );
 
                if ( get_option( 'siteurl' ) != $blog_address )
                        update_option( 'siteurl', $blog_address );
 
@@ -91,7 +91,7 @@ $title = sprintf( __('Edit Site: %s'), $site_url_no_http );
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
 
-require('../admin-header.php');
+require( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 
 
 ?>
 
@@ -177,4 +177,4 @@ if ( ! empty( $messages ) ) {
 
 </div>
 <?php
 
 </div>
 <?php
-require('../admin-footer.php');
+require( ABSPATH . 'wp-admin/admin-footer.php' );
index 9fc5eefd48e0f8435e055e4533723d88bdada40b..df98d95268053a7a303205b10dae230bd0aa4f8c 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -107,7 +107,7 @@ if ( isset($_GET['update']) ) {
 $title = __('Add New Site');
 $parent_file = 'sites.php';
 
 $title = __('Add New Site');
 $parent_file = 'sites.php';
 
-require('../admin-header.php');
+require( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 
 
 ?>
 
@@ -150,4 +150,4 @@ if ( ! empty( $messages ) ) {
        </form>
 </div>
 <?php
        </form>
 </div>
 <?php
-require('../admin-footer.php');
+require( ABSPATH . 'wp-admin/admin-footer.php' );
index c3aec75dee6605c26ab1fcea1cf7fc300412ad11..39a2af83269bd6a8e29037ec1736be83746b5cc1 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -77,7 +77,7 @@ $title = sprintf( __('Edit Site: %s'), $site_url_no_http );
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
 
-require('../admin-header.php');
+require( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 
 
 ?>
 
@@ -152,4 +152,4 @@ if ( ! empty( $messages ) ) {
 
 </div>
 <?php
 
 </div>
 <?php
-require('../admin-footer.php');
+require( ABSPATH . 'wp-admin/admin-footer.php' );
index b47a0c694a662ddbe139a62966fde818c0548903..ec8fc7d4576094587aaaa77ce88345483b7bba99 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -132,7 +132,7 @@ $title = sprintf( __('Edit Site: %s'), $site_url_no_http );
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
 
-require('../admin-header.php'); ?>
+require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
 <?php screen_icon('ms-admin'); ?>
 
 <div class="wrap">
 <?php screen_icon('ms-admin'); ?>
index 0c7a1c7296108291b6b39952280254a7810f3248..62c6212c3ffe137b9527e996c7417e393dac9595 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -167,7 +167,7 @@ $submenu_file = 'sites.php';
 if ( ! wp_is_large_network( 'users' ) && apply_filters( 'show_network_site_users_add_existing_form', true ) )
        wp_enqueue_script( 'user-suggest' );
 
 if ( ! wp_is_large_network( 'users' ) && apply_filters( 'show_network_site_users_add_existing_form', true ) )
        wp_enqueue_script( 'user-suggest' );
 
-require('../admin-header.php'); ?>
+require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <script type='text/javascript'>
 /* <![CDATA[ */
 
 <script type='text/javascript'>
 /* <![CDATA[ */
@@ -307,4 +307,4 @@ endif; ?>
 <?php endif; ?>
 </div>
 <?php
 <?php endif; ?>
 </div>
 <?php
-require('../admin-footer.php');
+require( ABSPATH . 'wp-admin/admin-footer.php' );
index 93341c35e97eeeae6e22dc9c36711996a0ee0d41..c5d353a97a0502979e5071c117421c1c38b1cf2b 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -225,7 +225,7 @@ if ( isset( $_GET['updated'] ) ) {
 
 $wp_list_table->prepare_items();
 
 
 $wp_list_table->prepare_items();
 
-require_once( '../admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -254,4 +254,4 @@ require_once( '../admin-header.php' );
 </div>
 <?php
 
 </div>
 <?php
 
-require_once( '../admin-footer.php' ); ?>
+require_once( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index f6ac9c2e08df92e73099ed30220389e9f4c8589f..621c506c2682afd7f3f8e366f3254ce2b17213eb 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../theme-editor.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/theme-editor.php' );
index bc4e6269aa6e049fd932db5ec3295adcd17a3fd4..c666eaff1c0e9c18627b4ae779347e8f78733638 100644 (file)
@@ -11,9 +11,9 @@ if ( isset( $_GET['tab'] ) && ( 'theme-information' == $_GET['tab'] ) )
        define( 'IFRAME_REQUEST', true );
 
 /** Load WordPress Administration Bootstrap */
        define( 'IFRAME_REQUEST', true );
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../theme-install.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/theme-install.php' );
index 711b44e0f210ab050248c4bacb34e9cf4d7c80cb..264f90ed83d5329217b7043f2f89b284cabb4e9b 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
index d4f9c7680a6ec05e17c93d3d66c7ae9db29827af..3d2825a958b17d3d5cf1de3e2f584c7e26fe98d5 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../update-core.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/update-core.php' );
index b2c6177fbc3a286dddca599c47ff0be7d187c162..c90098b25b27355a6793e3a57a1b5633fe9b42d6 100644 (file)
@@ -11,9 +11,9 @@ if ( isset( $_GET['action'] ) && in_array( $_GET['action'], array( 'update-selec
        define( 'IFRAME_REQUEST', true );
 
 /** Load WordPress Administration Bootstrap */
        define( 'IFRAME_REQUEST', true );
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../update.php' );
+require( ABSPATH . 'wp-admin/update.php' );
index 1a004a2fcdf0fcb04fd548218c1b6c2f84d1e982..96137b34de640e459bad282b370cba3734845c46 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -33,7 +33,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-require_once('../admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( ! current_user_can( 'manage_network' ) )
        wp_die( __( 'You do not have permission to access this page.' ) );
 
 if ( ! current_user_can( 'manage_network' ) )
        wp_die( __( 'You do not have permission to access this page.' ) );
@@ -90,7 +90,7 @@ switch ( $action ) {
                <p><?php _e( 'WordPress has been updated! Before we send you on your way, we need to individually upgrade the sites in your network.' ); ?></p>
                <?php endif; ?>
 
                <p><?php _e( 'WordPress has been updated! Before we send you on your way, we need to individually upgrade the sites in your network.' ); ?></p>
                <?php endif; ?>
 
-               <p><?php _e( 'The upgrade process may take a little while, so please be patient.' ); ?></p>
+               <p><?php _e( 'The database upgrade process may take a little while, so please be patient.' ); ?></p>
                <p><a class="button" href="upgrade.php?action=upgrade"><?php _e( 'Upgrade Network' ); ?></a></p>
                <?php
                do_action( 'wpmu_upgrade_page' );
                <p><a class="button" href="upgrade.php?action=upgrade"><?php _e( 'Upgrade Network' ); ?></a></p>
                <?php
                do_action( 'wpmu_upgrade_page' );
@@ -99,4 +99,4 @@ switch ( $action ) {
 ?>
 </div>
 
 ?>
 </div>
 
-<?php include('../admin-footer.php'); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 0b2cfd26f4b8c9ff93a508761576593313e99a5e..effaaf8a0ebe376e73b7059e82317811f2128a2e 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-require( '../user-edit.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/user-edit.php' );
index 316fffe58cbd7d6eca86b4336caf81f464fc8c04..0f3ad1f68ff8f1a9f7991cd48500b22b45341b92 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -66,7 +66,7 @@ if ( isset($_GET['update']) ) {
 $title = __('Add New User');
 $parent_file = 'users.php';
 
 $title = __('Add New User');
 $parent_file = 'users.php';
 
-require('../admin-header.php'); ?>
+require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
 <?php screen_icon(); ?>
 
 <div class="wrap">
 <?php screen_icon(); ?>
@@ -99,9 +99,9 @@ if ( isset( $add_user_errors ) && is_wp_error( $add_user_errors ) ) { ?>
                        <td colspan="2"><?php _e( 'Username and password will be mailed to the above email address.' ) ?></td>
                </tr>
        </table>
                        <td colspan="2"><?php _e( 'Username and password will be mailed to the above email address.' ) ?></td>
                </tr>
        </table>
-       <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
+       <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ); ?>
        <?php submit_button( __('Add User'), 'primary', 'add-user' ); ?>
        </form>
 </div>
 <?php
        <?php submit_button( __('Add User'), 'primary', 'add-user' ); ?>
        </form>
 </div>
 <?php
-require('../admin-footer.php');
+require( ABSPATH . 'wp-admin/admin-footer.php' );
index 1318355448add4d3eaf4a33e0bc729dafef80d1e..415b0c2104571a39a9bda0a2016b659e0e0f5e4b 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
@@ -101,11 +101,11 @@ if ( isset( $_GET['action'] ) ) {
                                $_POST['allusers'] = array( $id ); // confirm_delete_users() can only handle with arrays
                                $title = __( 'Users' );
                                $parent_file = 'users.php';
                                $_POST['allusers'] = array( $id ); // confirm_delete_users() can only handle with arrays
                                $title = __( 'Users' );
                                $parent_file = 'users.php';
-                               require_once( '../admin-header.php' );
+                               require_once( ABSPATH . 'wp-admin/admin-header.php' );
                                echo '<div class="wrap">';
                                confirm_delete_users( $_POST['allusers'] );
                                echo '</div>';
                                echo '<div class="wrap">';
                                confirm_delete_users( $_POST['allusers'] );
                                echo '</div>';
-                   require_once( '../admin-footer.php' );
+                   require_once( ABSPATH . 'wp-admin/admin-footer.php' );
                        } else {
                                wp_redirect( network_admin_url( 'users.php' ) );
                        }
                        } else {
                                wp_redirect( network_admin_url( 'users.php' ) );
                        }
@@ -130,11 +130,11 @@ if ( isset( $_GET['action'] ) ) {
                                                                        wp_die( __( 'You do not have permission to access this page.' ) );
                                                                $title = __( 'Users' );
                                                                $parent_file = 'users.php';
                                                                        wp_die( __( 'You do not have permission to access this page.' ) );
                                                                $title = __( 'Users' );
                                                                $parent_file = 'users.php';
-                                                               require_once( '../admin-header.php' );
+                                                               require_once( ABSPATH . 'wp-admin/admin-header.php' );
                                                                echo '<div class="wrap">';
                                                                confirm_delete_users( $_POST['allusers'] );
                                                                echo '</div>';
                                                                echo '<div class="wrap">';
                                                                confirm_delete_users( $_POST['allusers'] );
                                                                echo '</div>';
-                                                               require_once( '../admin-footer.php' );
+                                                               require_once( ABSPATH . 'wp-admin/admin-footer.php' );
                                                                exit();
                                                        break;
 
                                                                exit();
                                                        break;
 
@@ -245,7 +245,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-require_once( '../admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $_REQUEST['action'] ) ) {
        ?>
 
 if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $_REQUEST['action'] ) ) {
        ?>
@@ -296,4 +296,4 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty(
        </form>
 </div>
 
        </form>
 </div>
 
-<?php require_once( '../admin-footer.php' ); ?>
+<?php require_once( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 6e8d79f3c926883e84d9d2c5f771246520607ad8..76f6b3226ed8428f5e07b30b5a174c94ed59efb2 100644 (file)
@@ -5,9 +5,8 @@
  * @package WordPress
  * @subpackage Administration
  */
  * @package WordPress
  * @subpackage Administration
  */
-
 /** WordPress Administration Bootstrap */
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
@@ -28,7 +27,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-include('./admin-header.php');
+include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -77,7 +76,13 @@ include('./admin-header.php');
 <label for="thread_comments">
 <input name="thread_comments" type="checkbox" id="thread_comments" value="1" <?php checked('1', get_option('thread_comments')); ?> />
 <?php
 <label for="thread_comments">
 <input name="thread_comments" type="checkbox" id="thread_comments" value="1" <?php checked('1', get_option('thread_comments')); ?> />
 <?php
-
+/**
+ * Filter the maximum depth of threaded/nested comments.
+ *
+ * @since 2.7.0.
+ *
+ * @param int $10 The maximum depth of threaded comments. Default 10.
+ */
 $maxdeep = (int) apply_filters( 'thread_comments_depth_max', 10 );
 
 $thread_comments_depth = '</label><label for="thread_comments_depth"><select name="thread_comments_depth" id="thread_comments_depth">';
 $maxdeep = (int) apply_filters( 'thread_comments_depth_max', 10 );
 
 $thread_comments_depth = '</label><label for="thread_comments_depth"><select name="thread_comments_depth" id="thread_comments_depth">';
@@ -136,7 +141,7 @@ printf( __('Comments should be displayed with the %s comments at the top of each
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Before a comment appears'); ?></span></legend>
 <label for="comment_moderation">
 <input name="comment_moderation" type="checkbox" id="comment_moderation" value="1" <?php checked('1', get_option('comment_moderation')); ?> />
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Before a comment appears'); ?></span></legend>
 <label for="comment_moderation">
 <input name="comment_moderation" type="checkbox" id="comment_moderation" value="1" <?php checked('1', get_option('comment_moderation')); ?> />
-<?php _e('An administrator must always approve the comment'); ?> </label>
+<?php _e('Comment must be manually approved'); ?> </label>
 <br />
 <label for="comment_whitelist"><input type="checkbox" name="comment_whitelist" id="comment_whitelist" value="1" <?php checked('1', get_option('comment_whitelist')); ?> /> <?php _e('Comment author must have a previously approved comment'); ?></label>
 </fieldset></td>
 <br />
 <label for="comment_whitelist"><input type="checkbox" name="comment_whitelist" id="comment_whitelist" value="1" <?php checked('1', get_option('comment_whitelist')); ?> /> <?php _e('Comment author must have a previously approved comment'); ?></label>
 </fieldset></td>
@@ -219,7 +224,17 @@ $avatar_defaults = array(
        'monsterid' => __('MonsterID (Generated)'),
        'retro' => __('Retro (Generated)')
 );
        'monsterid' => __('MonsterID (Generated)'),
        'retro' => __('Retro (Generated)')
 );
-$avatar_defaults = apply_filters('avatar_defaults', $avatar_defaults);
+/**
+ * Filter the default avatars.
+ *
+ * Avatars are stored in key/value pairs, where the key is option value,
+ * and the name is the displayed avatar name.
+ *
+ * @since 2.6.0
+ *
+ * @param array $avatar_defaults Array of default avatars.
+ */
+$avatar_defaults = apply_filters( 'avatar_defaults', $avatar_defaults );
 $default = get_option('avatar_default');
 if ( empty($default) )
        $default = 'mystery';
 $default = get_option('avatar_default');
 if ( empty($default) )
        $default = 'mystery';
@@ -235,7 +250,14 @@ foreach ( $avatar_defaults as $default_key => $default_name ) {
        $avatar_list .= ' ' . $default_name . '</label>';
        $avatar_list .= '<br />';
 }
        $avatar_list .= ' ' . $default_name . '</label>';
        $avatar_list .= '<br />';
 }
-echo apply_filters('default_avatar_select', $avatar_list);
+/**
+ * Filter the HTML output of the default avatar list.
+ *
+ * @since 2.6.0
+ *
+ * @param string $avatar_list HTML markup of the avatar list.
+ */
+echo apply_filters( 'default_avatar_select', $avatar_list );
 ?>
 
 </fieldset></td>
 ?>
 
 </fieldset></td>
@@ -249,4 +271,4 @@ echo apply_filters('default_avatar_select', $avatar_list);
 </form>
 </div>
 
 </form>
 </div>
 
-<?php include('./admin-footer.php'); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index fdae33a60b14a1fb6833ab196c4f8df411eb3951..5f2bf21ce866217b459cf2cfd3bbb9b51a9a01ee 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
@@ -80,7 +80,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-include('./admin-header.php');
+include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -229,13 +229,14 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 <td>
        <fieldset><legend class="screen-reader-text"><span><?php _e('Date Format') ?></span></legend>
 <?php
 <td>
        <fieldset><legend class="screen-reader-text"><span><?php _e('Date Format') ?></span></legend>
 <?php
-
-       $date_formats = array_unique( apply_filters( 'date_formats', array(
-               __('F j, Y'),
-               'Y/m/d',
-               'm/d/Y',
-               'd/m/Y',
-       ) ) );
+       /**
+       * Filter the default date formats.
+       *
+       * @since 2.7.0
+       *
+       * @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' ) ) );
 
        $custom = true;
 
 
        $custom = true;
 
@@ -262,12 +263,14 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 <td>
        <fieldset><legend class="screen-reader-text"><span><?php _e('Time Format') ?></span></legend>
 <?php
 <td>
        <fieldset><legend class="screen-reader-text"><span><?php _e('Time Format') ?></span></legend>
 <?php
-
-       $time_formats = array_unique( apply_filters( 'time_formats', array(
-               __('g:i a'),
-               'g:i A',
-               'H:i',
-       ) ) );
+       /**
+       * Filter the default time formats.
+       *
+       * @since 2.7.0
+       *
+       * @param array $default_time_formats Array of default time formats.
+       */
+       $time_formats = array_unique( apply_filters( 'time_formats', array( __( 'g:i a' ), 'g:i A', 'H:i' ) ) );
 
        $custom = true;
 
 
        $custom = true;
 
@@ -324,4 +327,4 @@ endfor;
 
 </div>
 
 
 </div>
 
-<?php include('./admin-footer.php') ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 8ba2371f7faa0f5b2d764f160fddcaddb75cec9a..4eccbf6a27d7fe11ff40db542aadcd862b3561ba 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
@@ -35,7 +35,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-include('./admin-header.php');
+include( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 
 
 ?>
 
@@ -47,7 +47,7 @@ include('./admin-header.php');
 <?php settings_fields('media'); ?>
 
 <h3 class="title"><?php _e('Image sizes') ?></h3>
 <?php settings_fields('media'); ?>
 
 <h3 class="title"><?php _e('Image sizes') ?></h3>
-<p><?php _e('The sizes listed below determine the maximum dimensions in pixels to use when inserting an image into the body of a post.'); ?></p>
+<p><?php _e( 'The sizes listed below determine the maximum dimensions in pixels to use when adding an image to the Media Library.' ); ?></p>
 
 <table class="form-table">
 <tr valign="top">
 
 <table class="form-table">
 <tr valign="top">
@@ -134,4 +134,4 @@ if ( get_option('upload_url_path') || ( get_option('upload_path') != 'wp-content
 
 </div>
 
 
 </div>
 
-<?php include('./admin-footer.php'); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index d086fdc6b1cf722f2a5e78c3675379cc254fad4f..738a0c3f8f6142efdf5a9750ebd81615c2bd06b4 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
@@ -75,7 +75,7 @@ $home_path = get_home_path();
 $iis7_permalinks = iis7_supports_permalinks();
 
 $prefix = $blog_prefix = '';
 $iis7_permalinks = iis7_supports_permalinks();
 
 $prefix = $blog_prefix = '';
-if ( ! got_mod_rewrite() && ! $iis7_permalinks )
+if ( ! got_url_rewrite() )
        $prefix = '/index.php';
 if ( is_multisite() && !is_subdomain_install() && is_main_site() )
        $blog_prefix = '/blog';
        $prefix = '/index.php';
 if ( is_multisite() && !is_subdomain_install() && is_main_site() )
        $blog_prefix = '/blog';
@@ -126,6 +126,8 @@ if ( $iis7_permalinks ) {
                $writable = true;
        else
                $writable = false;
                $writable = true;
        else
                $writable = false;
+} elseif ( $is_nginx ) {
+       $writable = false;
 } else {
        if ( ( ! file_exists($home_path . '.htaccess') && is_writable($home_path) ) || is_writable($home_path . '.htaccess') )
                $writable = true;
 } else {
        if ( ( ! file_exists($home_path . '.htaccess') && is_writable($home_path) ) || is_writable($home_path . '.htaccess') )
                $writable = true;
@@ -152,6 +154,8 @@ if ( ! is_multisite() ) {
                        _e('Permalink structure updated. Remove write access on web.config file now!');
                else
                        _e('Permalink structure updated.');
                        _e('Permalink structure updated. Remove write access on web.config file now!');
                else
                        _e('Permalink structure updated.');
+       } elseif ( $is_nginx ) {
+               _e('Permalink structure updated.');
        } else {
                if ( $permalink_structure && ! $usingpi && ! $writable )
                        _e('You should update your .htaccess now.');
        } else {
                if ( $permalink_structure && ! $usingpi && ! $writable )
                        _e('You should update your .htaccess now.');
@@ -172,7 +176,7 @@ if ( ! is_multisite() ) {
 <form name="form" action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
 
 <form name="form" action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
 
-  <p><?php _e('By default WordPress uses web <abbr title="Universal Resource Locator">URL</abbr>s which have question marks and lots of numbers in them, however WordPress offers you the ability to create a custom URL structure for your permalinks and archives. This can improve the aesthetics, usability, and forward-compatibility of your links. A <a href="http://codex.wordpress.org/Using_Permalinks">number of tags are available</a>, and here are some examples to get you started.'); ?></p>
+  <p><?php _e('By default WordPress uses web <abbr title="Universal Resource Locator">URL</abbr>s which have question marks and lots of numbers in them; however, WordPress offers you the ability to create a custom URL structure for your permalinks and archives. This can improve the aesthetics, usability, and forward-compatibility of your links. A <a href="http://codex.wordpress.org/Using_Permalinks">number of tags are available</a>, and here are some examples to get you started.'); ?></p>
 
 <?php
 if ( is_multisite() && !is_subdomain_install() && is_main_site() ) {
 
 <?php
 if ( is_multisite() && !is_subdomain_install() && is_main_site() ) {
@@ -226,9 +230,9 @@ $structures = array(
 
 <h3 class="title"><?php _e('Optional'); ?></h3>
 <?php
 
 <h3 class="title"><?php _e('Optional'); ?></h3>
 <?php
-$suffix = '';
-if ( ! $is_apache && ! $iis7_permalinks )
-       $suffix = $wp_rewrite->index . '/';
+$suffix = $prefix;
+if ( $suffix )
+       $suffix = ltrim( $suffix, '/' ) . '/';
 ?>
 <p><?php
 /* translators: %s is a placeholder that must come at the start of the URL path. */
 ?>
 <p><?php
 /* translators: %s is a placeholder that must come at the start of the URL path. */
@@ -269,7 +273,7 @@ printf( __('If you like, you may enter custom structures for your category and t
 <p><?php _e('If you temporarily make your site&#8217;s root directory writable for us to generate the <code>web.config</code> file automatically, do not forget to revert the permissions after the file has been created.') ?></p>
                <?php endif; ?>
        <?php endif; ?>
 <p><?php _e('If you temporarily make your site&#8217;s root directory writable for us to generate the <code>web.config</code> file automatically, do not forget to revert the permissions after the file has been created.') ?></p>
                <?php endif; ?>
        <?php endif; ?>
-<?php else :
+<?php elseif ( ! $is_nginx ) :
        if ( $permalink_structure && ! $usingpi && ! $writable ) : ?>
 <p><?php _e('If your <code>.htaccess</code> file were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so these are the mod_rewrite rules you should have in your <code>.htaccess</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all.') ?></p>
 <form action="options-permalink.php" method="post">
        if ( $permalink_structure && ! $usingpi && ! $writable ) : ?>
 <p><?php _e('If your <code>.htaccess</code> file were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so these are the mod_rewrite rules you should have in your <code>.htaccess</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all.') ?></p>
 <form action="options-permalink.php" method="post">
@@ -282,4 +286,4 @@ printf( __('If you like, you may enter custom structures for your category and t
 
 </div>
 
 
 </div>
 
-<?php require('./admin-footer.php'); ?>
+<?php require( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 3ca10df9bb5ac460d3023f0b06438188b607c618..e928b2e3d83b6d5871d1ced8c4ac20cdef5ca56a 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
@@ -72,7 +72,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-include( './admin-header.php' );
+include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -150,7 +150,22 @@ else :
        <input id="blog-norobots" type="radio" name="blog_public" value="0" <?php checked('0', get_option('blog_public')); ?> />
        <label for="blog-norobots"><?php _e( 'Discourage search engines from indexing this site' ); ?></label>
        <p class="description"><?php _e( 'Note: Neither of these options blocks access to your site &mdash; it is up to search engines to honor your request.' ); ?></p>
        <input id="blog-norobots" type="radio" name="blog_public" value="0" <?php checked('0', get_option('blog_public')); ?> />
        <label for="blog-norobots"><?php _e( 'Discourage search engines from indexing this site' ); ?></label>
        <p class="description"><?php _e( 'Note: Neither of these options blocks access to your site &mdash; it is up to search engines to honor your request.' ); ?></p>
-       <?php do_action('blog_privacy_selector'); ?>
+       <?php
+       /**
+        * Enable the legacy 'Site Visibility' privacy options.
+        *
+        * By default the privacy options form displays a single checkbox to 'discourage' search
+        * engines from indexing the site. Hooking to this action serves a dual purpose:
+        * 1. Disable the single checkbox in favor of a multiple-choice list of radio buttons.
+        * 2. Open the door to adding additional radio button choices to the list.
+        *
+        * Hooking to this action also converts the 'Search Engine Visibility' heading to the more
+        * open-ended 'Site Visibility' heading.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'blog_privacy_selector' );
+       ?>
 <?php else : ?>
        <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" value="0" <?php checked( '0', get_option( 'blog_public' ) ); ?> />
        <?php _e( 'Discourage search engines from indexing this site' ); ?></label>
 <?php else : ?>
        <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" value="0" <?php checked( '0', get_option( 'blog_public' ) ); ?> />
        <?php _e( 'Discourage search engines from indexing this site' ); ?></label>
@@ -167,4 +182,4 @@ else :
 <?php submit_button(); ?>
 </form>
 </div>
 <?php submit_button(); ?>
 </form>
 </div>
-<?php include( './admin-footer.php' ); ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 8015bae418b0e9893e2ed7f9497376673f35dcb2..cad326a96a289068f21dbd08f59c530eb0236a08 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
@@ -28,6 +28,7 @@ get_current_screen()->add_help_tab( array(
        'content' => '<p>' . __('Press This is a bookmarklet that makes it easy to blog about something you come across on the web. You can use it to just grab a link, or to post an excerpt. Press This will even allow you to choose from images included on the page and use them in your post. Just drag the Press This link on this screen to your bookmarks bar in your browser, and you&#8217;ll be on your way to easier content creation. Clicking on it while on another website opens a popup window with all these options.') . '</p>',
 ) );
 
        'content' => '<p>' . __('Press This is a bookmarklet that makes it easy to blog about something you come across on the web. You can use it to just grab a link, or to post an excerpt. Press This will even allow you to choose from images included on the page and use them in your post. Just drag the Press This link on this screen to your bookmarks bar in your browser, and you&#8217;ll be on your way to easier content creation. Clicking on it while on another website opens a popup window with all these options.') . '</p>',
 ) );
 
+/** This filter is documented in wp-admin/options.php */
 if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
        get_current_screen()->add_help_tab( array(
                'id'      => 'options-postemail',
 if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
        get_current_screen()->add_help_tab( array(
                'id'      => 'options-postemail',
@@ -36,6 +37,13 @@ if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
        ) );
 }
 
        ) );
 }
 
+/**
+* Toggle site update services configuration functionality.
+*
+* @since 3.0.0
+*
+* @param bool True or false, based on whether update services configuration is enabled or not.
+*/
 if ( apply_filters( 'enable_update_services_configuration', true ) ) {
        get_current_screen()->add_help_tab( array(
                'id'      => 'options-services',
 if ( apply_filters( 'enable_update_services_configuration', true ) ) {
        get_current_screen()->add_help_tab( array(
                'id'      => 'options-services',
@@ -50,7 +58,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-include('./admin-header.php');
+include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -122,7 +130,10 @@ do_settings_fields('writing', 'remote_publishing'); // A deprecated section.
        <p><textarea rows="5" cols="120" readonly="readonly"><?php echo htmlspecialchars( get_shortcut_link() ); ?></textarea></p>
 </div>
 
        <p><textarea rows="5" cols="120" readonly="readonly"><?php echo htmlspecialchars( get_shortcut_link() ); ?></textarea></p>
 </div>
 
-<?php if ( apply_filters( 'enable_post_by_email_configuration', true ) ) { ?>
+<?php
+/** This filter is documented in wp-admin/options.php */
+if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
+?>
 <h3 class="title"><?php _e('Post via e-mail') ?></h3>
 <p><?php printf(__('To post to WordPress by e-mail you must set up a secret e-mail account with POP3 access. Any mail received at this address will be posted, so it&#8217;s a good idea to keep this address very secret. Here are three random strings you could use: <kbd>%s</kbd>, <kbd>%s</kbd>, <kbd>%s</kbd>.'), wp_generate_password(8, false), wp_generate_password(8, false), wp_generate_password(8, false)) ?></p>
 
 <h3 class="title"><?php _e('Post via e-mail') ?></h3>
 <p><?php printf(__('To post to WordPress by e-mail you must set up a secret e-mail account with POP3 access. Any mail received at this address will be posted, so it&#8217;s a good idea to keep this address very secret. Here are three random strings you could use: <kbd>%s</kbd>, <kbd>%s</kbd>, <kbd>%s</kbd>.'), wp_generate_password(8, false), wp_generate_password(8, false), wp_generate_password(8, false)) ?></p>
 
@@ -156,7 +167,10 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_email_categor
 </table>
 <?php } ?>
 
 </table>
 <?php } ?>
 
-<?php if ( apply_filters( 'enable_update_services_configuration', true ) ) { ?>
+<?php
+/** This filter is documented in wp-admin/options-writing.php */
+if ( apply_filters( 'enable_update_services_configuration', true ) ) {
+?>
 <h3 class="title"><?php _e('Update Services') ?></h3>
 
 <?php if ( 1 == get_option('blog_public') ) : ?>
 <h3 class="title"><?php _e('Update Services') ?></h3>
 
 <?php if ( 1 == get_option('blog_public') ) : ?>
@@ -178,4 +192,4 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_email_categor
 </form>
 </div>
 
 </form>
 </div>
 
-<?php include('./admin-footer.php') ?>
+<?php include( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 80a07190df4b8eea0ec8bb477c1483b0a46ef76f..00fb3c0fe53fb02383e368585922229a71397b68 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $title = __('Settings');
 $this_file = 'options.php';
 
 $title = __('Settings');
 $this_file = 'options.php';
@@ -29,6 +29,17 @@ $capability = 'manage_options';
 if ( empty($option_page) ) // This is for back compat and will eventually be removed.
        $option_page = 'options';
 else
 if ( empty($option_page) ) // This is for back compat and will eventually be removed.
        $option_page = 'options';
 else
+
+       /**
+        * Filter the capability required when using the Settings API.
+        *
+        * By default, the options groups for all registered settings require the manage_options capability.
+        * This filter is required to change the capability required for a certain options page.
+        *
+        * @since 3.2.0
+        *
+        * @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 ) )
        $capability = apply_filters( "option_page_capability_{$option_page}", $capability );
 
 if ( !current_user_can( $capability ) )
@@ -96,10 +107,24 @@ if ( !is_multisite() ) {
        $whitelist_options['general'][] = 'new_admin_email';
        $whitelist_options['general'][] = 'WPLANG';
 
        $whitelist_options['general'][] = 'new_admin_email';
        $whitelist_options['general'][] = 'WPLANG';
 
+       /**
+        * Toggle post-by-email functionality.
+        *
+        * @since 3.0.0
+        *
+        * @param bool True or false, based on whether post-by-email configuration is enabled or not.
+        */
        if ( apply_filters( 'enable_post_by_email_configuration', true ) )
                $whitelist_options['writing'] = array_merge($whitelist_options['writing'], $mail_options);
 }
 
        if ( apply_filters( 'enable_post_by_email_configuration', true ) )
                $whitelist_options['writing'] = array_merge($whitelist_options['writing'], $mail_options);
 }
 
+/**
+ * Filter the options white list.
+ *
+ * @since 2.7.0
+ *
+ * @param array White list options.
+ */
 $whitelist_options = apply_filters( 'whitelist_options', $whitelist_options );
 
 /*
 $whitelist_options = apply_filters( 'whitelist_options', $whitelist_options );
 
 /*
@@ -172,7 +197,7 @@ if ( 'update' == $action ) {
        exit;
 }
 
        exit;
 }
 
-include('./admin-header.php'); ?>
+include( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
 <?php screen_icon(); ?>
 
 <div class="wrap">
 <?php screen_icon(); ?>
@@ -228,4 +253,4 @@ endforeach;
 </div>
 
 <?php
 </div>
 
 <?php
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index 2167c1ac74d221d2b3f0192796738a3912c675c4..94925b4897caa9b8f99fece293c0f25e09a54ec4 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( is_multisite() && ! is_network_admin() ) {
        wp_redirect( network_admin_url( 'plugin-editor.php' ) );
 
 if ( is_multisite() && ! is_network_admin() ) {
        wp_redirect( network_admin_url( 'plugin-editor.php' ) );
@@ -94,7 +94,15 @@ default:
 
        // List of allowable extensions
        $editable_extensions = array('php', 'txt', 'text', 'js', 'css', 'html', 'htm', 'xml', 'inc', 'include');
 
        // List of allowable extensions
        $editable_extensions = array('php', 'txt', 'text', 'js', 'css', 'html', 'htm', 'xml', 'inc', 'include');
-       $editable_extensions = (array) apply_filters('editable_extensions', $editable_extensions);
+
+       /**
+        * Filter file type extensions editable in the plugin editor.
+        *
+        * @since 2.8.0
+        *
+        * @param array $editable_extensions An array of editable plugin file extensions.
+        */
+       $editable_extensions = (array) apply_filters( 'editable_extensions', $editable_extensions );
 
        if ( ! is_file($real_file) ) {
                wp_die(sprintf('<p>%s</p>', __('No such file exists! Double check the name and try again.')));
 
        if ( ! is_file($real_file) ) {
                wp_die(sprintf('<p>%s</p>', __('No such file exists! Double check the name and try again.')));
index 25470d61a17eefa5e29cd24fc4f6d84d93a74611..2e89a0e697881bf403b5ce04247c09d9014f5e12 100644 (file)
@@ -9,8 +9,10 @@
 if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && ( 'plugin-information' == $_GET['tab'] ) )
        define( 'IFRAME_REQUEST', true );
 
 if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && ( 'plugin-information' == $_GET['tab'] ) )
        define( 'IFRAME_REQUEST', true );
 
-/** WordPress Administration Bootstrap */
-require_once('./admin.php');
+/**
+ * WordPress Administration Bootstrap.
+ */
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can('install_plugins') )
        wp_die(__('You do not have sufficient permissions to install plugins on this site.'));
 
 if ( ! current_user_can('install_plugins') )
        wp_die(__('You do not have sufficient permissions to install plugins on this site.'));
@@ -33,7 +35,15 @@ if ( 'plugin-information' != $tab )
 
 $body_id = $tab;
 
 
 $body_id = $tab;
 
-do_action('install_plugins_pre_' . $tab); //Used to override the general interface, Eg, install or plugin information.
+/**
+ * Fires before each tab on the Install Plugins screen is loaded.
+ *
+ * The dynamic portion of the action hook, $tab, allows for targeting
+ * individual tabs, for instance 'install_plugins_pre_plugin-information'.
+ *
+ * @since 2.7.0
+ */
+do_action( "install_plugins_pre_$tab" );
 
 get_current_screen()->add_help_tab( array(
 'id'           => 'overview',
 
 get_current_screen()->add_help_tab( array(
 'id'           => 'overview',
@@ -57,6 +67,9 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+/**
+ * WordPress Administration Template Header.
+ */
 include(ABSPATH . 'wp-admin/admin-header.php');
 ?>
 <div class="wrap">
 include(ABSPATH . 'wp-admin/admin-header.php');
 ?>
 <div class="wrap">
@@ -66,7 +79,22 @@ include(ABSPATH . 'wp-admin/admin-header.php');
 <?php $wp_list_table->views(); ?>
 
 <br class="clear" />
 <?php $wp_list_table->views(); ?>
 
 <br class="clear" />
-<?php do_action('install_plugins_' . $tab, $paged); ?>
+<?php
+/**
+ * Fires after the plugins list table in each tab of the Install Plugins screen.
+ *
+ * The dynamic portion of the action hook, $tab, allows for targeting
+ * individual tabs, for instance 'install_plugins_plugin-information'.
+ *
+ * @since 2.7.0
+ *
+ * @param int $paged The current page number of the plugins list table.
+ */
+?>
+<?php do_action( "install_plugins_$tab", $paged ); ?>
 </div>
 <?php
 </div>
 <?php
+/**
+ * WordPress Administration Template Footer.
+ */
 include(ABSPATH . 'wp-admin/admin-footer.php');
 include(ABSPATH . 'wp-admin/admin-footer.php');
index c371b6410f5d703f6098bad207b08c0409cd90a2..b587c66ed566b03875f087155997d11f5176d1b4 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can('activate_plugins') )
        wp_die( __( 'You do not have sufficient permissions to manage plugins for this site.' ) );
 
 if ( ! current_user_can('activate_plugins') )
        wp_die( __( 'You do not have sufficient permissions to manage plugins for this site.' ) );
index 4d7df63c94107788d467cf511190dbd7855470c3..79896c3b789a738b52591ffbc4a45ca4ee21a1d6 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( !isset($_GET['post_type']) )
        $post_type = 'post';
 
 if ( !isset($_GET['post_type']) )
        $post_type = 'post';
@@ -22,8 +22,8 @@ if ( 'post' == $post_type ) {
        $parent_file = 'edit.php';
        $submenu_file = 'post-new.php';
 } elseif ( 'attachment' == $post_type ) {
        $parent_file = 'edit.php';
        $submenu_file = 'post-new.php';
 } elseif ( 'attachment' == $post_type ) {
-       wp_redirect( admin_url( 'media-new.php' ) );
-       exit;
+       if ( wp_redirect( admin_url( 'media-new.php' ) ) )
+               exit;
 } else {
        $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 ) {
 } else {
        $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 ) {
@@ -62,5 +62,5 @@ if ( is_multisite() ) {
 // Show post form.
 $post = get_default_post_to_edit( $post_type, true );
 $post_ID = $post->ID;
 // Show post form.
 $post = get_default_post_to_edit( $post_type, true );
 $post_ID = $post->ID;
-include('edit-form-advanced.php');
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/edit-form-advanced.php' );
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index eab89e6b09e649511c3c58562e8bbfa8a349d565..b832004ff7541202cfc4d584155aa2376b5ad685 100644 (file)
@@ -9,7 +9,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $parent_file = 'edit.php';
 $submenu_file = 'edit.php';
 
 $parent_file = 'edit.php';
 $submenu_file = 'edit.php';
@@ -195,7 +195,7 @@ case 'edit':
                enqueue_comment_hotkeys_js();
        }
 
                enqueue_comment_hotkeys_js();
        }
 
-       include('./edit-form-advanced.php');
+       include( ABSPATH . 'wp-admin/edit-form-advanced.php' );
 
        break;
 
 
        break;
 
@@ -309,4 +309,4 @@ default:
        exit();
        break;
 } // end switch
        exit();
        break;
 } // end switch
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index 0f2be6c539872e8217648bf4210fd6fe515f9bbf..5e9e2596112d5afd2927f2a4e855dcb30ab84021 100644 (file)
@@ -9,7 +9,7 @@
 define('IFRAME_REQUEST' , true);
 
 /** WordPress Administration Bootstrap */
 define('IFRAME_REQUEST' , true);
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
 
 
 header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
 
@@ -309,9 +309,13 @@ var photostorage = false;
 </script>
 
 <?php
 </script>
 
 <?php
-       do_action('admin_print_styles');
-       do_action('admin_print_scripts');
-       do_action('admin_head');
+       do_action( 'admin_enqueue_scripts', 'press-this.php' );
+       do_action( 'admin_print_styles-press-this.php' );
+       do_action( 'admin_print_styles' );
+       do_action( 'admin_print_scripts-press-this.php' );
+       do_action( 'admin_print_scripts' );
+       do_action( 'admin_head-press-this.php' );
+       do_action( 'admin_head' );
 ?>
        <script type="text/javascript">
        var wpActiveEditor = 'content';
 ?>
        <script type="text/javascript">
        var wpActiveEditor = 'content';
index c5021f169e040c288d3ce9a7dfc9889dedce469a..0f33eb2c9cc6293171afb26354095e4a62b0851d 100644 (file)
@@ -15,4 +15,4 @@
 define('IS_PROFILE_PAGE', true);
 
 /** Load User Editing Page */
 define('IS_PROFILE_PAGE', true);
 
 /** Load User Editing Page */
-require_once('./user-edit.php');
+require_once( dirname( __FILE__ ) . '/user-edit.php' );
index b6b4ae821e640631b168cc773800ad22ba41b84f..7d1ce8121ea26ef4cd144533fbf0ff1d38b8bd8c 100644 (file)
@@ -1,13 +1,22 @@
 <?php
 /**
 <?php
 /**
- * Revisions administration panel.
+ * Revisions administration panel
+ *
+ * Requires wp-admin/includes/revision.php.
  *
  * @package WordPress
  * @subpackage Administration
  *
  * @package WordPress
  * @subpackage Administration
+ * @since 2.6.0
+ *
+ * @param int    revision Optional. The revision ID.
+ * @param string action   The action to take.
+ *                        Accepts 'restore', 'view' or 'edit'.
+ * @param int    from     The revision to compare from.
+ * @param int    to       Optional, required if revision missing. The revision to compare to.
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 require ABSPATH . 'wp-admin/includes/revision.php';
 
 
 require ABSPATH . 'wp-admin/includes/revision.php';
 
@@ -110,7 +119,7 @@ $revisions_sidebar .= '<p>' . __( '<a href="http://wordpress.org/support/" targe
 
 get_current_screen()->set_help_sidebar( $revisions_sidebar );
 
 
 get_current_screen()->set_help_sidebar( $revisions_sidebar );
 
-require_once( './admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 
 
 ?>
 
@@ -207,4 +216,4 @@ require_once( './admin-header.php' );
 
 
 <?php
 
 
 <?php
-require_once( './admin-footer.php' );
+require_once( ABSPATH . 'wp-admin/admin-footer.php' );
index 82d06e99dc6ad959a6d40d8e87e8792e4dbe9015..d8ae3560605f04acd12f649ca7ad3c5c3205fabe 100644 (file)
@@ -55,6 +55,9 @@ wp_load_translations_early();
 // Turn register_globals off.
 wp_unregister_GLOBALS();
 
 // Turn register_globals off.
 wp_unregister_GLOBALS();
 
+// 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');
 require_once(ABSPATH . WPINC . '/compat.php');
 require_once(ABSPATH . WPINC . '/class-wp-error.php');
 require_once(ABSPATH . WPINC . '/formatting.php');
@@ -62,11 +65,14 @@ require_once(ABSPATH . WPINC . '/formatting.php');
 // Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
 wp_magic_quotes();
 
 // Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
 wp_magic_quotes();
 
-if ( ! file_exists( ABSPATH . 'wp-config-sample.php' ) )
+// Support wp-config-sample.php one level up, for the develop repo.
+if ( file_exists( ABSPATH . 'wp-config-sample.php' ) )
+       $config_file = file( ABSPATH . 'wp-config-sample.php' );
+elseif ( file_exists( dirname( ABSPATH ) . '/wp-config-sample.php' ) )
+       $config_file = file( dirname( ABSPATH ) . '/wp-config-sample.php' );
+else
        wp_die( __( 'Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.' ) );
 
        wp_die( __( 'Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.' ) );
 
-$config_file = file(ABSPATH . 'wp-config-sample.php');
-
 // Check if wp-config.php has been created
 if ( file_exists( ABSPATH . 'wp-config.php' ) )
        wp_die( '<p>' . sprintf( __( "The file 'wp-config.php' already exists. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='%s'>installing now</a>." ), 'install.php' ) . '</p>' );
 // Check if wp-config.php has been created
 if ( file_exists( ABSPATH . 'wp-config.php' ) )
        wp_die( '<p>' . sprintf( __( "The file 'wp-config.php' already exists. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='%s'>installing now</a>." ), 'install.php' ) . '</p>' );
@@ -195,12 +201,11 @@ switch($step) {
        if ( ! $no_api ) {
                require_once( ABSPATH . WPINC . '/class-http.php' );
                require_once( ABSPATH . WPINC . '/http.php' );
        if ( ! $no_api ) {
                require_once( ABSPATH . WPINC . '/class-http.php' );
                require_once( ABSPATH . WPINC . '/http.php' );
-               wp_fix_server_vars();
                /**#@+
                 * @ignore
                 */
                function get_bloginfo() {
                /**#@+
                 * @ignore
                 */
                function get_bloginfo() {
-                       return ( ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . str_replace( $_SERVER['PHP_SELF'], '/wp-admin/setup-config.php', '' ) );
+                       return wp_guess_url();
                }
                /**#@-*/
                $secret_keys = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' );
                }
                /**#@-*/
                $secret_keys = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' );
@@ -275,12 +280,19 @@ el.select();
 </script>
 <?php
        else :
 </script>
 <?php
        else :
-               $handle = fopen(ABSPATH . 'wp-config.php', 'w');
+               // 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
+                       $path_to_wp_config = dirname( ABSPATH ) . '/wp-config.php';
+
+               $handle = fopen( $path_to_wp_config, 'w' );
                foreach( $config_file as $line ) {
                foreach( $config_file as $line ) {
-                       fwrite($handle, $line);
+                       fwrite( $handle, $line );
                }
                }
-               fclose($handle);
-               chmod(ABSPATH . 'wp-config.php', 0666);
+               fclose( $handle );
+               chmod( $path_to_wp_config, 0666 );
                setup_config_display_header();
 ?>
 <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>
                setup_config_display_header();
 ?>
 <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>
index 8f95cab11f23fbf66299044f61b34858f7bd91ff..7d1c61897def2a10689116f031d2771d330fb5ea 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( is_multisite() && ! is_network_admin() ) {
        wp_redirect( network_admin_url( 'theme-editor.php' ) );
 
 if ( is_multisite() && ! is_network_admin() ) {
        wp_redirect( network_admin_url( 'theme-editor.php' ) );
@@ -30,7 +30,7 @@ get_current_screen()->add_help_tab( array(
        <p id="newcontent-description">' . __('In the editing area the Tab key enters a tab character. To move below this area by pressing Tab, press the Esc key followed by the Tab key.') . '</p>
        <p>' . __('After typing in your edits, click Update File.') . '</p>
        <p>' . __('<strong>Advice:</strong> think very carefully about your site crashing if you are live-editing the theme currently in use.') . '</p>
        <p id="newcontent-description">' . __('In the editing area the Tab key enters a tab character. To move below this area by pressing Tab, press the Esc key followed by the Tab key.') . '</p>
        <p>' . __('After typing in your edits, click Update File.') . '</p>
        <p>' . __('<strong>Advice:</strong> think very carefully about your site crashing if you are live-editing the theme currently in use.') . '</p>
-       <p>' . __('Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a <a href="http://codex.wordpress.org/Child_Themes" target="_blank">child theme</a> instead.') . '</p>' .
+       <p>' . sprintf( __('Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a <a href="%s" target="_blank">child theme</a> instead.'), __('http://codex.wordpress.org/Child_Themes') ) . '</p>' .
        ( is_network_admin() ? '<p>' . __('Any edits to files from this screen will be reflected on all sites in the network.') . '</p>' : '' )
 ) );
 
        ( is_network_admin() ? '<p>' . __('Any edits to files from this screen will be reflected on all sites in the network.') . '</p>' : '' )
 ) );
 
index 14d9f52e84cfa92145129c109c0884abaa68f363..07f42d7ee218088716430960d72144cee31a338d 100644 (file)
@@ -10,7 +10,7 @@ if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && ( 'theme-informati
        define( 'IFRAME_REQUEST', true );
 
 /** WordPress Administration Bootstrap */
        define( 'IFRAME_REQUEST', true );
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can('install_themes') )
        wp_die( __( 'You do not have sufficient permissions to install themes on this site.' ) );
 
 if ( ! current_user_can('install_themes') )
        wp_die( __( 'You do not have sufficient permissions to install themes on this site.' ) );
index 14ed887da02a8dade8cae4d6de153df928fb70af..edb0cad96f3b17929cae100760db6e9a9559d6ca 100644 (file)
@@ -7,13 +7,15 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( !current_user_can('switch_themes') && !current_user_can('edit_theme_options') )
        wp_die( __( 'Cheatin&#8217; uh?' ) );
 
 $wp_list_table = _get_list_table('WP_Themes_List_Table');
 
 
 if ( !current_user_can('switch_themes') && !current_user_can('edit_theme_options') )
        wp_die( __( 'Cheatin&#8217; uh?' ) );
 
 $wp_list_table = _get_list_table('WP_Themes_List_Table');
 
+$_SERVER['REQUEST_URI'] = remove_query_arg( array( 's', 'features', '_ajax_fetch_list_nonce', '_wp_http_referer', 'paged' ), $_SERVER['REQUEST_URI'] );
+
 if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
        if ( 'activate' == $_GET['action'] ) {
                check_admin_referer('switch-theme_' . $_GET['stylesheet']);
 if ( current_user_can( 'switch_themes' ) && isset($_GET['action'] ) ) {
        if ( 'activate' == $_GET['action'] ) {
                check_admin_referer('switch-theme_' . $_GET['stylesheet']);
@@ -91,7 +93,7 @@ get_current_screen()->set_help_sidebar(
 wp_enqueue_script( 'theme' );
 wp_enqueue_script( 'customize-loader' );
 
 wp_enqueue_script( 'theme' );
 wp_enqueue_script( 'customize-loader' );
 
-require_once('./admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap"><?php
 ?>
 
 <div class="wrap"><?php
@@ -139,6 +141,15 @@ $customize_title = sprintf( __( 'Customize &#8220;%s&#8221;' ), $ct->display('Na
                <?php echo $ct->display('Name'); ?>
        </h4>
 
                <?php echo $ct->display('Name'); ?>
        </h4>
 
+<?php
+if ( $ct->errors() && ( ! is_multisite() || current_user_can( 'manage_network_themes' ) ) ) {
+       echo '<p class="error-message">' . sprintf( __( 'ERROR: %s' ), $ct->errors()->get_error_message() ) . '</p>';
+}
+
+// Certain error codes are less fatal than others. We can still display theme information in most cases.
+if ( ! $ct->errors() || ( 1 == count( $ct->errors()->get_error_codes() )
+       && in_array( $ct->errors()->get_error_code(), array( 'theme_no_parent', 'theme_parent_invalid', 'theme_no_index' ) ) ) ) : ?>
+
        <div>
                <ul class="theme-info">
                        <li><?php printf( __('By %s'), $ct->display('Author') ); ?></li>
        <div>
                <ul class="theme-info">
                        <li><?php printf( __('By %s'), $ct->display('Author') ); ?></li>
@@ -207,13 +218,15 @@ $customize_title = sprintf( __( 'Customize &#8220;%s&#8221;' ), $ct->display('Na
        endif; // options || edit_theme_options
        ?>
 
        endif; // options || edit_theme_options
        ?>
 
+<?php endif; // theme errors ?>
+
 </div>
 
 <br class="clear" />
 <?php
 if ( ! current_user_can( 'switch_themes' ) ) {
        echo '</div>';
 </div>
 
 <br class="clear" />
 <?php
 if ( ! current_user_can( 'switch_themes' ) ) {
        echo '</div>';
-       require( './admin-footer.php' );
+       require( ABSPATH . 'wp-admin/admin-footer.php' );
        exit;
 }
 ?>
        exit;
 }
 ?>
@@ -292,11 +305,9 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_
                <th><?php _e('Description'); ?></th>
        </tr>
 <?php
                <th><?php _e('Description'); ?></th>
        </tr>
 <?php
-       $alt = '';
        foreach ( $broken_themes as $broken_theme ) {
        foreach ( $broken_themes as $broken_theme ) {
-               $alt = ('class="alternate"' == $alt) ? '' : 'class="alternate"';
                echo "
                echo "
-               <tr $alt>
+               <tr>
                         <td>" . $broken_theme->get('Name') ."</td>
                         <td>" . $broken_theme->errors()->get_error_message() . "</td>
                </tr>";
                         <td>" . $broken_theme->get('Name') ."</td>
                         <td>" . $broken_theme->errors()->get_error_message() . "</td>
                </tr>";
@@ -308,4 +319,4 @@ if ( ! is_multisite() && current_user_can('edit_themes') && $broken_themes = wp_
 ?>
 </div>
 
 ?>
 </div>
 
-<?php require('./admin-footer.php'); ?>
+<?php require( ABSPATH . 'wp-admin/admin-footer.php' ); ?>
index 387be90356c31989e9bfb74662525d539d87cf0c..4fab0bdaf8ff756e36ff3a08134be0256b442fac 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 $title = __('Tools');
 
 
 $title = __('Tools');
 
@@ -29,7 +29,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
        '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
-require_once('./admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 ?>
 <div class="wrap">
 
 ?>
 <div class="wrap">
@@ -68,4 +68,4 @@ do_action( 'tool_box' );
 ?>
 </div>
 <?php
 ?>
 </div>
 <?php
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index c8f58774296342707420dde77afec63f04a923d1..99887d3607d513ba26528b2016f74162412edcaa 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_enqueue_style( 'plugin-install' );
 wp_enqueue_script( 'plugin-install' );
 
 wp_enqueue_style( 'plugin-install' );
 wp_enqueue_script( 'plugin-install' );
@@ -22,11 +22,17 @@ if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_themes'
        wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
 
 function list_core_update( $update ) {
        wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
 
 function list_core_update( $update ) {
-       global $wp_local_package, $wpdb;
-       static $first_pass = true;
+       global $wp_local_package, $wpdb, $wp_version;
+       static $first_pass = true;
+
+       if ( 'en_US' == $update->locale && 'en_US' == get_locale() )
+               $version_string = $update->current;
+       // If the only available update is a partial builds, it doesn't need a language-specific version string.
+       elseif ( 'en_US' == $update->locale && $update->packages->partial && $wp_version == $update->partial_version && ( $updates = get_core_updates() ) && 1 == count( $updates ) )
+               $version_string = $update->current;
+       else
+               $version_string = sprintf( "%s&ndash;<strong>%s</strong>", $update->current, $update->locale );
 
 
-       $version_string = ('en_US' == $update->locale && 'en_US' == get_locale() ) ?
-                       $update->current : sprintf("%s&ndash;<strong>%s</strong>", $update->current, $update->locale);
        $current = false;
        if ( !isset($update->response) || 'latest' == $update->response )
                $current = true;
        $current = false;
        if ( !isset($update->response) || 'latest' == $update->response )
                $current = true;
@@ -40,7 +46,7 @@ function list_core_update( $update ) {
                $download = __('Download nightly build');
        } else {
                if ( $current ) {
                $download = __('Download nightly build');
        } else {
                if ( $current ) {
-                       $message = sprintf(__('You have the latest version of WordPress. You do not need to update. However, if you want to re-install version %s, you can do so automatically or download the package and re-install manually:'), $version_string);
+                       $message = sprintf( __( 'If you need to re-install version %s, you can do so here or download the package and re-install manually:' ), $version_string );
                        $submit = __('Re-install Now');
                        $form_action = 'update-core.php?action=do-core-reinstall';
                } else {
                        $submit = __('Re-install Now');
                        $form_action = 'update-core.php?action=do-core-reinstall';
                } else {
@@ -89,7 +95,8 @@ function list_core_update( $update ) {
        echo '</p>';
        if ( 'en_US' != $update->locale && ( !isset($wp_local_package) || $wp_local_package != $update->locale ) )
            echo '<p class="hint">'.__('This localized version contains both the translation and various other localization fixes. You can skip upgrading if you want to keep your current translation.').'</p>';
        echo '</p>';
        if ( 'en_US' != $update->locale && ( !isset($wp_local_package) || $wp_local_package != $update->locale ) )
            echo '<p class="hint">'.__('This localized version contains both the translation and various other localization fixes. You can skip upgrading if you want to keep your current translation.').'</p>';
-       else if ( 'en_US' == $update->locale && get_locale() != 'en_US' ) {
+       // Partial builds don't need language-specific warnings.
+       elseif ( 'en_US' == $update->locale && get_locale() != 'en_US' && ( ! $update->packages->partial && $wp_version == $update->partial_version ) ) {
            echo '<p class="hint">'.sprintf( __('You are about to install WordPress %s <strong>in English (US).</strong> There is a chance this update will break your translation. You may prefer to wait for the localized version to be released.'), $update->response != 'development' ? $update->current : '' ).'</p>';
        }
        echo '</form>';
            echo '<p class="hint">'.sprintf( __('You are about to install WordPress %s <strong>in English (US).</strong> There is a chance this update will break your translation. You may prefer to wait for the localized version to be released.'), $update->response != 'development' ? $update->current : '' ).'</p>';
        }
        echo '</form>';
@@ -131,13 +138,27 @@ function dismissed_updates() {
  * @return null
  */
 function core_upgrade_preamble() {
  * @return null
  */
 function core_upgrade_preamble() {
-       global $wp_version;
+       global $wp_version, $required_php_version, $required_mysql_version;
 
        $updates = get_core_updates();
 
        if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) {
                echo '<h3>';
                _e('You have the latest version of WordPress.');
 
        $updates = get_core_updates();
 
        if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) {
                echo '<h3>';
                _e('You have the latest version of WordPress.');
+
+               if ( wp_http_supports( 'ssl' ) ) {
+                       require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+                       $upgrader = new WP_Automatic_Updater;
+                       $future_minor_update = (object) array(
+                               'current'       => $wp_version . '.1.next.minor',
+                               'version'       => $wp_version . '.1.next.minor',
+                               'php_version'   => $required_php_version,
+                               'mysql_version' => $required_mysql_version,
+                       );
+                       $should_auto_update = $upgrader->should_update( 'core', $future_minor_update, ABSPATH );
+                       if ( $should_auto_update )
+                               echo ' ' . __( 'Future security updates will be applied automatically.' );
+               }
                echo '</h3>';
        } else {
                echo '<div class="updated inline"><p>';
                echo '</h3>';
        } else {
                echo '<div class="updated inline"><p>';
@@ -149,6 +170,13 @@ function core_upgrade_preamble() {
                echo '</h3>';
        }
 
                echo '</h3>';
        }
 
+       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>';
+       }
+
        echo '<ul class="core-updates">';
        $alternate = true;
        foreach( (array) $updates as $update ) {
        echo '<ul class="core-updates">';
        $alternate = true;
        foreach( (array) $updates as $update ) {
@@ -157,9 +185,10 @@ function core_upgrade_preamble() {
                echo '</li>';
        }
        echo '</ul>';
                echo '</li>';
        }
        echo '</ul>';
-       if ( $updates ) {
+       // Don't show the maintenance mode notice when we are only showing a single re-install option.
+       if ( $updates && ( count( $updates ) > 1 || $updates[0]->response != 'latest' ) ) {
                echo '<p>' . __( 'While your site is being updated, it will be in maintenance mode. As soon as your updates are complete, your site will return to normal.' ) . '</p>';
                echo '<p>' . __( 'While your site is being updated, it will be in maintenance mode. As soon as your updates are complete, your site will return to normal.' ) . '</p>';
-       } else {
+       } elseif ( ! $updates ) {
                list( $normalized_version ) = explode( '-', $wp_version );
                echo '<p>' . sprintf( __( '<a href="%s">Learn more about WordPress %s</a>.' ), esc_url( self_admin_url( 'about.php' ) ), $normalized_version ) . '</p>';
        }
                list( $normalized_version ) = explode( '-', $wp_version );
                echo '<p>' . sprintf( __( '<a href="%s">Learn more about WordPress %s</a>.' ), esc_url( self_admin_url( 'about.php' ) ), $normalized_version ) . '</p>';
        }
@@ -265,7 +294,7 @@ function list_theme_updates() {
 ?>
 <h3><?php _e( 'Themes' ); ?></h3>
 <p><?php _e( 'The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.' ); ?></p>
 ?>
 <h3><?php _e( 'Themes' ); ?></h3>
 <p><?php _e( 'The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.' ); ?></p>
-<p><?php printf( __('<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.'), _x('http://codex.wordpress.org/Child_Themes', 'Link used in suggestion to use child themes in GUU') ); ?></p>
+<p><?php printf( __( '<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.' ), __( 'http://codex.wordpress.org/Child_Themes' ) ); ?></p>
 <form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-themes" class="upgrade">
 <?php wp_nonce_field('upgrade-core'); ?>
 <p><input id="upgrade-themes" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
 <form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-themes" class="upgrade">
 <?php wp_nonce_field('upgrade-core'); ?>
 <p><input id="upgrade-themes" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
@@ -300,6 +329,27 @@ function list_theme_updates() {
 <?php
 }
 
 <?php
 }
 
+function list_translation_updates() {
+       $updates = wp_get_translation_updates();
+       if ( ! $updates ) {
+               if ( 'en_US' != get_locale() ) {
+                       echo '<h3>' . __( 'Translations' ) . '</h3>';
+                       echo '<p>' . __( 'Your translations are all up to date.' ) . '</p>';
+               }
+               return;
+       }
+
+       $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">
+               <p><?php _e( 'Some of your translations are out of date.' ); ?></p>
+               <?php wp_nonce_field('upgrade-translations'); ?>
+               <p><input class="button" type="submit" value="<?php esc_attr_e( 'Update Translations' ); ?>" name="upgrade" /></p>
+       </form>
+       <?php
+}
+
 /**
  * Upgrade WordPress core display.
  *
 /**
  * Upgrade WordPress core display.
  *
@@ -310,13 +360,13 @@ function list_theme_updates() {
 function do_core_upgrade( $reinstall = false ) {
        global $wp_filesystem;
 
 function do_core_upgrade( $reinstall = false ) {
        global $wp_filesystem;
 
+       include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+
        if ( $reinstall )
                $url = 'update-core.php?action=do-core-reinstall';
        else
                $url = 'update-core.php?action=do-core-upgrade';
        $url = wp_nonce_url($url, 'upgrade-core');
        if ( $reinstall )
                $url = 'update-core.php?action=do-core-reinstall';
        else
                $url = 'update-core.php?action=do-core-upgrade';
        $url = wp_nonce_url($url, 'upgrade-core');
-       if ( false === ($credentials = request_filesystem_credentials($url, '', false, ABSPATH)) )
-               return;
 
        $version = isset( $_POST['version'] )? $_POST['version'] : false;
        $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
 
        $version = isset( $_POST['version'] )? $_POST['version'] : false;
        $locale = isset( $_POST['locale'] )? $_POST['locale'] : 'en_US';
@@ -324,15 +374,24 @@ function do_core_upgrade( $reinstall = false ) {
        if ( !$update )
                return;
 
        if ( !$update )
                return;
 
-       if ( ! WP_Filesystem($credentials, ABSPATH) ) {
-               request_filesystem_credentials($url, '', true, ABSPATH); //Failed to connect, Error and request again
-               return;
-       }
 ?>
        <div class="wrap">
        <?php screen_icon('tools'); ?>
        <h2><?php _e('Update WordPress'); ?></h2>
 <?php
 ?>
        <div class="wrap">
        <?php screen_icon('tools'); ?>
        <h2><?php _e('Update WordPress'); ?></h2>
 <?php
+
+       if ( false === ( $credentials = request_filesystem_credentials( $url, '', false, ABSPATH ) ) ) {
+               echo '</div>';
+               return;
+       }
+
+       if ( ! WP_Filesystem( $credentials, ABSPATH ) ) {
+               // Failed to connect, Error and request again
+               request_filesystem_credentials( $url, '', true, ABSPATH );
+               echo '</div>';
+               return;
+       }
+
        if ( $wp_filesystem->errors->get_error_code() ) {
                foreach ( $wp_filesystem->errors->get_error_messages() as $message )
                        show_message($message);
        if ( $wp_filesystem->errors->get_error_code() ) {
                foreach ( $wp_filesystem->errors->get_error_messages() as $message )
                        show_message($message);
@@ -343,7 +402,10 @@ function do_core_upgrade( $reinstall = false ) {
        if ( $reinstall )
                $update->response = 'reinstall';
 
        if ( $reinstall )
                $update->response = 'reinstall';
 
-       $result = wp_update_core($update, 'show_message');
+       add_filter( 'update_feedback', 'show_message' );
+
+       $upgrader = new Core_Upgrader();
+       $result = $upgrader->upgrade( $update );
 
        if ( is_wp_error($result) ) {
                show_message($result);
 
        if ( is_wp_error($result) ) {
                show_message($result);
@@ -448,12 +510,15 @@ if ( 'upgrade-core' == $action ) {
        echo ' &nbsp; <a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Check Again' ) . '</a>';
        echo '</p>';
 
        echo ' &nbsp; <a class="button" href="' . esc_url( self_admin_url('update-core.php') ) . '">' . __( 'Check Again' ) . '</a>';
        echo '</p>';
 
-       if ( current_user_can( 'update_core' ) )
+       if ( $core = current_user_can( 'update_core' ) )
                core_upgrade_preamble();
                core_upgrade_preamble();
-       if ( current_user_can( 'update_plugins' ) )
+       if ( $plugins = current_user_can( 'update_plugins' ) )
                list_plugin_updates();
                list_plugin_updates();
-       if ( current_user_can( 'update_themes' ) )
+       if ( $themes = current_user_can( 'update_themes' ) )
                list_theme_updates();
                list_theme_updates();
+       if ( $core || $plugins || $themes )
+               list_translation_updates();
+       unset( $core, $plugins, $themes );
        do_action('core_upgrade_preamble');
        echo '</div>';
        include(ABSPATH . 'wp-admin/admin-footer.php');
        do_action('core_upgrade_preamble');
        echo '</div>';
        include(ABSPATH . 'wp-admin/admin-footer.php');
@@ -541,6 +606,26 @@ if ( 'upgrade-core' == $action ) {
        echo '</div>';
        include(ABSPATH . 'wp-admin/admin-footer.php');
 
        echo '</div>';
        include(ABSPATH . 'wp-admin/admin-footer.php');
 
+} elseif ( 'do-translation-upgrade' == $action ) {
+
+       if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_plugins' ) && ! current_user_can( 'update_themes' ) )
+               wp_die( __( 'You do not have sufficient permissions to update this site.' ) );
+
+       check_admin_referer( 'upgrade-translations' );
+
+       require_once( ABSPATH . 'wp-admin/admin-header.php' );
+       include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
+
+       $url = 'update-core.php?action=do-translation-upgrade';
+       $nonce = 'upgrade-translations';
+       $title = __( 'Update Translations' );
+       $context = WP_LANG_DIR;
+
+       $upgrader = new Language_Pack_Upgrader( new Language_Pack_Upgrader_Skin( compact( 'url', 'nonce', 'title', 'context' ) ) );
+       $result = $upgrader->bulk_upgrade();
+
+       require_once( ABSPATH . 'wp-admin/admin-footer.php' );
+
 } else {
        do_action('update-core-custom_' . $action);
 } else {
        do_action('update-core-custom_' . $action);
-}
\ No newline at end of file
+}
index caed6e794db5e4a73c747c7258775e0990d8b8b4..b89ada27deeeeee7185e050d1a166fd35e910fab 100644 (file)
@@ -10,7 +10,7 @@ if ( ! defined( 'IFRAME_REQUEST' ) && isset( $_GET['action'] ) && in_array( $_GE
        define( 'IFRAME_REQUEST', true );
 
 /** WordPress Administration Bootstrap */
        define( 'IFRAME_REQUEST', true );
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+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';
 
index b04287735d6611cb4b14f263c882bf4944fa092e..24fe9760290d8afeceefe9ffd78e6a17ef5b603a 100644 (file)
@@ -15,7 +15,7 @@
 define( 'WP_INSTALLING', true );
 
 /** Load WordPress Bootstrap */
 define( 'WP_INSTALLING', true );
 
 /** Load WordPress Bootstrap */
-require( '../wp-load.php' );
+require( dirname( dirname( __FILE__ ) ) . '/wp-load.php' );
 
 nocache_headers();
 
 
 nocache_headers();
 
index 8dec1302a1629e32ef8286ebb35efdb1675a7428..64d0f84676556b3f170fb1008ad3fbe6e058e62a 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( !current_user_can('upload_files') )
        wp_die( __( 'You do not have permission to upload files.' ) );
 
 if ( !current_user_can('upload_files') )
        wp_die( __( 'You do not have permission to upload files.' ) );
@@ -173,7 +173,7 @@ get_current_screen()->set_help_sidebar(
        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
        '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
-require_once('./admin-header.php');
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
 ?>
 
 <div class="wrap">
@@ -247,4 +247,4 @@ if ( !empty($message) ) { ?>
 </div>
 
 <?php
 </div>
 
 <?php
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index bb9119f2217f47f25d7299660a649e139a9b32aa..5f7249d862a7a76ab363c0301be6621c78162e96 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 wp_reset_vars( array( 'action', 'user_id', 'wp_http_referer' ) );
 
 
 wp_reset_vars( array( 'action', 'user_id', 'wp_http_referer' ) );
 
@@ -205,7 +205,7 @@ if ( ! IS_PROFILE_PAGE ) {
 <?php if ( rich_edit_exists() && !( IS_PROFILE_PAGE && !$user_can_edit ) ) : // don't bother showing the option if the editor has been removed ?>
        <tr>
                <th scope="row"><?php _e('Visual Editor')?></th>
 <?php if ( rich_edit_exists() && !( IS_PROFILE_PAGE && !$user_can_edit ) ) : // don't bother showing the option if the editor has been removed ?>
        <tr>
                <th scope="row"><?php _e('Visual Editor')?></th>
-               <td><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" <?php checked('false', $profileuser->rich_editing); ?> /> <?php _e('Disable the visual editor when writing'); ?></label></td>
+               <td><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" <?php if ( ! empty( $profileuser->rich_editing ) ) checked( 'false', $profileuser->rich_editing ); ?> /> <?php _e( 'Disable the visual editor when writing' ); ?></label></td>
        </tr>
 <?php endif; ?>
 <?php if ( count($_wp_admin_css_colors) > 1 && has_action('admin_color_scheme_picker') ) : ?>
        </tr>
 <?php endif; ?>
 <?php if ( count($_wp_admin_css_colors) > 1 && has_action('admin_color_scheme_picker') ) : ?>
@@ -218,7 +218,7 @@ endif; // $_wp_admin_css_colors
 if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) : ?>
 <tr>
 <th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
 if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) : ?>
 <tr>
 <th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
-<td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( !empty($profileuser->comment_shortcuts) ) checked('true', $profileuser->comment_shortcuts); ?> /> <?php _e('Enable keyboard shortcuts for comment moderation.'); ?></label> <?php _e('<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>'); ?></td>
+<td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( ! empty( $profileuser->comment_shortcuts ) ) checked( 'true', $profileuser->comment_shortcuts ); ?> /> <?php _e('Enable keyboard shortcuts for comment moderation.'); ?></label> <?php _e('<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>'); ?></td>
 </tr>
 <?php endif; ?>
 <tr class="show-admin-bar">
 </tr>
 <?php endif; ?>
 <tr class="show-admin-bar">
@@ -350,7 +350,7 @@ if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_c
 </tr>
 
 <?php
 </tr>
 
 <?php
-       foreach (_wp_get_user_contactmethods( $profileuser ) as $name => $desc) {
+       foreach ( wp_get_user_contact_methods( $profileuser ) as $name => $desc ) {
 ?>
 <tr>
        <th><label for="<?php echo $name; ?>"><?php echo apply_filters('user_'.$name.'_label', $desc); ?></label></th>
 ?>
 <tr>
        <th><label for="<?php echo $name; ?>"><?php echo apply_filters('user_'.$name.'_label', $desc); ?></label></th>
index 33b819641580af3724e125b82c8e4094ae007de5..60d63b2fd348f1389063d648ed392b641dd9d171 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once('./admin.php');
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( is_multisite() ) {
        if ( ! current_user_can( 'create_users' ) && ! current_user_can( 'promote_users' ) )
 
 if ( is_multisite() ) {
        if ( ! current_user_can( 'create_users' ) && ! current_user_can( 'promote_users' ) )
@@ -111,12 +111,19 @@ Please click the following link to confirm the invite:
                        die();
                }
        } else {
                        die();
                }
        } else {
-               // Adding a new user to this blog
+               // Adding a new user to this site
                $user_details = wpmu_validate_user_signup( $_REQUEST[ 'user_login' ], $_REQUEST[ 'email' ] );
                if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
                        $add_user_errors = $user_details[ 'errors' ];
                } else {
                $user_details = wpmu_validate_user_signup( $_REQUEST[ 'user_login' ], $_REQUEST[ 'email' ] );
                if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
                        $add_user_errors = $user_details[ 'errors' ];
                } else {
-                       $new_user_login = apply_filters('pre_user_login', sanitize_user(wp_unslash($_REQUEST['user_login']), true));
+                       /**
+                        * Filter the user_login, aka the username, before it is added to the site.
+                        *
+                        * @since 3.0.0
+                        *
+                        * @param string $_REQUEST['user_login'] The sanitized username.
+                        */
+                       $new_user_login = apply_filters( 'pre_user_login', sanitize_user( wp_unslash( $_REQUEST['user_login'] ), true ) );
                        if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
                                add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email
                        }
                        if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
                                add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email
                        }
@@ -181,13 +188,20 @@ get_current_screen()->set_help_sidebar(
 wp_enqueue_script('wp-ajax-response');
 wp_enqueue_script('user-profile');
 
 wp_enqueue_script('wp-ajax-response');
 wp_enqueue_script('user-profile');
 
+/**
+ * Allows you to enable user auto-complete for non-super admins in multisite.
+ *
+ * @since 3.4.0
+ *
+ * @param bool True or false, based on if you enable auto-complete for non-super admins. Default is false.
+ */
 if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' )
        && ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) )
 ) {
        wp_enqueue_script( 'user-suggest' );
 }
 
 if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' )
        && ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) )
 ) {
        wp_enqueue_script( 'user-suggest' );
 }
 
-require_once( 'admin-header.php' );
+require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( isset($_GET['update']) ) {
        $messages = array();
 
 if ( isset($_GET['update']) ) {
        $messages = array();
@@ -266,6 +280,13 @@ if ( is_multisite() ) {
                $label = __('E-mail or Username');
        }
 ?>
                $label = __('E-mail or Username');
        }
 ?>
+<?php
+/**
+ * Fires inside the adduser form tag.
+ *
+ * @since 3.0.0
+ */
+?>
 <form action="" method="post" name="adduser" id="adduser" class="validate"<?php do_action('user_new_form_tag');?>>
 <input name="action" type="hidden" value="adduser" />
 <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
 <form action="" method="post" name="adduser" id="adduser" class="validate"<?php do_action('user_new_form_tag');?>>
 <input name="action" type="hidden" value="adduser" />
 <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
@@ -289,6 +310,20 @@ if ( is_multisite() ) {
        </tr>
 <?php } ?>
 </table>
        </tr>
 <?php } ?>
 </table>
+<?php
+/**
+ * Fires at the end of the new user form.
+ *
+ * Passes a contextual string to make both types of new user forms
+ * uniquely targetable. Contexts are 'add-existing-user' (Multisite),
+ * and 'add-new-user' (single site and network admin).
+ *
+ * @since 3.7.0
+ *
+ * @param string A contextual string specifying which type of new user form the hook follows.
+ */
+do_action( 'user_new_form', 'add-existing-user' );
+?>
 <?php submit_button( __( 'Add Existing User '), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
 </form>
 <?php
 <?php submit_button( __( 'Add Existing User '), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
 </form>
 <?php
@@ -298,10 +333,13 @@ if ( current_user_can( 'create_users') ) {
        if ( $do_both )
                echo '<h3 id="create-new-user">' . __( 'Add New User' ) . '</h3>';
 ?>
        if ( $do_both )
                echo '<h3 id="create-new-user">' . __( 'Add New User' ) . '</h3>';
 ?>
-<p><?php _e('Create a brand new user and add it to this site.'); ?></p>
+<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');?>>
 <input name="action" type="hidden" value="createuser" />
 <form action="" method="post" name="createuser" id="createuser" class="validate"<?php do_action('user_new_form_tag');?>>
 <input name="action" type="hidden" value="createuser" />
-<?php wp_nonce_field( 'create-user', '_wpnonce_create-user' ) ?>
+<?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',
 <?php
 // Load up the passed data, else set to a default.
 foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_name' => 'lastname',
@@ -338,7 +376,15 @@ foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_nam
                <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>
        </tr>
                <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>
        </tr>
-<?php if ( apply_filters('show_password_fields', true) ) : ?>
+<?php
+/**
+ * Filter the display of the password fields.
+ *
+ * @since 1.5.1
+ *
+ * @param bool True or false, based on if you want to show the password fields. Default is true.
+ */
+if ( apply_filters( 'show_password_fields', true ) ) : ?>
        <tr class="form-field form-required">
                <th scope="row"><label for="pass1"><?php _e('Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
                <td>
        <tr class="form-field form-required">
                <th scope="row"><label for="pass1"><?php _e('Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
                <td>
@@ -380,10 +426,15 @@ foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_nam
        <?php } ?>
 </table>
 
        <?php } ?>
 </table>
 
+<?php
+/** This action is documented in wp-admin/user-new.php */
+do_action( 'user_new_form', 'add-new-user' );
+?>
+
 <?php submit_button( __( 'Add New User '), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
 
 </form>
 <?php } // current_user_can('create_users') ?>
 </div>
 <?php
 <?php submit_button( __( 'Add New User '), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
 
 </form>
 <?php } // current_user_can('create_users') ?>
 </div>
 <?php
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index a5dbc9899f152f4e274ecc49a3e70fbab14ac8e4..b7943550e911c7126b36bf595d9cf5a5c92d96fc 100644 (file)
@@ -8,6 +8,6 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 
-require( '../about.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/about.php' );
index faba84d0128f31cd3551f685fa343b6552d825a3..2b4021acb9e6939434d9db34b7f836e1f51eb2c8 100644 (file)
@@ -8,6 +8,6 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 
-require( '../credits.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/credits.php' );
index 3d04407ade0b08a86c1497c962faa8d5b23e1cdf..d2b77b5615908cb2402a199abb389ed0d40c6cfe 100644 (file)
@@ -8,6 +8,6 @@
  */
 
 /** Load WordPress Administration Bootstrap */
  */
 
 /** Load WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 
-require( '../freedoms.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/freedoms.php' );
index fe0c27cffd525e26506b799b574bd264089d434e..15ee54e75f109508a7490702fe7b430ceff21f8e 100644 (file)
@@ -7,6 +7,6 @@
  * @since 3.1.0
  */
 
  * @since 3.1.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 
-require( '../index.php' );
+require( ABSPATH . 'wp-admin/index.php' );
index b55ba1c3e8357688eb8337d5975ebf46ca8c5ca7..ba059f9ddeef571e45321d5771be231897cbc0eb 100644 (file)
@@ -7,6 +7,6 @@
  * @since 3.1.0
  */
 
  * @since 3.1.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 
-require( '../profile.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/profile.php' );
index 31794ba0d26d9febe3121812f8dea6e22401e55b..24b50bfd2aa3fbaea2b43495ac59e662f1af81ba 100644 (file)
@@ -7,6 +7,6 @@
  * @since 3.1.0
  */
 
  * @since 3.1.0
  */
 
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 
-require( '../user-edit.php' );
\ No newline at end of file
+require( ABSPATH . 'wp-admin/user-edit.php' );
index e807487a5791a1ef1443301da5ba0f40f99c3432..1f4fc5e7e907c9b7ba9b72be3cd0650a8cb7f8c4 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 if ( ! current_user_can( 'list_users' ) )
        wp_die( __( 'Cheatin&#8217; uh?' ) );
 
 if ( ! current_user_can( 'list_users' ) )
        wp_die( __( 'Cheatin&#8217; uh?' ) );
@@ -211,7 +211,7 @@ case 'delete':
 
        add_action( 'admin_head', 'delete_users_add_js' );
 
 
        add_action( 'admin_head', 'delete_users_add_js' );
 
-       include ('admin-header.php');
+       include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <form action="" method="post" name="updateusers" id="updateusers">
 <?php wp_nonce_field('delete-users') ?>
 ?>
 <form action="" method="post" name="updateusers" id="updateusers">
 <?php wp_nonce_field('delete-users') ?>
@@ -316,7 +316,7 @@ case 'remove':
        else
                $userids = $_REQUEST['users'];
 
        else
                $userids = $_REQUEST['users'];
 
-       include ('admin-header.php');
+       include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <form action="" method="post" name="updateusers" id="updateusers">
 <?php wp_nonce_field('remove-users') ?>
 ?>
 <form action="" method="post" name="updateusers" id="updateusers">
 <?php wp_nonce_field('remove-users') ?>
@@ -368,7 +368,7 @@ default:
                exit;
        }
 
                exit;
        }
 
-       include('./admin-header.php');
+       include( ABSPATH . 'wp-admin/admin-header.php' );
 
        $messages = array();
        if ( isset($_GET['update']) ) :
 
        $messages = array();
        if ( isset($_GET['update']) ) :
@@ -455,4 +455,4 @@ break;
 
 } // end of the $doaction switch
 
 
 } // end of the $doaction switch
 
-include('./admin-footer.php');
+include( ABSPATH . 'wp-admin/admin-footer.php' );
index 3e0b14621da8d6e16771d8c802318cfb9945e8bf..db2a279f89a25ef7377e91fdce4a6f175f377508 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /** WordPress Administration Bootstrap */
  */
 
 /** WordPress Administration Bootstrap */
-require_once( './admin.php' );
+require_once( dirname( __FILE__ ) . '/admin.php' );
 
 /** WordPress Administration Widgets API */
 require_once(ABSPATH . 'wp-admin/includes/widgets.php');
 
 /** WordPress Administration Widgets API */
 require_once(ABSPATH . 'wp-admin/includes/widgets.php');
@@ -34,6 +34,11 @@ if ( 'on' == $widgets_access ) {
                wp_enqueue_script( 'jquery-touch-punch' );
 }
 
                wp_enqueue_script( 'jquery-touch-punch' );
 }
 
+/**
+ * Fires early before the Widgets administration screen loads, after scripts are enqueued.
+ *
+ * @since 2.2.0
+ */
 do_action( 'sidebar_admin_setup' );
 
 $title = __( 'Widgets' );
 do_action( 'sidebar_admin_setup' );
 
 $title = __( 'Widgets' );
@@ -182,7 +187,8 @@ if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
 
        if ( isset($_GET['addnew']) ) {
                // Default to the first sidebar
 
        if ( isset($_GET['addnew']) ) {
                // Default to the first sidebar
-               $sidebar = array_shift( $keys = array_keys($wp_registered_sidebars) );
+               $keys = array_keys( $wp_registered_sidebars );
+               $sidebar = array_shift( $keys );
 
                if ( isset($_GET['base']) && isset($_GET['num']) ) { // multi-widget
                        // Copy minimal info from an existing instance of this widget to a new instance
 
                if ( isset($_GET['base']) && isset($_GET['num']) ) { // multi-widget
                        // Copy minimal info from an existing instance of this widget to a new instance
@@ -221,7 +227,7 @@ if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
        $width = ' style="width:' . max($control['width'], 350) . 'px"';
        $key = isset($_GET['key']) ? (int) $_GET['key'] : 0;
 
        $width = ' style="width:' . max($control['width'], 350) . 'px"';
        $key = isset($_GET['key']) ? (int) $_GET['key'] : 0;
 
-       require_once( './admin-header.php' ); ?>
+       require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
        <div class="wrap">
        <?php screen_icon(); ?>
        <h2><?php echo esc_html( $title ); ?></h2>
        <div class="wrap">
        <?php screen_icon(); ?>
        <h2><?php echo esc_html( $title ); ?></h2>
@@ -288,7 +294,7 @@ if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
        </div>
        </div>
 <?php
        </div>
        </div>
 <?php
-       require_once( './admin-footer.php' );
+       require_once( ABSPATH . 'wp-admin/admin-footer.php' );
        exit;
 }
 
        exit;
 }
 
@@ -301,7 +307,7 @@ $errors = array(
        __('Error in displaying the widget settings form.')
 );
 
        __('Error in displaying the widget settings form.')
 );
 
-require_once( './admin-header.php' ); ?>
+require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <div class="wrap">
 <?php screen_icon(); ?>
 
 <div class="wrap">
 <?php screen_icon(); ?>
@@ -314,7 +320,13 @@ require_once( './admin-header.php' ); ?>
 <div id="message" class="error"><p><?php echo $errors[$_GET['error']]; ?></p></div>
 <?php } ?>
 
 <div id="message" class="error"><p><?php echo $errors[$_GET['error']]; ?></p></div>
 <?php } ?>
 
-<?php do_action( 'widgets_admin_page' ); ?>
+<?php
+/**
+ * Fires before the Widgets administration page content loads.
+ *
+ * @since 3.0.0
+ */
+do_action( 'widgets_admin_page' ); ?>
 
 <div class="widget-liquid-left">
 <div id="widgets-left">
 
 <div class="widget-liquid-left">
 <div id="widgets-left">
@@ -395,5 +407,11 @@ foreach ( $wp_registered_sidebars as $sidebar => $registered_sidebar ) {
 </div>
 
 <?php
 </div>
 
 <?php
+
+/**
+ * Fires after the available widgets and sidebars have loaded, before the admin footer.
+ *
+ * @since 2.2.0
+ */
 do_action( 'sidebar_admin_page' );
 do_action( 'sidebar_admin_page' );
-require_once( './admin-footer.php' );
+require_once( ABSPATH . 'wp-admin/admin-footer.php' );
index 7b4a5e9dc07b7c270047484b7cf7501069383a67..859ccb4644c59e9720bfdaf058e94aa3904fb7b3 100644 (file)
@@ -21,8 +21,14 @@ $comment_post_ID = isset($_POST['comment_post_ID']) ? (int) $_POST['comment_post
 
 $post = get_post($comment_post_ID);
 
 
 $post = get_post($comment_post_ID);
 
-if ( empty($post->comment_status) ) {
-       do_action('comment_id_not_found', $comment_post_ID);
+if ( empty( $post->comment_status ) ) {
+       /**
+        * Fires when a comment is attempted on a post that does not exist.
+        *
+        * @since unknown
+        * @param int $comment_post_ID Post ID.
+        */
+       do_action( 'comment_id_not_found', $comment_post_ID );
        exit;
 }
 
        exit;
 }
 
@@ -31,20 +37,50 @@ $status = get_post_status($post);
 
 $status_obj = get_post_status_object($status);
 
 
 $status_obj = get_post_status_object($status);
 
-if ( !comments_open($comment_post_ID) ) {
-       do_action('comment_closed', $comment_post_ID);
+if ( ! comments_open( $comment_post_ID ) ) {
+       /**
+        * Fires when a comment is attempted on a post that has comments closed.
+        *
+        * @since unknown
+        * @param int $comment_post_ID Post ID.
+        */
+       do_action( 'comment_closed', $comment_post_ID );
        wp_die( __('Sorry, comments are closed for this item.') );
 } elseif ( 'trash' == $status ) {
        wp_die( __('Sorry, comments are closed for this item.') );
 } elseif ( 'trash' == $status ) {
-       do_action('comment_on_trash', $comment_post_ID);
+       /**
+        * Fires when a comment is attempted on a trashed post.
+        *
+        * @since 2.9.0
+        * @param int $comment_post_ID Post ID.
+        */
+       do_action( 'comment_on_trash', $comment_post_ID );
        exit;
        exit;
-} elseif ( !$status_obj->public && !$status_obj->private ) {
-       do_action('comment_on_draft', $comment_post_ID);
+} elseif ( ! $status_obj->public && ! $status_obj->private ) {
+       /**
+        * Fires when a comment is attempted on a post in draft mode.
+        *
+        * @since unknown
+        * @param int $comment_post_ID Post ID.
+        */
+       do_action( 'comment_on_draft', $comment_post_ID );
        exit;
        exit;
-} elseif ( post_password_required($comment_post_ID) ) {
-       do_action('comment_on_password_protected', $comment_post_ID);
+} elseif ( post_password_required( $comment_post_ID ) ) {
+       /**
+        * Fires when a comment is attempted on a password-protected post.
+        *
+        * @since unknown
+        * @param int $comment_post_ID Post ID.
+        */
+       do_action( 'comment_on_password_protected', $comment_post_ID );
        exit;
 } else {
        exit;
 } else {
-       do_action('pre_comment_on_post', $comment_post_ID);
+       /**
+        * Fires before a comment is posted.
+        *
+        * @since unknown
+        * @param int $comment_post_ID Post ID.
+        */
+       do_action( 'pre_comment_on_post', $comment_post_ID );
 }
 
 $comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;
 }
 
 $comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;
@@ -60,8 +96,10 @@ if ( $user->exists() ) {
        $comment_author       = wp_slash( $user->display_name );
        $comment_author_email = wp_slash( $user->user_email );
        $comment_author_url   = wp_slash( $user->user_url );
        $comment_author       = wp_slash( $user->display_name );
        $comment_author_email = wp_slash( $user->user_email );
        $comment_author_url   = wp_slash( $user->user_url );
-       if ( current_user_can('unfiltered_html') ) {
-               if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $_POST['_wp_unfiltered_html_comment'] ) {
+       if ( current_user_can( 'unfiltered_html' ) ) {
+               if ( ! isset( $_POST['_wp_unfiltered_html_comment'] )
+                       || ! wp_verify_nonce( $_POST['_wp_unfiltered_html_comment'], 'unfiltered-html-comment_' . $comment_post_ID )
+               ) {
                        kses_remove_filters(); // start with a clean slate
                        kses_init_filters(); // set up the filters
                }
                        kses_remove_filters(); // start with a clean slate
                        kses_init_filters(); // set up the filters
                }
@@ -88,12 +126,29 @@ $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 );
 $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);
 $comment = get_comment($comment_id);
-do_action('set_comment_cookies', $comment, $user);
+
+/**
+ * Perform other actions when comment cookies are set.
+ *
+ * @since 3.4.0
+ *
+ * @param object $comment Comment object.
+ * @param WP_User $user   User object. The user may not exist.
+ */
+do_action( 'set_comment_cookies', $comment, $user );
 
 $location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
 
 $location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
-$location = apply_filters('comment_post_redirect', $location, $comment);
+
+/**
+ * The location URI to send commenter after posting.
+ *
+ * @since unknown
+ *
+ * @param string $location The 'redirect_to' URI sent via $_POST.
+ * @param object $comment  Comment object.
+ */
+$location = apply_filters( 'comment_post_redirect', $location, $comment );
 
 wp_safe_redirect( $location );
 exit;
 
 wp_safe_redirect( $location );
 exit;
index f3197f4a4c0fb575969540cdc3cbb7d09ce455d3..131a1340a9d4c82ae7e1b617855fe8900f933540 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying 404 pages (Not Found).
+ * The template for displaying 404 pages (Not Found)
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index af6c0ca597fe41820c02e7aa5dd3bc941e577906..9e0dd4d67f2ed4c0de6ad1ca59ff8a97698a5960 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Archive pages.
+ * The template for displaying Archive pages
  *
  * Used to display archive-type pages if nothing more specific matches a query.
  * For example, puts together date-based pages if no date.php file exists.
  *
  * Used to display archive-type pages if nothing more specific matches a query.
  * For example, puts together date-based pages if no date.php file exists.
@@ -10,7 +10,7 @@
  * already has tag.php for Tag archives, category.php for Category archives,
  * and author.php for Author archives.
  *
  * already has tag.php for Tag archives, category.php for Category archives,
  * and author.php for Author archives.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 46ce866783201530ea2df7168778e25eccdb3701..ae2f522b3b5059ec2f7e86d75453907433e0902a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Author bios.
+ * The template for displaying Author bios
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
 
 <div class="author-info">
        <div class="author-avatar">
 
 <div class="author-info">
        <div class="author-avatar">
-               <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentythirteen_author_bio_avatar_size', 74 ) ); ?>
+               <?php
+               /**
+                * Filter the author bio avatar size.
+                *
+                * @since Twenty Thirteen 1.0
+                *
+                * @param int $size The avatar height and width size in pixels.
+                */
+               $author_bio_avatar_size = apply_filters( 'twentythirteen_author_bio_avatar_size', 74 );
+               echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
+               ?>
        </div><!-- .author-avatar -->
        <div class="author-description">
                <h2 class="author-title"><?php printf( __( 'About %s', 'twentythirteen' ), get_the_author() ); ?></h2>
        </div><!-- .author-avatar -->
        <div class="author-description">
                <h2 class="author-title"><?php printf( __( 'About %s', 'twentythirteen' ), get_the_author() ); ?></h2>
index dd27b07aefd5d9012ec953fb6ab40eb9381e40db..3d76ba33ca44e4e3143956b8caec899c06cb7f5b 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Author archive pages.
+ * The template for displaying Author archive pages
  *
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -17,8 +17,9 @@ get_header(); ?>
                <?php if ( have_posts() ) : ?>
 
                        <?php
                <?php if ( have_posts() ) : ?>
 
                        <?php
-                               /* Queue the first post, that way we know
-                                * what author we're dealing with (if that is the case).
+                               /*
+                                * Queue the first post, that way we know what author
+                                * we're dealing with (if that is the case).
                                 *
                                 * We reset this later so we can run the loop
                                 * properly with a call to rewind_posts().
                                 *
                                 * We reset this later so we can run the loop
                                 * properly with a call to rewind_posts().
@@ -31,7 +32,8 @@ get_header(); ?>
                        </header><!-- .archive-header -->
 
                        <?php
                        </header><!-- .archive-header -->
 
                        <?php
-                               /* Since we called the_post() above, we need to
+                               /*
+                                * Since we called the_post() above, we need to
                                 * rewind the loop back to the beginning that way
                                 * we can run the loop properly, in full.
                                 */
                                 * rewind the loop back to the beginning that way
                                 * we can run the loop properly, in full.
                                 */
index 7971177a8dae2ee25b7569d3c71c2bb1fe36287f..a221239db2de7eaf21b45e895bda98cc7dc36b3c 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Category pages.
+ * The template for displaying Category pages
  *
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 22818ac4f6f7422c9584956e8bd27b4f7ab13b33..3d1aff46bd64a26698c9127eab7618499772450c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Comments.
+ * The template for displaying Comments
  *
  * The area of the page that contains comments and the comment form.
  *
  *
  * The area of the page that contains comments and the comment form.
  *
index 9949fdd882853f02bbd23ae744ada95a88f8a565..8aa309b5302ae826c651a475dc6c5d815f753ee7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Aside post format.
+ * The template for displaying posts in the Aside post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 23abeaf175841368b898cce49919cda9cf452139..5ba1862e526a9ff79b8a3392e6338066fe639ca1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Audio post format.
+ * The template for displaying posts in the Audio post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index eb2fe69bce08dc0857ad671a3c81b7b7e6cfb85c..b34ab46f13eda81bdcfdcc0c01c8917b1c53a3b1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Chat post format.
+ * The template for displaying posts in the Chat post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index b9537e855469ff631b9222b93c06a4652ffa3f8e..a4e246468bbc87e11dbe50978d66bdff5a1141a6 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Gallery post format.
+ * The template for displaying posts in the Gallery post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 34f51441815a6ce5e781fb7407c9925698efa369..972423ddaa703ade5d26c02bf4b7423fc7adcd96 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Image post format.
+ * The template for displaying posts in the Image post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index e9082cbeedea2b119578dc64f9e4c054c3bc6a2a..2da7ffbfdb6e18d3013b8113b8148ad58ab12629 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Link post format.
+ * The template for displaying posts in the Link post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index d3d27ec92610b0c44fc2047f44083a12a963a5fb..d9549e1a89a00309f7ef8ca59c96e6bdecb3f00e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying a "No posts found" message.
+ * The template for displaying a "No posts found" message
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 4c3422be52adcc101e9081df91f1c340c836c80a..307537d221c37d814139265c2392fff8025baeb8 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Quote post format.
+ * The template for displaying posts in the Quote post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 281becf00a4b8b1da004d4f9aece5226c3d7a3aa..272f5de80a06b5b03b0e334247d536e8a9cf5e59 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Status post format.
+ * The template for displaying posts in the Status post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index af2ff71cd2aaf3ed68f3e078b8dc8f4a7f6e561a..ac017588fe4a5666697214d829403f2fc7e5f4b0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying posts in the Video post format.
+ * The template for displaying posts in the Video post format
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 4f61b220665fd2fde4b1dcf5d9cb1fc29ffac472..d11e682abcf4342fd47d9aac69f90af9d90b4cd4 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The default template for displaying content. Used for both single and index/archive/search.
+ * The default template for displaying content
+ *
+ * Used for both single and index/archive/search.
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 99b6bbb26ca1238af2e687e0a0824f978e97e227..725251c4f452dd21d339aaabc873effb830e1181 100644 (file)
@@ -1,9 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying the footer.
+ * The template for displaying the footer
  *
  *
- * Contains footer content and the closing of the
- * #main and #page div elements.
+ * Contains footer content and the closing of the #main and #page div elements.
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index b4234bf1e7755067410a7ff039426d4106cb6cf6..047675f8a77bea098e107f8057ca8d5f3e9490b1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * Twenty Thirteen functions and definitions.
+ * Twenty Thirteen functions and definitions
  *
  * Sets up the theme and provides some helper functions, which are used in the
  * theme as custom template tags. Others are attached to action and filter
  *
  * Sets up the theme and provides some helper functions, which are used in the
  * theme as custom template tags. Others are attached to action and filter
  * Functions that are not pluggable (not wrapped in function_exists()) are
  * instead attached to a filter or action hook.
  *
  * Functions that are not pluggable (not wrapped in function_exists()) are
  * instead attached to a filter or action hook.
  *
- * For more information on hooks, actions, and filters,
- * see http://codex.wordpress.org/Plugin_API
+ * For more information on hooks, actions, and filters, @link http://codex.wordpress.org/Plugin_API
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  * @since Twenty Thirteen 1.0
  */
 
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  * @since Twenty Thirteen 1.0
  */
 
-/**
- * Sets up the content width value based on the theme's design.
+/*
+ * Set up the content width value based on the theme's design.
+ *
  * @see twentythirteen_content_width() for template-specific adjustments.
  */
 if ( ! isset( $content_width ) )
        $content_width = 604;
 
 /**
  * @see twentythirteen_content_width() for template-specific adjustments.
  */
 if ( ! isset( $content_width ) )
        $content_width = 604;
 
 /**
- * Adds support for a custom header image.
+ * Add support for a custom header image.
  */
 require get_template_directory() . '/inc/custom-header.php';
 
  */
 require get_template_directory() . '/inc/custom-header.php';
 
@@ -43,6 +43,8 @@ if ( version_compare( $GLOBALS['wp_version'], '3.6-alpha', '<' ) )
        require get_template_directory() . '/inc/back-compat.php';
 
 /**
        require get_template_directory() . '/inc/back-compat.php';
 
 /**
+ * Twenty Thirteen setup.
+ *
  * Sets up theme defaults and registers the various WordPress features that
  * Twenty Thirteen supports.
  *
  * Sets up theme defaults and registers the various WordPress features that
  * Twenty Thirteen supports.
  *
@@ -77,8 +79,10 @@ function twentythirteen_setup() {
        // Adds RSS feed links to <head> for posts and comments.
        add_theme_support( 'automatic-feed-links' );
 
        // Adds RSS feed links to <head> for posts and comments.
        add_theme_support( 'automatic-feed-links' );
 
-       // Switches default core markup for search form, comment form, and comments
-       // to output valid HTML5.
+       /*
+        * Switches default core markup for search form, comment form,
+        * and comments to output valid HTML5.
+        */
        add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list' ) );
 
        /*
        add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list' ) );
 
        /*
@@ -105,7 +109,7 @@ function twentythirteen_setup() {
 add_action( 'after_setup_theme', 'twentythirteen_setup' );
 
 /**
 add_action( 'after_setup_theme', 'twentythirteen_setup' );
 
 /**
- * Returns the Google font stylesheet URL, if available.
+ * Return the Google font stylesheet URL, if available.
  *
  * The use of Source Sans Pro and Bitter by default is localized. For languages
  * that use characters not supported by the font, the font can be disabled.
  *
  * The use of Source Sans Pro and Bitter by default is localized. For languages
  * that use characters not supported by the font, the font can be disabled.
@@ -149,15 +153,17 @@ function twentythirteen_fonts_url() {
 }
 
 /**
 }
 
 /**
- * Enqueues scripts and styles for front end.
+ * Enqueue scripts and styles for the front end.
  *
  * @since Twenty Thirteen 1.0
  *
  * @return void
  */
 function twentythirteen_scripts_styles() {
  *
  * @since Twenty Thirteen 1.0
  *
  * @return void
  */
 function twentythirteen_scripts_styles() {
-       // Adds JavaScript to pages with the comment form to support sites with
-       // threaded comments (when in use).
+       /*
+        * Adds JavaScript to pages with the comment form to support
+        * sites with threaded comments (when in use).
+        */
        if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
                wp_enqueue_script( 'comment-reply' );
 
        if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
                wp_enqueue_script( 'comment-reply' );
 
@@ -168,7 +174,7 @@ function twentythirteen_scripts_styles() {
        // Loads JavaScript file with functionality specific to Twenty Thirteen.
        wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '2013-07-18', true );
 
        // Loads JavaScript file with functionality specific to Twenty Thirteen.
        wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '2013-07-18', true );
 
-       // Add Open Sans and Bitter fonts, used in the main stylesheet.
+       // 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( 'twentythirteen-fonts', twentythirteen_fonts_url(), array(), null );
 
        // Add Genericons font, used in the main stylesheet.
@@ -184,13 +190,15 @@ function twentythirteen_scripts_styles() {
 add_action( 'wp_enqueue_scripts', 'twentythirteen_scripts_styles' );
 
 /**
 add_action( 'wp_enqueue_scripts', 'twentythirteen_scripts_styles' );
 
 /**
+ * Filter the page title.
+ *
  * Creates a nicely formatted and more specific title element text for output
  * in head of document, based on current view.
  *
  * @since Twenty Thirteen 1.0
  *
  * @param string $title Default title text for current view.
  * Creates a nicely formatted and more specific title element text for output
  * in head of document, based on current view.
  *
  * @since Twenty Thirteen 1.0
  *
  * @param string $title Default title text for current view.
- * @param string $sep Optional separator.
+ * @param string $sep   Optional separator.
  * @return string The filtered title.
  */
 function twentythirteen_wp_title( $title, $sep ) {
  * @return string The filtered title.
  */
 function twentythirteen_wp_title( $title, $sep ) {
@@ -216,7 +224,7 @@ function twentythirteen_wp_title( $title, $sep ) {
 add_filter( 'wp_title', 'twentythirteen_wp_title', 10, 2 );
 
 /**
 add_filter( 'wp_title', 'twentythirteen_wp_title', 10, 2 );
 
 /**
- * Registers two widget areas.
+ * Register two widget areas.
  *
  * @since Twenty Thirteen 1.0
  *
  *
  * @since Twenty Thirteen 1.0
  *
@@ -247,7 +255,7 @@ add_action( 'widgets_init', 'twentythirteen_widgets_init' );
 
 if ( ! function_exists( 'twentythirteen_paging_nav' ) ) :
 /**
 
 if ( ! function_exists( 'twentythirteen_paging_nav' ) ) :
 /**
- * Displays navigation to next/previous set of posts when applicable.
+ * Display navigation to next/previous set of posts when applicable.
  *
  * @since Twenty Thirteen 1.0
  *
  *
  * @since Twenty Thirteen 1.0
  *
@@ -280,7 +288,7 @@ endif;
 
 if ( ! function_exists( 'twentythirteen_post_nav' ) ) :
 /**
 
 if ( ! function_exists( 'twentythirteen_post_nav' ) ) :
 /**
- * Displays navigation to next/previous post when applicable.
+ * Display navigation to next/previous post when applicable.
 *
 * @since Twenty Thirteen 1.0
 *
 *
 * @since Twenty Thirteen 1.0
 *
@@ -311,7 +319,7 @@ endif;
 
 if ( ! function_exists( 'twentythirteen_entry_meta' ) ) :
 /**
 
 if ( ! function_exists( 'twentythirteen_entry_meta' ) ) :
 /**
- * Prints HTML with meta information for current post: categories, tags, permalink, author, and date.
+ * Print HTML with meta information for current post: categories, tags, permalink, author, and date.
  *
  * Create your own twentythirteen_entry_meta() to override in a child theme.
  *
  *
  * Create your own twentythirteen_entry_meta() to override in a child theme.
  *
@@ -351,13 +359,13 @@ endif;
 
 if ( ! function_exists( 'twentythirteen_entry_date' ) ) :
 /**
 
 if ( ! function_exists( 'twentythirteen_entry_date' ) ) :
 /**
- * Prints HTML with date information for current post.
+ * Print HTML with date information for current post.
  *
  * Create your own twentythirteen_entry_date() to override in a child theme.
  *
  * @since Twenty Thirteen 1.0
  *
  *
  * Create your own twentythirteen_entry_date() to override in a child theme.
  *
  * @since Twenty Thirteen 1.0
  *
- * @param boolean $echo Whether to echo the date. Default true.
+ * @param boolean $echo (optional) Whether to echo the date. Default true.
  * @return string The HTML-formatted post date.
  */
 function twentythirteen_entry_date( $echo = true ) {
  * @return string The HTML-formatted post date.
  */
 function twentythirteen_entry_date( $echo = true ) {
@@ -382,18 +390,28 @@ endif;
 
 if ( ! function_exists( 'twentythirteen_the_attached_image' ) ) :
 /**
 
 if ( ! function_exists( 'twentythirteen_the_attached_image' ) ) :
 /**
- * Prints the attached image with a link to the next attached image.
+ * Print the attached image with a link to the next attached image.
  *
  * @since Twenty Thirteen 1.0
  *
  * @return void
  */
 function twentythirteen_the_attached_image() {
  *
  * @since Twenty Thirteen 1.0
  *
  * @return void
  */
 function twentythirteen_the_attached_image() {
-       $post                = get_post();
+       /**
+        * Filter the image attachment size to use.
+        *
+        * @since Twenty thirteen 1.0
+        *
+        * @param array $size {
+        *     @type int The attachment height in pixels.
+        *     @type int The attachment width in pixels.
+        * }
+        */
        $attachment_size     = apply_filters( 'twentythirteen_attachment_size', array( 724, 724 ) );
        $next_attachment_url = wp_get_attachment_url();
        $attachment_size     = apply_filters( 'twentythirteen_attachment_size', array( 724, 724 ) );
        $next_attachment_url = wp_get_attachment_url();
+       $post                = get_post();
 
 
-       /**
+       /*
         * Grab the IDs of all the image attachments in a gallery so we can get the URL
         * of the next adjacent image in a gallery, or the first image (if we're
         * looking at the last image in a gallery), or, in a gallery of one, just the
         * Grab the IDs of all the image attachments in a gallery so we can get the URL
         * of the next adjacent image in a gallery, or the first image (if we're
         * looking at the last image in a gallery), or, in a gallery of one, just the
@@ -437,7 +455,7 @@ function twentythirteen_the_attached_image() {
 endif;
 
 /**
 endif;
 
 /**
- * Returns the URL from the post.
+ * Return the post URL.
  *
  * @uses get_url_in_content() to get the URL in the post meta (if it exists) or
  * the first link found in the post content.
  *
  * @uses get_url_in_content() to get the URL in the post meta (if it exists) or
  * the first link found in the post content.
@@ -456,7 +474,7 @@ function twentythirteen_get_link_url() {
 }
 
 /**
 }
 
 /**
- * Extends the default WordPress body classes.
+ * Extend the default WordPress body classes.
  *
  * Adds body classes to denote:
  * 1. Single or multiple authors.
  *
  * Adds body classes to denote:
  * 1. Single or multiple authors.
@@ -483,7 +501,7 @@ function twentythirteen_body_class( $classes ) {
 add_filter( 'body_class', 'twentythirteen_body_class' );
 
 /**
 add_filter( 'body_class', 'twentythirteen_body_class' );
 
 /**
- * Adjusts content_width value for video post formats and attachment templates.
+ * Adjust content_width value for video post formats and attachment templates.
  *
  * @since Twenty Thirteen 1.0
  *
  *
  * @since Twenty Thirteen 1.0
  *
@@ -515,10 +533,14 @@ function twentythirteen_customize_register( $wp_customize ) {
 add_action( 'customize_register', 'twentythirteen_customize_register' );
 
 /**
 add_action( 'customize_register', 'twentythirteen_customize_register' );
 
 /**
- * Binds JavaScript handlers to make Customizer preview reload changes
- * asynchronously.
+ * Enqueue Javascript postMessage handlers for the Customizer.
+ *
+ * Binds JavaScript handlers to make the Customizer preview
+ * reload changes asynchronously.
  *
  * @since Twenty Thirteen 1.0
  *
  * @since Twenty Thirteen 1.0
+ *
+ * @return void
  */
 function twentythirteen_customize_preview_js() {
        wp_enqueue_script( 'twentythirteen-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130226', true );
  */
 function twentythirteen_customize_preview_js() {
        wp_enqueue_script( 'twentythirteen-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130226', true );
index 52fce701eb3eaea347331ae7594692be00cba767..e19703c792247aa2149112cb54e4a27d33a51a96 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The Header for our theme.
+ * The Header template for our theme
  *
  * Displays all of the <head> section and everything up till <div id="main">
  *
  *
  * Displays all of the <head> section and everything up till <div id="main">
  *
index 4ef31c4bc2829f949b2c2b286698e56acaa0937d..b2d86bf99d2797b6a9e8f505bb8984ad56b1fae9 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying image attachments.
+ * The template for displaying image attachments
  *
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 8638adfa4947dd03b58468b8ba7d7afc9d3770b4..b08813ca10d70727e16a8520f2c3775147ebd234 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /**
 <?php
 /**
- * Twenty Thirteen back compat functionality.
+ * Twenty Thirteen back compat functionality
  *
  * Prevents Twenty Thirteen from running on WordPress versions prior to 3.6,
  *
  * Prevents Twenty Thirteen from running on WordPress versions prior to 3.6,
- * since this theme is not meant to be backwards compatible and relies on
+ * since this theme is not meant to be backward compatible and relies on
  * many new functions and markup changes introduced in 3.6.
  *
  * @package WordPress
  * many new functions and markup changes introduced in 3.6.
  *
  * @package WordPress
@@ -12,8 +12,9 @@
  */
 
 /**
  */
 
 /**
- * Prevent switching to Twenty Thirteen on old versions of WordPress. Switches
- * to the default theme.
+ * Prevent switching to Twenty Thirteen on old versions of WordPress.
+ *
+ * Switches to the default theme.
  *
  * @since Twenty Thirteen 1.0
  *
  *
  * @since Twenty Thirteen 1.0
  *
@@ -27,6 +28,8 @@ function twentythirteen_switch_theme() {
 add_action( 'after_switch_theme', 'twentythirteen_switch_theme' );
 
 /**
 add_action( 'after_switch_theme', 'twentythirteen_switch_theme' );
 
 /**
+ * Add message for unsuccessful theme switch.
+ *
  * Prints an update nag after an unsuccessful attempt to switch to
  * Twenty Thirteen on WordPress versions prior to 3.6.
  *
  * Prints an update nag after an unsuccessful attempt to switch to
  * Twenty Thirteen on WordPress versions prior to 3.6.
  *
@@ -40,7 +43,7 @@ function twentythirteen_upgrade_notice() {
 }
 
 /**
 }
 
 /**
- * Prevents the Customizer from being loaded on WordPress versions prior to 3.6.
+ * Prevent the Theme Customizer from being loaded on WordPress versions prior to 3.6.
  *
  * @since Twenty Thirteen 1.0
  *
  *
  * @since Twenty Thirteen 1.0
  *
@@ -54,7 +57,7 @@ function twentythirteen_customize() {
 add_action( 'load-customize.php', 'twentythirteen_customize' );
 
 /**
 add_action( 'load-customize.php', 'twentythirteen_customize' );
 
 /**
- * Prevents the Theme Preview from being loaded on WordPress versions prior to 3.4.
+ * Prevent the Theme Preview from being loaded on WordPress versions prior to 3.4.
  *
  * @since Twenty Thirteen 1.0
  *
  *
  * @since Twenty Thirteen 1.0
  *
@@ -65,4 +68,4 @@ function twentythirteen_preview() {
                wp_die( sprintf( __( 'Twenty Thirteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentythirteen' ), $GLOBALS['wp_version'] ) );
        }
 }
                wp_die( sprintf( __( 'Twenty Thirteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again.', 'twentythirteen' ), $GLOBALS['wp_version'] ) );
        }
 }
-add_action( 'template_redirect', 'twentythirteen_preview' );
\ No newline at end of file
+add_action( 'template_redirect', 'twentythirteen_preview' );
index a835061f79a18281433c0ad315365e93add59b5f..3214f630038fe943838a4b3371b55821b60892ae 100644 (file)
@@ -1,7 +1,8 @@
 <?php
 /**
 <?php
 /**
- * Implements a custom header for Twenty Thirteen.
- * See http://codex.wordpress.org/Custom_Headers
+ * Implement a custom header for Twenty Thirteen
+ *
+ * @link http://codex.wordpress.org/Custom_Headers
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -9,7 +10,7 @@
  */
 
 /**
  */
 
 /**
- * Sets up the WordPress core custom header arguments and settings.
+ * Set up the WordPress core custom header arguments and settings.
  *
  * @uses add_theme_support() to register support for 3.4 and up.
  * @uses twentythirteen_header_style() to style front-end.
  *
  * @uses add_theme_support() to register support for 3.4 and up.
  * @uses twentythirteen_header_style() to style front-end.
@@ -18,6 +19,8 @@
  * @uses register_default_headers() to set up the bundled header images.
  *
  * @since Twenty Thirteen 1.0
  * @uses register_default_headers() to set up the bundled header images.
  *
  * @since Twenty Thirteen 1.0
+ *
+ * @return void
  */
 function twentythirteen_custom_header_setup() {
        $args = array(
  */
 function twentythirteen_custom_header_setup() {
        $args = array(
@@ -59,15 +62,17 @@ function twentythirteen_custom_header_setup() {
                ),
        ) );
 }
                ),
        ) );
 }
-add_action( 'after_setup_theme', 'twentythirteen_custom_header_setup' );
+add_action( 'after_setup_theme', 'twentythirteen_custom_header_setup', 11 );
 
 /**
 
 /**
- * Loads our special font CSS files.
+ * Load our special font CSS files.
  *
  * @since Twenty Thirteen 1.0
  *
  * @since Twenty Thirteen 1.0
+ *
+ * @return void
  */
 function twentythirteen_custom_header_fonts() {
  */
 function twentythirteen_custom_header_fonts() {
-       // Add Open Sans and Bitter fonts.
+       // Add Source Sans Pro and Bitter fonts.
        wp_enqueue_style( 'twentythirteen-fonts', twentythirteen_fonts_url(), array(), null );
 
        // Add Genericons font.
        wp_enqueue_style( 'twentythirteen-fonts', twentythirteen_fonts_url(), array(), null );
 
        // Add Genericons font.
@@ -76,11 +81,13 @@ function twentythirteen_custom_header_fonts() {
 add_action( 'admin_print_styles-appearance_page_custom-header', 'twentythirteen_custom_header_fonts' );
 
 /**
 add_action( 'admin_print_styles-appearance_page_custom-header', 'twentythirteen_custom_header_fonts' );
 
 /**
- * Styles the header text displayed on the blog.
+ * Style the header text displayed on the blog.
  *
  * get_header_textcolor() options: Hide text (returns 'blank'), or any hex value.
  *
  * @since Twenty Thirteen 1.0
  *
  * get_header_textcolor() options: Hide text (returns 'blank'), or any hex value.
  *
  * @since Twenty Thirteen 1.0
+ *
+ * @return void
  */
 function twentythirteen_header_style() {
        $header_image = get_header_image();
  */
 function twentythirteen_header_style() {
        $header_image = get_header_image();
@@ -134,9 +141,11 @@ function twentythirteen_header_style() {
 }
 
 /**
 }
 
 /**
- * Styles the header image displayed on the Appearance > Header admin panel.
+ * Style the header image displayed on the Appearance > Header admin panel.
  *
  * @since Twenty Thirteen 1.0
  *
  * @since Twenty Thirteen 1.0
+ *
+ * @return void
  */
 function twentythirteen_admin_header_style() {
        $header_image = get_header_image();
  */
 function twentythirteen_admin_header_style() {
        $header_image = get_header_image();
@@ -198,10 +207,13 @@ function twentythirteen_admin_header_style() {
 }
 
 /**
 }
 
 /**
- * Outputs markup to be displayed on the Appearance > Header admin panel.
+ * Output markup to be displayed on the Appearance > Header admin panel.
+ *
  * This callback overrides the default markup displayed there.
  *
  * @since Twenty Thirteen 1.0
  * This callback overrides the default markup displayed there.
  *
  * @since Twenty Thirteen 1.0
+ *
+ * @return void
  */
 function twentythirteen_admin_header_image() {
        ?>
  */
 function twentythirteen_admin_header_image() {
        ?>
index 67faeafb2cbfe8d8bde25d7af7280dc3f54f0b85..d59c10834bfc715c8a97c70f9119c890d613571d 100644 (file)
@@ -1,13 +1,13 @@
 <?php
 /**
 <?php
 /**
- * The main template file.
+ * The main template file
  *
  * This is the most generic template file in a WordPress theme and one of the
  * two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * For example, it puts together the home page when no home.php file exists.
  *
  *
  * This is the most generic template file in a WordPress theme and one of the
  * two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * For example, it puts together the home page when no home.php file exists.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 24bb3029abc501725a911878cc470c1532f2c3bd..0d8f53de42cd3c55c1e83bbfc1e9b4c244c084ca 100644 (file)
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Thirteen 1.0\n"
+"Project-Id-Version: Twenty Thirteen 1.1\n"
 "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentythirteen\n"
 "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentythirteen\n"
-"POT-Creation-Date: 2013-08-01 18:14:18+00:00\n"
+"POT-Creation-Date: 2013-10-24 20:32:07+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -50,15 +50,15 @@ msgstr ""
 msgid "Archives"
 msgstr ""
 
 msgid "Archives"
 msgstr ""
 
-#: author-bio.php:16
+#: author-bio.php:26
 msgid "About %s"
 msgstr ""
 
 msgid "About %s"
 msgstr ""
 
-#: author-bio.php:20
+#: author-bio.php:30
 msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#: author.php:30
+#: author.php:31
 msgid "All posts by %s"
 msgstr ""
 
 msgid "All posts by %s"
 msgstr ""
 
@@ -91,36 +91,36 @@ msgstr ""
 
 #: content-aside.php:13 content-audio.php:24 content-gallery.php:24
 #: content-image.php:23 content-link.php:24 content-quote.php:13
 
 #: content-aside.php:13 content-audio.php:24 content-gallery.php:24
 #: content-image.php:23 content-link.php:24 content-quote.php:13
-#: content-status.php:13 content-video.php:23 content.php:39
+#: content-status.php:13 content-video.php:23 content.php:41
 msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 #: content-aside.php:14 content-audio.php:25 content-chat.php:24
 #: content-gallery.php:25 content-image.php:24 content-link.php:25
 #: content-quote.php:14 content-status.php:14 content-video.php:24
 msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 #: content-aside.php:14 content-audio.php:25 content-chat.php:24
 #: content-gallery.php:25 content-image.php:24 content-link.php:25
 #: content-quote.php:14 content-status.php:14 content-video.php:24
-#: content.php:40 image.php:70 page.php:35
+#: content.php:42 image.php:70 page.php:35
 msgid "Pages:"
 msgstr ""
 
 #: content-aside.php:20 content-aside.php:28 content-audio.php:31
 #: content-chat.php:29 content-gallery.php:39 content-image.php:35
 #: content-link.php:19 content-quote.php:25 content-status.php:19
 msgid "Pages:"
 msgstr ""
 
 #: content-aside.php:20 content-aside.php:28 content-audio.php:31
 #: content-chat.php:29 content-gallery.php:39 content-image.php:35
 #: content-link.php:19 content-quote.php:25 content-status.php:19
-#: content-video.php:35 content.php:29 image.php:44 page.php:39
+#: content-video.php:35 content.php:31 image.php:44 page.php:39
 msgid "Edit"
 msgstr ""
 
 #: content-gallery.php:36 content-image.php:32 content-quote.php:22
 msgid "Edit"
 msgstr ""
 
 #: content-gallery.php:36 content-image.php:32 content-quote.php:22
-#: content-video.php:32 content.php:47
+#: content-video.php:32 content.php:49
 msgid "Leave a comment"
 msgstr ""
 
 #: content-gallery.php:36 content-image.php:32 content-quote.php:22
 msgid "Leave a comment"
 msgstr ""
 
 #: content-gallery.php:36 content-image.php:32 content-quote.php:22
-#: content-video.php:32 content.php:47
+#: content-video.php:32 content.php:49
 msgid "One comment so far"
 msgstr ""
 
 #: content-gallery.php:36 content-image.php:32 content-quote.php:22
 msgid "One comment so far"
 msgstr ""
 
 #: content-gallery.php:36 content-image.php:32 content-quote.php:22
-#: content-video.php:32 content.php:47
+#: content-video.php:32 content.php:49
 msgid "View all % comments"
 msgstr ""
 
 msgid "View all % comments"
 msgstr ""
 
@@ -145,28 +145,28 @@ msgid ""
 "searching can help."
 msgstr ""
 
 "searching can help."
 msgstr ""
 
-#. #-#-#-#-#  twentythirteen.pot (Twenty Thirteen 1.0)  #-#-#-#-#
+#. #-#-#-#-#  twentythirteen.pot (Twenty Thirteen 1.1)  #-#-#-#-#
 #. Author URI of the plugin/theme
 #. Author URI of the plugin/theme
-#: footer.php:20
+#: footer.php:19
 msgid "http://wordpress.org/"
 msgstr ""
 
 msgid "http://wordpress.org/"
 msgstr ""
 
-#: footer.php:20
+#: footer.php:19
 msgid "Semantic Personal Publishing Platform"
 msgstr ""
 
 msgid "Semantic Personal Publishing Platform"
 msgstr ""
 
-#: footer.php:20
+#: footer.php:19
 msgid "Proudly powered by %s"
 msgstr ""
 
 msgid "Proudly powered by %s"
 msgstr ""
 
-#: functions.php:93
+#: functions.php:97
 msgid "Navigation Menu"
 msgstr ""
 
 #. Translators: If there are characters in your language that are not
 #.      * supported by Source Sans Pro, translate this to 'off'. Do not translate
 #.      * into your own language.
 msgid "Navigation Menu"
 msgstr ""
 
 #. Translators: If there are characters in your language that are not
 #.      * supported by Source Sans Pro, translate this to 'off'. Do not translate
 #.      * into your own language.
-#: functions.php:124
+#: functions.php:128
 msgctxt "Source Sans Pro font: on or off"
 msgid "on"
 msgstr ""
 msgctxt "Source Sans Pro font: on or off"
 msgid "on"
 msgstr ""
@@ -174,76 +174,76 @@ msgstr ""
 #. Translators: If there are characters in your language that are not
 #.      * supported by Bitter, translate this to 'off'. Do not translate into your
 #.      * own language.
 #. Translators: If there are characters in your language that are not
 #.      * supported by Bitter, translate this to 'off'. Do not translate into your
 #.      * own language.
-#: functions.php:130
+#: functions.php:134
 msgctxt "Bitter font: on or off"
 msgid "on"
 msgstr ""
 
 msgctxt "Bitter font: on or off"
 msgid "on"
 msgstr ""
 
-#: functions.php:212
+#: functions.php:220
 msgid "Page %s"
 msgstr ""
 
 msgid "Page %s"
 msgstr ""
 
-#: functions.php:227
+#: functions.php:235
 msgid "Main Widget Area"
 msgstr ""
 
 msgid "Main Widget Area"
 msgstr ""
 
-#: functions.php:229
+#: functions.php:237
 msgid "Appears in the footer section of the site."
 msgstr ""
 
 msgid "Appears in the footer section of the site."
 msgstr ""
 
-#: functions.php:237
+#: functions.php:245
 msgid "Secondary Widget Area"
 msgstr ""
 
 msgid "Secondary Widget Area"
 msgstr ""
 
-#: functions.php:239
+#: functions.php:247
 msgid "Appears on posts and pages in the sidebar."
 msgstr ""
 
 msgid "Appears on posts and pages in the sidebar."
 msgstr ""
 
-#: functions.php:264
+#: functions.php:272
 msgid "Posts navigation"
 msgstr ""
 
 msgid "Posts navigation"
 msgstr ""
 
-#: functions.php:268
+#: functions.php:276
 msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
 msgstr ""
 
 msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
 msgstr ""
 
-#: functions.php:272
+#: functions.php:280
 msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#: functions.php:300
+#: functions.php:308
 msgid "Post navigation"
 msgstr ""
 
 msgid "Post navigation"
 msgstr ""
 
-#: functions.php:303
+#: functions.php:311
 msgctxt "Previous post link"
 msgid "<span class=\"meta-nav\">&larr;</span> %title"
 msgstr ""
 
 msgctxt "Previous post link"
 msgid "<span class=\"meta-nav\">&larr;</span> %title"
 msgstr ""
 
-#: functions.php:304
+#: functions.php:312
 msgctxt "Next post link"
 msgid "%title <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 msgctxt "Next post link"
 msgid "%title <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#: functions.php:324
+#: functions.php:332
 msgid "Sticky"
 msgstr ""
 
 #. Translators: used between list items, there is a space after the comma.
 msgid "Sticky"
 msgstr ""
 
 #. Translators: used between list items, there is a space after the comma.
-#: functions.php:330 functions.php:336
+#: functions.php:338 functions.php:344
 msgid ", "
 msgstr ""
 
 msgid ", "
 msgstr ""
 
-#: functions.php:345
+#: functions.php:353
 msgid "View all posts by %s"
 msgstr ""
 
 msgid "View all posts by %s"
 msgstr ""
 
-#: functions.php:365
+#: functions.php:373
 msgctxt "1: post format name. 2: date"
 msgid "%1$s on %2$s"
 msgstr ""
 
 msgctxt "1: post format name. 2: date"
 msgid "%1$s on %2$s"
 msgstr ""
 
-#: functions.php:371
+#: functions.php:379
 msgid "Permalink to %s"
 msgstr ""
 
 msgid "Permalink to %s"
 msgstr ""
 
@@ -278,23 +278,23 @@ msgstr ""
 msgid "Next <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 msgid "Next <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#: inc/back-compat.php:38 inc/back-compat.php:50 inc/back-compat.php:65
+#: inc/back-compat.php:41 inc/back-compat.php:53 inc/back-compat.php:68
 msgid ""
 "Twenty Thirteen requires at least WordPress version 3.6. You are running "
 "version %s. Please upgrade and try again."
 msgstr ""
 
 msgid ""
 "Twenty Thirteen requires at least WordPress version 3.6. You are running "
 "version %s. Please upgrade and try again."
 msgstr ""
 
-#: inc/custom-header.php:48
+#: inc/custom-header.php:51
 msgctxt "header image description"
 msgid "Circle"
 msgstr ""
 
 msgctxt "header image description"
 msgid "Circle"
 msgstr ""
 
-#: inc/custom-header.php:53
+#: inc/custom-header.php:56
 msgctxt "header image description"
 msgid "Diamond"
 msgstr ""
 
 msgctxt "header image description"
 msgid "Diamond"
 msgstr ""
 
-#: inc/custom-header.php:58
+#: inc/custom-header.php:61
 msgctxt "header image description"
 msgid "Star"
 msgstr ""
 msgctxt "header image description"
 msgid "Star"
 msgstr ""
index 06e38e75480f107d9090164d0feab9fcc56bf39e..55453677226a7676e4bdd8d770ab673983a9c33d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying all pages.
+ * The template for displaying all pages
  *
  * This is the template that displays all pages by default.
  * Please note that this is the WordPress construct of pages and that other
  *
  * This is the template that displays all pages by default.
  * Please note that this is the WordPress construct of pages and that other
index 7839defaef9212fa1e2eb99c758169b06a9ae0a4..1519c137658ece65afd24b8a4e317f5c3c3c22de 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Search Results pages.
+ * The template for displaying Search Results pages
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index bb6034c2a62038b09e500faed05e60411a60fa9b..3c700adddaceb5dc07e950b520c49ab3cc9e2a19 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The sidebar containing the footer widget area.
+ * The sidebar containing the footer widget area
  *
  *
- * If no active widgets in this sidebar, it will be hidden completely.
+ * If no active widgets in this sidebar, hide it completely.
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 750945ccca8aab374b3a390a92aada243393f3a4..cb5cf98e9b45f754d922f489f8c8e40deec0da3f 100644 (file)
@@ -1,8 +1,10 @@
 <?php
 /**
 <?php
 /**
- * The sidebar containing the secondary widget area, displays on posts and pages.
+ * The sidebar containing the secondary widget area
  *
  *
- * If no active widgets in this sidebar, it will be hidden completely.
+ * Displays on posts and pages.
+ *
+ * If no active widgets are in this sidebar, hide it completely.
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 6901828c364f29812c70025ee9d44df5a1b68464..1694a0dcf2672f0e8325b49bf0650d2f42598f68 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The Template for displaying all single posts.
+ * The template for displaying all single posts
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 60d0416d66198fe355690f5c0f55e2845ed9b5d5..71646fcbaf964a674f580d3b9f330c05ffb62550 100644 (file)
@@ -4,7 +4,7 @@ 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.
 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.0
+Version: 1.1
 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, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
 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, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
@@ -1738,8 +1738,7 @@ footer.entry-meta {
        max-width: 104px;
 }
 
        max-width: 104px;
 }
 
-.attachment footer.entry-meta,
-.single-attachment .site-main .sidebar-container {
+.attachment footer.entry-meta {
        display: none;
 }
 
        display: none;
 }
 
@@ -1798,7 +1797,7 @@ footer.entry-meta {
 }
 
 .attachment .entry-attachment,
 }
 
 .attachment .entry-attachment,
-.attachment p.attachment {
+.attachment .type-attachment p {
        margin: 0 auto;
        max-width: 724px;
        text-align: center;
        margin: 0 auto;
        max-width: 724px;
        text-align: center;
@@ -1822,6 +1821,10 @@ footer.entry-meta {
        margin: 0;
 }
 
        margin: 0;
 }
 
+.attachment .site-main .sidebar-container {
+       display: none;
+}
+
 
 /**
  * 5.7 Post/Paging Navigation
 
 /**
  * 5.7 Post/Paging Navigation
@@ -2191,6 +2194,7 @@ footer.entry-meta {
        width: 79%;
        width: -webkit-calc(100% - 124px);
        width:         calc(100% - 124px);
        width: 79%;
        width: -webkit-calc(100% - 124px);
        width:         calc(100% - 124px);
+       word-wrap: break-word;
 }
 
 .comment-meta,
 }
 
 .comment-meta,
index 5454005490e27668c269af406cc34ba0c1c4082b..2929321033740bdde77a36e35a7420e489ec1998 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Tag pages.
+ * The template for displaying Tag pages
  *
  * Used to display archive-type pages for posts in a tag.
  *
  *
  * Used to display archive-type pages for posts in a tag.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index 0deb97cce23ee438e42b0219a0b1335137dc0fad..bbec0461d1c010355b649a7669e58d7996067758 100644 (file)
@@ -1,12 +1,12 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Post Format pages.
+ * The template for displaying Post Format pages
  *
  * Used to display archive-type pages for posts with a post format.
  * If you'd like to further customize these Post Format views, you may create a
  * new template file for each specific one.
  *
  *
  * Used to display archive-type pages for posts with a post format.
  * If you'd like to further customize these Post Format views, you may create a
  * new template file for each specific one.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
index e7270b4f40372378b685fe61efd12c0d1115afa7..db3ef811b27eff6f185333e91eda9a2f91e768d4 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying 404 pages (Not Found).
+ * The template for displaying 404 pages (Not Found)
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 8bfb01c9031987eec7e227f9eef84cc9a6d68922..2d442bd37dd6ff87ace422b183a3ecf70c540282 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Archive pages.
+ * The template for displaying Archive pages
  *
  * Used to display archive-type pages if nothing more specific matches a query.
  * For example, puts together date-based pages if no date.php file exists.
  *
  * Used to display archive-type pages if nothing more specific matches a query.
  * For example, puts together date-based pages if no date.php file exists.
@@ -10,7 +10,7 @@
  * has tag.php for Tag archives, category.php for Category archives, and
  * author.php for Author archives.
  *
  * has tag.php for Tag archives, category.php for Category archives, and
  * author.php for Author archives.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 0fa2e6bfebb5ad91e007cfbaf9469c9eab309eb3..6570108e7ee2d8640c237552be2bb4f0f0997db2 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Author Archive pages.
+ * The template for displaying Author Archive pages
  *
  * Used to display archive-type pages for posts by an author.
  *
  *
  * Used to display archive-type pages for posts by an author.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
@@ -47,7 +47,17 @@ get_header(); ?>
                        if ( get_the_author_meta( 'description' ) ) : ?>
                        <div class="author-info">
                                <div class="author-avatar">
                        if ( get_the_author_meta( 'description' ) ) : ?>
                        <div class="author-info">
                                <div class="author-avatar">
-                                       <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentytwelve_author_bio_avatar_size', 60 ) ); ?>
+                                       <?php
+                                       /**
+                                        * Filter the author bio avatar size.
+                                        *
+                                        * @since Twenty Twelve 1.0
+                                        *
+                                        * @param int $size The height and width of the avatar in pixels.
+                                        */
+                                       $author_bio_avatar_size = apply_filters( 'twentytwelve_author_bio_avatar_size', 68 );
+                                       echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
+                                       ?>
                                </div><!-- .author-avatar -->
                                <div class="author-description">
                                        <h2><?php printf( __( 'About %s', 'twentytwelve' ), get_the_author() ); ?></h2>
                                </div><!-- .author-avatar -->
                                <div class="author-description">
                                        <h2><?php printf( __( 'About %s', 'twentytwelve' ), get_the_author() ); ?></h2>
index fc500867d5725ce9da3f58fb1c1857439a6eaeeb..0376977e65fd1274143d0f686b46a20e694c934e 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Category pages.
+ * The template for displaying Category pages
  *
  * Used to display archive-type pages for posts in a category.
  *
  *
  * Used to display archive-type pages for posts in a category.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 457b9e464095240b08ea7bceb7c2a6f894fe4d61..d6a733efe4b7ae1619b0e354c34b8f891f02dfc5 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Comments.
+ * The template for displaying Comments
  *
  * The area of the page that contains both current comments
  * and the comment form. The actual display of comments is
  *
  * The area of the page that contains both current comments
  * and the comment form. The actual display of comments is
index 42bff094501a1daa768923413d6d3c57c1e7973b..b7757821c659046528ea993c346daf3ca8596088 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying a "No posts found" message.
+ * The template for displaying a "No posts found" message
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 55ffcaee246713040bfd5a8a0db1c421f241b2ef..55b72db67d1c4eecccbf0cd97b98f78e19928586 100644 (file)
                                <h1><?php the_author(); ?></h1>
                                <h2><a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'twentytwelve' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="bookmark"><?php echo get_the_date(); ?></a></h2>
                        </header>
                                <h1><?php the_author(); ?></h1>
                                <h2><a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'twentytwelve' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="bookmark"><?php echo get_the_date(); ?></a></h2>
                        </header>
-                       <?php echo get_avatar( get_the_author_meta( 'ID' ), apply_filters( 'twentytwelve_status_avatar', '48' ) ); ?>
+                       <?php
+                       /**
+                        * Filter the status avatar size.
+                        *
+                        * @since Twenty Twelve 1.0
+                        *
+                        * @param int $size The height and width of the avatar in pixels.
+                        */
+                       $status_avatar = apply_filters( 'twentytwelve_status_avatar', 48 );
+                       echo get_avatar( get_the_author_meta( 'ID' ), $status_avatar );
+                       ?>
                </div><!-- .entry-header -->
 
                <div class="entry-content">
                </div><!-- .entry-header -->
 
                <div class="entry-content">
index bf2936ca21ee97713a20615b6e4b76500f2df5a9..daaad3447d62b66811c59e0afbd51eb36af20da6 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The default template for displaying content. Used for both single and index/archive/search.
+ * The default template for displaying content
+ *
+ * Used for both single and index/archive/search.
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
                        <?php if ( is_singular() && get_the_author_meta( 'description' ) && is_multi_author() ) : // If a user has filled out their description and this is a multi-author blog, show a bio on their entries. ?>
                                <div class="author-info">
                                        <div class="author-avatar">
                        <?php if ( is_singular() && get_the_author_meta( 'description' ) && is_multi_author() ) : // If a user has filled out their description and this is a multi-author blog, show a bio on their entries. ?>
                                <div class="author-info">
                                        <div class="author-avatar">
-                                               <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentytwelve_author_bio_avatar_size', 68 ) ); ?>
+                                               <?php
+                                               /** This filter is documented in author.php */
+                                               $author_bio_avatar_size = apply_filters( 'twentytwelve_author_bio_avatar_size', 68 );
+                                               echo get_avatar( get_the_author_meta( 'user_email' ), $author_bio_avatar_size );
+                                               ?>
                                        </div><!-- .author-avatar -->
                                        <div class="author-description">
                                                <h2><?php printf( __( 'About %s', 'twentytwelve' ), get_the_author() ); ?></h2>
                                        </div><!-- .author-avatar -->
                                        <div class="author-description">
                                                <h2><?php printf( __( 'About %s', 'twentytwelve' ), get_the_author() ); ?></h2>
index 7acef64df679f7cf99d91e96b629706435c28634..ddb1e41c1834abeff51d87d444394ea4cc69e047 100644 (file)
@@ -53,7 +53,7 @@ img[class*="attachment-"] {
        width: 65.104166667%;
 }
 body.template-front-page .site-content,
        width: 65.104166667%;
 }
 body.template-front-page .site-content,
-body.single-attachment .site-content,
+body.attachment .site-content,
 body.full-width .site-content {
        width: 100%;
 }
 body.full-width .site-content {
        width: 100%;
 }
index 91ca7927f541b4cf44ad8333a5a216224ff177b0..79848d3424daa809160be03cceaccfe4b5ee7610 100644 (file)
@@ -1,9 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying the footer.
+ * The template for displaying the footer
  *
  *
- * Contains footer content and the closing of the
- * #main and #page div elements.
+ * Contains footer content and the closing of the #main and #page div elements.
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 04981390d30553022d99f3b39abffec0ee032e6b..405448107fa61122585c41af4f6ee09ce4fc662b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * Twenty Twelve functions and definitions.
+ * Twenty Twelve functions and definitions
  *
  * Sets up the theme and provides some helper functions, which are used
  * in the theme as custom template tags. Others are attached to action and
  *
  * Sets up the theme and provides some helper functions, which are used
  * in the theme as custom template tags. Others are attached to action and
  * Functions that are not pluggable (not wrapped in function_exists()) are instead attached
  * to a filter or action hook.
  *
  * Functions that are not pluggable (not wrapped in function_exists()) are instead attached
  * to a filter or action hook.
  *
- * For more information on hooks, actions, and filters, see http://codex.wordpress.org/Plugin_API.
+ * For more information on hooks, actions, and filters, @link http://codex.wordpress.org/Plugin_API
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  * @since Twenty Twelve 1.0
  */
 
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  * @since Twenty Twelve 1.0
  */
 
-/**
- * Sets up the content width value based on the theme's design and stylesheet.
- */
+// Set up the content width value based on the theme's design and stylesheet.
 if ( ! isset( $content_width ) )
        $content_width = 625;
 
 /**
 if ( ! isset( $content_width ) )
        $content_width = 625;
 
 /**
+ * Twenty Twelve setup.
+ *
  * Sets up theme defaults and registers the various WordPress features that
  * Twenty Twelve supports.
  *
  * Sets up theme defaults and registers the various WordPress features that
  * Twenty Twelve supports.
  *
@@ -64,8 +64,8 @@ function twentytwelve_setup() {
        register_nav_menu( 'primary', __( 'Primary Menu', 'twentytwelve' ) );
 
        /*
        register_nav_menu( 'primary', __( 'Primary Menu', 'twentytwelve' ) );
 
        /*
-        * This theme supports custom background color and image, and here
-        * we also set up the default background color.
+        * This theme supports custom background color and image,
+        * and here we also set up the default background color.
         */
        add_theme_support( 'custom-background', array(
                'default-color' => 'e6e6e6',
         */
        add_theme_support( 'custom-background', array(
                'default-color' => 'e6e6e6',
@@ -78,12 +78,12 @@ function twentytwelve_setup() {
 add_action( 'after_setup_theme', 'twentytwelve_setup' );
 
 /**
 add_action( 'after_setup_theme', 'twentytwelve_setup' );
 
 /**
- * Adds support for a custom header image.
+ * Add support for a custom header image.
  */
 require( get_template_directory() . '/inc/custom-header.php' );
 
 /**
  */
 require( get_template_directory() . '/inc/custom-header.php' );
 
 /**
- * Returns the Google font stylesheet URL if available.
+ * Return the Google font stylesheet URL if available.
  *
  * The use of Open Sans by default is localized. For languages that use
  * characters not supported by the font, the font can be disabled.
  *
  * The use of Open Sans by default is localized. For languages that use
  * characters not supported by the font, the font can be disabled.
@@ -96,12 +96,14 @@ function twentytwelve_get_font_url() {
        $font_url = '';
 
        /* translators: If there are characters in your language that are not supported
        $font_url = '';
 
        /* translators: If there are characters in your language that are not supported
-        by Open Sans, translate this to 'off'. Do not translate into your own language. */
+        * by Open Sans, translate this to 'off'. Do not translate into your own language.
+        */
        if ( 'off' !== _x( 'on', 'Open Sans font: on or off', 'twentytwelve' ) ) {
                $subsets = 'latin,latin-ext';
 
        if ( 'off' !== _x( 'on', 'Open Sans font: on or off', 'twentytwelve' ) ) {
                $subsets = 'latin,latin-ext';
 
-               /* translators: To add an additional Open Sans character subset specific to your language, translate
-                this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your own language. */
+               /* translators: To add an additional Open Sans character subset specific to your language,
+                * translate this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your own language.
+                */
                $subset = _x( 'no-subset', 'Open Sans font: add new subset (greek, cyrillic, vietnamese)', 'twentytwelve' );
 
                if ( 'cyrillic' == $subset )
                $subset = _x( 'no-subset', 'Open Sans font: add new subset (greek, cyrillic, vietnamese)', 'twentytwelve' );
 
                if ( 'cyrillic' == $subset )
@@ -123,9 +125,11 @@ function twentytwelve_get_font_url() {
 }
 
 /**
 }
 
 /**
- * Enqueues scripts and styles for front-end.
+ * Enqueue scripts and styles for front-end.
  *
  * @since Twenty Twelve 1.0
  *
  * @since Twenty Twelve 1.0
+ *
+ * @return void
  */
 function twentytwelve_scripts_styles() {
        global $wp_styles;
  */
 function twentytwelve_scripts_styles() {
        global $wp_styles;
@@ -137,29 +141,25 @@ function twentytwelve_scripts_styles() {
        if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
                wp_enqueue_script( 'comment-reply' );
 
        if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
                wp_enqueue_script( 'comment-reply' );
 
-       /*
-        * Adds JavaScript for handling the navigation menu hide-and-show behavior.
-        */
+       // Adds JavaScript for handling the navigation menu hide-and-show behavior.
        wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true );
 
        $font_url = twentytwelve_get_font_url();
        if ( ! empty( $font_url ) )
                wp_enqueue_style( 'twentytwelve-fonts', esc_url_raw( $font_url ), array(), null );
 
        wp_enqueue_script( 'twentytwelve-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0', true );
 
        $font_url = twentytwelve_get_font_url();
        if ( ! empty( $font_url ) )
                wp_enqueue_style( 'twentytwelve-fonts', esc_url_raw( $font_url ), array(), null );
 
-       /*
-        * Loads our main stylesheet.
-        */
+       // Loads our main stylesheet.
        wp_enqueue_style( 'twentytwelve-style', get_stylesheet_uri() );
 
        wp_enqueue_style( 'twentytwelve-style', get_stylesheet_uri() );
 
-       /*
-        * Loads the Internet Explorer specific stylesheet.
-        */
+       // Loads the Internet Explorer specific stylesheet.
        wp_enqueue_style( 'twentytwelve-ie', get_template_directory_uri() . '/css/ie.css', array( 'twentytwelve-style' ), '20121010' );
        $wp_styles->add_data( 'twentytwelve-ie', 'conditional', 'lt IE 9' );
 }
 add_action( 'wp_enqueue_scripts', 'twentytwelve_scripts_styles' );
 
 /**
        wp_enqueue_style( 'twentytwelve-ie', get_template_directory_uri() . '/css/ie.css', array( 'twentytwelve-style' ), '20121010' );
        $wp_styles->add_data( 'twentytwelve-ie', 'conditional', 'lt IE 9' );
 }
 add_action( 'wp_enqueue_scripts', 'twentytwelve_scripts_styles' );
 
 /**
+ * Filter TinyMCE CSS path to include Google Fonts.
+ *
  * Adds additional stylesheets to the TinyMCE editor if needed.
  *
  * @uses twentytwelve_get_font_url() To get the Google Font stylesheet URL.
  * Adds additional stylesheets to the TinyMCE editor if needed.
  *
  * @uses twentytwelve_get_font_url() To get the Google Font stylesheet URL.
@@ -167,7 +167,7 @@ add_action( 'wp_enqueue_scripts', 'twentytwelve_scripts_styles' );
  * @since Twenty Twelve 1.2
  *
  * @param string $mce_css CSS path to load in TinyMCE.
  * @since Twenty Twelve 1.2
  *
  * @param string $mce_css CSS path to load in TinyMCE.
- * @return string
+ * @return string Filtered CSS path.
  */
 function twentytwelve_mce_css( $mce_css ) {
        $font_url = twentytwelve_get_font_url();
  */
 function twentytwelve_mce_css( $mce_css ) {
        $font_url = twentytwelve_get_font_url();
@@ -185,6 +185,8 @@ function twentytwelve_mce_css( $mce_css ) {
 add_filter( 'mce_css', 'twentytwelve_mce_css' );
 
 /**
 add_filter( 'mce_css', 'twentytwelve_mce_css' );
 
 /**
+ * Filter the page title.
+ *
  * Creates a nicely formatted and more specific title element text
  * for output in head of document, based on current view.
  *
  * Creates a nicely formatted and more specific title element text
  * for output in head of document, based on current view.
  *
@@ -217,6 +219,8 @@ function twentytwelve_wp_title( $title, $sep ) {
 add_filter( 'wp_title', 'twentytwelve_wp_title', 10, 2 );
 
 /**
 add_filter( 'wp_title', 'twentytwelve_wp_title', 10, 2 );
 
 /**
+ * Filter the page menu arguments.
+ *
  * Makes our wp_nav_menu() fallback -- wp_page_menu() -- show a home link.
  *
  * @since Twenty Twelve 1.0
  * Makes our wp_nav_menu() fallback -- wp_page_menu() -- show a home link.
  *
  * @since Twenty Twelve 1.0
@@ -229,6 +233,8 @@ function twentytwelve_page_menu_args( $args ) {
 add_filter( 'wp_page_menu_args', 'twentytwelve_page_menu_args' );
 
 /**
 add_filter( 'wp_page_menu_args', 'twentytwelve_page_menu_args' );
 
 /**
+ * Register sidebars.
+ *
  * Registers our main widget area and the front page widget areas.
  *
  * @since Twenty Twelve 1.0
  * Registers our main widget area and the front page widget areas.
  *
  * @since Twenty Twelve 1.0
@@ -297,6 +303,8 @@ if ( ! function_exists( 'twentytwelve_comment' ) ) :
  * Used as a callback by wp_list_comments() for displaying the comments.
  *
  * @since Twenty Twelve 1.0
  * Used as a callback by wp_list_comments() for displaying the comments.
  *
  * @since Twenty Twelve 1.0
+ *
+ * @return void
  */
 function twentytwelve_comment( $comment, $args, $depth ) {
        $GLOBALS['comment'] = $comment;
  */
 function twentytwelve_comment( $comment, $args, $depth ) {
        $GLOBALS['comment'] = $comment;
@@ -353,11 +361,15 @@ endif;
 
 if ( ! function_exists( 'twentytwelve_entry_meta' ) ) :
 /**
 
 if ( ! function_exists( 'twentytwelve_entry_meta' ) ) :
 /**
+ * Set up post entry meta.
+ *
  * Prints HTML with meta information for current post: categories, tags, permalink, author, and date.
  *
  * Create your own twentytwelve_entry_meta() to override in a child theme.
  *
  * @since Twenty Twelve 1.0
  * Prints HTML with meta information for current post: categories, tags, permalink, author, and date.
  *
  * Create your own twentytwelve_entry_meta() to override in a child theme.
  *
  * @since Twenty Twelve 1.0
+ *
+ * @return void
  */
 function twentytwelve_entry_meta() {
        // Translators: used between list items, there is a space after the comma.
  */
 function twentytwelve_entry_meta() {
        // Translators: used between list items, there is a space after the comma.
@@ -399,6 +411,8 @@ function twentytwelve_entry_meta() {
 endif;
 
 /**
 endif;
 
 /**
+ * Extend the default WordPress body classes.
+ *
  * Extends the default WordPress body class to denote:
  * 1. Using a full-width layout, when no active widgets in the sidebar
  *    or full-width template.
  * Extends the default WordPress body class to denote:
  * 1. Using a full-width layout, when no active widgets in the sidebar
  *    or full-width template.
@@ -410,7 +424,7 @@ endif;
  *
  * @since Twenty Twelve 1.0
  *
  *
  * @since Twenty Twelve 1.0
  *
- * @param array Existing class values.
+ * @param array $classes Existing class values.
  * @return array Filtered class values.
  */
 function twentytwelve_body_class( $classes ) {
  * @return array Filtered class values.
  */
 function twentytwelve_body_class( $classes ) {
@@ -447,10 +461,14 @@ function twentytwelve_body_class( $classes ) {
 add_filter( 'body_class', 'twentytwelve_body_class' );
 
 /**
 add_filter( 'body_class', 'twentytwelve_body_class' );
 
 /**
+ * Adjust content width in certain contexts.
+ *
  * Adjusts content_width value for full-width and single image attachment
  * templates, and when there are no active widgets in the sidebar.
  *
  * @since Twenty Twelve 1.0
  * Adjusts content_width value for full-width and single image attachment
  * templates, and when there are no active widgets in the sidebar.
  *
  * @since Twenty Twelve 1.0
+ *
+ * @return void
  */
 function twentytwelve_content_width() {
        if ( is_page_template( 'page-templates/full-width.php' ) || is_attachment() || ! is_active_sidebar( 'sidebar-1' ) ) {
  */
 function twentytwelve_content_width() {
        if ( is_page_template( 'page-templates/full-width.php' ) || is_attachment() || ! is_active_sidebar( 'sidebar-1' ) ) {
@@ -461,11 +479,13 @@ function twentytwelve_content_width() {
 add_action( 'template_redirect', 'twentytwelve_content_width' );
 
 /**
 add_action( 'template_redirect', 'twentytwelve_content_width' );
 
 /**
- * Add postMessage support for site title and description for the Theme Customizer.
+ * Register postMessage support.
+ *
+ * Add postMessage support for site title and description for the Customizer.
  *
  * @since Twenty Twelve 1.0
  *
  *
  * @since Twenty Twelve 1.0
  *
- * @param WP_Customize_Manager $wp_customize Theme Customizer object.
+ * @param WP_Customize_Manager $wp_customize Customizer object.
  * @return void
  */
 function twentytwelve_customize_register( $wp_customize ) {
  * @return void
  */
 function twentytwelve_customize_register( $wp_customize ) {
@@ -476,9 +496,13 @@ function twentytwelve_customize_register( $wp_customize ) {
 add_action( 'customize_register', 'twentytwelve_customize_register' );
 
 /**
 add_action( 'customize_register', 'twentytwelve_customize_register' );
 
 /**
- * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
+ * Enqueue Javascript postMessage handlers for the Customizer.
+ *
+ * Binds JS handlers to make the Customizer preview reload changes asynchronously.
  *
  * @since Twenty Twelve 1.0
  *
  * @since Twenty Twelve 1.0
+ *
+ * @return void
  */
 function twentytwelve_customize_preview_js() {
        wp_enqueue_script( 'twentytwelve-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130301', true );
  */
 function twentytwelve_customize_preview_js() {
        wp_enqueue_script( 'twentytwelve-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20130301', true );
index 2d3dfa630f9a78f82c227ea496a914cbee28ba28..eb64b68d56a3cc632ef0b08a13a80af7de8cfa77 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The Header for our theme.
+ * The Header template for our theme
  *
  * Displays all of the <head> section and everything up till <div id="main">
  *
  *
  * Displays all of the <head> section and everything up till <div id="main">
  *
@@ -45,9 +45,8 @@
                        <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
                </nav><!-- #site-navigation -->
 
                        <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
                </nav><!-- #site-navigation -->
 
-               <?php $header_image = get_header_image();
-               if ( ! empty( $header_image ) ) : ?>
-                       <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><img src="<?php echo esc_url( $header_image ); ?>" class="header-image" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" /></a>
+               <?php if ( get_header_image() ) : ?>
+               <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><img src="<?php header_image(); ?>" class="header-image" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" /></a>
                <?php endif; ?>
        </header><!-- #masthead -->
 
                <?php endif; ?>
        </header><!-- #masthead -->
 
index b2fcb428ac5ce8d8253e86041f4103541102e0bc..285e453c71017e097931b8abac93f17576546d1b 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying image attachments.
+ * The template for displaying image attachments
  *
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
@@ -48,7 +48,7 @@ get_header(); ?>
                                                <div class="entry-attachment">
                                                        <div class="attachment">
 <?php
                                                <div class="entry-attachment">
                                                        <div class="attachment">
 <?php
-/**
+/*
  * Grab the IDs of all the image attachments in a gallery so we can get the URL of the next adjacent image in a gallery,
  * or the first image (if we're looking at the last image in a gallery), or, in a gallery of one, just the link to that image file
  */
  * Grab the IDs of all the image attachments in a gallery so we can get the URL of the next adjacent image in a gallery,
  * or the first image (if we're looking at the last image in a gallery), or, in a gallery of one, just the link to that image file
  */
@@ -74,6 +74,16 @@ else :
 endif;
 ?>
                                                                <a href="<?php echo esc_url( $next_attachment_url ); ?>" title="<?php the_title_attribute(); ?>" rel="attachment"><?php
 endif;
 ?>
                                                                <a href="<?php echo esc_url( $next_attachment_url ); ?>" title="<?php the_title_attribute(); ?>" rel="attachment"><?php
+                                                               /**
+                                                                * Filter the image attachment size to use.
+                                                                *
+                                                                * @since Twenty Twelve 1.0
+                                                                *
+                                                                * @param array $size {
+                                                                *     @type int The attachment height in pixels.
+                                                                *     @type int The attachment width in pixels.
+                                                                * }
+                                                                */
                                                                $attachment_size = apply_filters( 'twentytwelve_attachment_size', array( 960, 960 ) );
                                                                echo wp_get_attachment_image( $post->ID, $attachment_size );
                                                                ?></a>
                                                                $attachment_size = apply_filters( 'twentytwelve_attachment_size', array( 960, 960 ) );
                                                                echo wp_get_attachment_image( $post->ID, $attachment_size );
                                                                ?></a>
index 595bf98f5a7edcdf48645173f5757b9e9eea2bc4..32fea17f795a2549e91d6332e2d253d6543a017e 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 /**
 <?php
 /**
- * Implements an optional custom header for Twenty Twelve.
+ * Implement an optional custom header for Twenty Twelve
+ *
  * See http://codex.wordpress.org/Custom_Headers
  *
  * @package WordPress
  * See http://codex.wordpress.org/Custom_Headers
  *
  * @package WordPress
@@ -9,7 +10,7 @@
  */
 
 /**
  */
 
 /**
- * Sets up the WordPress core custom header arguments and settings.
+ * Set up the WordPress core custom header arguments and settings.
  *
  * @uses add_theme_support() to register support for 3.4 and up.
  * @uses twentytwelve_header_style() to style front-end.
  *
  * @uses add_theme_support() to register support for 3.4 and up.
  * @uses twentytwelve_header_style() to style front-end.
@@ -47,7 +48,7 @@ function twentytwelve_custom_header_setup() {
 add_action( 'after_setup_theme', 'twentytwelve_custom_header_setup' );
 
 /**
 add_action( 'after_setup_theme', 'twentytwelve_custom_header_setup' );
 
 /**
- * Loads our special font CSS file.
+ * Load our special font CSS file.
  *
  * @since Twenty Twelve 1.2
  *
  *
  * @since Twenty Twelve 1.2
  *
@@ -61,7 +62,7 @@ function twentytwelve_custom_header_fonts() {
 add_action( 'admin_print_styles-appearance_page_custom-header', 'twentytwelve_custom_header_fonts' );
 
 /**
 add_action( 'admin_print_styles-appearance_page_custom-header', 'twentytwelve_custom_header_fonts' );
 
 /**
- * Styles the header text displayed on the blog.
+ * Style the header text displayed on the blog.
  *
  * get_header_textcolor() options: 515151 is default, hide text (returns 'blank'), or any hex value.
  *
  *
  * get_header_textcolor() options: 515151 is default, hide text (returns 'blank'), or any hex value.
  *
@@ -101,7 +102,7 @@ function twentytwelve_header_style() {
 }
 
 /**
 }
 
 /**
- * Styles the header image displayed on the Appearance > Header admin panel.
+ * Style the header image displayed on the Appearance > Header admin panel.
  *
  * @since Twenty Twelve 1.0
  */
  *
  * @since Twenty Twelve 1.0
  */
@@ -141,7 +142,8 @@ function twentytwelve_admin_header_style() {
 }
 
 /**
 }
 
 /**
- * Outputs markup to be displayed on the Appearance > Header admin panel.
+ * Output markup to be displayed on the Appearance > Header admin panel.
+ *
  * This callback overrides the default markup displayed there.
  *
  * @since Twenty Twelve 1.0
  * This callback overrides the default markup displayed there.
  *
  * @since Twenty Twelve 1.0
index 91201b447fcdaf1fe0d908c406007ee9c32f2ca0..74b574ec12ecc8be6dbff0e029aaab5ec4972498 100644 (file)
@@ -1,13 +1,13 @@
 <?php
 /**
 <?php
 /**
- * The main template file.
+ * The main template file
  *
  * This is the most generic template file in a WordPress theme
  * and one of the two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * For example, it puts together the home page when no home.php file exists.
  *
  *
  * This is the most generic template file in a WordPress theme
  * and one of the two required files for a theme (the other being style.css).
  * It is used to display a page when nothing more specific matches a query.
  * For example, it puts together the home page when no home.php file exists.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index cf8d7be995a2f05e9de848e9cad65796a7ead7d1..a504372e6547f7c00b0d4ed68343cbde985ccd71 100644 (file)
@@ -2,9 +2,9 @@
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Twelve 1.2\n"
+"Project-Id-Version: Twenty Twelve 1.3\n"
 "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentytwelve\n"
 "Report-Msgid-Bugs-To: http://wordpress.org/tags/twentytwelve\n"
-"POT-Creation-Date: 2013-08-01 18:14:15+00:00\n"
+"POT-Creation-Date: 2013-10-24 20:32:05+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -52,7 +52,7 @@ msgstr ""
 msgid "Author Archives: %s"
 msgstr ""
 
 msgid "Author Archives: %s"
 msgstr ""
 
-#: author.php:53 content.php:53
+#: author.php:63 content.php:59
 msgid "About %s"
 msgstr ""
 
 msgid "About %s"
 msgstr ""
 
@@ -83,7 +83,7 @@ msgid "Comments are closed."
 msgstr ""
 
 #: content-aside.php:15 content-image.php:13 content-link.php:14
 msgstr ""
 
 #: content-aside.php:15 content-image.php:13 content-link.php:14
-#: content-quote.php:13 content-status.php:21 content.php:39
+#: content-quote.php:13 content-status.php:31 content.php:41
 msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
@@ -93,23 +93,23 @@ msgid "Permalink to %s"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
-#: content-quote.php:20 content-status.php:27 content.php:28
+#: content-quote.php:20 content-status.php:37 content.php:30
 msgid "Leave a reply"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
 msgid "Leave a reply"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
-#: content-quote.php:20 content-status.php:27 content.php:28
+#: content-quote.php:20 content-status.php:37 content.php:30
 msgid "1 Reply"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
 msgid "1 Reply"
 msgstr ""
 
 #: content-aside.php:23 content-image.php:23 content-link.php:21
-#: content-quote.php:20 content-status.php:27 content.php:28
+#: content-quote.php:20 content-status.php:37 content.php:30
 msgid "% Replies"
 msgstr ""
 
 #: content-aside.php:26 content-image.php:26 content-link.php:24
 msgid "% Replies"
 msgstr ""
 
 #: content-aside.php:26 content-image.php:26 content-link.php:24
-#: content-page.php:24 content-quote.php:23 content-status.php:30
-#: content.php:46 functions.php:341 image.php:37
+#: content-page.php:24 content-quote.php:23 content-status.php:40
+#: content.php:48 functions.php:349 image.php:37
 msgid "Edit"
 msgstr ""
 
 msgid "Edit"
 msgstr ""
 
@@ -127,29 +127,29 @@ msgid ""
 "related post."
 msgstr ""
 
 "related post."
 msgstr ""
 
-#: content-page.php:21 content.php:40 image.php:92
+#: content-page.php:21 content.php:42 image.php:102
 msgid "Pages:"
 msgstr ""
 
 msgid "Pages:"
 msgstr ""
 
-#: content.php:14
+#: content.php:16
 msgid "Featured post"
 msgstr ""
 
 msgid "Featured post"
 msgstr ""
 
-#: content.php:57
+#: content.php:63
 msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#. #-#-#-#-#  twentytwelve.pot (Twenty Twelve 1.2)  #-#-#-#-#
+#. #-#-#-#-#  twentytwelve.pot (Twenty Twelve 1.3)  #-#-#-#-#
 #. Author URI of the plugin/theme
 #. Author URI of the plugin/theme
-#: footer.php:17
+#: footer.php:16
 msgid "http://wordpress.org/"
 msgstr ""
 
 msgid "http://wordpress.org/"
 msgstr ""
 
-#: footer.php:17
+#: footer.php:16
 msgid "Semantic Personal Publishing Platform"
 msgstr ""
 
 msgid "Semantic Personal Publishing Platform"
 msgstr ""
 
-#: footer.php:17
+#: footer.php:16
 msgid "Proudly powered by %s"
 msgstr ""
 
 msgid "Proudly powered by %s"
 msgstr ""
 
@@ -158,111 +158,111 @@ msgid "Primary Menu"
 msgstr ""
 
 #. translators: If there are characters in your language that are not supported
 msgstr ""
 
 #. translators: If there are characters in your language that are not supported
-#.      by Open Sans, translate this to 'off'. Do not translate into your own
+#.      by Open Sans, translate this to 'off'. Do not translate into your own
 #. language.
 #. language.
-#: functions.php:100
+#: functions.php:101
 msgctxt "Open Sans font: on or off"
 msgid "on"
 msgstr ""
 
 #. translators: To add an additional Open Sans character subset specific to
 msgctxt "Open Sans font: on or off"
 msgid "on"
 msgstr ""
 
 #. translators: To add an additional Open Sans character subset specific to
-#. your language, translate
-#.              this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your
-#. own language.
-#: functions.php:105
+#. your language,
+#.              * translate this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate
+#. into your own language.
+#: functions.php:107
 msgctxt "Open Sans font: add new subset (greek, cyrillic, vietnamese)"
 msgid "no-subset"
 msgstr ""
 
 msgctxt "Open Sans font: add new subset (greek, cyrillic, vietnamese)"
 msgid "no-subset"
 msgstr ""
 
-#: functions.php:213
+#: functions.php:215
 msgid "Page %s"
 msgstr ""
 
 msgid "Page %s"
 msgstr ""
 
-#: functions.php:238
+#: functions.php:244
 msgid "Main Sidebar"
 msgstr ""
 
 msgid "Main Sidebar"
 msgstr ""
 
-#: functions.php:240
+#: functions.php:246
 msgid ""
 "Appears on posts and pages except the optional Front Page template, which "
 "has its own widgets"
 msgstr ""
 
 msgid ""
 "Appears on posts and pages except the optional Front Page template, which "
 "has its own widgets"
 msgstr ""
 
-#: functions.php:248
+#: functions.php:254
 msgid "First Front Page Widget Area"
 msgstr ""
 
 msgid "First Front Page Widget Area"
 msgstr ""
 
-#: functions.php:250 functions.php:260
+#: functions.php:256 functions.php:266
 msgid ""
 "Appears when using the optional Front Page template with a page set as "
 "Static Front Page"
 msgstr ""
 
 msgid ""
 "Appears when using the optional Front Page template with a page set as "
 "Static Front Page"
 msgstr ""
 
-#: functions.php:258
+#: functions.php:264
 msgid "Second Front Page Widget Area"
 msgstr ""
 
 msgid "Second Front Page Widget Area"
 msgstr ""
 
-#: functions.php:282 single.php:20
+#: functions.php:288 single.php:20
 msgid "Post navigation"
 msgstr ""
 
 msgid "Post navigation"
 msgstr ""
 
-#: functions.php:283
+#: functions.php:289
 msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
 msgstr ""
 
 msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
 msgstr ""
 
-#: functions.php:284
+#: functions.php:290
 msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
 msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
-#: functions.php:309
+#: functions.php:317
 msgid "Pingback:"
 msgstr ""
 
 msgid "Pingback:"
 msgstr ""
 
-#: functions.php:309
+#: functions.php:317
 msgid "(Edit)"
 msgstr ""
 
 msgid "(Edit)"
 msgstr ""
 
-#: functions.php:324
+#: functions.php:332
 msgid "Post author"
 msgstr ""
 
 #. translators: 1: date, 2: time
 msgid "Post author"
 msgstr ""
 
 #. translators: 1: date, 2: time
-#: functions.php:330
+#: functions.php:338
 msgid "%1$s at %2$s"
 msgstr ""
 
 msgid "%1$s at %2$s"
 msgstr ""
 
-#: functions.php:336
+#: functions.php:344
 msgid "Your comment is awaiting moderation."
 msgstr ""
 
 msgid "Your comment is awaiting moderation."
 msgstr ""
 
-#: functions.php:345
+#: functions.php:353
 msgid "Reply"
 msgstr ""
 
 #. Translators: used between list items, there is a space after the comma.
 msgid "Reply"
 msgstr ""
 
 #. Translators: used between list items, there is a space after the comma.
-#: functions.php:364 functions.php:367
+#: functions.php:376 functions.php:379
 msgid ", "
 msgstr ""
 
 msgid ", "
 msgstr ""
 
-#: functions.php:378
+#: functions.php:390
 msgid "View all posts by %s"
 msgstr ""
 
 #. Translators: 1 is category, 2 is tag, 3 is the date and 4 is the author's
 #. name.
 msgid "View all posts by %s"
 msgstr ""
 
 #. Translators: 1 is category, 2 is tag, 3 is the date and 4 is the author's
 #. name.
-#: functions.php:384
+#: functions.php:396
 msgid ""
 "This entry was posted in %1$s and tagged %2$s on %3$s<span class=\"by-author"
 "\"> by %4$s</span>."
 msgstr ""
 
 msgid ""
 "This entry was posted in %1$s and tagged %2$s on %3$s<span class=\"by-author"
 "\"> by %4$s</span>."
 msgstr ""
 
-#: functions.php:386
+#: functions.php:398
 msgid ""
 "This entry was posted in %1$s on %3$s<span class=\"by-author\"> by %4$s</"
 "span>."
 msgstr ""
 
 msgid ""
 "This entry was posted in %1$s on %3$s<span class=\"by-author\"> by %4$s</"
 "span>."
 msgstr ""
 
-#: functions.php:388
+#: functions.php:400
 msgid "This entry was posted on %3$s<span class=\"by-author\"> by %4$s</span>."
 msgstr ""
 
 msgid "This entry was posted on %3$s<span class=\"by-author\"> by %4$s</span>."
 msgstr ""
 
index dcda990c2cb68dfc802c96f2c7bff111cf9a6758..b06cd1f206f9bdbb448e6a7bd1308562516f490c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying all pages.
+ * The template for displaying all pages
  *
  * This is the template that displays all pages by default.
  * Please note that this is the WordPress construct of pages
  *
  * This is the template that displays all pages by default.
  * Please note that this is the WordPress construct of pages
index 4eea82c234b2bf8f238e5fd4a7007f0d988c13b8..97a309b12c9b265cf28dacd08047f7f6de75110f 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Search Results pages.
+ * The template for displaying Search Results pages
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 4dfa1403723fe6e4511c805016cc640e69b23f99..990a09fec372644e23dbf34d5545345e2c99b6e4 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The sidebar containing the front page widget areas.
+ * The sidebar containing the front page widget areas
  *
  *
- * If no active widgets in either sidebar, they will be hidden completely.
+ * If no active widgets are in either sidebar, hide them completely.
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 2bc4969ae8e733b255835194ef9756eeb874c02f..a59dcc49b0a59a91def213ade2bea882dd68abc3 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
 <?php
 /**
- * The sidebar containing the main widget area.
+ * The sidebar containing the main widget area
  *
  *
- * If no active widgets in sidebar, let's hide it completely.
+ * If no active widgets are in the sidebar, hide it completely.
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 38a813bc048ce42b45ba4f58a8c22a1b0426a19e..38175246f11a559c46922a92a5a597370207f7d0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
 <?php
 /**
- * The Template for displaying all single posts.
+ * The Template for displaying all single posts
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
index 95892b71a46443b304d777696400290937f2367c..4786b5017935e7c748e9ab5ae7a9a675ea6db682 100644 (file)
@@ -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.
 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.2
+Version: 1.3
 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, flexible-width, 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
 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, flexible-width, 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
@@ -1454,7 +1454,7 @@ img#wpstats {
                width: 65.104166667%;
        }
        body.template-front-page .site-content,
                width: 65.104166667%;
        }
        body.template-front-page .site-content,
-       body.single-attachment .site-content,
+       body.attachment .site-content,
        body.full-width .site-content {
                width: 100%;
        }
        body.full-width .site-content {
                width: 100%;
        }
index 9bf77e0a7e5182bb8d876bfb06b9f7f7786e9150..4e8b14c70ebbb5308fde46942b4cf0bc311725fc 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
 <?php
 /**
- * The template for displaying Tag pages.
+ * The template for displaying Tag pages
  *
  * Used to display archive-type pages for posts in a tag.
  *
  *
  * Used to display archive-type pages for posts in a tag.
  *
- * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ * @link http://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
  *
  * @package WordPress
  * @subpackage Twenty_Twelve
@@ -29,7 +29,8 @@ get_header(); ?>
                        /* Start the Loop */
                        while ( have_posts() ) : the_post();
 
                        /* Start the Loop */
                        while ( have_posts() ) : the_post();
 
-                               /* Include the post format-specific template for the content. If you want to
+                               /*
+                                * Include the post format-specific template for the content. If you want to
                                 * this in a child theme then include a file called called content-___.php
                                 * (where ___ is the post format) and that will be used instead.
                                 */
                                 * this in a child theme then include a file called called content-___.php
                                 * (where ___ is the post format) and that will be used instead.
                                 */
index 04953c8d73128d3e8c6929966b4ef1fc33ab827b..da2838cbda05d49272fc37415a76891f9dadefe6 100644 (file)
@@ -23,15 +23,15 @@ define('DOING_CRON', true);
 
 if ( !defined('ABSPATH') ) {
        /** Set up WordPress environment */
 
 if ( !defined('ABSPATH') ) {
        /** Set up WordPress environment */
-       require_once('./wp-load.php');
+       require_once( dirname( __FILE__ ) . '/wp-load.php' );
 }
 
 // Uncached doing_cron transient fetch
 function _get_cron_lock() {
 }
 
 // Uncached doing_cron transient fetch
 function _get_cron_lock() {
-       global $_wp_using_ext_object_cache, $wpdb;
+       global $wpdb;
 
        $value = 0;
 
        $value = 0;
-       if ( $_wp_using_ext_object_cache ) {
+       if ( wp_using_ext_object_cache() ) {
                // Skip local cache and force refetch of doing_cron transient in case
                // another processs updated the cache
                $value = wp_cache_get( 'doing_cron', 'transient', true );
                // Skip local cache and force refetch of doing_cron transient in case
                // another processs updated the cache
                $value = wp_cache_get( 'doing_cron', 'transient', true );
@@ -89,6 +89,14 @@ foreach ( $crons as $timestamp => $cronhooks ) {
 
                        wp_unschedule_event( $timestamp, $hook, $v['args'] );
 
 
                        wp_unschedule_event( $timestamp, $hook, $v['args'] );
 
+                       /**
+                        * Fires scheduled events.
+                        *
+                        * @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.
+                        */
                        do_action_ref_array( $hook, $v['args'] );
 
                        // If the hook ran too long and another cron process stole the lock, quit.
                        do_action_ref_array( $hook, $v['args'] );
 
                        // If the hook ran too long and another cron process stole the lock, quit.
index 442e8e219cd3bfc9fb30831c025b20a16581fa8b..1ce047a3f90f947275371fb7e6e53e716a98bd33 100644 (file)
@@ -315,7 +315,7 @@ class SimplePie_Sanitize
                                                        }
                                                        else
                                                        {
                                                        }
                                                        else
                                                        {
-                                                               $file = $this->registry->create('File', array($img['attribs']['src']['data'], $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen));
+                                                               $file = $this->registry->create('File', array($img->getAttribute('src'), $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen));
                                                                $headers = $file->headers;
 
                                                                if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
                                                                $headers = $file->headers;
 
                                                                if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
index 756fc12609549967a68fab7ddc9b5834d2493181..70c2a676f826e718047b9e6eda470fa7a5f06d5f 100644 (file)
@@ -72,6 +72,8 @@ add_action( 'in_admin_header', 'wp_admin_bar_render', 0 );
  * Add the WordPress logo menu.
  *
  * @since 3.3.0
  * Add the WordPress logo menu.
  *
  * @since 3.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_wp_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_menu( array(
  */
 function wp_admin_bar_wp_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_menu( array(
@@ -130,6 +132,8 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) {
  * Add the "My Account" item.
  *
  * @since 3.3.0
  * Add the "My Account" item.
  *
  * @since 3.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_my_account_item( $wp_admin_bar ) {
        $user_id      = get_current_user_id();
  */
 function wp_admin_bar_my_account_item( $wp_admin_bar ) {
        $user_id      = get_current_user_id();
@@ -159,6 +163,8 @@ function wp_admin_bar_my_account_item( $wp_admin_bar ) {
  * Add the "My Account" submenu items.
  *
  * @since 3.1.0
  * Add the "My Account" submenu items.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_my_account_menu( $wp_admin_bar ) {
        $user_id      = get_current_user_id();
  */
 function wp_admin_bar_my_account_menu( $wp_admin_bar ) {
        $user_id      = get_current_user_id();
@@ -206,6 +212,8 @@ function wp_admin_bar_my_account_menu( $wp_admin_bar ) {
  * Add the "Site Name" menu.
  *
  * @since 3.3.0
  * Add the "Site Name" menu.
  *
  * @since 3.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_site_menu( $wp_admin_bar ) {
        global $current_site;
  */
 function wp_admin_bar_site_menu( $wp_admin_bar ) {
        global $current_site;
@@ -275,10 +283,10 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) {
  * Add the "My Sites/[Site Name]" menu and all submenus.
  *
  * @since 3.1.0
  * Add the "My Sites/[Site Name]" menu and all submenus.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_my_sites_menu( $wp_admin_bar ) {
  */
 function wp_admin_bar_my_sites_menu( $wp_admin_bar ) {
-       global $wpdb;
-
        // Don't show for logged out users or single site mode.
        if ( ! is_user_logged_in() || ! is_multisite() )
                return;
        // Don't show for logged out users or single site mode.
        if ( ! is_user_logged_in() || ! is_multisite() )
                return;
@@ -326,9 +334,15 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) {
                ) );
                $wp_admin_bar->add_menu( array(
                        'parent' => 'network-admin',
                ) );
                $wp_admin_bar->add_menu( array(
                        'parent' => 'network-admin',
-                       'id'     => 'network-admin-v',
-                       'title'  => __( 'Visit Network' ),
-                       'href'   => network_home_url(),
+                       'id'     => 'network-admin-t',
+                       'title'  => __( 'Themes' ),
+                       'href'   => network_admin_url( 'themes.php' ),
+               ) );
+               $wp_admin_bar->add_menu( array(
+                       'parent' => 'network-admin',
+                       'id'     => 'network-admin-p',
+                       'title'  => __( 'Plugins' ),
+                       'href'   => network_admin_url( 'plugins.php' ),
                ) );
        }
 
                ) );
        }
 
@@ -396,6 +410,8 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) {
  * Provide a shortlink.
  *
  * @since 3.1.0
  * Provide a shortlink.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_shortlink_menu( $wp_admin_bar ) {
        $short = wp_get_shortlink( 0, 'query' );
  */
 function wp_admin_bar_shortlink_menu( $wp_admin_bar ) {
        $short = wp_get_shortlink( 0, 'query' );
@@ -418,6 +434,8 @@ function wp_admin_bar_shortlink_menu( $wp_admin_bar ) {
  * Provide an edit link for posts and terms.
  *
  * @since 3.1.0
  * Provide an edit link for posts and terms.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_edit_menu( $wp_admin_bar ) {
        global $tag, $wp_the_query;
  */
 function wp_admin_bar_edit_menu( $wp_admin_bar ) {
        global $tag, $wp_the_query;
@@ -483,6 +501,8 @@ function wp_admin_bar_edit_menu( $wp_admin_bar ) {
  * Add "Add New" menu.
  *
  * @since 3.1.0
  * Add "Add New" menu.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_new_content_menu( $wp_admin_bar ) {
        $actions = array();
  */
 function wp_admin_bar_new_content_menu( $wp_admin_bar ) {
        $actions = array();
@@ -548,6 +568,8 @@ function wp_admin_bar_new_content_menu( $wp_admin_bar ) {
  * Add edit comments link with awaiting moderation count bubble.
  *
  * @since 3.1.0
  * Add edit comments link with awaiting moderation count bubble.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_comments_menu( $wp_admin_bar ) {
        if ( !current_user_can('edit_posts') )
  */
 function wp_admin_bar_comments_menu( $wp_admin_bar ) {
        if ( !current_user_can('edit_posts') )
@@ -572,6 +594,8 @@ function wp_admin_bar_comments_menu( $wp_admin_bar ) {
  * Add appearance submenu items to the "Site Name" menu.
  *
  * @since 3.1.0
  * Add appearance submenu items to the "Site Name" menu.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) );
  */
 function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) );
@@ -611,6 +635,8 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
  * Provide an update link if theme/plugin/core updates are available.
  *
  * @since 3.1.0
  * Provide an update link if theme/plugin/core updates are available.
  *
  * @since 3.1.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_updates_menu( $wp_admin_bar ) {
 
  */
 function wp_admin_bar_updates_menu( $wp_admin_bar ) {
 
@@ -636,6 +662,8 @@ function wp_admin_bar_updates_menu( $wp_admin_bar ) {
  * Add search form.
  *
  * @since 3.3.0
  * Add search form.
  *
  * @since 3.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_search_menu( $wp_admin_bar ) {
        if ( is_admin() )
  */
 function wp_admin_bar_search_menu( $wp_admin_bar ) {
        if ( is_admin() )
@@ -661,6 +689,8 @@ function wp_admin_bar_search_menu( $wp_admin_bar ) {
  * Add secondary menus.
  *
  * @since 3.3.0
  * Add secondary menus.
  *
  * @since 3.3.0
+ *
+ * @param WP_Admin_Bar $wp_admin_bar
  */
 function wp_admin_bar_add_secondary_groups( $wp_admin_bar ) {
        $wp_admin_bar->add_group( array(
  */
 function wp_admin_bar_add_secondary_groups( $wp_admin_bar ) {
        $wp_admin_bar->add_group( array(
@@ -683,7 +713,6 @@ function wp_admin_bar_add_secondary_groups( $wp_admin_bar ) {
  * Style and scripts for the admin bar.
  *
  * @since 3.1.0
  * Style and scripts for the admin bar.
  *
  * @since 3.1.0
- *
  */
 function wp_admin_bar_header() { ?>
 <style type="text/css" media="print">#wpadminbar { display:none; }</style>
  */
 function wp_admin_bar_header() { ?>
 <style type="text/css" media="print">#wpadminbar { display:none; }</style>
@@ -694,7 +723,6 @@ function wp_admin_bar_header() { ?>
  * Default admin bar callback.
  *
  * @since 3.1.0
  * Default admin bar callback.
  *
  * @since 3.1.0
- *
  */
 function _admin_bar_bump_cb() { ?>
 <style type="text/css" media="screen">
  */
 function _admin_bar_bump_cb() { ?>
 <style type="text/css" media="screen">
index 2a89498968385f727269d4681395cb2b424bc794..557a1ab8c92a725574e63dc738e7a01ebdb113b8 100644 (file)
@@ -26,6 +26,13 @@ function get_the_author($deprecated = '') {
        if ( !empty( $deprecated ) )
                _deprecated_argument( __FUNCTION__, '2.1' );
 
        if ( !empty( $deprecated ) )
                _deprecated_argument( __FUNCTION__, '2.1' );
 
+       /**
+        * Filter the display name of the current post's author.
+        *
+        * @since 2.9.0
+        *
+        * @param string $authordata->display_name The author's display name.
+        */
        return apply_filters('the_author', is_object($authordata) ? $authordata->display_name : null);
 }
 
        return apply_filters('the_author', is_object($authordata) ? $authordata->display_name : null);
 }
 
@@ -71,6 +78,14 @@ function the_author( $deprecated = '', $deprecated_echo = true ) {
 function get_the_modified_author() {
        if ( $last_id = get_post_meta( get_post()->ID, '_edit_last', true) ) {
                $last_user = get_userdata($last_id);
 function get_the_modified_author() {
        if ( $last_id = get_post_meta( get_post()->ID, '_edit_last', true) ) {
                $last_user = get_userdata($last_id);
+
+               /**
+                * Filter the display name of the author who last edited the current post.
+                *
+                * @since 2.8.0
+                *
+                * @param string $last_user->display_name The author's display name.
+                */
                return apply_filters('the_modified_author', $last_user->display_name);
        }
 }
                return apply_filters('the_modified_author', $last_user->display_name);
        }
 }
@@ -108,6 +123,16 @@ function get_the_author_meta( $field = '', $user_id = false ) {
 
        $value = isset( $authordata->$field ) ? $authordata->$field : '';
 
 
        $value = isset( $authordata->$field ) ? $authordata->$field : '';
 
+       /**
+        * Filter the value of the requested user metadata.
+        *
+        * The filter name is dynamic and depends on the $field parameter of the function.
+        *
+        * @since 2.8.0
+        *
+        * @param string $value   The value of the metadata.
+        * @param int    $user_id The user ID.
+        */
        return apply_filters( 'get_the_author_' . $field, $value, $user_id );
 }
 
        return apply_filters( 'get_the_author_' . $field, $value, $user_id );
 }
 
@@ -119,8 +144,20 @@ function get_the_author_meta( $field = '', $user_id = false ) {
  * @param int $user_id Optional. User ID.
  * @echo string The author's field from the current author's DB object.
  */
  * @param int $user_id Optional. User ID.
  * @echo string The author's field from the current author's DB object.
  */
-function the_author_meta($field = '', $user_id = false) {
-       echo apply_filters('the_author_' . $field, get_the_author_meta($field, $user_id), $user_id);
+function the_author_meta( $field = '', $user_id = false ) {
+       $author_meta = get_the_author_meta( $field, $user_id );
+
+       /**
+        * The value of the requested user metadata.
+        *
+        * The filter name is dynamic and depends on the $field parameter of the function.
+        *
+        * @since 2.8.0
+        *
+        * @param string $author_meta The value of the metadata.
+        * @param int    $user_id     The user ID.
+        */
+       echo apply_filters( 'the_author_' . $field, $author_meta, $user_id );
 }
 
 /**
 }
 
 /**
@@ -204,6 +241,14 @@ function the_author_posts_link($deprecated = '') {
                esc_attr( sprintf( __( 'Posts by %s' ), get_the_author() ) ),
                get_the_author()
        );
                esc_attr( sprintf( __( 'Posts by %s' ), get_the_author() ) ),
                get_the_author()
        );
+
+       /**
+        * Filter the link to the author page of the author of the current post.
+        *
+        * @since 2.9.0
+        *
+        * @param string $link HTML link.
+        */
        echo apply_filters( 'the_author_posts_link', $link );
 }
 
        echo apply_filters( 'the_author_posts_link', $link );
 }
 
@@ -232,7 +277,16 @@ function get_author_posts_url($author_id, $author_nicename = '') {
                $link = home_url( user_trailingslashit( $link ) );
        }
 
                $link = home_url( user_trailingslashit( $link ) );
        }
 
-       $link = apply_filters('author_link', $link, $author_id, $author_nicename);
+       /**
+        * Filter the URL to the author's page.
+        *
+        * @since 2.1.0
+        *
+        * @param string $link            The URL to the author's page.
+        * @param int    $author_id       The author's id.
+        * @param string $author_nicename The author's nice name.
+        */
+       $link = apply_filters( 'author_link', $link, $author_id, $author_nicename );
 
        return $link;
 }
 
        return $link;
 }
@@ -378,6 +432,13 @@ function is_multi_author() {
                set_transient( 'is_multi_author', $is_multi_author );
        }
 
                set_transient( 'is_multi_author', $is_multi_author );
        }
 
+       /**
+        * Filter whether the site has more than one author with published posts.
+        *
+        * @since 3.2.0
+        *
+        * @param bool $is_multi_author Whether $is_multi_author should evaluate as true.
+        */
        return apply_filters( 'is_multi_author', (bool) $is_multi_author );
 }
 
        return apply_filters( 'is_multi_author', (bool) $is_multi_author );
 }
 
index cb30b896a977c340d7c62211475d9a1b42e2ddcc..64e73a88d0175e3c9a3ad92305ffe3c7a7ab9a8c 100644 (file)
@@ -228,7 +228,15 @@ function wp_list_bookmarks($args = '') {
                        if ( empty($bookmarks) )
                                continue;
                        $output .= str_replace(array('%id', '%class'), array("linkcat-$cat->term_id", $class), $category_before);
                        if ( empty($bookmarks) )
                                continue;
                        $output .= str_replace(array('%id', '%class'), array("linkcat-$cat->term_id", $class), $category_before);
-                       $catname = apply_filters( "link_category", $cat->name );
+                       /**
+                        * Filter the bookmarks category name.
+                        *
+                        * @since 2.2.0
+                        *
+                        * @param string $cat->name The category name of bookmarks.
+                        */
+                       $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 .= "$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";
@@ -249,6 +257,13 @@ function wp_list_bookmarks($args = '') {
                }
        }
 
                }
        }
 
+       /**
+        * Filter the bookmarks list before it is echoed or returned.
+        *
+        * @since 2.5.0
+        *
+        * @param string $output The HTML list of bookmarks.
+        */
        $output = apply_filters( 'wp_list_bookmarks', $output );
 
        if ( !$echo )
        $output = apply_filters( 'wp_list_bookmarks', $output );
 
        if ( !$echo )
index af1c2adac9555083bf6cf42c4b03fb4a4ae8755b..f517d124254122fd1cbe2e36298d2306a1813600 100644 (file)
  * @param int $expire When the cache data should be expired
  * @return bool False if cache key and group already exist, true on success
  */
  * @param int $expire When the cache data should be expired
  * @return bool False if cache key and group already exist, true on success
  */
-function wp_cache_add($key, $data, $group = '', $expire = 0) {
+function wp_cache_add( $key, $data, $group = '', $expire = 0 ) {
        global $wp_object_cache;
 
        global $wp_object_cache;
 
-       return $wp_object_cache->add($key, $data, $group, $expire);
+       return $wp_object_cache->add( $key, $data, $group, (int) $expire );
 }
 
 /**
 }
 
 /**
@@ -154,10 +154,10 @@ function wp_cache_init() {
  * @param int $expire When to expire the cache contents
  * @return bool False if not exists, true if contents were replaced
  */
  * @param int $expire When to expire the cache contents
  * @return bool False if not exists, true if contents were replaced
  */
-function wp_cache_replace($key, $data, $group = '', $expire = 0) {
+function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) {
        global $wp_object_cache;
 
        global $wp_object_cache;
 
-       return $wp_object_cache->replace($key, $data, $group, $expire);
+       return $wp_object_cache->replace( $key, $data, $group, (int) $expire );
 }
 
 /**
 }
 
 /**
@@ -173,10 +173,10 @@ function wp_cache_replace($key, $data, $group = '', $expire = 0) {
  * @param int $expire When to expire the cache contents
  * @return bool False on failure, true on success
  */
  * @param int $expire When to expire the cache contents
  * @return bool False on failure, true on success
  */
-function wp_cache_set($key, $data, $group = '', $expire = 0) {
+function wp_cache_set( $key, $data, $group = '', $expire = 0 ) {
        global $wp_object_cache;
 
        global $wp_object_cache;
 
-       return $wp_object_cache->set($key, $data, $group, $expire);
+       return $wp_object_cache->set( $key, $data, $group, (int) $expire );
 }
 
 /**
 }
 
 /**
@@ -320,7 +320,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
         */
         * @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 = '' ) {
+       function add( $key, $data, $group = 'default', $expire = 0 ) {
                if ( wp_suspend_cache_addition() )
                        return false;
 
                if ( wp_suspend_cache_addition() )
                        return false;
 
@@ -334,7 +334,7 @@ class WP_Object_Cache {
                if ( $this->_exists( $id, $group ) )
                        return false;
 
                if ( $this->_exists( $id, $group ) )
                        return false;
 
-               return $this->set($key, $data, $group, $expire);
+               return $this->set( $key, $data, $group, (int) $expire );
        }
 
        /**
        }
 
        /**
@@ -509,7 +509,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
         */
         * @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 = '' ) {
+       function replace( $key, $data, $group = 'default', $expire = 0 ) {
                if ( empty( $group ) )
                        $group = 'default';
 
                if ( empty( $group ) )
                        $group = 'default';
 
@@ -520,7 +520,7 @@ class WP_Object_Cache {
                if ( ! $this->_exists( $id, $group ) )
                        return false;
 
                if ( ! $this->_exists( $id, $group ) )
                        return false;
 
-               return $this->set( $key, $data, $group, $expire );
+               return $this->set( $key, $data, $group, (int) $expire );
        }
 
        /**
        }
 
        /**
@@ -559,7 +559,7 @@ class WP_Object_Cache {
         * @param int $expire Not Used
         * @return bool Always returns true
         */
         * @param int $expire Not Used
         * @return bool Always returns true
         */
-       function set($key, $data, $group = 'default', $expire = '') {
+       function set( $key, $data, $group = 'default', $expire = 0 ) {
                if ( empty( $group ) )
                        $group = 'default';
 
                if ( empty( $group ) )
                        $group = 'default';
 
index 423dcc6366df2efe99c09443709942e5be2c53cd..231855ea50fe9d58b4af9d1c393096eeefed05be 100644 (file)
@@ -101,6 +101,20 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
                        }
                }
 
                        }
                }
 
+               if ( get_query_var( 'day' ) && get_query_var( 'monthnum' ) && get_query_var( 'year' ) ) {
+                       $year  = get_query_var( 'year' );
+                       $month = get_query_var( 'monthnum' );
+                       $day   = get_query_var( 'day' );
+                       $date  = sprintf( '%04d-%02d-%02d', $year, $month, $day );
+                       if ( ! wp_checkdate( $month, $day, $year, $date ) ) {
+                               $redirect_url = get_month_link( $year, $month );
+                               $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'year', 'monthnum', 'day' ), $redirect_url );
+                       }
+               } elseif ( get_query_var( 'monthnum' ) && get_query_var( 'year' ) && 12 < get_query_var( 'monthnum' ) ) {
+                       $redirect_url = get_year_link( get_query_var( 'year' ) );
+                       $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'year', 'monthnum' ), $redirect_url );
+               }
+
                if ( ! $redirect_url ) {
                        if ( $redirect_url = redirect_guess_404_permalink() ) {
                                $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'page', 'feed', 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url );
                if ( ! $redirect_url ) {
                        if ( $redirect_url = redirect_guess_404_permalink() ) {
                                $redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'page', 'feed', 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url );
@@ -282,6 +296,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 
                if ( 'wp-register.php' == basename( $redirect['path'] ) ) {
                        if ( is_multisite() )
 
                if ( 'wp-register.php' == basename( $redirect['path'] ) ) {
                        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
                                $redirect_url = site_url( 'wp-login.php?action=register' );
                                $redirect_url = apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) );
                        else
                                $redirect_url = site_url( 'wp-login.php?action=register' );
@@ -418,8 +433,17 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
                $requested_url = preg_replace_callback('|%[a-fA-F0-9][a-fA-F0-9]|', 'lowercase_octets', $requested_url);
        }
 
                $requested_url = preg_replace_callback('|%[a-fA-F0-9][a-fA-F0-9]|', 'lowercase_octets', $requested_url);
        }
 
-       // Note that you can use the "redirect_canonical" filter to cancel a canonical redirect for whatever reason by returning false
-       $redirect_url = apply_filters('redirect_canonical', $redirect_url, $requested_url);
+       /**
+        * Filter the canonical redirect URL.
+        *
+        * Returning false to this filter will cancel the redirect.
+        *
+        * @since 2.3.0
+        *
+        * @param string $redirect_url  The redirect URL.
+        * @param string $requested_url The requested URL.
+        */
+       $redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
 
        if ( !$redirect_url || $redirect_url == $requested_url ) // yes, again -- in case the filter aborted the request
                return false;
 
        if ( !$redirect_url || $redirect_url == $requested_url ) // yes, again -- in case the filter aborted the request
                return false;
index c3bb58f627a7895a16711012b9ca013868835b9b..75a834b4f85bf9cce22f2ece27c8f79532e23daa 100644 (file)
@@ -95,7 +95,7 @@ class WP_Roles {
         */
        function _init () {
                global $wpdb, $wp_user_roles;
         */
        function _init () {
                global $wpdb, $wp_user_roles;
-               $this->role_key = $wpdb->prefix . 'user_roles';
+               $this->role_key = $wpdb->get_blog_prefix() . 'user_roles';
                if ( ! empty( $wp_user_roles ) ) {
                        $this->roles = $wp_user_roles;
                        $this->use_db = false;
                if ( ! empty( $wp_user_roles ) ) {
                        $this->roles = $wp_user_roles;
                        $this->use_db = false;
@@ -131,7 +131,7 @@ class WP_Roles {
                global $wpdb, $wp_user_roles;
 
                // Duplicated from _init() to avoid an extra function call.
                global $wpdb, $wp_user_roles;
 
                // Duplicated from _init() to avoid an extra function call.
-               $this->role_key = $wpdb->prefix . 'user_roles';
+               $this->role_key = $wpdb->get_blog_prefix() . 'user_roles';
                $this->roles = get_option( $this->role_key );
                if ( empty( $this->roles ) )
                        return;
                $this->roles = get_option( $this->role_key );
                if ( empty( $this->roles ) )
                        return;
@@ -193,6 +193,9 @@ class WP_Roles {
 
                if ( $this->use_db )
                        update_option( $this->role_key, $this->roles );
 
                if ( $this->use_db )
                        update_option( $this->role_key, $this->roles );
+
+               if ( get_option( 'default_role' ) == $role )
+                       update_option( 'default_role', 'subscriber' );
        }
 
        /**
        }
 
        /**
@@ -709,7 +712,7 @@ class WP_User {
                global $wpdb;
 
                if ( empty($cap_key) )
                global $wpdb;
 
                if ( empty($cap_key) )
-                       $this->cap_key = $wpdb->prefix . 'capabilities';
+                       $this->cap_key = $wpdb->get_blog_prefix() . 'capabilities';
                else
                        $this->cap_key = $cap_key;
 
                else
                        $this->cap_key = $cap_key;
 
@@ -732,6 +735,8 @@ class WP_User {
         * @since 2.0.0
         * @uses $wp_roles
         * @access public
         * @since 2.0.0
         * @uses $wp_roles
         * @access public
+        *
+        * @return array List of all capabilities for the user.
         */
        function get_role_caps() {
                global $wp_roles;
         */
        function get_role_caps() {
                global $wp_roles;
@@ -750,6 +755,8 @@ class WP_User {
                        $this->allcaps = array_merge( (array) $this->allcaps, (array) $the_role->capabilities );
                }
                $this->allcaps = array_merge( (array) $this->allcaps, (array) $this->caps );
                        $this->allcaps = array_merge( (array) $this->allcaps, (array) $the_role->capabilities );
                }
                $this->allcaps = array_merge( (array) $this->allcaps, (array) $this->caps );
+
+               return $this->allcaps;
        }
 
        /**
        }
 
        /**
@@ -859,7 +866,7 @@ class WP_User {
        function update_user_level_from_caps() {
                global $wpdb;
                $this->user_level = array_reduce( array_keys( $this->allcaps ), array( $this, 'level_reduction' ), 0 );
        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->prefix . 'user_level', $this->user_level );
+               update_user_meta( $this->ID, $wpdb->get_blog_prefix() . 'user_level', $this->user_level );
        }
 
        /**
        }
 
        /**
@@ -901,7 +908,7 @@ class WP_User {
                global $wpdb;
                $this->caps = array();
                delete_user_meta( $this->ID, $this->cap_key );
                global $wpdb;
                $this->caps = array();
                delete_user_meta( $this->ID, $this->cap_key );
-               delete_user_meta( $this->ID, $wpdb->prefix . 'user_level' );
+               delete_user_meta( $this->ID, $wpdb->get_blog_prefix() . 'user_level' );
                $this->get_role_caps();
        }
 
                $this->get_role_caps();
        }
 
@@ -936,7 +943,7 @@ class WP_User {
                }
 
                // Must have ALL requested caps
                }
 
                // Must have ALL requested caps
-               $capabilities = apply_filters( 'user_has_cap', $this->allcaps, $caps, $args );
+               $capabilities = apply_filters( 'user_has_cap', $this->allcaps, $caps, $args, $this );
                $capabilities['exist'] = true; // Everyone is allowed to exist
                foreach ( (array) $caps as $cap ) {
                        if ( empty( $capabilities[ $cap ] ) )
                $capabilities['exist'] = true; // Everyone is allowed to exist
                foreach ( (array) $caps as $cap ) {
                        if ( empty( $capabilities[ $cap ] ) )
@@ -1039,10 +1046,8 @@ function map_meta_cap( $cap, $user_id ) {
                if ( ! $post_author_id )
                        $post_author_id = $user_id;
 
                if ( ! $post_author_id )
                        $post_author_id = $user_id;
 
-               $post_author_data = $post_author_id == get_current_user_id() ? wp_get_current_user() : get_userdata( $post_author_id );
-
                // If the user is the author...
                // If the user is the author...
-               if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID ) {
+               if ( $user_id == $post_author_id ) {
                        // If the post is published...
                        if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->delete_published_posts;
                        // If the post is published...
                        if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->delete_published_posts;
@@ -1068,6 +1073,8 @@ function map_meta_cap( $cap, $user_id ) {
        case 'edit_post':
        case 'edit_page':
                $post = get_post( $args[0] );
        case 'edit_post':
        case 'edit_page':
                $post = get_post( $args[0] );
+               if ( empty( $post ) )
+                       break;
 
                if ( 'revision' == $post->post_type ) {
                        $post = get_post( $post->post_parent );
 
                if ( 'revision' == $post->post_type ) {
                        $post = get_post( $post->post_parent );
@@ -1089,10 +1096,8 @@ function map_meta_cap( $cap, $user_id ) {
                if ( ! $post_author_id )
                        $post_author_id = $user_id;
 
                if ( ! $post_author_id )
                        $post_author_id = $user_id;
 
-               $post_author_data = $post_author_id == get_current_user_id() ? wp_get_current_user() : get_userdata( $post_author_id );
-
                // If the user is the author...
                // If the user is the author...
-               if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID ) {
+               if ( $user_id == $post_author_id ) {
                        // If the post is published...
                        if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->edit_published_posts;
                        // If the post is published...
                        if ( 'publish' == $post->post_status ) {
                                $caps[] = $post_type->cap->edit_published_posts;
@@ -1143,9 +1148,7 @@ function map_meta_cap( $cap, $user_id ) {
                if ( ! $post_author_id )
                        $post_author_id = $user_id;
 
                if ( ! $post_author_id )
                        $post_author_id = $user_id;
 
-               $post_author_data = $post_author_id == get_current_user_id() ? wp_get_current_user() : get_userdata( $post_author_id );
-
-               if ( is_object( $post_author_data ) && $user_id == $post_author_data->ID )
+               if ( $user_id == $post_author_id )
                        $caps[] = $post_type->cap->read;
                elseif ( $status_obj->private )
                        $caps[] = $post_type->cap->read_private_posts;
                        $caps[] = $post_type->cap->read;
                elseif ( $status_obj->private )
                        $caps[] = $post_type->cap->read_private_posts;
@@ -1176,6 +1179,8 @@ function map_meta_cap( $cap, $user_id ) {
                break;
        case 'edit_comment':
                $comment = get_comment( $args[0] );
                break;
        case 'edit_comment':
                $comment = get_comment( $args[0] );
+               if ( empty( $comment ) )
+                       break;
                $post = get_post( $comment->comment_post_ID );
                $caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
                break;
                $post = get_post( $comment->comment_post_ID );
                $caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
                break;
@@ -1409,7 +1414,6 @@ function add_role( $role, $display_name, $capabilities = array() ) {
  * @since 2.0.0
  *
  * @param string $role Role name.
  * @since 2.0.0
  *
  * @param string $role Role name.
- * @return null
  */
 function remove_role( $role ) {
        global $wp_roles;
  */
 function remove_role( $role ) {
        global $wp_roles;
@@ -1417,7 +1421,7 @@ function remove_role( $role ) {
        if ( ! isset( $wp_roles ) )
                $wp_roles = new WP_Roles();
 
        if ( ! isset( $wp_roles ) )
                $wp_roles = new WP_Roles();
 
-       return $wp_roles->remove_role( $role );
+       $wp_roles->remove_role( $role );
 }
 
 /**
 }
 
 /**
index 96a61cf35ecf1b90b9d93d5304dc9986457d019d..27b8bf221ff9f1ca58cd6eb9f4f5ac0e56fd1c13 100644 (file)
@@ -41,7 +41,7 @@ function get_category_link( $category ) {
  */
 function get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
        $chain = '';
  */
 function get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
        $chain = '';
-       $parent = get_category( $id );
+       $parent = get_term( $id, 'category' );
        if ( is_wp_error( $parent ) )
                return $parent;
 
        if ( is_wp_error( $parent ) )
                return $parent;
 
@@ -135,7 +135,7 @@ function _usort_terms_by_ID( $a, $b ) {
  */
 function get_the_category_by_ID( $cat_ID ) {
        $cat_ID = (int) $cat_ID;
  */
 function get_the_category_by_ID( $cat_ID ) {
        $cat_ID = (int) $cat_ID;
-       $category = get_category( $cat_ID );
+       $category = get_term( $cat_ID, 'category' );
        if ( is_wp_error( $category ) )
                return $category;
        return $category->name;
        if ( is_wp_error( $category ) )
                return $category;
        return $category->name;
@@ -225,16 +225,14 @@ function get_the_category_list( $separator = '', $parents='', $post_id = false )
  * As of 2.7, the function can be used anywhere if it is provided a post ID or post object.
  *
  * @since 1.2.0
  * As of 2.7, the function can be used anywhere if it is provided a post ID or post object.
  *
  * @since 1.2.0
+ * @uses has_category()
  *
  * @param int|string|array $category Category ID, name or slug, or array of said.
  * @param int|object $post Optional. Post to check instead of the current post. (since 2.7.0)
  * @return bool True if the current post is in any of the given categories.
  */
 function in_category( $category, $post = null ) {
  *
  * @param int|string|array $category Category ID, name or slug, or array of said.
  * @param int|object $post Optional. Post to check instead of the current post. (since 2.7.0)
  * @return bool True if the current post is in any of the given categories.
  */
 function in_category( $category, $post = null ) {
-       if ( empty( $category ) )
-               return false;
-
-       return has_term( $category, 'category', $post );
+       return has_category( $category, $post );
 }
 
 /**
 }
 
 /**
@@ -467,7 +465,7 @@ function wp_list_categories( $args = '' ) {
 
                if ( empty( $r['current_category'] ) && ( is_category() || is_tax() || is_tag() ) ) {
                        $current_term_object = get_queried_object();
 
                if ( empty( $r['current_category'] ) && ( is_category() || is_tax() || is_tag() ) ) {
                        $current_term_object = get_queried_object();
-                       if ( $r['taxonomy'] == $current_term_object->taxonomy )
+                       if ( $current_term_object && $r['taxonomy'] === $current_term_object->taxonomy )
                                $r['current_category'] = get_queried_object_id();
                }
 
                                $r['current_category'] = get_queried_object_id();
                }
 
@@ -765,6 +763,8 @@ function walk_category_dropdown_tree() {
  */
 class Walker_Category extends Walker {
        /**
  */
 class Walker_Category extends Walker {
        /**
+        * What the class handles.
+        *
         * @see Walker::$tree_type
         * @since 2.1.0
         * @var string
         * @see Walker::$tree_type
         * @since 2.1.0
         * @var string
@@ -772,6 +772,8 @@ class Walker_Category extends Walker {
        var $tree_type = 'category';
 
        /**
        var $tree_type = 'category';
 
        /**
+        * Database fields to use.
+        *
         * @see Walker::$db_fields
         * @since 2.1.0
         * @todo Decouple this
         * @see Walker::$db_fields
         * @since 2.1.0
         * @todo Decouple this
@@ -780,12 +782,16 @@ class Walker_Category extends Walker {
        var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
 
        /**
        var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
 
        /**
+        * Starts the list before the elements are added.
+        *
         * @see Walker::start_lvl()
         * @see Walker::start_lvl()
+        *
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param int $depth Depth of category. Used for tab indentation.
-        * @param array $args Will only append content if style argument value is 'list'.
+        * @param int    $depth  Depth of category. Used for tab indentation.
+        * @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() ) {
                if ( 'list' != $args['style'] )
         */
        function start_lvl( &$output, $depth = 0, $args = array() ) {
                if ( 'list' != $args['style'] )
@@ -796,12 +802,16 @@ class Walker_Category extends Walker {
        }
 
        /**
        }
 
        /**
+        * Ends the list of after the elements are added.
+        *
         * @see Walker::end_lvl()
         * @see Walker::end_lvl()
+        *
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param int $depth Depth of category. Used for tab indentation.
-        * @param array $args Will only append content if style argument value is 'list'.
+        * @param int    $depth  Depth of category. Used for tab indentation.
+        * @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() ) {
                if ( 'list' != $args['style'] )
         */
        function end_lvl( &$output, $depth = 0, $args = array() ) {
                if ( 'list' != $args['style'] )
@@ -812,13 +822,17 @@ class Walker_Category extends Walker {
        }
 
        /**
        }
 
        /**
+        * Start the element output.
+        *
         * @see Walker::start_el()
         * @see Walker::start_el()
+        *
         * @since 2.1.0
         *
         * @since 2.1.0
         *
-        * @param string $output Passed by reference. Used to append additional content.
+        * @param string $output   Passed by reference. Used to append additional content.
         * @param object $category Category data object.
         * @param object $category Category data object.
-        * @param int $depth Depth of category in reference to parents.
-        * @param array $args
+        * @param int    $depth    Depth of category in reference to parents. Default 0.
+        * @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);
         */
        function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
                extract($args);
@@ -884,13 +898,16 @@ class Walker_Category extends Walker {
        }
 
        /**
        }
 
        /**
+        * Ends the element output, if needed.
+        *
         * @see Walker::end_el()
         * @see Walker::end_el()
+        *
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param object $page Not used.
-        * @param int $depth Depth of category. Not used.
-        * @param array $args Only uses 'list' for whether should append to output.
+        * @param object $page   Not used.
+        * @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() ) {
                if ( 'list' != $args['style'] )
         */
        function end_el( &$output, $page, $depth = 0, $args = array() ) {
                if ( 'list' != $args['style'] )
@@ -925,13 +942,15 @@ class Walker_CategoryDropdown extends Walker {
        var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
 
        /**
        var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');
 
        /**
+        * Start the element output.
+        *
         * @see Walker::start_el()
         * @since 2.1.0
         *
         * @see Walker::start_el()
         * @since 2.1.0
         *
-        * @param string $output Passed by reference. Used to append additional content.
+        * @param string $output   Passed by reference. Used to append additional content.
         * @param object $category Category data object.
         * @param object $category Category data object.
-        * @param int $depth Depth of category. Used for padding.
-        * @param array $args Uses 'selected' and 'show_count' keys, if they exist.
+        * @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 ) {
                $pad = str_repeat('&nbsp;', $depth * 3);
         */
        function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
                $pad = str_repeat('&nbsp;', $depth * 3);
@@ -1039,10 +1058,12 @@ function tag_description( $tag = 0 ) {
  * @return string Term description, available.
  */
 function term_description( $term = 0, $taxonomy = 'post_tag' ) {
  * @return string Term description, available.
  */
 function term_description( $term = 0, $taxonomy = 'post_tag' ) {
-       if ( !$term && ( is_tax() || is_tag() || is_category() ) ) {
+       if ( ! $term && ( is_tax() || is_tag() || is_category() ) ) {
                $term = get_queried_object();
                $term = get_queried_object();
-               $taxonomy = $term->taxonomy;
-               $term = $term->term_id;
+               if ( $term ) {
+                       $taxonomy = $term->taxonomy;
+                       $term = $term->term_id;
+               }
        }
        $description = get_term_field( 'description', $term, $taxonomy );
        return is_wp_error( $description ) ? '' : $description;
        }
        $description = get_term_field( 'description', $term, $taxonomy );
        return is_wp_error( $description ) ? '' : $description;
index adac2475bf2569da38663b214195155a919866e7..6bf7bac6c0f6e07e3803036ac6f666febc0f064b 100644 (file)
@@ -40,7 +40,16 @@ function get_categories( $args = '' ) {
        $defaults = array( 'taxonomy' => 'category' );
        $args = wp_parse_args( $args, $defaults );
 
        $defaults = array( 'taxonomy' => 'category' );
        $args = wp_parse_args( $args, $defaults );
 
-       $taxonomy = apply_filters( 'get_categories_taxonomy', $args['taxonomy'], $args );
+       $taxonomy = $args['taxonomy'];
+       /**
+        * Filter the taxonomy used to retrieve terms when calling get_categories().
+        *
+        * @since 2.7.0
+        *
+        * @param string $taxonomy Taxonomy to retrieve terms from.
+        * @param array  $args     An array of arguments. @see get_terms()
+        */
+       $taxonomy = apply_filters( 'get_categories_taxonomy', $taxonomy, $args );
 
        // Back compat
        if ( isset($args['type']) && 'link' == $args['type'] ) {
 
        // Back compat
        if ( isset($args['type']) && 'link' == $args['type'] ) {
@@ -133,13 +142,19 @@ function get_category_by_path( $category_path, $full_match = true, $output = OBJ
                        $path = '/' . $curcategory->slug . $path;
                }
 
                        $path = '/' . $curcategory->slug . $path;
                }
 
-               if ( $path == $full_path )
-                       return get_category( $category->term_id, $output );
+               if ( $path == $full_path ) {
+                       $category = get_term( $category->term_id, 'category', $output );
+                       _make_cat_compat( $category );
+                       return $category;
+               }
        }
 
        // If full matching is not required, return the first cat that matches the leaf.
        }
 
        // If full matching is not required, return the first cat that matches the leaf.
-       if ( ! $full_match )
-               return get_category( $categories[0]->term_id, $output );
+       if ( ! $full_match ) {
+               $category = get_term( reset( $categories )->term_id, 'category', $output );
+               _make_cat_compat( $category );
+               return $category;
+       }
 
        return null;
 }
 
        return null;
 }
@@ -185,7 +200,7 @@ function get_cat_ID( $cat_name ) {
  */
 function get_cat_name( $cat_id ) {
        $cat_id = (int) $cat_id;
  */
 function get_cat_name( $cat_id ) {
        $cat_id = (int) $cat_id;
-       $category = get_category( $cat_id );
+       $category = get_term( $cat_id, 'category' );
        if ( ! $category || is_wp_error( $category ) )
                return '';
        return $category->name;
        if ( ! $category || is_wp_error( $category ) )
                return '';
        return $category->name;
@@ -257,6 +272,14 @@ function get_tags( $args = '' ) {
                return $return;
        }
 
                return $return;
        }
 
+       /**
+        * Filter the array of term objects returned for the 'post_tag' taxonomy.
+        *
+        * @since 2.3.0
+        *
+        * @param array $tags Array of 'post_tag' term objects.
+        * @param array $args An array of arguments. @see get_terms()
+        */
        $tags = apply_filters( 'get_tags', $tags, $args );
        return $tags;
 }
        $tags = apply_filters( 'get_tags', $tags, $args );
        return $tags;
 }
diff --git a/wp-includes/certificates/ca-bundle.crt b/wp-includes/certificates/ca-bundle.crt
new file mode 100644 (file)
index 0000000..b531fc4
--- /dev/null
@@ -0,0 +1,3554 @@
+##
+## ca-bundle.crt -- Bundle of CA Root Certificates
+##
+## Certificate data from Mozilla as of: Sat Dec 29 20:03:40 2012
+##
+## This is a bundle of X.509 certificates of public Certificate Authorities
+## (CA). These were automatically extracted from Mozilla's root certificates
+## file (certdata.txt).  This file can be found in the mozilla source tree:
+## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
+##
+## It contains the certificates in PEM format and therefore
+## can be directly used with curl / libcurl / php_curl, or with
+## an Apache+mod_ssl webserver for SSL client authentication.
+## Just configure this file as the SSLCACertificateFile.
+##
+
+# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.87 $ $Date: 2012/12/29 16:32:45 $
+
+EE Certification Centre Root CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
+dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
+MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
+UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
+ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
+TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
+rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
+93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
+P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
+MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
+BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
+xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
+lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
+uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
+3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
+dcGWxZ0=
+-----END CERTIFICATE-----
+
+GTE CyberTrust Global Root
+==========================
+-----BEGIN CERTIFICATE-----
+MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
+Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
+A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
+MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
+Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
+IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
+sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
+HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
+AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
+M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
+NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
+-----END CERTIFICATE-----
+
+Thawte Server CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
+DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
+dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
+AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
+b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
+BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
+c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
+A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
+ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
+/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
+1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
+MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
+GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
+GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
+-----END CERTIFICATE-----
+
+Thawte Premium Server CA
+========================
+-----BEGIN CERTIFICATE-----
+MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
+DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
+dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
+AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
+ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
+AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
+VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
+aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
+cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
+aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
+Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
+qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
+SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
+8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
+UCemDaYj+bvLpgcUQg==
+-----END CERTIFICATE-----
+
+Equifax Secure CA
+=================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
+ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
+MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
+B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
+fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
+8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
+A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
+CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
+A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
+spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
+Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
+zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
+BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
+70+sB3c4
+-----END CERTIFICATE-----
+
+Digital Signature Trust Co. Global CA 1
+=======================================
+-----BEGIN CERTIFICATE-----
+MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
+ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
+MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
+IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
+A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
+NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
+o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
+BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
+dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
+IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
+MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
+BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
+ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
+kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
+RbyhkwS7hp86W0N6w4pl
+-----END CERTIFICATE-----
+
+Digital Signature Trust Co. Global CA 3
+=======================================
+-----BEGIN CERTIFICATE-----
+MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
+ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
+MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
+IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
+A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
+VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
+xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
+BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
+dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
+IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
+MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
+BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
+AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
+up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
+mPnHfxsb1gYgAlihw6ID
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
+FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
+XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
+IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
+f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
+hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
+TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
+WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
+Tqj/ZA1k
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G2
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
+FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
+lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
+MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
+1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
+Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
+-----END CERTIFICATE-----
+
+GlobalSign Root CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
+GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
+b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
+BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
+VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
+DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
+THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
+Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
+c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
+gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
+AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
+Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
+j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
+hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
+X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
+ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
+s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
+S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
+TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
+ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
+FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
+YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
+BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
+9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
+01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
+9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
+TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
+-----END CERTIFICATE-----
+
+ValiCert Class 1 VA
+===================
+-----BEGIN CERTIFICATE-----
+MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
+b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
+YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
+bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
+MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
+d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
+UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
+LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
+GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
+DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
+lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
+icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
+Orf1LXLI
+-----END CERTIFICATE-----
+
+ValiCert Class 2 VA
+===================
+-----BEGIN CERTIFICATE-----
+MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
+b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
+YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
+bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
+MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
+d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
+UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
+LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
+CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
+ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
+SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
+UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
+W9ViH0Pd
+-----END CERTIFICATE-----
+
+RSA Root Certificate 1
+======================
+-----BEGIN CERTIFICATE-----
+MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
+b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
+YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
+bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
+MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
+d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg
+UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
+LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td
+3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H
+BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs
+3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF
+V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
+on+jjBXu
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
+EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
+cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
+EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
+055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
+j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
+/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
+xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
+t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
+-----END CERTIFICATE-----
+
+Verisign Class 4 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
+tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
+8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
+Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
+Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
+mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
+fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
+RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
+UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
+-----END CERTIFICATE-----
+
+Entrust.net Secure Server CA
+============================
+-----BEGIN CERTIFICATE-----
+MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV
+BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg
+cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl
+ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv
+cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG
+A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi
+eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
+dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ
+aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5
+gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw
+ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw
+CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l
+dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
+bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
+dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw
+NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow
+HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
+BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN
+Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9
+n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
+-----END CERTIFICATE-----
+
+Entrust.net Premium 2048 Secure Server CA
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
+ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
+bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
+BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
+NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
+d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
+MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
+ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
+Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
+hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
+nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
+VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
+AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
+gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
+AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
+oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
+o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
+2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
+OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
+-----END CERTIFICATE-----
+
+Baltimore CyberTrust Root
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
+ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
+ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
+SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
+dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
+uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
+UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
+G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
+XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
+l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
+VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
+cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
+hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
+Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
+RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
+-----END CERTIFICATE-----
+
+Equifax Secure Global eBusiness CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
+bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
+HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
+b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
+PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
+qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
+hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
+BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
+MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
+I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
+NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
+-----END CERTIFICATE-----
+
+Equifax Secure eBusiness CA 1
+=============================
+-----BEGIN CERTIFICATE-----
+MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
+LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
+ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
+IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
+1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
+IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
+MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
+Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
+AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
+lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
+KpYrtWKmpj29f5JZzVoqgrI3eQ==
+-----END CERTIFICATE-----
+
+Equifax Secure eBusiness CA 2
+=============================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
+ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
+MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
+DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
+2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
+BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
+A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
+JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
+A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
+uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
+Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
+jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
+78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
+V+GRMOrN
+-----END CERTIFICATE-----
+
+AddTrust Low-Value Services Root
+================================
+-----BEGIN CERTIFICATE-----
+MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
+cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
+CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
+ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
+54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
+oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
+Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
+GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
+HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
+AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
+RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
+HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
+ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
+iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
+eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
+mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
+ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
+-----END CERTIFICATE-----
+
+AddTrust External Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
+VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
+NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
+cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
+Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
+Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
+aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
+2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
+7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
+BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
+VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
+VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
+IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
+j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
+e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
+G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
+
+AddTrust Public Services Root
+=============================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
+cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
+BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
+dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
+nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
+d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
+Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
+HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
+A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
+FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
+A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
+JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
+GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
+Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
+EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
+-----END CERTIFICATE-----
+
+AddTrust Qualified Certificates Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
+cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
+CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
+IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
+64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
+KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
+L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
+wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
+MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
+BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
+azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
+ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
+GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
+dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
+RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
+iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
+b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
+A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
+MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
+MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
+Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
+dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
+A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
+Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
+j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
+rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
+MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
+hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
+A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
+Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
+v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
+W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
+tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
+-----END CERTIFICATE-----
+
+RSA Security 2048 v3
+====================
+-----BEGIN CERTIFICATE-----
+MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
+ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
+MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
+BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
+Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
+WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
+KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
++Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
+FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
+v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
+0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
+VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
+nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
+pKnXwiJPZ9d37CAFYd4=
+-----END CERTIFICATE-----
+
+GeoTrust Global CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
+Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
+MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
+BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
+8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
+T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
+vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
+DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
+zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
+d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
+mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
+XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
+Mw==
+-----END CERTIFICATE-----
+
+GeoTrust Global CA 2
+====================
+-----BEGIN CERTIFICATE-----
+MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
+MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
+NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
+LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
+Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
+HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
+MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
+K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
+srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
+ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
+OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
+x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
+H4z1Ir+rzoPz4iIprn2DQKi6bA==
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
+MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
+Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
+JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
+RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
+7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
+8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
+qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
+Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
+Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
+KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
+ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
+XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
+hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
+aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
+qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
+oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
+xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
+KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
+DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
+xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
+p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
+P/rmMuGNG2+k5o7Y+SlIis5z/iw=
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA 2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
+MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
+SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
+DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
+j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
+JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
+QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
+WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
+20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
+ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
+SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
+8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
+BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
+dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
+4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
+A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
+Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
+pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
+FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
+gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
+X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+-----END CERTIFICATE-----
+
+America Online Root Certification Authority 1
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
+Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
+A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
+T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
+v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
+DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
+sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
+8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
+AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
+o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
+GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
+VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
+3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
+Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
+sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
+-----END CERTIFICATE-----
+
+America Online Root Certification Authority 2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
+Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
+A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
+T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
+fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
+f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
+qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
+RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
+gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
+6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
+FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
+Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
+B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
+aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
+AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
+T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
++DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
+JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
+zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
+ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
+1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
+GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
+Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
+cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
+-----END CERTIFICATE-----
+
+Visa eCommerce Root
+===================
+-----BEGIN CERTIFICATE-----
+MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
+EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
+QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
+WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
+VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
+bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
+F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
+RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
+TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
+/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
+GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
+MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
+CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
+YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
+zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
+YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
+398znM/jra6O1I7mT1GvFpLgXPYHDw==
+-----END CERTIFICATE-----
+
+Certum Root CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
+ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
+Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
+by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
+wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
+kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
+89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
+Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
+NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
+hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
+GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
+GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
+0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
+qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
+-----END CERTIFICATE-----
+
+Comodo AAA Services root
+========================
+-----BEGIN CERTIFICATE-----
+MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
+MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
+c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
+C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
+i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
+Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
+Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
+Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
+BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
+cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
+LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
+7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
+Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
+8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
+12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+-----END CERTIFICATE-----
+
+Comodo Secure Services root
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
+MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
+Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
+BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
+9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
+rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
+oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
+p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
+FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
+gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
+YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
+aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
+4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
+Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
+DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
+pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
+RR3B7Hzs/Sk=
+-----END CERTIFICATE-----
+
+Comodo Trusted Services root
+============================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
+MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
+bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
+IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
+3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
+/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
+juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
+ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
+DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
+ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
+cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
+uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
+pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
+BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
+R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
+9y5Xt5hwXsjEeLBi
+-----END CERTIFICATE-----
+
+QuoVadis Root CA
+================
+-----BEGIN CERTIFICATE-----
+MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
+ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
+eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
+MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
+cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
+EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
+J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
+F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
+YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
+AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
+PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
+ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
+MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
+ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
+Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
+Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
+BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
+FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
+tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
+fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
+LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
+gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
+5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
+5nrQNiOKSnQ2+Q==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
+ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
+XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
+lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
+lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
+lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
+66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
+wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
+D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
+BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
+J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
+DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
+a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
+ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
+Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
+UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
+VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
+IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
+WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
+f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
+4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
+VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3
+==================
+-----BEGIN CERTIFICATE-----
+MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
+OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
+DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
+KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
+DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
+BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
+p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
+nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
+MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
+Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
+uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
+BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
+YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
+aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
+BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
+VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
+ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
+AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
+qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
+hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
+POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
+Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
+8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
+bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
+g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
+vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
+qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
+-----END CERTIFICATE-----
+
+Security Communication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
+8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
+DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
+5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
+DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
+JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
+0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
+mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
+s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
+6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
+FL39vmwLAw==
+-----END CERTIFICATE-----
+
+Sonera Class 2 Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
+U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
+NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
+IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
+/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
+dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
+f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
+tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
+nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
+XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
+0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
+cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
+Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
+EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
+llpwrN9M
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA
+=============================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
+ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
+HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
+bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
+vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
+jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
+C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
+vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
+22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
+HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
+dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
+BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
+EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
+MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
+nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
+iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
+-----END CERTIFICATE-----
+
+TDC Internet Root CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE
+ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx
+NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu
+ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j
+xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL
+znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc
+5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6
+otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI
+AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM
+VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
+MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC
+AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe
+UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G
+CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m
+gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
+2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb
+O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
+Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
+-----END CERTIFICATE-----
+
+UTN DATACorp SGC Root CA
+========================
+-----BEGIN CERTIFICATE-----
+MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
+BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
+MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
+HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
+dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
+raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
+wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
+9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
+33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
+DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
+BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
+LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
+DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
+Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
+I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
+EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
+DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
+-----END CERTIFICATE-----
+
+UTN USERFirst Hardware Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
+BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
+OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
+eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
+ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
+wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
+tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
+i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
+Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
+gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
+lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
+UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
+BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
+//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
+XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
+lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
+iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
+nfhmqA==
+-----END CERTIFICATE-----
+
+Camerfirma Chambers of Commerce Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
+NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
+cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
+MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
+AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
+xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
+NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
+DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
+d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
+EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
+cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
+AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
+bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
+VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
+aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
+fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
+L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
+UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
+ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
+erfutGWaIZDgqtCYvDi1czyL+Nw=
+-----END CERTIFICATE-----
+
+Camerfirma Global Chambersign Root
+==================================
+-----BEGIN CERTIFICATE-----
+MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
+NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
+YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
+MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
+ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
+1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
+by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
+6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
+8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
+BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
+aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
+Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
+aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
+ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
+bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
+PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
+gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
+PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
+IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
+t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
+-----END CERTIFICATE-----
+
+NetLock Notary (Class A) Root
+=============================
+-----BEGIN CERTIFICATE-----
+MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
+EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
+dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
+ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
+DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
+EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
+VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
+cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
+D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
+z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
+/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
+tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
+4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
+A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
+Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
+bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
+IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
+LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
+ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
+IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
+IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
+b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
+bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
+Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
+bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
+ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
+ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
+CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
+KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
+8CgHrTwXZoi1/baI
+-----END CERTIFICATE-----
+
+NetLock Business (Class B) Root
+===============================
+-----BEGIN CERTIFICATE-----
+MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
+CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
+BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg
+VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD
+VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv
+bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg
+VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
+iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S
+o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr
+1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
+HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ
+RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh
+dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0
+ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv
+c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg
+YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
+c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz
+Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA
+bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl
+IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2
+YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj
+cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM
+43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR
+stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
+-----END CERTIFICATE-----
+
+NetLock Express (Class C) Root
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT
+CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
+BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD
+KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ
+BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
+dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j
+ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB
+jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z
+W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63
+euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw
+DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN
+RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn
+YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB
+IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i
+aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0
+ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
+ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo
+dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y
+emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k
+IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ
+UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg
+YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2
+xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW
+gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
+-----END CERTIFICATE-----
+
+XRamp Global CA Root
+====================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
+BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
+dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
+HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
+U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
+IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
+foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
+zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
+AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
+xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
+oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
+AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
+/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
+qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
+nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
+8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
+-----END CERTIFICATE-----
+
+Go Daddy Class 2 CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
+VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
+A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
+ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
+2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
+qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
+YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
+vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
+BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
+atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
+MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
+PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
+I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
+Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
+vZ8=
+-----END CERTIFICATE-----
+
+Starfield Class 2 CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
+U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
+MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
+A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
+SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
+bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
+JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
+epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
+F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
+MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
+hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
+bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
+QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
+afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
+PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
+xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
+KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
+QBFGmh95DmK/D5fs4C8fF5Q=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
+FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
+Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
+YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
+AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
+Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
+U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
+LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
+cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
+dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
+AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
+3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
+vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
+fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
+fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
+EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
+yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
+1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
+lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
+g14=
+-----END CERTIFICATE-----
+
+Taiwan GRCA
+===========
+-----BEGIN CERTIFICATE-----
+MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
+EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
+DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
+dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
+w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
+BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
+1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
+htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
+J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
+Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
+B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
+O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
+lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
+HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
+09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
+TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
+Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
+Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
+D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
+DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
+Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
+7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
+CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
+-----END CERTIFICATE-----
+
+Firmaprofesional Root CA
+========================
+-----BEGIN CERTIFICATE-----
+MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT
+GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp
+Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA
+ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL
+MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT
+OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2
+ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V
+j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH
+lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf
+3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8
+NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww
+KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG
+AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud
+DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD
+ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq
+u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf
+wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
+7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG
+VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
+-----END CERTIFICATE-----
+
+Wells Fargo Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
+BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
+cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
+MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
+bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
+MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
+x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
+E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
+OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
+sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
+YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
+BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
+ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
+m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
+OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
+x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
+tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
+-----END CERTIFICATE-----
+
+Swisscom Root CA 1
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
+MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
+MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
+NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
+AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
+b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
+7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
+cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
+WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
+haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
+MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
+BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
+MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
+jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
+MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
+VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
+vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
+OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
+1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
+nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
+x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
+NY6E0F/6MBr1mmz0DlP5OlvRHA==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
+MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
+9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
+UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
+/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
+oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
+GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
+66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
+hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
+EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
+SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
+8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
+-----END CERTIFICATE-----
+
+DigiCert Global Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
+MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
+TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
+BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
+4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
+7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
+o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
+8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
+BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
+EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
+tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
+UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----END CERTIFICATE-----
+
+DigiCert High Assurance EV Root CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
+KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
+MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
+MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
+Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
+Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
+OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
+MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
+NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
+h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
+Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
+JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
+V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
+myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
+mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
+vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
+-----END CERTIFICATE-----
+
+Certplus Class 2 Primary CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
+BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
+OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
+dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
+5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
+Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
+YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
+e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
+CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
+YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
+L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
+P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
+TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
+7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
+//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
+l7+ijrRU
+-----END CERTIFICATE-----
+
+DST Root CA X3
+==============
+-----BEGIN CERTIFICATE-----
+MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
+ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
+DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
+cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
+rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
+UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
+xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
+utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
+MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
+dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
+GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
+RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
+fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
+-----END CERTIFICATE-----
+
+DST ACES CA X6
+==============
+-----BEGIN CERTIFICATE-----
+MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
+MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
+MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
+CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
+DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
+pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
+GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
+MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
+EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
+Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
+dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
+CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
+5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
+Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
+nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
+vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
+oKfN5XozNmr6mis=
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 1
+==============================================
+-----BEGIN CERTIFICATE-----
+MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
+MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
+acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
+MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
+U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
+TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
+aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
+yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
+Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
+8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
+W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
+BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
+sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
+q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
+B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
+nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 2
+==============================================
+-----BEGIN CERTIFICATE-----
+MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
+MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
+QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
+MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
+dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
+A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
+acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
+LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
+x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
+QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
+5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
+AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
+A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
+Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
+Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
+hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
+9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
+UrbnBEI=
+-----END CERTIFICATE-----
+
+SwissSign Gold CA - G2
+======================
+-----BEGIN CERTIFICATE-----
+MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
+EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
+MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
+c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
+t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
+jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
+vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
+ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
+AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
+jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
+peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
+7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
+GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
+OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
+L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
+5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
+44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
+Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
+Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
+mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
+vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
+KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
+NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
+viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
+-----END CERTIFICATE-----
+
+SwissSign Silver CA - G2
+========================
+-----BEGIN CERTIFICATE-----
+MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
+BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
+DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
+aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
+9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
+N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
+6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
+MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
+qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
+FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
+ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
+celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
+CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
+tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
+cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
+4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
+kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
+3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
+/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
+DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
+e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
+WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
+DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
+DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
+cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
+b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
+nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
+RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
+tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
+hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
+Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
+NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
+Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
+1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
+-----END CERTIFICATE-----
+
+thawte Primary Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
+MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
+SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
+KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
+FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
+oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
+1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
+q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
+aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
+afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
+AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
+uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
+jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
+z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G5
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
+yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
+biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
+dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
+YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
+j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
+Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
+Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
+fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
+BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
+Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
+SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
+KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
+Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
+ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
+-----END CERTIFICATE-----
+
+SecureTrust CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
+dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
+BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
+OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
+DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
+GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
+01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
+ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
+aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
+SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
+mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
+nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
+3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
+-----END CERTIFICATE-----
+
+Secure Global CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
+bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
+MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
+YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
+bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
+8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
+HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
+0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
+oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
+MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
+CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
+3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
+f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
+-----END CERTIFICATE-----
+
+COMODO Certification Authority
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
+dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
+MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
+T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
+xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
+4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
+1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
+rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
+b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
+AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
+OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
+RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
+IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
+-----END CERTIFICATE-----
+
+Network Solutions Certificate Authority
+=======================================
+-----BEGIN CERTIFICATE-----
+MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
+EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
+IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
+MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
+MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
+jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
+aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
+crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
+/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
+AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
+bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
+A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
+4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
+GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
+wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
+ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
+-----END CERTIFICATE-----
+
+WellsSecure Public Root Certificate Authority
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
+F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
+NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
+MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
+bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
+VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
+iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
+i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
+bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
+K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
+AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
+cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
+lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
+i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
+GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
+K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
+bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
+qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
+E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
+tylv2G0xffX8oRAHh84vWdw+WNs=
+-----END CERTIFICATE-----
+
+COMODO ECC Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
+GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
+b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
+4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
+wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
+FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
+U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
+-----END CERTIFICATE-----
+
+IGC/A
+=====
+-----BEGIN CERTIFICATE-----
+MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
+VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
+Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
+MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
+EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
+STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
+TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
+So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
+HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
+frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
+tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
+egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
+iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
+q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
+MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
+Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
+lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
+0mBWWg==
+-----END CERTIFICATE-----
+
+Security Communication EV RootCA1
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
+BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
+Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
+/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
+WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
+ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
+bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
+9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
+SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
+iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
+Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
+mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
+T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GA CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
+BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
+A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
+bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
+VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
+IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
+IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
+Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
+Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
+d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
+/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
+LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
+MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
+hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
+okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
+BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
+EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0
+MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz
+dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT
+GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG
+d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N
+oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc
+QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ
+PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb
+MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG
+IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD
+VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3
+LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A
+dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
+AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA
+4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg
+AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA
+egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6
+Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO
+PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv
+c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h
+cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw
+IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT
+WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV
+MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER
+MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp
+Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal
+HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT
+nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE
+aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
+86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK
+yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
+S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
+-----END CERTIFICATE-----
+
+Certigna
+========
+-----BEGIN CERTIFICATE-----
+MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
+EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
+MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
+Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
+XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
+GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
+ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
+DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
+Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
+tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
+BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
+SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
+hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
+PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
+1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
+WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
+-----END CERTIFICATE-----
+
+AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.
+======================================
+-----BEGIN CERTIFICATE-----
+MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT
+AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg
+LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w
+HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+
+U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh
+IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN
+yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU
+2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3
+4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP
+2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm
+8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf
+HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa
+Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK
+5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b
+czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
+AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g
+ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF
+BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug
+cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf
+AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX
+EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v
+/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3
+MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4
+3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk
+eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f
+/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h
+RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU
+Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ==
+-----END CERTIFICATE-----
+
+TC TrustCenter Class 2 CA II
+============================
+-----BEGIN CERTIFICATE-----
+MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
+IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw
+MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
+c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE
+AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw
+IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2
+xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ
+Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u
+SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB
+7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
+Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
+cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
+SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
+TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G
+dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ
+KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj
+TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP
+JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk
+vQ==
+-----END CERTIFICATE-----
+
+TC TrustCenter Class 3 CA II
+============================
+-----BEGIN CERTIFICATE-----
+MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
+IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw
+MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
+c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE
+AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W
+yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo
+6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ
+uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk
+2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB
+7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
+Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
+cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
+SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
+TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE
+O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8
+yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9
+IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal
+092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc
+5A==
+-----END CERTIFICATE-----
+
+TC TrustCenter Universal CA I
+=============================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
+IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN
+MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg
+VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw
+JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC
+qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv
+xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw
+ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O
+gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j
+BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG
+1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy
+vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3
+ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
+ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a
+7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
+-----END CERTIFICATE-----
+
+Deutsche Telekom Root CA 2
+==========================
+-----BEGIN CERTIFICATE-----
+MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
+RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
+A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
+MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
+A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
+b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
+bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
+KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
+AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
+Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
+jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
+HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
+E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
+zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
+rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
+dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
+Cm26OWMohpLzGITY+9HPBVZkVw==
+-----END CERTIFICATE-----
+
+ComSign Secured CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE
+AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w
+NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD
+QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs
+49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH
+7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB
+kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1
+9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw
+AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t
+U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA
+j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC
+AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a
+BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp
+FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP
+51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
+OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
+-----END CERTIFICATE-----
+
+Cybertrust Global Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
+ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
+MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
+ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
+0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
+AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
+89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
+8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
+MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
+A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
+lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
+5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
+hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
+X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
+WL1WMRJOEcgh4LMRkWXbtKaIOM5V
+-----END CERTIFICATE-----
+
+ePKI Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
+EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
+Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
+MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
+MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
+IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
+lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
+qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
+12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
+WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
+lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
+vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
+Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
+MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
+ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
+1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
+KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
+xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
+NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
+GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
+xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
+gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
+sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
+BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
+-----END CERTIFICATE-----
+
+T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
+=============================================================================================================================
+-----BEGIN CERTIFICATE-----
+MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
+DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
+aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
+b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
+BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
+S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
+MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
+IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
+n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
+IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
+dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
+cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
+Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
+xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
+6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
+hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
+BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
+N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
+y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
+LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
+dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
+-----END CERTIFICATE-----
+
+Buypass Class 2 CA 1
+====================
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
+MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
+c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
+cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
+0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
+0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
+uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
+AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
+1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
+7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
+fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
+wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
+-----END CERTIFICATE-----
+
+Buypass Class 3 CA 1
+====================
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1
+MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
+c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx
+ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0
+n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia
+AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c
+1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P
+AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7
+pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA
+EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5
+htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj
+el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
+-----END CERTIFICATE-----
+
+EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
+==========================================================================
+-----BEGIN CERTIFICATE-----
+MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg
+QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe
+Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p
+ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt
+IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by
+X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b
+gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr
+eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ
+TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy
+Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn
+uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI
+qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm
+ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0
+Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
+/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW
+Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t
+FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm
+zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k
+XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT
+bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU
+RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK
+1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt
+2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ
+Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9
+AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT
+-----END CERTIFICATE-----
+
+certSIGN ROOT CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
+VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
+Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
+CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
+JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
+rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
+ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
+0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
+AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
+AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
+SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
+x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
+vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
+TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
+-----END CERTIFICATE-----
+
+CNNIC ROOT
+==========
+-----BEGIN CERTIFICATE-----
+MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
+ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
+OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
+o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
+VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
+VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
+czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
+y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
+wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
+lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
+Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
+O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
+BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
+G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
+mxE=
+-----END CERTIFICATE-----
+
+ApplicationCA - Japanese Government
+===================================
+-----BEGIN CERTIFICATE-----
+MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
+SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
+MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl
+cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4
+fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN
+wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE
+jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu
+nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU
+WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV
+BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD
+vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs
+o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g
+/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD
+io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
+dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
+rosot4LKGAfmt1t06SAZf7IbiVQ=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G3
+=============================================
+-----BEGIN CERTIFICATE-----
+MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
+BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
+IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
+NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
+YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
+LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
+K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
+c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
+IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
+dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
+2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
+cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
+Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
+AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
+t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
+VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
+IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
+Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
+MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
+b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
+IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
+LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
+8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
+mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
+G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
+rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
+ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
+d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
+VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
+A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
+P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
+7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
+vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
+KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
+A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
+t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
+8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
+er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
+Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
+OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
+MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
+b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
+BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
+KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
+VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
+EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
+ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
+npaqBA+K
+-----END CERTIFICATE-----
+
+VeriSign Universal Root Certification Authority
+===============================================
+-----BEGIN CERTIFICATE-----
+MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
+IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
+1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
+MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
+9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
+AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
+tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
+CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
+a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
+DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
+Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
+Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
+P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
+wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
+mJO37M2CYfE45k+XmCpajQ==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G4
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
+VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
+b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
+ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
+MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
+cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
+b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
+Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
+rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
+HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
+Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
+A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
+AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
+-----END CERTIFICATE-----
+
+NetLock Arany (Class Gold) Főtanúsítvány
+============================================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
+A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
+dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
+cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
+MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
+ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
+biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
+c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
+0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
+/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
+H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
+fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
+neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
+qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
+YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
+bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
+NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
+dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G2
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
+5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
+vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
+CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
+e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
+OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
+CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
+48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
+trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
+qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
+AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
+ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
+HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
+A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
+f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
+kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
+CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
+URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
+CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
+oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
+IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
+66+KAQ==
+-----END CERTIFICATE-----
+
+CA Disig
+========
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
+QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
+MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
+bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
+GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
+Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
+hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
+ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
+gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
+AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
+aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
+ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
+BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
+WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
+mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
+CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
+ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
+4Z7CRneC9VkGjCFMhwnN5ag=
+-----END CERTIFICATE-----
+
+Juur-SK
+=======
+-----BEGIN CERTIFICATE-----
+MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
+c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
+DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
+SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
+aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
+TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
++Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
+UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
+Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
+MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
+HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
+AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
+cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
+AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
+cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
+FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
+A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
+ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
+abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
+IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
+Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
+yyqcjg==
+-----END CERTIFICATE-----
+
+Hongkong Post Root CA 1
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
+DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
+NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
+IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
+ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
+auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
+qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
+V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
+HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
+h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
+l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
+IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
+T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
+c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
+-----END CERTIFICATE-----
+
+SecureSign RootCA11
+===================
+-----BEGIN CERTIFICATE-----
+MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
+SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
+b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
+KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
+cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
+TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
+wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
+g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
+O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
+bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
+t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
+OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
+bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
+Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
+y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
+lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
+-----END CERTIFICATE-----
+
+ACEDICOM Root
+=============
+-----BEGIN CERTIFICATE-----
+MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
+T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
+MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
+A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
+WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
+YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
+MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
+m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
+HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
+xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
+3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
+2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
+TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
+4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
+9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
+bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
+aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
+eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
+zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
+ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
+KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
+nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
+I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
+MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
+tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
+FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
+XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
+IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
+f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
+hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky
+CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX
+bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/
+D/xwzoiQ
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
+MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
+c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
+dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
+BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
+U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
+fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
+0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
+pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
+1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
+AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
+QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
+FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
+lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
+I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
+tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
+yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
+LXpUq3DDfSJlgnCW
+-----END CERTIFICATE-----
+
+E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi
+===================================================
+-----BEGIN CERTIFICATE-----
+MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz
+ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3
+MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0
+cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u
+aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY
+8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y
+jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI
+JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk
+9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD
+AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG
+SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d
+F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq
+D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4
+Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq
+fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R3
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
+iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
+0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
+rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
+OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
+xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
+lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
+EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
+bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
+YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
+kpeDMdmztcpHWD9f
+-----END CERTIFICATE-----
+
+TC TrustCenter Universal CA III
+===============================
+-----BEGIN CERTIFICATE-----
+MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
+IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe
+Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU
+QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex
+KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt
+QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO
+juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut
+CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1
+M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G
+A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
+BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA
+g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+
+KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK
+BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV
+CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq
+woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==
+-----END CERTIFICATE-----
+
+Autoridad de Certificacion Firmaprofesional CIF A62634068
+=========================================================
+-----BEGIN CERTIFICATE-----
+MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
+BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
+MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
+QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
+NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
+Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
+B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
+7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
+ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
+plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
+MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
+LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
+bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
+vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
+EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
+DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
+cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
+bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
+ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
+51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
+R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
+T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
+Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
+osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
+crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
+saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
+KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
+6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
+-----END CERTIFICATE-----
+
+Izenpe.com
+==========
+-----BEGIN CERTIFICATE-----
+MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
+EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
+MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
+QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
+03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
+ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
+PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
+OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
+F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
+0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
+leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
+AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
+SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
+NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
+MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
+Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
+kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
+hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
+g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
+aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
+nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
+ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
+Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
+WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
+-----END CERTIFICATE-----
+
+Chambers of Commerce Root - 2008
+================================
+-----BEGIN CERTIFICATE-----
+MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
+Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
+ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
+EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
+cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
+XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
+h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
+ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
+NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
+D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
+lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
+0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
+ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
+EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
+G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
+BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
+bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
+bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
+CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
+AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
+wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
+3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
+RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
+M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
+YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
+9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
+zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
+nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
+OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
+-----END CERTIFICATE-----
+
+Global Chambersign Root - 2008
+==============================
+-----BEGIN CERTIFICATE-----
+MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
+NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
+Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
+QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
+aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
+VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
+XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
+ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
+/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
+TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
+H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
+Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
+HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
+wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
+AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
+BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
+BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
+aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
+aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
+1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
+dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
+/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
+ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
+dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
+9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
+foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
+qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
+P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
+c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
+09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
+-----END CERTIFICATE-----
+
+Go Daddy Root Certificate Authority - G2
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
+MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
+MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
+b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
+A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
+9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
+fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
+NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
+BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
+vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
+5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
+N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
+LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
+-----END CERTIFICATE-----
+
+Starfield Root Certificate Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
+eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
+DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
+VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
+dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
+W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
+bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
+N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
+ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
+JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
+TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
+4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
+F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
+pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
+c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
+-----END CERTIFICATE-----
+
+Starfield Services Root Certificate Authority - G2
+==================================================
+-----BEGIN CERTIFICATE-----
+MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
+IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
+BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
+dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
+h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
+hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
+LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
+rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
+SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
+E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
+xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
+iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
+YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
+-----END CERTIFICATE-----
+
+AffirmTrust Commercial
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
+MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
+DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
+C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
+BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
+MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
+HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
+hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
+qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
+0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
+sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
+-----END CERTIFICATE-----
+
+AffirmTrust Networking
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
+MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
+Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
+dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
+/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
+h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
+HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
+UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
+12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
+WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
+/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
+-----END CERTIFICATE-----
+
+AffirmTrust Premium
+===================
+-----BEGIN CERTIFICATE-----
+MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
+OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
+dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
+BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
+5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
+GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
+p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
+S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
+6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
+/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
+MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
+Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
+6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
+L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
+BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
+IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
+g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
+zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
+-----END CERTIFICATE-----
+
+AffirmTrust Premium ECC
+=======================
+-----BEGIN CERTIFICATE-----
+MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
+BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
+MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
+cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
+N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
+BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
+BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
+57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
+eQ==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
+ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
+MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
+ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
+l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
+J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
+fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
+cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
+Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
+DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
+jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
+mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
+Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
+03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
+-----END CERTIFICATE-----
+
+Certinomis - Autorité Racine
+=============================
+-----BEGIN CERTIFICATE-----
+MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
+Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
+LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
+A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
+JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
+wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
+Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
+2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
+jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
+c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
+lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
+xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
+530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
+4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
+A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
+KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
+WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
+R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
+nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
+CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
+JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
+qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
+WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
+wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
+vgt2Fl43N+bYdJeimUV5
+-----END CERTIFICATE-----
+
+Root CA Generalitat Valenciana
+==============================
+-----BEGIN CERTIFICATE-----
+MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
+ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
+IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
+WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
+CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
+F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
+ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
+D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
+JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
+AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
+dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
+ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
+AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
+YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
+AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
+aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
+AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
+YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
+AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
+OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
+dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
+BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
+A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
+b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
+TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
+Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
+NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
+iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
+-----END CERTIFICATE-----
+
+A-Trust-nQual-03
+================
+-----BEGIN CERTIFICATE-----
+MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE
+Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
+a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R
+dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw
+RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
+ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1
+c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA
+zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n
+yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE
+SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4
+iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V
+cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV
+eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40
+ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr
+sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd
+JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
+mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6
+ahq97BvIxYSazQ==
+-----END CERTIFICATE-----
+
+TWCA Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
+VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
+EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
+IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
+QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
+oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
+4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
+y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
+BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
+9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
+mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
+QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
+T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
+Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
+-----END CERTIFICATE-----
+
+Security Communication RootCA2
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
+SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
+aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
+3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
+spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
+EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
+QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
+u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
+3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
+tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
+mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
+-----END CERTIFICATE-----
+
+EC-ACC
+======
+-----BEGIN CERTIFICATE-----
+MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
+BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
+ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
+VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
+CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
+BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
+MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
+SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
+Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
+cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
+w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
+ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
+HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
+E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
+0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
+VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
+Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
+dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
+lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
+Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
+l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
+E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
+5EI=
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2011
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
+O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
+aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
+AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
+IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
+1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
+71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
+8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
+3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
+MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
+MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
+b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
+XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
+TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
+/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
+7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
+-----END CERTIFICATE-----
+
+Actalis Authentication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
+BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
+AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
+MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
+IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
+IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
+wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
+by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
+zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
+YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
+oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
+EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
+hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
+EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
+jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
+iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
+ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
+WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
+JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
+K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
+Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
+4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
+2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
+lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
+OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
+vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
+-----END CERTIFICATE-----
+
+Trustis FPS Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
+EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
+IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
+BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
+RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
+H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
+cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
+o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
+AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
+BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
+GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
+yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
+8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
+l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
+iB6XzCGcKQENZetX2fNXlrtIzYE=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
+VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
+Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
+dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
+c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
+bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
+aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
+aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
+L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
+cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
+fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
+N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
+Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
+tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
+e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
+2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
+HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
+JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
+D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority G2
+===================================
+-----BEGIN CERTIFICATE-----
+MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
+RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
+ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
+o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
+4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
+Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
+Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
+O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
+vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
+nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
+FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
+z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
+KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
+2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
+J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
+/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
+nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
+blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
+l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
+7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
+obp573PYtlNXLfbQ4ddI
+-----END CERTIFICATE-----
+
+Buypass Class 2 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
+DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
+g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
+9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
+/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
+CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
+awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
+zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
+Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
+Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
+M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
+A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
+osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
+aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
+DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
+LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
+oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
+wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
+CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
+rJgWVqA=
+-----END CERTIFICATE-----
+
+Buypass Class 3 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
+DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
+sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
+5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
+7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
+ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
+2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
+/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
+RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
+Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
+j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
+cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
+uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
+Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
+ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
+KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
+6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
+UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
+eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
+Cp/HuZc=
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 3
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
+MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
+9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
+NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
+iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
+0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
+AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
+fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
+ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
+P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
+e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
+-----END CERTIFICATE-----
index bdad84db6cba40bb4079ddd0c46c30a14c1f60de..c33b30247e047ffb41dc8d7249ecdf2a469af699 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 if ( !class_exists('SimplePie') )
 <?php
 
 if ( !class_exists('SimplePie') )
-       require_once (ABSPATH . WPINC . '/class-simplepie.php');
+       require_once( ABSPATH . WPINC . '/class-simplepie.php' );
 
 class WP_Feed_Cache extends SimplePie_Cache {
        /**
 
 class WP_Feed_Cache extends SimplePie_Cache {
        /**
@@ -23,7 +23,17 @@ class WP_Feed_Cache_Transient {
        function __construct($location, $filename, $extension) {
                $this->name = 'feed_' . $filename;
                $this->mod_name = 'feed_mod_' . $filename;
        function __construct($location, $filename, $extension) {
                $this->name = 'feed_' . $filename;
                $this->mod_name = 'feed_mod_' . $filename;
-               $this->lifetime = apply_filters('wp_feed_cache_transient_lifetime', $this->lifetime, $filename);
+
+               $lifetime = $this->lifetime;
+               /**
+                * Filter the transient lifetime of the feed cache.
+                *
+                * @since 2.8.0
+                *
+                * @param int    $lifetime Cache duration in seconds. Default is 43200 seconds (12 hours).
+                * @param string $filename Unique identifier for the cache object.
+                */
+               $this->lifetime = apply_filters( 'wp_feed_cache_transient_lifetime', $lifetime, $filename);
        }
 
        function save($data) {
        }
 
        function save($data) {
index 77ba4597dd4cc457bdfe54803a2730430ab51dcd..c75b47e230eb013807984a0f76c62cfc731cb79e 100644 (file)
 /**
  * WordPress HTTP Class for managing HTTP Transports and making HTTP requests.
  *
 /**
  * WordPress HTTP Class for managing HTTP Transports and making HTTP requests.
  *
- * This class is called for the functionality of making HTTP requests and replaces Snoopy
- * functionality. There is no available functionality to add HTTP transport implementations, since
- * most of the HTTP transports are added and available for use.
- *
- * There are no properties, because none are needed and for performance reasons. Some of the
- * functions are static and while they do have some overhead over functions in PHP4, the purpose is
- * maintainability. When PHP5 is finally the requirement, it will be easy to add the static keyword
- * to the code. It is not as easy to convert a function to a method after enough code uses the old
- * way.
+ * This class is used to consistently make outgoing HTTP requests easy for developers
+ * while still being compatible with the many PHP configurations under which
+ * WordPress runs.
  *
  * Debugging includes several actions, which pass different variables for debugging the HTTP API.
  *
  *
  * Debugging includes several actions, which pass different variables for debugging the HTTP API.
  *
@@ -42,8 +36,7 @@ class WP_Http {
         * using http_build_query().
         *
         * The only URI that are supported in the HTTP Transport implementation are the HTTP and HTTPS
         * using http_build_query().
         *
         * The only URI that are supported in the HTTP Transport implementation are the HTTP and HTTPS
-        * protocols. HTTP and HTTPS are assumed so the server might not know how to handle the send
-        * headers. Other protocols are unsupported and most likely will fail.
+        * protocols.
         *
         * The defaults are 'method', 'timeout', 'redirection', 'httpversion', 'blocking' and
         * 'user-agent'.
         *
         * The defaults are 'method', 'timeout', 'redirection', 'httpversion', 'blocking' and
         * 'user-agent'.
@@ -55,24 +48,17 @@ class WP_Http {
         * accept setting that value.
         *
         * The 'httpversion' option is used to sent the HTTP version and accepted values are '1.0', and
         * 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. Version 1.1 is not supported, because of chunk response. 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.
+        * '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.
         *
         *
-        * 'blocking' is the default, which is used to tell the transport, whether it should halt PHP
-        * while it performs the request or continue regardless. Actually, that isn't entirely correct.
-        * Blocking mode really just means whether the fread should just pull what it can whenever it
-        * gets bytes or if it should wait until it has enough in the buffer to read or finishes reading
-        * the entire content. It doesn't actually always mean that PHP will continue going after making
-        * the request.
+        * 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.
         *
         * @access public
         * @since 2.7.0
         *
         * @access public
         * @since 2.7.0
-        * @todo Refactor this code. The code in this method extends the scope of its original purpose
-        *              and should be refactored to allow for cleaner abstraction and reduce duplication of the
-        *              code. One suggestion is to create a class specifically for the arguments, however
-        *              preliminary refactoring to this affect has affect more than just the scope of the
-        *              arguments. Something to ponder at least.
         *
         * @param string $url URI resource.
         * @param str|array $args Optional. Override the defaults.
         *
         * @param string $url URI resource.
         * @param str|array $args Optional. Override the defaults.
@@ -95,6 +81,7 @@ class WP_Http {
                        'compress' => false,
                        'decompress' => true,
                        'sslverify' => true,
                        'compress' => false,
                        'decompress' => true,
                        'sslverify' => true,
+                       'sslcertificates' => ABSPATH . WPINC . '/certificates/ca-bundle.crt',
                        'stream' => false,
                        'filename' => null,
                        'limit_response_size' => null,
                        'stream' => false,
                        'filename' => null,
                        'limit_response_size' => null,
@@ -158,7 +145,7 @@ class WP_Http {
                        $r['headers'] = array();
 
                if ( ! is_array( $r['headers'] ) ) {
                        $r['headers'] = array();
 
                if ( ! is_array( $r['headers'] ) ) {
-                       $processedHeaders = WP_Http::processHeaders( $r['headers'] );
+                       $processedHeaders = WP_Http::processHeaders( $r['headers'], $url );
                        $r['headers'] = $processedHeaders['headers'];
                }
 
                        $r['headers'] = $processedHeaders['headers'];
                }
 
@@ -172,9 +159,16 @@ class WP_Http {
                        unset( $r['headers']['user-agent'] );
                }
 
                        unset( $r['headers']['user-agent'] );
                }
 
+               if ( '1.1' == $r['httpversion'] && !isset( $r['headers']['connection'] ) ) {
+                       $r['headers']['connection'] = 'close';
+               }
+
                // Construct Cookie: header if any cookies are set
                WP_Http::buildCookieHeader( $r );
 
                // Construct Cookie: header if any cookies are set
                WP_Http::buildCookieHeader( $r );
 
+               // Avoid issues where mbstring.func_overload is enabled
+               mbstring_binary_safe_encoding();
+
                if ( ! isset( $r['headers']['Accept-Encoding'] ) ) {
                        if ( $encoding = WP_Http_Encoding::accept_encoding( $url, $r ) )
                                $r['headers']['Accept-Encoding'] = $encoding;
                if ( ! isset( $r['headers']['Accept-Encoding'] ) ) {
                        if ( $encoding = WP_Http_Encoding::accept_encoding( $url, $r ) )
                                $r['headers']['Accept-Encoding'] = $encoding;
@@ -195,7 +189,24 @@ class WP_Http {
                                $r['headers']['Content-Length'] = strlen( $r['body'] );
                }
 
                                $r['headers']['Content-Length'] = strlen( $r['body'] );
                }
 
-               return $this->_dispatch_request($url, $r);
+               $response = $this->_dispatch_request( $url, $r );
+
+               reset_mbstring_encoding();
+
+               if ( is_wp_error( $response ) )
+                       return $response;
+
+               // Append cookies that were used in this request to the response
+               if ( ! empty( $r['cookies'] ) ) {
+                       $cookies_set = wp_list_pluck( $response['cookies'], 'name' );
+                       foreach ( $r['cookies'] as $cookie ) {
+                               if ( ! in_array( $cookie->name, $cookies_set ) && $cookie->test( $url ) ) {
+                                       $response['cookies'][] = $cookie;
+                               }
+                       }
+               }
+
+               return $response;
        }
 
        /**
        }
 
        /**
@@ -210,7 +221,7 @@ class WP_Http {
         * @return string|bool Class name for the first transport that claims to support the request. False if no transport claims to support the request.
         */
        public function _get_first_available_transport( $args, $url = null ) {
         * @return string|bool Class name for the first transport that claims to support the request. False if no transport claims to support the request.
         */
        public function _get_first_available_transport( $args, $url = null ) {
-               $request_order = array( 'curl', 'streams', 'fsockopen' );
+               $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
                foreach ( $request_order as $transport ) {
 
                // Loop over each transport on each HTTP request looking for one which will serve this request's needs
                foreach ( $request_order as $transport ) {
@@ -232,13 +243,7 @@ class WP_Http {
         * Tests each transport in order to find a transport which matches the request arguments.
         * Also caches the transport instance to be used later.
         *
         * Tests each transport in order to find a transport which matches the request arguments.
         * Also caches the transport instance to be used later.
         *
-        * The order for blocking requests is cURL, Streams, and finally Fsockopen.
-        * The order for non-blocking requests is cURL, Streams and Fsockopen().
-        *
-        * There are currently issues with "localhost" not resolving correctly with DNS. This may cause
-        * an error "failed to open stream: A connection attempt failed because the connected party did
-        * not properly respond after a period of time, or established connection failed because [the]
-        * connected host has failed to respond."
+        * The order for requests is cURL, and then PHP Streams.
         *
         * @since 3.2.0
         * @access private
         *
         * @since 3.2.0
         * @access private
@@ -349,10 +354,11 @@ class WP_Http {
         * @since 2.7.0
         *
         * @param string|array $headers
         * @since 2.7.0
         *
         * @param string|array $headers
+        * @param string $url The URL that was requested
         * @return array Processed string headers. If duplicate headers are encountered,
         *                                      Then a numbered array is returned as the value of that header-key.
         */
         * @return array Processed string headers. If duplicate headers are encountered,
         *                                      Then a numbered array is returned as the value of that header-key.
         */
-       public static function processHeaders($headers) {
+       public static function processHeaders( $headers, $url = '' ) {
                // split headers, one per array element
                if ( is_string($headers) ) {
                        // tolerate line terminator: CRLF = LF (RFC 2616 19.3)
                // split headers, one per array element
                if ( is_string($headers) ) {
                        // tolerate line terminator: CRLF = LF (RFC 2616 19.3)
@@ -400,7 +406,7 @@ class WP_Http {
                                $newheaders[ $key ] = $value;
                        }
                        if ( 'set-cookie' == $key )
                                $newheaders[ $key ] = $value;
                        }
                        if ( 'set-cookie' == $key )
-                               $cookies[] = new WP_Http_Cookie( $value );
+                               $cookies[] = new WP_Http_Cookie( $value, $url );
                }
 
                return array('response' => $response, 'headers' => $newheaders, 'cookies' => $cookies);
                }
 
                return array('response' => $response, 'headers' => $newheaders, 'cookies' => $cookies);
@@ -409,9 +415,9 @@ class WP_Http {
        /**
         * Takes the arguments for a ::request() and checks for the cookie array.
         *
        /**
         * Takes the arguments for a ::request() and checks for the cookie array.
         *
-        * If it's found, then it's assumed to contain WP_Http_Cookie objects, which are each parsed
-        * into strings and added to the Cookie: header (within the arguments array). Edits the array by
-        * reference.
+        * If it's found, then it upgrades any basic name => value pairs to WP_Http_Cookie instances,
+        * which are each parsed into strings and added to the Cookie: header (within the arguments array).
+        * Edits the array by reference.
         *
         * @access public
         * @version 2.8.0
         *
         * @access public
         * @version 2.8.0
@@ -421,10 +427,17 @@ class WP_Http {
         */
        public static function buildCookieHeader( &$r ) {
                if ( ! empty($r['cookies']) ) {
         */
        public static function buildCookieHeader( &$r ) {
                if ( ! empty($r['cookies']) ) {
+                       // 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 ) );
+                       }
+
                        $cookies_header = '';
                        foreach ( (array) $r['cookies'] as $cookie ) {
                                $cookies_header .= $cookie->getHeaderValue() . '; ';
                        }
                        $cookies_header = '';
                        foreach ( (array) $r['cookies'] as $cookie ) {
                                $cookies_header .= $cookie->getHeaderValue() . '; ';
                        }
+
                        $cookies_header = substr( $cookies_header, 0, -2 );
                        $r['headers']['cookie'] = $cookies_header;
                }
                        $cookies_header = substr( $cookies_header, 0, -2 );
                        $r['headers']['cookie'] = $cookies_header;
                }
@@ -433,12 +446,10 @@ class WP_Http {
        /**
         * Decodes chunk transfer-encoding, based off the HTTP 1.1 specification.
         *
        /**
         * Decodes chunk transfer-encoding, based off the HTTP 1.1 specification.
         *
-        * Based off the HTTP http_encoding_dechunk function. Does not support UTF-8. Does not support
-        * returning footer headers. Shouldn't be too difficult to support it though.
+        * Based off the HTTP http_encoding_dechunk function.
         *
         * @link http://tools.ietf.org/html/rfc2616#section-19.4.6 Process for chunked decoding.
         *
         *
         * @link http://tools.ietf.org/html/rfc2616#section-19.4.6 Process for chunked decoding.
         *
-        * @todo Add support for footer chunked headers.
         * @access public
         * @since 2.7.0
         * @static
         * @access public
         * @since 2.7.0
         * @static
@@ -446,35 +457,31 @@ class WP_Http {
         * @param string $body Body content
         * @return string Chunked decoded body on success or raw body on failure.
         */
         * @param string $body Body content
         * @return string Chunked decoded body on success or raw body on failure.
         */
-       function chunkTransferDecode($body) {
-               $body = str_replace(array("\r\n", "\r"), "\n", $body);
-               // The body is not chunked encoding or is malformed.
-               if ( ! preg_match( '/^[0-9a-f]+(\s|\n)+/mi', trim($body) ) )
+       public static function chunkTransferDecode( $body ) {
+               // The body is not chunked encoded or is malformed.
+               if ( ! preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', trim( $body ) ) )
                        return $body;
 
                        return $body;
 
-               $parsedBody = '';
-               //$parsedHeaders = array(); Unsupported
+               $parsed_body = '';
+               $body_original = $body; // We'll be altering $body, so need a backup in case of error
 
                while ( true ) {
 
                while ( true ) {
-                       $hasChunk = (bool) preg_match( '/^([0-9a-f]+)(\s|\n)+/mi', $body, $match );
-
-                       if ( $hasChunk ) {
-                               if ( empty( $match[1] ) )
-                                       return $body;
+                       $has_chunk = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $body, $match );
+                       if ( ! $has_chunk || empty( $match[1] ) )
+                               return $body_original;
 
 
-                               $length = hexdec( $match[1] );
-                               $chunkLength = strlen( $match[0] );
+                       $length = hexdec( $match[1] );
+                       $chunk_length = strlen( $match[0] );
 
 
-                               $strBody = substr($body, $chunkLength, $length);
-                               $parsedBody .= $strBody;
+                       // Parse out the chunk of data
+                       $parsed_body .= substr( $body, $chunk_length, $length );
 
 
-                               $body = ltrim(str_replace(array($match[0], $strBody), '', $body), "\n");
+                       // Remove the chunk from the raw data
+                       $body = substr( $body, $length + $chunk_length );
 
 
-                               if ( "0" == trim($body) )
-                                       return $parsedBody; // Ignore footer headers.
-                       } else {
-                               return $body;
-                       }
+                       // End of document
+                       if ( '0' === trim( $body ) )
+                               return $parsed_body;
                }
        }
 
                }
        }
 
@@ -502,19 +509,9 @@ class WP_Http {
                if ( ! defined( 'WP_HTTP_BLOCK_EXTERNAL' ) || ! WP_HTTP_BLOCK_EXTERNAL )
                        return false;
 
                if ( ! defined( 'WP_HTTP_BLOCK_EXTERNAL' ) || ! WP_HTTP_BLOCK_EXTERNAL )
                        return false;
 
-               // 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.
-                *
-                * This isn't very security sound. There are instances where a hacker might attempt
-                * to bypass the proxy and this check. However, the reason for this behavior is that
-                * WordPress does not do any checking currently for non-proxy requests, so it is keeps with
-                * the default unsecure nature of the HTTP request.
-                */
-               if ( $check === false )
-                       return false;
+               $check = parse_url($uri);
+               if ( ! $check )
+                       return true;
 
                $home = parse_url( get_option('siteurl') );
 
 
                $home = parse_url( get_option('siteurl') );
 
@@ -533,7 +530,7 @@ class WP_Http {
                        if ( false !== strpos(WP_ACCESSIBLE_HOSTS, '*') ) {
                                $wildcard_regex = array();
                                foreach ( $accessible_hosts as $host )
                        if ( false !== strpos(WP_ACCESSIBLE_HOSTS, '*') ) {
                                $wildcard_regex = array();
                                foreach ( $accessible_hosts as $host )
-                                       $wildcard_regex[] = str_replace('\*', '[\w.]+?', preg_quote($host, '/'));
+                                       $wildcard_regex[] = str_replace( '\*', '.+', preg_quote( $host, '/' ) );
                                $wildcard_regex = '/^(' . implode('|', $wildcard_regex) . ')$/i';
                        }
                }
                                $wildcard_regex = '/^(' . implode('|', $wildcard_regex) . ')$/i';
                        }
                }
@@ -593,30 +590,104 @@ class WP_Http {
 
                return $absolute_path . '/' . ltrim( $path, '/' );
        }
 
                return $absolute_path . '/' . ltrim( $path, '/' );
        }
+
+       /**
+        * Handles HTTP Redirects and follows them if appropriate.
+        *
+        * @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 $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 ) {
+               // 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
+               if ( $response['response']['code'] > 399 || $response['response']['code'] < 300 )
+                       return false;
+
+               // 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 ( 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
+               if ( 'POST' == $args['method'] ) {
+                       if ( in_array( $response['response']['code'], array( 302, 303 ) ) )
+                               $args['method'] = 'GET';
+               }
+
+               // Include valid cookies in the redirect process
+               if ( ! empty( $response['cookies'] ) ) {
+                       foreach ( $response['cookies'] as $cookie ) {
+                               if ( $cookie->test( $redirect_location ) )
+                                       $args['cookies'][] = $cookie;
+                       }
+               }
+
+               return wp_remote_request( $redirect_location, $args );
+       }
+
+       /**
+        * Determines if a specified string represents an IP address or not.
+        *
+        * This function also detects the type of the IP address, returning either
+        * '4' or '6' to represent a IPv4 and IPv6 address respectively.
+        * This does not verify if the IP is a valid IP, only that it appears to be
+        * an IP address.
+        *
+        * @see http://home.deds.nl/~aeron/regex/ for IPv6 regex
+        *
+        * @since 3.7.0
+        * @static
+        *
+        * @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 ) {
+               if ( preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $maybe_ip ) )
+                       return 4;
+
+               if ( false !== strpos( $maybe_ip, ':' ) && preg_match( '/^(((?=.*(::))(?!.*\3.+\3))\3?|([\dA-F]{1,4}(\3|:\b|$)|\2))(?4){5}((?4){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i', trim( $maybe_ip, ' []' ) ) )
+                       return 6;
+
+               return false;
+       }
+
 }
 
 /**
 }
 
 /**
- * HTTP request method uses fsockopen function to retrieve the url.
- *
- * This would be the preferred method, but the fsockopen implementation has the most overhead of all
- * the HTTP transport implementations.
+ * HTTP request method uses PHP Streams to retrieve the url.
  *
  * @package WordPress
  * @subpackage HTTP
  *
  * @package WordPress
  * @subpackage HTTP
+ *
  * @since 2.7.0
  * @since 2.7.0
+ * @since 3.7.0 Combined with the fsockopen transport and switched to stream_socket_client().
  */
  */
-class WP_Http_Fsockopen {
+class WP_Http_Streams {
        /**
        /**
-        * Send a HTTP request to a URI using fsockopen().
-        *
-        * Does not support non-blocking mode.
+        * Send a HTTP request to a URI using PHP Streams.
         *
         * @see WP_Http::request For default options descriptions.
         *
         *
         * @see WP_Http::request For default options descriptions.
         *
-        * @since 2.7
+        * @since 2.7.0
+        * @since 3.7.0 Combined with the fsockopen transport and switched to stream_socket_client().
+        *
         * @access public
         * @param string $url URI resource.
         * @access public
         * @param string $url URI resource.
-        * @param str|array $args Optional. Override the defaults.
+        * @param string|array $args Optional. Override the defaults.
         * @return array 'headers', 'body', 'response', 'cookies' and 'filename' keys.
         */
        function request($url, $args = array()) {
         * @return array 'headers', 'body', 'response', 'cookies' and 'filename' keys.
         */
        function request($url, $args = array()) {
@@ -640,18 +711,13 @@ class WP_Http_Fsockopen {
                // Construct Cookie: header if any cookies are set
                WP_Http::buildCookieHeader( $r );
 
                // Construct Cookie: header if any cookies are set
                WP_Http::buildCookieHeader( $r );
 
-               $iError = null; // Store error number
-               $strError = null; // Store error string
-
                $arrURL = parse_url($url);
 
                $arrURL = parse_url($url);
 
-               $fsockopen_host = $arrURL['host'];
-
-               $secure_transport = false;
+               $connect_host = $arrURL['host'];
 
 
+               $secure_transport = ( $arrURL['scheme'] == 'ssl' || $arrURL['scheme'] == 'https' );
                if ( ! isset( $arrURL['port'] ) ) {
                if ( ! isset( $arrURL['port'] ) ) {
-                       if ( ( $arrURL['scheme'] == 'ssl' || $arrURL['scheme'] == 'https' ) && extension_loaded('openssl') ) {
-                               $fsockopen_host = "ssl://$fsockopen_host";
+                       if ( $arrURL['scheme'] == 'ssl' || $arrURL['scheme'] == 'https' ) {
                                $arrURL['port'] = 443;
                                $secure_transport = true;
                        } else {
                                $arrURL['port'] = 443;
                                $secure_transport = true;
                        } else {
@@ -659,45 +725,82 @@ class WP_Http_Fsockopen {
                        }
                }
 
                        }
                }
 
-               //fsockopen has issues with 'localhost' with IPv6 with certain versions of PHP, It attempts to connect to ::1,
+               if ( isset( $r['headers']['Host'] ) || isset( $r['headers']['host'] ) ) {
+                       if ( isset( $r['headers']['Host'] ) )
+                               $arrURL['host'] = $r['headers']['Host'];
+                       else
+                               $arrURL['host'] = $r['headers']['host'];
+                       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.
                // which fails when the server is not set up for it. For compatibility, always connect to the IPv4 address.
-               if ( 'localhost' == strtolower($fsockopen_host) )
-                       $fsockopen_host = '127.0.0.1';
+               if ( 'localhost' == strtolower( $connect_host ) )
+                       $connect_host = '127.0.0.1';
 
 
-               // There are issues with the HTTPS and SSL protocols that cause errors that can be safely
-               // ignored and should be ignored.
-               if ( true === $secure_transport )
-                       $error_reporting = error_reporting(0);
+               $connect_host = $secure_transport ? 'ssl://' . $connect_host : 'tcp://' . $connect_host;
 
 
-               $startDelay = time();
+               $is_local = isset( $r['local'] ) && $r['local'];
+               $ssl_verify = isset( $r['sslverify'] ) && $r['sslverify'];
+               if ( $is_local )
+                       $ssl_verify = apply_filters( 'https_local_ssl_verify', $ssl_verify );
+               elseif ( ! $is_local )
+                       $ssl_verify = apply_filters( 'https_ssl_verify', $ssl_verify );
 
                $proxy = new WP_HTTP_Proxy();
 
 
                $proxy = new WP_HTTP_Proxy();
 
+               $context = stream_context_create( array(
+                       'ssl' => array(
+                               'verify_peer' => $ssl_verify,
+                               //'CN_match' => $arrURL['host'], // This is handled by self::verify_ssl_certificate()
+                               'capture_peer_cert' => $ssl_verify,
+                               'SNI_enabled' => true,
+                               'cafile' => $r['sslcertificates'],
+                               'allow_self_signed' => ! $ssl_verify,
+                       )
+               ) );
+
+               $timeout = (int) floor( $r['timeout'] );
+               $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
+
                if ( !WP_DEBUG ) {
                if ( !WP_DEBUG ) {
+                       // In the event that the SSL connection fails, silence the many PHP Warnings
+                       if ( $secure_transport )
+                               $error_reporting = error_reporting(0);
+
                        if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) )
                        if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) )
-                               $handle = @fsockopen( $proxy->host(), $proxy->port(), $iError, $strError, $r['timeout'] );
+                               $handle = @stream_socket_client( 'tcp://' . $proxy->host() . ':' . $proxy->port(), $connection_error, $connection_error_str, $connect_timeout, STREAM_CLIENT_CONNECT, $context );
                        else
                        else
-                               $handle = @fsockopen( $fsockopen_host, $arrURL['port'], $iError, $strError, $r['timeout'] );
+                               $handle = @stream_socket_client( $connect_host . ':' . $arrURL['port'], $connection_error, $connection_error_str, $connect_timeout, STREAM_CLIENT_CONNECT, $context );
+
+                       if ( $secure_transport )
+                               error_reporting( $error_reporting );
+
                } else {
                        if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) )
                } else {
                        if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) )
-                               $handle = fsockopen( $proxy->host(), $proxy->port(), $iError, $strError, $r['timeout'] );
+                               $handle = stream_socket_client( 'tcp://' . $proxy->host() . ':' . $proxy->port(), $connection_error, $connection_error_str, $connect_timeout, STREAM_CLIENT_CONNECT, $context );
                        else
                        else
-                               $handle = fsockopen( $fsockopen_host, $arrURL['port'], $iError, $strError, $r['timeout'] );
+                               $handle = stream_socket_client( $connect_host . ':' . $arrURL['port'], $connection_error, $connection_error_str, $connect_timeout, STREAM_CLIENT_CONNECT, $context );
                }
 
                }
 
-               $endDelay = time();
+               if ( false === $handle ) {
+                       // 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.' ) );
 
 
-               // If the delay is greater than the timeout then fsockopen shouldn't be used, because it will
-               // cause a long delay.
-               $elapseDelay = ($endDelay-$startDelay) > $r['timeout'];
-               if ( true === $elapseDelay )
-                       add_option( 'disable_fsockopen', $endDelay, null, true );
+                       return new WP_Error('http_request_failed', $connection_error . ': ' . $connection_error_str );
+               }
 
 
-               if ( false === $handle )
-                       return new WP_Error('http_request_failed', $iError . ': ' . $strError);
+               // 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.' ) );
+               }
 
 
-               $timeout = (int) floor( $r['timeout'] );
-               $utimeout = $timeout == $r['timeout'] ? 0 : 1000000 * $r['timeout'] % 1000000;
                stream_set_timeout( $handle, $timeout, $utimeout );
 
                if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) //Some proxies require full URL in this field.
                stream_set_timeout( $handle, $timeout, $utimeout );
 
                if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) //Some proxies require full URL in this field.
@@ -736,7 +839,8 @@ class WP_Http_Fsockopen {
                fwrite($handle, $strHeaders);
 
                if ( ! $r['blocking'] ) {
                fwrite($handle, $strHeaders);
 
                if ( ! $r['blocking'] ) {
-                       fclose($handle);
+                       stream_set_blocking( $handle, 0 );
+                       fclose( $handle );
                        return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() );
                }
 
                        return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() );
                }
 
@@ -770,10 +874,20 @@ class WP_Http_Fsockopen {
                                        }
                                }
 
                                        }
                                }
 
-                               if ( isset( $r['limit_response_size'] ) && ( $bytes_written + strlen( $block ) ) > $r['limit_response_size'] )
+                               $this_block_size = strlen( $block );
+
+                               if ( isset( $r['limit_response_size'] ) && ( $bytes_written + $this_block_size ) > $r['limit_response_size'] )
                                        $block = substr( $block, 0, ( $r['limit_response_size'] - $bytes_written ) );
 
                                        $block = substr( $block, 0, ( $r['limit_response_size'] - $bytes_written ) );
 
-                               $bytes_written += fwrite( $stream_handle, $block );
+                               $bytes_written_to_file = fwrite( $stream_handle, $block );
+
+                               if ( $bytes_written_to_file != $this_block_size ) {
+                                       fclose( $handle );
+                                       fclose( $stream_handle );
+                                       return new WP_Error( 'http_request_failed', __( 'Failed to write request to temporary file.' ) );
+                               }
+
+                               $bytes_written += $bytes_written_to_file;
 
                                $keep_reading = !isset( $r['limit_response_size'] ) || $bytes_written < $r['limit_response_size'];
                        }
 
                                $keep_reading = !isset( $r['limit_response_size'] ) || $bytes_written < $r['limit_response_size'];
                        }
@@ -799,19 +913,19 @@ class WP_Http_Fsockopen {
 
                fclose( $handle );
 
 
                fclose( $handle );
 
-               if ( true === $secure_transport )
-                       error_reporting($error_reporting);
+               $arrHeaders = WP_Http::processHeaders( $process['headers'], $url );
 
 
-               $arrHeaders = WP_Http::processHeaders( $process['headers'] );
+               $response = array(
+                       'headers' => $arrHeaders['headers'],
+                       'body' => null, // Not yet processed
+                       'response' => $arrHeaders['response'],
+                       'cookies' => $arrHeaders['cookies'],
+                       'filename' => $r['filename']
+               );
 
 
-               // If location is found, then assume redirect and redirect to location.
-               if ( isset($arrHeaders['headers']['location']) && 0 !== $r['_redirection'] ) {
-                       if ( $r['redirection']-- > 0 ) {
-                               return wp_remote_request( WP_HTTP::make_absolute_url( $arrHeaders['headers']['location'], $url ), $r);
-                       } else {
-                               return new WP_Error('http_request_failed', __('Too many redirects.'));
-                       }
-               }
+               // Handle redirects
+               if ( false !== ( $redirect_response = WP_HTTP::handle_redirects( $url, $r, $response ) ) )
+                       return $redirect_response;
 
                // If the body was chunk encoded, then decode it.
                if ( ! empty( $process['body'] ) && isset( $arrHeaders['headers']['transfer-encoding'] ) && 'chunked' == $arrHeaders['headers']['transfer-encoding'] )
 
                // If the body was chunk encoded, then decode it.
                if ( ! empty( $process['body'] ) && isset( $arrHeaders['headers']['transfer-encoding'] ) && 'chunked' == $arrHeaders['headers']['transfer-encoding'] )
@@ -823,193 +937,70 @@ class WP_Http_Fsockopen {
                if ( isset( $r['limit_response_size'] ) && strlen( $process['body'] ) > $r['limit_response_size'] )
                        $process['body'] = substr( $process['body'], 0, $r['limit_response_size'] );
 
                if ( isset( $r['limit_response_size'] ) && strlen( $process['body'] ) > $r['limit_response_size'] )
                        $process['body'] = substr( $process['body'], 0, $r['limit_response_size'] );
 
-               return array( 'headers' => $arrHeaders['headers'], 'body' => $process['body'], 'response' => $arrHeaders['response'], 'cookies' => $arrHeaders['cookies'], 'filename' => $r['filename'] );
+               $response['body'] = $process['body'];
+
+               return $response;
        }
 
        /**
        }
 
        /**
-        * Whether this class can be used for retrieving an URL.
+        * Verifies the received SSL certificate against it's Common Names and subjectAltName fields
         *
         *
-        * @since 2.7.0
+        * PHP's SSL verifications only verify that it's a valid Certificate, it doesn't verify if
+        * the certificate is valid for the hostname which was requested.
+        * This function verifies the requested hostname against certificate's subjectAltName field,
+        * if that is empty, or contains no DNS entries, a fallback to the Common Name field is used.
+        *
+        * IP Address support is included if the request is being made to an IP address.
+        *
+        * @since 3.7.0
         * @static
         * @static
-        * @return boolean False means this class can not be used, true means it can.
+        *
+        * @param stream $stream The PHP Stream which the SSL request is being made over
+        * @param string $host The hostname being requested
+        * @return bool If the cerficiate presented in $stream is valid for $host
         */
         */
-       public static function test( $args = array() ) {
-               if ( ! function_exists( 'fsockopen' ) )
-                       return false;
+       static function verify_ssl_certificate( $stream, $host ) {
+               $context_options = stream_context_get_options( $stream );
 
 
-               if ( false !== ( $option = get_option( 'disable_fsockopen' ) ) && time() - $option < 12 * HOUR_IN_SECONDS )
+               if ( empty( $context_options['ssl']['peer_certificate'] ) )
                        return false;
 
                        return false;
 
-               $is_ssl = isset( $args['ssl'] ) && $args['ssl'];
-
-               if ( $is_ssl && ! extension_loaded( 'openssl' ) )
+               $cert = openssl_x509_parse( $context_options['ssl']['peer_certificate'] );
+               if ( ! $cert )
                        return false;
 
                        return false;
 
-               return apply_filters( 'use_fsockopen_transport', true, $args );
-       }
-}
+               // 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' );
 
 
-/**
- * HTTP request method uses Streams to retrieve the url.
- *
- * Requires PHP 5.0+ and uses fopen with stream context. Requires that 'allow_url_fopen' PHP setting
- * to be enabled.
- *
- * Second preferred method for getting the URL, for PHP 5.
- *
- * @package WordPress
- * @subpackage HTTP
- * @since 2.7.0
- */
-class WP_Http_Streams {
-       /**
-        * Send a HTTP request to a URI using streams with fopen().
-        *
-        * @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.
-        */
-       function request($url, $args = array()) {
-               $defaults = array(
-                       'method' => 'GET', 'timeout' => 5,
-                       'redirection' => 5, 'httpversion' => '1.0',
-                       'blocking' => true,
-                       'headers' => array(), 'body' => null, 'cookies' => array()
-               );
-
-               $r = wp_parse_args( $args, $defaults );
-
-               if ( isset($r['headers']['User-Agent']) ) {
-                       $r['user-agent'] = $r['headers']['User-Agent'];
-                       unset($r['headers']['User-Agent']);
-               } else if ( isset($r['headers']['user-agent']) ) {
-                       $r['user-agent'] = $r['headers']['user-agent'];
-                       unset($r['headers']['user-agent']);
-               }
-
-               // Construct Cookie: header if any cookies are set
-               WP_Http::buildCookieHeader( $r );
-
-               $arrURL = parse_url($url);
-
-               if ( false === $arrURL )
-                       return new WP_Error('http_request_failed', sprintf(__('Malformed URL: %s'), $url));
-
-               if ( 'http' != $arrURL['scheme'] && 'https' != $arrURL['scheme'] )
-                       $url = preg_replace('|^' . preg_quote($arrURL['scheme'], '|') . '|', 'http', $url);
-
-               // Convert Header array to string.
-               $strHeaders = '';
-               if ( is_array( $r['headers'] ) )
-                       foreach ( $r['headers'] as $name => $value )
-                               $strHeaders .= "{$name}: $value\r\n";
-               else if ( is_string( $r['headers'] ) )
-                       $strHeaders = $r['headers'];
-
-               $is_local = isset($args['local']) && $args['local'];
-               $ssl_verify = isset($args['sslverify']) && $args['sslverify'];
-               if ( $is_local )
-                       $ssl_verify = apply_filters('https_local_ssl_verify', $ssl_verify);
-               elseif ( ! $is_local )
-                       $ssl_verify = apply_filters('https_ssl_verify', $ssl_verify);
-
-               $arrContext = array('http' =>
-                       array(
-                               'method' => strtoupper($r['method']),
-                               'user_agent' => $r['user-agent'],
-                               'max_redirects' => 0, // Follow no redirects
-                               'follow_redirects' => false,
-                               'protocol_version' => (float) $r['httpversion'],
-                               'header' => $strHeaders,
-                               'ignore_errors' => true, // Return non-200 requests.
-                               'timeout' => $r['timeout'],
-                               'ssl' => array(
-                                               'verify_peer' => $ssl_verify,
-                                               'verify_host' => $ssl_verify
-                               )
-                       )
-               );
-
-               $proxy = new WP_HTTP_Proxy();
-
-               if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) {
-                       $arrContext['http']['proxy'] = 'tcp://' . $proxy->host() . ':' . $proxy->port();
-                       $arrContext['http']['request_fulluri'] = true;
-
-                       // We only support Basic authentication so this will only work if that is what your proxy supports.
-                       if ( $proxy->use_authentication() )
-                               $arrContext['http']['header'] .= $proxy->authentication_header() . "\r\n";
-               }
-
-               if ( ! is_null( $r['body'] ) )
-                       $arrContext['http']['content'] = $r['body'];
-
-               $context = stream_context_create($arrContext);
-
-               if ( !WP_DEBUG )
-                       $handle = @fopen($url, 'r', false, $context);
-               else
-                       $handle = fopen($url, 'r', false, $context);
-
-               if ( ! $handle )
-                       return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url));
-
-               $timeout = (int) floor( $r['timeout'] );
-               $utimeout = $timeout == $r['timeout'] ? 0 : 1000000 * $r['timeout'] % 1000000;
-               stream_set_timeout( $handle, $timeout, $utimeout );
-
-               if ( ! $r['blocking'] ) {
-                       stream_set_blocking($handle, 0);
-                       fclose($handle);
-                       return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() );
-               }
-
-               $max_bytes = isset( $r['limit_response_size'] ) ? intval( $r['limit_response_size'] ) : -1;
-               if ( $r['stream'] ) {
-                       if ( ! WP_DEBUG )
-                               $stream_handle = @fopen( $r['filename'], 'w+' );
-                       else
-                               $stream_handle = fopen( $r['filename'], 'w+' );
-
-                       if ( ! $stream_handle )
-                               return new WP_Error( 'http_request_failed', sprintf( __( 'Could not open handle for fopen() to %s' ), $r['filename'] ) );
-
-                       stream_copy_to_stream( $handle, $stream_handle, $max_bytes );
-
-                       fclose( $stream_handle );
-                       $strResponse = '';
-               } else {
-                       $strResponse = stream_get_contents( $handle, $max_bytes );
+               $certificate_hostnames = array();
+               if ( ! empty( $cert['extensions']['subjectAltName'] ) ) {
+                       $match_against = preg_split( '/,\s*/', $cert['extensions']['subjectAltName'] );
+                       foreach ( $match_against as $match ) {
+                               list( $match_type, $match_host ) = explode( ':', $match );
+                               if ( $host_type == strtolower( trim( $match_type ) ) ) // IP: or DNS:
+                                       $certificate_hostnames[] = strtolower( trim( $match_host ) );
+                       }
+               } elseif ( !empty( $cert['subject']['CN'] ) ) {
+                       // Only use the CN when the certificate includes no subjectAltName extension
+                       $certificate_hostnames[] = strtolower( $cert['subject']['CN'] );
                }
 
                }
 
-               $meta = stream_get_meta_data( $handle );
-
-               fclose( $handle );
-
-               $processedHeaders = array();
-               if ( isset( $meta['wrapper_data']['headers'] ) )
-                       $processedHeaders = WP_Http::processHeaders($meta['wrapper_data']['headers']);
-               else
-                       $processedHeaders = WP_Http::processHeaders($meta['wrapper_data']);
+               // Exact hostname/IP matches
+               if ( in_array( strtolower( $host ), $certificate_hostnames ) )
+                       return true;
 
 
-               if ( ! empty( $processedHeaders['headers']['location'] ) && 0 !== $r['_redirection'] ) { // _redirection: The requested number of redirections
-                       if ( $r['redirection']-- > 0 ) {
-                               return wp_remote_request( WP_HTTP::make_absolute_url( $processedHeaders['headers']['location'], $url ), $r );
-                       } else {
-                               return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) );
-                       }
-               }
+               // IP's can't be wildcards, Stop processing
+               if ( 'ip' == $host_type )
+                       return false;
 
 
-               if ( ! empty( $strResponse ) && isset( $processedHeaders['headers']['transfer-encoding'] ) && 'chunked' == $processedHeaders['headers']['transfer-encoding'] )
-                       $strResponse = WP_Http::chunkTransferDecode($strResponse);
+               // Test to see if the domain is at least 2 deep for wildcard support
+               if ( substr_count( $host, '.' ) < 2 )
+                       return false;
 
 
-               if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($processedHeaders['headers']) )
-                       $strResponse = WP_Http_Encoding::decompress( $strResponse );
+               // Wildcard subdomains certs (*.example.com) are valid for a.example.com but not a.b.example.com
+               $wildcard_host = preg_replace( '/^[^.]+\./', '*.', $host );
 
 
-               return array( 'headers' => $processedHeaders['headers'], 'body' => $strResponse, 'response' => $processedHeaders['response'], 'cookies' => $processedHeaders['cookies'], 'filename' => $r['filename'] );
+               return in_array( strtolower( $wildcard_host ), $certificate_hostnames );
        }
 
        /**
        }
 
        /**
@@ -1018,25 +1009,45 @@ class WP_Http_Streams {
         * @static
         * @access public
         * @since 2.7.0
         * @static
         * @access public
         * @since 2.7.0
+        * @since 3.7.0 Combined with the fsockopen transport and switched to stream_socket_client().
         *
         * @return boolean False means this class can not be used, true means it can.
         */
        public static function test( $args = array() ) {
         *
         * @return boolean False means this class can not be used, true means it can.
         */
        public static function test( $args = array() ) {
-               if ( ! function_exists( 'fopen' ) )
-                       return false;
-
-               if ( ! function_exists( 'ini_get' ) || true != ini_get( 'allow_url_fopen' ) )
+               if ( ! function_exists( 'stream_socket_client' ) )
                        return false;
 
                $is_ssl = isset( $args['ssl'] ) && $args['ssl'];
 
                        return false;
 
                $is_ssl = isset( $args['ssl'] ) && $args['ssl'];
 
-               if ( $is_ssl && ! extension_loaded( 'openssl' ) )
-                       return false;
+               if ( $is_ssl ) {
+                       if ( ! extension_loaded( 'openssl' ) )
+                               return false;
+                       if ( ! function_exists( 'openssl_x509_parse' ) )
+                               return false;
+               }
 
                return apply_filters( 'use_streams_transport', true, $args );
        }
 }
 
 
                return apply_filters( 'use_streams_transport', true, $args );
        }
 }
 
+/**
+ * Deprecated HTTP Transport method which used fsockopen.
+ *
+ * This class is not used, and is included for backwards compatibility only.
+ * All code should make use of WP_HTTP directly through it's API.
+ *
+ * @see WP_HTTP::request
+ *
+ * @package WordPress
+ * @subpackage HTTP
+ *
+ * @since 2.7.0
+ * @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
+}
+
 /**
  * HTTP request method uses Curl extension to retrieve the url.
  *
 /**
  * HTTP request method uses Curl extension to retrieve the url.
  *
@@ -1044,7 +1055,7 @@ class WP_Http_Streams {
  *
  * @package WordPress
  * @subpackage HTTP
  *
  * @package WordPress
  * @subpackage HTTP
- * @since 2.7
+ * @since 2.7.0
  */
 class WP_Http_Curl {
 
  */
 class WP_Http_Curl {
 
@@ -1149,6 +1160,7 @@ class WP_Http_Curl {
                curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true );
                curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, ( $ssl_verify === true ) ? 2 : false );
                curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, $ssl_verify );
                curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true );
                curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, ( $ssl_verify === true ) ? 2 : false );
                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.
                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.
@@ -1235,14 +1247,20 @@ class WP_Http_Curl {
                }
 
                $theResponse = curl_exec( $handle );
                }
 
                $theResponse = curl_exec( $handle );
-               $theHeaders = WP_Http::processHeaders( $this->headers );
+               $theHeaders = WP_Http::processHeaders( $this->headers, $url );
                $theBody = $this->body;
 
                $this->headers = '';
                $this->body = '';
 
                $theBody = $this->body;
 
                $this->headers = '';
                $this->body = '';
 
-               // If no response
-               if ( 0 == strlen( $theBody ) && empty( $theHeaders['headers'] ) ) {
+               $curl_error = curl_errno( $handle );
+
+               // If an error occured, 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 );
+                               return new WP_Error( 'http_request_failed', __( 'Failed to write request to temporary file.' ) );
+                       }
                        if ( $curl_error = curl_error( $handle ) ) {
                                curl_close( $handle );
                                return new WP_Error( 'http_request_failed', $curl_error );
                        if ( $curl_error = curl_error( $handle ) ) {
                                curl_close( $handle );
                                return new WP_Error( 'http_request_failed', $curl_error );
@@ -1262,19 +1280,24 @@ class WP_Http_Curl {
                if ( $r['stream'] )
                        fclose( $this->stream_handle );
 
                if ( $r['stream'] )
                        fclose( $this->stream_handle );
 
-               // See #11305 - When running under safe mode, redirection is disabled above. Handle it manually.
-               if ( ! empty( $theHeaders['headers']['location'] ) && 0 !== $r['_redirection'] ) { // _redirection: The requested number of redirections
-                       if ( $r['redirection']-- > 0 ) {
-                               return wp_remote_request( WP_HTTP::make_absolute_url( $theHeaders['headers']['location'], $url ), $r );
-                       } else {
-                               return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) );
-                       }
-               }
+               $response = array(
+                       'headers' => $theHeaders['headers'],
+                       'body' => null,
+                       'response' => $response,
+                       'cookies' => $theHeaders['cookies'],
+                       'filename' => $r['filename']
+               );
+
+               // Handle redirects
+               if ( false !== ( $redirect_response = WP_HTTP::handle_redirects( $url, $r, $response ) ) )
+                       return $redirect_response;
 
                if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($theHeaders['headers']) )
                        $theBody = WP_Http_Encoding::decompress( $theBody );
 
 
                if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($theHeaders['headers']) )
                        $theBody = WP_Http_Encoding::decompress( $theBody );
 
-               return array( 'headers' => $theHeaders['headers'], 'body' => $theBody, 'response' => $response, 'cookies' => $theHeaders['cookies'], 'filename' => $r['filename'] );
+               $response['body'] = $theBody;
+
+               return $response;
        }
 
        /**
        }
 
        /**
@@ -1302,25 +1325,20 @@ class WP_Http_Curl {
         * @return int
         */
        private function stream_body( $handle, $data ) {
         * @return int
         */
        private function stream_body( $handle, $data ) {
-               if ( function_exists( 'ini_get' ) && ( ini_get( 'mbstring.func_overload' ) & 2 ) && function_exists( 'mb_internal_encoding' ) ) {
-                       $mb_encoding = mb_internal_encoding();
-                       mb_internal_encoding( 'ISO-8859-1' );
-               }
+               $data_length = strlen( $data );
 
 
-               if ( $this->max_body_length && ( strlen( $this->body ) + strlen( $data ) ) > $this->max_body_length )
-                       $data = substr( $data, 0, ( $this->max_body_length - strlen( $this->body ) ) );
+               if ( $this->max_body_length && ( strlen( $this->body ) + $data_length ) > $this->max_body_length )
+                       $data = substr( $data, 0, ( $this->max_body_length - $data_length ) );
 
 
-               if ( $this->stream_handle )
-                       fwrite( $this->stream_handle, $data );
-               else
+               if ( $this->stream_handle ) {
+                       $bytes_written = fwrite( $this->stream_handle, $data );
+               } else {
                        $this->body .= $data;
                        $this->body .= $data;
+                       $bytes_written = $data_length;
+               }
 
 
-               $data_length = strlen( $data );
-
-               if ( isset( $mb_encoding ) )
-                       mb_internal_encoding( $mb_encoding );
-
-               return $data_length;
+               // Upon event of this function returning less than strlen( $data ) curl will error with CURLE_WRITE_ERROR
+               return $bytes_written;
        }
 
        /**
        }
 
        /**
@@ -1527,7 +1545,7 @@ class WP_HTTP_Proxy {
                        if ( false !== strpos(WP_PROXY_BYPASS_HOSTS, '*') ) {
                                $wildcard_regex = array();
                                foreach ( $bypass_hosts as $host )
                        if ( false !== strpos(WP_PROXY_BYPASS_HOSTS, '*') ) {
                                $wildcard_regex = array();
                                foreach ( $bypass_hosts as $host )
-                                       $wildcard_regex[] = str_replace('\*', '[\w.]+?', preg_quote($host, '/'));
+                                       $wildcard_regex[] = str_replace( '\*', '.+', preg_quote( $host, '/' ) );
                                $wildcard_regex = '/^(' . implode('|', $wildcard_regex) . ')$/i';
                        }
                }
                                $wildcard_regex = '/^(' . implode('|', $wildcard_regex) . ')$/i';
                        }
                }
@@ -1606,14 +1624,24 @@ class WP_Http_Cookie {
         * <li>Expires - (optional) String or int (UNIX timestamp).</li>
         * <li>Path (optional)</li>
         * <li>Domain (optional)</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
         *
         * @param string|array $data Raw cookie data.
         * </ol>
         *
         * @access public
         * @since 2.8.0
         *
         * @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
         */
         */
-       function __construct( $data ) {
+       function __construct( $data, $requested_url = '' ) {
+               if ( $requested_url )
+                       $arrURL = @parse_url( $requested_url );
+               if ( isset( $arrURL['host'] ) )
+                       $this->domain = $arrURL['host'];
+               $this->path = isset( $arrURL['path'] ) ? $arrURL['path'] : '/';
+               if (  '/' != substr( $this->path, -1 ) )
+                       $this->path = dirname( $this->path ) . '/';
+
                if ( is_string( $data ) ) {
                        // Assume it's a header string direct from a previous request
                        $pairs = explode( ';', $data );
                if ( is_string( $data ) ) {
                        // Assume it's a header string direct from a previous request
                        $pairs = explode( ';', $data );
@@ -1642,10 +1670,10 @@ class WP_Http_Cookie {
                                return false;
 
                        // Set properties based directly on parameters
                                return false;
 
                        // Set properties based directly on parameters
-                       $this->name   = $data['name'];
-                       $this->value  = isset( $data['value'] ) ? $data['value'] : '';
-                       $this->path   = isset( $data['path'] ) ? $data['path'] : '';
-                       $this->domain = isset( $data['domain'] ) ? $data['domain'] : '';
+                       foreach ( array( 'name', 'value', 'path', 'domain', 'port' ) as $field ) {
+                               if ( isset( $data[ $field ] ) )
+                                       $this->$field = $data[ $field ];
+                       }
 
                        if ( isset( $data['expires'] ) )
                                $this->expires = is_int( $data['expires'] ) ? $data['expires'] : strtotime( $data['expires'] );
 
                        if ( isset( $data['expires'] ) )
                                $this->expires = is_int( $data['expires'] ) ? $data['expires'] : strtotime( $data['expires'] );
@@ -1666,18 +1694,21 @@ class WP_Http_Cookie {
         * @return boolean true if allowed, false otherwise.
         */
        function test( $url ) {
         * @return boolean true if allowed, false otherwise.
         */
        function test( $url ) {
+               if ( is_null( $this->name ) )
+                       return false;
+
                // 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
                $url = parse_url( $url );
                // 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
                $url = parse_url( $url );
-               $url['port'] = isset( $url['port'] ) ? $url['port'] : 80;
+               $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
                $path   = isset( $this->path )   ? $this->path   : '/';
                $url['path'] = isset( $url['path'] ) ? $url['path'] : '/';
 
                // Values to use for comparison against the URL
                $path   = isset( $this->path )   ? $this->path   : '/';
-               $port   = isset( $this->port )   ? $this->port   : 80;
+               $port   = isset( $this->port )   ? $this->port   : null;
                $domain = isset( $this->domain ) ? strtolower( $this->domain ) : strtolower( $url['host'] );
                if ( false === stripos( $domain, '.' ) )
                        $domain .= '.local';
                $domain = isset( $this->domain ) ? strtolower( $this->domain ) : strtolower( $url['host'] );
                if ( false === stripos( $domain, '.' ) )
                        $domain .= '.local';
@@ -1688,7 +1719,7 @@ class WP_Http_Cookie {
                        return false;
 
                // Port - supports "port-lists" in the format: "80,8000,8080"
                        return false;
 
                // Port - supports "port-lists" in the format: "80,8000,8080"
-               if ( !in_array( $url['port'], explode( ',', $port) ) )
+               if ( !empty( $port ) && !in_array( $url['port'], explode( ',', $port) ) )
                        return false;
 
                // Path - request path must start with path restriction
                        return false;
 
                // Path - request path must start with path restriction
index a880448db3f0e674a5c9c7079940a6f9dff48dbf..cc36b2e69ff686b9d178226433d8aeecfe4126fb 100644 (file)
@@ -26,10 +26,7 @@ class WP_oEmbed {
         * @uses apply_filters() Filters a list of pre-defined oEmbed providers.
         */
        function __construct() {
         * @uses apply_filters() Filters a list of pre-defined oEmbed providers.
         */
        function __construct() {
-               // List out some popular sites that support oEmbed.
-               // The WP_Embed class disables discovery for non-unfiltered_html users, so only providers in this array will be used for them.
-               // Add to this list using the wp_oembed_add_provider() function (see its PHPDoc for details).
-               $this->providers = apply_filters( 'oembed_providers', array(
+               $providers = array(
                        '#https?://(www\.)?youtube\.com/watch.*#i'           => array( 'http://www.youtube.com/oembed',                     true  ),
                        'http://youtu.be/*'                                  => array( 'http://www.youtube.com/oembed',                     false ),
                        'http://blip.tv/*'                                   => array( 'http://blip.tv/oembed/',                            false ),
                        '#https?://(www\.)?youtube\.com/watch.*#i'           => array( 'http://www.youtube.com/oembed',                     true  ),
                        'http://youtu.be/*'                                  => array( 'http://www.youtube.com/oembed',                     false ),
                        'http://blip.tv/*'                                   => array( 'http://blip.tv/oembed/',                            false ),
@@ -56,7 +53,20 @@ class WP_oEmbed {
                        '#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?://(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  ),
-               ) );
+               );
+               /**
+                * 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.
+                *
+                * @see wp_oembed_add_provider()
+                *
+                * @since 2.9.0
+                *
+                * @param array $providers An array of popular oEmbed providers.
+                */
+               $this->providers = apply_filters( 'oembed_providers', $providers );
 
                // Fix any embeds that contain new lines in the middle of the HTML which breaks wpautop().
                add_filter( 'oembed_dataparse', array($this, '_strip_newlines'), 10, 3 );
 
                // Fix any embeds that contain new lines in the middle of the HTML which breaks wpautop().
                add_filter( 'oembed_dataparse', array($this, '_strip_newlines'), 10, 3 );
@@ -100,6 +110,15 @@ class WP_oEmbed {
                if ( !$provider || false === $data = $this->fetch( $provider, $url, $args ) )
                        return false;
 
                if ( !$provider || false === $data = $this->fetch( $provider, $url, $args ) )
                        return false;
 
+               /**
+                * Filter the HTML returned by the oEmbed provider.
+                *
+                * @since 2.9.0
+                *
+                * @param string $data The returned oEmbed HTML.
+                * @param string $url  URL of the content to be embedded.
+                * @param array  $args Optional arguments, usually passed from a shortcode.
+                */
                return apply_filters( 'oembed_result', $this->data2html( $data, $url ), $url, $args );
        }
 
                return apply_filters( 'oembed_result', $this->data2html( $data, $url ), $url, $args );
        }
 
@@ -115,11 +134,19 @@ class WP_oEmbed {
                // Fetch URL content
                if ( $html = wp_remote_retrieve_body( wp_safe_remote_get( $url ) ) ) {
 
                // Fetch URL content
                if ( $html = wp_remote_retrieve_body( wp_safe_remote_get( $url ) ) ) {
 
-                       // <link> types that contain oEmbed provider URLs
+                       /**
+                        * Filter the link types that contain oEmbed provider URLs.
+                        *
+                        * @since 2.9.0
+                        *
+                        * @param array $format Array of oEmbed link types. Accepts 'application/json+oembed',
+                        *                      'text/xml+oembed', and 'application/xml+oembed' (incorrect,
+                        *                      used by at least Vimeo).
+                        */
                        $linktypes = apply_filters( 'oembed_linktypes', array(
                                'application/json+oembed' => 'json',
                                'text/xml+oembed' => 'xml',
                        $linktypes = apply_filters( 'oembed_linktypes', array(
                                'application/json+oembed' => 'json',
                                'text/xml+oembed' => 'xml',
-                               'application/xml+oembed' => 'xml', // Incorrect, but used by at least Vimeo
+                               'application/xml+oembed' => 'xml',
                        ) );
 
                        // Strip <body>
                        ) );
 
                        // Strip <body>
@@ -173,6 +200,15 @@ class WP_oEmbed {
                $provider = add_query_arg( 'maxheight', (int) $args['height'], $provider );
                $provider = add_query_arg( 'url', urlencode($url), $provider );
 
                $provider = add_query_arg( 'maxheight', (int) $args['height'], $provider );
                $provider = add_query_arg( 'url', urlencode($url), $provider );
 
+               /**
+                * Filter the oEmbed URL to be fetched.
+                *
+                * @since 2.9.0
+                *
+                * @param string $provider URL of the oEmbed provider.
+                * @param string $url      URL of the content to be embedded.
+                * @param array  $args     Optional arguments, usually passed from a shortcode.
+                */
                $provider = apply_filters( 'oembed_fetch_url', $provider, $url, $args );
 
                foreach( array( 'json', 'xml' ) as $format ) {
                $provider = apply_filters( 'oembed_fetch_url', $provider, $url, $args );
 
                foreach( array( 'json', 'xml' ) as $format ) {
@@ -309,7 +345,17 @@ class WP_oEmbed {
                                $return = false;
                }
 
                                $return = false;
                }
 
-               // You can use this filter to add support for custom data types or to filter the result
+               /**
+                * Filter the returned oEmbed HTML.
+                *
+                * Use this filter to add support for custom data types, or to filter the result.
+                *
+                * @since 2.9.0
+                *
+                * @param string $return The returned oEmbed HTML.
+                * @param object $data   A data object result from an oEmbed provider.
+                * @param string $url    The URL of the content to be embedded.
+                */
                return apply_filters( 'oembed_dataparse', $return, $data, $url );
        }
 
                return apply_filters( 'oembed_dataparse', $return, $data, $url );
        }
 
index 38ac37626a8d61057dacc1cfba1cc00519062b82..238474edff69b07e51a04ac1d94a05e2ac5c24d8 100644 (file)
@@ -923,9 +923,9 @@ class PHPMailer {
     $to = implode(', ', $toArr);
 
     if (empty($this->Sender)) {
     $to = implode(', ', $toArr);
 
     if (empty($this->Sender)) {
-      $params = "-oi ";
+      $params = " ";
     } else {
     } else {
-      $params = sprintf("-oi -f%s", $this->Sender);
+      $params = sprintf("-f%s", $this->Sender);
     }
     if ($this->Sender != '' and !ini_get('safe_mode')) {
       $old_from = ini_get('sendmail_from');
     }
     if ($this->Sender != '' and !ini_get('safe_mode')) {
       $old_from = ini_get('sendmail_from');
index 1483da2d992f1a0405bf604d7e51e4a69aa55287..d35886d471358592d801c4925327462ff7bce4c5 100644 (file)
@@ -46,7 +46,11 @@ class WP_Admin_Bar {
                add_action( 'admin_head', 'wp_admin_bar_header' );
 
                if ( current_theme_supports( 'admin-bar' ) ) {
                add_action( 'admin_head', 'wp_admin_bar_header' );
 
                if ( current_theme_supports( 'admin-bar' ) ) {
-                       $admin_bar_args = get_theme_support( 'admin-bar' ); // add_theme_support( 'admin-bar', array( 'callback' => '__return_false') );
+                       /**
+                        * To remove the default padding styles from WordPress for the Toolbar, use the following code:
+                        * add_theme_support( 'admin-bar', array( 'callback' => '__return_false' ) );
+                        */
+                       $admin_bar_args = get_theme_support( 'admin-bar' );
                        $header_callback = $admin_bar_args[0]['callback'];
                }
 
                        $header_callback = $admin_bar_args[0]['callback'];
                }
 
@@ -58,6 +62,11 @@ class WP_Admin_Bar {
                wp_enqueue_script( 'admin-bar' );
                wp_enqueue_style( 'admin-bar' );
 
                wp_enqueue_script( 'admin-bar' );
                wp_enqueue_style( 'admin-bar' );
 
+               /**
+                * Fires after WP_Admin_Bar is initialized.
+                *
+                * @since 3.1.0
+                */
                do_action( 'admin_bar_init' );
        }
 
                do_action( 'admin_bar_init' );
        }
 
@@ -487,6 +496,11 @@ class WP_Admin_Bar {
 
                add_action( 'admin_bar_menu', 'wp_admin_bar_add_secondary_groups', 200 );
 
 
                add_action( 'admin_bar_menu', 'wp_admin_bar_add_secondary_groups', 200 );
 
+               /**
+                * Fires after menus are added to the menu bar.
+                *
+                * @since 3.1.0
+                */
                do_action( 'add_admin_bar_menus' );
        }
 }
                do_action( 'add_admin_bar_menus' );
        }
 }
index 63051be61969b492ba71385b5d1217847afa1c5f..ab24dab5f3e44aed2125ddc54eec2b4dbe1aa86b 100644 (file)
@@ -80,8 +80,11 @@ class WP_Customize_Section {
        protected function render() {
                ?>
                <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="control-section accordion-section">
        protected function render() {
                ?>
                <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="control-section accordion-section">
-                       <h3 class="accordion-section-title" tabindex="0" title="<?php echo esc_attr( $this->description ); ?>"><?php echo esc_html( $this->title ); ?></h3>
+                       <h3 class="accordion-section-title" tabindex="0"><?php echo esc_html( $this->title ); ?></h3>
                        <ul class="accordion-section-content">
                        <ul class="accordion-section-content">
+                               <?php if ( ! empty( $this->description ) ) : ?>
+                               <li><p class="description"><?php echo $this->description; ?></p></li>
+                               <?php endif; ?>
                                <?php
                                foreach ( $this->controls as $control )
                                        $control->maybe_render();
                                <?php
                                foreach ( $this->controls as $control )
                                        $control->maybe_render();
index 9ab3feb5c6c39afe8f4fb387a47a0a3624dc430c..75812884727104e6c531b1e84023f21d4a60f81e 100644 (file)
@@ -798,6 +798,19 @@ final class _WP_Editors {
 
                $query['offset'] = $args['pagenum'] > 1 ? $query['posts_per_page'] * ( $args['pagenum'] - 1 ) : 0;
 
 
                $query['offset'] = $args['pagenum'] > 1 ? $query['posts_per_page'] * ( $args['pagenum'] - 1 ) : 0;
 
+               /**
+                * Filter the link query arguments.
+                *
+                * Allows modification of the link query arguments before querying.
+                *
+                * @see WP_Query for a full list of arguments
+                *
+                * @since 3.7.0
+                *
+                * @param array $query An array of WP_Query arguments.
+                */
+               $query = apply_filters( 'wp_link_query_args', $query );
+
                // Do main query.
                $get_posts = new WP_Query;
                $posts = $get_posts->query( $query );
                // Do main query.
                $get_posts = new WP_Query;
                $posts = $get_posts->query( $query );
@@ -821,7 +834,26 @@ final class _WP_Editors {
                        );
                }
 
                        );
                }
 
-               return $results;
+               /**
+                * Filter the link query results.
+                *
+                * Allows modification of the returned link query results.
+                *
+                * @since 3.7.0
+                *
+                * @param array $results {
+                *     An associative array of query results.
+                *
+                *     @type array {
+                *         @type int    'ID'        The post ID.
+                *         @type string 'title'     The trimmed, escaped post title.
+                *         @type string 'permalink' The post permalink.
+                *         @type string 'info'      A 'Y/m/d'-formatted date for 'post' post type, the 'singular_name' post type label otherwise.
+                *     }
+                * }
+                * @param array $query   An array of WP_Query arguments. @see 'wp_link_query_args' filter
+                */
+               return apply_filters( 'wp_link_query', $results, $query );
        }
 
        /**
        }
 
        /**
index c5381846f4d819e527f333d740b15e6c169de363..575066ccc053a49268691a8ff78db03aeedf9bad 100644 (file)
@@ -153,6 +153,15 @@ class WP_Embed {
                        foreach ( $handlers as $id => $handler ) {
                                if ( preg_match( $handler['regex'], $url, $matches ) && is_callable( $handler['callback'] ) ) {
                                        if ( false !== $return = call_user_func( $handler['callback'], $matches, $attr, $url, $rawattr ) )
                        foreach ( $handlers as $id => $handler ) {
                                if ( preg_match( $handler['regex'], $url, $matches ) && is_callable( $handler['callback'] ) ) {
                                        if ( false !== $return = call_user_func( $handler['callback'], $matches, $attr, $url, $rawattr ) )
+                                               /**
+                                                * Filter the returned embed handler.
+                                                *
+                                                * @since 2.9.0
+                                                *
+                                                * @param mixed  $return The shortcode callback function to call.
+                                                * @param string $url    The attempted embed URL.
+                                                * @param array  $attr   An array of shortcode attributes.
+                                                */
                                                return apply_filters( 'embed_handler_html', $return, $url, $attr );
                                }
                        }
                                                return apply_filters( 'embed_handler_html', $return, $url, $attr );
                                }
                        }
@@ -175,11 +184,29 @@ class WP_Embed {
                                        return $this->maybe_make_link( $url );
 
                                if ( ! empty( $cache ) )
                                        return $this->maybe_make_link( $url );
 
                                if ( ! empty( $cache ) )
+                                       /**
+                                        * Filter the cached oEmbed HTML.
+                                        *
+                                        * @since 2.9.0
+                                        *
+                                        * @param mixed  $cache   The cached HTML result, stored in post meta.
+                                        * @param string $url     The attempted embed URL.
+                                        * @param array  $attr    An array of shortcode attributes.
+                                        * @param int    $post_ID Post ID.
+                                        */
                                        return apply_filters( 'embed_oembed_html', $cache, $url, $attr, $post_ID );
                        }
 
                                        return apply_filters( 'embed_oembed_html', $cache, $url, $attr, $post_ID );
                        }
 
+                       /**
+                        * Filter whether to inspect the given URL for discoverable <link> tags.
+                        *
+                        * @see WP_oEmbed::discover()
+                        *
+                        * @param bool false 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
                        // Use oEmbed to get the HTML
-                       $attr['discover'] = ( apply_filters('embed_oembed_discover', false) && author_can( $post_ID, 'unfiltered_html' ) );
                        $html = wp_oembed_get( $url, $attr );
 
                        // Cache the result
                        $html = wp_oembed_get( $url, $attr );
 
                        // Cache the result
@@ -187,8 +214,10 @@ class WP_Embed {
                        update_post_meta( $post_ID, $cachekey, $cache );
 
                        // If there was a result, return it
                        update_post_meta( $post_ID, $cachekey, $cache );
 
                        // If there was a result, return it
-                       if ( $html )
+                       if ( $html ) {
+                               /** This filter is documented in wp-includes/class-wp-embed.php */
                                return apply_filters( 'embed_oembed_html', $html, $url, $attr, $post_ID );
                                return apply_filters( 'embed_oembed_html', $html, $url, $attr, $post_ID );
+                       }
                }
 
                // Still unknown
                }
 
                // Still unknown
@@ -219,7 +248,15 @@ class WP_Embed {
        function cache_oembed( $post_ID ) {
                $post = get_post( $post_ID );
 
        function cache_oembed( $post_ID ) {
                $post = get_post( $post_ID );
 
-               if ( empty($post->ID) || !in_array( $post->post_type, apply_filters( 'embed_cache_oembed_types', array( 'post', 'page' ) ) ) )
+               $post_types = array( 'post', 'page' );
+               /**
+                * 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'.
+                */
+               if ( empty($post->ID) || !in_array( $post->post_type, apply_filters( 'embed_cache_oembed_types', $post_types ) ) )
                        return;
 
                // Trigger a caching
                        return;
 
                // Trigger a caching
@@ -271,6 +308,15 @@ class WP_Embed {
         */
        function maybe_make_link( $url ) {
                $output = ( $this->linkifunknown ) ? '<a href="' . esc_url($url) . '">' . esc_html($url) . '</a>' : $url;
         */
        function maybe_make_link( $url ) {
                $output = ( $this->linkifunknown ) ? '<a href="' . esc_url($url) . '">' . esc_html($url) . '</a>' : $url;
+
+               /**
+                * Filter the returned, maybe-linked embed URL.
+                *
+                * @since 2.9.0
+                *
+                * @param string $output The linked or original URL.
+                * @param string $url    The original URL.
+                */
                return apply_filters( 'embed_maybe_make_link', $output, $url );
        }
 }
                return apply_filters( 'embed_maybe_make_link', $output, $url );
        }
 }
index 12aaece1eb1cd5f83b559994777330987b23af37..a8235c241dabbd5590939d0f03a4b86c7e993f02 100644 (file)
@@ -175,17 +175,21 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
        }
 
        /**
        }
 
        /**
-        * Processes current image and saves to disk
-        * multiple sizes from single source.
-        *
-        * 'width' and 'height' are required.
-        * 'crop' defaults to false when not provided.
+        * Resize multiple images from a single source.
         *
         * @since 3.5.0
         * @access public
         *
         *
         * @since 3.5.0
         * @access public
         *
-        * @param array $sizes { {'width'=>int, 'height'=>int, ['crop'=>bool]}, ... }
-        * @return array
+        * @param array $sizes {
+        *     An array of image size arrays. Default sizes are 'small', 'medium', 'large'.
+        *
+        *     @type array $size {
+        *         @type int  $width  Image width.
+        *         @type int  $height Image height.
+        *         @type bool $crop   Optional. Whether to crop the image. Default false.
+        *     }
+        * }
+        * @return array An array of resized images metadata by size.
         */
        public function multi_resize( $sizes ) {
                $metadata = array();
         */
        public function multi_resize( $sizes ) {
                $metadata = array();
index f803943a4bcaf217c1be444311498766f0cfdbda..2e1bebc994afcee056a2301c2d63aad7176d9e33 100644 (file)
@@ -242,17 +242,21 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
        }
 
        /**
        }
 
        /**
-        * Processes current image and saves to disk
-        * multiple sizes from single source.
-        *
-        * 'width' and 'height' are required.
-        * 'crop' defaults to false when not provided.
+        * Resize multiple images from a single source.
         *
         * @since 3.5.0
         * @access public
         *
         *
         * @since 3.5.0
         * @access public
         *
-        * @param array $sizes { {'width'=>int, 'height'=>int, ['crop'=>bool]}, ... }
-        * @return array
+        * @param array $sizes {
+        *     An array of image size arrays. Default sizes are 'small', 'medium', 'large'.
+        *
+        *     @type array $size {
+        *         @type int  $width  Image width.
+        *         @type int  $height Image height.
+        *         @type bool $crop   Optional. Whether to crop the image. Default false.
+        *     }
+        * }
+        * @return array An array of resized images metadata by size.
         */
        public function multi_resize( $sizes ) {
                $metadata = array();
         */
        public function multi_resize( $sizes ) {
                $metadata = array();
@@ -352,11 +356,18 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
                 */
                try {
                        $this->image->rotateImage( new ImagickPixel('none'), 360-$angle );
                 */
                try {
                        $this->image->rotateImage( new ImagickPixel('none'), 360-$angle );
+
+                       // Since this changes the dimensions of the image, update the size.
+                       $result = $this->update_size();
+                       if ( is_wp_error( $result ) )
+                               return $result;
+
+                       $this->image->setImagePage( $this->size['width'], $this->size['height'], 0, 0 );
                }
                catch ( Exception $e ) {
                        return new WP_Error( 'image_rotate_error', $e->getMessage() );
                }
                }
                catch ( Exception $e ) {
                        return new WP_Error( 'image_rotate_error', $e->getMessage() );
                }
-               return $this->update_size();
+               return true;
        }
 
        /**
        }
 
        /**
index 3c2e1b3d432ee0531a5b28391c32c01108aee4f4..81909f89be0b54eee6b55006ebdb9903416c7784 100644 (file)
@@ -94,18 +94,22 @@ abstract class WP_Image_Editor {
        abstract public function resize( $max_w, $max_h, $crop = false );
 
        /**
        abstract public function resize( $max_w, $max_h, $crop = false );
 
        /**
-        * Processes current image and saves to disk
-        * multiple sizes from single source.
-        *
-        * 'width' and 'height' are required.
-        * 'crop' defaults to false when not provided.
+        * Resize multiple images from a single source.
         *
         * @since 3.5.0
         * @access public
         * @abstract
         *
         *
         * @since 3.5.0
         * @access public
         * @abstract
         *
-        * @param array $sizes { {'width'=>int, 'height'=>int, ['crop'=>bool]}, ... }
-        * @return array
+        * @param array $sizes {
+        *     An array of image size arrays. Default sizes are 'small', 'medium', 'large'.
+        *
+        *     @type array $size {
+        *         @type int  $width  Image width.
+        *         @type int  $height Image height.
+        *         @type bool $crop   Optional. Whether to crop the image. Default false.
+        *     }
+        * }
+        * @return array An array of resized images metadata by size.
         */
        abstract public function multi_resize( $sizes );
 
         */
        abstract public function multi_resize( $sizes );
 
@@ -204,6 +208,13 @@ abstract class WP_Image_Editor {
         * @return boolean
         */
        public function set_quality( $quality ) {
         * @return boolean
         */
        public function set_quality( $quality ) {
+               /**
+                * Filter the default quality setting.
+                *
+                * @since 3.5.0
+                *
+                * @param int $quality Quality level between 0 (low) and 100 (high).
+                */
                $this->quality = apply_filters( 'wp_editor_set_quality', $quality );
 
                return ( (bool) $this->quality );
                $this->quality = apply_filters( 'wp_editor_set_quality', $quality );
 
                return ( (bool) $this->quality );
@@ -253,6 +264,15 @@ abstract class WP_Image_Editor {
                // Double-check that the mime-type selected is supported by the editor.
                // If not, choose a default instead.
                if ( ! $this->supports_mime_type( $mime_type ) ) {
                // Double-check that the mime-type selected is supported by the editor.
                // If not, choose a default instead.
                if ( ! $this->supports_mime_type( $mime_type ) ) {
+                       /**
+                        * Filter default mime type prior to getting the file extension.
+                        *
+                        * @see wp_get_mime_types()
+                        *
+                        * @since 3.5.0
+                        *
+                        * @param string $mime_type Mime type string.
+                        */
                        $mime_type = apply_filters( 'image_editor_default_mime_type', $this->default_mime_type );
                        $new_ext = $this->get_extension( $mime_type );
                }
                        $mime_type = apply_filters( 'image_editor_default_mime_type', $this->default_mime_type );
                        $new_ext = $this->get_extension( $mime_type );
                }
@@ -330,8 +350,8 @@ abstract class WP_Image_Editor {
                if ( $stream = wp_is_stream( $filename ) ) {
                        ob_start();
                } else {
                if ( $stream = wp_is_stream( $filename ) ) {
                        ob_start();
                } else {
-                       // The directory containing the original file may no longer exist when using a replication plugin. 
-                       wp_mkdir_p( dirname( $filename ) ); 
+                       // The directory containing the original file may no longer exist when using a replication plugin.
+                       wp_mkdir_p( dirname( $filename ) );
                }
 
                $result = call_user_func_array( $function, $arguments );
                }
 
                $result = call_user_func_array( $function, $arguments );
index 0d47f025c172360a29d837a6fce58f3872988297..cd4ef4ee086bfe74873ed9dc0d580c4f04851c76 100644 (file)
@@ -206,7 +206,7 @@ final class WP_Theme implements ArrayAccess {
                } elseif ( ! file_exists( $this->theme_root . '/' . $theme_file ) ) {
                        $this->headers['Name'] = $this->stylesheet;
                        if ( ! file_exists( $this->theme_root . '/' . $this->stylesheet ) )
                } elseif ( ! file_exists( $this->theme_root . '/' . $theme_file ) ) {
                        $this->headers['Name'] = $this->stylesheet;
                        if ( ! file_exists( $this->theme_root . '/' . $this->stylesheet ) )
-                               $this->errors = new WP_Error( 'theme_not_found', __( 'The theme directory does not exist.' ) );
+                               $this->errors = new WP_Error( 'theme_not_found', sprintf( __( 'The theme directory "%s" does not exist.' ), $this->stylesheet ) );
                        else
                                $this->errors = new WP_Error( 'theme_no_stylesheet', __( 'Stylesheet is missing.' ) );
                        $this->template = $this->stylesheet;
                        else
                                $this->errors = new WP_Error( 'theme_no_stylesheet', __( 'Stylesheet is missing.' ) );
                        $this->template = $this->stylesheet;
index 655e7f4671c973360863804476acce9dcb76a5e6..547defee81c7d4fcf3a959f7afc47e3114261350 100644 (file)
@@ -2,14 +2,13 @@
 /**
  * A class for displaying various tree-like structures.
  *
 /**
  * A class for displaying various tree-like structures.
  *
- * Extend the Walker class to use it, see examples at the below. Child classes
+ * Extend the Walker class to use it, see examples below. Child classes
  * do not need to implement all of the abstract methods in the class. The child
  * do not need to implement all of the abstract methods in the class. The child
- * only needs to implement the methods that are needed. Also, the methods are
- * not strictly abstract in that the parameter definition needs to be followed.
- * The child classes can have additional parameters.
+ * only needs to implement the methods that are needed.
  *
  *
- * @package WordPress
  * @since 2.1.0
  * @since 2.1.0
+ *
+ * @package WordPress
  * @abstract
  */
 class Walker {
  * @abstract
  */
 class Walker {
@@ -43,57 +42,64 @@ class Walker {
        /**
         * Starts the list before the elements are added.
         *
        /**
         * Starts the list before the elements are added.
         *
-        * Additional parameters are used in child classes. The args parameter holds
-        * additional values that may be used with the child class methods. This
-        * method is called at the start of the output list.
+        * The $args parameter holds additional values that may be used with the child
+        * class methods. This method is called at the start of the output list.
         *
         * @since 2.1.0
         * @abstract
         *
         * @param string $output Passed by reference. Used to append additional content.
         *
         * @since 2.1.0
         * @abstract
         *
         * @param string $output Passed by reference. Used to append additional content.
+        * @param int    $depth  Depth of the item.
+        * @param array  $args   An array of additional arguments.
         */
        function start_lvl( &$output, $depth = 0, $args = array() ) {}
 
        /**
         * Ends the list of after the elements are added.
         *
         */
        function start_lvl( &$output, $depth = 0, $args = array() ) {}
 
        /**
         * Ends the list of after the elements are added.
         *
-        * Additional parameters are used in child classes. The args parameter holds
-        * additional values that may be used with the child class methods. This
-        * method finishes the list at the end of output of the elements.
+        * The $args parameter holds additional values that may be used with the child
+        * class methods. This method finishes the list at the end of output of the elements.
         *
         * @since 2.1.0
         * @abstract
         *
         * @param string $output Passed by reference. Used to append additional content.
         *
         * @since 2.1.0
         * @abstract
         *
         * @param string $output Passed by reference. Used to append additional content.
+        * @param int    $depth  Depth of the item.
+        * @param array  $args   An array of additional arguments.
         */
         */
-       function end_lvl( &$output, $depth = 0, $args = array() )   {}
+       function end_lvl( &$output, $depth = 0, $args = array() ) {}
 
        /**
         * Start the element output.
         *
 
        /**
         * Start the element output.
         *
-        * Additional parameters are used in child classes. The args parameter holds
-        * additional values that may be used with the child class methods. Includes
-        * the element output also.
+        * The $args parameter holds additional values that may be used with the child
+        * class methods. Includes the element output also.
         *
         * @since 2.1.0
         * @abstract
         *
         *
         * @since 2.1.0
         * @abstract
         *
-        * @param string $output Passed by reference. Used to append additional content.
+        * @param string $output            Passed by reference. Used to append additional content.
+        * @param object $object            The data object.
+        * @param int    $depth             Depth of the item.
+        * @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 )  {}
+       function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {}
 
        /**
         * Ends the element output, if needed.
         *
 
        /**
         * Ends the element output, if needed.
         *
-        * Additional parameters are used in child classes. The args parameter holds
-        * additional values that may be used with the child class methods.
+        * The $args parameter holds additional values that may be used with the child class methods.
         *
         * @since 2.1.0
         * @abstract
         *
         * @param string $output Passed by reference. Used to append additional content.
         *
         * @since 2.1.0
         * @abstract
         *
         * @param string $output Passed by reference. Used to append additional content.
+        * @param object $object The data object.
+        * @param int    $depth  Depth of the item.
+        * @param array  $args   An array of additional arguments.
         */
         */
-       function end_el( &$output, $object, $depth = 0, $args = array() )    {}
+       function end_el( &$output, $object, $depth = 0, $args = array() ) {}
 
        /**
         * Traverse elements to create list from elements.
 
        /**
         * Traverse elements to create list from elements.
@@ -103,16 +109,16 @@ class Walker {
         * depth and no ignore elements under that depth. It is possible to set the
         * max depth to include all depths, see walk() method.
         *
         * depth and no ignore elements under that depth. It is possible to set the
         * max depth to include all depths, see walk() method.
         *
-        * This method shouldn't be called directly, use the walk() method instead.
+        * This method should not be called directly, use the walk() method instead.
         *
         * @since 2.5.0
         *
         *
         * @since 2.5.0
         *
-        * @param object $element Data object
-        * @param array $children_elements List of elements to continue traversing.
-        * @param int $max_depth Max depth to traverse.
-        * @param int $depth Depth of current element.
-        * @param array $args
-        * @param string $output Passed by reference. Used to append additional content.
+        * @param object $element           Data object.
+        * @param array  $children_elements List of elements to continue traversing.
+        * @param int    $max_depth         Max depth to traverse.
+        * @param int    $depth             Depth of current element.
+        * @param array  $args              An array of arguments.
+        * @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 ) {
         * @return null Null on failure with no changes to parameters.
         */
        function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
@@ -160,16 +166,17 @@ class Walker {
        /**
         * Display array of elements hierarchically.
         *
        /**
         * Display array of elements hierarchically.
         *
-        * It is a generic function which does not assume any existing order of
-        * elements. max_depth = -1 means flatly display every element. max_depth =
-        * 0 means display all levels. max_depth > 0  specifies the number of
-        * display levels.
+        * Does not assume any existing order of elements.
+        *
+        * $max_depth = -1 means flatly display every element.
+        * $max_depth = 0 means display all levels.
+        * $max_depth > 0 specifies the number of display levels.
         *
         * @since 2.1.0
         *
         *
         * @since 2.1.0
         *
-        * @param array $elements
-        * @param int $max_depth
-        * @return string
+        * @param array $elements  An array of elements.
+        * @param int   $max_depth The maximum hierarchical depth.
+        * @return string The hierarchical item output.
         */
        function walk( $elements, $max_depth) {
 
         */
        function walk( $elements, $max_depth) {
 
@@ -194,10 +201,10 @@ class Walker {
                }
 
                /*
                }
 
                /*
-                * need to display in hierarchical order
-                * separate elements into two buckets: top level and children elements
-                * children_elements is two dimensional array, eg.
-                * children_elements[10][] contains all sub-elements whose parent is 10.
+                * Need to display in hierarchical order.
+                * Separate elements into two buckets: top level and children elements.
+                * Children_elements is two dimensional array, eg.
+                * Children_elements[10][] contains all sub-elements whose parent is 10.
                 */
                $top_level_elements = array();
                $children_elements  = array();
                 */
                $top_level_elements = array();
                $children_elements  = array();
@@ -209,8 +216,8 @@ class Walker {
                }
 
                /*
                }
 
                /*
-                * when none of the elements is top level
-                * assume the first one must be root of the sub elements
+                * When none of the elements is top level.
+                * Assume the first one must be root of the sub elements.
                 */
                if ( empty($top_level_elements) ) {
 
                 */
                if ( empty($top_level_elements) ) {
 
@@ -231,8 +238,8 @@ class Walker {
                        $this->display_element( $e, $children_elements, $max_depth, 0, $args, $output );
 
                /*
                        $this->display_element( $e, $children_elements, $max_depth, 0, $args, $output );
 
                /*
-                * if we are displaying all levels, and remaining children_elements is not empty,
-                * then we got orphans, which should be displayed regardless
+                * If we are displaying all levels, and remaining children_elements is not empty,
+                * then we got orphans, which should be displayed regardless.
                 */
                if ( ( $max_depth == 0 ) && count( $children_elements ) > 0 ) {
                        $empty_array = array();
                 */
                if ( ( $max_depth == 0 ) && count( $children_elements ) > 0 ) {
                        $empty_array = array();
@@ -251,11 +258,14 @@ class Walker {
         * and number of elements per page, this function first determines all top level root elements
         * belonging to that page, then lists them and all of their children in hierarchical order.
         *
         * and number of elements per page, this function first determines all top level root elements
         * belonging to that page, then lists them and all of their children in hierarchical order.
         *
-        * @package WordPress
-        * @since 2.7
-        * @param int $max_depth = 0 means display all levels; $max_depth > 0 specifies the number of display levels.
-        * @param int $page_num the specific page number, beginning with 1.
-        * @return XHTML of the specified page of elements
+        * $max_depth = 0 means display all levels.
+        * $max_depth > 0 specifies the number of display levels.
+        *
+        * @since 2.7.0
+        *
+        * @param int $max_depth The maximum hierarchical depth.
+        * @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 ) {
 
         */
        function paged_walk( $elements, $max_depth, $page_num, $per_page ) {
 
@@ -309,9 +319,9 @@ class Walker {
                }
 
                /*
                }
 
                /*
-                * separate elements into two buckets: top level and children elements
-                * children_elements is two dimensional array, eg.
-                * children_elements[10][] contains all sub-elements whose parent is 10.
+                * Separate elements into two buckets: top level and children elements.
+                * Children_elements is two dimensional array, e.g.
+                * $children_elements[10][] contains all sub-elements whose parent is 10.
                 */
                $top_level_elements = array();
                $children_elements  = array();
                 */
                $top_level_elements = array();
                $children_elements  = array();
@@ -342,7 +352,7 @@ class Walker {
                foreach ( $top_level_elements as $e ) {
                        $count++;
 
                foreach ( $top_level_elements as $e ) {
                        $count++;
 
-                       //for the last page, need to unset earlier children in order to keep track of orphans
+                       // For the last page, need to unset earlier children in order to keep track of orphans.
                        if ( $end >= $total_top && $count < $start )
                                        $this->unset_children( $e, $children_elements );
 
                        if ( $end >= $total_top && $count < $start )
                                        $this->unset_children( $e, $children_elements );
 
@@ -377,7 +387,7 @@ class Walker {
                return $num;
        }
 
                return $num;
        }
 
-       // unset all the children for a given top level element
+       // Unset all the children for a given top level element.
        function unset_children( $e, &$children_elements ){
 
                if ( !$e || !$children_elements )
        function unset_children( $e, &$children_elements ){
 
                if ( !$e || !$children_elements )
@@ -394,4 +404,5 @@ class Walker {
                        unset( $children_elements[$id] );
 
        }
                        unset( $children_elements[$id] );
 
        }
-}
+
+} // Walker
index 922e0284a4b8e146d1dfd1f3eb4db47911b64ee5..d3ebdb8bb3ab2cc7604794505ced0f0434e26c22 100644 (file)
@@ -547,6 +547,9 @@ class wp_xmlrpc_server extends IXR_Server {
                if ( in_array( 'cap', $fields ) )
                        $_taxonomy['cap'] = (array) $taxonomy->cap;
 
                if ( in_array( 'cap', $fields ) )
                        $_taxonomy['cap'] = (array) $taxonomy->cap;
 
+               if ( in_array( 'menu', $fields ) )
+                       $_taxonomy['show_in_menu'] = (bool) $_taxonomy->show_in_menu;
+
                if ( in_array( 'object_type', $fields ) )
                        $_taxonomy['object_type'] = array_unique( (array) $taxonomy->object_type );
 
                if ( in_array( 'object_type', $fields ) )
                        $_taxonomy['object_type'] = array_unique( (array) $taxonomy->object_type );
 
index dc7768865074ee92d0aefbe6a6aa0af1a3029fb9..05fd43ef6b530f4b75da0c2e976d410f11154f94 100644 (file)
@@ -141,22 +141,13 @@ class WP {
                        $error = '404';
                        $this->did_permalink = true;
 
                        $error = '404';
                        $this->did_permalink = true;
 
-                       if ( isset($_SERVER['PATH_INFO']) )
-                               $pathinfo = $_SERVER['PATH_INFO'];
-                       else
-                               $pathinfo = '';
-                       $pathinfo_array = explode('?', $pathinfo);
-                       $pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
-                       $req_uri = $_SERVER['REQUEST_URI'];
-                       $req_uri_array = explode('?', $req_uri);
-                       $req_uri = $req_uri_array[0];
+                       $pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';
+                       list( $pathinfo ) = explode( '?', $pathinfo );
+                       $pathinfo = str_replace( "%", "%25", $pathinfo );
+
+                       list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );
                        $self = $_SERVER['PHP_SELF'];
                        $self = $_SERVER['PHP_SELF'];
-                       $home_path = parse_url(home_url());
-                       if ( isset($home_path['path']) )
-                               $home_path = $home_path['path'];
-                       else
-                               $home_path = '';
-                       $home_path = trim($home_path, '/');
+                       $home_path = trim( parse_url( home_url(), PHP_URL_PATH ), '/' );
 
                        // Trim path info from the end and the leading home path from the
                        // front. For path info requests, this leaves us with the requesting
 
                        // Trim path info from the end and the leading home path from the
                        // front. For path info requests, this leaves us with the requesting
@@ -247,7 +238,7 @@ class WP {
 
                $this->public_query_vars = apply_filters('query_vars', $this->public_query_vars);
 
 
                $this->public_query_vars = apply_filters('query_vars', $this->public_query_vars);
 
-               foreach ( $GLOBALS['wp_post_types'] as $post_type => $t )
+               foreach ( get_post_types( array(), 'objects' ) as $post_type => $t )
                        if ( $t->query_var )
                                $post_type_query_vars[$t->query_var] = $post_type;
 
                        if ( $t->query_var )
                                $post_type_query_vars[$t->query_var] = $post_type;
 
@@ -280,7 +271,7 @@ class WP {
                }
 
                // Convert urldecoded spaces back into +
                }
 
                // Convert urldecoded spaces back into +
-               foreach ( $GLOBALS['wp_taxonomies'] as $taxonomy => $t )
+               foreach ( get_taxonomies( array() , 'objects' ) as $taxonomy => $t )
                        if ( $t->query_var && isset( $this->query_vars[$t->query_var] ) )
                                $this->query_vars[$t->query_var] = str_replace( ' ', '+', $this->query_vars[$t->query_var] );
 
                        if ( $t->query_var && isset( $this->query_vars[$t->query_var] ) )
                                $this->query_vars[$t->query_var] = str_replace( ' ', '+', $this->query_vars[$t->query_var] );
 
@@ -337,6 +328,7 @@ class WP {
                } else {
                        // We're showing a feed, so WP is indeed the only thing that last changed
                        if ( !empty($this->query_vars['withcomments'])
                } else {
                        // We're showing a feed, so WP is indeed the only thing that last changed
                        if ( !empty($this->query_vars['withcomments'])
+                               || false !== strpos( $this->query_vars['feed'], 'comments-' )
                                || ( empty($this->query_vars['withoutcomments'])
                                        && ( !empty($this->query_vars['p'])
                                                || !empty($this->query_vars['name'])
                                || ( empty($this->query_vars['withoutcomments'])
                                        && ( !empty($this->query_vars['p'])
                                                || !empty($this->query_vars['name'])
@@ -441,27 +433,35 @@ class WP {
         * WordPress environment.
         *
         * @global string $query_string Query string for the loop.
         * WordPress environment.
         *
         * @global string $query_string Query string for the loop.
+        * @global array $posts The found posts.
+        * @global WP_Post|null $post The current post, if available.
+        * @global string $request The SQL statement for the request.
         * @global int $more Only set, if single page or post.
         * @global int $single If single page or post. Only set, if single page or post.
         * @global int $more Only set, if single page or post.
         * @global int $single If single page or post. Only set, if single page or post.
+        * @global WP_User $authordata Only set, if author archive.
         *
         * @since 2.0.0
         */
        function register_globals() {
                global $wp_query;
         *
         * @since 2.0.0
         */
        function register_globals() {
                global $wp_query;
+
                // Extract updated query vars back into global namespace.
                // Extract updated query vars back into global namespace.
-               foreach ( (array) $wp_query->query_vars as $key => $value) {
-                       $GLOBALS[$key] = $value;
+               foreach ( (array) $wp_query->query_vars as $key => $value ) {
+                       $GLOBALS[ $key ] = $value;
                }
 
                $GLOBALS['query_string'] = $this->query_string;
                $GLOBALS['posts'] = & $wp_query->posts;
                }
 
                $GLOBALS['query_string'] = $this->query_string;
                $GLOBALS['posts'] = & $wp_query->posts;
-               $GLOBALS['post'] = (isset($wp_query->post)) ? $wp_query->post : null;
+               $GLOBALS['post'] = isset( $wp_query->post ) ? $wp_query->post : null;
                $GLOBALS['request'] = $wp_query->request;
 
                $GLOBALS['request'] = $wp_query->request;
 
-               if ( is_single() || is_page() ) {
-                       $GLOBALS['more'] = 1;
+               if ( $wp_query->is_single() || $wp_query->is_page() ) {
+                       $GLOBALS['more']   = 1;
                        $GLOBALS['single'] = 1;
                }
                        $GLOBALS['single'] = 1;
                }
+
+               if ( $wp_query->is_author() && isset( $wp_query->post ) )
+                       $GLOBALS['authordata'] = get_userdata( $wp_query->post->post_author );
        }
 
        /**
        }
 
        /**
index eb075c85744876bba75aac29a43b37fab50aabd8..158d3e03e79ff3dd1badbffba42dfc2b63d75da7 100644 (file)
 <?php
 /**
 <?php
 /**
- * BackPress Scripts enqueue.
+ * BackPress Scripts enqueue
  *
  *
- * These classes were refactored from the WordPress WP_Scripts and WordPress
- * script enqueue API.
+ * Classes were refactored from the WP_Scripts and WordPress script enqueue API.
  *
  *
- * @package BackPress
- * @since r74
- */
-
-/**
- * BackPress enqueued dependiences class.
+ * @since BackPress r74
  *
  * @package BackPress
  * @uses _WP_Dependency
  * @since r74
  */
 class WP_Dependencies {
  *
  * @package BackPress
  * @uses _WP_Dependency
  * @since r74
  */
 class WP_Dependencies {
+       /**
+        * An array of registered handle objects.
+        *
+        * @access public
+        * @since 2.6.8
+        * @var array
+        */
        var $registered = array();
        var $registered = array();
+
+       /**
+        * An array of queued _WP_Dependency handle objects.
+        *
+        * @access public
+        * @since 2.6.8
+        * @var array
+        */
        var $queue = array();
        var $queue = array();
+
+       /**
+        * An array of _WP_Dependency handle objects to queue.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var array
+        */
        var $to_do = array();
        var $to_do = array();
+
+       /**
+        * An array of _WP_Dependency handle objects already queued.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var array
+        */
        var $done = array();
        var $done = array();
+
+       /**
+        * An array of additional arguments passed when a handle is registered.
+        *
+        * Arguments are appended to the item query string.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var array
+        */
        var $args = array();
        var $args = array();
+
+       /**
+        * An array of handle groups to enqueue.
+        *
+        * @access public
+        * @since 2.8.0
+        * @var array
+        */
        var $groups = array();
        var $groups = array();
+
+       /**
+        * A handle group to enqueue.
+        *
+        * @access public
+        * @since 2.8.0
+        * @var int
+        */
        var $group = 0;
 
        /**
        var $group = 0;
 
        /**
-        * Do the dependencies
+        * Process the items and dependencies.
+        *
+        * Processes the items passed to it or the queue, and their dependencies.
         *
         *
-        * Process the items passed to it or the queue. Processes all dependencies.
+        * @access public
+        * @since 2.1.0
         *
         *
-        * @param mixed $handles (optional) items to be processed. (void) processes queue, (string) process that item, (array of strings) process those items
-        * @return array Items that have been processed
+        * @param mixed $handles Optional. Items to be processed: Process queue (false), process item (string), process items (array of strings).
+        * @param mixed $group   Group level: level (int), no groups (false).
+        * @return array Handles of items that have been processed.
         */
         */
-       function do_items( $handles = false, $group = false ) {
-               // Print the queue if nothing is passed. If a string is passed, print that script. If an array is passed, print those scripts.
+       public function do_items( $handles = false, $group = false ) {
+               /**
+                * If nothing is passed, print the queue. If a string is passed,
+                * print that item. If an array is passed, print those items.
+                */
                $handles = false === $handles ? $this->queue : (array) $handles;
                $this->all_deps( $handles );
 
                foreach( $this->to_do as $key => $handle ) {
                        if ( !in_array($handle, $this->done, true) && isset($this->registered[$handle]) ) {
 
                $handles = false === $handles ? $this->queue : (array) $handles;
                $this->all_deps( $handles );
 
                foreach( $this->to_do as $key => $handle ) {
                        if ( !in_array($handle, $this->done, true) && isset($this->registered[$handle]) ) {
 
-                               if ( ! $this->registered[$handle]->src ) { // Defines a group.
+                               /**
+                                * A single item may alias a set of items, by having dependencies,
+                                * but no source. Queuing the item queues the dependencies.
+                                *
+                                * Example: The extending class WP_Scripts is used to register 'scriptaculous' as a set of registered handles:
+                                *   <code>add( 'scriptaculous', false, array( 'scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls' ) );</code>
+                                *
+                                * The src property is false.
+                               **/
+                               if ( ! $this->registered[$handle]->src ) {
                                        $this->done[] = $handle;
                                        continue;
                                }
 
                                        $this->done[] = $handle;
                                        continue;
                                }
 
+                               /**
+                                * Attempt to process the item. If successful,
+                                * add the handle to the done array.
+                                *
+                                * Unset the item from the to_do array.
+                                */
                                if ( $this->do_item( $handle, $group ) )
                                        $this->done[] = $handle;
 
                                if ( $this->do_item( $handle, $group ) )
                                        $this->done[] = $handle;
 
@@ -56,20 +129,34 @@ class WP_Dependencies {
                return $this->done;
        }
 
                return $this->done;
        }
 
-       function do_item( $handle ) {
+       /**
+        * Process a dependency.
+        *
+        * @access public
+        * @since 2.6.0
+        *
+        * @param string $handle Name of the item. Should be unique.
+        * @return bool True on success, false if not set.
+        */
+       public function do_item( $handle ) {
                return isset($this->registered[$handle]);
        }
 
        /**
                return isset($this->registered[$handle]);
        }
 
        /**
-        * Determines dependencies
+        * Determine dependencies.
         *
         *
-        * Recursively builds array of items to process taking dependencies into account. Does NOT catch infinite loops.
+        * Recursively builds an array of items to process taking
+        * dependencies into account. Does NOT catch infinite loops.
         *
         *
+        * @access public
+        * @since 2.1.0
         *
         *
-        * @param mixed $handles Accepts (string) dep name or (array of strings) dep names
-        * @param bool $recursion Used internally when function calls itself
+        * @param mixed $handles   Item handle and argument (string) or item handles and arguments (array of strings).
+        * @param bool  $recursion Internal flag that function is calling itself.
+        * @param mixed $group     Group level: (int) level, (false) no groups.
+        * @return bool True on success, false on failure.
         */
         */
-       function all_deps( $handles, $recursion = false, $group = false ) {
+       public function all_deps( $handles, $recursion = false, $group = false ) {
                if ( !$handles = (array) $handles )
                        return false;
 
                if ( !$handles = (array) $handles )
                        return false;
 
@@ -88,20 +175,20 @@ class WP_Dependencies {
 
                        $keep_going = true;
                        if ( !isset($this->registered[$handle]) )
 
                        $keep_going = true;
                        if ( !isset($this->registered[$handle]) )
-                               $keep_going = false; // Script doesn't exist
+                               $keep_going = false; // Item doesn't exist.
                        elseif ( $this->registered[$handle]->deps && array_diff($this->registered[$handle]->deps, array_keys($this->registered)) )
                        elseif ( $this->registered[$handle]->deps && array_diff($this->registered[$handle]->deps, array_keys($this->registered)) )
-                               $keep_going = false; // Script requires deps which don't exist (not a necessary check. efficiency?)
+                               $keep_going = false; // Item requires dependencies that don't exist.
                        elseif ( $this->registered[$handle]->deps && !$this->all_deps( $this->registered[$handle]->deps, true, $group ) )
                        elseif ( $this->registered[$handle]->deps && !$this->all_deps( $this->registered[$handle]->deps, true, $group ) )
-                               $keep_going = false; // Script requires deps which don't exist
+                               $keep_going = false; // Item requires dependencies that don't exist.
 
 
-                       if ( !$keep_going ) { // Either script or its deps don't exist.
+                       if ( ! $keep_going ) { // Either item or its dependencies don't exist.
                                if ( $recursion )
                                        return false; // Abort this branch.
                                else
                                        continue; // We're at the top level. Move on to the next one.
                        }
 
                                if ( $recursion )
                                        return false; // Abort this branch.
                                else
                                        continue; // We're at the top level. Move on to the next one.
                        }
 
-                       if ( $queued ) // Already grobbed it and its deps
+                       if ( $queued ) // Already grabbed it and its dependencies.
                                continue;
 
                        if ( isset($handle_parts[1]) )
                                continue;
 
                        if ( isset($handle_parts[1]) )
@@ -114,17 +201,21 @@ class WP_Dependencies {
        }
 
        /**
        }
 
        /**
-        * Adds item
+        * Register an item.
+        *
+        * Registers the item if no item of that name already exists.
         *
         *
-        * Adds the item only if no item of that name already exists
+        * @access public
+        * @since 2.1.0
         *
         *
-        * @param string $handle Script name
-        * @param string $src Script url
-        * @param array $deps (optional) Array of script names on which this script depends
-        * @param string $ver (optional) Script version (used for cache busting)
-        * @return array Hierarchical array of dependencies
+        * @param string $handle Unique item name.
+        * @param string $src    The item url.
+        * @param array  $deps   Optional. An array of item handle strings on which this item depends.
+        * @param string $ver    Optional. Version (used for cache busting).
+        * @param mixed  $args   Optional. Custom property of the item. NOT the class property $args. Examples: $media, $in_footer.
+        * @return bool True on success, false on failure.
         */
         */
-       function add( $handle, $src, $deps = array(), $ver = false, $args = null ) {
+       public function add( $handle, $src, $deps = array(), $ver = false, $args = null ) {
                if ( isset($this->registered[$handle]) )
                        return false;
                $this->registered[$handle] = new _WP_Dependency( $handle, $src, $deps, $ver, $args );
                if ( isset($this->registered[$handle]) )
                        return false;
                $this->registered[$handle] = new _WP_Dependency( $handle, $src, $deps, $ver, $args );
@@ -132,16 +223,19 @@ class WP_Dependencies {
        }
 
        /**
        }
 
        /**
-        * Adds extra data
+        * Add extra item data.
+        *
+        * Adds data to a registered item.
         *
         *
-        * Adds data only if script has already been added.
+        * @access public
+        * @since 2.6.0
         *
         *
-        * @param string $handle Script name
-        * @param string $key
-        * @param mixed $value
-        * @return bool success
+        * @param string $handle Name of the item. Should be unique.
+        * @param string $key    The data key.
+        * @param mixed  $value  The data value.
+        * @return bool True on success, false on failure.
         */
         */
-       function add_data( $handle, $key, $value ) {
+       public function add_data( $handle, $key, $value ) {
                if ( !isset( $this->registered[$handle] ) )
                        return false;
 
                if ( !isset( $this->registered[$handle] ) )
                        return false;
 
@@ -149,17 +243,18 @@ class WP_Dependencies {
        }
 
        /**
        }
 
        /**
-        * Get extra data
+        * Get extra item data.
         *
         *
-        * Gets data associated with a certain handle.
+        * Gets data associated with a registered item.
         *
         *
-        * @since WP 3.3
+        * @access public
+        * @since 3.3.0
         *
         *
-        * @param string $handle Script name
-        * @param string $key
-        * @return mixed
+        * @param string $handle Name of the item. Should be unique.
+        * @param string $key    The data key.
+        * @return mixed Extra item data (string), false otherwise.
         */
         */
-       function get_data( $handle, $key ) {
+       public function get_data( $handle, $key ) {
                if ( !isset( $this->registered[$handle] ) )
                        return false;
 
                if ( !isset( $this->registered[$handle] ) )
                        return false;
 
@@ -169,12 +264,34 @@ class WP_Dependencies {
                return $this->registered[$handle]->extra[$key];
        }
 
                return $this->registered[$handle]->extra[$key];
        }
 
-       function remove( $handles ) {
+       /**
+        * Un-register an item or items.
+        *
+        * @access public
+        * @since 2.1.0
+        *
+        * @param mixed $handles Item handle and argument (string) or item handles and arguments (array of strings).
+        * @return void
+        */
+       public function remove( $handles ) {
                foreach ( (array) $handles as $handle )
                        unset($this->registered[$handle]);
        }
 
                foreach ( (array) $handles as $handle )
                        unset($this->registered[$handle]);
        }
 
-       function enqueue( $handles ) {
+       /**
+        * Queue an item or items.
+        *
+        * Decodes handles and arguments, then queues handles and stores
+        * arguments in the class property $args. For example in extending
+        * classes, $args is appended to the item url as a query string.
+        * Note $args is NOT the $args property of items in the $registered array.
+        *
+        * @access public
+        * @since 2.1.0
+        *
+        * @param mixed $handles Item handle and argument (string) or item handles and arguments (array of strings).
+        */
+       public function enqueue( $handles ) {
                foreach ( (array) $handles as $handle ) {
                        $handle = explode('?', $handle);
                        if ( !in_array($handle[0], $this->queue) && isset($this->registered[$handle[0]]) ) {
                foreach ( (array) $handles as $handle ) {
                        $handle = explode('?', $handle);
                        if ( !in_array($handle[0], $this->queue) && isset($this->registered[$handle[0]]) ) {
@@ -185,7 +302,18 @@ class WP_Dependencies {
                }
        }
 
                }
        }
 
-       function dequeue( $handles ) {
+       /**
+        * Dequeue an item or items.
+        *
+        * Decodes handles and arguments, then dequeues handles
+        * and removes arguments from the class property $args.
+        *
+        * @access public
+        * @since 2.1.0
+        *
+        * @param mixed $handles Item handle and argument (string) or item handles and arguments (array of strings).
+        */
+       public function dequeue( $handles ) {
                foreach ( (array) $handles as $handle ) {
                        $handle = explode('?', $handle);
                        $key = array_search($handle[0], $this->queue);
                foreach ( (array) $handles as $handle ) {
                        $handle = explode('?', $handle);
                        $key = array_search($handle[0], $this->queue);
@@ -196,8 +324,17 @@ class WP_Dependencies {
                }
        }
 
                }
        }
 
-
-       function query( $handle, $list = 'registered' ) {
+       /**
+        * Query list for an item.
+        *
+        * @access public
+        * @since 2.1.0
+        *
+        * @param string $handle Name of the item. Should be unique.
+        * @param string $list   Property name of list array.
+        * @return bool Found, or object Item data.
+        */
+       public function query( $handle, $list = 'registered' ) {
                switch ( $list ) {
                        case 'registered' :
                        case 'scripts': // back compat
                switch ( $list ) {
                        case 'registered' :
                        case 'scripts': // back compat
@@ -220,7 +357,18 @@ class WP_Dependencies {
                return false;
        }
 
                return false;
        }
 
-       function set_group( $handle, $recursion, $group ) {
+       /**
+        * Set item group, unless already in a lower group.
+        *
+        * @access public
+        * @since 2.8.0
+        *
+        * @param string $handle    Name of the item. Should be unique.
+        * @param bool   $recursion Internal flag that calling function was called recursively.
+        * @param mixed  $group     Group level.
+        * @return bool Not already in the group or a lower group
+        */
+       public function set_group( $handle, $recursion, $group ) {
                $group = (int) $group;
 
                if ( $recursion )
                $group = (int) $group;
 
                if ( $recursion )
@@ -235,27 +383,99 @@ class WP_Dependencies {
                return true;
        }
 
                return true;
        }
 
-}
+} // WP_Dependencies
 
 
+/**
+ * Class _WP_Dependency
+ *
+ * Helper class to register a handle and associated data.
+ *
+ * @access private
+ * @since 2.6.0
+ */
 class _WP_Dependency {
 class _WP_Dependency {
+       /**
+        * The handle name.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var null
+        */
        var $handle;
        var $handle;
+
+       /**
+        * The handle source.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var null
+        */
        var $src;
        var $src;
+
+       /**
+        * An array of handle dependencies.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var array
+        */
        var $deps = array();
        var $deps = array();
+
+       /**
+        * The handle version.
+        *
+        * Used for cache-busting.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var bool|string
+        */
        var $ver = false;
        var $ver = false;
-       var $args = null;
 
 
+       /**
+        * Additional arguments for the handle.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var null
+        */
+       var $args = null;  // Custom property, such as $in_footer or $media.
+
+       /**
+        * Extra data to supply to the handle.
+        *
+        * @access public
+        * @since 2.6.0
+        * @var array
+        */
        var $extra = array();
 
        var $extra = array();
 
+       /**
+        * Setup dependencies.
+        *
+        * @since 2.6.0
+        */
        function __construct() {
                @list( $this->handle, $this->src, $this->deps, $this->ver, $this->args ) = func_get_args();
                if ( ! is_array($this->deps) )
                        $this->deps = array();
        }
 
        function __construct() {
                @list( $this->handle, $this->src, $this->deps, $this->ver, $this->args ) = func_get_args();
                if ( ! is_array($this->deps) )
                        $this->deps = array();
        }
 
+       /**
+        * Add handle data.
+        *
+        * @access public
+        * @since 2.6.0
+        *
+        * @param string $name The data key to add.
+        * @param mixed  $data The data value to add.
+        * @return bool False if not scalar, true otherwise.
+        */
        function add_data( $name, $data ) {
                if ( !is_scalar($name) )
                        return false;
                $this->extra[$name] = $data;
                return true;
        }
        function add_data( $name, $data ) {
                if ( !is_scalar($name) )
                        return false;
                $this->extra[$name] = $data;
                return true;
        }
-}
+
+} // _WP_Dependencies
index 38f3f9fcf3b7c64d406877deab30a958f7200ae4..5e16632152ef70ed4e06b04ace9194e6e69c5a89 100644 (file)
@@ -119,6 +119,9 @@ class WP_Scripts extends WP_Dependencies {
 
                $src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) );
 
 
                $src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) );
 
+               if ( ! $src )
+                       return true;
+
                if ( $this->do_concat )
                        $this->print_html .= "<script type='text/javascript' src='$src'></script>\n";
                else
                if ( $this->do_concat )
                        $this->print_html .= "<script type='text/javascript' src='$src'></script>\n";
                else
index b1241b30460077b25b5eff35b187ea0d6154525d..927a7e73073a961c4bdc78b68bdf7d70303ca0a8 100644 (file)
@@ -87,7 +87,8 @@ class WP_Styles extends WP_Dependencies {
 
                if ( $this->do_concat ) {
                        $this->print_html .= $tag;
 
                if ( $this->do_concat ) {
                        $this->print_html .= $tag;
-                       $this->print_html .= $this->print_inline_style( $handle, false );
+                       if ( $inline_style = $this->print_inline_style( $handle, false ) )
+                               $this->print_html .= sprintf( "<style type='text/css'>\n%s\n</style>\n", $inline_style );
                } else {
                        echo $tag;
                        $this->print_inline_style( $handle );
                } else {
                        echo $tag;
                        $this->print_inline_style( $handle );
index afbee05f8fe7c2020010ee9a6523a0da1eac8e8a..f08e2ef16da60c0ddba19981da811a127da75508 100644 (file)
  * assumed.
  *
  * @since 1.5.0
  * assumed.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'get_comment_author' hook on the comment author
  *
  *
- * @param int $comment_ID The ID of the comment for which to retrieve the author. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to retrieve the author. Default current comment.
  * @return string The comment author
  */
 function get_comment_author( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
  * @return string The comment author
  */
 function get_comment_author( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
-       if ( empty($comment->comment_author) ) {
-               if (!empty($comment->user_id)){
-                       $user=get_userdata($comment->user_id);
-                       $author=$user->user_login;
-               } else {
+
+       if ( empty( $comment->comment_author ) ) {
+               if ( $comment->user_id && $user = get_userdata( $comment->user_id ) )
+                       $author = $user->display_name;
+               else
                        $author = __('Anonymous');
                        $author = __('Anonymous');
-               }
        } else {
                $author = $comment->comment_author;
        }
        } else {
                $author = $comment->comment_author;
        }
-       return apply_filters('get_comment_author', $author);
+
+       /**
+        * Filter the returned comment author name.
+        *
+        * @since 1.5.2
+        *
+        * @param string $author The comment author's username.
+        */
+       return apply_filters( 'get_comment_author', $author );
 }
 
 /**
  * Displays the author of the current comment.
  *
  * @since 0.71
 }
 
 /**
  * Displays the author of the current comment.
  *
  * @since 0.71
- * @uses apply_filters() Calls 'comment_author' on comment author before displaying
  *
  *
- * @param int $comment_ID The ID of the comment for which to print the author. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to print the author. Default current comment.
  */
 function comment_author( $comment_ID = 0 ) {
  */
 function comment_author( $comment_ID = 0 ) {
-       $author = apply_filters('comment_author', get_comment_author( $comment_ID ) );
+       $author = get_comment_author( $comment_ID );
+       /**
+        * Filter the comment author's name for display.
+        *
+        * @since 1.2.1
+        *
+        * @param string $author The comment author's username.
+        */
+       $author = apply_filters( 'comment_author', $author );
        echo $author;
 }
 
        echo $author;
 }
 
@@ -52,15 +65,20 @@ function comment_author( $comment_ID = 0 ) {
  * Retrieve the email of the author of the current comment.
  *
  * @since 1.5.0
  * Retrieve the email of the author of the current comment.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls the 'get_comment_author_email' hook on the comment author email
- * @uses $comment
  *
  *
- * @param int $comment_ID The ID of the comment for which to get the author's email. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to get the author's email. Default current comment.
  * @return string The current comment author's email
  */
 function get_comment_author_email( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
  * @return string The current comment author's email
  */
 function get_comment_author_email( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
-       return apply_filters('get_comment_author_email', $comment->comment_author_email);
+       /**
+        * Filter the comment author's returned email address.
+        *
+        * @since 1.5.2
+        *
+        * @param string $comment->comment_author_email The comment author's email address.
+        */
+       return apply_filters( 'get_comment_author_email', $comment->comment_author_email );
 }
 
 /**
 }
 
 /**
@@ -73,12 +91,19 @@ function get_comment_author_email( $comment_ID = 0 ) {
  * address and use it for their own means good and bad.
  *
  * @since 0.71
  * address and use it for their own means good and bad.
  *
  * @since 0.71
- * @uses apply_filters() Calls 'author_email' hook on the author email
  *
  *
- * @param int $comment_ID The ID of the comment for which to print the author's email. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to print the author's email. Default current comment.
  */
 function comment_author_email( $comment_ID = 0 ) {
  */
 function comment_author_email( $comment_ID = 0 ) {
-       echo apply_filters('author_email', get_comment_author_email( $comment_ID ) );
+       $author_email = get_comment_author_email( $comment_ID );
+       /**
+        * Filter the comment author's email for display.
+        *
+        * @since 1.2.1
+        *
+        * @param string $author_email The comment author's email address.
+        */
+       echo apply_filters( 'author_email', $author_email );
 }
 
 /**
 }
 
 /**
@@ -90,16 +115,15 @@ function comment_author_email( $comment_ID = 0 ) {
  * enable anyone, including those that people don't want to get the email
  * address and use it for their own means good and bad.
  *
  * enable anyone, including those that people don't want to get the email
  * address and use it for their own means good and bad.
  *
- * @since 0.71
- * @uses apply_filters() Calls 'comment_email' hook for the display of the comment author's email
- * @uses get_comment_author_email_link() For generating the link
  * @global object $comment The current Comment row object
  * @global object $comment The current Comment row object
+
+ * @since 0.71
  *
  *
- * @param string $linktext The text to display instead of the comment author's email address
- * @param string $before The text or HTML to display before the email link.
- * @param string $after The text or HTML to display after the email link.
+ * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
+ * @param string $before   Optional. The text or HTML to display before the email link.Default empty.
+ * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
  */
  */
-function comment_author_email_link($linktext='', $before='', $after='') {
+function comment_author_email_link( $linktext = '', $before = '', $after = '' ) {
        if ( $link = get_comment_author_email_link( $linktext, $before, $after ) )
                echo $link;
 }
        if ( $link = get_comment_author_email_link( $linktext, $before, $after ) )
                echo $link;
 }
@@ -113,17 +137,27 @@ function comment_author_email_link($linktext='', $before='', $after='') {
  * enable anyone, including those that people don't want to get the email
  * address and use it for their own means good and bad.
  *
  * enable anyone, including those that people don't want to get the email
  * address and use it for their own means good and bad.
  *
+ * @global object $comment The current Comment row object.
+ *
  * @since 2.7
  * @since 2.7
- * @uses apply_filters() Calls 'comment_email' hook for the display of the comment author's email
- * @global object $comment The current Comment row object
  *
  *
- * @param string $linktext The text to display instead of the comment author's email address
- * @param string $before The text or HTML to display before the email link.
- * @param string $after The text or HTML to display after the email link.
+ * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
+ * @param string $before   Optional. The text or HTML to display before the email link. Default empty.
+ * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
  */
  */
-function get_comment_author_email_link($linktext='', $before='', $after='') {
+function get_comment_author_email_link( $linktext = '', $before = '', $after = '' ) {
        global $comment;
        global $comment;
-       $email = apply_filters('comment_email', $comment->comment_author_email);
+       /**
+        * Filter the comment author's email for display.
+        *
+        * Care should be taken to protect the email address and assure that email
+        * harvesters do not capture your commentors' email address.
+        *
+        * @since 1.2.1
+        *
+        * @param string $comment->comment_author_email The comment author's email address.
+        */
+       $email = apply_filters( 'comment_email', $comment->comment_author_email );
        if ((!empty($email)) && ($email != '@')) {
        $display = ($linktext != '') ? $linktext : $email;
                $return  = $before;
        if ((!empty($email)) && ($email != '@')) {
        $display = ($linktext != '') ? $linktext : $email;
                $return  = $before;
@@ -136,16 +170,17 @@ function get_comment_author_email_link($linktext='', $before='', $after='') {
 }
 
 /**
 }
 
 /**
- * Retrieve the html link to the url of the author of the current comment.
+ * Retrieve the HTML link to the URL of the author of the current comment.
+ *
+ * Both get_comment_author_url() and get_comment_author() rely on get_comment(),
+ * which falls back to the global comment variable if the $comment_ID argument is empty.
  *
  * @since 1.5.0
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'get_comment_author_link' hook on the complete link HTML or author
  *
  *
- * @param int $comment_ID The ID of the comment for which to get the author's link. Optional.
- * @return string Comment Author name or HTML link for author's URL
+ * @param int $comment_ID Optional. The ID of the comment for which to get the author's link. Default current comment.
+ * @return string The comment author name or HTML link for author's URL.
  */
 function get_comment_author_link( $comment_ID = 0 ) {
  */
 function get_comment_author_link( $comment_ID = 0 ) {
-       /** @todo Only call these functions when they are needed. Include in if... else blocks */
        $url    = get_comment_author_url( $comment_ID );
        $author = get_comment_author( $comment_ID );
 
        $url    = get_comment_author_url( $comment_ID );
        $author = get_comment_author( $comment_ID );
 
@@ -153,7 +188,15 @@ function get_comment_author_link( $comment_ID = 0 ) {
                $return = $author;
        else
                $return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
                $return = $author;
        else
                $return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
-       return apply_filters('get_comment_author_link', $return);
+
+       /**
+        * Filter the comment author's link for display.
+        *
+        * @since 1.5.2
+        *
+        * @param string $return The HTML-formatted comment author link. Empty for an invalid URL.
+        */
+       return apply_filters( 'get_comment_author_link', $return );
 }
 
 /**
 }
 
 /**
@@ -162,7 +205,7 @@ function get_comment_author_link( $comment_ID = 0 ) {
  * @since 0.71
  * @see get_comment_author_link() Echoes result
  *
  * @since 0.71
  * @see get_comment_author_link() Echoes result
  *
- * @param int $comment_ID The ID of the comment for which to print the author's link. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to print the author's link. Default current comment.
  */
 function comment_author_link( $comment_ID = 0 ) {
        echo get_comment_author_link( $comment_ID );
  */
 function comment_author_link( $comment_ID = 0 ) {
        echo get_comment_author_link( $comment_ID );
@@ -172,24 +215,29 @@ function comment_author_link( $comment_ID = 0 ) {
  * Retrieve the IP address of the author of the current comment.
  *
  * @since 1.5.0
  * Retrieve the IP address of the author of the current comment.
  *
  * @since 1.5.0
- * @uses $comment
- * @uses apply_filters()
  *
  *
- * @param int $comment_ID The ID of the comment for which to get the author's IP address. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to get the author's IP address. Default current comment.
  * @return string The comment author's IP address.
  */
 function get_comment_author_IP( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
  * @return string The comment author's IP address.
  */
 function get_comment_author_IP( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
-       return apply_filters('get_comment_author_IP', $comment->comment_author_IP);
+
+       /**
+        * Filter the comment author's returned IP address.
+        *
+        * @since 1.5.2
+        *
+        * @param string $comment->comment_author_IP The comment author's IP address.
+        */
+       return apply_filters( 'get_comment_author_IP', $comment->comment_author_IP );
 }
 
 /**
  * Display the IP address of the author of the current comment.
  *
  * @since 0.71
 }
 
 /**
  * Display the IP address of the author of the current comment.
  *
  * @since 0.71
- * @see get_comment_author_IP() Echoes Result
  *
  *
- * @param int $comment_ID The ID of the comment for which to print the author's IP address. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to print the author's IP address. Default current comment.
  */
 function comment_author_IP( $comment_ID = 0 ) {
        echo get_comment_author_IP( $comment_ID );
  */
 function comment_author_IP( $comment_ID = 0 ) {
        echo get_comment_author_IP( $comment_ID );
@@ -199,9 +247,8 @@ function comment_author_IP( $comment_ID = 0 ) {
  * Retrieve the url of the author of the current comment.
  *
  * @since 1.5.0
  * Retrieve the url of the author of the current comment.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'get_comment_author_url' hook on the comment author's URL
  *
  *
- * @param int $comment_ID The ID of the comment for which to get the author's URL. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to get the author's URL. Default current comment.
  * @return string
  */
 function get_comment_author_url( $comment_ID = 0 ) {
  * @return string
  */
 function get_comment_author_url( $comment_ID = 0 ) {
@@ -215,13 +262,19 @@ function get_comment_author_url( $comment_ID = 0 ) {
  * Display the url of the author of the current comment.
  *
  * @since 0.71
  * Display the url of the author of the current comment.
  *
  * @since 0.71
- * @uses apply_filters()
- * @uses get_comment_author_url() Retrieves the comment author's URL
  *
  *
- * @param int $comment_ID The ID of the comment for which to print the author's URL. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to print the author's URL. Default current comment.
  */
 function comment_author_url( $comment_ID = 0 ) {
  */
 function comment_author_url( $comment_ID = 0 ) {
-       echo apply_filters('comment_url', get_comment_author_url( $comment_ID ));
+       $author_url = get_comment_author_url( $comment_ID );
+       /**
+        * Filter the comment author's URL for display.
+        *
+        * @since 1.2.1
+        *
+        * @param string $author_url The comment author's URL.
+        */
+       echo apply_filters( 'comment_url', $author_url );
 }
 
 /**
 }
 
 /**
@@ -235,12 +288,11 @@ function comment_author_url( $comment_ID = 0 ) {
  * in the order of $before, link, and finally $after.
  *
  * @since 1.5.0
  * in the order of $before, link, and finally $after.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls the 'get_comment_author_url_link' on the complete HTML before returning.
  *
  *
- * @param string $linktext The text to display instead of the comment author's email address
- * @param string $before The text or HTML to display before the email link.
- * @param string $after The text or HTML to display after the email link.
- * @return string The HTML link between the $before and $after parameters
+ * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
+ * @param string $before   Optional. The text or HTML to display before the email link. Default empty.
+ * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
+ * @return string The HTML link between the $before and $after parameters.
  */
 function get_comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
        $url = get_comment_author_url();
  */
 function get_comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
        $url = get_comment_author_url();
@@ -250,18 +302,25 @@ function get_comment_author_url_link( $linktext = '', $before = '', $after = ''
        if ( '/' == substr($display, -1) )
                $display = substr($display, 0, -1);
        $return = "$before<a href='$url' rel='external'>$display</a>$after";
        if ( '/' == substr($display, -1) )
                $display = substr($display, 0, -1);
        $return = "$before<a href='$url' rel='external'>$display</a>$after";
-       return apply_filters('get_comment_author_url_link', $return);
+
+       /**
+        * Filter the comment author's returned URL link.
+        *
+        * @since 1.5.2
+        *
+        * @param string $return The HTML-formatted comment author URL link.
+        */
+       return apply_filters( 'get_comment_author_url_link', $return );
 }
 
 /**
  * Displays the HTML link of the url of the author of the current comment.
  *
  * @since 0.71
 }
 
 /**
  * Displays the HTML link of the url of the author of the current comment.
  *
  * @since 0.71
- * @see get_comment_author_url_link() Echoes result
  *
  *
- * @param string $linktext The text to display instead of the comment author's email address
- * @param string $before The text or HTML to display before the email link.
- * @param string $after The text or HTML to display after the email link.
+ * @param string $linktext Optional. The text to display instead of the comment author's email address. Default empty.
+ * @param string $before   Optional. The text or HTML to display before the email link. Default empty.
+ * @param string $after    Optional. The text or HTML to display after the email link. Default empty.
  */
 function comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
        echo get_comment_author_url_link( $linktext, $before, $after );
  */
 function comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
        echo get_comment_author_url_link( $linktext, $before, $after );
@@ -272,10 +331,10 @@ function comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
  *
  * @since 2.7.0
  *
  *
  * @since 2.7.0
  *
- * @param string|array $class One or more classes to add to the class list
- * @param int $comment_id An optional comment ID
- * @param int $post_id An optional post ID
- * @param bool $echo Whether comment_class should echo or return
+ * @param string|array $class      Optional. One or more classes to add to the class list. Default empty.
+ * @param int          $comment_id Optional. Comment ID. Default current comment.
+ * @param int|WP_Post  $post_id    Optional. Post ID or WP_Post object. Default current post.
+ * @param bool         $echo       Optional. Whether comment_class should echo or return. Default true.
  */
 function comment_class( $class = '', $comment_id = null, $post_id = null, $echo = true ) {
        // Separates classes with a single space, collates classes for comment DIV
  */
 function comment_class( $class = '', $comment_id = null, $post_id = null, $echo = true ) {
        // Separates classes with a single space, collates classes for comment DIV
@@ -291,10 +350,10 @@ function comment_class( $class = '', $comment_id = null, $post_id = null, $echo
  *
  * @since 2.7.0
  *
  *
  * @since 2.7.0
  *
- * @param string|array $class One or more classes to add to the class list
- * @param int $comment_id An optional comment ID
- * @param int $post_id An optional post ID
- * @return array Array of classes
+ * @param string|array $class      Optional. One or more classes to add to the class list. Default empty.
+ * @param int          $comment_id Optional. Comment ID. Default current comment.
+ * @param int|WP_Post  $post_id    Optional. Post ID or WP_Post object. Default current post.
+ * @return array An array of classes.
  */
 function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {
        global $comment_alt, $comment_depth, $comment_thread_alt;
  */
 function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {
        global $comment_alt, $comment_depth, $comment_thread_alt;
@@ -355,19 +414,27 @@ function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {
 
        $classes = array_map('esc_attr', $classes);
 
 
        $classes = array_map('esc_attr', $classes);
 
-       return apply_filters('comment_class', $classes, $class, $comment_id, $post_id);
+       /**
+        * Filter the returned CSS classes for the current comment.
+        *
+        * @since 2.7.0
+        *
+        * @param array       $classes    An array of comment classes.
+        * @param string      $class      A comma-separated list of additional classes added to the list.
+        * @param int         $comment_id The comment id.
+        * @param int|WP_Post $post_id    The post ID or WP_Post object.
+        */
+       return apply_filters( 'comment_class', $classes, $class, $comment_id, $post_id );
 }
 
 /**
  * Retrieve the comment date of the current comment.
  *
  * @since 1.5.0
 }
 
 /**
  * Retrieve the comment date of the current comment.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'get_comment_date' hook with the formatted date and the $d parameter respectively
- * @uses $comment
  *
  *
- * @param string $d The format of the date (defaults to user's config)
- * @param int $comment_ID The ID of the comment for which to get the date. Optional.
- * @return string The comment's date
+ * @param string $d          Optional. The format of the date. Default user's setting.
+ * @param int    $comment_ID Optional. The ID of the comment for which to get the date. Default current comment.
+ * @return string The comment's date.
  */
 function get_comment_date( $d = '', $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
  */
 function get_comment_date( $d = '', $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
@@ -375,7 +442,15 @@ function get_comment_date( $d = '', $comment_ID = 0 ) {
                $date = mysql2date(get_option('date_format'), $comment->comment_date);
        else
                $date = mysql2date($d, $comment->comment_date);
                $date = mysql2date(get_option('date_format'), $comment->comment_date);
        else
                $date = mysql2date($d, $comment->comment_date);
-       return apply_filters('get_comment_date', $date, $d);
+       /**
+        * Filter the returned comment date.
+        *
+        * @since 1.5.2
+        *
+        * @param string|int $date Formatted date string or Unix timestamp.
+        * @param string     $d    The format of the date.
+        */
+       return apply_filters( 'get_comment_date', $date, $d );
 }
 
 /**
 }
 
 /**
@@ -383,8 +458,8 @@ function get_comment_date( $d = '', $comment_ID = 0 ) {
  *
  * @since 0.71
  *
  *
  * @since 0.71
  *
- * @param string $d The format of the date (defaults to user's config)
- * @param int $comment_ID The ID of the comment for which to print the date. Optional.
+ * @param string $d          Optional. The format of the date. Default user's settings.
+ * @param int    $comment_ID Optional. The ID of the comment for which to print the date. Default current comment.
  */
 function comment_date( $d = '', $comment_ID = 0 ) {
        echo get_comment_date( $d, $comment_ID );
  */
 function comment_date( $d = '', $comment_ID = 0 ) {
        echo get_comment_date( $d, $comment_ID );
@@ -398,11 +473,9 @@ function comment_date( $d = '', $comment_ID = 0 ) {
  * will appear.
  *
  * @since 1.5.0
  * will appear.
  *
  * @since 1.5.0
- * @uses $comment
- * @uses apply_filters() Calls 'get_comment_excerpt' on truncated comment
  *
  *
- * @param int $comment_ID The ID of the comment for which to get the excerpt. Optional.
- * @return string The maybe truncated comment with 20 words or less
+ * @param int $comment_ID Optional. The ID of the comment for which to get the excerpt. Default current comment.
+ * @return string The maybe truncated comment with 20 words or less.
  */
 function get_comment_excerpt( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
  */
 function get_comment_excerpt( $comment_ID = 0 ) {
        $comment = get_comment( $comment_ID );
@@ -427,33 +500,44 @@ function get_comment_excerpt( $comment_ID = 0 ) {
  * Display the excerpt of the current comment.
  *
  * @since 1.2.0
  * Display the excerpt of the current comment.
  *
  * @since 1.2.0
- * @uses apply_filters() Calls 'comment_excerpt' hook before displaying excerpt
  *
  *
- * @param int $comment_ID The ID of the comment for which to print the excerpt. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to print the excerpt. Default current comment.
  */
 function comment_excerpt( $comment_ID = 0 ) {
  */
 function comment_excerpt( $comment_ID = 0 ) {
-       echo apply_filters('comment_excerpt', get_comment_excerpt($comment_ID) );
+       $comment_excerpt = get_comment_excerpt($comment_ID);
+       /**
+        * Filter the comment excerpt for display.
+        *
+        * @since 1.2.1
+        *
+        * @param string $comment_excerpt The comment excerpt text.
+        */
+       echo apply_filters( 'comment_excerpt', $comment_excerpt );
 }
 
 /**
  * Retrieve the comment id of the current comment.
  *
  * @since 1.5.0
 }
 
 /**
  * Retrieve the comment id of the current comment.
  *
  * @since 1.5.0
- * @uses $comment
- * @uses apply_filters() Calls the 'get_comment_ID' hook for the comment ID
  *
  *
- * @return int The comment ID
+ * @return int The comment ID.
  */
 function get_comment_ID() {
        global $comment;
  */
 function get_comment_ID() {
        global $comment;
-       return apply_filters('get_comment_ID', $comment->comment_ID);
+       /**
+        * Filter the returned comment ID.
+        *
+        * @since 1.5.2
+        *
+        * @param int $comment->comment_ID The current comment ID.
+        */
+       return apply_filters( 'get_comment_ID', $comment->comment_ID );
 }
 
 /**
 }
 
 /**
- * Displays the comment id of the current comment.
+ * Display the comment id of the current comment.
  *
  * @since 0.71
  *
  * @since 0.71
- * @see get_comment_ID() Echoes Result
  */
 function comment_ID() {
        echo get_comment_ID();
  */
 function comment_ID() {
        echo get_comment_ID();
@@ -463,10 +547,9 @@ function comment_ID() {
  * Retrieve the link to a given comment.
  *
  * @since 1.5.0
  * Retrieve the link to a given comment.
  *
  * @since 1.5.0
- * @uses $comment
  *
  *
- * @param object|string|int $comment Comment to retrieve.
- * @param array $args Optional args.
+ * @param mixed $comment Optional. Comment to retrieve. Default current comment.
+ * @param array $args    Optional. An array of arguments to override the defaults. @see get_page_of_comment()
  * @return string The permalink to the given comment.
  */
 function get_comment_link( $comment = null, $args = array() ) {
  * @return string The permalink to the given comment.
  */
 function get_comment_link( $comment = null, $args = array() ) {
@@ -504,28 +587,47 @@ function get_comment_link( $comment = null, $args = array() ) {
                $link = get_permalink( $comment->comment_post_ID );
        }
 
                $link = get_permalink( $comment->comment_post_ID );
        }
 
-       return apply_filters( 'get_comment_link', $link . '#comment-' . $comment->comment_ID, $comment, $args );
+       $link = $link . '#comment-' . $comment->comment_ID;
+       /**
+        * Filter the returned single comment permalink.
+        *
+        * @since 2.8.0
+        *
+        * @param string $link    The comment permalink with '#comment-$id' appended.
+        * @param object $comment The current comment object.
+        * @param array  $args    An array of arguments to override the defaults. @see get_page_of_comment()
+        */
+       return apply_filters( 'get_comment_link', $link, $comment, $args );
 }
 
 /**
 }
 
 /**
- * Retrieves the link to the current post comments.
+ * Retrieve the link to the current post comments.
  *
  * @since 1.5.0
  *
  *
  * @since 1.5.0
  *
- * @param int $post_id Optional post id
- * @return string The link to the comments
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
+ * @return string The link to the comments.
  */
  */
-function get_comments_link($post_id = 0) {
-       return apply_filters( 'get_comments_link', get_permalink( $post_id ) . '#comments', $post_id );
+function get_comments_link( $post_id = 0 ) {
+       $comments_link = get_permalink( $post_id ) . '#comments';
+       /**
+        * Filter the returned post comments permalink.
+        *
+        * @since
+        *
+        * @param string      $comments_link The post comments permalink with '#comments' appended.
+        * @param int|WP_Post $post_id       The post ID or WP_Post object.
+        */
+       return apply_filters( 'get_comments_link', $comments_link, $post_id );
 }
 
 /**
 }
 
 /**
- * Displays the link to the current post comments.
+ * Display the link to the current post comments.
  *
  * @since 0.71
  *
  *
  * @since 0.71
  *
- * @param string $deprecated Not Used
- * @param bool $deprecated_2 Not Used
+ * @param string $deprecated   Not Used.
+ * @param bool   $deprecated_2 Not Used.
  */
 function comments_link( $deprecated = '', $deprecated_2 = '' ) {
        if ( !empty( $deprecated ) )
  */
 function comments_link( $deprecated = '', $deprecated_2 = '' ) {
        if ( !empty( $deprecated ) )
@@ -539,10 +641,9 @@ function comments_link( $deprecated = '', $deprecated_2 = '' ) {
  * Retrieve the amount of comments a post has.
  *
  * @since 1.5.0
  * Retrieve the amount of comments a post has.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls the 'get_comments_number' hook on the number of comments
  *
  *
- * @param int $post_id The Post ID
- * @return int The number of comments a post has
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
+ * @return int The number of comments a post has.
  */
 function get_comments_number( $post_id = 0 ) {
        $post_id = absint( $post_id );
  */
 function get_comments_number( $post_id = 0 ) {
        $post_id = absint( $post_id );
@@ -556,18 +657,25 @@ function get_comments_number( $post_id = 0 ) {
        else
                $count = $post->comment_count;
 
        else
                $count = $post->comment_count;
 
-       return apply_filters('get_comments_number', $count, $post_id);
+       /**
+        * Filter the returned comment count for a post.
+        *
+        * @since 1.5.2
+        *
+        * @param int         $count   The number of comments a post has.
+        * @param int|WP_Post $post_id The post ID or WP_Post object.
+        */
+       return apply_filters( 'get_comments_number', $count, $post_id );
 }
 
 /**
  * Display the language string for the number of comments the current post has.
  *
  * @since 0.71
 }
 
 /**
  * Display the language string for the number of comments the current post has.
  *
  * @since 0.71
- * @uses apply_filters() Calls the 'comments_number' hook on the output and number of comments respectively.
  *
  *
- * @param string $zero Text for no comments
- * @param string $one Text for one comment
- * @param string $more Text for more than one comment
+ * @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.
  * @param string $deprecated Not used.
  */
 function comments_number( $zero = false, $one = false, $more = false, $deprecated = '' ) {
  * @param string $deprecated Not used.
  */
 function comments_number( $zero = false, $one = false, $more = false, $deprecated = '' ) {
@@ -583,47 +691,75 @@ function comments_number( $zero = false, $one = false, $more = false, $deprecate
        else // must be one
                $output = ( false === $one ) ? __('1 Comment') : $one;
 
        else // must be one
                $output = ( false === $one ) ? __('1 Comment') : $one;
 
-       echo apply_filters('comments_number', $output, $number);
+       /**
+        * Filter the comments count for display.
+        *
+        * @since 1.5.2
+        *
+        * @param string $output A translatable string formatted based on whether the count is equal to 0, 1, or 1+. @see _n()
+        * @param int    $number The number of post comments.
+        */
+       echo apply_filters( 'comments_number', $output, $number );
 }
 
 /**
  * Retrieve the text of the current comment.
  *
  * @since 1.5.0
 }
 
 /**
  * Retrieve the text of the current comment.
  *
  * @since 1.5.0
- * @uses $comment
  *
  *
- * @param int $comment_ID The ID of the comment for which to get the text. Optional.
- * @return string The comment content
+ * @param int   $comment_ID Optional. The ID of the comment for which to get the text. Default current comment.
+ * @param array $args       Optional. An array of arguments. @see Walker_Comment::comment()
+ * @return string The comment content.
  */
  */
-function get_comment_text( $comment_ID = 0 ) {
+function get_comment_text( $comment_ID = 0, $args = array() ) {
        $comment = get_comment( $comment_ID );
        $comment = get_comment( $comment_ID );
-       return apply_filters( 'get_comment_text', $comment->comment_content, $comment );
+
+       /**
+        * Filter the text of a comment.
+        *
+        * @since 1.5.2
+        *
+        * @param string $comment->comment_content The text of the comment.
+        * @param object $comment                  The comment object.
+        * @param array  $args                     An array of arguments. @see Walker_Comment::comment()
+        */
+       return apply_filters( 'get_comment_text', $comment->comment_content, $comment, $args );
 }
 
 /**
 }
 
 /**
- * Displays the text of the current comment.
+ * Display the text of the current comment.
  *
  * @since 0.71
  *
  * @since 0.71
- * @uses apply_filters() Passes the comment content through the 'comment_text' hook before display
- * @uses get_comment_text() Gets the comment content
  *
  *
- * @param int $comment_ID The ID of the comment for which to print the text. Optional.
+ * @param int   $comment_ID Optional. The ID of the comment for which to print the text.
+ *                          Default 0.
+ * @param array $args       Optional. An array of arguments. @see Walker_Comment::comment()
+ *                          Default empty array.
  */
  */
-function comment_text( $comment_ID = 0 ) {
+function comment_text( $comment_ID = 0, $args = array() ) {
        $comment = get_comment( $comment_ID );
        $comment = get_comment( $comment_ID );
-       echo apply_filters( 'comment_text', get_comment_text( $comment_ID ), $comment );
+
+       $comment_text = get_comment_text( $comment_ID , $args );
+       /**
+        * Filter the text of a comment to be displayed.
+        *
+        * @since 1.2.1
+        *
+        * @param string $comment_text The text of the current comment.
+        * @param object $comment      The comment object.
+        * @param array  $args         An array of arguments. @see Walker_Comment::comment()
+        */
+       echo apply_filters( 'comment_text', $comment_text, $comment, $args );
 }
 
 /**
  * Retrieve the comment time of the current comment.
  *
  * @since 1.5.0
 }
 
 /**
  * Retrieve the comment time of the current comment.
  *
  * @since 1.5.0
- * @uses $comment
- * @uses apply_filter() Calls 'get_comment_time' hook with the formatted time, the $d parameter, and $gmt parameter passed.
  *
  *
- * @param string $d Optional. The format of the time (defaults to user's config)
- * @param bool $gmt Whether to use the GMT date
- * @param bool $translate Whether to translate the time (for use in feeds)
+ * @param string $d         Optional. The format of the time. Default user's settings.
+ * @param bool   $gmt       Optional. Whether to use the GMT date. Default false.
+ * @param bool   $translate Optional. Whether to translate the time (for use in feeds). Default true.
  * @return string The formatted time
  */
 function get_comment_time( $d = '', $gmt = false, $translate = true ) {
  * @return string The formatted time
  */
 function get_comment_time( $d = '', $gmt = false, $translate = true ) {
@@ -633,7 +769,18 @@ function get_comment_time( $d = '', $gmt = false, $translate = true ) {
                $date = mysql2date(get_option('time_format'), $comment_date, $translate);
        else
                $date = mysql2date($d, $comment_date, $translate);
                $date = mysql2date(get_option('time_format'), $comment_date, $translate);
        else
                $date = mysql2date($d, $comment_date, $translate);
-       return apply_filters('get_comment_time', $date, $d, $gmt, $translate);
+
+       /**
+        * Filter the returned comment time.
+        *
+        * @since 1.5.2
+        *
+        * @param string|int $date      The comment time, formatted as a date string or Unix timestamp.
+        * @param string     $d         The date format.
+        * @param bool       $gmt       Whether the GMT date is in use.
+        * @param bool       $translate Whether the time is translated.
+        */
+       return apply_filters( 'get_comment_time', $date, $d, $gmt, $translate );
 }
 
 /**
 }
 
 /**
@@ -641,7 +788,7 @@ function get_comment_time( $d = '', $gmt = false, $translate = true ) {
  *
  * @since 0.71
  *
  *
  * @since 0.71
  *
- * @param string $d Optional. The format of the time (defaults to user's config)
+ * @param string $d Optional. The format of the time. Default user's settings.
  */
 function comment_time( $d = '' ) {
        echo get_comment_time($d);
  */
 function comment_time( $d = '' ) {
        echo get_comment_time($d);
@@ -651,10 +798,8 @@ function comment_time( $d = '' ) {
  * Retrieve the comment type of the current comment.
  *
  * @since 1.5.0
  * Retrieve the comment type of the current comment.
  *
  * @since 1.5.0
- * @uses $comment
- * @uses apply_filters() Calls the 'get_comment_type' hook on the comment type
  *
  *
- * @param int $comment_ID The ID of the comment for which to get the type. Optional.
+ * @param int $comment_ID Optional. The ID of the comment for which to get the type. Default current comment.
  * @return string The comment type
  */
 function get_comment_type( $comment_ID = 0 ) {
  * @return string The comment type
  */
 function get_comment_type( $comment_ID = 0 ) {
@@ -662,7 +807,14 @@ function get_comment_type( $comment_ID = 0 ) {
        if ( '' == $comment->comment_type )
                $comment->comment_type = 'comment';
 
        if ( '' == $comment->comment_type )
                $comment->comment_type = 'comment';
 
-       return apply_filters('get_comment_type', $comment->comment_type);
+       /**
+        * Filter the returned comment type.
+        *
+        * @since 1.5.2
+        *
+        * @param string $comment->comment_type The type of comment, such as 'comment', 'pingback', or 'trackback'.
+        */
+       return apply_filters( 'get_comment_type', $comment->comment_type );
 }
 
 /**
 }
 
 /**
@@ -670,11 +822,11 @@ function get_comment_type( $comment_ID = 0 ) {
  *
  * @since 0.71
  *
  *
  * @since 0.71
  *
- * @param string $commenttxt The string to display for comment type
- * @param string $trackbacktxt The string to display for trackback type
- * @param string $pingbacktxt The string to display for pingback type
+ * @param string $commenttxt   Optional. The string to display for comment type. Default false.
+ * @param string $trackbacktxt Optional. The string to display for trackback type. Default false.
+ * @param string $pingbacktxt  Optional. The string to display for pingback type. Default false.
  */
  */
-function comment_type($commenttxt = false, $trackbacktxt = false, $pingbacktxt = false) {
+function comment_type( $commenttxt = false, $trackbacktxt = false, $pingbacktxt = false ) {
        if ( false === $commenttxt ) $commenttxt = _x( 'Comment', 'noun' );
        if ( false === $trackbacktxt ) $trackbacktxt = __( 'Trackback' );
        if ( false === $pingbacktxt ) $pingbacktxt = __( 'Pingback' );
        if ( false === $commenttxt ) $commenttxt = _x( 'Comment', 'noun' );
        if ( false === $trackbacktxt ) $trackbacktxt = __( 'Trackback' );
        if ( false === $pingbacktxt ) $pingbacktxt = __( 'Pingback' );
@@ -699,26 +851,31 @@ function comment_type($commenttxt = false, $trackbacktxt = false, $pingbacktxt =
  * current post is used and appended to the correct page to go to.
  *
  * @since 1.5.0
  * current post is used and appended to the correct page to go to.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'trackback_url' on the resulting trackback URL
  *
  *
- * @return string The trackback URL after being filtered
+ * @return string The trackback URL after being filtered.
  */
 function get_trackback_url() {
  */
 function get_trackback_url() {
-       if ( '' != get_option('permalink_structure') ) {
+       if ( '' != get_option('permalink_structure') )
                $tb_url = trailingslashit(get_permalink()) . user_trailingslashit('trackback', 'single_trackback');
                $tb_url = trailingslashit(get_permalink()) . user_trailingslashit('trackback', 'single_trackback');
-       } else {
+       else
                $tb_url = get_option('siteurl') . '/wp-trackback.php?p=' . get_the_ID();
                $tb_url = get_option('siteurl') . '/wp-trackback.php?p=' . get_the_ID();
-       }
-       return apply_filters('trackback_url', $tb_url);
+
+       /**
+        * Filter the returned trackback URL.
+        *
+        * @since 2.2.0
+        *
+        * @param string $tb_url The trackback URL.
+        */
+       return apply_filters( 'trackback_url', $tb_url );
 }
 
 /**
 }
 
 /**
- * Displays the current post's trackback URL.
+ * Display the current post's trackback URL.
  *
  * @since 0.71
  *
  * @since 0.71
- * @uses get_trackback_url() Gets the trackback url for the current post
  *
  *
- * @param bool $deprecated_echo Remove backwards compat in 2.5
+ * @param bool $deprecated_echo Not used.
  * @return void|string Should only be used to echo the trackback URL, use get_trackback_url() for the result instead.
  */
 function trackback_url( $deprecated_echo = true ) {
  * @return void|string Should only be used to echo the trackback URL, use get_trackback_url() for the result instead.
  */
 function trackback_url( $deprecated_echo = true ) {
@@ -731,13 +888,13 @@ function trackback_url( $deprecated_echo = true ) {
 }
 
 /**
 }
 
 /**
- * Generates and displays the RDF for the trackback information of current post.
+ * Generate and display the RDF for the trackback information of current post.
  *
  * Deprecated in 3.0.0, and restored in 3.0.1.
  *
  * @since 0.71
  *
  *
  * Deprecated in 3.0.0, and restored in 3.0.1.
  *
  * @since 0.71
  *
- * @param int $deprecated Not used (Was $timezone = 0)
+ * @param int $deprecated Not used (Was $timezone = 0).
  */
 function trackback_rdf( $deprecated = '' ) {
        if ( !empty( $deprecated ) )
  */
 function trackback_rdf( $deprecated = '' ) {
        if ( !empty( $deprecated ) )
@@ -764,16 +921,24 @@ function trackback_rdf( $deprecated = '' ) {
  * Whether the current post is open for comments.
  *
  * @since 1.5.0
  * Whether the current post is open for comments.
  *
  * @since 1.5.0
- * @uses $post
  *
  *
- * @param int $post_id An optional post ID to check instead of the current post.
- * @return bool True if the comments are open
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
+ * @return bool True if the comments are open.
  */
 function comments_open( $post_id = null ) {
 
        $_post = get_post($post_id);
 
        $open = ( 'open' == $_post->comment_status );
  */
 function comments_open( $post_id = null ) {
 
        $_post = get_post($post_id);
 
        $open = ( 'open' == $_post->comment_status );
+
+       /**
+        * Filter whether the current post is open for comments.
+        *
+        * @since
+        *
+        * @param bool        $open    Whether the current post is open for comments.
+        * @param int|WP_Post $post_id The post ID or WP_Post object.
+        */
        return apply_filters( 'comments_open', $open, $post_id );
 }
 
        return apply_filters( 'comments_open', $open, $post_id );
 }
 
@@ -781,9 +946,8 @@ function comments_open( $post_id = null ) {
  * Whether the current post is open for pings.
  *
  * @since 1.5.0
  * Whether the current post is open for pings.
  *
  * @since 1.5.0
- * @uses $post
  *
  *
- * @param int $post_id An optional post ID to check instead of the current post.
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default current post.
  * @return bool True if pings are accepted
  */
 function pings_open( $post_id = null ) {
  * @return bool True if pings are accepted
  */
 function pings_open( $post_id = null ) {
@@ -795,7 +959,7 @@ function pings_open( $post_id = null ) {
 }
 
 /**
 }
 
 /**
- * Displays form token for unfiltered comments.
+ * Display form token for unfiltered comments.
  *
  * Will only display nonce token if the current user has permissions for
  * unfiltered html. Won't display the token for other users.
  *
  * Will only display nonce token if the current user has permissions for
  * unfiltered html. Won't display the token for other users.
@@ -807,7 +971,6 @@ function pings_open( $post_id = null ) {
  * Backported to 2.0.10.
  *
  * @since 2.1.3
  * Backported to 2.0.10.
  *
  * @since 2.1.3
- * @uses $post Gets the ID of the current post for the token
  */
 function wp_comment_form_unfiltered_html_nonce() {
        $post = get_post();
  */
 function wp_comment_form_unfiltered_html_nonce() {
        $post = get_post();
@@ -820,7 +983,7 @@ function wp_comment_form_unfiltered_html_nonce() {
 }
 
 /**
 }
 
 /**
- * Loads the comment template specified in $file.
+ * Load the comment template specified in $file.
  *
  * Will not display the comments template if not on single post or page, or if
  * the post does not have comments.
  *
  * Will not display the comments template if not on single post or page, or if
  * the post does not have comments.
@@ -835,15 +998,14 @@ function wp_comment_form_unfiltered_html_nonce() {
  * default theme. If either does not exist, then the WordPress process will be
  * halted. It is advised for that reason, that the default theme is not deleted.
  *
  * default theme. If either does not exist, then the WordPress process will be
  * halted. It is advised for that reason, that the default theme is not deleted.
  *
- * @since 1.5.0
- * @global array $comment List of comment objects for the current post
- * @uses $wpdb
- * @uses $post
+ * @todo Document globals
  * @uses $withcomments Will not try to get the comments if the post has none.
  *
  * @uses $withcomments Will not try to get the comments if the post has none.
  *
- * @param string $file Optional, default '/comments.php'. The file to load
- * @param bool $separate_comments Optional, whether to separate the comments by comment type. Default is false.
- * @return null Returns null if no comments appear
+ * @since 1.5.0
+ *
+ * @param string $file              Optional. The file to load. Default '/comments.php'.
+ * @param bool   $separate_comments Optional. Whether to separate the comments by comment type. Default false.
+ * @return null Returns null if no comments appear.
  */
 function comments_template( $file = '/comments.php', $separate_comments = false ) {
        global $wp_query, $withcomments, $post, $wpdb, $id, $comment, $user_login, $user_ID, $user_identity, $overridden_cpage;
  */
 function comments_template( $file = '/comments.php', $separate_comments = false ) {
        global $wp_query, $withcomments, $post, $wpdb, $id, $comment, $user_login, $user_ID, $user_identity, $overridden_cpage;
@@ -888,6 +1050,14 @@ function comments_template( $file = '/comments.php', $separate_comments = false
        }
 
        // keep $comments for legacy's sake
        }
 
        // keep $comments for legacy's sake
+       /**
+        * Filter the comments array.
+        *
+        * @since 2.1.0
+        *
+        * @param array $comments The array of comments supplied to the comments template.
+        * @param int   $post->ID The post ID.
+        */
        $wp_query->comments = apply_filters( 'comments_array', $comments, $post->ID );
        $comments = &$wp_query->comments;
        $wp_query->comment_count = count($wp_query->comments);
        $wp_query->comments = apply_filters( 'comments_array', $comments, $post->ID );
        $comments = &$wp_query->comments;
        $wp_query->comment_count = count($wp_query->comments);
@@ -907,7 +1077,15 @@ function comments_template( $file = '/comments.php', $separate_comments = false
        if ( !defined('COMMENTS_TEMPLATE') )
                define('COMMENTS_TEMPLATE', true);
 
        if ( !defined('COMMENTS_TEMPLATE') )
                define('COMMENTS_TEMPLATE', true);
 
-       $include = apply_filters('comments_template', STYLESHEETPATH . $file );
+       $theme_template = STYLESHEETPATH . $file;
+       /**
+        * Filter the path to the theme template file used for the comments template.
+        *
+        * @since 1.5.2
+        *
+        * @param string $theme_template The path to the theme template file.
+        */
+       $include = apply_filters( 'comments_template', $theme_template );
        if ( file_exists( $include ) )
                require( $include );
        elseif ( file_exists( TEMPLATEPATH . $file ) )
        if ( file_exists( $include ) )
                require( $include );
        elseif ( file_exists( TEMPLATEPATH . $file ) )
@@ -917,7 +1095,7 @@ function comments_template( $file = '/comments.php', $separate_comments = false
 }
 
 /**
 }
 
 /**
- * Displays the JS popup script to show a comment.
+ * Display the JS popup script to show a comment.
  *
  * If the $file parameter is empty, then the home page is assumed. The defaults
  * for the window are 400px by 400px.
  *
  * If the $file parameter is empty, then the home page is assumed. The defaults
  * for the window are 400px by 400px.
@@ -925,15 +1103,16 @@ function comments_template( $file = '/comments.php', $separate_comments = false
  * For the comment link popup to work, this function has to be called or the
  * normal comment link will be assumed.
  *
  * For the comment link popup to work, this function has to be called or the
  * normal comment link will be assumed.
  *
+ * @global string $wpcommentspopupfile  The URL to use for the popup window.
+ * @global int    $wpcommentsjavascript Whether to use JavaScript. Set when function is called.
+ *
  * @since 0.71
  * @since 0.71
- * @global string $wpcommentspopupfile The URL to use for the popup window
- * @global int $wpcommentsjavascript Whether to use JavaScript. Set when function is called
  *
  *
- * @param int $width Optional. The width of the popup window
- * @param int $height Optional. The height of the popup window
- * @param string $file Optional. Sets the location of the popup window
+ * @param int $width  Optional. The width of the popup window. Default 400.
+ * @param int $height Optional. The height of the popup window. Default 400.
+ * @param string $file Optional. Sets the location of the popup window.
  */
  */
-function comments_popup_script($width=400, $height=400, $file='') {
+function comments_popup_script( $width = 400, $height = 400, $file = '' ) {
        global $wpcommentspopupfile, $wpcommentsjavascript;
 
        if (empty ($file)) {
        global $wpcommentspopupfile, $wpcommentsjavascript;
 
        if (empty ($file)) {
@@ -953,16 +1132,16 @@ function comments_popup_script($width=400, $height=400, $file='') {
  * Is not meant to be displayed on single posts and pages. Should be used on the
  * lists of posts
  *
  * Is not meant to be displayed on single posts and pages. Should be used on the
  * lists of posts
  *
+ * @global string $wpcommentspopupfile  The URL to use for the popup window.
+ * @global int    $wpcommentsjavascript Whether to use JavaScript. Set when function is called.
+ *
  * @since 0.71
  * @since 0.71
- * @uses $wpcommentspopupfile
- * @uses $wpcommentsjavascript
- * @uses $post
- *
- * @param string $zero The string to display when no comments
- * @param string $one The string to display when only one comment is available
- * @param string $more The string to display when there are more than one comment
- * @param string $css_class The CSS class to use for comments
- * @param string $none The string to display when comments have been turned off
+ *
+ * @param string $zero      Optional. The string to display when no comments. Default false.
+ * @param string $one       Optional. The string to display when only one comment is available. Default false.
+ * @param string $more      Optional. The string to display when there are more than one comment. Default false.
+ * @param string $css_class Optional. The CSS class to use for comments. Default empty.
+ * @param string $none      Optional. The string to display when comments have been turned off. Default false.
  * @return null Returns null on single posts and pages.
  */
 function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) {
  * @return null Returns null on single posts and pages.
  */
 function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) {
@@ -1008,7 +1187,15 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
        }
        $title = the_title_attribute( array('echo' => 0 ) );
 
        }
        $title = the_title_attribute( array('echo' => 0 ) );
 
-       echo apply_filters( 'comments_popup_link_attributes', '' );
+       $attributes = '';
+       /**
+        * Filter the comments popup link attributes for display.
+        *
+        * @since 2.5.0
+        *
+        * @param string $attributes The comments popup link attributes. Default empty.
+        */
+       echo apply_filters( 'comments_popup_link_attributes', $attributes );
 
        echo ' title="' . esc_attr( sprintf( __('Comment on %s'), $title ) ) . '">';
        comments_number( $zero, $one, $more );
 
        echo ' title="' . esc_attr( sprintf( __('Comment on %s'), $title ) ) . '">';
        comments_number( $zero, $one, $more );
@@ -1018,25 +1205,39 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
 /**
  * Retrieve HTML content for reply to comment link.
  *
 /**
  * Retrieve HTML content for reply to comment link.
  *
- * The default arguments that can be override are 'add_below', 'respond_id',
- * 'reply_text', 'login_text', and 'depth'. The 'login_text' argument will be
- * used, if the user must log in or register first before posting a comment. The
- * 'reply_text' will be used, if they can post a reply. The 'add_below' and
- * 'respond_id' arguments are for the JavaScript moveAddCommentForm() function
- * parameters.
- *
  * @since 2.7.0
  *
  * @since 2.7.0
  *
- * @param array $args Optional. Override default options.
- * @param int $comment Optional. Comment being replied to.
- * @param int $post Optional. Post that the comment is going to be displayed on.
- * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
+ * @param array $args {
+ *     Optional. Override default arguments.
+ *
+ *     @type string 'add_below'  The first part of the selector used to identify the comment to respond below. The resulting
+ *                               value is passed as the first parameter to addComment.moveForm(), concatenated
+ *                               as $add_below-$comment->comment_ID. Default 'comment'.
+ *     @type string 'respond_id' The selector identifying the responding comment. Passed as the third parameter to addComment.moveForm(),
+ *                               and appended to the link URL as a hash value. Default 'respond'.
+ *     @type string 'reply_text' The text of the Reply link. Default 'Reply'.
+ *     @type string 'login_text' The text of the link to reply if logged out. Default 'Log in to Reply'.
+ *     @type int    'depth'      The depth of the new comment. Must be greater than 0 and less than the value of the 'thread_comments_depth'
+ *                               option set in Settings > Discussion.
+ *                               Default 0.
+ *     @type string 'before'     The text or HTML to add before the reply link. Default empty.
+ *     @type string 'after'      The text or HTML to add after the reply link. Default empty.
+ * }
+ * @param int         $comment Optional. Comment being replied to. Default current comment.
+ * @param int|WP_Post $post    Optional. Post ID or WP_Post object the comment is going to be displayed on. 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) {
-       global $user_ID;
 
 
-       $defaults = array('add_below' => 'comment', 'respond_id' => 'respond', 'reply_text' => __('Reply'),
-               'login_text' => __('Log in to Reply'), 'depth' => 0, 'before' => '', 'after' => '');
+       $defaults = array(
+               'add_below'  => 'comment',
+               'respond_id' => 'respond',
+               'reply_text' => __('Reply'),
+               'login_text' => __('Log in to Reply'),
+               'depth'      => 0,
+               'before'     => '',
+               'after'      => ''
+       );
 
        $args = wp_parse_args($args, $defaults);
 
 
        $args = wp_parse_args($args, $defaults);
 
@@ -1055,23 +1256,35 @@ function get_comment_reply_link($args = array(), $comment = null, $post = null)
 
        $link = '';
 
 
        $link = '';
 
-       if ( get_option('comment_registration') && !$user_ID )
+       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
                $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>";
                $link = '<a rel="nofollow" class="comment-reply-login" href="' . esc_url( wp_login_url( get_permalink() ) ) . '">' . $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>";
-       return apply_filters('comment_reply_link', $before . $link . $after, $args, $comment, $post);
+
+       /**
+        * Filter the comment reply link.
+        *
+        * @since 2.7.0
+        *
+        * @param string  $before  Text or HTML displayed before the reply link.
+        * @param string  $link    The HTML markup for the comment reply link.
+        * @param string  $after   Text or HTML displayed after the reply link.
+        * @param array   $args    An array of arguments overriding the defaults.
+        * @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 );
 }
 
 /**
  * Displays the HTML content for reply to comment link.
  *
  * @since 2.7.0
 }
 
 /**
  * Displays the HTML content for reply to comment link.
  *
  * @since 2.7.0
- * @see get_comment_reply_link() Echoes result
  *
  *
- * @param array $args Optional. Override default options.
- * @param int $comment Optional. Comment being replied to.
- * @param int $post Optional. Post that the comment is going to be displayed on.
- * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
+ * @param array       $args    Optional. Override default options, @see get_comment_reply_link()
+ * @param int         $comment Optional. Comment being replied to. Default current comment.
+ * @param int|WP_Post $post    Optional. Post ID or WP_Post object the comment is going to be displayed on. Default current post.
+ * @return mixed Link to show comment form, if successful. False, if comments are closed.
  */
 function comment_reply_link($args = array(), $comment = null, $post = null) {
        echo get_comment_reply_link($args, $comment, $post);
  */
 function comment_reply_link($args = array(), $comment = null, $post = null) {
        echo get_comment_reply_link($args, $comment, $post);
@@ -1080,24 +1293,33 @@ function comment_reply_link($args = array(), $comment = null, $post = null) {
 /**
  * Retrieve HTML content for reply to post link.
  *
 /**
  * Retrieve HTML content for reply to post link.
  *
- * The default arguments that can be override are 'add_below', 'respond_id',
- * 'reply_text', 'login_text', and 'depth'. The 'login_text' argument will be
- * used, if the user must log in or register first before posting a comment. The
- * 'reply_text' will be used, if they can post a reply. The 'add_below' and
- * 'respond_id' arguments are for the JavaScript moveAddCommentForm() function
- * parameters.
- *
  * @since 2.7.0
  *
  * @since 2.7.0
  *
- * @param array $args Optional. Override default options.
- * @param int|object $post Optional. Post that the comment is going to be displayed on. Defaults to current post.
+ * @param array $args {
+ *     Optional. Override default arguments.
+ *
+ *     @type string 'add_below'  The first part of the selector used to identify the comment to respond below.
+ *                               The resulting value is passed as the first parameter to addComment.moveForm(),
+ *                               concatenated as $add_below-$comment->comment_ID. Default is 'post'.
+ *     @type string 'respond_id' The selector identifying the responding comment. Passed as the third parameter
+ *                               to addComment.moveForm(), and appended to the link URL as a hash value. Default is 'respond'.
+ *     @type string 'reply_text' The text of the Reply link. Default is 'Leave a Comment'.
+ *     @type string 'login_text' The text of the link to reply if logged out. Default is 'Log in to leave a Comment'.
+ *     @type string 'before'     The text or HTML to add before the reply link. Default empty.
+ *     @type string 'after'      The text or HTML to add after the reply link. Default empty.
+ * }
+ * @param int|WP_Post $post    Optional. Post ID or WP_Post object the comment is going to be displayed on. Default current post.
  * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
  */
 function get_post_reply_link($args = array(), $post = null) {
  * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
  */
 function get_post_reply_link($args = array(), $post = null) {
-       global $user_ID;
-
-       $defaults = array('add_below' => 'post', 'respond_id' => 'respond', 'reply_text' => __('Leave a Comment'),
-               'login_text' => __('Log in to leave a Comment'), 'before' => '', 'after' => '');
+       $defaults = array(
+               'add_below'  => 'post',
+               'respond_id' => 'respond',
+               'reply_text' => __('Leave a Comment'),
+               'login_text' => __('Log in to leave a Comment'),
+               'before'     => '',
+               'after'      => '',
+       );
 
        $args = wp_parse_args($args, $defaults);
        extract($args, EXTR_SKIP);
 
        $args = wp_parse_args($args, $defaults);
        extract($args, EXTR_SKIP);
@@ -1106,21 +1328,30 @@ function get_post_reply_link($args = array(), $post = null) {
        if ( !comments_open($post->ID) )
                return false;
 
        if ( !comments_open($post->ID) )
                return false;
 
-       if ( get_option('comment_registration') && !$user_ID ) {
+       if ( get_option('comment_registration') && ! is_user_logged_in() )
                $link = '<a rel="nofollow" href="' . wp_login_url( get_permalink() ) . '">' . $login_text . '</a>';
                $link = '<a rel="nofollow" href="' . wp_login_url( get_permalink() ) . '">' . $login_text . '</a>';
-       } else {
+       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>";
                $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>";
-       }
-       return apply_filters('post_comments_link', $before . $link . $after, $post);
+
+       $formatted_link = $before . $link . $after;
+       /**
+        * Filter the formatted post comments link HTML.
+        *
+        * @since 2.7.0
+        *
+        * @param string      $formatted The HTML-formatted post comments link.
+        * @param int|WP_Post $post      The post ID or WP_Post object.
+        */
+       return apply_filters( 'post_comments_link', $formatted_link, $post );
 }
 
 /**
  * Displays the HTML content for reply to post link.
 }
 
 /**
  * Displays the HTML content for reply to post link.
+ *
  * @since 2.7.0
  * @since 2.7.0
- * @see get_post_reply_link()
  *
  *
- * @param array $args Optional. Override default options.
- * @param int|object $post Optional. Post that the comment is going to be displayed on.
+ * @param array       $args Optional. Override default options, @see get_post_reply_link()
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object the comment is going to be displayed on. Default current post.
  * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
  */
 function post_reply_link($args = array(), $post = null) {
  * @return string|bool|null Link to show comment form, if successful. False, if comments are closed.
  */
 function post_reply_link($args = array(), $post = null) {
@@ -1132,15 +1363,26 @@ function post_reply_link($args = array(), $post = null) {
  *
  * @since 2.7.0
  *
  *
  * @since 2.7.0
  *
- * @param string $text Optional. Text to display for cancel reply link.
+ * @param string $text Optional. Text to display for cancel reply link. Default empty.
  */
  */
-function get_cancel_comment_reply_link($text = '') {
+function get_cancel_comment_reply_link( $text = '' ) {
        if ( empty($text) )
                $text = __('Click here to cancel reply.');
 
        $style = isset($_GET['replytocom']) ? '' : ' style="display:none;"';
        $link = esc_html( remove_query_arg('replytocom') ) . '#respond';
        if ( empty($text) )
                $text = __('Click here to cancel reply.');
 
        $style = isset($_GET['replytocom']) ? '' : ' style="display:none;"';
        $link = esc_html( remove_query_arg('replytocom') ) . '#respond';
-       return apply_filters('cancel_comment_reply_link', '<a rel="nofollow" id="cancel-comment-reply-link" href="' . $link . '"' . $style . '>' . $text . '</a>', $link, $text);
+
+       $formatted_link = '<a rel="nofollow" id="cancel-comment-reply-link" href="' . $link . '"' . $style . '>' . $text . '</a>';
+       /**
+        * Filter the cancel comment reply link HTML.
+        *
+        * @since 2.7.0
+        *
+        * @param string $formatted_link The HTML-formatted cancel comment reply link.
+        * @param string $link           The cancel comment reply link URL.
+        * @param string $text           The cancel comment reply link text.
+        */
+       return apply_filters( 'cancel_comment_reply_link', $formatted_link, $link, $text );
 }
 
 /**
 }
 
 /**
@@ -1148,9 +1390,9 @@ function get_cancel_comment_reply_link($text = '') {
  *
  * @since 2.7.0
  *
  *
  * @since 2.7.0
  *
- * @param string $text Optional. Text to display for cancel reply link.
+ * @param string $text Optional. Text to display for cancel reply link. Default empty.
  */
  */
-function cancel_comment_reply_link($text = '') {
+function cancel_comment_reply_link( $text = '' ) {
        echo get_cancel_comment_reply_link($text);
 }
 
        echo get_cancel_comment_reply_link($text);
 }
 
@@ -1159,6 +1401,7 @@ function cancel_comment_reply_link($text = '') {
  *
  * @since 3.0.0
  *
  *
  * @since 3.0.0
  *
+ * @param int $id Optional. Post ID. Default current post ID.
  * @return string Hidden input HTML for replying to comments
  */
 function get_comment_id_fields( $id = 0 ) {
  * @return string Hidden input HTML for replying to comments
  */
 function get_comment_id_fields( $id = 0 ) {
@@ -1168,27 +1411,41 @@ function get_comment_id_fields( $id = 0 ) {
        $replytoid = isset($_GET['replytocom']) ? (int) $_GET['replytocom'] : 0;
        $result  = "<input type='hidden' name='comment_post_ID' value='$id' id='comment_post_ID' />\n";
        $result .= "<input type='hidden' name='comment_parent' id='comment_parent' value='$replytoid' />\n";
        $replytoid = isset($_GET['replytocom']) ? (int) $_GET['replytocom'] : 0;
        $result  = "<input type='hidden' name='comment_post_ID' value='$id' id='comment_post_ID' />\n";
        $result .= "<input type='hidden' name='comment_parent' id='comment_parent' value='$replytoid' />\n";
-       return apply_filters('comment_id_fields', $result, $id, $replytoid);
+
+       /**
+        * Filter the returned comment id fields.
+        *
+        * @since 3.0.0
+        *
+        * @param string $result    The HTML-formatted hidden id field comment elements.
+        * @param int    $id        The post ID.
+        * @param int    $replytoid The id of the comment being replied to.
+        */
+       return apply_filters( 'comment_id_fields', $result, $id, $replytoid );
 }
 
 /**
  * Output hidden input HTML for replying to comments.
  *
  * @since 2.7.0
 }
 
 /**
  * Output hidden input HTML for replying to comments.
  *
  * @since 2.7.0
- * @see get_comment_id_fields() Echoes result
+ *
+ * @param int $id Optional. Post ID. Default current post ID.
  */
 function comment_id_fields( $id = 0 ) {
        echo get_comment_id_fields( $id );
 }
 
 /**
  */
 function comment_id_fields( $id = 0 ) {
        echo get_comment_id_fields( $id );
 }
 
 /**
- * Display text based on comment reply status. Only affects users with Javascript disabled.
+ * Display text based on comment reply status.
+ *
+ * Only affects users with Javascript disabled.
  *
  * @since 2.7.0
  *
  *
  * @since 2.7.0
  *
- * @param string $noreplytext Optional. Text to display when not replying to a comment.
- * @param string $replytext Optional. Text to display when replying to a comment. Accepts "%s" for the author of the comment being replied to.
- * @param string $linktoparent Optional. Boolean to control making the author's name a link to their comment.
+ * @param string $noreplytext  Optional. Text to display when not replying to a comment. Default false.
+ * @param string $replytext    Optional. Text to display when replying to a comment.
+ *                             Default false. Accepts "%s" for the author of the comment being replied to.
+ * @param string $linktoparent Optional. Boolean to control making the author's name a link to their comment. Default true.
  */
 function comment_form_title( $noreplytext = false, $replytext = false, $linktoparent = true ) {
        global $comment;
  */
 function comment_form_title( $noreplytext = false, $replytext = false, $linktoparent = true ) {
        global $comment;
@@ -1216,21 +1473,30 @@ function comment_form_title( $noreplytext = false, $replytext = false, $linktopa
  */
 class Walker_Comment extends Walker {
        /**
  */
 class Walker_Comment extends Walker {
        /**
+        * What the class handles.
+        *
         * @see Walker::$tree_type
         * @see Walker::$tree_type
+        *
         * @since 2.7.0
         * @var string
         */
        var $tree_type = 'comment';
 
        /**
         * @since 2.7.0
         * @var string
         */
        var $tree_type = 'comment';
 
        /**
+        * DB fields to use.
+        *
         * @see Walker::$db_fields
         * @see Walker::$db_fields
+        *
         * @since 2.7.0
         * @var array
         */
        var $db_fields = array ('parent' => 'comment_parent', 'id' => 'comment_ID');
 
        /**
         * @since 2.7.0
         * @var array
         */
        var $db_fields = array ('parent' => 'comment_parent', 'id' => 'comment_ID');
 
        /**
+        * Start the list before the elements are added.
+        *
         * @see Walker::start_lvl()
         * @see Walker::start_lvl()
+        *
         * @since 2.7.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 2.7.0
         *
         * @param string $output Passed by reference. Used to append additional content.
@@ -1254,12 +1520,15 @@ class Walker_Comment extends Walker {
        }
 
        /**
        }
 
        /**
+        * End the list of items after the elements are added.
+        *
         * @see Walker::end_lvl()
         * @see Walker::end_lvl()
+        *
         * @since 2.7.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 2.7.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param int $depth Depth of comment.
-        * @param array $args Will only append content if style argument value is 'ol' or 'ul'.
+        * @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() ) {
                $GLOBALS['comment_depth'] = $depth + 1;
         */
        function end_lvl( &$output, $depth = 0, $args = array() ) {
                $GLOBALS['comment_depth'] = $depth + 1;
@@ -1278,6 +1547,8 @@ class Walker_Comment extends Walker {
        }
 
        /**
        }
 
        /**
+        * Traverse elements to create list from elements.
+        *
         * This function is designed to enhance Walker::display_element() to
         * display children of higher nesting levels than selected inline on
         * the highest depth level displayed. This prevents them being orphaned
         * This function is designed to enhance Walker::display_element() to
         * display children of higher nesting levels than selected inline on
         * the highest depth level displayed. This prevents them being orphaned
@@ -1294,6 +1565,17 @@ class Walker_Comment extends Walker {
         * 2
         *  2.2
         *
         * 2
         *  2.2
         *
+        * @see Walker::display_element()
+        *
+        * @since 2.7.0
+        *
+        * @param object $element           Data object.
+        * @param array  $children_elements List of elements to continue traversing.
+        * @param int    $max_depth         Max depth to traverse.
+        * @param int    $depth             Depth of current element.
+        * @param array  $args              An array of arguments. @see wp_list_comments()
+        * @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 ) {
 
         */
        function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
 
@@ -1317,13 +1599,16 @@ class Walker_Comment extends Walker {
        }
 
        /**
        }
 
        /**
+        * Start the element output.
+        *
         * @see Walker::start_el()
         * @see Walker::start_el()
+        *
         * @since 2.7.0
         *
         * @since 2.7.0
         *
-        * @param string $output Passed by reference. Used to append additional content.
+        * @param string $output  Passed by reference. Used to append additional content.
         * @param object $comment Comment data object.
         * @param object $comment Comment data object.
-        * @param int $depth Depth of comment in reference to parents.
-        * @param array $args
+        * @param int    $depth   Depth of comment in reference to parents.
+        * @param array  $args    An array of arguments. @see wp_list_comments()
         */
        function start_el( &$output, $comment, $depth = 0, $args = array(), $id = 0 ) {
                $depth++;
         */
        function start_el( &$output, $comment, $depth = 0, $args = array(), $id = 0 ) {
                $depth++;
@@ -1345,13 +1630,16 @@ class Walker_Comment extends Walker {
        }
 
        /**
        }
 
        /**
+        * Ends the element output, if needed.
+        *
         * @see Walker::end_el()
         * @see Walker::end_el()
+        *
         * @since 2.7.0
         *
         * @since 2.7.0
         *
-        * @param string $output Passed by reference. Used to append additional content.
-        * @param object $comment
-        * @param int $depth Depth of comment.
-        * @param array $args
+        * @param string $output  Passed by reference. Used to append additional content.
+        * @param object $comment The comment object. Default current comment.
+        * @param int    $depth   Depth of comment.
+        * @param array  $args    An array of arguments. @see wp_list_comments()
         */
        function end_el( &$output, $comment, $depth = 0, $args = array() ) {
                if ( !empty( $args['end-callback'] ) ) {
         */
        function end_el( &$output, $comment, $depth = 0, $args = array() ) {
                if ( !empty( $args['end-callback'] ) ) {
@@ -1365,12 +1653,14 @@ class Walker_Comment extends Walker {
        }
 
        /**
        }
 
        /**
-        * @since 3.6
+        * Output a pingback comment.
+        *
         * @access protected
         * @access protected
+        * @since 3.6.0
         *
         *
-        * @param object $comment
-        * @param int $depth Depth of comment.
-        * @param array $args
+        * @param object $comment The comment object.
+        * @param int    $depth   Depth of comment.
+        * @param array  $args    An array of arguments. @see wp_list_comments()
         */
        protected function ping( $comment, $depth, $args ) {
                $tag = ( 'div' == $args['style'] ) ? 'div' : 'li';
         */
        protected function ping( $comment, $depth, $args ) {
                $tag = ( 'div' == $args['style'] ) ? 'div' : 'li';
@@ -1383,12 +1673,14 @@ class Walker_Comment extends Walker {
        }
 
        /**
        }
 
        /**
-        * @since 3.6
+        * Output a single comment.
+        *
         * @access protected
         * @access protected
+        * @since 3.6.0
         *
         * @param object $comment Comment to display.
         *
         * @param object $comment Comment to display.
-        * @param int $depth Depth of comment.
-        * @param array $args Optional args.
+        * @param int    $depth   Depth of comment.
+        * @param array  $args    An array of arguments. @see wp_list_comments()
         */
        protected function comment( $comment, $depth, $args ) {
                if ( 'div' == $args['style'] ) {
         */
        protected function comment( $comment, $depth, $args ) {
                if ( 'div' == $args['style'] ) {
@@ -1419,7 +1711,7 @@ class Walker_Comment extends Walker {
                        ?>
                </div>
 
                        ?>
                </div>
 
-               <?php comment_text() ?>
+               <?php comment_text( get_comment_id(), array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
 
                <div class="reply">
                        <?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
 
                <div class="reply">
                        <?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
@@ -1431,12 +1723,14 @@ class Walker_Comment extends Walker {
        }
 
        /**
        }
 
        /**
-        * @since 3.6
+        * Output a comment in the HTML5 format.
+        *
         * @access protected
         * @access protected
+        * @since 3.6.0
         *
         * @param object $comment Comment to display.
         *
         * @param object $comment Comment to display.
-        * @param int $depth Depth of comment.
-        * @param array $args Optional args.
+        * @param int    $depth   Depth of comment.
+        * @param array  $args    An array of arguments. @see wp_list_comments()
         */
        protected function html5_comment( $comment, $depth, $args ) {
                $tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
         */
        protected function html5_comment( $comment, $depth, $args ) {
                $tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
@@ -1476,17 +1770,34 @@ class Walker_Comment extends Walker {
 }
 
 /**
 }
 
 /**
- * List comments
+ * List comments.
  *
  *
- * Used in the comments.php template to list comments for a particular post
+ * Used in the comments.php template to list comments for a particular post.
  *
  * @since 2.7.0
  *
  * @since 2.7.0
- * @uses Walker_Comment
  *
  *
- * @param string|array $args Formatting options
- * @param array $comments Optional array of comment objects. Defaults to $wp_query->comments
+ * @param string|array $args {
+ *     Optional. Formatting options.
+ *
+ *     @type string 'walker'            The Walker class used 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.
+ *     @type string 'end-callback'      Callback function to use at the end. Default null.
+ *     @type string 'type'              Type of comments to list.
+ *                                      Default 'all'. Accepts 'all', 'comment', 'pingback', 'trackback', 'pings'.
+ *     @type int    'page'              Page ID to list comments for. Default empty.
+ *     @type int    'per_page'          Number of comments to list per page. Default empty.
+ *     @type int    'avatar_size'       Height and width dimensions of the avatar size. Default 32.
+ *     @type string 'reverse_top_level' Ordering of the listed comments. Default null. Accepts 'desc', 'asc'.
+ *     @type bool   'reverse_children'  Whether to reverse child comments in the list. Default null.
+ *     @type string 'format'            How to format the comments list.
+ *                                      Default 'html5' if the theme supports it. Accepts 'html5', 'xhtml'.
+ *     @type bool   'short_ping'        Whether to output short pings. Default false.
+ * }
+ * @param array $comments Optional. Array of comment objects. @see WP_Query->comments
  */
  */
-function wp_list_comments($args = array(), $comments = null ) {
+function wp_list_comments( $args = array(), $comments = null ) {
        global $wp_query, $comment_alt, $comment_depth, $comment_thread_alt, $overridden_cpage, $in_comment_loop;
 
        $in_comment_loop = true;
        global $wp_query, $comment_alt, $comment_depth, $comment_thread_alt, $overridden_cpage, $in_comment_loop;
 
        $in_comment_loop = true;
@@ -1583,7 +1894,8 @@ function wp_list_comments($args = array(), $comments = null ) {
 }
 
 /**
 }
 
 /**
- * Outputs a complete commenting form for use within a template.
+ * Output a complete commenting form for use within a template.
+ *
  * Most strings and form fields may be controlled through the $args array passed
  * into the function, while you may also choose to use the comment_form_default_fields
  * filter to modify the array of default fields if you'd just like to add a new
  * Most strings and form fields may be controlled through the $args array passed
  * into the function, while you may also choose to use the comment_form_default_fields
  * filter to modify the array of default fields if you'd just like to add a new
@@ -1592,9 +1904,34 @@ function wp_list_comments($args = array(), $comments = null ) {
  * in the array of fields.
  *
  * @since 3.0.0
  * in the array of fields.
  *
  * @since 3.0.0
- * @param array $args Options for strings, fields etc in the form
- * @param mixed $post_id Post ID to generate the form for, uses the current post if null
- * @return void
+ *
+ * @param array       $args {
+ *     Optional. Default arguments and form fields to override.
+ *
+ *     @type array 'fields' {
+ *         Default comment fields, filterable by default via the 'comment_form_default_fields' hook.
+ *
+ *         @type string 'author' The comment author field HTML.
+ *         @type string 'email'  The comment author email field HTML.
+ *         @type string 'url'    The comment author URL field HTML.
+ *     }
+ *     @type string 'comment_field'        The comment textarea field HTML.
+ *     @type string 'must_log_in'          HTML element for a 'must be logged in to comment' message.
+ *     @type string 'logged_in_as'         HTML element for a 'logged in as <user>' message.
+ *     @type string 'comment_notes_before' HTML element for a message displayed before the comment form.
+ *                                         Default 'Your email address will not be published.'.
+ *     @type string 'comment_notes_after'  HTML element for a message displayed after the comment form.
+ *                                         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 '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.
+ *     @type string 'cancel_reply_link'    The translatable 'cancel reply' button label. Default 'Cancel reply'.
+ *     @type string 'label_submit'         The translatable 'submit' button label. Default 'Post a comment'.
+ *     @type string 'format'               The comment form format. Default 'xhtml'. Accepts 'xhtml', 'html5'.
+ * }
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object to generate the form for. Default current post.
  */
 function comment_form( $args = array(), $post_id = null ) {
        if ( null === $post_id )
  */
 function comment_form( $args = array(), $post_id = null ) {
        if ( null === $post_id )
@@ -1623,8 +1960,17 @@ function comment_form( $args = array(), $post_id = null ) {
        );
 
        $required_text = sprintf( ' ' . __('Required fields are marked %s'), '<span class="required">*</span>' );
        );
 
        $required_text = sprintf( ' ' . __('Required fields are marked %s'), '<span class="required">*</span>' );
+
+       /**
+        * Filter the default comment form fields.
+        *
+        * @since 3.0.0
+        *
+        * @param array $fields The default comment fields.
+        */
+       $fields = apply_filters( 'comment_form_default_fields', $fields );
        $defaults = array(
        $defaults = array(
-               'fields'               => apply_filters( 'comment_form_default_fields', $fields ),
+               'fields'               => $fields,
                'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>',
                'must_log_in'          => '<p class="must-log-in">' . sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
                'logged_in_as'         => '<p class="logged-in-as">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>' ), get_edit_user_link(), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
                'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>',
                'must_log_in'          => '<p class="must-log-in">' . sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
                'logged_in_as'         => '<p class="logged-in-as">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>' ), get_edit_user_link(), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
@@ -1639,45 +1985,144 @@ function comment_form( $args = array(), $post_id = null ) {
                'format'               => 'xhtml',
        );
 
                'format'               => 'xhtml',
        );
 
+       /**
+        * Filter the comment form default arguments.
+        *
+        * Use 'comment_form_default_fields' to filter the comment fields.
+        *
+        * @since 3.0.0
+        *
+        * @param array $defaults The default comment form arguments.
+        */
        $args = wp_parse_args( $args, apply_filters( 'comment_form_defaults', $defaults ) );
 
        ?>
                <?php if ( comments_open( $post_id ) ) : ?>
        $args = wp_parse_args( $args, apply_filters( 'comment_form_defaults', $defaults ) );
 
        ?>
                <?php if ( comments_open( $post_id ) ) : ?>
-                       <?php do_action( 'comment_form_before' ); ?>
+                       <?php
+                       /**
+                        * Fires before the comment form.
+                        *
+                        * @since 3.0.0
+                        */
+                       do_action( 'comment_form_before' );
+                       ?>
                        <div id="respond" class="comment-respond">
                                <h3 id="reply-title" class="comment-reply-title"><?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?> <small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small></h3>
                                <?php if ( get_option( 'comment_registration' ) && !is_user_logged_in() ) : ?>
                                        <?php echo $args['must_log_in']; ?>
                        <div id="respond" class="comment-respond">
                                <h3 id="reply-title" class="comment-reply-title"><?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?> <small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small></h3>
                                <?php if ( get_option( 'comment_registration' ) && !is_user_logged_in() ) : ?>
                                        <?php echo $args['must_log_in']; ?>
-                                       <?php do_action( 'comment_form_must_log_in_after' ); ?>
+                                       <?php
+                                       /**
+                                        * Fires after the HTML-formatted 'must log in after' message in the comment form.
+                                        *
+                                        * @since 3.0.0
+                                        */
+                                       do_action( 'comment_form_must_log_in_after' );
+                                       ?>
                                <?php else : ?>
                                        <form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>" class="comment-form"<?php echo $html5 ? ' novalidate' : ''; ?>>
                                <?php else : ?>
                                        <form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>" class="comment-form"<?php echo $html5 ? ' novalidate' : ''; ?>>
-                                               <?php do_action( 'comment_form_top' ); ?>
+                                               <?php
+                                               /**
+                                                * Fires at the top of the comment form, inside the <form> tag.
+                                                *
+                                                * @since 3.0.0
+                                                */
+                                               do_action( 'comment_form_top' );
+                                               ?>
                                                <?php if ( is_user_logged_in() ) : ?>
                                                <?php if ( is_user_logged_in() ) : ?>
-                                                       <?php echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity ); ?>
-                                                       <?php do_action( 'comment_form_logged_in_after', $commenter, $user_identity ); ?>
+                                                       <?php
+                                                       /**
+                                                        * Filter the 'logged in' message for the comment form for display.
+                                                        *
+                                                        * @since 3.0.0
+                                                        *
+                                                        * @param string $args['logged_in_as'] The logged-in-as HTML-formatted message.
+                                                        * @param array  $commenter            An array containing the comment author's username, email, and URL.
+                                                        * @param string $user_identity        If the commenter is a registered user, the display name, blank otherwise.
+                                                        */
+                                                       echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity );
+                                                       ?>
+                                                       <?php
+                                                       /**
+                                                        * Fires after the is_user_logged_in() check in the comment form.
+                                                        *
+                                                        * @since 3.0.0
+                                                        *
+                                                        * @param array  $commenter     An array containing the comment author's username, email, and URL.
+                                                        * @param string $user_identity If the commenter is a registered user, the display name, blank otherwise.
+                                                        */
+                                                       do_action( 'comment_form_logged_in_after', $commenter, $user_identity );
+                                                       ?>
                                                <?php else : ?>
                                                        <?php echo $args['comment_notes_before']; ?>
                                                        <?php
                                                <?php else : ?>
                                                        <?php echo $args['comment_notes_before']; ?>
                                                        <?php
+                                                       /**
+                                                        * Fires before the comment fields in the comment form.
+                                                        *
+                                                        * @since 3.0.0
+                                                        */
                                                        do_action( 'comment_form_before_fields' );
                                                        foreach ( (array) $args['fields'] as $name => $field ) {
                                                        do_action( 'comment_form_before_fields' );
                                                        foreach ( (array) $args['fields'] as $name => $field ) {
+                                                               /**
+                                                                * Filter a comment form field for display.
+                                                                *
+                                                                * The dynamic portion of the filter hook, $name, refers to the name
+                                                                * of the comment form field. Such as 'author', 'email', or 'url'.
+                                                                *
+                                                                * @since 3.0.0
+                                                                *
+                                                                * @param string $field The HTML-formatted output of the comment form field.
+                                                                */
                                                                echo apply_filters( "comment_form_field_{$name}", $field ) . "\n";
                                                        }
                                                                echo apply_filters( "comment_form_field_{$name}", $field ) . "\n";
                                                        }
+                                                       /**
+                                                        * Fires after the comment fields in the comment form.
+                                                        *
+                                                        * @since 3.0.0
+                                                        */
                                                        do_action( 'comment_form_after_fields' );
                                                        ?>
                                                <?php endif; ?>
                                                        do_action( 'comment_form_after_fields' );
                                                        ?>
                                                <?php endif; ?>
-                                               <?php echo apply_filters( 'comment_form_field_comment', $args['comment_field'] ); ?>
+                                               <?php
+                                               /**
+                                                * Filter the content of the comment textarea field for display.
+                                                *
+                                                * @since 3.0.0
+                                                *
+                                                * @param string $args['comment_field'] The content of the comment textarea field.
+                                                */
+                                               echo apply_filters( 'comment_form_field_comment', $args['comment_field'] );
+                                               ?>
                                                <?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'] ); ?>" />
                                                        <?php comment_id_fields( $post_id ); ?>
                                                </p>
                                                <?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'] ); ?>" />
                                                        <?php comment_id_fields( $post_id ); ?>
                                                </p>
-                                               <?php do_action( 'comment_form', $post_id ); ?>
+                                               <?php
+                                               /**
+                                                * Fires at the bottom of the comment form, inside the closing </form> tag.
+                                                *
+                                                * @since 1.5.2
+                                                *
+                                                * @param int $post_id The post ID.
+                                                */
+                                               do_action( 'comment_form', $post_id );
+                                               ?>
                                        </form>
                                <?php endif; ?>
                        </div><!-- #respond -->
                                        </form>
                                <?php endif; ?>
                        </div><!-- #respond -->
-                       <?php do_action( 'comment_form_after' ); ?>
-               <?php else : ?>
-                       <?php do_action( 'comment_form_comments_closed' ); ?>
-               <?php endif; ?>
-       <?php
+                       <?php
+                       /**
+                        * Fires after the comment form.
+                        *
+                        * @since 3.0.0
+                        */
+                       do_action( 'comment_form_after' );
+               else :
+                       /**
+                        * Fires after the comment form if comments are closed.
+                        *
+                        * @since 3.0.0
+                        */
+                       do_action( 'comment_form_comments_closed' );
+               endif;
 }
 }
index 4d4c9bc496c9a68605996b4000404db98b70a09f..9975158c7404ac0d94d6649f32c80a153e4d2550 100644 (file)
@@ -117,9 +117,6 @@ function get_approved_comments($post_id) {
  * after being passed through a filter. If the comment is empty, then the global
  * comment variable will be used, if it is set.
  *
  * after being passed through a filter. If the comment is empty, then the global
  * comment variable will be used, if it is set.
  *
- * If the comment is empty, then the global comment variable will be used, if it
- * is set.
- *
  * @since 2.0.0
  * @uses $wpdb
  *
  * @since 2.0.0
  * @uses $wpdb
  *
@@ -199,6 +196,15 @@ class WP_Comment_Query {
         */
        var $meta_query = false;
 
         */
        var $meta_query = false;
 
+       /**
+        * Date query container
+        *
+        * @since 3.7.0
+        * @access public
+        * @var object WP_Date_Query
+        */
+       var $date_query = false;
+
        /**
         * Execute the query
         *
        /**
         * Execute the query
         *
@@ -234,6 +240,7 @@ class WP_Comment_Query {
                        'meta_key' => '',
                        'meta_value' => '',
                        'meta_query' => '',
                        'meta_key' => '',
                        'meta_value' => '',
                        'meta_query' => '',
+                       'date_query' => null, // See WP_Date_Query
                );
 
                $groupby = '';
                );
 
                $groupby = '';
@@ -363,6 +370,11 @@ class WP_Comment_Query {
                        $groupby = "{$wpdb->comments}.comment_ID";
                }
 
                        $groupby = "{$wpdb->comments}.comment_ID";
                }
 
+               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();
+               }
+
                $pieces = array( 'fields', 'join', 'where', 'orderby', 'order', 'limits', 'groupby' );
                $clauses = apply_filters_ref_array( 'comments_clauses', array( compact( $pieces ), &$this ) );
                foreach ( $pieces as $piece )
                $pieces = array( 'fields', 'join', 'where', 'orderby', 'order', 'limits', 'groupby' );
                $clauses = apply_filters_ref_array( 'comments_clauses', array( compact( $pieces ), &$this ) );
                foreach ( $pieces as $piece )
@@ -792,6 +804,9 @@ function get_comment_pages_count( $comments = null, $per_page = null, $threaded
        if ( empty($comments) )
                return 0;
 
        if ( empty($comments) )
                return 0;
 
+       if ( ! get_option( 'page_comments' ) )
+               return 1;
+
        if ( !isset($per_page) )
                $per_page = (int) get_query_var('comments_per_page');
        if ( 0 === $per_page )
        if ( !isset($per_page) )
                $per_page = (int) get_query_var('comments_per_page');
        if ( 0 === $per_page )
@@ -1490,6 +1505,8 @@ function wp_update_comment($commentarr) {
 
        // First, get all of the original fields
        $comment = get_comment($commentarr['comment_ID'], ARRAY_A);
 
        // First, get all of the original fields
        $comment = get_comment($commentarr['comment_ID'], ARRAY_A);
+       if ( empty( $comment ) )
+               return 0;
 
        // Escape data pulled from DB.
        $comment = wp_slash($comment);
 
        // Escape data pulled from DB.
        $comment = wp_slash($comment);
@@ -1755,6 +1772,7 @@ function do_trackbacks($post_id) {
        $excerpt = str_replace(']]>', ']]&gt;', $excerpt);
        $excerpt = wp_html_excerpt($excerpt, 252, '&#8230;');
 
        $excerpt = str_replace(']]>', ']]&gt;', $excerpt);
        $excerpt = wp_html_excerpt($excerpt, 252, '&#8230;');
 
+       /** This filter is documented in wp-includes/post-template.php */
        $post_title = apply_filters('the_title', $post->post_title, $post->ID);
        $post_title = strip_tags($post_title);
 
        $post_title = apply_filters('the_title', $post->post_title, $post->ID);
        $post_title = strip_tags($post_title);
 
@@ -1812,17 +1830,9 @@ function pingback($content, $post_ID) {
 
        $pung = get_pung($post_ID);
 
 
        $pung = get_pung($post_ID);
 
-       // Variables
-       $ltrs = '\w';
-       $gunk = '/#~:.?+=&%@!\-';
-       $punc = '.:?\-';
-       $any = $ltrs . $gunk . $punc;
-
        // Step 1
        // Parsing the post, external links (if any) are stored in the $post_links array
        // Step 1
        // Parsing the post, external links (if any) are stored in the $post_links array
-       // This regexp comes straight from phpfreaks.com
-       // http://www.phpfreaks.com/quickcode/Extract_All_URLs_on_a_Page/15.php
-       preg_match_all("{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x", $content, $post_links_temp);
+       $post_links_temp = wp_extract_urls( $content );
 
        // Step 2.
        // Walking thru the links array
 
        // Step 2.
        // Walking thru the links array
@@ -1833,7 +1843,7 @@ function pingback($content, $post_ID) {
        // http://dummy-weblog.org/post.php
        // We don't wanna ping first and second types, even if they have a valid <link/>
 
        // http://dummy-weblog.org/post.php
        // We don't wanna ping first and second types, even if they have a valid <link/>
 
-       foreach ( (array) $post_links_temp[0] as $link_test ) :
+       foreach ( (array) $post_links_temp as $link_test ) :
                if ( !in_array($link_test, $pung) && (url_to_postid($link_test) != $post_ID) // If we haven't pung it already and it isn't a link to itself
                                && !is_local_attachment($link_test) ) : // Also, let's never ping local attachments.
                        if ( $test = @parse_url($link_test) ) {
                if ( !in_array($link_test, $pung) && (url_to_postid($link_test) != $post_ID) // If we haven't pung it already and it isn't a link to itself
                                && !is_local_attachment($link_test) ) : // Also, let's never ping local attachments.
                        if ( $test = @parse_url($link_test) ) {
index bac06caf96ddf11d61c9ff58c4a338e302726540..0f6f0397f01222d9552406ce5c4f47d3b0934232 100644 (file)
@@ -1 +1 @@
-#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-transform:none;letter-spacing:normal;line-height:1;font:normal 13px/28px sans-serif;color:#ccc;text-shadow:#444 0 -1px 0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}#wpadminbar ul li:before,#wpadminbar ul li:after{content:normal}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:0;border:0;text-decoration:none;background:0}#wpadminbar a:focus,#wpadminbar a:active,#wpadminbar input[type="text"],#wpadminbar input[type="password"],#wpadminbar input[type="number"],#wpadminbar input[type="search"],#wpadminbar input[type="email"],#wpadminbar input[type="url"],#wpadminbar select,#wpadminbar textarea,#wpadminbar div{outline:0}#wpadminbar{direction:ltr;color:#ccc;font:normal 13px/28px sans-serif;height:28px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#464646;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#373737),color-stop(18%,#464646));background-image:-webkit-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-o-linear-gradient(bottom,#373737 0,#464646 5px);background-image:linear-gradient(to top,#373737 0,#464646 5px)}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#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>ul>li{border-right:1px solid #555}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks>ul>li>.ab-empty-item{border-right:1px solid #333}#wpadminbar .quicklinks .ab-top-secondary>li{border-left:1px solid #333;border-right:0;float:right}#wpadminbar .quicklinks .ab-top-secondary>li>a,#wpadminbar .quicklinks .ab-top-secondary>li>.ab-empty-item{border-left:1px solid #555;border-right:0}#wpadminbar .quicklinks a,#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .shortlink-input{height:28px;display:block;padding:0 12px;margin:0}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0 0 0 -1px;padding:0;-webkit-box-shadow:0 4px 4px rgba(0,0,0,0.2);box-shadow:0 4px 4px rgba(0,0,0,0.2);background:#fff;display:none;position:absolute;float:none;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:28px;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;margin:0 -1px 0 0}#wpadminbar .ab-sub-wrapper>.ab-submenu:first-child{border-top:0}#wpadminbar .ab-submenu{padding:6px 0;border-top:1px solid #dfdfdf}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:bold}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item,#wpadminbar .shortlink-input{line-height:26px;height:26px;text-shadow:none;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar.nojs li:hover>.ab-sub-wrapper,#wpadminbar 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:-33px;border-width:1px}#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{color:#fafafa;background:#222;background-image:-webkit-gradient(linear,left bottom,left top,from(#3a3a3a),to(#222));background-image:-webkit-linear-gradient(bottom,#3a3a3a,#222);background-image:-moz-linear-gradient(bottom,#3a3a3a,#222);background-image:-o-linear-gradient(bottom,#3a3a3a,#222);background-image:linear-gradient(to top,#3a3a3a,#222)}#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item{background:#fff;color:#333;text-shadow:none;border-right-color:transparent;border-left-color:transparent}#wpadminbar .hover .ab-label,#wpadminbar.nojq .ab-item:focus .ab-label{color:#fafafa}#wpadminbar .menupop.hover .ab-label{color:#333;text-shadow:none}#wpadminbar .menupop li:hover,#wpadminbar .menupop li.hover,#wpadminbar .quicklinks .menupop .ab-item:focus,#wpadminbar .quicklinks .ab-top-menu .menupop .ab-item:focus{background-color:#eaf2fa}#wpadminbar .ab-submenu .ab-item{color:#333;text-shadow:none}#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:#21759b}#wpadminbar .menupop .menupop>.ab-item{display:block;background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:95% -20px;background-repeat:no-repeat;padding-right:2em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:5% -46px;background-repeat:no-repeat;padding-left:2em;padding-right:1em}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;background:#eee;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li:hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li.hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus{background-color:#dfdfdf}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;text-shadow:none;display:inline;padding:2px 5px;font-size:10px;font-weight:bold;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right;background:#464646;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#373737),color-stop(18%,#464646));background-image:-webkit-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-o-linear-gradient(bottom,#373737 0,#464646 5px);background-image:linear-gradient(to top,#373737 0,#464646 5px)}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{border-right:0;-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#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-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wp-admin-bar-user-actions>li>.ab-item{padding-left:8px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background: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;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{text-shadow:none;display:block}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#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;border:1px solid #999;padding:0;background:#eee;line-height:24px;vertical-align:middle;margin:-3px 0 0 6px;float:none;display:inline}#wpadminbar .quicklinks li .blavatar{vertical-align:middle;margin:-3px 4px 0 0;padding:0}#wpadminbar .quicklinks li div.blavatar{background:url('../images/wpmini-blue.png') no-repeat;height:16px;width:16px;display:inline-block}#wpadminbar #wp-admin-bar-search .ab-item{padding:0}#wpadminbar #wp-admin-bar-search .ab-item{background:transparent}#wpadminbar #adminbarsearch{height:28px;padding:0 2px}#wpadminbar #adminbarsearch .adminbar-input{font:13px/24px sans-serif;height:24px;width:24px;border:0;padding:0 3px 0 23px;margin:0;color:#ccc;text-shadow:#444 0 -1px 0;background-color:rgba(255,255,255,0);background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:3px 2px;background-repeat:no-repeat;outline:0;cursor:pointer;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;-webkit-transition-property:width,background;-webkit-transition-timing-function:ease;-moz-transition-duration:400ms;-moz-transition-property:width,background;-moz-transition-timing-function:ease;-o-transition-duration:400ms;-o-transition-property:width,background;-o-transition-timing-function:ease}#wpadminbar.ie7 #adminbarsearch .adminbar-input{margin-top:1px;width:120px}#wpadminbar #adminbarsearch .adminbar-input:focus{color:#555;text-shadow:0 1px 0 #fff;width:200px;background-color:rgba(255,255,255,0.9);cursor:text}#wpadminbar.ie8 #adminbarsearch .adminbar-input{background-color:#464646}#wpadminbar.ie8 #adminbarsearch .adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#ddd}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#ddd}#wpadminbar #adminbarsearch .adminbar-button{display:none}#wpadminbar #wp-admin-bar-appearance{border-top:0;margin-top:-12px}#wpadminbar #wp-admin-bar-appearance{border-top:0;margin-top:-12px}#wpadminbar .ab-icon{position:relative;float:left;width:16px;height:16px;margin-top:6px}#wpadminbar .ab-label{margin-left:4px}#wp-admin-bar-wp-logo>.ab-item .ab-icon{width:20px;height:20px;margin-top:4px;background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:0 -76px;background-repeat:no-repeat}#wpadminbar.nojs #wp-admin-bar-wp-logo:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-wp-logo.hover>.ab-item .ab-icon{background-position:0 -104px}#wp-admin-bar-updates>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:-2px -159px;background-repeat:no-repeat}#wp-admin-bar-comments>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:-1px -134px;background-repeat:no-repeat}#wpadminbar span.count-0{display:none}#wpadminbar #wp-admin-bar-new-content>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:-2px -182px;background-repeat:no-repeat}#wpadminbar.nojs #wp-admin-bar-new-content:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-new-content.hover>.ab-item .ab-icon{background-position:-2px -203px}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize{display:none}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wpadminbar .menupop .menupop>.ab-item,#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item,#wpadminbar #adminbarsearch .adminbar-input,#wp-admin-bar-wp-logo>.ab-item .ab-icon,#wp-admin-bar-updates>.ab-item .ab-icon,#wp-admin-bar-comments>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-new-content>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite-2x.png?d=20120830);background-size:20px 220px}#wpadminbar .quicklinks li div.blavatar{background:url('../images/wpmini-blue-2x.png') no-repeat;background-size:16px 16px}}#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:bold;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;text-shadow:none;border-radius:3px;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}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}
\ No newline at end of file
+#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-transform:none;letter-spacing:normal;line-height:1;font:400 13px/28px sans-serif;color:#ccc;text-shadow:#444 0 -1px 0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}#wpadminbar ul li:before,#wpadminbar ul li:after{content:normal}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:0;border:0;text-decoration:none;background:0 0}#wpadminbar a:focus,#wpadminbar a:active,#wpadminbar input[type=text],#wpadminbar input[type=password],#wpadminbar input[type=number],#wpadminbar input[type=search],#wpadminbar input[type=email],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea,#wpadminbar div{outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/28px sans-serif;height:28px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#464646;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#373737),color-stop(18%,#464646));background-image:-webkit-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-o-linear-gradient(bottom,#373737 0,#464646 5px);background-image:linear-gradient(to top,#373737 0,#464646 5px)}#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 .quicklinks{border-left:1px solid transparent}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks>ul>li{border-right:1px solid #555}#wpadminbar .quicklinks>ul>li>a,#wpadminbar .quicklinks>ul>li>.ab-empty-item{border-right:1px solid #333}#wpadminbar .quicklinks .ab-top-secondary>li{border-left:1px solid #333;border-right:0;float:right}#wpadminbar .quicklinks .ab-top-secondary>li>a,#wpadminbar .quicklinks .ab-top-secondary>li>.ab-empty-item{border-left:1px solid #555;border-right:0}#wpadminbar .quicklinks a,#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .shortlink-input{height:28px;display:block;padding:0 12px;margin:0}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0 0 0 -1px;padding:0;-webkit-box-shadow:0 4px 4px rgba(0,0,0,.2);box-shadow:0 4px 4px rgba(0,0,0,.2);background:#fff;display:none;position:absolute;float:none;border-width:0 1px 1px;border-style:solid;border-color:#dfdfdf}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:28px;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;margin:0 -1px 0 0}#wpadminbar .ab-sub-wrapper>.ab-submenu:first-child{border-top:0}#wpadminbar .ab-submenu{padding:6px 0;border-top:1px solid #dfdfdf}#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.nojs .quicklinks .menupop:hover ul li .ab-item,#wpadminbar .shortlink-input{line-height:26px;height:26px;text-shadow:none;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar.nojs li:hover>.ab-sub-wrapper,#wpadminbar 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:-33px;border-width:1px}#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{color:#fafafa;background:#222;background-image:-webkit-gradient(linear,left bottom,left top,from(#3a3a3a),to(#222));background-image:-webkit-linear-gradient(bottom,#3a3a3a,#222);background-image:-moz-linear-gradient(bottom,#3a3a3a,#222);background-image:-o-linear-gradient(bottom,#3a3a3a,#222);background-image:linear-gradient(to top,#3a3a3a,#222)}#wpadminbar.nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item{background:#fff;color:#333;text-shadow:none;border-right-color:transparent;border-left-color:transparent}#wpadminbar .hover .ab-label,#wpadminbar.nojq .ab-item:focus .ab-label{color:#fafafa}#wpadminbar .menupop.hover .ab-label{color:#333;text-shadow:none}#wpadminbar .menupop li:hover,#wpadminbar .menupop li.hover,#wpadminbar .quicklinks .menupop .ab-item:focus,#wpadminbar .quicklinks .ab-top-menu .menupop .ab-item:focus{background-color:#eaf2fa}#wpadminbar .ab-submenu .ab-item{color:#333;text-shadow:none}#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:#21759B}#wpadminbar .menupop .menupop>.ab-item{display:block;background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:95% -20px;background-repeat:no-repeat;padding-right:2em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:5% -46px;background-repeat:no-repeat;padding-left:2em;padding-right:1em}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;background:#eee;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li:hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li.hover,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus{background-color:#dfdfdf}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;text-shadow:none;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;background:#464646;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#373737),color-stop(18%,#464646));background-image:-webkit-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-moz-linear-gradient(bottom,#373737 0,#464646 5px);background-image:-o-linear-gradient(bottom,#373737 0,#464646 5px);background-image:linear-gradient(to top,#373737 0,#464646 5px)}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{border-right:0;-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#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-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wp-admin-bar-user-actions>li>.ab-item{padding-left:8px}#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{text-shadow:none;display:block}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#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;border:1px solid #999;padding:0;background:#eee;line-height:24px;vertical-align:middle;margin:-3px 0 0 6px;float:none;display:inline}#wpadminbar .quicklinks li .blavatar{vertical-align:middle;margin:-3px 4px 0 0;padding:0}#wpadminbar .quicklinks li div.blavatar{background:url(../images/wpmini-blue.png) no-repeat;height:16px;width:16px;display:inline-block}#wpadminbar #wp-admin-bar-search .ab-item{padding:0}#wpadminbar #wp-admin-bar-search .ab-item{background:transparent}#wpadminbar #adminbarsearch{height:28px;padding:0 2px}#wpadminbar #adminbarsearch .adminbar-input{font:13px/24px sans-serif;height:24px;width:24px;border:0;padding:0 3px 0 23px;margin:0;color:#ccc;text-shadow:#444 0 -1px 0;background-color:rgba(255,255,255,0);background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:3px 2px;background-repeat:no-repeat;outline:0;cursor:pointer;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;-webkit-transition-property:width,background;-webkit-transition-timing-function:ease;-moz-transition-duration:400ms;-moz-transition-property:width,background;-moz-transition-timing-function:ease;-o-transition-duration:400ms;-o-transition-property:width,background;-o-transition-timing-function:ease}#wpadminbar.ie7 #adminbarsearch .adminbar-input{margin-top:1px;width:120px}#wpadminbar #adminbarsearch .adminbar-input:focus{color:#555;text-shadow:0 1px 0 #fff;width:200px;background-color:rgba(255,255,255,.9);cursor:text}#wpadminbar.ie8 #adminbarsearch .adminbar-input{background-color:#464646}#wpadminbar.ie8 #adminbarsearch .adminbar-input:focus{background-color:#fff}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#ddd}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#ddd}#wpadminbar #adminbarsearch .adminbar-button{display:none}#wpadminbar #wp-admin-bar-appearance{border-top:0;margin-top:-12px}#wpadminbar #wp-admin-bar-appearance{border-top:0;margin-top:-12px}#wpadminbar .ab-icon{position:relative;float:left;width:16px;height:16px;margin-top:6px}#wpadminbar .ab-label{margin-left:4px}#wp-admin-bar-wp-logo>.ab-item .ab-icon{width:20px;height:20px;margin-top:4px;background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:0 -76px;background-repeat:no-repeat}#wpadminbar.nojs #wp-admin-bar-wp-logo:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-wp-logo.hover>.ab-item .ab-icon{background-position:0 -104px}#wp-admin-bar-updates>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:-2px -159px;background-repeat:no-repeat}#wp-admin-bar-comments>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:-1px -134px;background-repeat:no-repeat}#wpadminbar span.count-0{display:none}#wpadminbar #wp-admin-bar-new-content>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite.png?d=20120830);background-position:-2px -182px;background-repeat:no-repeat}#wpadminbar.nojs #wp-admin-bar-new-content:hover>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-new-content.hover>.ab-item .ab-icon{background-position:-2px -203px}.no-customize-support .hide-if-no-customize,.customize-support .hide-if-customize,.no-customize-support.wp-core-ui .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.customize-support.wp-core-ui .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize{display:none}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wpadminbar .menupop .menupop>.ab-item,#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item,#wpadminbar #adminbarsearch .adminbar-input,#wp-admin-bar-wp-logo>.ab-item .ab-icon,#wp-admin-bar-updates>.ab-item .ab-icon,#wp-admin-bar-comments>.ab-item .ab-icon,#wpadminbar #wp-admin-bar-new-content>.ab-item .ab-icon{background-image:url(../images/admin-bar-sprite-2x.png?d=20120830);background-size:20px 220px}#wpadminbar .quicklinks li div.blavatar{background:url(../images/wpmini-blue-2x.png) no-repeat;background-size:16px 16px}}#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;text-shadow:none;border-radius:3px;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}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}
\ No newline at end of file
index 31470d8d313557debe646fb151f4954e7d010d4e..50079461706e8626acc24071ac517fe9d21d8f3f 100644 (file)
@@ -1 +1 @@
-.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:12px;line-height:23px;height:24px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:3px;-webkit-appearance:none;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="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;padding:0}.wp-core-ui .button.button-large,.wp-core-ui .button-group.button-large .button{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button.button-small,.wp-core-ui .button-group.button-small .button{height:21px;line-height:20px;padding:0 8px 1px}.wp-core-ui .button.button-hero,.wp-core-ui .button-group.button-hero .button{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 .button,.wp-core-ui .button-secondary{background:#f3f3f3;background-image:-webkit-gradient(linear,left top,left bottom,from(#fefefe),to(#f4f4f4));background-image:-webkit-linear-gradient(top,#fefefe,#f4f4f4);background-image:-moz-linear-gradient(top,#fefefe,#f4f4f4);background-image:-o-linear-gradient(top,#fefefe,#f4f4f4);background-image:linear-gradient(to bottom,#fefefe,#f4f4f4);border-color:#bbb;color:#333;text-shadow:0 1px 0 #fff}.wp-core-ui .button.hover,.wp-core-ui .button:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button:focus,.wp-core-ui .button-secondary:focus{background:#f3f3f3;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f3f3f3));background-image:-webkit-linear-gradient(top,#fff,#f3f3f3);background-image:-moz-linear-gradient(top,#fff,#f3f3f3);background-image:-ms-linear-gradient(top,#fff,#f3f3f3);background-image:-o-linear-gradient(top,#fff,#f3f3f3);background-image:linear-gradient(to bottom,#fff,#f3f3f3);border-color:#999;color:#222}.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)}.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;background-image:-webkit-gradient(linear,left top,left bottom,from(#f4f4f4),to(#fefefe));background-image:-webkit-linear-gradient(top,#f4f4f4,#fefefe);background-image:-moz-linear-gradient(top,#f4f4f4,#fefefe);background-image:-ms-linear-gradient(top,#f4f4f4,#fefefe);background-image:-o-linear-gradient(top,#f4f4f4,#fefefe);background-image:linear-gradient(to bottom,#f4f4f4,#fefefe);border-color:#999;color:#333;text-shadow:0 -1px 0 #fff;-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)}.wp-core-ui .button[disabled],.wp-core-ui .button:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-disabled{color:#aaa!important;border-color:#ddd!important;background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f4f4f4))!important;background-image:-webkit-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:-moz-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:-ms-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:-o-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:linear-gradient(to bottom,#f9f9f9,#f4f4f4)!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-color:#21759b;background-image:-webkit-gradient(linear,left top,left bottom,from(#2a95c5),to(#21759b));background-image:-webkit-linear-gradient(top,#2a95c5,#21759b);background-image:-moz-linear-gradient(top,#2a95c5,#21759b);background-image:-ms-linear-gradient(top,#2a95c5,#21759b);background-image:-o-linear-gradient(top,#2a95c5,#21759b);background-image:linear-gradient(to bottom,#2a95c5,#21759b);border-color:#21759b;border-bottom-color:#1e6a8d;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,0.5);box-shadow:inset 0 1px 0 rgba(120,200,230,0.5);color:#fff;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,0.1)}.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{background-color:#278ab7;background-image:-webkit-gradient(linear,left top,left bottom,from(#2e9fd2),to(#21759b));background-image:-webkit-linear-gradient(top,#2e9fd2,#21759b);background-image:-moz-linear-gradient(top,#2e9fd2,#21759b);background-image:-ms-linear-gradient(top,#2e9fd2,#21759b);background-image:-o-linear-gradient(top,#2e9fd2,#21759b);background-image:linear-gradient(to bottom,#2e9fd2,#21759b);border-color:#1b607f;-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;text-shadow:0 -1px 0 rgba(0,0,0,0.3)}.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)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary:active{background:#1b607f;background-image:-webkit-gradient(linear,left top,left bottom,from(#21759b),to(#278ab7));background-image:-webkit-linear-gradient(top,#21759b,#278ab7);background-image:-moz-linear-gradient(top,#21759b,#278ab7);background-image:-ms-linear-gradient(top,#21759b,#278ab7);background-image:-o-linear-gradient(top,#21759b,#278ab7);background-image:linear-gradient(to bottom,#21759b,#278ab7);border-color:#124560 #2382ae #2382ae #2382ae;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);text-shadow:0 1px 0 rgba(0,0,0,0.1)}.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,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;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{border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{border-radius:0 3px 3px 0}
\ 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:12px;line-height:23px;height:24px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-radius:3px;-webkit-appearance:none;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=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;padding:0}.wp-core-ui .button.button-large,.wp-core-ui .button-group.button-large .button{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button.button-small,.wp-core-ui .button-group.button-small .button{height:21px;line-height:20px;padding:0 8px 1px}.wp-core-ui .button.button-hero,.wp-core-ui .button-group.button-hero .button{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 .button,.wp-core-ui .button-secondary{background:#f3f3f3;background-image:-webkit-gradient(linear,left top,left bottom,from(#fefefe),to(#f4f4f4));background-image:-webkit-linear-gradient(top,#fefefe,#f4f4f4);background-image:-moz-linear-gradient(top,#fefefe,#f4f4f4);background-image:-o-linear-gradient(top,#fefefe,#f4f4f4);background-image:linear-gradient(to bottom,#fefefe,#f4f4f4);border-color:#bbb;color:#333;text-shadow:0 1px 0 #fff}.wp-core-ui .button.hover,.wp-core-ui .button:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button:focus,.wp-core-ui .button-secondary:focus{background:#f3f3f3;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f3f3f3));background-image:-webkit-linear-gradient(top,#fff,#f3f3f3);background-image:-moz-linear-gradient(top,#fff,#f3f3f3);background-image:-ms-linear-gradient(top,#fff,#f3f3f3);background-image:-o-linear-gradient(top,#fff,#f3f3f3);background-image:linear-gradient(to bottom,#fff,#f3f3f3);border-color:#999;color:#222}.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)}.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;background-image:-webkit-gradient(linear,left top,left bottom,from(#f4f4f4),to(#fefefe));background-image:-webkit-linear-gradient(top,#f4f4f4,#fefefe);background-image:-moz-linear-gradient(top,#f4f4f4,#fefefe);background-image:-ms-linear-gradient(top,#f4f4f4,#fefefe);background-image:-o-linear-gradient(top,#f4f4f4,#fefefe);background-image:linear-gradient(to bottom,#f4f4f4,#fefefe);border-color:#999;color:#333;text-shadow:0 -1px 0 #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[disabled],.wp-core-ui .button:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-disabled{color:#aaa!important;border-color:#ddd!important;background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f4f4f4))!important;background-image:-webkit-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:-moz-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:-ms-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:-o-linear-gradient(top,#f9f9f9,#f4f4f4)!important;background-image:linear-gradient(to bottom,#f9f9f9,#f4f4f4)!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-color:#21759b;background-image:-webkit-gradient(linear,left top,left bottom,from(#2a95c5),to(#21759b));background-image:-webkit-linear-gradient(top,#2a95c5,#21759b);background-image:-moz-linear-gradient(top,#2a95c5,#21759b);background-image:-ms-linear-gradient(top,#2a95c5,#21759b);background-image:-o-linear-gradient(top,#2a95c5,#21759b);background-image:linear-gradient(to bottom,#2a95c5,#21759b);border-color:#21759b;border-bottom-color:#1e6a8d;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5);box-shadow:inset 0 1px 0 rgba(120,200,230,.5);color:#fff;text-decoration:none;text-shadow:0 1px 0 rgba(0,0,0,.1)}.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:hover,.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{background-color:#278ab7;background-image:-webkit-gradient(linear,left top,left bottom,from(#2e9fd2),to(#21759b));background-image:-webkit-linear-gradient(top,#2e9fd2,#21759b);background-image:-moz-linear-gradient(top,#2e9fd2,#21759b);background-image:-ms-linear-gradient(top,#2e9fd2,#21759b);background-image:-o-linear-gradient(top,#2e9fd2,#21759b);background-image:linear-gradient(to bottom,#2e9fd2,#21759b);border-color:#1b607f;-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;text-shadow:0 -1px 0 rgba(0,0,0,.3)}.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:hover,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary:active{background:#1b607f;background-image:-webkit-gradient(linear,left top,left bottom,from(#21759b),to(#278ab7));background-image:-webkit-linear-gradient(top,#21759b,#278ab7);background-image:-moz-linear-gradient(top,#21759b,#278ab7);background-image:-ms-linear-gradient(top,#21759b,#278ab7);background-image:-o-linear-gradient(top,#21759b,#278ab7);background-image:linear-gradient(to bottom,#21759b,#278ab7);border-color:#124560 #2382ae #2382ae;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);text-shadow:0 1px 0 rgba(0,0,0,.1)}.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;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{border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{border-radius:0 3px 3px 0}
\ No newline at end of file
index 17285608790a1fcc6e8a5924a54ee6d88e361583..9cab91b9c53b71a3eaa8e4964a4fe0142e9e58d5 100644 (file)
@@ -2084,6 +2084,12 @@ RTL
        background-image: linear-gradient(to top, #ececec, #f9f9f9);
 }
 
        background-image: linear-gradient(to top, #ececec, #f9f9f9);
 }
 
+#mce_fullscreen_container {
+       background: #fff;
+       /* Fix for the default fullscreen plugin for the media modal */
+       z-index: 110000 !important;
+}
+
 /* =CSS 3 transitions
 -------------------------------------------------------------- */
 
 /* =CSS 3 transitions
 -------------------------------------------------------------- */
 
index a7c553043a59f34947de03456df0847980226623..a7f64b3d0a6942744509ac15ad2d49bfca230e68 100644 (file)
@@ -1,4 +1,4 @@
-.wp_themeSkin table,.wp_themeSkin tbody,.wp_themeSkin a,.wp_themeSkin img,.wp_themeSkin tr,.wp_themeSkin div,.wp_themeSkin td,.wp_themeSkin iframe,.wp_themeSkin span,.wp_themeSkin *,.wp_themeSkin .mceText{border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;font-weight:normal;cursor:default;vertical-align:baseline;width:auto;border-collapse:separate}.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{text-decoration:none;font-weight:normal;cursor:default}.wp_themeSkin table td{vertical-align:middle}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#555}.wp_themeSkin iframe{display:block}.wp_themeSkin #mce_fullscreen_ifr{background-color:#fff}.wp_themeSkin .mceToolbar{padding:1px}.wp_themeSkin .mceExternalToolbar{position:absolute;border-bottom:0;display:none}.wp_themeSkin .mceExternalToolbar td.mceToolbar{padding-right:13px}.wp_themeSkin .mceExternalClose{position:absolute;top:3px;right:3px;width:7px;height:7px;background:url("../js/tinymce/themes/advanced/img/icons.gif") -820px 0}.wp_themeSkin table.mceToolbar,.wp_themeSkin tr.mceFirst .mceToolbar tr td,.wp_themeSkin tr.mceLast .mceToolbar tr td{border:0;margin:0;padding:0}.wp_themeSkin table.mceLayout{border:0}.wp_themeSkin .mceStatusbar{display:block;font-family:sans-serif;font-size:12px;line-height:16px;padding:0 0 0 8px;overflow:visible;height:20px;border-top:1px solid #dfdfdf;color:#000;background-color:#f5f5f5}.rtl .wp_themeSkin .mceStatusbar{padding:0 8px 0 0}.wp_themeSkin .mceStatusbar *{color:#555}.wp_themeSkin .mceStatusbar div{float:left;padding:2px}.rtl .wp_themeSkin .mceStatusbar div{float:right}.wp_themeSkin .mceStatusbar a.mceResize{display:block;float:right;background:url("../js/tinymce/themes/advanced/img/icons.gif") -800px 0;width:20px;height:20px;cursor:se-resize}.rtl .wp_themeSkin .mceStatusbar a.mceResize{float:left}.wp_themeSkin .mceStatusbar a:hover{text-decoration:underline}.wp_themeSkin table.mceToolbar{margin:0 6px 2px}.wp_themeSkin table.mceToolbar :active,.wp_themeSkin table.mceToolbar :focus,.wp_themeSkin table.mceToolbar:focus,.wp_themeSkin span.mceSeparator:focus{outline:0}.wp_themeSkin #content_toolbar1{margin-top:2px}.wp_themeSkin .mceToolbar .mceToolbarEndListBox span{display:none}.wp_themeSkin span.mceIcon,.wp_themeSkin img.mceIcon{display:block;width:20px;height:20px}.wp_themeSkin .mceIcon{background:url("../js/tinymce/themes/advanced/img/icons.gif") no-repeat 20px 20px}.wp_themeSkin .mceButton{display:block;width:20px;height:20px;cursor:default;padding:1px 2px;margin:1px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin a.mceButtonEnabled:hover{background-image:inherit 0 -10px}.wp_themeSkin .mceOldBoxModel a.mceButton span,.wp_themeSkin .mceOldBoxModel a.mceButton img{margin:0 0 0 1px}.wp_themeSkin .mceButtonDisabled .mceIcon{opacity:.2;filter:alpha(opacity=20)}.wp_themeSkin .mceSeparator{display:none}.wp_themeSkin .mceListBox,.wp_themeSkin .mceListBox a{display:block}.wp_themeSkin .mceListBox .mceText{padding:1px 4px 1px 5px;width:70px;text-align:left;text-decoration:none;-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px;font-family:sans-serif;font-size:12px;height:20px;line-height:20px;overflow:hidden}.wp_themeSkin .mceListBox{margin:1px;direction:ltr;background-color:#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)}.wp_themeSkin .mceListBox .mceOpen{width:12px;height:20px;border-collapse:separate;padding:1px;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-bottom-left-radius:0;border-top-left-radius:0}.wp_themeSkin .mceListBox .mceFirst a{border-style:solid;border-width:1px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin .mceListBoxMenu .mce_formatPreview{line-height:normal}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url("../images/down_arrow.gif");background-position:3px 1px;background-repeat:no-repeat}.wp_themeSkin .mceListBoxDisabled .mceText{color:gray}.wp_themeSkin .mceListBoxMenu{overflow:auto;overflow-x:hidden}.wp_themeSkin .mceOldBoxModel .mceListBox .mceText{height:22px}.wp_themeSkin select.mceListBox{font-family:sans-serif;font-size:12px;border-color:#b2b2b2;background-color:#fff}.wp_themeSkin .mceSplitButton a,.wp_themeSkin .mceSplitButton span{display:block;height:20px}.wp_themeSkin .mceSplitButton{display:block;direction:ltr}.wp_themeSkin table.mceSplitButton td{padding:2px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin table.mceSplitButton:hover td{background-image:inherit 0 -10px}.wp_themeSkin .mceSplitButton a.mceAction{height:20px;width:20px;padding:1px 2px;border-right:0 none}.wp_themeSkin .mceSplitButton span.mceAction{background-image:url("../js/tinymce/themes/advanced/img/icons.gif");background-repeat:no-repeat;background-color:transparent;width:20px}.wp_themeSkin .mceSplitButton a.mceOpen{width:11px;height:20px;background-position:0 2px;background-repeat:no-repeat;padding:1px 0}.wp_themeSkin .mceSplitButton span.mceOpen{display:none}.wp_themeSkin .mceSplitButtonDisabled .mceAction{opacity:.3;filter:alpha(opacity=30)}.wp_themeSkin .mceListBox a.mceText,.wp_themeSkin .mceSplitButton a.mceAction{-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px}.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceListBox a.mceOpen{-webkit-border-bottom-right-radius:2px;-webkit-border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin span.mce_undo,.wp_themeSkin span.mce_redo,.wp_themeSkin span.mce_bullist,.wp_themeSkin span.mce_numlist,.wp_themeSkin span.mce_blockquote,.wp_themeSkin span.mce_charmap,.wp_themeSkin span.mce_bold,.wp_themeSkin span.mce_italic,.wp_themeSkin span.mce_underline,.wp_themeSkin span.mce_justifyleft,.wp_themeSkin span.mce_justifyright,.wp_themeSkin span.mce_justifycenter,.wp_themeSkin span.mce_justifyfull,.wp_themeSkin span.mce_indent,.wp_themeSkin span.mce_outdent,.wp_themeSkin span.mce_link,.wp_themeSkin span.mce_unlink,.wp_themeSkin span.mce_help,.wp_themeSkin span.mce_removeformat,.wp_themeSkin span.mce_fullscreen,.wp_themeSkin span.mce_wp_fullscreen,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_pastetext,.wp_themeSkin span.mce_pasteword,.wp_themeSkin span.mce_wp_help,.wp_themeSkin span.mce_wp_adv,.wp_themeSkin span.mce_wp_more,.wp_themeSkin span.mce_strikethrough,.wp_themeSkin span.mce_spellchecker,.wp_themeSkin span.mce_forecolor,.wp_themeSkin .mce_forecolorpicker,.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceSplitButton span.mce_numlist,.wp_themeSkin .mceSplitButton span.mce_bullist{background-image:url('../images/wpicons.png?ver=20120720')}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#bbb}.wp_themeSkin .mceColorSplitMenu td{padding:2px}.wp_themeSkin .mceColorSplitMenu a{display:block;width:9px;height:9px;overflow:hidden;border-color:#b2b2b2}.wp_themeSkin .mceColorSplitMenu td.mceMoreColors{padding:1px 3px 1px 1px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{width:100%;height:auto;text-align:center;font-family:Tahoma,Verdana,Arial,Helvetica;font-size:11px;line-height:20px;border-color:#fff}.wp_themeSkin .mceColorPreview{margin:-5px 0 0 2px;width:16px;height:4px;overflow:hidden}.wp_themeSkin .mceMenu{position:absolute;left:0;top:0;z-index:1000;border-color:#ddd;direction:ltr}.wp_themeSkin .mceNoIcons span.mceIcon{width:0}.wp_themeSkin .mceNoIcons a .mceText{padding-left:10px}.wp_themeSkin .mceMenu table{background-color:#ebeaeb}.wp_themeSkin .mceMenu a,.wp_themeSkin .mceMenu span,.wp_themeSkin .mceMenu{display:block}.wp_themeSkin .mceMenu td{height:20px;overflow:hidden}.wp_themeSkin .mceMenu a{position:relative;padding:3px 0 4px 0;text-decoration:none!important}.wp_themeSkin .mceMenu .mceText{position:relative;display:block;font-family:Tahoma,Verdana,Arial,Helvetica;cursor:default;margin:0;padding:0 25px;color:#000}.wp_themeSkin .mceMenu span.mceText,.wp_themeSkin .mceMenu .mcePreview{font-size:12px}.wp_themeSkin .mceMenu pre.mceText{font-family:Monospace}.wp_themeSkin .mceMenu .mceIcon{position:absolute;top:0;left:0;width:22px}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5}.wp_themeSkin td.mceMenuItemSeparator{height:1px;background-color:#aaa}.wp_themeSkin .mceMenuItemTitle a{border-top:0;border-right:0;border-left:0;border-bottom:1px solid #aaa;text-decoration:none!important;background-color:#ccc}.wp_themeSkin .mceMenuItemTitle span.mceText{font-weight:bold;padding-left:4px;color:#000}.wp_themeSkin .mceMenuItemSelected .mceIcon{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_check.gif");color:#888}.wp_themeSkin .mceNoIcons .mceMenuItemSelected a{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat -6px center}.wp_themeSkin .mceMenu span.mceMenuLine{display:none}.wp_themeSkin .mceMenuItemSub a{background:url("../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif") no-repeat top right}.wp_themeSkin .mceBlocker{position:absolute;left:0;top:0;z-index:1000;opacity:.5;filter:alpha(opacity=50);background:#FFF}.wp_themeSkin .mceProgress{position:absolute;left:0;top:0;z-index:1001;background:url("../js/tinymce/themes/advanced/skins/default/img/progress.gif") no-repeat;width:32px;height:32px;margin:-16px 0 0 -16px}.wp_themeSkin .mcePlaceHolder{border:1px dotted gray}.mceRtl .mceListBox .mceText{text-align:right;padding:0 4px 0 0}.mceRtl .mceMenuItem .mceText{text-align:right}.wp_themeSkin .mce_address span.mceText{font-style:italic}.wp_themeSkin .mce_pre span.mceText{font-family:monospace}.wp_themeSkin .mce_h1 span.mceText{font-weight:bolder;font-size:18px}.wp_themeSkin .mce_h2 span.mceText{font-weight:bolder;font-size:16px}.wp_themeSkin .mce_h3 span.mceText{font-weight:bolder;font-size:14px}.wp_themeSkin .mce_h4 span.mceText{font-weight:bolder;font-size:12px}.wp_themeSkin .mce_h5 span.mceText{font-weight:bolder;font-size:11px}.wp_themeSkin .mce_h6 span.mceText{font-weight:bolder;font-size:10px}.wp_themeSkin span.mce_undo{background-position:-500px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_undo,.wp_themeSkin .mceButtonActive span.mce_undo{background-position:-500px 0}.wp_themeSkin span.mce_redo{background-position:-480px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_redo,.wp_themeSkin .mceButtonActive span.mce_redo{background-position:-480px 0}.wp_themeSkin span.mce_bullist{background-position:-40px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,.wp_themeSkin .mceButtonActive span.mce_bullist,.wp_themeSkin .mceSplitButton:hover span.mce_bullist{background-position:-40px 0}.wp_themeSkin span.mce_numlist{background-position:-60px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,.wp_themeSkin .mceButtonActive span.mce_numlist,.wp_themeSkin .mceSplitButton:hover span.mce_numlist{background-position:-60px 0}.wp_themeSkin span.mce_blockquote{background-position:-80px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,.wp_themeSkin .mceButtonActive span.mce_blockquote{background-position:-80px 0}.wp_themeSkin span.mce_charmap{background-position:-420px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,.wp_themeSkin .mceButtonActive span.mce_charmap{background-position:-420px 0}.wp_themeSkin span.mce_bold{background-position:0 -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_bold,.wp_themeSkin .mceButtonActive span.mce_bold{background-position:0 0}.wp_themeSkin span.mce_italic{background-position:-20px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_italic,.wp_themeSkin .mceButtonActive span.mce_italic{background-position:-20px 0}.wp_themeSkin span.mce_underline{background-position:-280px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_underline,.wp_themeSkin .mceButtonActive span.mce_underline{background-position:-280px 0}.wp_themeSkin span.mce_justifyleft{background-position:-100px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,.wp_themeSkin .mceButtonActive span.mce_justifyleft{background-position:-100px 0}.wp_themeSkin span.mce_justifyright{background-position:-140px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,.wp_themeSkin .mceButtonActive span.mce_justifyright{background-position:-140px 0}.wp_themeSkin span.mce_justifycenter{background-position:-120px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,.wp_themeSkin .mceButtonActive span.mce_justifycenter{background-position:-120px 0}.wp_themeSkin span.mce_justifyfull{background-position:-300px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,.wp_themeSkin .mceButtonActive span.mce_justifyfull{background-position:-300px 0}.wp_themeSkin span.mce_indent{background-position:-460px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_indent,.wp_themeSkin .mceButtonActive span.mce_indent{background-position:-460px 0}.wp_themeSkin span.mce_outdent{background-position:-440px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,.wp_themeSkin .mceButtonActive span.mce_outdent{background-position:-440px 0}.wp_themeSkin span.mce_link{background-position:-160px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_link,.wp_themeSkin .mceButtonActive span.mce_link{background-position:-160px 0}.wp_themeSkin span.mce_unlink{background-position:-180px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,.wp_themeSkin .mceButtonActive span.mce_unlink{background-position:-180px 0}.wp_themeSkin span.mce_help{background-position:-520px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_help,.wp_themeSkin .mceButtonActive span.mce_help{background-position:-520px 0}.wp_themeSkin span.mce_removeformat{background-position:-380px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,.wp_themeSkin .mceButtonActive span.mce_removeformat{background-position:-380px 0}.wp_themeSkin span.mce_strikethrough{background-position:-540px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,.wp_themeSkin .mceButtonActive span.mce_strikethrough{background-position:-540px 0}.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor{background-position:-320px -20px}.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,.wp_themeSkin .mceSplitButtonSelected span.mce_forecolor{background-position:-320px 0}.wp_themeSkin .mce_forecolorpicker{background-position:-320px -20px}.wp_themeSkin span.mce_fullscreen{background-position:-240px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,.wp_themeSkin .mceButtonActive span.mce_fullscreen{background-position:-240px 0}.wp_themeSkin span.mce_wp_fullscreen{background-position:-240px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,.wp_themeSkin .mceButtonActive span.mce_wp_fullscreen{background-position:-240px 0}.wp_themeSkin span.mce_media{background-position:-400px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_media,.wp_themeSkin .mceButtonActive span.mce_media{background-position:-400px 0}.wp_themeSkin span.mce_pastetext{background-position:-340px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,.wp_themeSkin .mceButtonActive span.mce_pastetext{background-position:-340px 0}.wp_themeSkin span.mce_pasteword{background-position:-360px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,.wp_themeSkin .mceButtonActive span.mce_pasteword{background-position:-360px 0}.wp_themeSkin span.mce_spellchecker{background-position:-220px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceButtonActive span.mce_spellchecker,.wp_themeSkin .mceSplitButtonSelected span.mce_spellchecker{background-position:-220px 0}.wp_themeSkin span.mce_wp_help{background-position:-520px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,.wp_themeSkin .mceButtonActive span.mce_wp_help{background-position:-520px 0}.wp_themeSkin span.mce_wp_adv{background-position:-260px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,.wp_themeSkin .mceButtonActive span.mce_wp_adv{background-position:-260px 0}.wp_themeSkin span.mce_wp_more{background-position:-200px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,.wp_themeSkin .mceButtonActive span.mce_wp_more{background-position:-200px 0}.wp_themeSkin span.mce_cleanup{background-position:-380px -20px}.wp_themeSkin span.mce_anchor{background-position:-200px 0}.wp_themeSkin span.mce_sub{background-position:-600px 0}.wp_themeSkin span.mce_sup{background-position:-620px 0}.wp_themeSkin span.mce_newdocument{background-position:-520px 0}.wp_themeSkin span.mce_image{background-position:-380px 0}.wp_themeSkin span.mce_code{background-position:-260px 0}.wp_themeSkin span.mce_hr{background-position:-360px 0}.wp_themeSkin span.mce_visualaid{background-position:-660px 0}.wp_themeSkin span.mce_paste{background-position:-560px 0}.wp_themeSkin span.mce_copy{background-position:-700px 0}.wp_themeSkin span.mce_cut{background-position:-680px 0}.wp_themeSkin .mce_backcolor span.mceAction{background-position:-760px 0}.wp_themeSkin .mce_backcolorpicker{background-position:-760px 0}.wp_themeSkin span.mce_advhr{background-position:-0px -20px}.wp_themeSkin span.mce_ltr{background-position:-20px -20px}.wp_themeSkin span.mce_rtl{background-position:-40px -20px}.wp_themeSkin span.mce_emotions{background-position:-60px -20px}.wp_themeSkin span.mce_fullpage{background-position:-80px -20px}.wp_themeSkin span.mce_iespell{background-position:-120px -20px}.wp_themeSkin span.mce_insertdate{background-position:-140px -20px}.wp_themeSkin span.mce_inserttime{background-position:-160px -20px}.wp_themeSkin span.mce_absolute{background-position:-180px -20px}.wp_themeSkin span.mce_backward{background-position:-200px -20px}.wp_themeSkin span.mce_forward{background-position:-220px -20px}.wp_themeSkin span.mce_insert_layer{background-position:-240px -20px}.wp_themeSkin span.mce_insertlayer{background-position:-260px -20px}.wp_themeSkin span.mce_movebackward{background-position:-280px -20px}.wp_themeSkin span.mce_moveforward{background-position:-300px -20px}.wp_themeSkin span.mce_nonbreaking{background-position:-340px -20px}.wp_themeSkin span.mce_selectall{background-position:-400px -20px}.wp_themeSkin span.mce_preview{background-position:-420px -20px}.wp_themeSkin span.mce_print{background-position:-440px -20px}.wp_themeSkin span.mce_cancel{background-position:-460px -20px}.wp_themeSkin span.mce_save{background-position:-480px -20px}.wp_themeSkin span.mce_replace{background-position:-500px -20px}.wp_themeSkin span.mce_search{background-position:-520px -20px}.wp_themeSkin span.mce_styleprops{background-position:-560px -20px}.wp_themeSkin span.mce_table{background-position:-580px -20px}.wp_themeSkin span.mce_cell_props{background-position:-600px -20px}.wp_themeSkin span.mce_delete_table{background-position:-620px -20px}.wp_themeSkin span.mce_delete_col{background-position:-640px -20px}.wp_themeSkin span.mce_delete_row{background-position:-660px -20px}.wp_themeSkin span.mce_col_after{background-position:-680px -20px}.wp_themeSkin span.mce_col_before{background-position:-700px -20px}.wp_themeSkin span.mce_row_after{background-position:-720px -20px}.wp_themeSkin span.mce_row_before{background-position:-740px -20px}.wp_themeSkin span.mce_merge_cells{background-position:-760px -20px}.wp_themeSkin span.mce_table_props{background-position:-980px -20px}.wp_themeSkin span.mce_row_props{background-position:-780px -20px}.wp_themeSkin span.mce_split_cells{background-position:-800px -20px}.wp_themeSkin span.mce_template{background-position:-820px -20px}.wp_themeSkin span.mce_visualchars{background-position:-840px -20px}.wp_themeSkin span.mce_abbr{background-position:-860px -20px}.wp_themeSkin span.mce_acronym{background-position:-880px -20px}.wp_themeSkin span.mce_attribs{background-position:-900px -20px}.wp_themeSkin span.mce_cite{background-position:-920px -20px}.wp_themeSkin span.mce_del{background-position:-940px -20px}.wp_themeSkin span.mce_ins{background-position:-960px -20px}.wp_themeSkin span.mce_pagebreak{background-position:0 -40px}.wp_themeSkin span.mce_restoredraft{background-position:-20px -40px}.wp_themeSkin span.mce_visualblocks{background-position:-40px -40px}.wp_themeSkin .mceExternalToolbar,.wp_themeSkin .mceButton,.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin select.mceListBox,.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover,.wp_themeSkin div.mceColorSplitMenu table,.wp_themeSkin .mceColorSplitMenu a,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,.wp_themeSkin a.mceMoreColors:hover,.wp_themeSkin .mceMenu{border-style:solid;border-width:1px}.wp_themeSkin .mceListBox .mceText{border-right:0 none}.wp_themeSkin iframe{background:transparent}.wp_themeSkin .mceButton{border-color:transparent}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:transparent}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin table.mceSplitButton:hover{border-color:#bbb;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e5e5e5),to(#fff));background-image:-webkit-linear-gradient(bottom,#e5e5e5,#fff);background-image:-moz-linear-gradient(bottom,#e5e5e5,#fff);background-image:-o-linear-gradient(bottom,#e5e5e5,#fff);background-image:linear-gradient(to top,#e5e5e5,#fff)}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover,.wp_themeSkin .mceSplitButtonSelected table,.wp_themeSkin .mceSplitButtonSelected table:hover{outline:0;border-color:#999 #ccc #ccc #999;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#f6f6f6),to(#e3e3e3));background-image:-webkit-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-moz-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-o-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:linear-gradient(to top,#f6f6f6,#e3e3e3)}.wp_themeSkin .mceSplitButtonSelected table a.mceOpen,.wp_themeSkin .mceSplitButtonSelected table a.mceAction{border-color:#999 #ccc #ccc #999}.wp_themeSkin .mceButtonDisabled{border-color:transparent}.wp_themeSkin .mceListBox .mceOpen{border-left:0}.wp_themeSkin .mceListBoxEnabled:hover,.wp_themeSkin .mceListBoxEnabled:active,.wp_themeSkin .mceListBoxHover,.wp_themeSkin .mceListBoxHover:active,.wp_themeSkin .mceListBoxSelected{-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);border-color:#bbb}.wp_themeSkin .mceSplitButton .mceLast span.mceOpen .mceIconOnly{display:block}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:transparent}.wp_themeSkin .mceSplitButton:hover a{border-color:#bbb}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url("../images/down_arrow.gif");background-position:1px 2px;background-repeat:no-repeat;border-left:0}.wp_themeSkin .mceSplitButtonActive td{-webkit-border-radius:3px;border-radius:3px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0a246a;background-color:#b6bdd2}.wp_themeSkin a.mceMoreColors:hover{border-color:#0a246a}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888}#mceModalBlocker{background:#000}.wp-editor-wrap{position:relative}.wp-editor-area{font-family:Consolas,Monaco,monospace;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{height:30px;padding:0 10px 0 0}.rtl .wp-editor-tools{padding:0 0 0 10px}.wp-editor-container{border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-color:#ccc #ccc #dfdfdf}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.quicktags-toolbar,.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #d1d1d1;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e5e5e5),to(#f4f4f4));background-image:-webkit-linear-gradient(bottom,#e5e5e5,#f4f4f4);background-image:-moz-linear-gradient(bottom,#e5e5e5,#f4f4f4);background-image:-o-linear-gradient(bottom,#e5e5e5,#f4f4f4);background-image:linear-gradient(to top,#e5e5e5,#f4f4f4)}.wp-switch-editor{height:18px;font:13px/18px Arial,Helvetica,sans-serif normal;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #ccc;color:#999}html[dir="rtl"] .wp-switch-editor{float:left}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important}.js .tmce-active .wp-editor-area{color:white}.tmce-active .quicktags-toolbar{display:none}.tmce-active .switch-tmce,.html-active .switch-html{border-color:#ccc #ccc #f4f4f4;background-color:#f4f4f4;color:#555}.wp-media-buttons .button{margin-right:5px}.rtl .wp-media-buttons .button{margin-right:0;margin-left:5px}.wp-media-buttons .insert-media{padding-left:.4em}.rtl .wp-media-buttons .insert-media{padding-left:10px;padding-right:.4em}.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:16px;height:16px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:url('../../wp-admin/images/media-button.png') no-repeat top left}.quicktags-toolbar{border-bottom-style:solid;border-bottom-width:1px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;padding:2px 8px 0;min-height:29px}.quicktags-toolbar>div{padding:2px 4px 0}.quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial,Helvetica,sans-serif normal;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e3e3e3),to(#fff));background-image:-webkit-linear-gradient(bottom,#e3e3e3,#fff);background-image:-moz-linear-gradient(bottom,#e3e3e3,#fff);background-image:-o-linear-gradient(bottom,#e3e3e3,#fff);background-image:linear-gradient(to top,#e3e3e3,#fff)}.quicktags-toolbar input:hover{border-color:#aaa;background:#ddd}.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:bold}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:155000}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc}#wp-link{background-color:#f5f5f5;line-height:1.4em;font-size:12px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type="text"]{-webkit-box-sizing:border-box}#wp-link input[type="text"],#wp-link textarea{border-width:1px;border-style:solid;-webkit-border-radius:4px;border-radius:4px;font-size:12px;margin:1px;padding:3px}#wp-link #link-options{padding:10px 0 14px;border-bottom:1px solid #dfdfdf;margin:0 6px 14px}#wp-link p.howto{margin:3px}#wp-link #internal-toggle{display:inline-block;cursor:pointer;padding-left:18px}#wp-link .toggle-arrow{background:transparent url('../images/toggle-arrow.png') top left no-repeat;height:23px;line-height:23px}#wp-link .toggle-arrow-active{background-position:center left}#wp-link label input[type="text"]{width:360px;margin-top:5px}#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}#wp-link .link-search-field{float:left;width:220px}#wp-link .link-search-wrapper{margin:5px 6px 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{width:auto;padding:3px 0 0;margin:0 0 0 87px;font-size:11px}#wp-link .query-results{border:1px #dfdfdf solid;margin:0 5px 5px;background:#fff;height:185px;overflow:auto;position:relative}#wp-link li,#wp-link .query-notice{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:bold}#wp-link .item-title{display:inline-block;width:80%}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:4px;bottom:0}#wp-link #search-results{display:none}#wp-link #search-panel{float:left;width:100%}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block}#wp-link .submitbox{padding:5px 10px;font-size:11px;overflow:auto;height:29px}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}/*!
+.wp_themeSkin table,.wp_themeSkin tbody,.wp_themeSkin a,.wp_themeSkin img,.wp_themeSkin tr,.wp_themeSkin div,.wp_themeSkin td,.wp_themeSkin iframe,.wp_themeSkin span,.wp_themeSkin *,.wp_themeSkin .mceText{border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;font-weight:400;cursor:default;vertical-align:baseline;width:auto;border-collapse:separate}.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{text-decoration:none;font-weight:400;cursor:default}.wp_themeSkin table td{vertical-align:middle}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#555}.wp_themeSkin table{}.wp_themeSkin iframe{display:block}.wp_themeSkin #mce_fullscreen_ifr{background-color:#fff}.wp_themeSkin .mceToolbar{padding:1px}.wp_themeSkin .mceExternalToolbar{position:absolute;border-bottom:0;display:none}.wp_themeSkin .mceExternalToolbar td.mceToolbar{padding-right:13px}.wp_themeSkin .mceExternalClose{position:absolute;top:3px;right:3px;width:7px;height:7px;background:url(../js/tinymce/themes/advanced/img/icons.gif) -820px 0}.wp_themeSkin table.mceToolbar,.wp_themeSkin tr.mceFirst .mceToolbar tr td,.wp_themeSkin tr.mceLast .mceToolbar tr td{border:0;margin:0;padding:0}.wp_themeSkin table.mceLayout{border:0}.wp_themeSkin .mceStatusbar{display:block;font-family:sans-serif;font-size:12px;line-height:16px;padding:0 0 0 8px;overflow:visible;height:20px;border-top:1px solid #dfdfdf;color:#000;background-color:#f5f5f5}.rtl .wp_themeSkin .mceStatusbar{padding:0 8px 0 0}.wp_themeSkin .mceStatusbar *{color:#555}.wp_themeSkin .mceStatusbar div{float:left;padding:2px}.rtl .wp_themeSkin .mceStatusbar div{float:right}.wp_themeSkin .mceStatusbar a.mceResize{display:block;float:right;background:url(../js/tinymce/themes/advanced/img/icons.gif) -800px 0;width:20px;height:20px;cursor:se-resize}.rtl .wp_themeSkin .mceStatusbar a.mceResize{float:left}.wp_themeSkin .mceStatusbar a:hover{text-decoration:underline}.wp_themeSkin table.mceToolbar{margin:0 6px 2px}.wp_themeSkin table.mceToolbar :active,.wp_themeSkin table.mceToolbar :focus,.wp_themeSkin table.mceToolbar:focus,.wp_themeSkin span.mceSeparator:focus{outline:0}.wp_themeSkin #content_toolbar1{margin-top:2px}.wp_themeSkin .mceToolbar .mceToolbarEndListBox span{display:none}.wp_themeSkin span.mceIcon,.wp_themeSkin img.mceIcon{display:block;width:20px;height:20px}.wp_themeSkin .mceIcon{background:url(../js/tinymce/themes/advanced/img/icons.gif) no-repeat 20px 20px}.wp_themeSkin .mceButton{display:block;width:20px;height:20px;cursor:default;padding:1px 2px;margin:1px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin a.mceButtonEnabled:hover{background-image:inherit 0 -10px}.wp_themeSkin .mceOldBoxModel a.mceButton span,.wp_themeSkin .mceOldBoxModel a.mceButton img{margin:0 0 0 1px}.wp_themeSkin .mceButtonDisabled .mceIcon{opacity:.2;filter:alpha(opacity=20)}.wp_themeSkin .mceSeparator{display:none}.wp_themeSkin .mceListBox,.wp_themeSkin .mceListBox a{display:block}.wp_themeSkin .mceListBox .mceText{padding:1px 4px 1px 5px;width:70px;text-align:left;text-decoration:none;-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px;font-family:sans-serif;font-size:12px;height:20px;line-height:20px;overflow:hidden}.wp_themeSkin .mceListBox{margin:1px;direction:ltr;background-color:#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)}.wp_themeSkin .mceListBox .mceOpen{width:12px;height:20px;border-collapse:separate;padding:1px;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;border-bottom-left-radius:0;border-top-left-radius:0}.wp_themeSkin .mceListBox .mceFirst a{border-style:solid;border-width:1px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin .mceListBoxMenu .mce_formatPreview{line-height:normal}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url(../images/down_arrow.gif);background-position:3px 1px;background-repeat:no-repeat}.wp_themeSkin .mceListBoxDisabled .mceText{color:gray}.wp_themeSkin .mceListBoxMenu{overflow:auto;overflow-x:hidden}.wp_themeSkin .mceOldBoxModel .mceListBox .mceText{height:22px}.wp_themeSkin select.mceListBox{font-family:sans-serif;font-size:12px;border-color:#b2b2b2;background-color:#fff}.wp_themeSkin .mceSplitButton a,.wp_themeSkin .mceSplitButton span{display:block;height:20px}.wp_themeSkin .mceSplitButton{display:block;direction:ltr}.wp_themeSkin table.mceSplitButton td{padding:2px;-webkit-border-radius:2px;border-radius:2px}.wp_themeSkin table.mceSplitButton:hover td{background-image:inherit 0 -10px}.wp_themeSkin .mceSplitButton a.mceAction{height:20px;width:20px;padding:1px 2px;border-right:0 none}.wp_themeSkin .mceSplitButton span.mceAction{background-image:url(../js/tinymce/themes/advanced/img/icons.gif);background-repeat:no-repeat;background-color:transparent;width:20px}.wp_themeSkin .mceSplitButton a.mceOpen{width:11px;height:20px;background-position:0 2px;background-repeat:no-repeat;padding:1px 0}.wp_themeSkin .mceSplitButton span.mceOpen{display:none}.wp_themeSkin .mceSplitButtonDisabled .mceAction{opacity:.3;filter:alpha(opacity=30)}.wp_themeSkin .mceListBox a.mceText,.wp_themeSkin .mceSplitButton a.mceAction{-webkit-border-bottom-left-radius:2px;-webkit-border-top-left-radius:2px;border-bottom-left-radius:2px;border-top-left-radius:2px}.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceListBox a.mceOpen{-webkit-border-bottom-right-radius:2px;-webkit-border-top-right-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px}.wp_themeSkin span.mce_undo,.wp_themeSkin span.mce_redo,.wp_themeSkin span.mce_bullist,.wp_themeSkin span.mce_numlist,.wp_themeSkin span.mce_blockquote,.wp_themeSkin span.mce_charmap,.wp_themeSkin span.mce_bold,.wp_themeSkin span.mce_italic,.wp_themeSkin span.mce_underline,.wp_themeSkin span.mce_justifyleft,.wp_themeSkin span.mce_justifyright,.wp_themeSkin span.mce_justifycenter,.wp_themeSkin span.mce_justifyfull,.wp_themeSkin span.mce_indent,.wp_themeSkin span.mce_outdent,.wp_themeSkin span.mce_link,.wp_themeSkin span.mce_unlink,.wp_themeSkin span.mce_help,.wp_themeSkin span.mce_removeformat,.wp_themeSkin span.mce_fullscreen,.wp_themeSkin span.mce_wp_fullscreen,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_pastetext,.wp_themeSkin span.mce_pasteword,.wp_themeSkin span.mce_wp_help,.wp_themeSkin span.mce_wp_adv,.wp_themeSkin span.mce_wp_more,.wp_themeSkin span.mce_strikethrough,.wp_themeSkin span.mce_spellchecker,.wp_themeSkin span.mce_forecolor,.wp_themeSkin .mce_forecolorpicker,.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceSplitButton span.mce_numlist,.wp_themeSkin .mceSplitButton span.mce_bullist{background-image:url(../images/wpicons.png?ver=20120720)}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#bbb}.wp_themeSkin .mceColorSplitMenu td{padding:2px}.wp_themeSkin .mceColorSplitMenu a{display:block;width:9px;height:9px;overflow:hidden;border-color:#B2B2B2}.wp_themeSkin .mceColorSplitMenu td.mceMoreColors{padding:1px 3px 1px 1px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors{width:100%;height:auto;text-align:center;font-family:Tahoma,Verdana,Arial,Helvetica;font-size:11px;line-height:20px;border-color:#fff}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{}.wp_themeSkin a.mceMoreColors:hover{}.wp_themeSkin .mceColorPreview{margin:-5px 0 0 2px;width:16px;height:4px;overflow:hidden}.wp_themeSkin .mceMenu{position:absolute;left:0;top:0;z-index:1000;border-color:#ddd;direction:ltr}.wp_themeSkin .mceNoIcons span.mceIcon{width:0}.wp_themeSkin .mceNoIcons a .mceText{padding-left:10px}.wp_themeSkin .mceMenu table{background-color:#ebeaeb}.wp_themeSkin .mceMenu a,.wp_themeSkin .mceMenu span,.wp_themeSkin .mceMenu{display:block}.wp_themeSkin .mceMenu td{height:20px;overflow:hidden}.wp_themeSkin .mceMenu a{position:relative;padding:3px 0 4px;text-decoration:none!important}.wp_themeSkin .mceMenu .mceText{position:relative;display:block;font-family:Tahoma,Verdana,Arial,Helvetica;cursor:default;margin:0;padding:0 25px;color:#000}.wp_themeSkin .mceMenu span.mceText,.wp_themeSkin .mceMenu .mcePreview{font-size:12px}.wp_themeSkin .mceMenu pre.mceText{font-family:Monospace}.wp_themeSkin .mceMenu .mceIcon{position:absolute;top:0;left:0;width:22px}.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,.wp_themeSkin .mceMenu .mceMenuItemActive{background-color:#f5f5f5}.wp_themeSkin td.mceMenuItemSeparator{height:1px;background-color:#aaa}.wp_themeSkin .mceMenuItemTitle a{border-top:0;border-right:0;border-left:0;border-bottom:1px solid #aaa;text-decoration:none!important;background-color:#ccc}.wp_themeSkin .mceMenuItemTitle span.mceText{font-weight:700;padding-left:4px;color:#000}.wp_themeSkin .mceMenuItemSelected .mceIcon{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_check.gif);color:#888}.wp_themeSkin .mceNoIcons .mceMenuItemSelected a{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif) no-repeat -6px center}.wp_themeSkin .mceMenu span.mceMenuLine{display:none}.wp_themeSkin .mceMenuItemSub a{background:url(../js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif) no-repeat top right}.wp_themeSkin .mceBlocker{position:absolute;left:0;top:0;z-index:1000;opacity:.5;filter:alpha(opacity=50);background:#FFF}.wp_themeSkin .mceProgress{position:absolute;left:0;top:0;z-index:1001;background:url(../js/tinymce/themes/advanced/skins/default/img/progress.gif) no-repeat;width:32px;height:32px;margin:-16px 0 0 -16px}.wp_themeSkin .mcePlaceHolder{border:1px dotted gray}.mceRtl .mceListBox .mceText{text-align:right;padding:0 4px 0 0}.mceRtl .mceMenuItem .mceText{text-align:right}.wp_themeSkin .mce_p span.mceText{}.wp_themeSkin .mce_address span.mceText{font-style:italic}.wp_themeSkin .mce_pre span.mceText{font-family:monospace}.wp_themeSkin .mce_h1 span.mceText{font-weight:bolder;font-size:18px}.wp_themeSkin .mce_h2 span.mceText{font-weight:bolder;font-size:16px}.wp_themeSkin .mce_h3 span.mceText{font-weight:bolder;font-size:14px}.wp_themeSkin .mce_h4 span.mceText{font-weight:bolder;font-size:12px}.wp_themeSkin .mce_h5 span.mceText{font-weight:bolder;font-size:11px}.wp_themeSkin .mce_h6 span.mceText{font-weight:bolder;font-size:10px}.wp_themeSkin span.mce_undo{background-position:-500px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_undo,.wp_themeSkin .mceButtonActive span.mce_undo{background-position:-500px 0}.wp_themeSkin span.mce_redo{background-position:-480px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_redo,.wp_themeSkin .mceButtonActive span.mce_redo{background-position:-480px 0}.wp_themeSkin span.mce_bullist{background-position:-40px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_bullist,.wp_themeSkin .mceButtonActive span.mce_bullist,.wp_themeSkin .mceSplitButton:hover span.mce_bullist{background-position:-40px 0}.wp_themeSkin span.mce_numlist{background-position:-60px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_numlist,.wp_themeSkin .mceButtonActive span.mce_numlist,.wp_themeSkin .mceSplitButton:hover span.mce_numlist{background-position:-60px 0}.wp_themeSkin span.mce_blockquote{background-position:-80px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote,.wp_themeSkin .mceButtonActive span.mce_blockquote{background-position:-80px 0}.wp_themeSkin span.mce_charmap{background-position:-420px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_charmap,.wp_themeSkin .mceButtonActive span.mce_charmap{background-position:-420px 0}.wp_themeSkin span.mce_bold{background-position:0 -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_bold,.wp_themeSkin .mceButtonActive span.mce_bold{background-position:0 0}.wp_themeSkin span.mce_italic{background-position:-20px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_italic,.wp_themeSkin .mceButtonActive span.mce_italic{background-position:-20px 0}.wp_themeSkin span.mce_underline{background-position:-280px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_underline,.wp_themeSkin .mceButtonActive span.mce_underline{background-position:-280px 0}.wp_themeSkin span.mce_justifyleft{background-position:-100px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft,.wp_themeSkin .mceButtonActive span.mce_justifyleft{background-position:-100px 0}.wp_themeSkin span.mce_justifyright{background-position:-140px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright,.wp_themeSkin .mceButtonActive span.mce_justifyright{background-position:-140px 0}.wp_themeSkin span.mce_justifycenter{background-position:-120px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter,.wp_themeSkin .mceButtonActive span.mce_justifycenter{background-position:-120px 0}.wp_themeSkin span.mce_justifyfull{background-position:-300px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull,.wp_themeSkin .mceButtonActive span.mce_justifyfull{background-position:-300px 0}.wp_themeSkin span.mce_indent{background-position:-460px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_indent,.wp_themeSkin .mceButtonActive span.mce_indent{background-position:-460px 0}.wp_themeSkin span.mce_outdent{background-position:-440px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_outdent,.wp_themeSkin .mceButtonActive span.mce_outdent{background-position:-440px 0}.wp_themeSkin span.mce_link{background-position:-160px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_link,.wp_themeSkin .mceButtonActive span.mce_link{background-position:-160px 0}.wp_themeSkin span.mce_unlink{background-position:-180px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_unlink,.wp_themeSkin .mceButtonActive span.mce_unlink{background-position:-180px 0}.wp_themeSkin span.mce_help{background-position:-520px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_help,.wp_themeSkin .mceButtonActive span.mce_help{background-position:-520px 0}.wp_themeSkin span.mce_removeformat{background-position:-380px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat,.wp_themeSkin .mceButtonActive span.mce_removeformat{background-position:-380px 0}.wp_themeSkin span.mce_strikethrough{background-position:-540px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough,.wp_themeSkin .mceButtonActive span.mce_strikethrough{background-position:-540px 0}.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor{background-position:-320px -20px}.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor,.wp_themeSkin .mceSplitButtonSelected span.mce_forecolor{background-position:-320px 0}.wp_themeSkin .mce_forecolorpicker{background-position:-320px -20px}.wp_themeSkin span.mce_fullscreen{background-position:-240px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,.wp_themeSkin .mceButtonActive span.mce_fullscreen{background-position:-240px 0}.wp_themeSkin span.mce_wp_fullscreen{background-position:-240px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,.wp_themeSkin .mceButtonActive span.mce_wp_fullscreen{background-position:-240px 0}.wp_themeSkin span.mce_media{background-position:-400px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_media,.wp_themeSkin .mceButtonActive span.mce_media{background-position:-400px 0}.wp_themeSkin span.mce_pastetext{background-position:-340px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext,.wp_themeSkin .mceButtonActive span.mce_pastetext{background-position:-340px 0}.wp_themeSkin span.mce_pasteword{background-position:-360px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword,.wp_themeSkin .mceButtonActive span.mce_pasteword{background-position:-360px 0}.wp_themeSkin span.mce_spellchecker{background-position:-220px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker,.wp_themeSkin .mceButtonActive span.mce_spellchecker,.wp_themeSkin .mceSplitButtonSelected span.mce_spellchecker{background-position:-220px 0}.wp_themeSkin span.mce_wp_help{background-position:-520px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help,.wp_themeSkin .mceButtonActive span.mce_wp_help{background-position:-520px 0}.wp_themeSkin span.mce_wp_adv{background-position:-260px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv,.wp_themeSkin .mceButtonActive span.mce_wp_adv{background-position:-260px 0}.wp_themeSkin span.mce_wp_more{background-position:-200px -20px}.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more,.wp_themeSkin .mceButtonActive span.mce_wp_more{background-position:-200px 0}.wp_themeSkin span.mce_cleanup{background-position:-380px -20px}.wp_themeSkin span.mce_anchor{background-position:-200px 0}.wp_themeSkin span.mce_sub{background-position:-600px 0}.wp_themeSkin span.mce_sup{background-position:-620px 0}.wp_themeSkin span.mce_newdocument{background-position:-520px 0}.wp_themeSkin span.mce_image{background-position:-380px 0}.wp_themeSkin span.mce_code{background-position:-260px 0}.wp_themeSkin span.mce_hr{background-position:-360px 0}.wp_themeSkin span.mce_visualaid{background-position:-660px 0}.wp_themeSkin span.mce_paste{background-position:-560px 0}.wp_themeSkin span.mce_copy{background-position:-700px 0}.wp_themeSkin span.mce_cut{background-position:-680px 0}.wp_themeSkin .mce_backcolor span.mceAction{background-position:-760px 0}.wp_themeSkin .mce_backcolorpicker{background-position:-760px 0}.wp_themeSkin span.mce_advhr{background-position:-0px -20px}.wp_themeSkin span.mce_ltr{background-position:-20px -20px}.wp_themeSkin span.mce_rtl{background-position:-40px -20px}.wp_themeSkin span.mce_emotions{background-position:-60px -20px}.wp_themeSkin span.mce_fullpage{background-position:-80px -20px}.wp_themeSkin span.mce_iespell{background-position:-120px -20px}.wp_themeSkin span.mce_insertdate{background-position:-140px -20px}.wp_themeSkin span.mce_inserttime{background-position:-160px -20px}.wp_themeSkin span.mce_absolute{background-position:-180px -20px}.wp_themeSkin span.mce_backward{background-position:-200px -20px}.wp_themeSkin span.mce_forward{background-position:-220px -20px}.wp_themeSkin span.mce_insert_layer{background-position:-240px -20px}.wp_themeSkin span.mce_insertlayer{background-position:-260px -20px}.wp_themeSkin span.mce_movebackward{background-position:-280px -20px}.wp_themeSkin span.mce_moveforward{background-position:-300px -20px}.wp_themeSkin span.mce_nonbreaking{background-position:-340px -20px}.wp_themeSkin span.mce_selectall{background-position:-400px -20px}.wp_themeSkin span.mce_preview{background-position:-420px -20px}.wp_themeSkin span.mce_print{background-position:-440px -20px}.wp_themeSkin span.mce_cancel{background-position:-460px -20px}.wp_themeSkin span.mce_save{background-position:-480px -20px}.wp_themeSkin span.mce_replace{background-position:-500px -20px}.wp_themeSkin span.mce_search{background-position:-520px -20px}.wp_themeSkin span.mce_styleprops{background-position:-560px -20px}.wp_themeSkin span.mce_table{background-position:-580px -20px}.wp_themeSkin span.mce_cell_props{background-position:-600px -20px}.wp_themeSkin span.mce_delete_table{background-position:-620px -20px}.wp_themeSkin span.mce_delete_col{background-position:-640px -20px}.wp_themeSkin span.mce_delete_row{background-position:-660px -20px}.wp_themeSkin span.mce_col_after{background-position:-680px -20px}.wp_themeSkin span.mce_col_before{background-position:-700px -20px}.wp_themeSkin span.mce_row_after{background-position:-720px -20px}.wp_themeSkin span.mce_row_before{background-position:-740px -20px}.wp_themeSkin span.mce_merge_cells{background-position:-760px -20px}.wp_themeSkin span.mce_table_props{background-position:-980px -20px}.wp_themeSkin span.mce_row_props{background-position:-780px -20px}.wp_themeSkin span.mce_split_cells{background-position:-800px -20px}.wp_themeSkin span.mce_template{background-position:-820px -20px}.wp_themeSkin span.mce_visualchars{background-position:-840px -20px}.wp_themeSkin span.mce_abbr{background-position:-860px -20px}.wp_themeSkin span.mce_acronym{background-position:-880px -20px}.wp_themeSkin span.mce_attribs{background-position:-900px -20px}.wp_themeSkin span.mce_cite{background-position:-920px -20px}.wp_themeSkin span.mce_del{background-position:-940px -20px}.wp_themeSkin span.mce_ins{background-position:-960px -20px}.wp_themeSkin span.mce_pagebreak{background-position:0 -40px}.wp_themeSkin span.mce_restoredraft{background-position:-20px -40px}.wp_themeSkin span.mce_visualblocks{background-position:-40px -40px}.wp_themeSkin .mceExternalToolbar,.wp_themeSkin .mceButton,.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected,.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin select.mceListBox,.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen,.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover,.wp_themeSkin div.mceColorSplitMenu table,.wp_themeSkin .mceColorSplitMenu a,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors,.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover,.wp_themeSkin a.mceMoreColors:hover,.wp_themeSkin .mceMenu{border-style:solid;border-width:1px}.wp_themeSkin .mceListBox .mceText{border-right:0 none}.wp_themeSkin iframe{background:transparent}.wp_themeSkin .mceButton{border-color:transparent}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:transparent}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin table.mceSplitButton:hover{border-color:#bbb;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e5e5e5),to(#fff));background-image:-webkit-linear-gradient(bottom,#e5e5e5,#fff);background-image:-moz-linear-gradient(bottom,#e5e5e5,#fff);background-image:-o-linear-gradient(bottom,#e5e5e5,#fff);background-image:linear-gradient(to top,#e5e5e5,#fff)}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover,.wp_themeSkin .mceSplitButtonSelected table,.wp_themeSkin .mceSplitButtonSelected table:hover{outline:0;border-color:#999 #ccc #ccc #999;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#f6f6f6),to(#e3e3e3));background-image:-webkit-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-moz-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:-o-linear-gradient(bottom,#f6f6f6,#e3e3e3);background-image:linear-gradient(to top,#f6f6f6,#e3e3e3)}.wp_themeSkin .mceSplitButtonSelected table a.mceOpen,.wp_themeSkin .mceSplitButtonSelected table a.mceAction{border-color:#999 #ccc #ccc #999}.wp_themeSkin .mceButtonDisabled{border-color:transparent}.wp_themeSkin .mceListBox .mceOpen{border-left:0}.wp_themeSkin .mceListBoxEnabled:hover,.wp_themeSkin .mceListBoxEnabled:active,.wp_themeSkin .mceListBoxHover,.wp_themeSkin .mceListBoxHover:active,.wp_themeSkin .mceListBoxSelected{-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.3);border-color:#bbb}.wp_themeSkin .mceSplitButton .mceLast span.mceOpen .mceIconOnly{display:block}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:transparent}.wp_themeSkin .mceSplitButton:hover a{border-color:#bbb}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url(../images/down_arrow.gif);background-position:1px 2px;background-repeat:no-repeat;border-left:0}.wp_themeSkin .mceSplitButtonActive td{-webkit-border-radius:3px;border-radius:3px}.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover{border-color:#0A246A;background-color:#B6BDD2}.wp_themeSkin a.mceMoreColors:hover{border-color:#0A246A}.wp_themeSkin .mceMenuItemDisabled .mceText{color:#888}#mceModalBlocker{background:#000}.wp-editor-wrap{position:relative}.wp-editor-area{font-family:Consolas,Monaco,monospace;padding:10px;margin:1px 0 0;line-height:150%;border:0 none;outline:0;display:block;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.wp-editor-tools{height:30px;padding:0 10px 0 0}.rtl .wp-editor-tools{padding:0 0 0 10px}.wp-editor-container{border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-color:#ccc #ccc #dfdfdf}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.quicktags-toolbar,.wp_themeSkin tr.mceFirst td.mceToolbar{border-bottom:1px solid #d1d1d1;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e5e5e5),to(#f4f4f4));background-image:-webkit-linear-gradient(bottom,#e5e5e5,#f4f4f4);background-image:-moz-linear-gradient(bottom,#e5e5e5,#f4f4f4);background-image:-o-linear-gradient(bottom,#e5e5e5,#f4f4f4);background-image:linear-gradient(to top,#e5e5e5,#f4f4f4)}.wp-switch-editor{height:18px;font:13px/18px Arial,Helvetica,sans-serif normal;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #ccc;color:#999}html[dir=rtl] .wp-switch-editor{float:left}.wp-switch-editor:active{background-color:#f1f1f1}.wp-switch-editor:hover{text-decoration:none!important}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.tmce-active .switch-tmce,.html-active .switch-html{border-color:#ccc #ccc #f4f4f4;background-color:#f4f4f4;color:#555}.wp-media-buttons .button{margin-right:5px}.rtl .wp-media-buttons .button{margin-right:0;margin-left:5px}.wp-media-buttons .insert-media{padding-left:.4em}.rtl .wp-media-buttons .insert-media{padding-left:10px;padding-right:.4em}.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:16px;height:16px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:url(../../wp-admin/images/media-button.png) no-repeat top left}.quicktags-toolbar{border-bottom-style:solid;border-bottom-width:1px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;padding:2px 8px 0;min-height:29px}.quicktags-toolbar>div{padding:2px 4px 0}.quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial,Helvetica,sans-serif normal;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear,left bottom,left top,from(#e3e3e3),to(#fff));background-image:-webkit-linear-gradient(bottom,#e3e3e3,#fff);background-image:-moz-linear-gradient(bottom,#e3e3e3,#fff);background-image:-o-linear-gradient(bottom,#e3e3e3,#fff);background-image:linear-gradient(to top,#e3e3e3,#fff)}.quicktags-toolbar input:hover{border-color:#aaa;background:#ddd}.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}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:155000}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc}#wp-link{background-color:#F5F5F5;line-height:1.4em;font-size:12px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link input[type=text]{-webkit-box-sizing:border-box}#wp-link input[type=text],#wp-link textarea{border-width:1px;border-style:solid;-webkit-border-radius:4px;border-radius:4px;font-size:12px;margin:1px;padding:3px}#wp-link #link-options{padding:10px 0 14px;border-bottom:1px solid #dfdfdf;margin:0 6px 14px}#wp-link p.howto{margin:3px}#wp-link #internal-toggle{display:inline-block;cursor:pointer;padding-left:18px}#wp-link .toggle-arrow{background:transparent url( '../images/toggle-arrow.png' ) top left no-repeat;height:23px;line-height:23px}#wp-link .toggle-arrow-active{background-position:center left}#wp-link label input[type=text]{width:360px;margin-top:5px}#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}#wp-link .link-search-field{float:left;width:220px}#wp-link .link-search-wrapper{margin:5px 6px 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{width:auto;padding:3px 0 0;margin:0 0 0 87px;font-size:11px}#wp-link .query-results{border:1px #dfdfdf solid;margin:0 5px 5px;background:#fff;height:185px;overflow:auto;position:relative}#wp-link li,#wp-link .query-notice{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 .item-title{display:inline-block;width:80%}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:4px;bottom:0}#wp-link #search-results{display:none}#wp-link #search-panel{float:left;width:100%}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block}#wp-link .submitbox{padding:5px 10px;font-size:11px;overflow:auto;height:29px}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}/*!
  * jQuery UI CSS Framework 1.10.1
  * http://jqueryui.com
  *
  * jQuery UI CSS Framework 1.10.1
  * http://jqueryui.com
  *
@@ -25,4 +25,4 @@
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Dialog#theming
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Dialog#theming
- */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:1px solid #999;-webkit-box-shadow:0 0 16px rgba(0,0,0,0.3);box-shadow:0 0 16px rgba(0,0,0,0.3);background-color:#f5f5f5;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:bold;font-size:11px;line-height:18px;color:#e5e5e5;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:29px;height:16px;top:13px;right:6px;background:url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}.rtl .wp-dialog .ui-dialog-titlebar-close{right:auto;left:6px}.rtl #wp-link #internal-toggle{padding-right:18px;padding-left:0}.rtl #wp-link #link-options label span,.rtl #wp-link #search-panel label span.search-label{text-align:left;padding-right:0;padding-left:5px}.rtl #wp-link #link-options label #url-field{direction:ltr}.rtl #wp-link .link-search-field,.rtl #wp-link .link-search-wrapper span{float:right}.rtl #wp-link .link-target{margin-right:87px;margin-left:0}.rtl #wp-link .item-info{left:5px;right:auto;top:4px;bottom:0}.rtl #wp-link #search-panel{float:right}.rtl #wp-link-cancel{float:right}.rtl #wp-link-update{float:left}.rtl #wp-link .toggle-arrow{background-position:top right}.rtl #wp-link .toggle-arrow-active{background-position:center right}.rtl .wp_themeSkin .mceListBox .mceText{text-align:right}.rtl .wp_themeSkin .mceNoIcons a .mceText{padding-right:10px;padding-left:25px}.rtl .mceListBoxMenu.mceNoIcons{direction:rtl}.clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999}.clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999}.clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999}.clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999}.clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999}.clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999}.clearlooks2 .mceFocus .mceTop span{color:#e5e5e5}.fullscreen-overlay{z-index:149999;display:none;position:fixed;top:0;bottom:0;left:0;right:0;filter:inherit}.fullscreen-active .fullscreen-overlay,.fullscreen-active #wp-fullscreen-body{display:block}.fullscreen-fader{z-index:200000}.fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body{width:100%;z-index:150005;display:none;position:absolute;top:0;left:0;font-size:12px}#wp-fullscreen-wrap{margin:0 auto 50px;position:relative;padding-top:60px}#wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:6px 7px;width:100%;margin-bottom:30px;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-container{padding:4px 10px 50px}#wp-fullscreen-title,#wp-fullscreen-container{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:transparent;-moz-transition-property:border-color;-moz-transition-duration:.6s;-webkit-transition-property:border-color;-webkit-transition-duration:.6s;-o-transition-property:border-color;-o-transition-duration:.6s;transition-property:border-color;transition-duration:.6s}#wp_mce_fullscreen{width:100%;min-height:300px;border:0;background:transparent;font-family:Consolas,Monaco,monospace;line-height:1.6em;padding:0;overflow-y:hidden;outline:0;resize:none;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-tagline{color:#bbb;font-size:18px;float:right;padding-top:5px}#fullscreen-topbar{position:fixed;top:0;left:0;z-index:150050;border-bottom-style:solid;border-bottom-width:1px;min-width:800px;width:100%;height:40px}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;min-width:820px;margin:0 auto}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:left}#wp-fullscreen-save{float:right;padding:2px 2px 0 5px}#wp-fullscreen-count,#wp-fullscreen-close{padding-top:5px}#wp-fullscreen-central-toolbar{margin:auto;padding:0}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:1px 14px 0 0}#wp-fullscreen-modes a{display:block;font-size:11px;text-decoration:none;float:left;margin:1px 0 0 0;padding:2px 6px 2px;border-width:1px 1px 1px 0;border-style:solid;border-color:#bbb;color:#777;text-shadow:0 1px 0 #fff;background-color:#f4f4f4;background:#f4f4f4;background-image:-webkit-gradient(linear,left bottom,left top,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:linear-gradient(to top,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:hover,.wp-html-mode #wp-fullscreen-modes a:last-child,.wp-tmce-mode #wp-fullscreen-modes a:first-child{color:#333;border-color:#999;background:#eee;background-image:-webkit-gradient(linear,left top,left bottom,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:linear-gradient(to bottom,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:first-child{border-width:1px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}#wp-fullscreen-buttons .active a{background:inherit}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#fullscreen-topbar.fullscreen-make-sticky{display:block!important}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:4px;display:none}#wp-fullscreen-buttons #wp_fs_image span.mce_image{background-image:url('../../wp-admin/images/media-button.png');background-position:2px 2px}.fullscreen-active #TB_overlay{z-index:150100}.fullscreen-active #TB_window{z-index:150102}#wp_mce_fullscreen_ifr{background:transparent}#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst{display:none}#wp-fullscreen-container .wp_themeSkin table td{vertical-align:top}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#ccc}#fullscreen-topbar{border-bottom-color:#dfdfdf;background:#f1f1f1;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.fade-1000,.fade-600,.fade-400,.fade-300{opacity:0;-moz-transition-property:opacity;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.fade-1000{-moz-transition-duration:1s;-webkit-transition-duration:1s;-o-transition-duration:1s;transition-duration:1s}.fade-600{-moz-transition-duration:.6s;-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s}.fade-400{-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s}.fade-300{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.rtl #wp-fullscreen-tagline{float:left}.rtl #fullscreen-topbar{left:auto;right:0}.rtl #wp-fullscreen-mode-bar,.rtl #wp-fullscreen-button-bar,.rtl #wp-fullscreen-close,.rtl #wp-fullscreen-count{float:right}.rtl #wp-fullscreen-save{float:left}.rtl #wp-fullscreen-save{padding:2px 5px 0 2px}.rtl #wp-fullscreen-buttons>div{float:right}.rtl #wp-fullscreen-mode-bar{padding:1px 0 0 14px}.rtl #wp-fullscreen-modes a{float:right;border-width:1px 0 1px 1px}.rtl #wp-fullscreen-modes a:first-child{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-width:1px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}.rtl #wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px}.rtl #wp-fullscreen-save img,.rtl #wp-fullscreen-save span{padding-right:0;padding-left:4px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp_themeSkin span.mce_undo,.wp_themeSkin span.mce_redo,.wp_themeSkin span.mce_bullist,.wp_themeSkin span.mce_numlist,.wp_themeSkin span.mce_blockquote,.wp_themeSkin span.mce_charmap,.wp_themeSkin span.mce_bold,.wp_themeSkin span.mce_italic,.wp_themeSkin span.mce_underline,.wp_themeSkin span.mce_justifyleft,.wp_themeSkin span.mce_justifyright,.wp_themeSkin span.mce_justifycenter,.wp_themeSkin span.mce_justifyfull,.wp_themeSkin span.mce_indent,.wp_themeSkin span.mce_outdent,.wp_themeSkin span.mce_link,.wp_themeSkin span.mce_unlink,.wp_themeSkin span.mce_help,.wp_themeSkin span.mce_removeformat,.wp_themeSkin span.mce_fullscreen,.wp_themeSkin span.mce_wp_fullscreen,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_pastetext,.wp_themeSkin span.mce_pasteword,.wp_themeSkin span.mce_wp_help,.wp_themeSkin span.mce_wp_adv,.wp_themeSkin span.mce_wp_more,.wp_themeSkin span.mce_strikethrough,.wp_themeSkin span.mce_spellchecker,.wp_themeSkin span.mce_forecolor,.wp_themeSkin .mce_forecolorpicker,.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceSplitButton span.mce_numlist,.wp_themeSkin .mceSplitButton span.mce_bullist{background-image:url('../images/wpicons-2x.png?ver=20120720');background-size:560px 40px}.wp-media-buttons .add_media span.wp-media-buttons-icon,#wp-fullscreen-buttons #wp_fs_image span.mce_image{background-image:url('../../wp-admin/images/media-button-2x.png');background-size:16px 16px}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url('../images/down_arrow-2x.gif');background-size:10px 20px}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url('../images/down_arrow-2x.gif');background-size:10px 20px}#wp-link .toggle-arrow{background:transparent url('../images/toggle-arrow-2x.png') top left no-repeat;background-size:19px 69px}}
\ No newline at end of file
+ */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:1px solid #999;-webkit-box-shadow:0 0 16px rgba(0,0,0,.3);box-shadow:0 0 16px rgba(0,0,0,.3);background-color:#f5f5f5;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:700;font-size:11px;line-height:18px;color:#e5e5e5;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:29px;height:16px;top:13px;right:6px;background:url(../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif) no-repeat -87px -16px}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}.rtl .wp-dialog .ui-dialog-titlebar-close{right:auto;left:6px}.rtl #wp-link #internal-toggle{padding-right:18px;padding-left:0}.rtl #wp-link #link-options label span,.rtl #wp-link #search-panel label span.search-label{text-align:left;padding-right:0;padding-left:5px}.rtl #wp-link #link-options label #url-field{direction:ltr}.rtl #wp-link .link-search-field,.rtl #wp-link .link-search-wrapper span{float:right}.rtl #wp-link .link-target{margin-right:87px;margin-left:0}.rtl #wp-link .item-info{left:5px;right:auto;top:4px;bottom:0}.rtl #wp-link #search-panel{float:right}.rtl #wp-link-cancel{float:right}.rtl #wp-link-update{float:left}.rtl #wp-link .toggle-arrow{background-position:top right}.rtl #wp-link .toggle-arrow-active{background-position:center right}.rtl .wp_themeSkin .mceListBox .mceText{text-align:right}.rtl .wp_themeSkin .mceNoIcons a .mceText{padding-right:10px;padding-left:25px}.rtl .mceListBoxMenu.mceNoIcons{direction:rtl}.clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-webkit-border-top-left-radius:3px;border-top-left-radius:3px}.clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999}.clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999}.clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999}.clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999}.clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999}.clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999}.clearlooks2 .mceFocus .mceTop span{color:#e5e5e5}.fullscreen-overlay{z-index:149999;display:none;position:fixed;top:0;bottom:0;left:0;right:0;filter:inherit}.fullscreen-active .fullscreen-overlay,.fullscreen-active #wp-fullscreen-body{display:block}.fullscreen-fader{z-index:200000}.fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body{width:100%;z-index:150005;display:none;position:absolute;top:0;left:0;font-size:12px}#wp-fullscreen-wrap{margin:0 auto 50px;position:relative;padding-top:60px}#wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:6px 7px;width:100%;margin-bottom:30px;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-container{padding:4px 10px 50px}#wp-fullscreen-title,#wp-fullscreen-container{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:transparent;-moz-transition-property:border-color;-moz-transition-duration:.6s;-webkit-transition-property:border-color;-webkit-transition-duration:.6s;-o-transition-property:border-color;-o-transition-duration:.6s;transition-property:border-color;transition-duration:.6s}#wp_mce_fullscreen{width:100%;min-height:300px;border:0;background:transparent;font-family:Consolas,Monaco,monospace;line-height:1.6em;padding:0;overflow-y:hidden;outline:0;resize:none;-webkit-box-shadow:none;box-shadow:none}#wp-fullscreen-tagline{color:#BBB;font-size:18px;float:right;padding-top:5px}#fullscreen-topbar{position:fixed;top:0;left:0;z-index:150050;border-bottom-style:solid;border-bottom-width:1px;min-width:800px;width:100%;height:40px}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;min-width:820px;margin:0 auto}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:left}#wp-fullscreen-save{float:right;padding:2px 2px 0 5px}#wp-fullscreen-count,#wp-fullscreen-close{padding-top:5px}#wp-fullscreen-central-toolbar{margin:auto;padding:0}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:1px 14px 0 0}#wp-fullscreen-modes a{display:block;font-size:11px;text-decoration:none;float:left;margin:1px 0 0;padding:2px 6px;border-width:1px 1px 1px 0;border-style:solid;border-color:#bbb;color:#777;text-shadow:0 1px 0 #fff;background-color:#f4f4f4;background:#f4f4f4;background-image:-webkit-gradient(linear,left bottom,left top,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:linear-gradient(to top,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:hover,.wp-html-mode #wp-fullscreen-modes a:last-child,.wp-tmce-mode #wp-fullscreen-modes a:first-child{color:#333;border-color:#999;background:#eee;background-image:-webkit-gradient(linear,left top,left bottom,from(#e4e4e4),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-moz-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:-o-linear-gradient(top,#e4e4e4,#f9f9f9);background-image:linear-gradient(to bottom,#e4e4e4,#f9f9f9)}#wp-fullscreen-modes a:first-child{border-width:1px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px}#wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px}#wp-fullscreen-buttons .active a{background:inherit}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#fullscreen-topbar.fullscreen-make-sticky{display:block!important}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:4px;display:none}#wp-fullscreen-buttons #wp_fs_image span.mce_image{background-image:url(../../wp-admin/images/media-button.png);background-position:2px 2px}.fullscreen-active #TB_overlay{z-index:150100}.fullscreen-active #TB_window{z-index:150102}#wp_mce_fullscreen_ifr{background:transparent}#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst{display:none}#wp-fullscreen-container .wp_themeSkin table td{vertical-align:top}.fullscreen-overlay{background:#fff}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#ccc}#fullscreen-topbar{border-bottom-color:#DFDFDF;background:#f1f1f1;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}#mce_fullscreen_container{background:#fff;z-index:110000!important}.fade-1000,.fade-600,.fade-400,.fade-300{opacity:0;-moz-transition-property:opacity;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.fade-1000{-moz-transition-duration:1s;-webkit-transition-duration:1s;-o-transition-duration:1s;transition-duration:1s}.fade-600{-moz-transition-duration:.6s;-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s}.fade-400{-moz-transition-duration:.4s;-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s}.fade-300{-moz-transition-duration:.3s;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.rtl #wp-fullscreen-tagline{float:left}.rtl #fullscreen-topbar{left:auto;right:0}.rtl #wp-fullscreen-mode-bar,.rtl #wp-fullscreen-button-bar,.rtl #wp-fullscreen-close,.rtl #wp-fullscreen-count{float:right}.rtl #wp-fullscreen-save{float:left}.rtl #wp-fullscreen-save{padding:2px 5px 0 2px}.rtl #wp-fullscreen-buttons>div{float:right}.rtl #wp-fullscreen-mode-bar{padding:1px 0 0 14px}.rtl #wp-fullscreen-modes a{float:right;border-width:1px 0 1px 1px}.rtl #wp-fullscreen-modes a:first-child{-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-width:1px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px}.rtl #wp-fullscreen-modes a:last-child{-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px}.rtl #wp-fullscreen-save img,.rtl #wp-fullscreen-save span{padding-right:0;padding-left:4px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp_themeSkin span.mce_undo,.wp_themeSkin span.mce_redo,.wp_themeSkin span.mce_bullist,.wp_themeSkin span.mce_numlist,.wp_themeSkin span.mce_blockquote,.wp_themeSkin span.mce_charmap,.wp_themeSkin span.mce_bold,.wp_themeSkin span.mce_italic,.wp_themeSkin span.mce_underline,.wp_themeSkin span.mce_justifyleft,.wp_themeSkin span.mce_justifyright,.wp_themeSkin span.mce_justifycenter,.wp_themeSkin span.mce_justifyfull,.wp_themeSkin span.mce_indent,.wp_themeSkin span.mce_outdent,.wp_themeSkin span.mce_link,.wp_themeSkin span.mce_unlink,.wp_themeSkin span.mce_help,.wp_themeSkin span.mce_removeformat,.wp_themeSkin span.mce_fullscreen,.wp_themeSkin span.mce_wp_fullscreen,.wp_themeSkin span.mce_media,.wp_themeSkin span.mce_pastetext,.wp_themeSkin span.mce_pasteword,.wp_themeSkin span.mce_wp_help,.wp_themeSkin span.mce_wp_adv,.wp_themeSkin span.mce_wp_more,.wp_themeSkin span.mce_strikethrough,.wp_themeSkin span.mce_spellchecker,.wp_themeSkin span.mce_forecolor,.wp_themeSkin .mce_forecolorpicker,.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,.wp_themeSkin .mceSplitButton span.mce_numlist,.wp_themeSkin .mceSplitButton span.mce_bullist{background-image:url(../images/wpicons-2x.png?ver=20120720);background-size:560px 40px}.wp-media-buttons .add_media span.wp-media-buttons-icon,#wp-fullscreen-buttons #wp_fs_image span.mce_image{background-image:url(../../wp-admin/images/media-button-2x.png);background-size:16px 16px}.wp_themeSkin .mceListBox .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin table.mceListBoxEnabled .mceOpen{background-image:url(../images/down_arrow-2x.gif);background-size:10px 20px}.wp_themeSkin .mceSplitButtonEnabled a.mceOpen,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin .mceSplitButtonActive a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover a.mceOpen{background-image:url(../images/down_arrow-2x.gif);background-size:10px 20px}#wp-link .toggle-arrow{background:transparent url(../images/toggle-arrow-2x.png) top left no-repeat;background-size:19px 69px}}
\ No newline at end of file
index 9a9d48e39e035b3512c2ae450a120a64f8bf00f4..78c6f31a162a59019865e7f8b4c479c414eccb28 100644 (file)
@@ -25,4 +25,4 @@
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Dialog#theming
  * http://jquery.org/license
  *
  * http://docs.jquery.com/UI/Dialog#theming
- */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:1px solid #999;-webkit-box-shadow:0 0 16px rgba(0,0,0,0.3);box-shadow:0 0 16px rgba(0,0,0,0.3);background-color:#f5f5f5;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:bold;font-size:11px;line-height:18px;color:#e5e5e5;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:29px;height:16px;top:13px;right:6px;background:url('../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif') no-repeat -87px -16px}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}
\ No newline at end of file
+ */.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0 0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.wp-dialog{padding:0;z-index:300002;border:1px solid #999;-webkit-box-shadow:0 0 16px rgba(0,0,0,.3);box-shadow:0 0 16px rgba(0,0,0,.3);background-color:#f5f5f5;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px}.wp-dialog .ui-dialog-title{display:block;text-align:center;padding:1px 0 2px}.wp-dialog .ui-dialog-titlebar{padding:0 1em;background-color:#444;font-weight:700;font-size:11px;line-height:18px;color:#e5e5e5;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px}.wp-dialog .ui-dialog-content{padding:0}.wp-dialog .ui-dialog-titlebar-close{cursor:pointer;-webkit-appearance:none;border:0;width:29px;height:16px;top:13px;right:6px;background:url(../js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif) no-repeat -87px -16px}.wp-dialog .ui-dialog-titlebar-close .ui-button-text{display:none}.wp-dialog .ui-dialog-titlebar-close:hover,.wp-dialog .ui-dialog-titlebar-close:focus{background-position:-87px -32px}.ui-widget-overlay{z-index:300001;background-color:#000;opacity:.6;filter:alpha(opacity=60)}
\ No newline at end of file
index 2636945dfdad65f8ffbad981d0a7c51aebbd8cbe..c7b75bb96dbec3d94563aa2169cd439f45cc7fab 100644 (file)
@@ -1 +1 @@
-.media-modal-close{right:auto;left:7px}.media-toolbar-primary{float:left}.media-toolbar-secondary{float:right}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:0;margin-right:10px;float:right}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:0;margin-left:10px;float:right}.media-sidebar{right:auto;left:0;border-left:0;border-right:1px solid #dfdfdf}.media-sidebar .setting{float:right}.media-sidebar .setting .link-to-custom{direction:ltr}.media-sidebar .setting span{margin-right:0;margin-left:4%}.media-sidebar .setting span,.compat-item label span{float:right;text-align:left}.media-sidebar .setting input,.media-sidebar .setting textarea{float:left}.compat-item{float:right}.compat-item .label{margin-right:0;margin-left:4%;float:right;text-align:left}.compat-item .field{float:left;padding-right:0;padding-left:1px}.media-menu{border-right:0;border-left:1px solid #d9d9d9;box-shadow:inset 6px 0 6px -6px rgba(0,0,0,0.2)}.media-router>a{float:right;border-right:0;border-left:1px solid #dfdfdf}.media-router>a:last-child{border-left:0}.media-frame-menu{left:auto;right:0}.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{left:0;right:200px}.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-toolbar,.media-frame.hide-menu .media-frame-content{right:0}.media-frame.hide-menu .media-frame-menu{left:auto;right:-200px}.media-frame select.attachment-filters{margin-right:0;margin-left:10px}.media-toolbar-secondary .search{margin-right:0;margin-left:16px}.attachments{padding-right:0;padding-left:16px}.attachment{float:right}.attachment .thumbnail{left:auto;right:0}.attachment .close{right:auto;left:5px}.attachment .check{right:auto;left:-7px}.attachments-browser .media-toolbar{right:0;left:300px}.attachments-browser .attachments,.attachments-browser .uploader-inline{right:0;left:300px}.attachment-preview .media-progress-bar{left:auto;right:15%}.media-sidebar .media-uploader-status .upload-dismiss-errors{right:auto;left:0}.upload-errors .upload-error-label{margin-right:0;margin-left:8px;float:right;margin-top:-3px}.media-selection{right:0;left:350px;padding:0 16px 0 0}.media-selection .selection-info{margin-right:0;margin-left:10px}.media-selection .selection-info a{float:right;border-right:0;border-left:1px solid #dfdfdf;margin:1px -8px 1px 8px}.media-selection .selection-info a:last-child{border-right:1px;border-left:0;margin-left:0;margin-right:-8px}.media-selection:after{right:auto;left:0;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:-moz-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:-o-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))}.attachment-info .thumbnail{float:right;margin-right:0;margin-left:10px}.attachment-info .details{float:right}.attachment-display-settings{float:right}.embed-url span{display:block;padding:4px 2px 6px 0}.media-embed .thumbnail{float:right}.media-embed .setting{float:right}.media-frame .embed-url input,.media-frame .link-to-custom{direction:ltr}@media only screen and (max-width:900px){.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{left:0;right:140px}.attachments-browser .attachments,.attachments-browser .uploader-inline,.attachments-browser .media-toolbar{right:0;left:180px}}
\ No newline at end of file
+.media-modal-close{right:auto;left:7px}.media-toolbar-primary{float:left}.media-toolbar-secondary{float:right}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:0;margin-right:10px;float:right}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:0;margin-left:10px;float:right}.media-sidebar{right:auto;left:0;border-left:0;border-right:1px solid #dfdfdf}.media-sidebar .setting{float:right}.media-sidebar .setting .link-to-custom{direction:ltr}.media-sidebar .setting span{margin-right:0;margin-left:4%}.media-sidebar .setting span,.compat-item label span{float:right;text-align:left}.media-sidebar .setting input,.media-sidebar .setting textarea{float:left}.compat-item{float:right}.compat-item .label{margin-right:0;margin-left:4%;float:right;text-align:left}.compat-item .field{float:left;padding-right:0;padding-left:1px}.media-menu{border-right:0;border-left:1px solid #d9d9d9;box-shadow:inset 6px 0 6px -6px rgba(0,0,0,.2)}.media-router>a{float:right;border-right:0;border-left:1px solid #dfdfdf}.media-router>a:last-child{border-left:0}.media-frame-menu{left:auto;right:0}.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{left:0;right:200px}.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-toolbar,.media-frame.hide-menu .media-frame-content{right:0}.media-frame.hide-menu .media-frame-menu{left:auto;right:-200px}.media-frame select.attachment-filters{margin-right:0;margin-left:10px}.media-toolbar-secondary .search{margin-right:0;margin-left:16px}.attachments{padding-right:0;padding-left:16px}.attachment{float:right}.attachment .thumbnail{left:auto;right:0}.attachment .close{right:auto;left:5px}.attachment .check{right:auto;left:-7px}.attachments-browser .media-toolbar{right:0;left:300px}.attachments-browser .attachments,.attachments-browser .uploader-inline{right:0;left:300px}.attachment-preview .media-progress-bar{left:auto;right:15%}.media-sidebar .media-uploader-status .upload-dismiss-errors{right:auto;left:0}.upload-errors .upload-error-label{margin-right:0;margin-left:8px;float:right;margin-top:-3px}.media-selection{right:0;left:350px;padding:0 16px 0 0}.media-selection .selection-info{margin-right:0;margin-left:10px}.media-selection .selection-info a{float:right;border-right:0;border-left:1px solid #dfdfdf;margin:1px -8px 1px 8px}.media-selection .selection-info a:last-child{border-right:1px;border-left:0;margin-left:0;margin-right:-8px}.media-selection:after{right:auto;left:0;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:-moz-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:-o-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))}.attachment-info .thumbnail{float:right;margin-right:0;margin-left:10px}.attachment-info .details{float:right}.attachment-display-settings{float:right}.embed-url span{display:block;padding:4px 2px 6px 0}.media-embed .thumbnail{float:right}.media-embed .setting{float:right}.media-frame .embed-url input,.media-frame .link-to-custom{direction:ltr}@media only screen and (max-width:900px){.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{left:0;right:140px}.attachments-browser .attachments,.attachments-browser .uploader-inline,.attachments-browser .media-toolbar{right:0;left:180px}}
\ No newline at end of file
index f36c191f41231a1e1e2b4f01f03dfd7e859831ec..0176b6dcaa8094f177db6fb05f3bf5a885610229 100644 (file)
@@ -1 +1 @@
-.media-modal,.media-frame{font-family: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="text"],.media-frame input[type="password"],.media-frame input[type="number"],.media-frame input[type="search"],.media-frame input[type="email"],.media-frame input[type="url"],.media-frame textarea,.media-frame select{font-family:sans-serif;font-size:12px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame textarea:disabled,.media-frame input[readonly],.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type="search"]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.ui-sortable,.ui-draggable{-ms-touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.media-modal-close{position:absolute;top:7px;right:7px;width:30px;height:30px;z-index:1000}.media-modal-close span{display:block;margin:8px auto 0;width:15px;height:15px;background-position:-100px 0}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;background:#fff}.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:#f5f5f5;border-left:1px solid #dfdfdf;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-weight:200;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%}.media-sidebar h3{position:relative;font-weight:bold;text-transform:uppercase;font-size:12px;color:#777;text-shadow:0 1px 0 #fff;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 .setting input[type="checkbox"]{width:auto;float:none;margin-top:8px;padding:0}.media-sidebar .setting span,.compat-item label span{float:left;min-height:22px;padding-top:8px;line-height:16px;text-align:right;font-weight:normal;color:#999;text-shadow:0 1px 0 #fff}.media-sidebar .setting input,.media-sidebar .setting textarea{width:65%;float:right}.media-sidebar .setting textarea,.compat-item .field 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 .label,.compat-item .field{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:65%;padding-right:1px}.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;border-right:1px solid #d9d9d9;box-shadow:inset -6px 0 6px -6px rgba(0,0,0,0.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:4px 20px;margin:0;line-height:18px;font-size:14px;color:#21759b;text-shadow:0 1px 0 #fff;text-decoration:none}.media-menu>a:hover{color:#21759b;background:rgba(0,0,0,0.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#333;font-weight:bold}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #dfdfdf;border-bottom:1px solid #fff}.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{position:relative;float:left;padding:2px 10px;margin:0;height:18px;line-height:18px;font-size:14px;border-right:1px solid #dfdfdf;text-shadow:0 1px 0 #fff;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:after{content:'';display:block;margin:-100px auto 0;width:7px;height:7px;background:#fff;box-shadow:1px 1px 1px rgba(0,0,0,0.2);z-index:300;-webkit-transform:rotate(45deg) translate(75px,75px);-moz-transform:rotate(45deg) translate(75px,75px);-ms-transform:rotate(45deg) translate(75px,75px);-o-transform:rotate(45deg) translate(75px,75px);transform:rotate(45deg) translate(75px,75px)}.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:199px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:45px;z-index:200}.media-frame-router{position:absolute;top:45px;left:200px;right:0;height:30px;z-index:200;border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,0.1)}.media-frame-content{position:absolute;top:75px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100;border:0 solid #dfdfdf;border-width:1px 0 0 0;box-shadow:0 -4px 4px -4px rgba(0,0,0,0.1)}.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-toolbar,.media-frame.hide-menu .media-frame-content{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:45px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,0.1)}.media-frame .media-toolbar .add-to-gallery{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;font-weight:200;line-height:45px;margin:0}.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: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;-o-user-select:none;user-select:none}.selected.attachment{box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment-preview{position:relative;width:199px;height:199px;box-shadow:inset 0 0 15px rgba(0,0,0,0.1),inset 0 0 0 1px rgba(0,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;box-shadow:inset 0 0 0 1px rgba(0,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%);-moz-transform:translate(50%,50%);-ms-transform:translate(50%,50%);-o-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-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:bold;background:rgba(255,255,255,0.8);box-shadow:inset 0 0 0 1px rgba(0,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;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.3)}.attachment .close:hover{box-shadow:0 0 0 1px rgba(0,0,0,0.6)}.attachment:hover .close{display:block}.attachment .check{display:none;height:24px;width:24px;position:absolute;top:-7px;right:-7px;outline:0;border:1px solid #fff;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.4);background:#f1f1f1;background-image:-webkit-gradient(linear,left top,left bottom,from(#f1f1f1),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#f1f1f1,#e1e1e1);background-image:-moz-linear-gradient(top,#f1f1f1,#e1e1e1);background-image:-o-linear-gradient(top,#f1f1f1,#e1e1e1);background-image:linear-gradient(to bottom,#f1f1f1,#e1e1e1)}.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{box-shadow:0 0 0 1px #1e8cbe;background:#1e8cbe;background-image:-webkit-gradient(linear,left top,left bottom,from(#1e8cbe),to(#0074a2));background-image:-webkit-linear-gradient(top,#1e8cbe,#0074a2);background-image:-moz-linear-gradient(top,#1e8cbe,#0074a2);background-image:-o-linear-gradient(top,#1e8cbe,#0074a2);background-image:linear-gradient(to bottom,#1e8cbe,#0074a2)}.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;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:#999}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,0.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#aaa;background:rgba(0,0,0,0.2);border-radius:10px;-webkit-transition:width 300ms;-moz-transition:width 300ms;-ms-transition:width 300ms;-o-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;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;text-shadow:0 1px 0 #fff}.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 auto;padding:8px;border:1px #c00 solid;background:#ffebe8;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:bold;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:-moz-linear-gradient(top,#e00,#a00);background-image:-o-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);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,0.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;-moz-transition:opacity 250ms;-ms-transition:opacity 250ms;-o-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{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);font-size:20px;font-weight:200;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:transparent;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:200;margin-bottom:1.6em}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:normal}.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.empty,.media-selection.editing{display:none}.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:bold}.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{box-shadow:none}.attachment.selection.details{box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.details{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:-moz-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:-o-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/wpspin.gif) no-repeat;background-size:16px 16px;display:none;opacity:.7;filter:alpha(opacity=70);width:16px;height:16px;margin:0}.media-sidebar .settings-save-status{background:#f5f5f5;float:right;text-transform:none;z-index:10}.media-sidebar .settings-save-status .spinner{margin:0 5px 0}.media-sidebar .settings-save-status .saved{float:right;display:none}.media-sidebar .save-waiting .settings-save-status .spinner,.media-sidebar .save-complete .settings-save-status .saved{display:block}.attachment-details{position:relative;overflow:auto}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#999;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 0 #fff;padding-bottom:11px}.attachment-info .filename{font-weight:bold;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;box-shadow:inset 0 0 15px rgba(0,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;box-shadow:inset 0 0 0 1px rgba(0,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 .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .delete-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-info .refresh-attachment,.attachment-details.needs-refresh .attachment-info .edit-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.attachment-info .delete-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.gallery-settings{overflow:hidden}.embed-url{display:block;position:relative;padding:0 16px 7px;margin:0;z-index:250;background:#fff;border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,0.1);font-size:18px;font-weight:200}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;box-shadow:inset 2px 2px 4px -2px rgba(0,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-image-settings{position:absolute;background:#f5f5f5;top:57px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.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;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1);overflow:hidden}.media-embed .setting{width:100%;margin-top:10px;float:left;display:block;clear:both}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#999;text-shadow:0 1px 0 #fff}.media-embed .setting .button-group{margin:2px 0}.media-embed .setting input,.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.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}@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 10px}.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{left:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .uploader-inline,.attachments-browser .media-toolbar{right:180px}.media-sidebar .setting input,.media-sidebar .setting textarea,.media-sidebar .setting span,.compat-item label span{float:none}.media-sidebar .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 textarea,.media-sidebar .setting select{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame input,.media-frame textarea,.media-frame .search{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.media-selection{min-width:120px}.media-selection:after{background:0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}}@media only screen and (max-width:800px){.media-frame-content .media-toolbar .instructions{display:none}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .search,.media-frame-content .media-toolbar .attachment-filters{max-width:85px}}@media only screen and (max-width:600px){.media-modal{width:540px;position:absolute}.media-modal-backdrop{width:600px;position:absolute}}@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);background-size:134px 15px}.media-frame .spinner{background-image:url(../images/wpspin-2x.gif)}}
\ No newline at end of file
+.media-modal,.media-frame{font-family: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=text],.media-frame input[type=password],.media-frame input[type=number],.media-frame input[type=search],.media-frame input[type=email],.media-frame input[type=url],.media-frame textarea,.media-frame select{font-family:sans-serif;font-size:12px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame textarea:disabled,.media-frame input[readonly],.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.ui-sortable,.ui-draggable{-ms-touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.media-modal-close{position:absolute;top:7px;right:7px;width:30px;height:30px;z-index:1000}.media-modal-close span{display:block;margin:8px auto 0;width:15px;height:15px;background-position:-100px 0}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;background:#fff}.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:#f5f5f5;border-left:1px solid #dfdfdf;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-weight:200;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%}.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#777;text-shadow:0 1px 0 #fff;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 .setting input[type=checkbox]{width:auto;float:none;margin-top:8px;padding:0}.media-sidebar .setting span,.compat-item label span{float:left;min-height:22px;padding-top:8px;line-height:16px;text-align:right;font-weight:400;color:#999;text-shadow:0 1px 0 #fff}.media-sidebar .setting input,.media-sidebar .setting textarea{width:65%;float:right}.media-sidebar .setting textarea,.compat-item .field 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 .label,.compat-item .field{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:65%;padding-right:1px}.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;border-right:1px solid #d9d9d9;box-shadow:inset -6px 0 6px -6px rgba(0,0,0,.2);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:4px 20px;margin:0;line-height:18px;font-size:14px;color:#21759B;text-shadow:0 1px 0 #fff;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:#333;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #dfdfdf;border-bottom:1px solid #fff}.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{position:relative;float:left;padding:2px 10px;margin:0;height:18px;line-height:18px;font-size:14px;border-right:1px solid #dfdfdf;text-shadow:0 1px 0 #fff;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:after{content:'';display:block;margin:-100px auto 0;width:7px;height:7px;background:#fff;box-shadow:1px 1px 1px rgba(0,0,0,.2);z-index:300;-webkit-transform:rotate(45deg) translate(75px,75px);-moz-transform:rotate(45deg) translate(75px,75px);-ms-transform:rotate(45deg) translate(75px,75px);-o-transform:rotate(45deg) translate(75px,75px);transform:rotate(45deg) translate(75px,75px)}.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:199px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:45px;z-index:200}.media-frame-router{position:absolute;top:45px;left:200px;right:0;height:30px;z-index:200;border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-content{position:absolute;top:75px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100;border:0 solid #dfdfdf;border-width:1px 0 0;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-toolbar,.media-frame.hide-menu .media-frame-content{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:45px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame .media-toolbar .add-to-gallery{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;font-weight:200;line-height:45px;margin:0}.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: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;-o-user-select:none;user-select:none}.selected.attachment{box-shadow:0 0 0 1px #fff,0 0 0 3px #ccc}.details.attachment{box-shadow:0 0 0 1px #fff,0 0 0 5px #1e8cbe}.attachment-preview{position:relative;width:199px;height:199px;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;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%);-moz-transform:translate(50%,50%);-ms-transform:translate(50%,50%);-o-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-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);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;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.3)}.attachment .close:hover{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:-7px;right:-7px;outline:0;border:1px solid #fff;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.4);background:#f1f1f1;background-image:-webkit-gradient(linear,left top,left bottom,from(#f1f1f1),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#f1f1f1,#e1e1e1);background-image:-moz-linear-gradient(top,#f1f1f1,#e1e1e1);background-image:-o-linear-gradient(top,#f1f1f1,#e1e1e1);background-image:linear-gradient(to bottom,#f1f1f1,#e1e1e1)}.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{box-shadow:0 0 0 1px #1e8cbe;background:#1e8cbe;background-image:-webkit-gradient(linear,left top,left bottom,from(#1e8cbe),to(#0074a2));background-image:-webkit-linear-gradient(top,#1e8cbe,#0074a2);background-image:-moz-linear-gradient(top,#1e8cbe,#0074a2);background-image:-o-linear-gradient(top,#1e8cbe,#0074a2);background-image:linear-gradient(to bottom,#1e8cbe,#0074a2)}.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;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:#999}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#aaa;background:rgba(0,0,0,.2);border-radius:10px;-webkit-transition:width 300ms;-moz-transition:width 300ms;-ms-transition:width 300ms;-o-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;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;text-shadow:0 1px 0 #fff}.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;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:-moz-linear-gradient(top,#e00,#a00);background-image:-o-linear-gradient(top,#e00,#a00);background-image:linear-gradient(to bottom,#e00,#a00);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;-moz-transition:opacity 250ms;-ms-transition:opacity 250ms;-o-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{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);font-size:20px;font-weight:200;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:transparent;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:200;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.empty,.media-selection.editing{display:none}.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{box-shadow:none}.attachment.selection.details{box-shadow:0 0 0 1px #fff,0 0 0 4px #1e8cbe}.media-selection .attachment.selection.details{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:-moz-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:-o-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/wpspin.gif) no-repeat;background-size:16px 16px;display:none;opacity:.7;filter:alpha(opacity=70);width:16px;height:16px;margin:0}.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-waiting .settings-save-status .spinner,.media-sidebar .save-complete .settings-save-status .saved{display:block}.attachment-details{position:relative;overflow:auto}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#999;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 0 #fff;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;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;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 .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .delete-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-info .refresh-attachment,.attachment-details.needs-refresh .attachment-info .edit-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.attachment-info .delete-attachment{color:#bc0b0b}.attachment-info .delete-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.gallery-settings{overflow:hidden}.embed-url{display:block;position:relative;padding:0 16px 7px;margin:0;z-index:250;background:#fff;border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1);font-size:18px;font-weight:200}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;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-image-settings{position:absolute;background:#f5f5f5;top:57px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.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;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin-top:10px;float:left;display:block;clear:both}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#999;text-shadow:0 1px 0 #fff}.media-embed .setting .button-group{margin:2px 0}.media-embed .setting input,.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.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}@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 10px}.media-frame-title,.media-frame-router,.media-frame-content,.media-frame-toolbar{left:140px}.media-sidebar{width:159px;padding:0 10px 24px}.attachments-browser .attachments,.attachments-browser .uploader-inline,.attachments-browser .media-toolbar{right:180px}.media-sidebar .setting input,.media-sidebar .setting textarea,.media-sidebar .setting span,.compat-item label span{float:none}.media-sidebar .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 textarea,.media-sidebar .setting select{width:98%;max-width:none}.media-sidebar .setting select.columns{width:auto}.media-frame input,.media-frame textarea,.media-frame .search{padding:3px 6px}.media-frame-content .attachment .icon{top:40%}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-menu .separator{margin:12px 10px}}@media only screen and (max-width:800px){.media-frame-content .media-toolbar .instructions{display:none}}@media only screen and (max-width:680px){.media-frame-content .media-toolbar .search,.media-frame-content .media-toolbar .attachment-filters{max-width:85px}}@media only screen and (max-width:600px){.media-modal{width:540px;position:absolute}.media-modal-backdrop{width:600px;position:absolute}}@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);background-size:134px 15px}.media-frame .spinner{background-image:url(../images/wpspin-2x.gif)}}
\ No newline at end of file
index 48ebbc429d7f1aaefb881df16037d63d487a263a..46f1cc3f26e9c003081e51553a3fcf8eb34b8ba8 100644 (file)
@@ -1 +1 @@
-.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border-style:solid;border-width:1px;border-color:#dfdfdf;border-color:rgba(0,0,0,.125);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.19);box-shadow:0 2px 4px rgba(0,0,0,.19)}.wp-pointer-content h3{position:relative;margin:0 0 5px;padding:15px 18px 14px 60px;line-height:1.4em;font-size:14px;color:#fff;border-radius:3px 3px 0 0;text-shadow:0 -1px 0 rgba(0,0,0,0.3);background:#8cc1e9;background-image:-webkit-gradient(linear,left bottom,left top,from(#72a7cf),to(#8cc1e9));background-image:-webkit-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-moz-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-o-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:linear-gradient(to top,#72a7cf,#8cc1e9)}.wp-pointer-content h3:before{position:absolute;top:0;left:15px;content:' ';width:36px;height:100%;background:url('../images/icon-pointer-flag.png') 0 50% no-repeat}.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{content:' ';width:10px;height:100%;position:absolute;left:-10px;background:url('../images/xit.gif') 0 50% no-repeat}.wp-pointer-buttons a.close:hover:before{background-position:100% 50%}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;background:url('../images/arrow-pointer-blue.png') 0 0 no-repeat}.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-top .wp-pointer-arrow,.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px;width:30px;height:14px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px;width:14px;height:30px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;background-position:0 0}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;background-position:0 -46px}.wp-pointer-left .wp-pointer-arrow{left:0;background-position:0 -15px}.wp-pointer-right .wp-pointer-arrow{right:0;background-position:-16px -15px}.rtl .wp-pointer-content h3{padding-right:60px;padding-left:18px}.rtl .wp-pointer-content h3:before{right:15px}.rtl .wp-pointer-buttons a{float:left}.rtl .wp-pointer-buttons a.close{padding-right:3px;padding-left:0}.rtl .wp-pointer-buttons a.close:before{right:-10px}.rtl .wp-pointer-top .wp-pointer-arrow,.rtl .wp-pointer-bottom .wp-pointer-arrow,.rtl .wp-pointer-undefined .wp-pointer-arrow{right:50px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-pointer-buttons a.close:before{background-image:url('../images/xit-2x.gif');background-size:20px auto}.wp-pointer-content h3:before{background-image:url('../images/icon-pointer-flag-2x.png');background-size:36px auto}.wp-pointer-arrow{background:url('../images/arrow-pointer-blue-2x.png') 0 0 no-repeat;background-size:30px 60px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{background-position:0 1px}.wp-pointer-bottom .wp-pointer-arrow{background-position:0 -47px}.wp-pointer-left .wp-pointer-arrow{background-position:1px -15px}.wp-pointer-right .wp-pointer-arrow{background-position:-17px -15px}}
\ No newline at end of file
+.wp-pointer{}.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border-style:solid;border-width:1px;border-color:#dfdfdf;border-color:rgba(0,0,0,.125);-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.19);box-shadow:0 2px 4px rgba(0,0,0,.19)}.wp-pointer-content h3{position:relative;margin:0 0 5px;padding:15px 18px 14px 60px;line-height:1.4em;font-size:14px;color:#fff;border-radius:3px 3px 0 0;text-shadow:0 -1px 0 rgba(0,0,0,.3);background:#8cc1e9;background-image:-webkit-gradient(linear,left bottom,left top,from(#72a7cf),to(#8cc1e9));background-image:-webkit-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-moz-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:-o-linear-gradient(bottom,#72a7cf,#8cc1e9);background-image:linear-gradient(to top,#72a7cf,#8cc1e9)}.wp-pointer-content h3:before{position:absolute;top:0;left:15px;content:' ';width:36px;height:100%;background:url(../images/icon-pointer-flag.png) 0 50% no-repeat}.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{content:' ';width:10px;height:100%;position:absolute;left:-10px;background:url(../images/xit.gif) 0 50% no-repeat}.wp-pointer-buttons a.close:hover:before{background-position:100% 50%}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;background:url(../images/arrow-pointer-blue.png) 0 0 no-repeat}.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-top .wp-pointer-arrow,.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px;width:30px;height:14px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px;width:14px;height:30px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;background-position:0 0}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;background-position:0 -46px}.wp-pointer-left .wp-pointer-arrow{left:0;background-position:0 -15px}.wp-pointer-right .wp-pointer-arrow{right:0;background-position:-16px -15px}.rtl .wp-pointer-content h3{padding-right:60px;padding-left:18px}.rtl .wp-pointer-content h3:before{right:15px}.rtl .wp-pointer-buttons a{float:left}.rtl .wp-pointer-buttons a.close{padding-right:3px;padding-left:0}.rtl .wp-pointer-buttons a.close:before{right:-10px}.rtl .wp-pointer-top .wp-pointer-arrow,.rtl .wp-pointer-bottom .wp-pointer-arrow,.rtl .wp-pointer-undefined .wp-pointer-arrow{right:50px}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-pointer-buttons a.close:before{background-image:url(../images/xit-2x.gif);background-size:20px auto}.wp-pointer-content h3:before{background-image:url(../images/icon-pointer-flag-2x.png);background-size:36px auto}.wp-pointer-arrow{background:url(../images/arrow-pointer-blue-2x.png) 0 0 no-repeat;background-size:30px 60px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{background-position:0 1px}.wp-pointer-bottom .wp-pointer-arrow{background-position:0 -47px}.wp-pointer-left .wp-pointer-arrow{background-position:1px -15px}.wp-pointer-right .wp-pointer-arrow{background-position:-17px -15px}}
\ No newline at end of file
diff --git a/wp-includes/date.php b/wp-includes/date.php
new file mode 100644 (file)
index 0000000..f41cae8
--- /dev/null
@@ -0,0 +1,447 @@
+<?php
+/**
+ * WP_Date_Query will generate a MySQL WHERE clause for the specified date-based parameters.
+ *
+ * Initialize the class by passing an array of arrays of parameters.
+ *
+ * @link http://codex.wordpress.org/Function_Reference/WP_Query Codex page.
+ *
+ * @since 3.7.0
+ */
+class WP_Date_Query {
+       /**
+        * List of date queries.
+        *
+        * @since 3.7.0
+        * @access public
+        * @var array
+        */
+       public $queries = array();
+
+       /**
+        * The relation between the queries. Can be either 'AND' or 'OR' and can be changed via the query arguments.
+        *
+        * @since 3.7.0
+        * @access public
+        * @var string
+        */
+       public $relation = 'AND';
+
+       /**
+        * The column to query against. Can be changed via the query arguments.
+        *
+        * @since 3.7.0
+        * @access public
+        * @var string
+        */
+       public $column = 'post_date';
+
+       /**
+        * The value comparison operator. Can be changed via the query arguments.
+        *
+        * @since 3.7.0
+        * @access public
+        * @var array
+        */
+       public $compare = '=';
+
+       /**
+        * Constructor.
+        *
+        * @param array $date_query {
+        *     One or more associative arrays of date query parameters.
+        *
+        *     @type array {
+        *         @type string $column   Optional. The column to query against. If undefined, inherits the value of
+        *                                the $default_column parameter. Default 'post_date'. 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 '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN',
+        *                                'BETWEEN', 'NOT BETWEEN'.
+        *         @type string $relation Optional. The boolean relationship between the date queryies.
+        *                                Default 'OR'. Accepts 'OR', 'AND'.
+        *         @type array {
+        *             @type string|array $before Optional. Date to retrieve posts before. Accepts strtotime()-compatible
+        *                                        string, or array of 'year', 'month', 'day' values. {
+        *
+        *                 @type string $year  The four-digit year. Default empty. Accepts any four-digit year.
+        *                 @type string $month Optional when passing array.The month of the year.
+        *                                     Default (string:empty)|(array:1). Accepts numbers 1-12.
+        *                 @type string $day   Optional when passing array.The day of the month.
+        *                                     Default (string:empty)|(array:1). Accepts numbers 1-31.
+        *             }
+        *             @type string|array $after Optional. Date to retrieve posts before. Accepts strtotime()-compatible
+        *                                       string, or array of 'year', 'month', 'day' values. {
+        *
+        *                 @type string $year  The four-digit year. Default empty. Accepts any four-digit year.
+        *                 @type string $month Optional when passing array.The month of the year.
+        *                                     Default (string:empty)|(array:12). Accepts numbers 1-12.
+        *                 @type string $day   Optional when passing array.The day of the month.
+        *                                     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
+        *                                           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 '=', '!=',
+        *                                           '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'.
+        *             @type bool         $inclusive Optional. Include results from dates specified in 'before' or 'after'.
+        *                                           Default. Accepts.
+        *             @type int          $year      Optional. The four-digit near number. Default empty. Accepts any
+        *                                           four-digit year.
+        *             @type int          $month     Optional. The two-digit month number. Default empty. Accepts numbers 1-12.
+        *             @type int          $week      Optional. The week number of the year. Default empty. Accepts numbers 0-53.
+        *             @type int          $day       Optional. The day of the month. Default empty. Accepts numbers 1-31.
+        *             @type int          $hour      Optional. The hour of the day. Default empty. Accepts numbers 0-23.
+        *             @type int          $minute    Optional. The minute of the hour. Default empty. Accepts numbers 0-60.
+        *             @type int          $second    Optional. The second of the minute. Default empty. Accepts numbers 0-60.
+        *         }
+        *     }
+        * }
+        * @param array $default_column Optional. Default column to query against. Default 'post_date'.
+        *                              Accepts 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt',
+        *                              'comment_date', 'comment_date_gmt'.
+        */
+       function __construct( $date_query, $default_column = 'post_date' ) {
+               if ( empty( $date_query ) || ! is_array( $date_query ) )
+                       return;
+
+               if ( isset( $date_query['relation'] ) && strtoupper( $date_query['relation'] ) == 'OR' )
+                       $this->relation = 'OR';
+               else
+                       $this->relation = 'AND';
+
+               if ( ! empty( $date_query['column'] ) )
+                       $this->column = esc_sql( $date_query['column'] );
+               else
+                       $this->column = esc_sql( $default_column );
+
+               $this->column = $this->validate_column( $this->column );
+
+               $this->compare = $this->get_compare( $date_query );
+
+               // If an array of arrays wasn't passed, fix it
+               if ( ! isset( $date_query[0] ) )
+                       $date_query = array( $date_query );
+
+               $this->queries = array();
+               foreach ( $date_query as $key => $query ) {
+                       if ( ! is_array( $query ) )
+                               continue;
+
+                       $this->queries[$key] = $query;
+               }
+       }
+
+       /**
+        * Determines and validates what comparison operator to use.
+        *
+        * @since 3.7.0
+        * @access public
+        *
+        * @param array $query A date query or a date subquery
+        * @return string The comparison operator
+        */
+       public function get_compare( $query ) {
+               if ( ! empty( $query['compare'] ) && in_array( $query['compare'], array( '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) )
+                       return strtoupper( $query['compare'] );
+
+               return $this->compare;
+       }
+
+       /**
+        * Validates a column name parameter.
+        *
+        * @since 3.7.0
+        * @access public
+        *
+        * @param string $column The user-supplied column name.
+        * @return string A validated column name value.
+        */
+       public function validate_column( $column ) {
+               $valid_columns = array(
+                       'post_date', 'post_date_gmt', 'post_modified',
+                       'post_modified_gmt', 'comment_date', 'comment_date_gmt'
+               );
+               /**
+                * Filter the list of valid date query columns.
+                *
+                * @since 3.7.0
+                *
+                * @param array $valid_columns An array of valid date query columns. Defaults are 'post_date', 'post_date_gmt',
+                *                             'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt'
+                */
+               if ( ! in_array( $column, apply_filters( 'date_query_valid_columns', $valid_columns ) ) )
+                       $column = 'post_date';
+
+               return $column;
+       }
+
+       /**
+        * Turns an array of date query parameters into a MySQL string.
+        *
+        * @since 3.7.0
+        * @access public
+        *
+        * @return string MySQL WHERE parameters
+        */
+       public function get_sql() {
+               // The parts of the final query
+               $where = array();
+
+               foreach ( $this->queries as $key => $query ) {
+                       $where_parts = $this->get_sql_for_subquery( $query );
+                       if ( $where_parts ) {
+                               // Combine the parts of this subquery into a single string
+                               $where[ $key ] = '( ' . implode( ' AND ', $where_parts ) . ' )';
+                       }
+               }
+
+               // Combine the subquery strings into a single string
+               if ( $where )
+                       $where = ' AND ( ' . implode( " {$this->relation} ", $where ) . ' )';
+               else
+                       $where = '';
+
+               /**
+                * Filter the date query WHERE clause.
+                *
+                * @since 3.7.0
+                *
+                * @param string        $where WHERE clause of the date query.
+                * @param WP_Date_Query $this  The WP_Date_Query instance.
+                */
+               return apply_filters( 'get_date_sql', $where, $this );
+       }
+
+       /**
+        * Turns a single date subquery into pieces for a WHERE clause.
+        *
+        * @since 3.7.0
+        * return array
+        */
+       protected function get_sql_for_subquery( $query ) {
+               global $wpdb;
+
+               // The sub-parts of a $where part
+               $where_parts = array();
+
+               $column = ( ! empty( $query['column'] ) ) ? esc_sql( $query['column'] ) : $this->column;
+
+               $column = $this->validate_column( $column );
+
+               $compare = $this->get_compare( $query );
+
+               $lt = '<';
+               $gt = '>';
+               if ( ! empty( $query['inclusive'] ) ) {
+                       $lt .= '=';
+                       $gt .= '=';
+               }
+
+               // Range queries
+               if ( ! empty( $query['after'] ) )
+                       $where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], true ) );
+
+               if ( ! empty( $query['before'] ) )
+                       $where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], false ) );
+
+               // Specific value queries
+
+               if ( isset( $query['year'] ) && $value = $this->build_value( $compare, $query['year'] ) )
+                       $where_parts[] = "YEAR( $column ) $compare $value";
+
+               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'] ) )
+                       $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'] ) ) )
+                       $where_parts[] = _wp_mysql_week( $column ) . " $compare $value";
+
+               if ( isset( $query['dayofyear'] ) && $value = $this->build_value( $compare, $query['dayofyear'] ) )
+                       $where_parts[] = "DAYOFYEAR( $column ) $compare $value";
+
+               if ( isset( $query['day'] ) && $value = $this->build_value( $compare, $query['day'] ) )
+                       $where_parts[] = "DAYOFMONTH( $column ) $compare $value";
+
+               if ( isset( $query['dayofweek'] ) && $value = $this->build_value( $compare, $query['dayofweek'] ) )
+                       $where_parts[] = "DAYOFWEEK( $column ) $compare $value";
+
+               if ( isset( $query['hour'] ) || isset( $query['minute'] ) || isset( $query['second'] ) ) {
+                       // Avoid notices
+                       foreach ( array( 'hour', 'minute', 'second' ) as $unit ) {
+                               if ( ! isset( $query[$unit] ) ) {
+                                       $query[$unit] = null;
+                               }
+                       }
+
+                       if ( $time_query = $this->build_time_query( $column, $compare, $query['hour'], $query['minute'], $query['second'] ) ) {
+                               $where_parts[] = $time_query;
+                       }
+               }
+
+               return $where_parts;
+       }
+
+       /**
+        * Builds and validates a value string based on the comparison operator.
+        *
+        * @since 3.7.0
+        * @access public
+        *
+        * @param string $compare The compare operator to use
+        * @param string|array $value The value
+        * @return string|int|false The value to be used in SQL or false on error.
+        */
+       public function build_value( $compare, $value ) {
+               if ( ! isset( $value ) )
+                       return false;
+
+               switch ( $compare ) {
+                       case 'IN':
+                       case 'NOT IN':
+                               return '(' . implode( ',', array_map( 'intval', (array) $value ) ) . ')';
+
+                       case 'BETWEEN':
+                       case 'NOT BETWEEN':
+                               if ( ! is_array( $value ) || 2 != count( $value ) || ! isset( $value[0] ) || ! isset( $value[1] ) )
+                                       $value = array( $value, $value );
+
+                               $value = array_map( 'intval', $value );
+
+                               return $value[0] . ' AND ' . $value[1];
+
+                       default;
+                               return (int) $value;
+               }
+       }
+
+       /**
+        * Builds a MySQL format date/time based on some query parameters.
+        *
+        * You can pass an array of values (year, month, etc.) with missing parameter values being defaulted to
+        * either the maximum or minimum values (controlled by the $default_to parameter). Alternatively you can
+        * pass a string that that will be run through strtotime().
+        *
+        * @since 3.7.0
+        * @access public
+        *
+        * @param string|array $datetime An array of parameters or a strotime() string
+        * @param string $default_to Controls what values default to if they are missing from $datetime. Pass "min" or "max".
+        * @return string|false A MySQL format date/time or false on failure
+        */
+       public function build_mysql_datetime( $datetime, $default_to_max = false ) {
+               $now = current_time( 'timestamp' );
+
+               if ( ! is_array( $datetime ) ) {
+                       // @todo Timezone issues here possibly
+                       return gmdate( 'Y-m-d H:i:s', strtotime( $datetime, $now ) );
+               }
+
+               $datetime = array_map( 'absint', $datetime );
+
+               if ( ! isset( $datetime['year'] ) )
+                       $datetime['year'] = gmdate( 'Y', $now );
+
+               if ( ! isset( $datetime['month'] ) )
+                       $datetime['month'] = ( $default_to_max ) ? 12 : 1;
+
+               if ( ! isset( $datetime['day'] ) )
+                       $datetime['day'] = ( $default_to_max ) ? (int) date( 't', mktime( 0, 0, 0, $datetime['month'], 1, $datetime['year'] ) ) : 1;
+
+               if ( ! isset( $datetime['hour'] ) )
+                       $datetime['hour'] = ( $default_to_max ) ? 23 : 0;
+
+               if ( ! isset( $datetime['minute'] ) )
+                       $datetime['minute'] = ( $default_to_max ) ? 59 : 0;
+
+               if ( ! isset( $datetime['second'] ) )
+                       $datetime['second'] = ( $default_to_max ) ? 59 : 0;
+
+               return sprintf( '%04d-%02d-%02d %02d:%02d:%02d', $datetime['year'], $datetime['month'], $datetime['day'], $datetime['hour'], $datetime['minute'], $datetime['second'] );
+       }
+
+       /**
+        * Builds a query string for comparing time values (hour, minute, second).
+        *
+        * If just hour, minute, or second is set than a normal comparison will be done.
+        * However if multiple values are passed, a pseudo-decimal time will be created
+        * in order to be able to accurately compare against.
+        *
+        * @since 3.7.0
+        * @access public
+        *
+        * @param string $column The column to query against. Needs to be pre-validated!
+        * @param string $compare The comparison operator. Needs to be pre-validated!
+        * @param int|null $hour Optional. An hour value (0-23).
+        * @param int|null $minute Optional. A minute value (0-59).
+        * @param int|null $second Optional. A second value (0-59).
+        * @return string|false A query part or false on failure.
+        */
+       public function build_time_query( $column, $compare, $hour = null, $minute = null, $second = null ) {
+               global $wpdb;
+
+               // Have to have at least one
+               if ( ! isset( $hour ) && ! isset( $minute ) && ! isset( $second ) )
+                       return false;
+
+               // Complex combined queries aren't supported for multi-value queries
+               if ( in_array( $compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
+                       $return = array();
+
+                       if ( isset( $hour ) && false !== ( $value = $this->build_value( $compare, $hour ) ) )
+                               $return[] = "HOUR( $column ) $compare $value";
+
+                       if ( isset( $minute ) && false !== ( $value = $this->build_value( $compare, $minute ) ) )
+                               $return[] = "MINUTE( $column ) $compare $value";
+
+                       if ( isset( $second ) && false !== ( $value = $this->build_value( $compare, $second ) ) )
+                               $return[] = "SECOND( $column ) $compare $value";
+
+                       return implode( ' AND ', $return );
+               }
+
+               // Cases where just one unit is set
+               if ( isset( $hour ) && ! isset( $minute ) && ! isset( $second ) && false !== ( $value = $this->build_value( $compare, $hour ) ) ) {
+                       return "HOUR( $column ) $compare $value";
+               } elseif ( ! isset( $hour ) && isset( $minute ) && ! isset( $second ) && false !== ( $value = $this->build_value( $compare, $minute ) ) ) {
+                       return "MINUTE( $column ) $compare $value";
+               } elseif ( ! isset( $hour ) && ! isset( $minute ) && isset( $second ) && false !== ( $value = $this->build_value( $compare, $second ) ) ) {
+                       return "SECOND( $column ) $compare $value";
+               }
+
+               // Single units were already handled. Since hour & second isn't allowed, minute must to be set.
+               if ( ! isset( $minute ) )
+                       return false;
+
+               $format = $time = '';
+
+               // Hour
+               if ( $hour ) {
+                       $format .= '%H.';
+                       $time   .= sprintf( '%02d', $hour ) . '.';
+               } else {
+                       $format .= '0.';
+                       $time   .= '0.';
+               }
+
+               // Minute
+               $format .= '%i';
+               $time   .= sprintf( '%02d', $minute );
+
+               if ( isset( $second ) ) {
+                       $format .= '%s';
+                       $time   .= sprintf( '%02d', $second );
+               }
+
+               return $wpdb->prepare( "DATE_FORMAT( $column, %s ) $compare %f", $format, $time );
+       }
+}
index 358c1018f33275566d61123488074bb9618376e6..bc6c79a80b382dfa3b6e0424a93872bab789e1f2 100644 (file)
@@ -41,7 +41,14 @@ function wp_initial_constants() {
        // set memory limits.
        if ( function_exists( 'memory_get_usage' ) ) {
                $current_limit = @ini_get( 'memory_limit' );
        // set memory limits.
        if ( function_exists( 'memory_get_usage' ) ) {
                $current_limit = @ini_get( 'memory_limit' );
-               if ( -1 != $current_limit && ( -1 == WP_MEMORY_LIMIT || ( intval( $current_limit ) < abs( intval( WP_MEMORY_LIMIT ) ) ) ) )
+               $current_limit_int = intval( $current_limit );
+               if ( false !== stripos( $current_limit, 'G' ) )
+                       $current_limit_int *= 1024;
+               $wp_limit_int = intval( WP_MEMORY_LIMIT );
+               if ( false !== stripos( WP_MEMORY_LIMIT, 'G' ) )
+                       $wp_limit_int *= 1024;
+
+               if ( -1 != $current_limit && ( -1 == WP_MEMORY_LIMIT || $current_limit_int < $wp_limit_int ) )
                        @ini_set( 'memory_limit', WP_MEMORY_LIMIT );
        }
 
                        @ini_set( 'memory_limit', WP_MEMORY_LIMIT );
        }
 
index 89b39769218acb882b26b4331f5615ff1a6af3b2..b6c7527553b1de3dca9bd77e32c99cc3c5e22ab7 100644 (file)
@@ -74,9 +74,7 @@ foreach ( array( 'user_url', 'link_url', 'link_image', 'link_rss', 'comment_url'
 }
 
 // Slugs
 }
 
 // Slugs
-foreach ( array( 'pre_term_slug' ) as $filter ) {
-       add_filter( $filter, 'sanitize_title' );
-}
+add_filter( 'pre_term_slug', 'sanitize_title' );
 
 // Keys
 foreach ( array( 'pre_post_type', 'pre_post_status', 'pre_post_comment_status', 'pre_post_ping_status' ) as $filter ) {
 
 // Keys
 foreach ( array( 'pre_post_type', 'pre_post_status', 'pre_post_comment_status', 'pre_post_ping_status' ) as $filter ) {
@@ -100,7 +98,7 @@ foreach ( array( 'comment_author', 'term_name', 'link_name', 'link_description',
 }
 
 // Format WordPress
 }
 
 // Format WordPress
-foreach ( array( 'the_content', 'the_title' ) as $filter )
+foreach ( array( 'the_content', 'the_title', 'wp_title' ) as $filter )
        add_filter( $filter, 'capital_P_dangit', 11 );
 add_filter( 'comment_text', 'capital_P_dangit', 31 );
 
        add_filter( $filter, 'capital_P_dangit', 11 );
 add_filter( 'comment_text', 'capital_P_dangit', 31 );
 
@@ -119,9 +117,7 @@ foreach ( array( 'term_description' ) as $filter ) {
 }
 
 // Format for RSS
 }
 
 // Format for RSS
-foreach ( array( 'term_name_rss' ) as $filter ) {
-       add_filter( $filter, 'convert_chars' );
-}
+add_filter( 'term_name_rss', 'convert_chars' );
 
 // Pre save hierarchy
 add_filter( 'wp_insert_post_parent', 'wp_check_post_hierarchy_for_loops', 10, 2 );
 
 // Pre save hierarchy
 add_filter( 'wp_insert_post_parent', 'wp_check_post_hierarchy_for_loops', 10, 2 );
@@ -266,7 +262,7 @@ add_action( 'welcome_panel',              'wp_welcome_panel'
 
 // Navigation menu actions
 add_action( 'delete_post',                '_wp_delete_post_menu_item'         );
 
 // Navigation menu actions
 add_action( 'delete_post',                '_wp_delete_post_menu_item'         );
-add_action( 'delete_term',                '_wp_delete_tax_menu_item'          );
+add_action( 'delete_term',                '_wp_delete_tax_menu_item',   10, 3 );
 add_action( 'transition_post_status',     '_wp_auto_add_pages_to_menu', 10, 3 );
 
 // Post Thumbnail CSS class filtering
 add_action( 'transition_post_status',     '_wp_auto_add_pages_to_menu', 10, 3 );
 
 // Post Thumbnail CSS class filtering
@@ -301,4 +297,8 @@ add_action( 'admin_enqueue_scripts',     'wp_auth_check_load'   );
 add_filter( 'heartbeat_received',        'wp_auth_check', 10, 2 );
 add_filter( 'heartbeat_nopriv_received', 'wp_auth_check', 10, 2 );
 
 add_filter( 'heartbeat_received',        'wp_auth_check', 10, 2 );
 add_filter( 'heartbeat_nopriv_received', 'wp_auth_check', 10, 2 );
 
+// Default authentication filters
+add_filter( 'authenticate', 'wp_authenticate_username_password',  20, 3 );
+add_filter( 'authenticate', 'wp_authenticate_spam_check',         99    );
+
 unset($filter, $action);
 unset($filter, $action);
index 09d5811f1c26fa8f22a9a9c505bcff8296be001f..84bc7af68627e822668deead1e34f184bdf86375 100644 (file)
@@ -574,7 +574,7 @@ class WP_Widget_Recent_Posts extends WP_Widget {
                <ul>
                <?php while ( $r->have_posts() ) : $r->the_post(); ?>
                        <li>
                <ul>
                <?php while ( $r->have_posts() ) : $r->the_post(); ?>
                        <li>
-                               <a href="<?php the_permalink() ?>" title="<?php echo esc_attr( get_the_title() ? get_the_title() : get_the_ID() ); ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?></a>
+                               <a href="<?php the_permalink(); ?>"><?php get_the_title() ? the_title() : the_ID(); ?></a>
                        <?php if ( $show_date ) : ?>
                                <span class="post-date"><?php echo get_the_date(); ?></span>
                        <?php endif; ?>
                        <?php if ( $show_date ) : ?>
                                <span class="post-date"><?php echo get_the_date(); ?></span>
                        <?php endif; ?>
@@ -643,6 +643,7 @@ class WP_Widget_Recent_Comments extends WP_Widget {
                        add_action( 'wp_head', array($this, 'recent_comments_style') );
 
                add_action( 'comment_post', array($this, 'flush_widget_cache') );
                        add_action( 'wp_head', array($this, 'recent_comments_style') );
 
                add_action( 'comment_post', array($this, 'flush_widget_cache') );
+               add_action( 'edit_comment', array($this, 'flush_widget_cache') );
                add_action( 'transition_comment_status', array($this, 'flush_widget_cache') );
        }
 
                add_action( 'transition_comment_status', array($this, 'flush_widget_cache') );
        }
 
@@ -928,7 +929,7 @@ 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 );
        $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);
+       extract( $inputs, EXTR_SKIP );
 
        $number = esc_attr( $number );
        $title  = esc_attr( $title );
 
        $number = esc_attr( $number );
        $title  = esc_attr( $title );
@@ -999,11 +1000,11 @@ function wp_widget_rss_process( $widget_rss, $check_feed = true ) {
        $items = (int) $widget_rss['items'];
        if ( $items < 1 || 20 < $items )
                $items = 10;
        $items = (int) $widget_rss['items'];
        if ( $items < 1 || 20 < $items )
                $items = 10;
-       $url           = esc_url_raw(strip_tags( $widget_rss['url'] ));
-       $title         = trim(strip_tags( $widget_rss['title'] ));
-       $show_summary  = isset($widget_rss['show_summary']) ? (int) $widget_rss['show_summary'] : 0;
-       $show_author   = isset($widget_rss['show_author']) ? (int) $widget_rss['show_author'] :0;
-       $show_date     = isset($widget_rss['show_date']) ? (int) $widget_rss['show_date'] : 0;
+       $url           = esc_url_raw( strip_tags( $widget_rss['url'] ) );
+       $title         = isset( $widget_rss['title'] ) ? trim( strip_tags( $widget_rss['title'] ) ) : '';
+       $show_summary  = isset( $widget_rss['show_summary'] ) ? (int) $widget_rss['show_summary'] : 0;
+       $show_author   = isset( $widget_rss['show_author'] ) ? (int) $widget_rss['show_author'] :0;
+       $show_date     = isset( $widget_rss['show_date'] ) ? (int) $widget_rss['show_date'] : 0;
 
        if ( $check_feed ) {
                $rss = fetch_feed($url);
 
        if ( $check_feed ) {
                $rss = fetch_feed($url);
@@ -1133,7 +1134,7 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                $nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : '';
 
                // Get menus
                $nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : '';
 
                // Get menus
-               $menus = get_terms( 'nav_menu', array( 'hide_empty' => false ) );
+               $menus = wp_get_nav_menus( array( 'orderby' => 'name' ) );
 
                // If no menus exists, direct the user to go and create some.
                if ( !$menus ) {
 
                // If no menus exists, direct the user to go and create some.
                if ( !$menus ) {
index d86709a74b7ffe4e70c018b9873ce6979e4f6c5c..44bd316fc355a7c0338f858d04d6b2f4d3c414a4 100644 (file)
@@ -3378,3 +3378,15 @@ function wp_convert_bytes_to_hr( $bytes ) {
 
        return $size . $unit;
 }
 
        return $size . $unit;
 }
+
+/**
+ * Formerly used internally to tidy up the search terms.
+ *
+ * @access private
+ * @since 2.9.0
+ * @deprecated 3.7.0
+ */
+function _search_terms_tidy( $t ) {
+       _deprecated_function( __FUNCTION__, '3.7' );
+       return trim( $t, "\"'\n\r " );
+}
index 1a89c47955bb91f4e04b94708eacd7a9bc326714..a7777f198a9a226b752311bfffca480bced0f663 100644 (file)
@@ -48,7 +48,8 @@ if ( have_comments() ) : while ( have_comments() ) : the_comment();
                <title><?php
                        if ( !is_singular() ) {
                                $title = get_the_title($comment_post->ID);
                <title><?php
                        if ( !is_singular() ) {
                                $title = get_the_title($comment_post->ID);
-                               $title = apply_filters('the_title_rss', $title);
+                               /** This filter is documented in wp-includes/feed.php */
+                               $title = apply_filters( 'the_title_rss', $title );
                                printf(ent2ncr(__('Comment on %1$s by %2$s')), $title, get_comment_author_rss());
                        } else {
                                printf(ent2ncr(__('By: %s')), get_comment_author_rss());
                                printf(ent2ncr(__('Comment on %1$s by %2$s')), $title, get_comment_author_rss());
                        } else {
                                printf(ent2ncr(__('By: %s')), get_comment_author_rss());
index 983c8f4a3d7a31edaf693e2b547c26866346e77d..666b52df99cad3e3523d939cbb32c757a9baa3aa 100644 (file)
@@ -14,7 +14,14 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
   xmlns:thr="http://purl.org/syndication/thread/1.0"
   xml:lang="<?php bloginfo_rss( 'language' ); ?>"
   xml:base="<?php bloginfo_rss('url') ?>/wp-atom.php"
   xmlns:thr="http://purl.org/syndication/thread/1.0"
   xml:lang="<?php bloginfo_rss( 'language' ); ?>"
   xml:base="<?php bloginfo_rss('url') ?>/wp-atom.php"
-  <?php do_action('atom_ns'); ?>
+  <?php
+  /**
+   * Fires at end of the Atom feed root to add namespaces.
+   *
+   * @since 2.0.0
+   */
+  do_action( 'atom_ns' );
+  ?>
  >
        <title type="text"><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
        <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
  >
        <title type="text"><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
        <subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
@@ -25,15 +32,30 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
        <id><?php bloginfo('atom_url'); ?></id>
        <link rel="self" type="application/atom+xml" href="<?php self_link(); ?>" />
 
        <id><?php bloginfo('atom_url'); ?></id>
        <link rel="self" type="application/atom+xml" href="<?php self_link(); ?>" />
 
-       <?php do_action('atom_head'); ?>
-       <?php while (have_posts()) : the_post(); ?>
+       <?php
+       /**
+        * Fires just before the first Atom feed entry.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'atom_head' );
+
+       while ( have_posts() ) : the_post();
+       ?>
        <entry>
                <author>
                        <name><?php the_author() ?></name>
                        <?php $author_url = get_the_author_meta('url'); if ( !empty($author_url) ) : ?>
                        <uri><?php the_author_meta('url')?></uri>
                        <?php endif;
        <entry>
                <author>
                        <name><?php the_author() ?></name>
                        <?php $author_url = get_the_author_meta('url'); if ( !empty($author_url) ) : ?>
                        <uri><?php the_author_meta('url')?></uri>
                        <?php endif;
-                       do_action('atom_author'); ?>
+
+                       /**
+                        * Fires at the end of each Atom feed author entry.
+                        *
+                        * @since 3.2.0
+                        */
+                       do_action( 'atom_author' );
+               ?>
                </author>
                <title type="<?php html_type_rss(); ?>"><![CDATA[<?php the_title_rss() ?>]]></title>
                <link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php the_permalink_rss() ?>" />
                </author>
                <title type="<?php html_type_rss(); ?>"><![CDATA[<?php the_title_rss() ?>]]></title>
                <link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php the_permalink_rss() ?>" />
@@ -45,8 +67,14 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
 <?php if ( !get_option('rss_use_excerpt') ) : ?>
                <content type="<?php html_type_rss(); ?>" xml:base="<?php the_permalink_rss() ?>"><![CDATA[<?php the_content_feed('atom') ?>]]></content>
 <?php endif; ?>
 <?php if ( !get_option('rss_use_excerpt') ) : ?>
                <content type="<?php html_type_rss(); ?>" xml:base="<?php the_permalink_rss() ?>"><![CDATA[<?php the_content_feed('atom') ?>]]></content>
 <?php endif; ?>
-<?php atom_enclosure(); ?>
-<?php do_action('atom_entry'); ?>
+       <?php atom_enclosure();
+       /**
+        * Fires at the end of each Atom feed item.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'atom_entry' );
+               ?>
                <link rel="replies" type="<?php bloginfo_rss('html_type'); ?>" href="<?php the_permalink_rss() ?>#comments" thr:count="<?php echo get_comments_number()?>"/>
                <link rel="replies" type="application/atom+xml" href="<?php echo esc_url( get_post_comments_feed_link(0, 'atom') ); ?>" thr:count="<?php echo get_comments_number()?>"/>
                <thr:total><?php echo get_comments_number()?></thr:total>
                <link rel="replies" type="<?php bloginfo_rss('html_type'); ?>" href="<?php the_permalink_rss() ?>#comments" thr:count="<?php echo get_comments_number()?>"/>
                <link rel="replies" type="application/atom+xml" href="<?php echo esc_url( get_post_comments_feed_link(0, 'atom') ); ?>" thr:count="<?php echo get_comments_number()?>"/>
                <thr:total><?php echo get_comments_number()?></thr:total>
index 3a0daf1fd63a7181e70c37c039d172d97a314b11..d3503af40d5b8bf6e79b97bffa0c1fff9f8d4a37 100644 (file)
@@ -16,17 +16,33 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:admin="http://webns.net/mvcb/"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:admin="http://webns.net/mvcb/"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
-       <?php do_action('rdf_ns'); ?>
+       <?php
+       /**
+        * Fires at the end of the feed root to add namespaces.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'rdf_ns' );
+       ?>
 >
 <channel rdf:about="<?php bloginfo_rss("url") ?>">
        <title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
        <link><?php bloginfo_rss('url') ?></link>
        <description><?php bloginfo_rss('description') ?></description>
        <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></dc:date>
 >
 <channel rdf:about="<?php bloginfo_rss("url") ?>">
        <title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
        <link><?php bloginfo_rss('url') ?></link>
        <description><?php bloginfo_rss('description') ?></description>
        <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></dc:date>
+       <?php /** This filter is documented in wp-includes/feed-rss2.php */ ?>
        <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
        <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
+       <?php /** This filter is documented in wp-includes/feed-rss2.php */ ?>
        <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
        <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
        <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
        <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
-       <?php do_action('rdf_header'); ?>
+       <?php
+       /**
+        * Fires at the end of the RDF feed header.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'rdf_header' );
+       ?>
        <items>
                <rdf:Seq>
                <?php while (have_posts()): the_post(); ?>
        <items>
                <rdf:Seq>
                <?php while (have_posts()): the_post(); ?>
@@ -39,16 +55,23 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
 <item rdf:about="<?php the_permalink_rss() ?>">
        <title><?php the_title_rss() ?></title>
        <link><?php the_permalink_rss() ?></link>
 <item rdf:about="<?php the_permalink_rss() ?>">
        <title><?php the_title_rss() ?></title>
        <link><?php the_permalink_rss() ?></link>
-        <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', $post->post_date_gmt, false); ?></dc:date>
-       <dc:creator><?php the_author() ?></dc:creator>
+       <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', $post->post_date_gmt, false); ?></dc:date>
+       <dc:creator><![CDATA[<?php the_author() ?>]]></dc:creator>
        <?php the_category_rss('rdf') ?>
 <?php if (get_option('rss_use_excerpt')) : ?>
        <?php the_category_rss('rdf') ?>
 <?php if (get_option('rss_use_excerpt')) : ?>
-       <description><?php the_excerpt_rss() ?></description>
+       <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
 <?php else : ?>
 <?php else : ?>
-       <description><?php the_excerpt_rss() ?></description>
+       <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
        <content:encoded><![CDATA[<?php the_content_feed('rdf') ?>]]></content:encoded>
 <?php endif; ?>
        <content:encoded><![CDATA[<?php the_content_feed('rdf') ?>]]></content:encoded>
 <?php endif; ?>
-       <?php do_action('rdf_item'); ?>
+       <?php
+       /**
+        * Fires at the end of each RDF feed item.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'rdf_item' );
+       ?>
 </item>
 <?php endwhile;  ?>
 </rdf:RDF>
 </item>
 <?php endwhile;  ?>
 </rdf:RDF>
index 2e6c93384596bacb78cfa74b1672275b22fae544..1650434405c8a917f1c01bdd2de6403a4538d1a9 100644 (file)
@@ -17,14 +17,29 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
        <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
        <docs>http://backend.userland.com/rss092</docs>
        <language><?php bloginfo_rss( 'language' ); ?></language>
        <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
        <docs>http://backend.userland.com/rss092</docs>
        <language><?php bloginfo_rss( 'language' ); ?></language>
-       <?php do_action('rss_head'); ?>
+
+       <?php
+       /**
+        * Fires at the end of the RSS Feed Header.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'rss_head' );
+       ?>
 
 <?php while (have_posts()) : the_post(); ?>
        <item>
                <title><?php the_title_rss() ?></title>
                <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
                <link><?php the_permalink_rss() ?></link>
 
 <?php while (have_posts()) : the_post(); ?>
        <item>
                <title><?php the_title_rss() ?></title>
                <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
                <link><?php the_permalink_rss() ?></link>
-               <?php do_action('rss_item'); ?>
+               <?php
+               /**
+                * Fires at the end of each RSS feed item.
+                *
+                * @since 2.0.0
+                */
+               do_action( 'rss_item' );
+               ?>
        </item>
 <?php endwhile; ?>
 </channel>
        </item>
 <?php endwhile; ?>
 </channel>
index a6a91016a6af2064b7183e8c83296d2742f7c72f..a8a1c13bbe0987c7c56fec444cec340b42b884cf 100644 (file)
@@ -14,8 +14,20 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
-       <?php do_action('rss2_ns'); do_action('rss2_comments_ns'); ?>
-       >
+       <?php
+       /** This action is documented in wp-includes/feed-rss2.php */
+       do_action( 'rss2_ns' );
+       ?>
+
+       <?php
+       /**
+        * Fires at the end of the RSS root to add namespaces.
+        *
+        * @since 2.8.0
+        */
+       do_action( 'rss2_comments_ns' );
+       ?>
+>
 <channel>
        <title><?php
                if ( is_singular() )
 <channel>
        <title><?php
                if ( is_singular() )
@@ -29,25 +41,34 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
        <link><?php (is_single()) ? the_permalink_rss() : bloginfo_rss("url") ?></link>
        <description><?php bloginfo_rss("description") ?></description>
        <lastBuildDate><?php echo mysql2date('r', get_lastcommentmodified('GMT')); ?></lastBuildDate>
        <link><?php (is_single()) ? the_permalink_rss() : bloginfo_rss("url") ?></link>
        <description><?php bloginfo_rss("description") ?></description>
        <lastBuildDate><?php echo mysql2date('r', get_lastcommentmodified('GMT')); ?></lastBuildDate>
+       <?php /** This filter is documented in wp-includes/feed-rss2.php */ ?>
        <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
        <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
+       <?php /** This filter is documented in wp-includes/feed-rss2.php */ ?>
        <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
        <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
-       <?php do_action('commentsrss2_head'); ?>
-<?php
-if ( have_comments() ) : while ( have_comments() ) : the_comment();
-       $comment_post = $GLOBALS['post'] = get_post( $comment->comment_post_ID );
-?>
+       <?php
+       /**
+        * Fires at the end of the RSS2 comment feed header.
+        *
+        * @since 2.3.0
+        */
+       do_action( 'commentsrss2_head' );
+
+       if ( have_comments() ) : while ( have_comments() ) : the_comment();
+               $comment_post = $GLOBALS['post'] = get_post( $comment->comment_post_ID );
+       ?>
        <item>
                <title><?php
                        if ( !is_singular() ) {
                                $title = get_the_title($comment_post->ID);
        <item>
                <title><?php
                        if ( !is_singular() ) {
                                $title = get_the_title($comment_post->ID);
-                               $title = apply_filters('the_title_rss', $title);
+                               /** This filter is documented in wp-includes/feed.php */
+                               $title = apply_filters( 'the_title_rss', $title );
                                printf(ent2ncr(__('Comment on %1$s by %2$s')), $title, get_comment_author_rss());
                        } else {
                                printf(ent2ncr(__('By: %s')), get_comment_author_rss());
                        }
                ?></title>
                <link><?php comment_link() ?></link>
                                printf(ent2ncr(__('Comment on %1$s by %2$s')), $title, get_comment_author_rss());
                        } else {
                                printf(ent2ncr(__('By: %s')), get_comment_author_rss());
                        }
                ?></title>
                <link><?php comment_link() ?></link>
-               <dc:creator><?php echo get_comment_author_rss() ?></dc:creator>
+               <dc:creator><![CDATA[<?php echo get_comment_author_rss() ?>]]></dc:creator>
                <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true, false), false); ?></pubDate>
                <guid isPermaLink="false"><?php comment_guid() ?></guid>
 <?php if ( post_password_required($comment_post) ) : ?>
                <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true, false), false); ?></pubDate>
                <guid isPermaLink="false"><?php comment_guid() ?></guid>
 <?php if ( post_password_required($comment_post) ) : ?>
@@ -57,7 +78,15 @@ if ( have_comments() ) : while ( have_comments() ) : the_comment();
                <description><![CDATA[<?php comment_text_rss() ?>]]></description>
                <content:encoded><![CDATA[<?php comment_text() ?>]]></content:encoded>
 <?php endif; // post pass
                <description><![CDATA[<?php comment_text_rss() ?>]]></description>
                <content:encoded><![CDATA[<?php comment_text() ?>]]></content:encoded>
 <?php endif; // post pass
-       do_action('commentrss2_item', $comment->comment_ID, $comment_post->ID);
+       /**
+        * Fires at the end of each RSS2 comment feed item.
+        *
+        * @since 2.1.0
+        *
+        * @param int $comment->comment_ID The ID of the comment being displayed.
+        * @param int $comment_post->ID    The ID of the post the comment is connected to.
+        */
+       do_action( 'commentrss2_item', $comment->comment_ID, $comment_post->ID );
 ?>
        </item>
 <?php endwhile; endif; ?>
 ?>
        </item>
 <?php endwhile; endif; ?>
index a20aa1ea34278139b566839b60f4c6e19fbb24a9..0ce4e6be51411bb39436786647c88d48a1838c6c 100644 (file)
@@ -17,7 +17,14 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
-       <?php do_action('rss2_ns'); ?>
+       <?php
+       /**
+        * Fires at the end of the RSS root to add namespaces.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'rss2_ns' );
+       ?>
 >
 
 <channel>
 >
 
 <channel>
@@ -27,16 +34,46 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
        <description><?php bloginfo_rss("description") ?></description>
        <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
        <language><?php bloginfo_rss( 'language' ); ?></language>
        <description><?php bloginfo_rss("description") ?></description>
        <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
        <language><?php bloginfo_rss( 'language' ); ?></language>
-       <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
-       <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
-       <?php do_action('rss2_head'); ?>
-       <?php while( have_posts()) : the_post(); ?>
+       <?php
+       $duration = 'hourly';
+       /**
+        * Filter how often to update the RSS feed.
+        *
+        * @since 2.1.0
+        *
+        * @param string $duration The update period.
+        *                         Default 'hourly'. Accepts 'hourly', 'daily', 'weekly', 'monthly', 'yearly'.
+        */
+       ?>
+       <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', $duration ); ?></sy:updatePeriod>
+       <?php
+       $frequency = '1';
+       /**
+        * Filter the RSS update frequency.
+        *
+        * @since 2.1.0
+        *
+        * @param string $frequency An integer passed as a string representing the frequency
+        *                          of RSS updates within the update period. Default '1'.
+        */
+       ?>
+       <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', $frequency ); ?></sy:updateFrequency>
+       <?php
+       /**
+        * Fires at the end of the RSS2 Feed Header.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'rss2_head');
+
+       while( have_posts()) : the_post();
+       ?>
        <item>
                <title><?php the_title_rss() ?></title>
                <link><?php the_permalink_rss() ?></link>
                <comments><?php comments_link_feed(); ?></comments>
                <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
        <item>
                <title><?php the_title_rss() ?></title>
                <link><?php the_permalink_rss() ?></link>
                <comments><?php comments_link_feed(); ?></comments>
                <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
-               <dc:creator><?php the_author() ?></dc:creator>
+               <dc:creator><![CDATA[<?php the_author() ?>]]></dc:creator>
                <?php the_category_rss('rss2') ?>
 
                <guid isPermaLink="false"><?php the_guid(); ?></guid>
                <?php the_category_rss('rss2') ?>
 
                <guid isPermaLink="false"><?php the_guid(); ?></guid>
@@ -54,7 +91,14 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
                <wfw:commentRss><?php echo esc_url( get_post_comments_feed_link(null, 'rss2') ); ?></wfw:commentRss>
                <slash:comments><?php echo get_comments_number(); ?></slash:comments>
 <?php rss_enclosure(); ?>
                <wfw:commentRss><?php echo esc_url( get_post_comments_feed_link(null, 'rss2') ); ?></wfw:commentRss>
                <slash:comments><?php echo get_comments_number(); ?></slash:comments>
 <?php rss_enclosure(); ?>
-       <?php do_action('rss2_item'); ?>
+       <?php
+       /**
+        * Fires at the end of each RSS2 feed item.
+        *
+        * @since 2.0.0
+        */
+       do_action( 'rss2_item' );
+       ?>
        </item>
        <?php endwhile; ?>
 </channel>
        </item>
        <?php endwhile; ?>
 </channel>
index e6b9ae0e68212b23923bc206297020a2d58ff362..99e2286ce17482f6df81df8431f18dac9ac0b458 100644 (file)
@@ -83,7 +83,7 @@ function get_wp_title_rss($sep = '&#187;') {
        $title = wp_title($sep, false);
        if ( is_wp_error( $title ) )
                return $title->get_error_message();
        $title = wp_title($sep, false);
        if ( is_wp_error( $title ) )
                return $title->get_error_message();
-       $title = apply_filters('get_wp_title_rss', $title);
+       $title = apply_filters( 'get_wp_title_rss', $title, $sep );
        return $title;
 }
 
        return $title;
 }
 
@@ -98,8 +98,8 @@ function get_wp_title_rss($sep = '&#187;') {
  *
  * @param string $sep Optional.
  */
  *
  * @param string $sep Optional.
  */
-function wp_title_rss($sep = '&#187;') {
-       echo apply_filters('wp_title_rss', get_wp_title_rss($sep));
+function wp_title_rss( $sep = '&#187;' ) {
+       echo apply_filters( 'wp_title_rss', get_wp_title_rss( $sep ), $sep );
 }
 
 /**
 }
 
 /**
@@ -527,7 +527,7 @@ function feed_content_type( $type = '' ) {
  * @return WP_Error|SimplePie WP_Error object on failure or SimplePie object on success
  */
 function fetch_feed( $url ) {
  * @return WP_Error|SimplePie WP_Error object on failure or SimplePie object on success
  */
 function fetch_feed( $url ) {
-       require_once ( ABSPATH . WPINC . '/class-feed.php' );
+       require_once( ABSPATH . WPINC . '/class-feed.php' );
 
        $feed = new SimplePie();
 
 
        $feed = new SimplePie();
 
index aef2b6378caf83ca27b3482818ce406e782bc54f..904c99b17b71288d8ce3736af5036736c4232a31 100644 (file)
@@ -1483,25 +1483,26 @@ function rawurlencode_deep( $value ) {
  *
  * @since 0.71
  *
  *
  * @since 0.71
  *
- * @param string $emailaddy Email address.
- * @param int $mailto Optional. Range from 0 to 1. Used for encoding.
+ * @param string $email_address Email address.
+ * @param int $hex_encoding Optional. Set to 1 to enable hex encoding.
  * @return string Converted email address.
  */
  * @return string Converted email address.
  */
-function antispambot($emailaddy, $mailto=0) {
-       $emailNOSPAMaddy = '';
-       srand ((float) microtime() * 1000000);
-       for ($i = 0; $i < strlen($emailaddy); $i = $i + 1) {
-               $j = floor(rand(0, 1+$mailto));
-               if ($j==0) {
-                       $emailNOSPAMaddy .= '&#'.ord(substr($emailaddy,$i,1)).';';
-               } elseif ($j==1) {
-                       $emailNOSPAMaddy .= substr($emailaddy,$i,1);
-               } elseif ($j==2) {
-                       $emailNOSPAMaddy .= '%'.zeroise(dechex(ord(substr($emailaddy, $i, 1))), 2);
+function antispambot( $email_address, $hex_encoding = 0 ) {
+       $email_no_spam_address = '';
+       for ( $i = 0; $i < strlen( $email_address ); $i++ ) {
+               $j = rand( 0, 1 + $hex_encoding );
+               if ( $j == 0 ) {
+                       $email_no_spam_address .= '&#' . ord( $email_address[$i] ) . ';';
+               } elseif ( $j == 1 ) {
+                       $email_no_spam_address .= $email_address[$i];
+               } elseif ( $j == 2 ) {
+                       $email_no_spam_address .= '%' . zeroise( dechex( ord( $email_address[$i] ) ), 2 );
                }
        }
                }
        }
-       $emailNOSPAMaddy = str_replace('@','&#64;',$emailNOSPAMaddy);
-       return $emailNOSPAMaddy;
+
+       $email_no_spam_address = str_replace( '@', '&#64;', $email_no_spam_address );
+
+       return $email_no_spam_address;
 }
 
 /**
 }
 
 /**
@@ -1743,29 +1744,29 @@ function wp_rel_nofollow_callback( $matches ) {
 /**
  * Convert one smiley code to the icon graphic file equivalent.
  *
 /**
  * Convert one smiley code to the icon graphic file equivalent.
  *
+ * Callback handler for {@link convert_smilies()}.
  * Looks up one smiley code in the $wpsmiliestrans global array and returns an
  * <img> string for that smiley.
  *
  * @global array $wpsmiliestrans
  * @since 2.8.0
  *
  * Looks up one smiley code in the $wpsmiliestrans global array and returns an
  * <img> string for that smiley.
  *
  * @global array $wpsmiliestrans
  * @since 2.8.0
  *
- * @param string $smiley Smiley code to convert to image.
+ * @param array $matches Single match. Smiley code to convert to image.
  * @return string Image string for smiley.
  */
  * @return string Image string for smiley.
  */
-function translate_smiley($smiley) {
+function translate_smiley( $matches ) {
        global $wpsmiliestrans;
 
        global $wpsmiliestrans;
 
-       if (count($smiley) == 0) {
+       if ( count( $matches ) == 0 )
                return '';
                return '';
-       }
 
 
-       $smiley = trim(reset($smiley));
-       $img = $wpsmiliestrans[$smiley];
-       $smiley_masked = esc_attr($smiley);
+       $smiley = trim( reset( $matches ) );
+       $img = $wpsmiliestrans[ $smiley ];
+       $smiley_masked = esc_attr( $smiley );
 
 
-       $srcurl = apply_filters('smilies_src', includes_url("images/smilies/$img"), $img, site_url());
+       $src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img" ), $img, site_url() );
 
 
-       return " <img src='$srcurl' alt='$smiley_masked' class='wp-smiley' /> ";
+       return " <img src='$src_url' alt='$smiley_masked' class='wp-smiley' /> ";
 }
 
 /**
 }
 
 /**
@@ -2570,21 +2571,16 @@ function wp_htmledit_pre($output) {
  * @since 2.8.1
  * @access private
  *
  * @since 2.8.1
  * @access private
  *
- * @param string|array $search
- * @param string $subject
- * @return string The processed string
+ * @param string|array $search The value being searched for, otherwise known as the needle. An array may be used to designate multiple needles.
+ * @param string $subject The string being searched and replaced on, otherwise known as the haystack.
+ * @return string The string with the replaced svalues.
  */
 function _deep_replace( $search, $subject ) {
  */
 function _deep_replace( $search, $subject ) {
-       $found = true;
        $subject = (string) $subject;
        $subject = (string) $subject;
-       while ( $found ) {
-               $found = false;
-               foreach ( (array) $search as $val ) {
-                       while ( strpos( $subject, $val ) !== false ) {
-                               $found = true;
-                               $subject = str_replace( $val, '', $subject );
-                       }
-               }
+
+       $count = 1;
+       while ( $count ) {
+               $subject = str_replace( $search, '', $subject, $count );
        }
 
        return $subject;
        }
 
        return $subject;
@@ -2598,8 +2594,8 @@ function _deep_replace( $search, $subject ) {
  * is preparing an array for use in an IN clause.
  *
  * @since 2.8.0
  * is preparing an array for use in an IN clause.
  *
  * @since 2.8.0
- * @param string $data Unescaped data
- * @return string Escaped data
+ * @param string|array $data Unescaped data
+ * @return string|array Escaped data
  */
 function esc_sql( $data ) {
        global $wpdb;
  */
 function esc_sql( $data ) {
        global $wpdb;
@@ -2961,6 +2957,11 @@ function sanitize_option($option, $value) {
                        $value = esc_url_raw( $value );
                        $value = str_replace( 'http://', '', $value );
                        break;
                        $value = esc_url_raw( $value );
                        $value = str_replace( 'http://', '', $value );
                        break;
+
+               case 'default_role' :
+                       if ( ! get_role( $value ) && get_role( 'subscriber' ) )
+                               $value = 'subscriber';
+                       break;
        }
 
        $value = apply_filters("sanitize_option_{$option}", $value, $option);
        }
 
        $value = apply_filters("sanitize_option_{$option}", $value, $option);
index ea77486826e25249625f2c8e5017c75b9582ed55..aea813b7d007880cd447594a51bae0832ff543d0 100644 (file)
@@ -282,6 +282,7 @@ function is_serialized( $data, $strict = true ) {
                        } elseif ( false === strpos( $data, '"' ) ) {
                                return false;
                        }
                        } elseif ( false === strpos( $data, '"' ) ) {
                                return false;
                        }
+                       // or else fall through
                case 'a' :
                case 'O' :
                        return (bool) preg_match( "/^{$token}:[0-9]+:/s", $data );
                case 'a' :
                case 'O' :
                        return (bool) preg_match( "/^{$token}:[0-9]+:/s", $data );
@@ -411,6 +412,26 @@ function xmlrpc_removepostdata( $content ) {
        return $content;
 }
 
        return $content;
 }
 
+/**
+ * Use RegEx to extract URLs from arbitrary content
+ *
+ * @since 3.7.0
+ *
+ * @param string $content
+ * @return array URLs found in passed string
+ */
+function wp_extract_urls( $content ) {
+       preg_match_all(
+               "#((?:[\w-]+://?|[\w\d]+[.])[^\s()<>]+[.](?:\([\w\d]+\)|(?:[^`!()\[\]{};:'\".,<>?«»“”‘’\s]|(?:[:]\d+)?/?)+))#",
+               $content,
+               $post_links
+       );
+
+       $post_links = array_unique( array_map( 'html_entity_decode', $post_links[0] ) );
+
+       return array_values( $post_links );
+}
+
 /**
  * Check content for video and audio links to add as enclosures.
  *
 /**
  * Check content for video and audio links to add as enclosures.
  *
@@ -436,22 +457,17 @@ function do_enclose( $content, $post_ID ) {
 
        $pung = get_enclosed( $post_ID );
 
 
        $pung = get_enclosed( $post_ID );
 
-       $ltrs = '\w';
-       $gunk = '/#~:.?+=&%@!\-';
-       $punc = '.:?\-';
-       $any = $ltrs . $gunk . $punc;
-
-       preg_match_all( "{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x", $content, $post_links_temp );
+       $post_links_temp = wp_extract_urls( $content );
 
        foreach ( $pung as $link_test ) {
 
        foreach ( $pung as $link_test ) {
-               if ( !in_array( $link_test, $post_links_temp[0] ) ) { // link no longer in post
+               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 ) . '%') );
                        foreach ( $mids as $mid )
                                delete_metadata_by_mid( 'post', $mid );
                }
        }
 
                        $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 ) . '%') );
                        foreach ( $mids as $mid )
                                delete_metadata_by_mid( 'post', $mid );
                }
        }
 
-       foreach ( (array) $post_links_temp[0] as $link_test ) {
+       foreach ( (array) $post_links_temp as $link_test ) {
                if ( !in_array( $link_test, $pung ) ) { // If we haven't pung it already
                        $test = @parse_url( $link_test );
                        if ( false === $test )
                if ( !in_array( $link_test, $pung ) ) { // If we haven't pung it already
                        $test = @parse_url( $link_test );
                        if ( false === $test )
@@ -685,14 +701,8 @@ function add_query_arg() {
        }
 
        if ( strpos( $uri, '?' ) !== false ) {
        }
 
        if ( strpos( $uri, '?' ) !== false ) {
-               $parts = explode( '?', $uri, 2 );
-               if ( 1 == count( $parts ) ) {
-                       $base = '?';
-                       $query = $parts[0];
-               } else {
-                       $base = $parts[0] . '?';
-                       $query = $parts[1];
-               }
+               list( $base, $query ) = explode( '?', $uri, 2 );
+               $base .= '?';
        } elseif ( $protocol || strpos( $uri, '=' ) === false ) {
                $base = $uri . '?';
                $query = '';
        } elseif ( $protocol || strpos( $uri, '=' ) === false ) {
                $base = $uri . '?';
                $query = '';
@@ -1024,10 +1034,8 @@ function do_feed() {
                $feed = get_default_feed();
 
        $hook = 'do_feed_' . $feed;
                $feed = get_default_feed();
 
        $hook = 'do_feed_' . $feed;
-       if ( !has_action($hook) ) {
-               $message = sprintf( __( 'ERROR: %s is not a valid feed template.' ), esc_html($feed));
-               wp_die( $message, '', array( 'response' => 404 ) );
-       }
+       if ( ! has_action( $hook ) )
+               wp_die( __( 'ERROR: This is not a valid feed template.' ), '', array( 'response' => 404 ) );
 
        do_action( $hook, $wp_query->is_comment_feed );
 }
 
        do_action( $hook, $wp_query->is_comment_feed );
 }
@@ -1295,6 +1303,8 @@ function wp_original_referer_field( $echo = true, $jump_back_to = 'current' ) {
  * @return string|bool False on failure. Referer URL on success.
  */
 function wp_get_referer() {
  * @return string|bool False on failure. Referer URL on success.
  */
 function wp_get_referer() {
+       if ( ! function_exists( 'wp_validate_redirect' ) )
+               return false;
        $ref = false;
        if ( ! empty( $_REQUEST['_wp_http_referer'] ) )
                $ref = wp_unslash( $_REQUEST['_wp_http_referer'] );
        $ref = false;
        if ( ! empty( $_REQUEST['_wp_http_referer'] ) )
                $ref = wp_unslash( $_REQUEST['_wp_http_referer'] );
@@ -1316,7 +1326,7 @@ function wp_get_referer() {
  * @return string|bool False if no original referer or original referer if set.
  */
 function wp_get_original_referer() {
  * @return string|bool False if no original referer or original referer if set.
  */
 function wp_get_original_referer() {
-       if ( !empty( $_REQUEST['_wp_original_http_referer'] ) )
+       if ( ! empty( $_REQUEST['_wp_original_http_referer'] ) && function_exists( 'wp_validate_redirect' ) )
                return wp_validate_redirect( wp_unslash( $_REQUEST['_wp_original_http_referer'] ), false );
        return false;
 }
                return wp_validate_redirect( wp_unslash( $_REQUEST['_wp_original_http_referer'] ), false );
        return false;
 }
@@ -1355,19 +1365,23 @@ function wp_mkdir_p( $target ) {
        if ( file_exists( $target ) )
                return @is_dir( $target );
 
        if ( file_exists( $target ) )
                return @is_dir( $target );
 
-       // Attempting to create the directory may clutter up our display.
-       if ( @mkdir( $target ) ) {
-               $stat = @stat( dirname( $target ) );
-               $dir_perms = $stat['mode'] & 0007777;  // Get the permission bits.
-               @chmod( $target, $dir_perms );
-               return true;
-       } elseif ( is_dir( dirname( $target ) ) ) {
-                       return false;
+       // We need to find the permissions of the parent folder that exists and inherit that.
+       $target_parent = dirname( $target );
+       while ( '.' != $target_parent && ! is_dir( $target_parent ) ) {
+               $target_parent = dirname( $target_parent );
        }
 
        }
 
-       // If the above failed, attempt to create the parent node, then try again.
-       if ( ( $target != '/' ) && ( wp_mkdir_p( dirname( $target ) ) ) )
-               return wp_mkdir_p( $target );
+       // Get the permission bits.
+       if ( $target_parent && '.' != $target_parent ) {
+               $stat = @stat( $target_parent );
+               $dir_perms = $stat['mode'] & 0007777;
+       } else {
+               $dir_perms = 0777;
+       }
+
+       if ( @mkdir( $target, $dir_perms, true ) ) {
+               return true;
+       }
 
        return false;
 }
 
        return false;
 }
@@ -1443,7 +1457,7 @@ function get_temp_dir() {
        }
 
        $temp = ini_get('upload_tmp_dir');
        }
 
        $temp = ini_get('upload_tmp_dir');
-       if ( is_dir( $temp ) && wp_is_writable( $temp ) )
+       if ( @is_dir( $temp ) && wp_is_writable( $temp ) )
                return trailingslashit( rtrim( $temp, '\\' ) );
 
        $temp = WP_CONTENT_DIR . '/';
                return trailingslashit( rtrim( $temp, '\\' ) );
 
        $temp = WP_CONTENT_DIR . '/';
@@ -1569,7 +1583,7 @@ function wp_upload_dir( $time = null ) {
        }
 
        // If multisite (and if not the main site in a post-MU network)
        }
 
        // If multisite (and if not the main site in a post-MU network)
-       if ( is_multisite() && ! ( is_main_site() && defined( 'MULTISITE' ) ) ) {
+       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:
 
                if ( ! get_site_option( 'ms_files_rewriting' ) ) {
                        // If ms-files rewriting is disabled (networks created post-3.5), it is fairly straightforward:
@@ -1799,7 +1813,9 @@ function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {
  * @return string|null The file type, example: audio, video, document, spreadsheet, etc. Null if not found.
  */
 function wp_ext2type( $ext ) {
  * @return string|null The file type, example: audio, video, document, spreadsheet, etc. Null if not found.
  */
 function wp_ext2type( $ext ) {
+       $ext = strtolower( $ext );
        $ext2type = apply_filters( 'ext2type', array(
        $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' ),
                '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' ),
@@ -1808,10 +1824,13 @@ function wp_ext2type( $ext ) {
                'text'        => array( 'asc', 'csv',  'tsv',  'txt' ),
                'archive'     => array( 'bz2', 'cab',  'dmg',  'gz',   'rar',  'sea',   'sit',  'sqx',  'tar',  'tgz',  'zip', '7z' ),
                'code'        => array( 'css', 'htm',  'html', 'php',  'js' ),
                'text'        => array( 'asc', 'csv',  'tsv',  'txt' ),
                'archive'     => array( 'bz2', 'cab',  'dmg',  'gz',   'rar',  'sea',   'sit',  'sqx',  'tar',  'tgz',  'zip', '7z' ),
                'code'        => array( 'css', 'htm',  'html', 'php',  'js' ),
-       ));
+       ) );
+
        foreach ( $ext2type as $type => $exts )
                if ( in_array( $ext, $exts ) )
                        return $type;
        foreach ( $ext2type as $type => $exts )
                if ( in_array( $ext, $exts ) )
                        return $type;
+
+       return null;
 }
 
 /**
 }
 
 /**
@@ -1854,8 +1873,8 @@ function wp_check_filetype( $filename, $mimes = null ) {
  *
  * @since 3.0.0
  *
  *
  * @since 3.0.0
  *
- * @param string $file Full path to the image.
- * @param string $filename The filename of the image (may differ from $file due to $file being in a tmp directory)
+ * @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 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
  */
@@ -3219,8 +3238,36 @@ function wp_guess_url() {
        if ( defined('WP_SITEURL') && '' != WP_SITEURL ) {
                $url = WP_SITEURL;
        } else {
        if ( defined('WP_SITEURL') && '' != WP_SITEURL ) {
                $url = WP_SITEURL;
        } else {
+               $abspath_fix = str_replace( '\\', '/', ABSPATH );
+               $script_filename_dir = dirname( $_SERVER['SCRIPT_FILENAME'] );
+
+               // The request is for the admin
+               if ( strpos( $_SERVER['REQUEST_URI'], 'wp-admin' ) !== false || strpos( $_SERVER['REQUEST_URI'], 'wp-login.php' ) !== false ) {
+                       $path = preg_replace( '#/(wp-admin/.*|wp-login.php)#i', '', $_SERVER['REQUEST_URI'] );
+
+               // The request is for a file in ABSPATH
+               } elseif ( $script_filename_dir . '/' == $abspath_fix ) {
+                       // Strip off any file/query params in the path
+                       $path = preg_replace( '#/[^/]*$#i', '', $_SERVER['PHP_SELF'] );
+
+               } else {
+                       if ( false !== strpos( $_SERVER['SCRIPT_FILENAME'], $abspath_fix ) ) {
+                               // Request is hitting a file inside ABSPATH
+                               $directory = str_replace( ABSPATH, '', $script_filename_dir );
+                               // Strip off the sub directory, and any file/query paramss
+                               $path = preg_replace( '#/' . preg_quote( $directory, '#' ) . '/[^/]*$#i', '' , $_SERVER['REQUEST_URI'] );
+                       } elseif ( false !== strpos( $abspath_fix, $script_filename_dir ) ) {
+                               // Request is hitting a file above ABSPATH
+                               $subdirectory = str_replace( $script_filename_dir, '', $abspath_fix );
+                               // Strip off any file/query params from the path, appending the sub directory to the install
+                               $path = preg_replace( '#/[^/]*$#i', '' , $_SERVER['REQUEST_URI'] ) . $subdirectory;
+                       } else {
+                               $path = $_SERVER['REQUEST_URI'];
+                       }
+               }
+
                $schema = is_ssl() ? 'https://' : 'http://'; // set_url_scheme() is not defined yet
                $schema = is_ssl() ? 'https://' : 'http://'; // set_url_scheme() is not defined yet
-               $url = preg_replace( '#/(wp-admin/.*|wp-login.php)#i', '', $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
+               $url = $schema . $_SERVER['HTTP_HOST'] . $path;
        }
 
        return rtrim($url, '/');
        }
 
        return rtrim($url, '/');
@@ -3271,25 +3318,61 @@ function wp_suspend_cache_invalidation($suspend = true) {
 }
 
 /**
 }
 
 /**
- * Is main site?
- *
+ * Whether a site is the main site of the current network.
  *
  * @since 3.0.0
  *
  * @since 3.0.0
- * @package WordPress
  *
  *
- * @param int $blog_id optional blog id to test (default current blog)
- * @return bool True if not multisite or $blog_id is main site
+ * @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.
  */
  */
-function is_main_site( $blog_id = '' ) {
+function is_main_site( $site_id = null ) {
+       // This is the current network's information; 'site' is old terminology.
        global $current_site;
 
        if ( ! is_multisite() )
                return true;
 
        global $current_site;
 
        if ( ! is_multisite() )
                return true;
 
-       if ( ! $blog_id )
-               $blog_id = get_current_blog_id();
+       if ( ! $site_id )
+               $site_id = get_current_blog_id();
 
 
-       return $blog_id == $current_site->blog_id;
+       return (int) $site_id === (int) $current_site->blog_id;
+}
+
+/**
+ * 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.
+ */
+function is_main_network( $network_id = null ) {
+       global $current_site, $wpdb;
+
+       if ( ! is_multisite() )
+               return true;
+
+       $current_network_id = (int) $current_site->id;
+
+       if ( ! $network_id )
+               $network_id = $current_network_id;
+       $network_id = (int) $network_id;
+
+       if ( defined( 'PRIMARY_NETWORK_ID' ) )
+               return $network_id === (int) PRIMARY_NETWORK_ID;
+
+       if ( 1 === $current_network_id )
+               return $network_id === $current_network_id;
+
+       $primary_network_id = (int) wp_cache_get( 'primary_network_id', 'site-options' );
+
+       if ( $primary_network_id )
+               return $network_id === $primary_network_id;
+
+       $primary_network_id = (int) $wpdb->get_var( "SELECT id FROM $wpdb->site ORDER BY id LIMIT 1" );
+       wp_cache_add( 'primary_network_id', $primary_network_id, 'site-options' );
+
+       return $network_id === $primary_network_id;
 }
 
 /**
 }
 
 /**
@@ -3339,12 +3422,12 @@ function wp_timezone_override_offset() {
 }
 
 /**
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Sort-helper for timezones.
  *
  * @since 2.9.0
  *
  *
  * @since 2.9.0
  *
- * @param unknown_type $a
- * @param unknown_type $b
+ * @param array $a
+ * @param array $b
  * @return int
  */
 function _wp_timezone_choice_usort_callback( $a, $b ) {
  * @return int
  */
 function _wp_timezone_choice_usort_callback( $a, $b ) {
@@ -3619,19 +3702,6 @@ function get_file_data( $file, $default_headers, $context = '' ) {
        return $all_headers;
 }
 
        return $all_headers;
 }
 
-/**
- * Used internally to tidy up the search terms.
- *
- * @access private
- * @since 2.9.0
- *
- * @param string $t
- * @return string
- */
-function _search_terms_tidy($t) {
-       return trim($t, "\"'\n\r ");
-}
-
 /**
  * Returns true.
  *
 /**
  * Returns true.
  *
@@ -3696,6 +3766,19 @@ function __return_null() {
        return null;
 }
 
        return null;
 }
 
+/**
+ * Returns an empty string.
+ *
+ * Useful for returning an empty string to filters easily.
+ *
+ * @since 3.7.0
+ * @see __return_null()
+ * @return string Empty string
+ */
+function __return_empty_string() {
+       return '';
+}
+
 /**
  * Send a HTTP header to disable content type sniffing in browsers which support it.
  *
 /**
  * Send a HTTP header to disable content type sniffing in browsers which support it.
  *
@@ -4070,3 +4153,54 @@ function _canonical_charset( $charset ) {
 
        return $charset;
 }
 
        return $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.
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * @see reset_mbstring_encoding()
+ *
+ * @since 3.7.0
+ *
+ * @param bool $reset Whether to reset the encoding back to a previously-set encoding.
+ */
+function mbstring_binary_safe_encoding( $reset = false ) {
+       static $encodings = array();
+       static $overloaded = null;
+
+       if ( is_null( $overloaded ) )
+               $overloaded = function_exists( 'mb_internal_encoding' ) && ( ini_get( 'mbstring.func_overload' ) & 2 );
+
+       if ( false === $overloaded )
+               return;
+
+       if ( ! $reset ) {
+               $encoding = mb_internal_encoding();
+               array_push( $encodings, $encoding );
+               mb_internal_encoding( 'ISO-8859-1' );
+       }
+
+       if ( $reset && $encodings ) {
+               $encoding = array_pop( $encodings );
+               mb_internal_encoding( $encoding );
+       }
+}
+
+/**
+ * Resets the mbstring internal encoding to a users previously set encoding.
+ *
+ * @see mbstring_binary_safe_encoding()
+ *
+ * @since 3.7.0
+ */
+function reset_mbstring_encoding() {
+       mbstring_binary_safe_encoding( true );
+}
index 32778ab5a215fa46eefdc52e494b11a366d76ed7..e89553b1b8b5ae1da3189706e6f8a58d39e5bbfa 100644 (file)
@@ -1,22 +1,28 @@
 <?php
 /**
 <?php
 /**
- * BackPress script procedural API.
+ * BackPress Scripts Procedural API
  *
  *
- * @package BackPress
- * @since r16
+ * @since 2.6.0
+ *
+ * @package WordPress
+ * @subpackage BackPress
  */
 
 /**
  */
 
 /**
- * Prints script tags in document head.
+ * Print scripts in document head that are in the $handles queue.
+ *
+ * Called by admin-header.php and wp_head hook. Since it is called by wp_head on every page load,
+ * the function does not instantiate the WP_Scripts object unless script names are explicitly passed.
+ * Makes use of already-instantiated $wp_scripts global if present. Use provided wp_print_scripts
+ * hook to register/enqueue new scripts.
  *
  *
- * Called by admin-header.php and by wp_head hook. Since it is called by wp_head
- * on every page load, the function does not instantiate the WP_Scripts object
- * unless script names are explicitly passed. Does make use of already
- * instantiated $wp_scripts if present. Use provided wp_print_scripts hook to
- * register/enqueue new scripts.
+ * @see WP_Scripts::do_items()
+ * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  *
- * @since r16
- * @see WP_Dependencies::print_scripts()
+ * @since 2.6.0
+ *
+ * @param array|bool $handles Optional. Scripts to be printed. Default 'false'.
+ * @return array On success, a processed array of WP_Dependencies items; otherwise, an empty array.
  */
 function wp_print_scripts( $handles = false ) {
        do_action( 'wp_print_scripts' );
  */
 function wp_print_scripts( $handles = false ) {
        do_action( 'wp_print_scripts' );
@@ -39,15 +45,25 @@ function wp_print_scripts( $handles = false ) {
 }
 
 /**
 }
 
 /**
- * Register new Javascript file.
- *
- * @since r16
- * @param string $handle Script name
- * @param string $src Script url
- * @param array $deps (optional) Array of script names on which this script depends
- * @param string|bool $ver (optional) Script version (used for cache busting), set to null to disable
- * @param bool $in_footer (optional) Whether to enqueue the script before </head> or before </body>
- * @return null
+ * Register a new script.
+ *
+ * Registers a script to be linked later using the wp_enqueue_script() function.
+ *
+ * @see WP_Dependencies::add(), WP_Dependencies::add_data()
+ * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
+ *
+ * @since 2.6.0
+ *
+ * @param string      $handle    Name of the script. Should be unique.
+ * @param string      $src       Path to the script from the WordPress root directory. Example: '/js/myscript.js'.
+ * @param array       $deps      Optional. An array of registered script handles this script depends on. Set to false if there
+ *                               are no dependencies. Default empty array.
+ * @param string|bool $ver       Optional. String specifying script version number, if it has one, which is concatenated
+ *                               to end of path as a query string. If no version is specified or set to false, a version
+ *                               number is automatically added equal to current installed WordPress version.
+ *                               If set to null, no version is added. Default 'false'. Accepts 'false', 'null', or 'string'.
+ * @param bool        $in_footer Optional. Whether to enqueue the script before </head> or before </body>.
+ *                               Default 'false'. Accepts 'false' or 'true'.
  */
 function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_footer = false ) {
        global $wp_scripts;
  */
 function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_footer = false ) {
        global $wp_scripts;
@@ -64,24 +80,30 @@ function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_f
 }
 
 /**
 }
 
 /**
- * Wrapper for $wp_scripts->localize().
+ * Localize a script.
  *
  *
- * Used to localize a script.
  * Works only if the script has already been added.
  * Works only if the script has already been added.
- * Accepts an associative array $l10n and creates JS object:
+ *
+ * Accepts an associative array $l10n and creates a JavaScript object:
+ * <code>
  * "$object_name" = {
  * "$object_name" = {
- *   key: value,
- *   key: value,
- *   ...
+ *       key: value,
+ *       key: value,
+ *       ...
  * }
  * }
- * See http://core.trac.wordpress.org/ticket/11520 for more information.
+ * </code>
  *
  *
- * @since r16
+ * @see WP_Dependencies::localize()
+ * @link http://core.trac.wordpress.org/ticket/11520
+ * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  *
- * @param string $handle The script handle that was registered or used in script-loader
- * @param string $object_name Name for the created JS object. This is passed directly so it should be qualified JS variable /[a-zA-Z0-9_]+/
- * @param array $l10n Associative PHP array containing the translated strings. HTML entities will be converted and the array will be JSON encoded.
- * @return bool Whether the localization was added successfully.
+ * @since 2.6.0
+ *
+ * @param string $handle      Script handle the data will be attached to.
+ * @param string $object_name Name for the JavaScript object. Passed directly, so it should be qualified JS variable.
+ *                            Example: '/[a-zA-Z0-9_]+/'.
+ * @param array $l10n         The data itself. The data can be either a single or multi-dimensional array.
+ * @return bool True if the script was successfully localized, false otherwise.
  */
 function wp_localize_script( $handle, $object_name, $l10n ) {
        global $wp_scripts;
  */
 function wp_localize_script( $handle, $object_name, $l10n ) {
        global $wp_scripts;
@@ -99,8 +121,15 @@ function wp_localize_script( $handle, $object_name, $l10n ) {
 /**
  * Remove a registered script.
  *
 /**
  * Remove a registered script.
  *
- * @since r16
- * @see WP_Scripts::remove() For parameter information.
+ * Note: there are intentional safeguards in place to prevent critical admin scripts,
+ * such as jQuery core, from being unregistered.
+ *
+ * @see WP_Dependencies::remove()
+ * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
+ *
+ * @since 2.6.0
+ *
+ * @param string $handle Name of the script to be removed.
  */
 function wp_deregister_script( $handle ) {
        global $wp_scripts;
  */
 function wp_deregister_script( $handle ) {
        global $wp_scripts;
@@ -111,16 +140,21 @@ function wp_deregister_script( $handle ) {
                $wp_scripts = new WP_Scripts();
        }
 
                $wp_scripts = new WP_Scripts();
        }
 
-       // Do not allow accidental or negligent deregistering of critical scripts in the admin. Show minimal remorse if the correct hook is used.
-       if ( is_admin() && 'admin_enqueue_scripts' !== current_filter() ) {
+       /**
+        * Do not allow accidental or negligent de-registering of critical scripts in the admin.
+        * Show minimal remorse if the correct hook is used.
+        */
+       $current_filter = current_filter();
+       if ( ( is_admin() && 'admin_enqueue_scripts' !== $current_filter ) ||
+               ( 'wp-login.php' === $GLOBALS['pagenow'] && 'login_enqueue_scripts' !== $current_filter )
+       ) {
                $no = array(
                        'jquery', 'jquery-core', 'jquery-migrate', 'jquery-ui-core', 'jquery-ui-accordion',
                        'jquery-ui-autocomplete', 'jquery-ui-button', 'jquery-ui-datepicker', 'jquery-ui-dialog',
                        'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-menu', 'jquery-ui-mouse',
                        'jquery-ui-position', 'jquery-ui-progressbar', 'jquery-ui-resizable', 'jquery-ui-selectable',
                        'jquery-ui-slider', 'jquery-ui-sortable', 'jquery-ui-spinner', 'jquery-ui-tabs',
                $no = array(
                        'jquery', 'jquery-core', 'jquery-migrate', 'jquery-ui-core', 'jquery-ui-accordion',
                        'jquery-ui-autocomplete', 'jquery-ui-button', 'jquery-ui-datepicker', 'jquery-ui-dialog',
                        'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-menu', 'jquery-ui-mouse',
                        'jquery-ui-position', 'jquery-ui-progressbar', 'jquery-ui-resizable', 'jquery-ui-selectable',
                        'jquery-ui-slider', 'jquery-ui-sortable', 'jquery-ui-spinner', 'jquery-ui-tabs',
-                       'jquery-ui-tooltip', 'jquery-ui-widget',
-                       'underscore', 'backbone',
+                       'jquery-ui-tooltip', 'jquery-ui-widget', 'underscore', 'backbone',
                );
 
                if ( in_array( $handle, $no ) ) {
                );
 
                if ( in_array( $handle, $no ) ) {
@@ -135,12 +169,23 @@ function wp_deregister_script( $handle ) {
 }
 
 /**
 }
 
 /**
- * Enqueues script.
+ * Enqueue a script.
  *
  *
- * Registers the script if src provided (does NOT overwrite) and enqueues.
+ * Registers the script if $src provided (does NOT overwrite), and enqueues it.
  *
  *
- * @since r16
- * @see wp_register_script() For parameter information.
+ * @see WP_Dependencies::add(), WP_Dependencies::add_data(), WP_Dependencies::enqueue()
+ * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
+ *
+ * @since 2.6.0
+
+ * @param string      $handle    Name of the script.
+ * @param string|bool $src       Path to the script from the root directory of WordPress. Example: '/js/myscript.js'.
+ * @param array       $deps      An array of registered handles this script depends on. Default empty array.
+ * @param string|bool $ver       Optional. String specifying the script version number, if it has one. This parameter
+ *                               is used to ensure that the correct version is sent to the client regardless of caching,
+ *                               and so should be included if a version number is available and makes sense for the script.
+ * @param bool        $in_footer Optional. Whether to enqueue the script before </head> or before </body>.
+ *                               Default 'false'. Accepts 'false' or 'true'.
  */
 function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false ) {
        global $wp_scripts;
  */
 function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false ) {
        global $wp_scripts;
@@ -161,10 +206,14 @@ function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false
 }
 
 /**
 }
 
 /**
- * Remove an enqueued script.
+ * Remove a previously enqueued script.
+ *
+ * @see WP_Dependencies::dequeue()
+ * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
+ *
+ * @since 3.1.0
  *
  *
- * @since WP 3.1
- * @see WP_Scripts::dequeue() For parameter information.
+ * @param string $handle Name of the script to be removed.
  */
 function wp_dequeue_script( $handle ) {
        global $wp_scripts;
  */
 function wp_dequeue_script( $handle ) {
        global $wp_scripts;
@@ -179,18 +228,17 @@ function wp_dequeue_script( $handle ) {
 }
 
 /**
 }
 
 /**
- * Check whether script has been added to WordPress Scripts.
+ * Check whether a script has been added to the queue.
  *
  *
- * By default, checks if the script has been enqueued. You can also
- * pass 'registered' to $list, to see if the script is registered,
- * and you can check processing statuses with 'to_do' and 'done'.
+ * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  *
- * @since WP unknown; BP unknown
+ * @since 2.8.0
+ * @since 3.5.0 'enqueued' added as an alias of the 'queue' list.
  *
  * @param string $handle Name of the script.
  *
  * @param string $handle Name of the script.
- * @param string $list Optional. Defaults to 'enqueued'. Values are
- *     'registered', 'enqueued' (or 'queue'), 'to_do', and 'done'.
- * @return bool Whether script is in the list.
+ * @param string $list   Optional. Status of the script to check. Default 'enqueued'.
+ *                       Accepts 'enqueued', 'registered', 'queue', 'to_do', and 'done'.
+ * @return bool Whether the script script is queued.
  */
 function wp_script_is( $handle, $list = 'enqueued' ) {
        global $wp_scripts;
  */
 function wp_script_is( $handle, $list = 'enqueued' ) {
        global $wp_scripts;
index 617fd8241d18782e452666cbacdae50c18dfa8be..df45bf564483e90af8d2463306117bee64644279 100644 (file)
@@ -1,21 +1,27 @@
 <?php
 /**
 <?php
 /**
- * BackPress styles procedural API.
+ * BackPress Styles Procedural API
  *
  *
- * @package BackPress
- * @since r79
+ * @since 2.6.0
+ *
+ * @package WordPress
+ * @subpackage BackPress
  */
 
 /**
  */
 
 /**
- * Display styles that are in the queue or part of $handles.
+ * Display styles that are in the $handles queue.
  *
  *
- * @since r79
- * @uses do_action() Calls 'wp_print_styles' hook.
- * @global object $wp_styles The WP_Styles object for printing styles.
+ * Passing an empty array to $handles prints the queue,
+ * passing an array with one string prints that style,
+ * and passing an array of strings prints those styles.
  *
  *
- * @param array|bool $handles Styles to be printed. An empty array prints the queue,
- *  an array with one string prints that style, and an array of strings prints those styles.
- * @return bool True on success, false on failure.
+ * @see do_action() Calls 'wp_print_styles' hook.
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
+ *
+ * @since 2.6.0
+ *
+ * @param array|bool $handles Styles to be printed. Default 'false'.
+ * @return array On success, a processed array of WP_Dependencies items; otherwise, an empty array.
  */
 function wp_print_styles( $handles = false ) {
        if ( '' === $handles ) // for wp_head
  */
 function wp_print_styles( $handles = false ) {
        if ( '' === $handles ) // for wp_head
@@ -40,15 +46,21 @@ function wp_print_styles( $handles = false ) {
 }
 
 /**
 }
 
 /**
- * Adds extra CSS.
+ * Add extra CSS styles to a registered stylesheet.
  *
  *
- * Works only if the stylesheet has already been added.
- * Accepts a string $data containing the CSS. If two or more CSS code blocks are
- * added to the same stylesheet $handle, they will be printed in the order
+ * Styles will only be added if the stylesheet in already in the queue.
+ * Accepts a string $data containing the CSS. If two or more CSS code blocks
+ * are added to the same stylesheet $handle, they will be printed in the order
  * they were added, i.e. the latter added styles can redeclare the previous.
  *
  * they were added, i.e. the latter added styles can redeclare the previous.
  *
+ * @see WP_Styles::add_inline_style()
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
+ *
  * @since 3.3.0
  * @since 3.3.0
- * @see WP_Scripts::add_inline_style()
+ *
+ * @param string $handle Name of the stylesheet to add the extra styles to. Must be lowercase.
+ * @param string $data   String containing the CSS styles to be added.
+ * @return bool True on success, false on failure.
  */
 function wp_add_inline_style( $handle, $data ) {
        global $wp_styles;
  */
 function wp_add_inline_style( $handle, $data ) {
        global $wp_styles;
@@ -59,24 +71,31 @@ function wp_add_inline_style( $handle, $data ) {
                $wp_styles = new WP_Styles();
        }
 
                $wp_styles = new WP_Styles();
        }
 
+       if ( false !== stripos( $data, '</style>' ) ) {
+               _doing_it_wrong( __FUNCTION__, 'Do not pass style tags to wp_add_inline_style().', '3.7' );
+               $data = trim( preg_replace( '#<style[^>]*>(.*)</style>#is', '$1', $data ) );
+       }
+
        return $wp_styles->add_inline_style( $handle, $data );
 }
 
 /**
        return $wp_styles->add_inline_style( $handle, $data );
 }
 
 /**
- * Register CSS style file.
+ * Register a CSS stylesheet.
  *
  *
- * @since r79
- * @see WP_Styles::add() For additional information.
- * @global object $wp_styles The WP_Styles object for printing styles.
+ * @see WP_Dependencies::add()
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
- *
- * @param string $handle Name of the stylesheet.
- * @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
- * @param array $deps Array of handles of any stylesheet that this stylesheet depends on.
- *  (Stylesheets that must be loaded before this stylesheet.) Pass an empty array if there are no dependencies.
- * @param string|bool $ver String specifying the stylesheet version number. Set to null to disable.
- *  Used to ensure that the correct version is sent to the client regardless of caching.
- * @param string $media The media for which this stylesheet has been defined.
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
+ *
+ * @since 2.6.0
+ *
+ * @param string      $handle Name of the stylesheet.
+ * @param string|bool $src    Path to the stylesheet from the WordPress root directory. Example: '/css/mystyle.css'.
+ * @param array       $deps   An array of registered style handles this stylesheet depends on. Default empty array.
+ * @param string|bool $ver    String specifying the stylesheet version number. Used to ensure that the correct version
+ *                            is sent to the client regardless of caching. Default 'false'. Accepts 'false', 'null', or 'string'.
+ * @param string      $media  Optional. The media for which this stylesheet has been defined.
+ *                            Default 'all'. Accepts 'all', 'aural', 'braille', 'handheld', 'projection', 'print',
+ *                            'screen', 'tty', or 'tv'.
  */
 function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
        global $wp_styles;
  */
 function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
        global $wp_styles;
@@ -91,13 +110,14 @@ function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media
 }
 
 /**
 }
 
 /**
- * Remove a registered CSS file.
+ * Remove a registered stylesheet.
  *
  *
- * @since r79
- * @see WP_Styles::remove() For additional information.
- * @global object $wp_styles The WP_Styles object for printing styles.
+ * @see WP_Dependencies::remove()
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
  *
  *
- * @param string $handle Name of the stylesheet.
+ * @since 2.1.0
+ *
+ * @param string $handle Name of the stylesheet to be removed.
  */
 function wp_deregister_style( $handle ) {
        global $wp_styles;
  */
 function wp_deregister_style( $handle ) {
        global $wp_styles;
@@ -112,23 +132,25 @@ function wp_deregister_style( $handle ) {
 }
 
 /**
 }
 
 /**
- * Enqueue a CSS style file.
+ * Enqueue a CSS stylesheet.
  *
  *
- * Registers the style if src provided (does NOT overwrite) and enqueues.
+ * Registers the style if source provided (does NOT overwrite) and enqueues.
  *
  *
- * @since r79
- * @see WP_Styles::add(), WP_Styles::enqueue()
- * @global object $wp_styles The WP_Styles object for printing styles.
+ * @see WP_Dependencies::add(), WP_Dependencies::enqueue()
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
- *
- * @param string $handle Name of the stylesheet.
- * @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
- * @param array $deps Array of handles (names) of any stylesheet that this stylesheet depends on.
- *  (Stylesheets that must be loaded before this stylesheet.) Pass an empty array if there are no dependencies.
- * @param string|bool $ver String specifying the stylesheet version number, if it has one. This parameter
- *  is used to ensure that the correct version is sent to the client regardless of caching, and so should be included
- *  if a version number is available and makes sense for the stylesheet.
- * @param string $media The media for which this stylesheet has been defined.
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
+ *
+ * @since 2.6.0
+ *
+ * @param string      $handle Name of the stylesheet.
+ * @param string|bool $src    Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
+ * @param array       $deps   An array of registered style handles this stylesheet depends on. Default empty array.
+ * @param string|bool $ver    String specifying the stylesheet version number, if it has one. This parameter is used
+ *                            to ensure that the correct version is sent to the client regardless of caching, and so
+ *                            should be included if a version number is available and makes sense for the stylesheet.
+ * @param string      $media  Optional. The media for which this stylesheet has been defined.
+ *                            Default 'all'. Accepts 'all', 'aural', 'braille', 'handheld', 'projection', 'print',
+ *                            'screen', 'tty', or 'tv'.
  */
 function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
        global $wp_styles;
  */
 function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
        global $wp_styles;
@@ -147,10 +169,14 @@ function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false,
 }
 
 /**
 }
 
 /**
- * Remove an enqueued style.
+ * Remove a previously enqueued CSS stylesheet.
+ *
+ * @see WP_Dependencies::dequeue()
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
+ *
+ * @since 3.1.0
  *
  *
- * @since WP 3.1
- * @see WP_Styles::dequeue() For parameter information.
+ * @param string $handle Name of the stylesheet to be removed.
  */
 function wp_dequeue_style( $handle ) {
        global $wp_styles;
  */
 function wp_dequeue_style( $handle ) {
        global $wp_styles;
@@ -165,19 +191,16 @@ function wp_dequeue_style( $handle ) {
 }
 
 /**
 }
 
 /**
- * Check whether style has been added to WordPress Styles.
+ * Check whether a CSS stylesheet has been added to the queue.
  *
  *
- * By default, checks if the style has been enqueued. You can also
- * pass 'registered' to $list, to see if the style is registered,
- * and you can check processing statuses with 'to_do' and 'done'.
+ * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
  *
  *
- * @since WP unknown; BP unknown
- * @global object $wp_styles The WP_Styles object for printing styles.
+ * @since 2.8.0
  *
  * @param string $handle Name of the stylesheet.
  *
  * @param string $handle Name of the stylesheet.
- * @param string $list Optional. Defaults to 'enqueued'. Values are
- *     'registered', 'enqueued' (or 'queue'), 'to_do', and 'done'.
- * @return bool Whether style is in the list.
+ * @param string $list   Optional. Status of the stylesheet to check. Default 'enqueued'.
+ *                       Accepts 'enqueued', 'registered', 'queue', 'to_do', and 'done'.
+ * @return bool Whether style is queued.
  */
 function wp_style_is( $handle, $list = 'enqueued' ) {
        global $wp_styles;
  */
 function wp_style_is( $handle, $list = 'enqueued' ) {
        global $wp_styles;
@@ -192,24 +215,25 @@ function wp_style_is( $handle, $list = 'enqueued' ) {
 }
 
 /**
 }
 
 /**
- * Add metadata to CSS style files.
+ * Add metadata to a CSS stylesheet.
  *
  * Works only if the stylesheet has already been added.
  *
  * Works only if the stylesheet has already been added.
+ *
  * Possible values for $key and $value:
  * Possible values for $key and $value:
+ * 'conditional' string      Comments for IE 6, lte IE 7 etc.
+ * 'rtl'         bool|string To declare an RTL stylesheet.
+ * 'suffix'      string      Optional suffix, used in combination with RTL.
+ * 'alt'         bool        For rel="alternate stylesheet".
+ * 'title'       string      For preferred/alternate stylesheets.
  *
  *
- * conditional string      comments for IE 6, lte IE 7 etc.
- * rtl         bool|string to declare an RTL stylesheet
- * suffix      string      optional suffix, used in combination with RTL
- * alt         bool        for rel="alternate stylesheet"
- * title       string      for preferred/alternate stylesheets
+ * @see WP_Dependency::add_data()
  *
  * @since 3.6.0
  *
  * @since 3.6.0
- * @see WP_Dependencies::add_data()
  *
  *
- * @param string $handle Script name.
- * @param string $key Name of data point for which we're storing a value.
- *  Values are 'conditional', 'rtl', and 'suffix', and 'alt', 'title'.
- * @param mixed $data
+ * @param string $handle Name of the stylesheet.
+ * @param string $key    Name of data point for which we're storing a value.
+ *                       Accepts 'conditional', 'rtl' and 'suffix', 'alt' and 'title'.
+ * @param mixed  $data   String containing the CSS data to be added.
  * @return bool True on success, false on failure.
  */
 function wp_style_add_data( $handle, $key, $value ) {
  * @return bool True on success, false on failure.
  */
 function wp_style_add_data( $handle, $key, $value ) {
index b586762473e4b85a9860f2181d924b4e76658ba0..90e19d4b7267d08a9d92096b8e205ba0b7b1c236 100644 (file)
@@ -172,7 +172,7 @@ function get_search_form( $echo = true ) {
                        $form = '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">
                                <label>
                                        <span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
                        $form = '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">
                                <label>
                                        <span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
-                                       <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search &hellip;', 'placeholder' ) . '" value="' . get_search_query() . '" name="s" title="' . _x( 'Search for:', 'label' ) . '" />
+                                       <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search &hellip;', 'placeholder' ) . '" value="' . get_search_query() . '" name="s" title="' . esc_attr_x( 'Search for:', 'label' ) . '" />
                                </label>
                                <input type="submit" class="search-submit" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />
                        </form>';
                                </label>
                                <input type="submit" class="search-submit" value="'. esc_attr_x( 'Search', 'submit button' ) .'" />
                        </form>';
@@ -478,7 +478,7 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
                        $output = get_feed_link('comments_rss2');
                        break;
                case 'pingback_url':
                        $output = get_feed_link('comments_rss2');
                        break;
                case 'pingback_url':
-                       $output = get_option('siteurl') .'/xmlrpc.php';
+                       $output = site_url( 'xmlrpc.php' );
                        break;
                case 'stylesheet_url':
                        $output = get_stylesheet_uri();
                        break;
                case 'stylesheet_url':
                        $output = get_stylesheet_uri();
@@ -577,6 +577,16 @@ function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
                $title = single_post_title( '', false );
        }
 
                $title = single_post_title( '', false );
        }
 
+       // If there's a post type archive
+       if ( is_post_type_archive() ) {
+               $post_type = get_query_var( 'post_type' );
+               if ( is_array( $post_type ) )
+                       $post_type = reset( $post_type );
+               $post_type_object = get_post_type_object( $post_type );
+               if ( ! $post_type_object->has_archive )
+                       $title = post_type_archive_title( '', false );
+       }
+
        // If there's a category or tag
        if ( is_category() || is_tag() ) {
                $title = single_term_title( '', false );
        // If there's a category or tag
        if ( is_category() || is_tag() ) {
                $title = single_term_title( '', false );
@@ -585,18 +595,21 @@ function wp_title($sep = '&raquo;', $display = true, $seplocation = '') {
        // If there's a taxonomy
        if ( is_tax() ) {
                $term = get_queried_object();
        // If there's a taxonomy
        if ( is_tax() ) {
                $term = get_queried_object();
-               $tax = get_taxonomy( $term->taxonomy );
-               $title = single_term_title( $tax->labels->name . $t_sep, false );
+               if ( $term ) {
+                       $tax = get_taxonomy( $term->taxonomy );
+                       $title = single_term_title( $tax->labels->name . $t_sep, false );
+               }
        }
 
        // If there's an author
        if ( is_author() ) {
                $author = get_queried_object();
        }
 
        // If there's an author
        if ( is_author() ) {
                $author = get_queried_object();
-               $title = $author->display_name;
+               if ( $author )
+                       $title = $author->display_name;
        }
 
        }
 
-       // If there's a post type archive
-       if ( is_post_type_archive() )
+       // Post type archives with has_archive should override terms.
+       if ( is_post_type_archive() && $post_type_object->has_archive )
                $title = post_type_archive_title( '', false );
 
        // If there's a month
                $title = post_type_archive_title( '', false );
 
        // If there's a month
@@ -677,7 +690,7 @@ function single_post_title($prefix = '', $display = true) {
        if ( $display )
                echo $prefix . $title;
        else
        if ( $display )
                echo $prefix . $title;
        else
-               return $title;
+               return $prefix . $title;
 }
 
 /**
 }
 
 /**
@@ -696,13 +709,17 @@ function post_type_archive_title( $prefix = '', $display = true ) {
        if ( ! is_post_type_archive() )
                return;
 
        if ( ! is_post_type_archive() )
                return;
 
-       $post_type_obj = get_queried_object();
+       $post_type = get_query_var( 'post_type' );
+       if ( is_array( $post_type ) )
+               $post_type = reset( $post_type );
+
+       $post_type_obj = get_post_type_object( $post_type );
        $title = apply_filters('post_type_archive_title', $post_type_obj->labels->name );
 
        if ( $display )
                echo $prefix . $title;
        else
        $title = apply_filters('post_type_archive_title', $post_type_obj->labels->name );
 
        if ( $display )
                echo $prefix . $title;
        else
-               return $title;
+               return $prefix . $title;
 }
 
 /**
 }
 
 /**
@@ -785,7 +802,7 @@ function single_term_title( $prefix = '', $display = true ) {
        if ( $display )
                echo $prefix . $term_name;
        else
        if ( $display )
                echo $prefix . $term_name;
        else
-               return $term_name;
+               return $prefix . $term_name;
 }
 
 /**
 }
 
 /**
@@ -866,17 +883,16 @@ function single_month_title($prefix = '', $display = true ) {
  */
 function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') {
        $text = wptexturize($text);
  */
 function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') {
        $text = wptexturize($text);
-       $title_text = esc_attr($text);
        $url = esc_url($url);
 
        if ('link' == $format)
        $url = esc_url($url);
 
        if ('link' == $format)
-               $link_html = "\t<link rel='archives' title='$title_text' href='$url' />\n";
+               $link_html = "\t<link rel='archives' title='" . esc_attr( $text ) . "' href='$url' />\n";
        elseif ('option' == $format)
                $link_html = "\t<option value='$url'>$before $text $after</option>\n";
        elseif ('html' == $format)
        elseif ('option' == $format)
                $link_html = "\t<option value='$url'>$before $text $after</option>\n";
        elseif ('html' == $format)
-               $link_html = "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n";
+               $link_html = "\t<li>$before<a href='$url'>$text</a>$after</li>\n";
        else // custom
        else // custom
-               $link_html = "\t$before<a href='$url' title='$title_text'>$text</a>$after\n";
+               $link_html = "\t$before<a href='$url'>$text</a>$after\n";
 
        $link_html = apply_filters( 'get_archives_link', $link_html );
 
 
        $link_html = apply_filters( 'get_archives_link', $link_html );
 
@@ -1062,10 +1078,12 @@ function wp_get_archives($args = '') {
                        foreach ( (array) $results as $result ) {
                                if ( $result->post_date != '0000-00-00 00:00:00' ) {
                                        $url  = get_permalink( $result );
                        foreach ( (array) $results as $result ) {
                                if ( $result->post_date != '0000-00-00 00:00:00' ) {
                                        $url  = get_permalink( $result );
-                                       if ( $result->post_title )
+                                       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 ) );
                                                $text = strip_tags( apply_filters( 'the_title', $result->post_title, $result->ID ) );
-                                       else
+                                       } else {
                                                $text = $result->ID;
                                                $text = $result->ID;
+                                       }
                                        $output .= get_archives_link($url, $text, $format, $before, $after);
                                }
                        }
                                        $output .= get_archives_link($url, $text, $format, $before, $after);
                                }
                        }
@@ -1250,6 +1268,7 @@ function get_calendar($initial = true, $echo = true) {
        if ( $ak_post_titles ) {
                foreach ( (array) $ak_post_titles as $ak_post_title ) {
 
        if ( $ak_post_titles ) {
                foreach ( (array) $ak_post_titles as $ak_post_title ) {
 
+                               /** This filter is documented in wp-includes/post-template.php */
                                $post_title = esc_attr( apply_filters( 'the_title', $ak_post_title->post_title, $ak_post_title->ID ) );
 
                                if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) )
                                $post_title = esc_attr( apply_filters( 'the_title', $ak_post_title->post_title, $ak_post_title->ID ) );
 
                                if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) )
@@ -1639,8 +1658,8 @@ function feed_links( $args = array() ) {
 
        $args = wp_parse_args( $args, $defaults );
 
 
        $args = wp_parse_args( $args, $defaults );
 
-       echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr(sprintf( $args['feedtitle'], get_bloginfo('name'), $args['separator'] )) . '" href="' . get_feed_link() . "\" />\n";
-       echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr(sprintf( $args['comstitle'], get_bloginfo('name'), $args['separator'] )) . '" href="' . get_feed_link( 'comments_' . get_default_feed() ) . "\" />\n";
+       echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr( sprintf( $args['feedtitle'], get_bloginfo('name'), $args['separator'] ) ) . '" href="' . esc_url( get_feed_link() ) . "\" />\n";
+       echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr( sprintf( $args['comstitle'], get_bloginfo('name'), $args['separator'] ) ) . '" href="' . esc_url( get_feed_link( 'comments_' . get_default_feed() ) ) . "\" />\n";
 }
 
 /**
 }
 
 /**
@@ -1670,7 +1689,7 @@ function feed_links_extra( $args = array() ) {
 
        $args = wp_parse_args( $args, $defaults );
 
 
        $args = wp_parse_args( $args, $defaults );
 
-       if ( is_single() || is_page() ) {
+       if ( is_singular() ) {
                $id = 0;
                $post = get_post( $id );
 
                $id = 0;
                $post = get_post( $id );
 
@@ -1678,16 +1697,28 @@ function feed_links_extra( $args = array() ) {
                        $title = sprintf( $args['singletitle'], get_bloginfo('name'), $args['separator'], esc_html( get_the_title() ) );
                        $href = get_post_comments_feed_link( $post->ID );
                }
                        $title = sprintf( $args['singletitle'], get_bloginfo('name'), $args['separator'], esc_html( get_the_title() ) );
                        $href = get_post_comments_feed_link( $post->ID );
                }
+       } elseif ( is_post_type_archive() ) {
+               $post_type = get_query_var( 'post_type' );
+               if ( is_array( $post_type ) )
+                       $post_type = reset( $post_type );
+
+               $post_type_obj = get_post_type_object( $post_type );
+               $title = sprintf( $args['posttypetitle'], get_bloginfo( 'name' ), $args['separator'], $post_type_obj->labels->name );
+               $href = get_post_type_archive_feed_link( $post_type_obj->name );
        } elseif ( is_category() ) {
                $term = get_queried_object();
 
        } elseif ( is_category() ) {
                $term = get_queried_object();
 
-               $title = sprintf( $args['cattitle'], get_bloginfo('name'), $args['separator'], $term->name );
-               $href = get_category_feed_link( $term->term_id );
+               if ( $term ) {
+                       $title = sprintf( $args['cattitle'], get_bloginfo('name'), $args['separator'], $term->name );
+                       $href = get_category_feed_link( $term->term_id );
+               }
        } elseif ( is_tag() ) {
                $term = get_queried_object();
 
        } elseif ( is_tag() ) {
                $term = get_queried_object();
 
-               $title = sprintf( $args['tagtitle'], get_bloginfo('name'), $args['separator'], $term->name );
-               $href = get_tag_feed_link( $term->term_id );
+               if ( $term ) {
+                       $title = sprintf( $args['tagtitle'], get_bloginfo('name'), $args['separator'], $term->name );
+                       $href = get_tag_feed_link( $term->term_id );
+               }
        } elseif ( is_author() ) {
                $author_id = intval( get_query_var('author') );
 
        } elseif ( is_author() ) {
                $author_id = intval( get_query_var('author') );
 
@@ -1698,7 +1729,9 @@ function feed_links_extra( $args = array() ) {
                $href = get_search_feed_link();
        } elseif ( is_post_type_archive() ) {
                $title = sprintf( $args['posttypetitle'], get_bloginfo('name'), $args['separator'], post_type_archive_title( '', false ) );
                $href = get_search_feed_link();
        } elseif ( is_post_type_archive() ) {
                $title = sprintf( $args['posttypetitle'], get_bloginfo('name'), $args['separator'], post_type_archive_title( '', false ) );
-               $href = get_post_type_archive_feed_link( get_queried_object()->name );
+               $post_type_obj = get_queried_object();
+               if ( $post_type_obj )
+                       $href = get_post_type_archive_feed_link( $post_type_obj->name );
        }
 
        if ( isset($title) && isset($href) )
        }
 
        if ( isset($title) && isset($href) )
index 59dfa55ce9f11d338399bbfa410a9f1bd861b9c2..e30fa41adedbcc550e65251135732e863cf60cb9 100644 (file)
@@ -338,11 +338,18 @@ function get_http_origin() {
        if ( ! empty ( $_SERVER[ 'HTTP_ORIGIN' ] ) )
                $origin = $_SERVER[ 'HTTP_ORIGIN' ];
 
        if ( ! empty ( $_SERVER[ 'HTTP_ORIGIN' ] ) )
                $origin = $_SERVER[ 'HTTP_ORIGIN' ];
 
+       /**
+        * Change the origin of an HTTP request.
+        *
+        * @since 3.4.0
+        *
+        * @param string $origin The original origin for the request.
+        */
        return apply_filters( 'http_origin', $origin );
 }
 
 /**
        return apply_filters( 'http_origin', $origin );
 }
 
 /**
- * Retrieve list of allowed http origins.
+ * Retrieve list of allowed HTTP origins.
  *
  * @since 3.4.0
  *
  *
  * @since 3.4.0
  *
@@ -360,11 +367,24 @@ function get_allowed_http_origins() {
                'https://' . $home_origin[ 'host' ],
        ) );
 
                'https://' . $home_origin[ 'host' ],
        ) );
 
+       /**
+        * Change the origin types allowed for HTTP requests.
+        *
+        * @since 3.4.0
+        *
+        * @param array $allowed_origins {
+        *     Default allowed HTTP origins.
+        *     @type string Non-secure URL for admin origin.
+        *     @type string Secure URL for admin origin.
+        *     @type string Non-secure URL for home origin.
+        *     @type string Secure URL for home origin.
+        * }
+        */
        return apply_filters( 'allowed_http_origins' , $allowed_origins );
 }
 
 /**
        return apply_filters( 'allowed_http_origins' , $allowed_origins );
 }
 
 /**
- * Determines if the http origin is an authorized one.
+ * Determines if the HTTP origin is an authorized one.
  *
  * @since 3.4.0
  *
  *
  * @since 3.4.0
  *
@@ -380,6 +400,14 @@ function is_allowed_http_origin( $origin = null ) {
        if ( $origin && ! in_array( $origin, get_allowed_http_origins() ) )
                $origin = '';
 
        if ( $origin && ! in_array( $origin, get_allowed_http_origins() ) )
                $origin = '';
 
+       /**
+        * Change the allowed HTTP origin result.
+        *
+        * @since 3.4.0
+        *
+        * @param string $origin Result of check for allowed origin.
+        * @param string $origin_arg original origin string passed into is_allowed_http_origin function.
+        */
        return apply_filters( 'allowed_http_origin', $origin, $origin_arg );
 }
 
        return apply_filters( 'allowed_http_origin', $origin, $origin_arg );
 }
 
@@ -458,6 +486,17 @@ function wp_http_validate_url( $url ) {
                                || ( 192 === $parts[0] && 168 === $parts[1] )
                        ) {
                                // If host appears local, reject unless specifically allowed.
                                || ( 192 === $parts[0] && 168 === $parts[1] )
                        ) {
                                // If host appears local, reject unless specifically allowed.
+                               /**
+                                * Check if HTTP request is external or not.
+                                *
+                                * Allows to change and allow external requests for the HTTP request.
+                                *
+                                * @since 3.6.0
+                                *
+                                * @param bool false Whether HTTP request is external or not.
+                                * @param string $host IP of the requested host.
+                                * @param string $url URL of the requested host.
+                                */
                                if ( ! apply_filters( 'http_request_host_is_external', false, $host, $url ) )
                                        return false;
                        }
                                if ( ! apply_filters( 'http_request_host_is_external', false, $host, $url ) )
                                        return false;
                        }
index 0da00594a103c69e4d1853bcf74a98e80818e4d4..90b8ed3a3ca511691e7e1cae22e85666ab0cdd3c 100644 (file)
@@ -1 +1 @@
-if(typeof(jQuery)!="undefined"){if(typeof(jQuery.fn.hoverIntent)=="undefined"){(function(b){b.fn.hoverIntent=function(a,v,r){var p={interval:100,sensitivity:7,timeout:0};if(typeof a==="object"){p=b.extend(p,a)}else{if(b.isFunction(v)){p=b.extend(p,{over:a,out:v,selector:r})}else{p=b.extend(p,{over:a,out:a,selector:v})}}var n,o,s,t;var u=function(c){n=c.pageX;o=c.pageY};var w=function(c,d){d.hoverIntent_t=clearTimeout(d.hoverIntent_t);if((Math.abs(s-n)+Math.abs(t-o))<p.sensitivity){b(d).off("mousemove.hoverIntent",u);d.hoverIntent_s=1;return p.over.apply(d,[c])}else{s=n;t=o;d.hoverIntent_t=setTimeout(function(){w(c,d)},p.interval)}};var q=function(c,d){d.hoverIntent_t=clearTimeout(d.hoverIntent_t);d.hoverIntent_s=0;return p.out.apply(d,[c])};var x=function(c){var d=jQuery.extend({},c);var e=this;if(e.hoverIntent_t){e.hoverIntent_t=clearTimeout(e.hoverIntent_t)}if(c.type=="mouseenter"){s=d.pageX;t=d.pageY;b(e).on("mousemove.hoverIntent",u);if(e.hoverIntent_s!=1){e.hoverIntent_t=setTimeout(function(){w(d,e)},p.interval)}}else{b(e).off("mousemove.hoverIntent",u);if(e.hoverIntent_s==1){e.hoverIntent_t=setTimeout(function(){q(d,e)},p.timeout)}}};return this.on({"mouseenter.hoverIntent":x,"mouseleave.hoverIntent":x},p.selector)}})(jQuery)}jQuery(document).ready(function(e){var d=e("#wpadminbar"),c,a,b,f=false;c=function(g,j){var k=e(j),h=k.attr("tabindex");if(h){k.attr("tabindex","0").attr("tabindex",h)}};a=function(g){d.find("li.menupop").on("click.wp-mobile-hover",function(i){var h=e(this);if(!h.hasClass("hover")){i.preventDefault();d.find("li.menupop.hover").removeClass("hover");h.addClass("hover")}if(g){e("li.menupop").off("click.wp-mobile-hover");f=false}})};b=function(){var g=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click";e(document.body).on(g+".wp-mobile-hover",function(h){if(!e(h.target).closest("#wpadminbar").length){d.find("li.menupop.hover").removeClass("hover")}})};d.removeClass("nojq").removeClass("nojs");if("ontouchstart" in window){d.on("touchstart",function(){a(true);f=true});b()}else{if(/IEMobile\/[1-9]/.test(navigator.userAgent)){a();b()}}d.find("li.menupop").hoverIntent({over:function(g){if(f){return}e(this).addClass("hover")},out:function(g){if(f){return}e(this).removeClass("hover")},timeout:180,sensitivity:7,interval:100});if(window.location.hash){window.scrollBy(0,-32)}e("#wp-admin-bar-get-shortlink").click(function(g){g.preventDefault();e(this).addClass("selected").children(".shortlink-input").blur(function(){e(this).parents("#wp-admin-bar-get-shortlink").removeClass("selected")}).focus().select()});e("#wpadminbar li.menupop > .ab-item").bind("keydown.adminbar",function(i){if(i.which!=13){return}var h=e(i.target),g=h.closest("ab-sub-wrapper");i.stopPropagation();i.preventDefault();if(!g.length){g=e("#wpadminbar .quicklinks")}g.find(".menupop").removeClass("hover");h.parent().toggleClass("hover");h.siblings(".ab-sub-wrapper").find(".ab-item").each(c)}).each(c);e("#wpadminbar .ab-item").bind("keydown.adminbar",function(h){if(h.which!=27){return}var g=e(h.target);h.stopPropagation();h.preventDefault();g.closest(".hover").removeClass("hover").children(".ab-item").focus();g.siblings(".ab-sub-wrapper").find(".ab-item").each(c)});e("#wpadminbar").click(function(g){if(g.target.id!="wpadminbar"&&g.target.id!="wp-admin-bar-top-secondary"){return}g.preventDefault();e("html, body").animate({scrollTop:0},"fast")});e(".screen-reader-shortcut").keydown(function(h){if(13!=h.which){return}var i=e(this).attr("href");var g=navigator.userAgent.toLowerCase();if(g.indexOf("applewebkit")!=-1&&i&&i.charAt(0)=="#"){setTimeout(function(){e(i).focus()},100)}});if("sessionStorage" in window){e("#wp-admin-bar-logout a").click(function(){try{for(var g in sessionStorage){if(g.indexOf("wp-autosave-")!=-1){sessionStorage.removeItem(g)}}}catch(h){}})}})}else{(function(j,l){var e=function(o,n,d){if(o.addEventListener){o.addEventListener(n,d,false)}else{if(o.attachEvent){o.attachEvent("on"+n,function(){return d.call(o,window.event)})}}},f,g=new RegExp("\\bhover\\b","g"),b=[],k=new RegExp("\\bselected\\b","g"),h=function(n){var d=b.length;while(d--){if(b[d]&&n==b[d][1]){return b[d][0]}}return false},i=function(u){var o,d,r,n,q,s,v=[],p=0;while(u&&u!=f&&u!=j){if("LI"==u.nodeName.toUpperCase()){v[v.length]=u;d=h(u);if(d){clearTimeout(d)}u.className=u.className?(u.className.replace(g,"")+" hover"):"hover";n=u}u=u.parentNode}if(n&&n.parentNode){q=n.parentNode;if(q&&"UL"==q.nodeName.toUpperCase()){o=q.childNodes.length;while(o--){s=q.childNodes[o];if(s!=n){s.className=s.className?s.className.replace(k,""):""}}}}o=b.length;while(o--){r=false;p=v.length;while(p--){if(v[p]==b[o][1]){r=true}}if(!r){b[o][1].className=b[o][1].className?b[o][1].className.replace(g,""):""}}},m=function(d){while(d&&d!=f&&d!=j){if("LI"==d.nodeName.toUpperCase()){(function(n){var o=setTimeout(function(){n.className=n.className?n.className.replace(g,""):""},500);b[b.length]=[o,n]})(d)}d=d.parentNode}},c=function(q){var o,d,p,n=q.target||q.srcElement;while(true){if(!n||n==j||n==f){return}if(n.id&&n.id=="wp-admin-bar-get-shortlink"){break}n=n.parentNode}if(q.preventDefault){q.preventDefault()}q.returnValue=false;if(-1==n.className.indexOf("selected")){n.className+=" selected"}for(o=0,d=n.childNodes.length;o<d;o++){p=n.childNodes[o];if(p.className&&-1!=p.className.indexOf("shortlink-input")){p.focus();p.select();p.onblur=function(){n.className=n.className?n.className.replace(k,""):""};break}}return false},a=function(n){var s,q,p,d,r,o;if(n.id!="wpadminbar"&&n.id!="wp-admin-bar-top-secondary"){return}s=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;if(s<1){return}o=s>800?130:100;q=Math.min(12,Math.round(s/o));p=s>800?Math.round(s/30):Math.round(s/20);d=[];r=0;while(s){s-=p;if(s<0){s=0}d.push(s);setTimeout(function(){window.scrollTo(0,d.shift())},r*q);r++}};e(l,"load",function(){f=j.getElementById("wpadminbar");if(j.body&&f){j.body.appendChild(f);if(f.className){f.className=f.className.replace(/nojs/,"")}e(f,"mouseover",function(d){i(d.target||d.srcElement)});e(f,"mouseout",function(d){m(d.target||d.srcElement)});e(f,"click",c);e(f,"click",function(d){a(d.target||d.srcElement)});e(document.getElementById("wp-admin-bar-logout"),"click",function(){if("sessionStorage" in window){try{for(var d in sessionStorage){if(d.indexOf("wp-autosave-")!=-1){sessionStorage.removeItem(d)}}}catch(n){}}})}if(l.location.hash){l.scrollBy(0,-32)}})})(document,window)};
\ No newline at end of file
+"undefined"!=typeof jQuery?("undefined"==typeof jQuery.fn.hoverIntent&&!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:7,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.abs(h-f)+Math.abs(i-g)<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=1,e.over.apply(c,[b])):(h=f,i=g,c.hoverIntent_t=setTimeout(function(){k(b,c)},e.interval),void 0)},l=function(a,b){return b.hoverIntent_t=clearTimeout(b.hoverIntent_t),b.hoverIntent_s=0,e.out.apply(b,[a])},m=function(b){var c=jQuery.extend({},b),d=this;d.hoverIntent_t&&(d.hoverIntent_t=clearTimeout(d.hoverIntent_t)),"mouseenter"==b.type?(h=c.pageX,i=c.pageY,a(d).on("mousemove.hoverIntent",j),1!=d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),1==d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){l(c,d)},e.timeout)))};return this.on({"mouseenter.hoverIntent":m,"mouseleave.hoverIntent":m},e.selector)}}(jQuery),jQuery(document).ready(function(a){var b,c,d,e=a("#wpadminbar"),f=!1;b=function(b,c){var d=a(c),e=d.attr("tabindex");e&&d.attr("tabindex","0").attr("tabindex",e)},c=function(b){e.find("li.menupop").on("click.wp-mobile-hover",function(c){var d=a(this);d.hasClass("hover")||(c.preventDefault(),e.find("li.menupop.hover").removeClass("hover"),d.addClass("hover")),b&&(a("li.menupop").off("click.wp-mobile-hover"),f=!1)})},d=function(){var b=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click";a(document.body).on(b+".wp-mobile-hover",function(b){a(b.target).closest("#wpadminbar").length||e.find("li.menupop.hover").removeClass("hover")})},e.removeClass("nojq").removeClass("nojs"),"ontouchstart"in window?(e.on("touchstart",function(){c(!0),f=!0}),d()):/IEMobile\/[1-9]/.test(navigator.userAgent)&&(c(),d()),e.find("li.menupop").hoverIntent({over:function(){f||a(this).addClass("hover")},out:function(){f||a(this).removeClass("hover")},timeout:180,sensitivity:7,interval:100}),window.location.hash&&window.scrollBy(0,-32),a("#wp-admin-bar-get-shortlink").click(function(b){b.preventDefault(),a(this).addClass("selected").children(".shortlink-input").blur(function(){a(this).parents("#wp-admin-bar-get-shortlink").removeClass("selected")}).focus().select()}),a("#wpadminbar li.menupop > .ab-item").bind("keydown.adminbar",function(c){if(13==c.which){var d=a(c.target),e=d.closest("ab-sub-wrapper");c.stopPropagation(),c.preventDefault(),e.length||(e=a("#wpadminbar .quicklinks")),e.find(".menupop").removeClass("hover"),d.parent().toggleClass("hover"),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}).each(b),a("#wpadminbar .ab-item").bind("keydown.adminbar",function(c){if(27==c.which){var d=a(c.target);c.stopPropagation(),c.preventDefault(),d.closest(".hover").removeClass("hover").children(".ab-item").focus(),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}),a("#wpadminbar").click(function(b){("wpadminbar"==b.target.id||"wp-admin-bar-top-secondary"==b.target.id)&&(b.preventDefault(),a("html, body").animate({scrollTop:0},"fast"))}),a(".screen-reader-shortcut").keydown(function(b){if(13==b.which){var c=a(this).attr("href"),d=navigator.userAgent.toLowerCase();-1!=d.indexOf("applewebkit")&&c&&"#"==c.charAt(0)&&setTimeout(function(){a(c).focus()},100)}}),"sessionStorage"in window&&a("#wp-admin-bar-logout a").click(function(){try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}})})):!function(a,b){var c,d=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,function(){return c.call(a,window.event)})},e=new RegExp("\\bhover\\b","g"),f=[],g=new RegExp("\\bselected\\b","g"),h=function(a){for(var b=f.length;b--;)if(f[b]&&a==f[b][1])return f[b][0];return!1},i=function(b){for(var d,i,j,k,l,m,n=[],o=0;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&(n[n.length]=b,i=h(b),i&&clearTimeout(i),b.className=b.className?b.className.replace(e,"")+" hover":"hover",k=b),b=b.parentNode;if(k&&k.parentNode&&(l=k.parentNode,l&&"UL"==l.nodeName.toUpperCase()))for(d=l.childNodes.length;d--;)m=l.childNodes[d],m!=k&&(m.className=m.className?m.className.replace(g,""):"");for(d=f.length;d--;){for(j=!1,o=n.length;o--;)n[o]==f[d][1]&&(j=!0);j||(f[d][1].className=f[d][1].className?f[d][1].className.replace(e,""):"")}},j=function(b){for(;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&!function(a){var b=setTimeout(function(){a.className=a.className?a.className.replace(e,""):""},500);f[f.length]=[b,a]}(b),b=b.parentNode},k=function(b){for(var d,e,f,h=b.target||b.srcElement;;){if(!h||h==a||h==c)return;if(h.id&&"wp-admin-bar-get-shortlink"==h.id)break;h=h.parentNode}for(b.preventDefault&&b.preventDefault(),b.returnValue=!1,-1==h.className.indexOf("selected")&&(h.className+=" selected"),d=0,e=h.childNodes.length;e>d;d++)if(f=h.childNodes[d],f.className&&-1!=f.className.indexOf("shortlink-input")){f.focus(),f.select(),f.onblur=function(){h.className=h.className?h.className.replace(g,""):""};break}return!1},l=function(a){var b,c,d,e,f,g;if(!("wpadminbar"!=a.id&&"wp-admin-bar-top-secondary"!=a.id||(b=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,1>b)))for(g=b>800?130:100,c=Math.min(12,Math.round(b/g)),d=b>800?Math.round(b/30):Math.round(b/20),e=[],f=0;b;)b-=d,0>b&&(b=0),e.push(b),setTimeout(function(){window.scrollTo(0,e.shift())},f*c),f++};d(b,"load",function(){c=a.getElementById("wpadminbar"),a.body&&c&&(a.body.appendChild(c),c.className&&(c.className=c.className.replace(/nojs/,"")),d(c,"mouseover",function(a){i(a.target||a.srcElement)}),d(c,"mouseout",function(a){j(a.target||a.srcElement)}),d(c,"click",k),d(c,"click",function(a){l(a.target||a.srcElement)}),d(document.getElementById("wp-admin-bar-logout"),"click",function(){if("sessionStorage"in window)try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}})),b.location.hash&&b.scrollBy(0,-32)})}(document,window);
\ No newline at end of file
index 6cd6a47fd7c7c7b24564c65920118338f1bcfab6..f339c949671e6b4c60cafb1b4c7400f4436e7dfe 100644 (file)
@@ -141,8 +141,8 @@ jQuery(document).ready( function($) {
        }
 
        // When connection is lost, keep user from submitting changes.
        }
 
        // When connection is lost, keep user from submitting changes.
-       $(document).on('heartbeat-connection-lost.autosave', function( e, error ) {
-               if ( 'timeout' === error ) {
+       $(document).on('heartbeat-connection-lost.autosave', function( e, error, status ) {
+               if ( 'timeout' === error || 503 == status ) {
                        var notice = $('#lost-connection-notice');
                        if ( ! wp.autosave.local.hasStorage ) {
                                notice.find('.hide-if-no-sessionstorage').hide();
                        var notice = $('#lost-connection-notice');
                        if ( ! wp.autosave.local.hasStorage ) {
                                notice.find('.hide-if-no-sessionstorage').hide();
index 96a5bc6e36cd0f92d1a55c248ad5ca91250ea71e..2e846ddc8795236a0b889639592575a75135d360 100644 (file)
@@ -1 +1 @@
-var autosave,autosaveLast="",autosavePeriodical,autosaveDelayPreview=false,notSaved=true,blockSave=false,fullscreen,autosaveLockRelease=true;jQuery(document).ready(function(a){if(a("#wp-content-wrap").hasClass("tmce-active")&&typeof switchEditors!="undefined"){autosaveLast=wp.autosave.getCompareString({post_title:a("#title").val()||"",content:switchEditors.pre_wpautop(a("#content").val())||"",excerpt:a("#excerpt").val()||""})}else{autosaveLast=wp.autosave.getCompareString()}autosavePeriodical=a.schedule({time:autosaveL10n.autosaveInterval*1000,func:function(){autosave()},repeat:true,protect:true});a("#post").submit(function(){a.cancel(autosavePeriodical);autosaveLockRelease=false});a('input[type="submit"], a.submitdelete',"#submitpost").click(function(){blockSave=true;window.onbeforeunload=null;a(":button, :submit","#submitpost").each(function(){var b=a(this);if(b.hasClass("button-primary")){b.addClass("button-primary-disabled")}else{b.addClass("button-disabled")}});if(a(this).attr("id")=="publish"){a("#major-publishing-actions .spinner").show()}else{a("#minor-publishing .spinner").show()}});window.onbeforeunload=function(){var b=typeof(tinymce)!="undefined"?tinymce.activeEditor:false,c;if(b&&!b.isHidden()){if(b.isDirty()){return autosaveL10n.saveAlert}}else{if(fullscreen&&fullscreen.settings.visible){c=wp.autosave.getCompareString({post_title:a("#wp-fullscreen-title").val()||"",content:a("#wp_mce_fullscreen").val()||"",excerpt:a("#excerpt").val()||""})}else{c=wp.autosave.getCompareString()}if(c!=autosaveLast){return autosaveL10n.saveAlert}}};a(window).unload(function(b){if(!autosaveLockRelease){return}if(b.target&&b.target.nodeName!="#document"){return}a.ajax({type:"POST",url:ajaxurl,async:false,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("#post-preview").click(function(){if(a("#auto_draft").val()=="1"&&notSaved){autosaveDelayPreview=true;autosave();return false}doPreview();return false});doPreview=function(){a("input#wp-preview").val("dopreview");a("form#post").attr("target","wp-preview").submit().attr("target","");var b=navigator.userAgent.toLowerCase();if(b.indexOf("safari")!=-1&&b.indexOf("chrome")==-1){a("form#post").attr("action",function(c,d){return d+"?t="+new Date().getTime()})}a("input#wp-preview").val("")};a("#title").on("keydown.editor-focus",function(c){var b;if(c.which!=9){return}if(!c.ctrlKey&&!c.altKey&&!c.shiftKey){if(typeof(tinymce)!="undefined"){b=tinymce.get("content")}if(b&&!b.isHidden()){a(this).one("keyup",function(d){a("#content_tbl td.mceToolbar > a").focus()})}else{a("#content").focus()}c.preventDefault()}});if("1"==a("#auto_draft").val()){a("#title").blur(function(){if(!this.value||a("#auto_draft").val()!="1"){return}delayed_autosave()})}a(document).on("heartbeat-connection-lost.autosave",function(d,b){if("timeout"===b){var c=a("#lost-connection-notice");if(!wp.autosave.local.hasStorage){c.find(".hide-if-no-sessionstorage").hide()}c.show();autosave_disable_buttons()}}).on("heartbeat-connection-restored.autosave",function(){a("#lost-connection-notice").hide();autosave_enable_buttons()})});function autosave_parse_response(b){var d=wpAjax.parseAjaxResponse(b,"autosave"),c,a;if(d&&d.responses&&d.responses.length){if(d.responses[0].supplemental){a=d.responses[0].supplemental;jQuery.each(a,function(e,f){if(e.match(/^replace-/)){jQuery("#"+e.replace("replace-","")).val(f)}})}if(!d.errors){if(c=parseInt(d.responses[0].id,10)){autosave_update_slug(c)}if(d.responses[0].data){jQuery(".autosave-message").text(d.responses[0].data)}}}return d}function autosave_saved(a){blockSave=false;autosave_parse_response(a);autosave_enable_buttons()}function autosave_saved_new(a){blockSave=false;var c=autosave_parse_response(a),b;if(c&&c.responses.length&&!c.errors){b=parseInt(c.responses[0].id,10);if(b){notSaved=false;jQuery("#auto_draft").val("0")}autosave_enable_buttons();if(autosaveDelayPreview){autosaveDelayPreview=false;doPreview()}}else{autosave_enable_buttons()}}function autosave_update_slug(a){if("undefined"!=makeSlugeditClickable&&jQuery.isFunction(makeSlugeditClickable)&&!jQuery("#edit-slug-box > *").size()){jQuery.post(ajaxurl,{action:"sample-permalink",post_id:a,new_title:fullscreen&&fullscreen.settings.visible?jQuery("#wp-fullscreen-title").val():jQuery("#title").val(),samplepermalinknonce:jQuery("#samplepermalinknonce").val()},function(c){if(c!=="-1"){var b=jQuery("#edit-slug-box");b.html(c);if(b.hasClass("hidden")){b.fadeIn("fast",function(){b.removeClass("hidden")})}makeSlugeditClickable()}})}}function autosave_loading(){jQuery(".autosave-message").html(autosaveL10n.savingText)}function autosave_enable_buttons(){jQuery(document).trigger("autosave-enable-buttons");if(!wp.heartbeat||!wp.heartbeat.hasConnectionError()){setTimeout(function(){var a=jQuery("#submitpost");a.find(":button, :submit").removeAttr("disabled");a.find(".spinner").hide()},500)}}function autosave_disable_buttons(){jQuery(document).trigger("autosave-disable-buttons");jQuery("#submitpost").find(":button, :submit").prop("disabled",true);setTimeout(autosave_enable_buttons,5000)}function delayed_autosave(){setTimeout(function(){if(blockSave){return}autosave()},200)}autosave=function(){var c=wp.autosave.getPostData(),b,a;blockSave=true;if(!c.autosave){return false}if(jQuery("#TB_window").css("display")=="block"){return false}b=wp.autosave.getCompareString(c);if(b==autosaveLast){return false}autosaveLast=b;jQuery(document).triggerHandler("wpcountwords",[c.content]);autosave_disable_buttons();if(c.auto_draft=="1"){a=autosave_saved_new}else{a=autosave_saved}jQuery.ajax({data:c,beforeSend:autosave_loading,type:"POST",url:ajaxurl,success:a});return true};window.wp=window.wp||{};wp.autosave=wp.autosave||{};(function(a){wp.autosave.getPostData=function(){var b=typeof tinymce!="undefined"?tinymce.activeEditor:null,d,f,c=[],e={action:"autosave",autosave:true,post_id:a("#post_ID").val()||0,autosavenonce:a("#autosavenonce").val()||"",post_type:a("#post_type").val()||"",post_author:a("#post_author").val()||"",excerpt:a("#excerpt").val()||""};if(b&&!b.isHidden()){if(b.plugins.spellchecker&&b.plugins.spellchecker.active){e.autosave=false;return e}else{if("mce_fullscreen"==b.id){tinymce.get("content").setContent(b.getContent({format:"raw"}),{format:"raw"})}tinymce.triggerSave()}}if(typeof fullscreen!="undefined"&&fullscreen.settings.visible){e.post_title=a("#wp-fullscreen-title").val()||"";e.content=a("#wp_mce_fullscreen").val()||""}else{e.post_title=a("#title").val()||"";e.content=a("#content").val()||""}a('input[id^="in-category-"]:checked').each(function(){c.push(this.value)});e.catslist=c.join(",");if(d=a("#post_name").val()){e.post_name=d}if(f=a("#parent_id").val()){e.parent_id=f}if(a("#comment_status").prop("checked")){e.comment_status="open"}if(a("#ping_status").prop("checked")){e.ping_status="open"}if(a("#auto_draft").val()=="1"){e.auto_draft="1"}return e};wp.autosave.getCompareString=function(b){if(typeof b==="object"){return(b.post_title||"")+"::"+(b.content||"")+"::"+(b.excerpt||"")}return(a("#title").val()||"")+"::"+(a("#content").val()||"")+"::"+(a("#excerpt").val()||"")};wp.autosave.local={lastSavedData:"",blog_id:0,hasStorage:false,checkStorage:function(){var d=Math.random(),b=false;try{sessionStorage.setItem("wp-test",d);b=sessionStorage.getItem("wp-test")==d;sessionStorage.removeItem("wp-test")}catch(c){}this.hasStorage=b;return b},getStorage:function(){var b=false;if(this.hasStorage&&this.blog_id){b=sessionStorage.getItem("wp-autosave-"+this.blog_id);if(b){b=JSON.parse(b)}else{b={}}}return b},setStorage:function(b){var c;if(this.hasStorage&&this.blog_id){c="wp-autosave-"+this.blog_id;sessionStorage.setItem(c,JSON.stringify(b));return sessionStorage.getItem(c)!==null}return false},getData:function(){var c=this.getStorage(),b=a("#post_ID").val();if(!c||!b){return false}return c["post_"+b]||false},setData:function(b){var d=this.getStorage(),c=a("#post_ID").val();if(!d||!c){return false}if(b){d["post_"+c]=b}else{if(d.hasOwnProperty("post_"+c)){delete d["post_"+c]}else{return false}}return this.setStorage(d)},save:function(d){var b=false,e,c;if(!d){e=wp.autosave.getPostData()}else{e=this.getData()||{};a.extend(e,d);e.autosave=true}if(!e.autosave){return false}c=wp.autosave.getCompareString(e);if(c==this.lastSavedData){return false}e.save_time=(new Date()).getTime();e.status=a("#post_status").val()||"";b=this.setData(e);if(b){this.lastSavedData=c}return b},init:function(c){var b=this;if(!this.checkStorage()){return}if(!a("#content").length&&!a("#excerpt").length){return}if(c){a.extend(this,c)}if(!this.blog_id){this.blog_id=typeof window.autosaveL10n!="undefined"?window.autosaveL10n.blog_id:0}a(document).ready(function(){b.run()})},run:function(){var b=this;this.checkPost();this.schedule=a.schedule({time:15*1000,func:function(){wp.autosave.local.save()},repeat:true,protect:true});a("form#post").on("submit.autosave-local",function(){var d=typeof tinymce!="undefined"&&tinymce.get("content"),c=a("#post_ID").val()||0;if(d&&!d.isHidden()){d.onSubmit.add(function(){wp.autosave.local.save({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})})}else{b.save({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})}wpCookies.set("wp-saving-post-"+c,"check")})},compare:function(d,c){function b(e){return e.toString().replace(/[\x20\t\r\n\f]+/g,"")}return(b(d||"")==b(c||""))},checkPost:function(){var c=this,i=this.getData(),g,f,b,h,d=a("#post_ID").val()||0,e=wpCookies.get("wp-saving-post-"+d);if(!i){return}if(e){wpCookies.remove("wp-saving-post-"+d);if(e=="saved"){this.setData(false);return}}if(a("#has-newer-autosave").length){return}g=a("#content").val()||"";f=a("#title").val()||"";b=a("#excerpt").val()||"";if(a("#wp-content-wrap").hasClass("tmce-active")&&typeof switchEditors!="undefined"){g=switchEditors.pre_wpautop(g)}if(e!="check"&&this.compare(g,i.content)&&this.compare(f,i.post_title)&&this.compare(b,i.excerpt)){return}this.restore_post_data=i;this.undo_post_data={content:g,post_title:f,excerpt:b};h=a("#local-storage-notice");a(".wrap h2").first().after(h.addClass("updated").show());h.on("click",function(k){var j=a(k.target);if(j.hasClass("restore-backup")){c.restorePost(c.restore_post_data);j.parent().hide();a(this).find("p.undo-restore").show()}else{if(j.hasClass("undo-restore-backup")){c.restorePost(c.undo_post_data);j.parent().hide();a(this).find("p.local-restore").show()}}k.preventDefault()})},restorePost:function(c){var b;if(c){this.lastSavedData=wp.autosave.getCompareString(c);if(a("#title").val()!=c.post_title){a("#title").focus().val(c.post_title||"")}a("#excerpt").val(c.excerpt||"");b=typeof tinymce!="undefined"&&tinymce.get("content");if(b&&!b.isHidden()&&typeof switchEditors!="undefined"){b.undoManager.add();b.setContent(c.content?switchEditors.wpautop(c.content):"")}else{a("#content-html").click();a("#content").val(c.content)}return true}return false}};wp.autosave.local.init()}(jQuery));
\ No newline at end of file
+function autosave_parse_response(a){var b,c,d=wpAjax.parseAjaxResponse(a,"autosave");return d&&d.responses&&d.responses.length&&(d.responses[0].supplemental&&(c=d.responses[0].supplemental,jQuery.each(c,function(a,b){a.match(/^replace-/)&&jQuery("#"+a.replace("replace-","")).val(b)})),d.errors||((b=parseInt(d.responses[0].id,10))&&autosave_update_slug(b),d.responses[0].data&&jQuery(".autosave-message").text(d.responses[0].data))),d}function autosave_saved(a){blockSave=!1,autosave_parse_response(a),autosave_enable_buttons()}function autosave_saved_new(a){blockSave=!1;var b,c=autosave_parse_response(a);c&&c.responses.length&&!c.errors?(b=parseInt(c.responses[0].id,10),b&&(notSaved=!1,jQuery("#auto_draft").val("0")),autosave_enable_buttons(),autosaveDelayPreview&&(autosaveDelayPreview=!1,doPreview())):autosave_enable_buttons()}function autosave_update_slug(a){"undefined"!=makeSlugeditClickable&&jQuery.isFunction(makeSlugeditClickable)&&!jQuery("#edit-slug-box > *").size()&&jQuery.post(ajaxurl,{action:"sample-permalink",post_id:a,new_title:fullscreen&&fullscreen.settings.visible?jQuery("#wp-fullscreen-title").val():jQuery("#title").val(),samplepermalinknonce:jQuery("#samplepermalinknonce").val()},function(a){if("-1"!==a){var b=jQuery("#edit-slug-box");b.html(a),b.hasClass("hidden")&&b.fadeIn("fast",function(){b.removeClass("hidden")}),makeSlugeditClickable()}})}function autosave_loading(){jQuery(".autosave-message").html(autosaveL10n.savingText)}function autosave_enable_buttons(){jQuery(document).trigger("autosave-enable-buttons"),wp.heartbeat&&wp.heartbeat.hasConnectionError()||setTimeout(function(){var a=jQuery("#submitpost");a.find(":button, :submit").removeAttr("disabled"),a.find(".spinner").hide()},500)}function autosave_disable_buttons(){jQuery(document).trigger("autosave-disable-buttons"),jQuery("#submitpost").find(":button, :submit").prop("disabled",!0),setTimeout(autosave_enable_buttons,5e3)}function delayed_autosave(){setTimeout(function(){blockSave||autosave()},200)}var autosave,autosaveLast="",autosavePeriodical,autosaveDelayPreview=!1,notSaved=!0,blockSave=!1,fullscreen,autosaveLockRelease=!0;jQuery(document).ready(function(a){autosaveLast=a("#wp-content-wrap").hasClass("tmce-active")&&"undefined"!=typeof switchEditors?wp.autosave.getCompareString({post_title:a("#title").val()||"",content:switchEditors.pre_wpautop(a("#content").val())||"",excerpt:a("#excerpt").val()||""}):wp.autosave.getCompareString(),autosavePeriodical=a.schedule({time:1e3*autosaveL10n.autosaveInterval,func:function(){autosave()},repeat:!0,protect:!0}),a("#post").submit(function(){a.cancel(autosavePeriodical),autosaveLockRelease=!1}),a('input[type="submit"], a.submitdelete',"#submitpost").click(function(){blockSave=!0,window.onbeforeunload=null,a(":button, :submit","#submitpost").each(function(){var b=a(this);b.hasClass("button-primary")?b.addClass("button-primary-disabled"):b.addClass("button-disabled")}),"publish"==a(this).attr("id")?a("#major-publishing-actions .spinner").show():a("#minor-publishing .spinner").show()}),window.onbeforeunload=function(){var b,c="undefined"!=typeof tinymce?tinymce.activeEditor:!1;if(c&&!c.isHidden()){if(c.isDirty())return autosaveL10n.saveAlert}else if(b=fullscreen&&fullscreen.settings.visible?wp.autosave.getCompareString({post_title:a("#wp-fullscreen-title").val()||"",content:a("#wp_mce_fullscreen").val()||"",excerpt:a("#excerpt").val()||""}):wp.autosave.getCompareString(),b!=autosaveLast)return autosaveL10n.saveAlert},a(window).unload(function(b){autosaveLockRelease&&(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("#post-preview").click(function(){return"1"==a("#auto_draft").val()&&notSaved?(autosaveDelayPreview=!0,autosave(),!1):(doPreview(),!1)}),doPreview=function(){a("input#wp-preview").val("dopreview"),a("form#post").attr("target","wp-preview").submit().attr("target","");var b=navigator.userAgent.toLowerCase();-1!=b.indexOf("safari")&&-1==b.indexOf("chrome")&&a("form#post").attr("action",function(a,b){return b+"?t="+(new Date).getTime()}),a("input#wp-preview").val("")},a("#title").on("keydown.editor-focus",function(b){var c;9==b.which&&(b.ctrlKey||b.altKey||b.shiftKey||("undefined"!=typeof tinymce&&(c=tinymce.get("content")),c&&!c.isHidden()?a(this).one("keyup",function(){a("#content_tbl td.mceToolbar > a").focus()}):a("#content").focus(),b.preventDefault()))}),"1"==a("#auto_draft").val()&&a("#title").blur(function(){this.value&&"1"==a("#auto_draft").val()&&delayed_autosave()}),a(document).on("heartbeat-connection-lost.autosave",function(b,c,d){if("timeout"===c||503==d){var e=a("#lost-connection-notice");wp.autosave.local.hasStorage||e.find(".hide-if-no-sessionstorage").hide(),e.show(),autosave_disable_buttons()}}).on("heartbeat-connection-restored.autosave",function(){a("#lost-connection-notice").hide(),autosave_enable_buttons()})}),autosave=function(){var a,b,c=wp.autosave.getPostData();return blockSave=!0,c.autosave?"block"==jQuery("#TB_window").css("display")?!1:(a=wp.autosave.getCompareString(c),a==autosaveLast?!1:(autosaveLast=a,jQuery(document).triggerHandler("wpcountwords",[c.content]),autosave_disable_buttons(),b="1"==c.auto_draft?autosave_saved_new:autosave_saved,jQuery.ajax({data:c,beforeSend:autosave_loading,type:"POST",url:ajaxurl,success:b}),!0)):!1},window.wp=window.wp||{},wp.autosave=wp.autosave||{},function(a){wp.autosave.getPostData=function(){var b,c,d="undefined"!=typeof tinymce?tinymce.activeEditor:null,e=[],f={action:"autosave",autosave:!0,post_id:a("#post_ID").val()||0,autosavenonce:a("#autosavenonce").val()||"",post_type:a("#post_type").val()||"",post_author:a("#post_author").val()||"",excerpt:a("#excerpt").val()||""};if(d&&!d.isHidden()){if(d.plugins.spellchecker&&d.plugins.spellchecker.active)return f.autosave=!1,f;"mce_fullscreen"==d.id&&tinymce.get("content").setContent(d.getContent({format:"raw"}),{format:"raw"}),tinymce.triggerSave()}return"undefined"!=typeof fullscreen&&fullscreen.settings.visible?(f.post_title=a("#wp-fullscreen-title").val()||"",f.content=a("#wp_mce_fullscreen").val()||""):(f.post_title=a("#title").val()||"",f.content=a("#content").val()||""),a('input[id^="in-category-"]:checked').each(function(){e.push(this.value)}),f.catslist=e.join(","),(b=a("#post_name").val())&&(f.post_name=b),(c=a("#parent_id").val())&&(f.parent_id=c),a("#comment_status").prop("checked")&&(f.comment_status="open"),a("#ping_status").prop("checked")&&(f.ping_status="open"),"1"==a("#auto_draft").val()&&(f.auto_draft="1"),f},wp.autosave.getCompareString=function(b){return"object"==typeof b?(b.post_title||"")+"::"+(b.content||"")+"::"+(b.excerpt||""):(a("#title").val()||"")+"::"+(a("#content").val()||"")+"::"+(a("#excerpt").val()||"")},wp.autosave.local={lastSavedData:"",blog_id:0,hasStorage:!1,checkStorage:function(){var a=Math.random(),b=!1;try{sessionStorage.setItem("wp-test",a),b=sessionStorage.getItem("wp-test")==a,sessionStorage.removeItem("wp-test")}catch(c){}return this.hasStorage=b,b},getStorage:function(){var a=!1;return this.hasStorage&&this.blog_id&&(a=sessionStorage.getItem("wp-autosave-"+this.blog_id),a=a?JSON.parse(a):{}),a},setStorage:function(a){var b;return this.hasStorage&&this.blog_id?(b="wp-autosave-"+this.blog_id,sessionStorage.setItem(b,JSON.stringify(a)),null!==sessionStorage.getItem(b)):!1},getData:function(){var b=this.getStorage(),c=a("#post_ID").val();return b&&c?b["post_"+c]||!1:!1},setData:function(b){var c=this.getStorage(),d=a("#post_ID").val();if(!c||!d)return!1;if(b)c["post_"+d]=b;else{if(!c.hasOwnProperty("post_"+d))return!1;delete c["post_"+d]}return this.setStorage(c)},save:function(b){var c,d,e=!1;return b?(c=this.getData()||{},a.extend(c,b),c.autosave=!0):c=wp.autosave.getPostData(),c.autosave?(d=wp.autosave.getCompareString(c),d==this.lastSavedData?!1:(c.save_time=(new Date).getTime(),c.status=a("#post_status").val()||"",e=this.setData(c),e&&(this.lastSavedData=d),e)):!1},init:function(b){var c=this;this.checkStorage()&&(a("#content").length||a("#excerpt").length)&&(b&&a.extend(this,b),this.blog_id||(this.blog_id="undefined"!=typeof window.autosaveL10n?window.autosaveL10n.blog_id:0),a(document).ready(function(){c.run()}))},run:function(){var b=this;this.checkPost(),this.schedule=a.schedule({time:15e3,func:function(){wp.autosave.local.save()},repeat:!0,protect:!0}),a("form#post").on("submit.autosave-local",function(){var c="undefined"!=typeof tinymce&&tinymce.get("content"),d=a("#post_ID").val()||0;c&&!c.isHidden()?c.onSubmit.add(function(){wp.autosave.local.save({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""})}):b.save({post_title:a("#title").val()||"",content:a("#content").val()||"",excerpt:a("#excerpt").val()||""}),wpCookies.set("wp-saving-post-"+d,"check")})},compare:function(a,b){function c(a){return a.toString().replace(/[\x20\t\r\n\f]+/g,"")}return c(a||"")==c(b||"")},checkPost:function(){var b,c,d,e,f=this,g=this.getData(),h=a("#post_ID").val()||0,i=wpCookies.get("wp-saving-post-"+h);if(g)return i&&(wpCookies.remove("wp-saving-post-"+h),"saved"==i)?(this.setData(!1),void 0):(a("#has-newer-autosave").length||(b=a("#content").val()||"",c=a("#title").val()||"",d=a("#excerpt").val()||"",a("#wp-content-wrap").hasClass("tmce-active")&&"undefined"!=typeof switchEditors&&(b=switchEditors.pre_wpautop(b)),"check"!=i&&this.compare(b,g.content)&&this.compare(c,g.post_title)&&this.compare(d,g.excerpt)||(this.restore_post_data=g,this.undo_post_data={content:b,post_title:c,excerpt:d},e=a("#local-storage-notice"),a(".wrap h2").first().after(e.addClass("updated").show()),e.on("click",function(b){var c=a(b.target);c.hasClass("restore-backup")?(f.restorePost(f.restore_post_data),c.parent().hide(),a(this).find("p.undo-restore").show()):c.hasClass("undo-restore-backup")&&(f.restorePost(f.undo_post_data),c.parent().hide(),a(this).find("p.local-restore").show()),b.preventDefault()}))),void 0)},restorePost:function(b){var c;return b?(this.lastSavedData=wp.autosave.getCompareString(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}},wp.autosave.local.init()}(jQuery);
\ No newline at end of file
index acd88a3397649fe013b2db9c75799019c2a86bb5..2bfb008e8c8ce605adf560880a532aed0882cfa9 100644 (file)
@@ -1 +1 @@
-function getAnchorPosition(b){var e=false;var k=new Object();var j=0,g=0;var d=false,f=false,h=false;if(document.getElementById){d=true}else{if(document.all){f=true}else{if(document.layers){h=true}}}if(d&&document.all){j=AnchorPosition_getPageOffsetLeft(document.all[b]);g=AnchorPosition_getPageOffsetTop(document.all[b])}else{if(d){var a=document.getElementById(b);j=AnchorPosition_getPageOffsetLeft(a);g=AnchorPosition_getPageOffsetTop(a)}else{if(f){j=AnchorPosition_getPageOffsetLeft(document.all[b]);g=AnchorPosition_getPageOffsetTop(document.all[b])}else{if(h){var l=0;for(var c=0;c<document.anchors.length;c++){if(document.anchors[c].name==b){l=1;break}}if(l==0){k.x=0;k.y=0;return k}j=document.anchors[c].x;g=document.anchors[c].y}else{k.x=0;k.y=0;return k}}}}k.x=j;k.y=g;return k}function getAnchorWindowPosition(b){var c=getAnchorPosition(b);var a=0;var d=0;if(document.getElementById){if(isNaN(window.screenX)){a=c.x-document.body.scrollLeft+window.screenLeft;d=c.y-document.body.scrollTop+window.screenTop}else{a=c.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;d=c.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset}}else{if(document.all){a=c.x-document.body.scrollLeft+window.screenLeft;d=c.y-document.body.scrollTop+window.screenTop}else{if(document.layers){a=c.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;d=c.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset}}}c.x=a;c.y=d;return c}function AnchorPosition_getPageOffsetLeft(b){var a=b.offsetLeft;while((b=b.offsetParent)!=null){a+=b.offsetLeft}return a}function AnchorPosition_getWindowOffsetLeft(a){return AnchorPosition_getPageOffsetLeft(a)-document.body.scrollLeft}function AnchorPosition_getPageOffsetTop(a){var b=a.offsetTop;while((a=a.offsetParent)!=null){b+=a.offsetTop}return b}function AnchorPosition_getWindowOffsetTop(a){return AnchorPosition_getPageOffsetTop(a)-document.body.scrollTop}function PopupWindow_getXYPosition(a){var b;if(this.type=="WINDOW"){b=getAnchorWindowPosition(a)}else{b=getAnchorPosition(a)}this.x=b.x;this.y=b.y}function PopupWindow_setSize(b,a){this.width=b;this.height=a}function PopupWindow_populate(a){this.contents=a;this.populated=false}function PopupWindow_setUrl(a){this.url=a}function PopupWindow_setWindowProperties(a){this.windowProperties=a}function PopupWindow_refresh(){if(this.divName!=null){if(this.use_gebi){document.getElementById(this.divName).innerHTML=this.contents}else{if(this.use_css){document.all[this.divName].innerHTML=this.contents}else{if(this.use_layers){var a=document.layers[this.divName];a.document.open();a.document.writeln(this.contents);a.document.close()}}}}else{if(this.popupWindow!=null&&!this.popupWindow.closed){if(this.url!=""){this.popupWindow.location.href=this.url}else{this.popupWindow.document.open();this.popupWindow.document.writeln(this.contents);this.popupWindow.document.close()}this.popupWindow.focus()}}}function PopupWindow_showPopup(a){this.getXYPosition(a);this.x+=this.offsetX;this.y+=this.offsetY;if(!this.populated&&(this.contents!="")){this.populated=true;this.refresh()}if(this.divName!=null){if(this.use_gebi){document.getElementById(this.divName).style.left=this.x+"px";document.getElementById(this.divName).style.top=this.y;document.getElementById(this.divName).style.visibility="visible"}else{if(this.use_css){document.all[this.divName].style.left=this.x;document.all[this.divName].style.top=this.y;document.all[this.divName].style.visibility="visible"}else{if(this.use_layers){document.layers[this.divName].left=this.x;document.layers[this.divName].top=this.y;document.layers[this.divName].visibility="visible"}}}}else{if(this.popupWindow==null||this.popupWindow.closed){if(this.x<0){this.x=0}if(this.y<0){this.y=0}if(screen&&screen.availHeight){if((this.y+this.height)>screen.availHeight){this.y=screen.availHeight-this.height}}if(screen&&screen.availWidth){if((this.x+this.width)>screen.availWidth){this.x=screen.availWidth-this.width}}var b=window.opera||(document.layers&&!navigator.mimeTypes["*"])||navigator.vendor=="KDE"||(document.childNodes&&!document.all&&!navigator.taintEnabled);this.popupWindow=window.open(b?"":"about:blank","window_"+a,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y+"")}this.refresh()}}function PopupWindow_hidePopup(){if(this.divName!=null){if(this.use_gebi){document.getElementById(this.divName).style.visibility="hidden"}else{if(this.use_css){document.all[this.divName].style.visibility="hidden"}else{if(this.use_layers){document.layers[this.divName].visibility="hidden"}}}}else{if(this.popupWindow&&!this.popupWindow.closed){this.popupWindow.close();this.popupWindow=null}}}function PopupWindow_isClicked(c){if(this.divName!=null){if(this.use_layers){var d=c.pageX;var b=c.pageY;var a=document.layers[this.divName];if((d>a.left)&&(d<a.left+a.clip.width)&&(b>a.top)&&(b<a.top+a.clip.height)){return true}else{return false}}else{if(document.all){var a=window.event.srcElement;while(a.parentElement!=null){if(a.id==this.divName){return true}a=a.parentElement}return false}else{if(this.use_gebi&&c){var a=c.originalTarget;while(a.parentNode!=null){if(a.id==this.divName){return true}a=a.parentNode}return false}}}return false}return false}function PopupWindow_hideIfNotClicked(a){if(this.autoHideEnabled&&!this.isClicked(a)){this.hidePopup()}}function PopupWindow_autoHide(){this.autoHideEnabled=true}function PopupWindow_hidePopupWindows(c){for(var a=0;a<popupWindowObjects.length;a++){if(popupWindowObjects[a]!=null){var b=popupWindowObjects[a];b.hideIfNotClicked(c)}}}function PopupWindow_attachListener(){if(document.layers){document.captureEvents(Event.MOUSEUP)}window.popupWindowOldEventListener=document.onmouseup;if(window.popupWindowOldEventListener!=null){document.onmouseup=new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();")}else{document.onmouseup=PopupWindow_hidePopupWindows}}function PopupWindow(){if(!window.popupWindowIndex){window.popupWindowIndex=0}if(!window.popupWindowObjects){window.popupWindowObjects=new Array()}if(!window.listenerAttached){window.listenerAttached=true;PopupWindow_attachListener()}this.index=popupWindowIndex++;popupWindowObjects[this.index]=this;this.divName=null;this.popupWindow=null;this.width=0;this.height=0;this.populated=false;this.visible=false;this.autoHideEnabled=false;this.contents="";this.url="";this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no";if(arguments.length>0){this.type="DIV";this.divName=arguments[0]}else{this.type="WINDOW"}this.use_gebi=false;this.use_css=false;this.use_layers=false;if(document.getElementById){this.use_gebi=true}else{if(document.all){this.use_css=true}else{if(document.layers){this.use_layers=true}else{this.type="WINDOW"}}}this.offsetX=0;this.offsetY=0;this.getXYPosition=PopupWindow_getXYPosition;this.populate=PopupWindow_populate;this.setUrl=PopupWindow_setUrl;this.setWindowProperties=PopupWindow_setWindowProperties;this.refresh=PopupWindow_refresh;this.showPopup=PopupWindow_showPopup;this.hidePopup=PopupWindow_hidePopup;this.setSize=PopupWindow_setSize;this.isClicked=PopupWindow_isClicked;this.autoHide=PopupWindow_autoHide;this.hideIfNotClicked=PopupWindow_hideIfNotClicked}ColorPicker_targetInput=null;function ColorPicker_writeDiv(){document.writeln('<DIV ID="colorPickerDiv" STYLE="position:absolute;visibility:hidden;"> </DIV>')}function ColorPicker_show(a){this.showPopup(a)}function ColorPicker_pickColor(a,b){b.hidePopup();pickColor(a)}function pickColor(a){if(ColorPicker_targetInput==null){alert("Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color!");return}ColorPicker_targetInput.value=a}function ColorPicker_select(b,a){if(b.type!="text"&&b.type!="hidden"&&b.type!="textarea"){alert("colorpicker.select: Input object passed is not a valid form input object");window.ColorPicker_targetInput=null;return}window.ColorPicker_targetInput=b;this.show(a)}function ColorPicker_highlightColor(e){var a=(arguments.length>1)?arguments[1]:window.document;var b=a.getElementById("colorPickerSelectedColor");b.style.backgroundColor=e;b=a.getElementById("colorPickerSelectedColorValue");b.innerHTML=e}function ColorPicker(){var g=false;if(arguments.length==0){var e="colorPickerDiv"}else{if(arguments[0]=="window"){var e="";g=true}else{var e=arguments[0]}}if(e!=""){var m=new PopupWindow(e)}else{var m=new PopupWindow();m.setSize(225,250)}m.currentValue="#FFFFFF";m.writeDiv=ColorPicker_writeDiv;m.highlightColor=ColorPicker_highlightColor;m.show=ColorPicker_show;m.select=ColorPicker_select;var a=new Array("#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099","#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099","#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF","#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F","#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000","#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399","#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399","#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF","#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F","#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00","#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699","#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699","#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699","#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F","#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F","#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F","#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999","#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999","#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999","#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF","#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F","#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000","#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99","#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99","#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF","#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F","#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00","#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99","#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99","#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99","#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F","#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F","#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F","#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666","#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000","#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000","#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999","#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF","#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66","#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00","#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000","#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099","#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF","#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF","#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC","#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000","#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900","#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33","#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF","#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF","#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F","#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F","#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F","#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000");var n=a.length;var c=72;var k="";var j=(g)?"window.opener.":"";if(g){k+="<html><head><title>Select Color</title></head>";k+="<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><span style='text-align: center;'>"}k+="<table style='border: none;' cellspacing=0 cellpadding=0>";var l=(document.getElementById||document.all)?true:false;for(var h=0;h<n;h++){if((h%c)==0){k+="<tr>"}if(l){var f='onMouseOver="'+j+"ColorPicker_highlightColor('"+a[h]+"',window.document)\""}else{f=""}k+='<td style="background-color: '+a[h]+';"><a href="javascript:void()" onclick="'+j+"ColorPicker_pickColor('"+a[h]+"',"+j+"window.popupWindowObjects["+m.index+']);return false;" '+f+">&nbsp;</a></td>";if(((h+1)>=n)||(((h+1)%c)==0)){k+="</tr>"}}if(document.getElementById){var d=Math.floor(c/2);var b=c=d;k+="<tr><td colspan='"+d+"' style='background-color: #FFF;' ID='colorPickerSelectedColor'>&nbsp;</td><td colspan='"+b+"' style='text-align: center;' id='colorPickerSelectedColorValue'>#FFFFFF</td></tr>"}k+="</table>";if(g){k+="</span></body></html>"}m.populate(k+"\n");m.offsetY=25;m.autoHide();return m};
\ No newline at end of file
+function getAnchorPosition(a){var b=new Object,c=0,d=0,e=!1,f=!1,g=!1;if(document.getElementById?e=!0:document.all?f=!0:document.layers&&(g=!0),e&&document.all)c=AnchorPosition_getPageOffsetLeft(document.all[a]),d=AnchorPosition_getPageOffsetTop(document.all[a]);else if(e){var h=document.getElementById(a);c=AnchorPosition_getPageOffsetLeft(h),d=AnchorPosition_getPageOffsetTop(h)}else if(f)c=AnchorPosition_getPageOffsetLeft(document.all[a]),d=AnchorPosition_getPageOffsetTop(document.all[a]);else{if(!g)return b.x=0,b.y=0,b;for(var i=0,j=0;j<document.anchors.length;j++)if(document.anchors[j].name==a){i=1;break}if(0==i)return b.x=0,b.y=0,b;c=document.anchors[j].x,d=document.anchors[j].y}return b.x=c,b.y=d,b}function getAnchorWindowPosition(a){var b=getAnchorPosition(a),c=0,d=0;return document.getElementById?isNaN(window.screenX)?(c=b.x-document.body.scrollLeft+window.screenLeft,d=b.y-document.body.scrollTop+window.screenTop):(c=b.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset,d=b.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset):document.all?(c=b.x-document.body.scrollLeft+window.screenLeft,d=b.y-document.body.scrollTop+window.screenTop):document.layers&&(c=b.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset,d=b.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset),b.x=c,b.y=d,b}function AnchorPosition_getPageOffsetLeft(a){for(var b=a.offsetLeft;null!=(a=a.offsetParent);)b+=a.offsetLeft;return b}function AnchorPosition_getWindowOffsetLeft(a){return AnchorPosition_getPageOffsetLeft(a)-document.body.scrollLeft}function AnchorPosition_getPageOffsetTop(a){for(var b=a.offsetTop;null!=(a=a.offsetParent);)b+=a.offsetTop;return b}function AnchorPosition_getWindowOffsetTop(a){return AnchorPosition_getPageOffsetTop(a)-document.body.scrollTop}function PopupWindow_getXYPosition(a){var b;b="WINDOW"==this.type?getAnchorWindowPosition(a):getAnchorPosition(a),this.x=b.x,this.y=b.y}function PopupWindow_setSize(a,b){this.width=a,this.height=b}function PopupWindow_populate(a){this.contents=a,this.populated=!1}function PopupWindow_setUrl(a){this.url=a}function PopupWindow_setWindowProperties(a){this.windowProperties=a}function PopupWindow_refresh(){if(null!=this.divName){if(this.use_gebi)document.getElementById(this.divName).innerHTML=this.contents;else if(this.use_css)document.all[this.divName].innerHTML=this.contents;else if(this.use_layers){var a=document.layers[this.divName];a.document.open(),a.document.writeln(this.contents),a.document.close()}}else null==this.popupWindow||this.popupWindow.closed||(""!=this.url?this.popupWindow.location.href=this.url:(this.popupWindow.document.open(),this.popupWindow.document.writeln(this.contents),this.popupWindow.document.close()),this.popupWindow.focus())}function PopupWindow_showPopup(a){if(this.getXYPosition(a),this.x+=this.offsetX,this.y+=this.offsetY,this.populated||""==this.contents||(this.populated=!0,this.refresh()),null!=this.divName)this.use_gebi?(document.getElementById(this.divName).style.left=this.x+"px",document.getElementById(this.divName).style.top=this.y,document.getElementById(this.divName).style.visibility="visible"):this.use_css?(document.all[this.divName].style.left=this.x,document.all[this.divName].style.top=this.y,document.all[this.divName].style.visibility="visible"):this.use_layers&&(document.layers[this.divName].left=this.x,document.layers[this.divName].top=this.y,document.layers[this.divName].visibility="visible");else{if(null==this.popupWindow||this.popupWindow.closed){this.x<0&&(this.x=0),this.y<0&&(this.y=0),screen&&screen.availHeight&&this.y+this.height>screen.availHeight&&(this.y=screen.availHeight-this.height),screen&&screen.availWidth&&this.x+this.width>screen.availWidth&&(this.x=screen.availWidth-this.width);var b=window.opera||document.layers&&!navigator.mimeTypes["*"]||"KDE"==navigator.vendor||document.childNodes&&!document.all&&!navigator.taintEnabled;this.popupWindow=window.open(b?"":"about:blank","window_"+a,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y)}this.refresh()}}function PopupWindow_hidePopup(){null!=this.divName?this.use_gebi?document.getElementById(this.divName).style.visibility="hidden":this.use_css?document.all[this.divName].style.visibility="hidden":this.use_layers&&(document.layers[this.divName].visibility="hidden"):this.popupWindow&&!this.popupWindow.closed&&(this.popupWindow.close(),this.popupWindow=null)}function PopupWindow_isClicked(a){if(null!=this.divName){if(this.use_layers){var b=a.pageX,c=a.pageY,d=document.layers[this.divName];return b>d.left&&b<d.left+d.clip.width&&c>d.top&&c<d.top+d.clip.height?!0:!1}if(document.all){for(var d=window.event.srcElement;null!=d.parentElement;){if(d.id==this.divName)return!0;d=d.parentElement}return!1}if(this.use_gebi&&a){for(var d=a.originalTarget;null!=d.parentNode;){if(d.id==this.divName)return!0;d=d.parentNode}return!1}return!1}return!1}function PopupWindow_hideIfNotClicked(a){this.autoHideEnabled&&!this.isClicked(a)&&this.hidePopup()}function PopupWindow_autoHide(){this.autoHideEnabled=!0}function PopupWindow_hidePopupWindows(a){for(var b=0;b<popupWindowObjects.length;b++)if(null!=popupWindowObjects[b]){var c=popupWindowObjects[b];c.hideIfNotClicked(a)}}function PopupWindow_attachListener(){document.layers&&document.captureEvents(Event.MOUSEUP),window.popupWindowOldEventListener=document.onmouseup,document.onmouseup=null!=window.popupWindowOldEventListener?new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();"):PopupWindow_hidePopupWindows}function PopupWindow(){window.popupWindowIndex||(window.popupWindowIndex=0),window.popupWindowObjects||(window.popupWindowObjects=new Array),window.listenerAttached||(window.listenerAttached=!0,PopupWindow_attachListener()),this.index=popupWindowIndex++,popupWindowObjects[this.index]=this,this.divName=null,this.popupWindow=null,this.width=0,this.height=0,this.populated=!1,this.visible=!1,this.autoHideEnabled=!1,this.contents="",this.url="",this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no",arguments.length>0?(this.type="DIV",this.divName=arguments[0]):this.type="WINDOW",this.use_gebi=!1,this.use_css=!1,this.use_layers=!1,document.getElementById?this.use_gebi=!0:document.all?this.use_css=!0:document.layers?this.use_layers=!0:this.type="WINDOW",this.offsetX=0,this.offsetY=0,this.getXYPosition=PopupWindow_getXYPosition,this.populate=PopupWindow_populate,this.setUrl=PopupWindow_setUrl,this.setWindowProperties=PopupWindow_setWindowProperties,this.refresh=PopupWindow_refresh,this.showPopup=PopupWindow_showPopup,this.hidePopup=PopupWindow_hidePopup,this.setSize=PopupWindow_setSize,this.isClicked=PopupWindow_isClicked,this.autoHide=PopupWindow_autoHide,this.hideIfNotClicked=PopupWindow_hideIfNotClicked}function ColorPicker_writeDiv(){document.writeln('<DIV ID="colorPickerDiv" STYLE="position:absolute;visibility:hidden;"> </DIV>')}function ColorPicker_show(a){this.showPopup(a)}function ColorPicker_pickColor(a,b){b.hidePopup(),pickColor(a)}function pickColor(a){return null==ColorPicker_targetInput?(alert("Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color!"),void 0):(ColorPicker_targetInput.value=a,void 0)}function ColorPicker_select(a,b){return"text"!=a.type&&"hidden"!=a.type&&"textarea"!=a.type?(alert("colorpicker.select: Input object passed is not a valid form input object"),window.ColorPicker_targetInput=null,void 0):(window.ColorPicker_targetInput=a,this.show(b),void 0)}function ColorPicker_highlightColor(a){var b=arguments.length>1?arguments[1]:window.document,c=b.getElementById("colorPickerSelectedColor");c.style.backgroundColor=a,c=b.getElementById("colorPickerSelectedColorValue"),c.innerHTML=a}function ColorPicker(){var a=!1;if(0==arguments.length)var b="colorPickerDiv";else if("window"==arguments[0]){var b="";a=!0}else var b=arguments[0];if(""!=b)var c=new PopupWindow(b);else{var c=new PopupWindow;c.setSize(225,250)}c.currentValue="#FFFFFF",c.writeDiv=ColorPicker_writeDiv,c.highlightColor=ColorPicker_highlightColor,c.show=ColorPicker_show,c.select=ColorPicker_select;var d=new Array("#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099","#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099","#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF","#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F","#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000","#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399","#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399","#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF","#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F","#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00","#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699","#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699","#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699","#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F","#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F","#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F","#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999","#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999","#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999","#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF","#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F","#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000","#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99","#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99","#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF","#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F","#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00","#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99","#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99","#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99","#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F","#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F","#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F","#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666","#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000","#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000","#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999","#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF","#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66","#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00","#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000","#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099","#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF","#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF","#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC","#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000","#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900","#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33","#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF","#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF","#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F","#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F","#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F","#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000"),e=d.length,f=72,g="",h=a?"window.opener.":"";a&&(g+="<html><head><title>Select Color</title></head>",g+="<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><span style='text-align: center;'>"),g+="<table style='border: none;' cellspacing=0 cellpadding=0>";for(var i=document.getElementById||document.all?!0:!1,j=0;e>j;j++){if(0==j%f&&(g+="<tr>"),i)var k='onMouseOver="'+h+"ColorPicker_highlightColor('"+d[j]+"',window.document)\"";else k="";g+='<td style="background-color: '+d[j]+';"><a href="javascript:void()" onclick="'+h+"ColorPicker_pickColor('"+d[j]+"',"+h+"window.popupWindowObjects["+c.index+']);return false;" '+k+">&nbsp;</a></td>",(j+1>=e||0==(j+1)%f)&&(g+="</tr>")}if(document.getElementById){var l=Math.floor(f/2),m=f=l;g+="<tr><td colspan='"+l+"' style='background-color: #FFF;' ID='colorPickerSelectedColor'>&nbsp;</td><td colspan='"+m+"' style='text-align: center;' id='colorPickerSelectedColorValue'>#FFFFFF</td></tr>"}return g+="</table>",a&&(g+="</span></body></html>"),c.populate(g+"\n"),c.offsetY=25,c.autoHide(),c}ColorPicker_targetInput=null;
\ No newline at end of file
index 524f2ede923ac814d65ea9641dee4c334a5379d6..3fc19fcfd8fdb55ec50ee985aaebc91b6dc4d449 100644 (file)
@@ -1 +1 @@
-addComment={moveForm:function(d,f,i,c){var m=this,a,h=m.I(d),b=m.I(i),l=m.I("cancel-comment-reply-link"),j=m.I("comment_parent"),k=m.I("comment_post_ID");if(!h||!b||!l||!j){return}m.respondId=i;c=c||false;if(!m.I("wp-temp-form-div")){a=document.createElement("div");a.id="wp-temp-form-div";a.style.display="none";b.parentNode.insertBefore(a,b)}h.parentNode.insertBefore(b,h.nextSibling);if(k&&c){k.value=c}j.value=f;l.style.display="";l.onclick=function(){var n=addComment,e=n.I("wp-temp-form-div"),o=n.I(n.respondId);if(!e||!o){return}n.I("comment_parent").value="0";e.parentNode.insertBefore(o,e);e.parentNode.removeChild(e);this.style.display="none";this.onclick=null;return false};try{m.I("comment").focus()}catch(g){}return false},I:function(a){return document.getElementById(a)}};
\ No newline at end of file
+addComment={moveForm:function(a,b,c,d){var e,f=this,g=f.I(a),h=f.I(c),i=f.I("cancel-comment-reply-link"),j=f.I("comment_parent"),k=f.I("comment_post_ID");if(g&&h&&i&&j){f.respondId=c,d=d||!1,f.I("wp-temp-form-div")||(e=document.createElement("div"),e.id="wp-temp-form-div",e.style.display="none",h.parentNode.insertBefore(e,h)),g.parentNode.insertBefore(h,g.nextSibling),k&&d&&(k.value=d),j.value=b,i.style.display="",i.onclick=function(){var a=addComment,b=a.I("wp-temp-form-div"),c=a.I(a.respondId);if(b&&c)return a.I("comment_parent").value="0",b.parentNode.insertBefore(c,b),b.parentNode.removeChild(b),this.style.display="none",this.onclick=null,!1};try{f.I("comment").focus()}catch(l){}return!1}},I:function(a){return document.getElementById(a)}};
\ No newline at end of file
index 445d72c815eee605820b49c6ecb4fbc29082ce0f..2a457f79b27404b68f0c58db90b1e070e312d1bf 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(a,d){var b,g,c,f,e=Array.prototype.slice;g=function(h,i){var j=f(this,h,i);j.extend=this.extend;return j};c=function(){};f=function(i,h,j){var k;if(h&&h.hasOwnProperty("constructor")){k=h.constructor}else{k=function(){var l=i.apply(this,arguments);return l}}d.extend(k,i);c.prototype=i.prototype;k.prototype=new c();if(h){d.extend(k.prototype,h)}if(j){d.extend(k,j)}k.prototype.constructor=k;k.__super__=i.prototype;return k};b={};b.Class=function(l,k,i){var j,h=arguments;if(l&&k&&b.Class.applicator===l){h=k;d.extend(this,i||{})}j=this;if(this.instance){j=function(){return j.instance.apply(j,arguments)};d.extend(j,this)}j.initialize.apply(j,h);return j};b.Class.applicator={};b.Class.prototype.initialize=function(){};b.Class.prototype.extended=function(h){var i=this;while(typeof i.constructor!=="undefined"){if(i.constructor===h){return true}if(typeof i.constructor.__super__==="undefined"){return false}i=i.constructor.__super__}return false};b.Class.extend=g;b.Events={trigger:function(h){if(this.topics&&this.topics[h]){this.topics[h].fireWith(this,e.call(arguments,1))}return this},bind:function(i,h){this.topics=this.topics||{};this.topics[i]=this.topics[i]||d.Callbacks();this.topics[i].add.apply(this.topics[i],e.call(arguments,1));return this},unbind:function(i,h){if(this.topics&&this.topics[i]){this.topics[i].remove.apply(this.topics[i],e.call(arguments,1))}return this}};b.Value=b.Class.extend({initialize:function(i,h){this._value=i;this.callbacks=d.Callbacks();d.extend(this,h||{});this.set=d.proxy(this.set,this)},instance:function(){return arguments.length?this.set.apply(this,arguments):this.get()},get:function(){return this._value},set:function(i){var h=this._value;i=this._setter.apply(this,arguments);i=this.validate(i);if(null===i||this._value===i){return this}this._value=i;this.callbacks.fireWith(this,[i,h]);return this},_setter:function(h){return h},setter:function(i){var h=this.get();this._setter=i;this._value=null;this.set(h);return this},resetSetter:function(){this._setter=this.constructor.prototype._setter;this.set(this.get());return this},validate:function(h){return h},bind:function(h){this.callbacks.add.apply(this.callbacks,arguments);return this},unbind:function(h){this.callbacks.remove.apply(this.callbacks,arguments);return this},link:function(){var h=this.set;d.each(arguments,function(){this.bind(h)});return this},unlink:function(){var h=this.set;d.each(arguments,function(){this.unbind(h)});return this},sync:function(){var h=this;d.each(arguments,function(){h.link(this);this.link(h)});return this},unsync:function(){var h=this;d.each(arguments,function(){h.unlink(this);this.unlink(h)});return this}});b.Values=b.Class.extend({defaultConstructor:b.Value,initialize:function(h){d.extend(this,h||{});this._value={};this._deferreds={}},instance:function(h){if(arguments.length===1){return this.value(h)}return this.when.apply(this,arguments)},value:function(h){return this._value[h]},has:function(h){return typeof this._value[h]!=="undefined"},add:function(i,h){if(this.has(i)){return this.value(i)}this._value[i]=h;h.parent=this;if(h.extended(b.Value)){h.bind(this._change)}this.trigger("add",h);if(this._deferreds[i]){this._deferreds[i].resolve()}return this._value[i]},create:function(h){return this.add(h,new this.defaultConstructor(b.Class.applicator,e.call(arguments,1)))},each:function(i,h){h=typeof h==="undefined"?this:h;d.each(this._value,function(j,k){i.call(h,k,j)})},remove:function(i){var h;if(this.has(i)){h=this.value(i);this.trigger("remove",h);if(h.extended(b.Value)){h.unbind(this._change)}delete h.parent}delete this._value[i];delete this._deferreds[i]},when:function(){var i=this,j=e.call(arguments),h=d.Deferred();if(d.isFunction(j[j.length-1])){h.done(j.pop())}d.when.apply(d,d.map(j,function(k){if(i.has(k)){return}return i._deferreds[k]=i._deferreds[k]||d.Deferred()})).done(function(){var k=d.map(j,function(l){return i(l)});if(k.length!==j.length){i.when.apply(i,j).done(function(){h.resolveWith(i,k)});return}h.resolveWith(i,k)});return h.promise()},_change:function(){this.parent.trigger("change",this)}});d.extend(b.Values.prototype,b.Events);b.ensure=function(h){return typeof h=="string"?d(h):h};b.Element=b.Value.extend({initialize:function(j,i){var h=this,m=b.Element.synchronizer.html,l,n,k;this.element=b.ensure(j);this.events="";if(this.element.is("input, select, textarea")){this.events+="change";m=b.Element.synchronizer.val;if(this.element.is("input")){l=this.element.prop("type");if(b.Element.synchronizer[l]){m=b.Element.synchronizer[l]}if("text"===l||"password"===l){this.events+=" keyup"}}else{if(this.element.is("textarea")){this.events+=" keyup"}}}b.Value.prototype.initialize.call(this,null,d.extend(i||{},m));this._value=this.get();n=this.update;k=this.refresh;this.update=function(o){if(o!==k.call(h)){n.apply(this,arguments)}};this.refresh=function(){h.set(k.call(h))};this.bind(this.update);this.element.bind(this.events,this.refresh)},find:function(h){return d(h,this.element)},refresh:function(){},update:function(){}});b.Element.synchronizer={};d.each(["html","val"],function(h,j){b.Element.synchronizer[j]={update:function(i){this.element[j](i)},refresh:function(){return this.element[j]()}}});b.Element.synchronizer.checkbox={update:function(h){this.element.prop("checked",h)},refresh:function(){return this.element.prop("checked")}};b.Element.synchronizer.radio={update:function(h){this.element.filter(function(){return this.value===h}).prop("checked",true)},refresh:function(){return this.element.filter(":checked").val()}};d.support.postMessage=!!window.postMessage;b.Messenger=b.Class.extend({add:function(j,i,h){return this[j]=new b.Value(i,h)},initialize:function(j,h){var i=window.parent==window?null:window.parent;d.extend(this,h||{});this.add("channel",j.channel);this.add("url",j.url||"");this.add("targetWindow",j.targetWindow||i);this.add("origin",this.url()).link(this.url).setter(function(k){return k.replace(/([^:]+:\/\/[^\/]+).*/,"$1")});this.receive=d.proxy(this.receive,this);this.receive.guid=d.guid++;d(window).on("message",this.receive)},destroy:function(){d(window).off("message",this.receive)},receive:function(i){var h;i=i.originalEvent;if(!this.targetWindow()){return}if(this.origin()&&i.origin!==this.origin()){return}h=JSON.parse(i.data);if(!h||!h.id||typeof h.data==="undefined"){return}if((h.channel||this.channel())&&this.channel()!==h.channel){return}this.trigger(h.id,h.data)},send:function(j,i){var h;i=typeof i==="undefined"?null:i;if(!this.url()||!this.targetWindow()){return}h={id:j,data:i};if(this.channel()){h.channel=this.channel()}this.targetWindow().postMessage(JSON.stringify(h),this.origin())}});d.extend(b.Messenger.prototype,b.Events);b=d.extend(new b.Values(),b);b.get=function(){var h={};this.each(function(j,i){h[i]=j.get()});return h};a.customize=b})(wp,jQuery);
\ No newline at end of file
+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?(a.when.apply(a,c).done(function(){d.resolveWith(a,e)}),void 0):(d.resolveWith(a,e),void 0)}),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()||(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
index af55afc66cd80ed4f32958fc1b7e29eb72c9cfd9..1ece98489a7537a44fb345f86baa5da00d078018 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(a,c){var b=wp.customize,d;c.extend(c.support,{history:!!(window.history&&history.pushState),hashchange:("onhashchange" in window)&&(document.documentMode===undefined||document.documentMode>7)});d=c.extend({},b.Events,{initialize:function(){this.body=c(document.body);if(!d.settings||!c.support.postMessage||(!c.support.cors&&d.settings.isCrossDomain)){return}this.window=c(window);this.element=c('<div id="customize-container" />').appendTo(this.body);this.bind("open",this.overlay.show);this.bind("close",this.overlay.hide);c("#wpbody").on("click",".load-customize",function(e){e.preventDefault();d.link=c(this);d.open(d.link.attr("href"))});if(c.support.history){this.window.on("popstate",d.popstate)}if(c.support.hashchange){this.window.on("hashchange",d.hashchange);this.window.triggerHandler("hashchange")}},popstate:function(g){var f=g.originalEvent.state;if(f&&f.customize){d.open(f.customize)}else{if(d.active){d.close()}}},hashchange:function(g){var f=window.location.toString().split("#")[1];if(f&&0===f.indexOf("wp_customize=on")){d.open(d.settings.url+"?"+f)}if(!f&&!c.support.history){d.close()}},open:function(f){var e;if(this.active){return}if(d.settings.browser.mobile){return window.location=f}this.active=true;this.body.addClass("customize-loading");this.iframe=c("<iframe />",{src:f}).appendTo(this.element);this.iframe.one("load",this.loaded);this.messenger=new b.Messenger({url:f,channel:"loader",targetWindow:this.iframe[0].contentWindow});this.messenger.bind("ready",function(){d.messenger.send("back")});this.messenger.bind("close",function(){if(c.support.history){history.back()}else{if(c.support.hashchange){window.location.hash=""}else{d.close()}}});this.messenger.bind("activated",function(g){if(g){window.location=g}});e=f.split("?")[1];if(c.support.history&&window.location.href!==f){history.pushState({customize:f},"",f)}else{if(!c.support.history&&c.support.hashchange&&e){window.location.hash="wp_customize=on&"+e}}this.trigger("open")},opened:function(){d.body.addClass("customize-active full-overlay-active")},close:function(){if(!this.active){return}this.active=false;this.trigger("close");if(this.link){this.link.focus()}},closed:function(){d.iframe.remove();d.messenger.destroy();d.iframe=null;d.messenger=null;d.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading")},loaded:function(){d.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,d.opened)},hide:function(){this.element.fadeOut(200,d.closed)}}});c(function(){d.settings=_wpCustomizeLoaderSettings;d.initialize()});b.Loader=d})(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()},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
index a466cbffbf040a8934a205567feec42910e8a1d2..8ada955a9e5061ad1a324cc212b63b63425b0b92 100644 (file)
@@ -1 +1 @@
-(function(b,d){var c=wp.customize,a;a=function(g,e,f){var h;return function(){var i=arguments;f=f||this;clearTimeout(h);h=setTimeout(function(){h=null;g.apply(f,i)},e)}};c.Preview=c.Messenger.extend({initialize:function(g,f){var e=this;c.Messenger.prototype.initialize.call(this,g,f);this.body=d(document.body);this.body.on("click.preview","a",function(h){h.preventDefault();e.send("scroll",0);e.send("url",d(this).prop("href"))});this.body.on("submit.preview","form",function(h){h.preventDefault()});this.window=d(window);this.window.on("scroll.preview",a(function(){e.send("scroll",e.window.scrollTop())},200));this.bind("scroll",function(h){e.window.scrollTop(h)})}});d(function(){c.settings=window._wpCustomizeSettings;if(!c.settings){return}var f,e;f=new c.Preview({url:window.location.href,channel:c.settings.channel});f.bind("settings",function(g){d.each(g,function(i,h){if(c.has(i)){c(i).set(h)}else{c.create(i,h)}})});f.trigger("settings",c.settings.values);f.bind("setting",function(g){var h;g=g.slice();if(h=c(g.shift())){h.set.apply(h,g)}});f.bind("sync",function(g){d.each(g,function(i,h){f.trigger(i,h)});f.send("synced")});f.bind("active",function(){if(c.settings.nonce){f.send("nonce",c.settings.nonce)}});f.send("ready");e=d.map(["color","image","position_x","repeat","attachment"],function(g){return"background_"+g});c.when.apply(c,e).done(function(j,i,m,h,l){var n=d(document.body),o=d("head"),g=d("#custom-background-css"),k;if(n.hasClass("custom-background")&&!g.length){return}k=function(){var p="";n.toggleClass("custom-background",!!(j()||i()));if(j()){p+="background-color: "+j()+";"}if(i()){p+='background-image: url("'+i()+'");';p+="background-position: top "+m()+";";p+="background-repeat: "+h()+";";p+="background-attachment: "+l()+";"}g.remove();g=d('<style type="text/css" id="custom-background-css">body.custom-background { '+p+" }</style>").appendTo(o)};d.each(arguments,function(){this.bind(k)})})})})(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"),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");(!h.hasClass("custom-background")||j.length)&&(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
index 8023600659c13595f1c74f63b43b3080cc8c23fb..f8e55886fa5c06db88eca8fa04c26e1ead560c02 100644 (file)
@@ -45,7 +45,7 @@ window.wp = window.wp || {};
                        userActiveEvents,
                        winBlurTimeout,
                        frameBlurTimeout = -1,
                        userActiveEvents,
                        winBlurTimeout,
                        frameBlurTimeout = -1,
-                       hasConnectionError = false;
+                       hasConnectionError = null;
 
                /**
                 * Returns a boolean that's indicative of whether or not there is a connection error
 
                /**
                 * Returns a boolean that's indicative of whether or not there is a connection error
@@ -53,7 +53,7 @@ window.wp = window.wp || {};
                 * @returns boolean
                 */
                this.hasConnectionError = function() {
                 * @returns boolean
                 */
                this.hasConnectionError = function() {
-                       return hasConnectionError;
+                       return !! hasConnectionError;
                };
 
                if ( typeof( window.heartbeatSettings ) == 'object' ) {
                };
 
                if ( typeof( window.heartbeatSettings ) == 'object' ) {
@@ -108,7 +108,7 @@ window.wp = window.wp || {};
                }
 
                // Set error state and fire an event on XHR errors or timeout
                }
 
                // Set error state and fire an event on XHR errors or timeout
-               function errorstate( error ) {
+               function errorstate( error, status ) {
                        var trigger;
 
                        if ( error ) {
                        var trigger;
 
                        if ( error ) {
@@ -132,14 +132,20 @@ window.wp = window.wp || {};
                                                break;
                                }
 
                                                break;
                                }
 
+                               if ( 503 == status && false === hasConnectionError ) {
+                                       trigger = true;
+                               }
+
                                if ( trigger && ! self.hasConnectionError() ) {
                                        hasConnectionError = true;
                                if ( trigger && ! self.hasConnectionError() ) {
                                        hasConnectionError = true;
-                                       $(document).trigger( 'heartbeat-connection-lost', [error] );
+                                       $(document).trigger( 'heartbeat-connection-lost', [error, status] );
                                }
                        } else if ( self.hasConnectionError() ) {
                                errorcount = 0;
                                hasConnectionError = false;
                                $(document).trigger( 'heartbeat-connection-restored' );
                                }
                        } else if ( self.hasConnectionError() ) {
                                errorcount = 0;
                                hasConnectionError = false;
                                $(document).trigger( 'heartbeat-connection-restored' );
+                       } else if ( null === hasConnectionError ) {
+                               hasConnectionError = false;
                        }
                }
 
                        }
                }
 
@@ -213,7 +219,7 @@ window.wp = window.wp || {};
                                connecting = false;
                                next();
                        }).fail( function( jqXHR, textStatus, error ) {
                                connecting = false;
                                next();
                        }).fail( function( jqXHR, textStatus, error ) {
-                               errorstate( textStatus || 'unknown' );
+                               errorstate( textStatus || 'unknown', jqXHR.status );
                                self.error( jqXHR, textStatus, error );
                        });
                }
                                self.error( jqXHR, textStatus, error );
                        });
                }
@@ -427,7 +433,7 @@ window.wp = window.wp || {};
                 */
                this.enqueue = function( handle, data, dont_overwrite ) {
                        if ( handle ) {
                 */
                this.enqueue = function( handle, data, dont_overwrite ) {
                        if ( handle ) {
-                               if ( queue.hasOwnProperty( handle ) && dont_overwrite )
+                               if ( dont_overwrite && this.isQueued( handle ) )
                                        return false;
 
                                queue[handle] = data;
                                        return false;
 
                                queue[handle] = data;
@@ -440,10 +446,33 @@ window.wp = window.wp || {};
                 * Check if data with a particular handle is queued
                 *
                 * $param string handle The handle for the data
                 * Check if data with a particular handle is queued
                 *
                 * $param string handle The handle for the data
-                * $return mixed The data queued with that handle or null
+                * $return bool Whether some data is queued with this handle
                 */
                this.isQueued = function( handle ) {
                 */
                this.isQueued = function( handle ) {
-                       return queue[handle];
+                       if ( handle )
+                               return queue.hasOwnProperty( handle );
+               };
+
+               /**
+                * Remove data with a particular handle from the queue
+                *
+                * $param string handle The handle for the data
+                * $return void
+                */
+               this.dequeue = function( handle ) {
+                       if ( handle )
+                               delete queue[handle];
+               };
+
+               /**
+                * Get data that was enqueued with a particular handle
+                *
+                * $param string handle The handle for the data
+                * $return mixed The data or undefined
+                */
+               this.getQueuedItem = function( handle ) {
+                       if ( handle )
+                               return this.isQueued( handle ) ? queue[handle] : undefined;
                };
        };
 
                };
        };
 
index 215802869fe6e040907af7c3b2c872b352771d69..81039d4f9f8b01e1f1531f1d36e825c473ef83a7 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(a){var b=function(){var t=this,e,c,q=typeof pagenow!="undefined"?pagenow:"",h=typeof ajaxurl!="undefined"?ajaxurl:"",C,B=0,x={},D,i,r=0,A=0,y,f=true,p,j,g,w=-1,l=false;this.hasConnectionError=function(){return l};if(typeof(window.heartbeatSettings)=="object"){C=a.extend({},window.heartbeatSettings);h=C.ajaxurl||h;delete C.ajaxurl;delete C.nonce;D=C.interval||15;delete C.interval;if(D<15){D=15}else{if(D>60){D=60}}D=D*1000;q=q||C.screenId||"front";delete C.screenId;a.extend(this,C)}function k(F){if(F){return parseInt((new Date()).getTime()/1000)}return(new Date()).getTime()}function z(I){var F,H=I.src;if(H&&/^https?:\/\//.test(H)){F=window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.host;if(H.indexOf(F)!==0){return false}}try{if(I.contentWindow.document){return true}}catch(G){}return false}function v(G){var F;if(G){switch(G){case"abort":break;case"timeout":F=true;break;case"parsererror":case"error":case"empty":case"unknown":A++;if(A>2){F=true}break}if(F&&!t.hasConnectionError()){l=true;a(document).trigger("heartbeat-connection-lost",[G])}}else{if(t.hasConnectionError()){A=0;l=false;a(document).trigger("heartbeat-connection-restored")}}}function d(){var J={},I,F,H=true,G=typeof window.heartbeatSettings=="object"?window.heartbeatSettings.nonce:"";B=k();I=a.extend({},x);x={};a(document).trigger("heartbeat-send",[I]);for(F in I){if(I.hasOwnProperty(F)){H=false;break}}if(H&&!t.hasConnectionError()){i=false;u();return}J.data=I;J.interval=D/1000;J._nonce=G;J.action="heartbeat";J.screen_id=q;J.has_focus=f;i=true;t.xhr=a.ajax({url:h,type:"post",timeout:30000,data:J,dataType:"json"}).done(function(K,N,L){var M;if(!K){return v("empty")}if(t.hasConnectionError()){v()}if(K.nonces_expired){a(document).trigger("heartbeat-nonces-expired");return}if(K.heartbeat_interval){M=K.heartbeat_interval;delete K.heartbeat_interval}t.tick(K,N,L);if(M){t.interval.call(t,M)}}).always(function(){i=false;u()}).fail(function(L,M,K){v(M||"unknown");t.error(L,M,K)})}function u(){var G=k()-B,F=D;if(!e){return}if(!f){F=100000}else{if(r>0&&y){F=y;r--}}window.clearTimeout(c);if(G<F){c=window.setTimeout(function(){if(e){d()}},F-G)}else{d()}}function o(){window.clearTimeout(g);window.clearTimeout(w);g=w=0;f=false}function n(){window.clearTimeout(g);window.clearTimeout(w);g=w=0;p=k();if(f){return}f=true;window.clearTimeout(c);if(!i){u()}}function s(){a("iframe").each(function(F,G){if(!z(G)){return}if(a.data(G,"wp-heartbeat-focus")){return}a.data(G,"wp-heartbeat-focus",1);a(G.contentWindow).on("focus.wp-heartbeat-focus",function(H){n()}).on("blur.wp-heartbeat-focus",function(H){s();w=window.setTimeout(function(){o()},500)})})}a(window).on("blur.wp-heartbeat-focus",function(F){s();g=window.setTimeout(function(){o()},500)}).on("focus.wp-heartbeat-focus",function(){a("iframe").each(function(F,G){if(!z(G)){return}a.removeData(G,"wp-heartbeat-focus");a(G.contentWindow).off(".wp-heartbeat-focus")});n()});function E(){j=false;a(document).off(".wp-heartbeat-active");a("iframe").each(function(F,G){if(!z(G)){return}a(G.contentWindow).off(".wp-heartbeat-active")});n()}function m(){var F=p?k()-p:0;if(F>300000&&f){o()}if(!j){a(document).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){E()});a("iframe").each(function(G,H){if(!z(H)){return}a(H.contentWindow).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){E()})});j=true}}window.setInterval(function(){m()},30000);a(document).ready(function(){e=true;B=k();u()});this.hasFocus=function(){return f};this.interval=function(H,G){var F,I;G=parseInt(G,10)||30;G=G<1||G>30?30:G;if(H){switch(H){case"fast":I=5;r=G;break;case"slow":I=60;r=0;break;case"long-polling":D=0;return 0;break;default:I=15;r=0}F=I*1000<D;if(r>0){y=I*1000}else{D=I*1000;y=0}if(F){u()}}if(!f){return 120}return y?y/1000:D/1000};this.enqueue=function(H,G,F){if(H){if(x.hasOwnProperty(H)&&F){return false}x[H]=G;return true}return false};this.isQueued=function(F){return x[F]}};a.extend(b.prototype,{tick:function(d,e,c){a(document).trigger("heartbeat-tick",[d,e,c])},error:function(d,e,c){a(document).trigger("heartbeat-error",[d,e,c])}});wp.heartbeat=new b()}(jQuery));
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b=function(){function b(a){return a?parseInt((new Date).getTime()/1e3):(new Date).getTime()}function c(a){var b,c=a.src;if(c&&/^https?:\/\//.test(c)&&(b=window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.host,0!==c.indexOf(b)))return!1;try{if(a.contentWindow.document)return!0}catch(d){}return!1}function d(b,c){var d;if(b){switch(b){case"abort":break;case"timeout":d=!0;break;case"parsererror":case"error":case"empty":case"unknown":A++,A>2&&(d=!0)}503==c&&!1===D&&(d=!0),d&&!u.hasConnectionError()&&(D=!0,a(document).trigger("heartbeat-connection-lost",[b,c]))}else u.hasConnectionError()?(A=0,D=!1,a(document).trigger("heartbeat-connection-restored")):null===D&&(D=!1)}function e(){var c,e,g={},h=!0,i="object"==typeof window.heartbeatSettings?window.heartbeatSettings.nonce:"";x=b(),c=a.extend({},y),y={},a(document).trigger("heartbeat-send",[c]);for(e in c)if(c.hasOwnProperty(e)){h=!1;break}return h&&!u.hasConnectionError()?(p=!1,f(),void 0):(g.data=c,g.interval=o/1e3,g._nonce=i,g.action="heartbeat",g.screen_id=v,g.has_focus=B,p=!0,u.xhr=a.ajax({url:w,type:"post",timeout:3e4,data:g,dataType:"json"}).done(function(b,c,e){var f;return b?(u.hasConnectionError()&&d(),b.nonces_expired?(a(document).trigger("heartbeat-nonces-expired"),void 0):(b.heartbeat_interval&&(f=b.heartbeat_interval,delete b.heartbeat_interval),u.tick(b,c,e),f&&u.interval.call(u,f),void 0)):d("empty")}).always(function(){p=!1,f()}).fail(function(a,b,c){d(b||"unknown",a.status),u.error(a,b,c)}),void 0)}function f(){var a=b()-x,c=o;l&&(B?z>0&&q&&(c=q,z--):c=1e5,window.clearTimeout(m),c>a?m=window.setTimeout(function(){l&&e()},c-a):e())}function g(){window.clearTimeout(t),window.clearTimeout(C),t=C=0,B=!1}function h(){window.clearTimeout(t),window.clearTimeout(C),t=C=0,r=b(),B||(B=!0,window.clearTimeout(m),p||f())}function i(){a("iframe").each(function(b,d){c(d)&&(a.data(d,"wp-heartbeat-focus")||(a.data(d,"wp-heartbeat-focus",1),a(d.contentWindow).on("focus.wp-heartbeat-focus",function(){h()}).on("blur.wp-heartbeat-focus",function(){i(),C=window.setTimeout(function(){g()},500)})))})}function j(){s=!1,a(document).off(".wp-heartbeat-active"),a("iframe").each(function(b,d){c(d)&&a(d.contentWindow).off(".wp-heartbeat-active")}),h()}function k(){var d=r?b()-r:0;d>3e5&&B&&g(),s||(a(document).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){j()}),a("iframe").each(function(b,d){c(d)&&a(d.contentWindow).on("mouseover.wp-heartbeat-active keyup.wp-heartbeat-active",function(){j()})}),s=!0)}var l,m,n,o,p,q,r,s,t,u=this,v="undefined"!=typeof pagenow?pagenow:"",w="undefined"!=typeof ajaxurl?ajaxurl:"",x=0,y={},z=0,A=0,B=!0,C=-1,D=null;this.hasConnectionError=function(){return!!D},"object"==typeof window.heartbeatSettings&&(n=a.extend({},window.heartbeatSettings),w=n.ajaxurl||w,delete n.ajaxurl,delete n.nonce,o=n.interval||15,delete n.interval,15>o?o=15:o>60&&(o=60),o=1e3*o,v=v||n.screenId||"front",delete n.screenId,a.extend(this,n)),a(window).on("blur.wp-heartbeat-focus",function(){i(),t=window.setTimeout(function(){g()},500)}).on("focus.wp-heartbeat-focus",function(){a("iframe").each(function(b,d){c(d)&&(a.removeData(d,"wp-heartbeat-focus"),a(d.contentWindow).off(".wp-heartbeat-focus"))}),h()}),window.setInterval(function(){k()},3e4),a(document).ready(function(){l=!0,x=b(),f()}),this.hasFocus=function(){return B},this.interval=function(a,b){var c,d;if(b=parseInt(b,10)||30,b=1>b||b>30?30:b,a){switch(a){case"fast":d=5,z=b;break;case"slow":d=60,z=0;break;case"long-polling":return o=0,0;default:d=15,z=0}c=o>1e3*d,z>0?q=1e3*d:(o=1e3*d,q=0),c&&f()}return B?q?q/1e3:o/1e3:120},this.enqueue=function(a,b,c){return a?c&&this.isQueued(a)?!1:(y[a]=b,!0):!1},this.isQueued=function(a){return a?y.hasOwnProperty(a):void 0},this.dequeue=function(a){a&&delete y[a]},this.getQueuedItem=function(a){return a?this.isQueued(a)?y[a]:void 0:void 0}};a.extend(b.prototype,{tick:function(b,c,d){a(document).trigger("heartbeat-tick",[b,c,d])},error:function(b,c,d){a(document).trigger("heartbeat-error",[b,c,d])}}),wp.heartbeat=new b}(jQuery);
\ No newline at end of file
index 9a7644cbaaa4321799ca28fa35eca6450038acf0..1b9406204575cd86a45a448cd26c7d6301b12729 100644 (file)
@@ -1,9 +1 @@
-/*!
- * hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+
- * http://cherne.net/brian/resources/jquery.hoverIntent.html
- *
- * You may use hoverIntent under the terms of the MIT license. Basically that
- * means you are free to use hoverIntent as long as this header is left intact.
- * Copyright 2007, 2013 Brian Cherne
- */
-(function(a){a.fn.hoverIntent=function(m,d,h){var j={interval:100,sensitivity:7,timeout:0};if(typeof m==="object"){j=a.extend(j,m)}else{if(a.isFunction(d)){j=a.extend(j,{over:m,out:d,selector:h})}else{j=a.extend(j,{over:m,out:m,selector:d})}}var l,k,g,f;var e=function(n){l=n.pageX;k=n.pageY};var c=function(o,n){n.hoverIntent_t=clearTimeout(n.hoverIntent_t);if((Math.abs(g-l)+Math.abs(f-k))<j.sensitivity){a(n).off("mousemove.hoverIntent",e);n.hoverIntent_s=1;return j.over.apply(n,[o])}else{g=l;f=k;n.hoverIntent_t=setTimeout(function(){c(o,n)},j.interval)}};var i=function(o,n){n.hoverIntent_t=clearTimeout(n.hoverIntent_t);n.hoverIntent_s=0;return j.out.apply(n,[o])};var b=function(p){var o=jQuery.extend({},p);var n=this;if(n.hoverIntent_t){n.hoverIntent_t=clearTimeout(n.hoverIntent_t)}if(p.type=="mouseenter"){g=o.pageX;f=o.pageY;a(n).on("mousemove.hoverIntent",e);if(n.hoverIntent_s!=1){n.hoverIntent_t=setTimeout(function(){c(o,n)},j.interval)}}else{a(n).off("mousemove.hoverIntent",e);if(n.hoverIntent_s==1){n.hoverIntent_t=setTimeout(function(){i(o,n)},j.timeout)}}};return this.on({"mouseenter.hoverIntent":b,"mouseleave.hoverIntent":b},j.selector)}})(jQuery);
\ No newline at end of file
+!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:7,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.abs(h-f)+Math.abs(i-g)<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=1,e.over.apply(c,[b])):(h=f,i=g,c.hoverIntent_t=setTimeout(function(){k(b,c)},e.interval),void 0)},l=function(a,b){return b.hoverIntent_t=clearTimeout(b.hoverIntent_t),b.hoverIntent_s=0,e.out.apply(b,[a])},m=function(b){var c=jQuery.extend({},b),d=this;d.hoverIntent_t&&(d.hoverIntent_t=clearTimeout(d.hoverIntent_t)),"mouseenter"==b.type?(h=c.pageX,i=c.pageY,a(d).on("mousemove.hoverIntent",j),1!=d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),1==d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){l(c,d)},e.timeout)))};return this.on({"mouseenter.hoverIntent":m,"mouseleave.hoverIntent":m},e.selector)}}(jQuery);
\ No newline at end of file
index 28860461b677a7296df5712fc75f26963d61e886..cb4b923d76c41d54bae9172dde2972811f7ffa5b 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * imgAreaSelect jQuery plugin
 /*
  * imgAreaSelect jQuery plugin
- * version 0.9.9
+ * version 0.9.10
  *
  *
- * Copyright (c) 2008-2011 Michal Wojciechowski (odyniec.net)
+ * Copyright (c) 2008-2013 Michal Wojciechowski (odyniec.net)
  *
  * Dual licensed under the MIT (MIT-LICENSE.txt)
  * and GPL (GPL-LICENSE.txt) licenses.
  *
  * Dual licensed under the MIT (MIT-LICENSE.txt)
  * and GPL (GPL-LICENSE.txt) licenses.
@@ -117,6 +117,9 @@ $.imgAreaSelect = function (img, options) {
         /* Document element */
         docElem = document.documentElement,
 
         /* Document element */
         docElem = document.documentElement,
 
+        /* User agent */
+        ua = navigator.userAgent,
+
         /* Various helper variables used throughout the code */
         $p, d, i, o, w, h, adjusted;
 
         /* Various helper variables used throughout the code */
         $p, d, i, o, w, h, adjusted;
 
@@ -253,11 +256,11 @@ $.imgAreaSelect = function (img, options) {
      */
     function adjust() {
         /*
      */
     function adjust() {
         /*
-         * Do not adjust if image width is not a positive number. This might
-         * happen when imgAreaSelect is put on a parent element which is then
-         * hidden.
+         * Do not adjust if image has not yet loaded or if width is not a
+         * positive number. The latter might happen when imgAreaSelect is put
+         * on a parent element which is then hidden.
          */
          */
-        if (!$img.width())
+        if (!imgLoaded || !$img.width())
             return;
 
         /*
             return;
 
         /*
@@ -368,7 +371,7 @@ $.imgAreaSelect = function (img, options) {
              * Need to reset the document keypress event handler -- unbind the
              * current handler
              */
              * Need to reset the document keypress event handler -- unbind the
              * current handler
              */
-            if ($.imgAreaSelect.keyPress != docKeyPress)
+            if ($.imgAreaSelect.onKeyPress != docKeyPress)
                 $(document).unbind($.imgAreaSelect.keyPress,
                     $.imgAreaSelect.onKeyPress);
 
                 $(document).unbind($.imgAreaSelect.keyPress,
                     $.imgAreaSelect.onKeyPress);
 
@@ -393,7 +396,7 @@ $.imgAreaSelect = function (img, options) {
          * borderOpacity, borderColor1, and borderColor2 options (which are now
          * deprecated). Borders created with GIF background images are fine.
          */
          * borderOpacity, borderColor1, and borderColor2 options (which are now
          * deprecated). Borders created with GIF background images are fine.
          */
-        if ($.browser.msie && $border.outerWidth() - $border.innerWidth() == 2) {
+        if (msie && $border.outerWidth() - $border.innerWidth() == 2) {
             $border.css('margin', 0);
             setTimeout(function () { $border.css('margin', 'auto'); }, 0);
         }
             $border.css('margin', 0);
             setTimeout(function () { $border.css('margin', 'auto'); }, 0);
         }
@@ -962,12 +965,12 @@ $.imgAreaSelect = function (img, options) {
             $($border[1]).css({ borderStyle: 'dashed', borderColor: o });
 
         /* Append all the selection area elements to the container box */
             $($border[1]).css({ borderStyle: 'dashed', borderColor: o });
 
         /* Append all the selection area elements to the container box */
-        $box.append($area.add($border).add($areaOpera).add($handles));
+        $box.append($area.add($border).add($areaOpera)).append($handles);
 
 
-        if ($.browser.msie) {
-            if (o = $outer.css('filter').match(/opacity=(\d+)/))
+        if (msie) {
+            if (o = ($outer.css('filter')||'').match(/opacity=(\d+)/))
                 $outer.css('opacity', o[1]/100);
                 $outer.css('opacity', o[1]/100);
-            if (o = $border.css('filter').match(/opacity=(\d+)/))
+            if (o = ($border.css('filter')||'').match(/opacity=(\d+)/))
                 $border.css('opacity', o[1]/100);
         }
 
                 $border.css('opacity', o[1]/100);
         }
 
@@ -1076,6 +1079,11 @@ $.imgAreaSelect = function (img, options) {
      */
     this.update = doUpdate;
 
      */
     this.update = doUpdate;
 
+    /* Do the dreaded browser detection */
+    var msie = (/msie ([\w.]+)/i.exec(ua)||[])[1],
+        opera = /opera/i.test(ua),
+        safari = /webkit/i.test(ua) && !/chrome/i.test(ua);
+
     /*
      * Traverse the image's parent elements (up to <body>) and find the
      * highest z-index
     /*
      * Traverse the image's parent elements (up to <body>) and find the
      * highest z-index
@@ -1098,14 +1106,13 @@ $.imgAreaSelect = function (img, options) {
      */
     zIndex = options.zIndex || zIndex;
 
      */
     zIndex = options.zIndex || zIndex;
 
-    if ($.browser.msie)
+    if (msie)
         $img.attr('unselectable', 'on');
 
     /*
      * In MSIE and WebKit, we need to use the keydown event instead of keypress
      */
         $img.attr('unselectable', 'on');
 
     /*
      * In MSIE and WebKit, we need to use the keydown event instead of keypress
      */
-    $.imgAreaSelect.keyPress = $.browser.msie ||
-        $.browser.safari ? 'keydown' : 'keypress';
+    $.imgAreaSelect.keyPress = msie || safari ? 'keydown' : 'keypress';
 
     /*
      * There is a bug affecting the CSS cursor property in Opera (observed in
 
     /*
      * There is a bug affecting the CSS cursor property in Opera (observed in
@@ -1114,7 +1121,7 @@ $.imgAreaSelect = function (img, options) {
      * event, we're adding an additional div to $box and we're going to toggle
      * it when mouse moves inside the selection area.
      */
      * event, we're adding an additional div to $box and we're going to toggle
      * it when mouse moves inside the selection area.
      */
-    if ($.browser.opera)
+    if (opera)
         $areaOpera = div().css({ width: '100%', height: '100%',
             position: 'absolute', zIndex: zIndex + 2 || 2 });
 
         $areaOpera = div().css({ width: '100%', height: '100%',
             position: 'absolute', zIndex: zIndex + 2 || 2 });
 
@@ -1143,7 +1150,7 @@ $.imgAreaSelect = function (img, options) {
      * attribute seems to trigger it. The check is for version 7 and above to
      * accommodate for MSIE 9 running in compatibility mode.
      */
      * attribute seems to trigger it. The check is for version 7 and above to
      * accommodate for MSIE 9 running in compatibility mode.
      */
-   if (!imgLoaded && $.browser.msie && $.browser.version >= 7)
+    if (!imgLoaded && msie && msie >= 7)
         img.src = img.src;
 };
 
         img.src = img.src;
 };
 
index 0f949681fefd065aab5ccb003fe7d1a656b6397a..04babcc572ac1a545ceeb7eeb8f47862f49d01d6 100644 (file)
@@ -1 +1 @@
-(function(e){var b=Math.abs,a=Math.max,d=Math.min,c=Math.round;function f(){return e("<div/>")}e.imgAreaSelect=function(s,X){var az=e(s),Z,av=f(),ai=f(),K=f().add(f()).add(f()).add(f()),ab=f().add(f()).add(f()).add(f()),O=e([]),V,n,q,aC={left:0,top:0},Q,j,C,P={left:0,top:0},D=0,ag="absolute",T,S,ad,ac,L,E,U,W,am,Y,N,A,aD,z,aB,y={x1:0,y1:0,x2:0,y2:0,width:0,height:0},p=document.documentElement,l,au,ap,aj,af,aq,x;function J(h){return h+aC.left-P.left}function I(h){return h+aC.top-P.top}function H(h){return h-aC.left+P.left}function B(h){return h-aC.top+P.top}function ao(h){return h.pageX-P.left}function al(h){return h.pageY-P.top}function G(h){var o=h||ad,i=h||ac;return{x1:c(y.x1*o),y1:c(y.y1*i),x2:c(y.x2*o),y2:c(y.y2*i),width:c(y.x2*o)-c(y.x1*o),height:c(y.y2*i)-c(y.y1*i)}}function ah(i,w,h,o,aE){var aG=aE||ad,aF=aE||ac;y={x1:c(i/aG||0),y1:c(w/aF||0),x2:c(h/aG||0),y2:c(o/aF||0)};y.width=y.x2-y.x1;y.height=y.y2-y.y1}function ar(){if(!az.width()){return}aC={left:c(az.offset().left),top:c(az.offset().top)};Q=az.innerWidth();j=az.innerHeight();aC.top+=(az.outerHeight()-j)>>1;aC.left+=(az.outerWidth()-Q)>>1;E=c(X.minWidth/ad)||0;U=c(X.minHeight/ac)||0;W=c(d(X.maxWidth/ad||1<<24,Q));am=c(d(X.maxHeight/ac||1<<24,j));if(e().jquery=="1.3.2"&&ag=="fixed"&&!p.getBoundingClientRect){aC.top+=a(document.body.scrollTop,p.scrollTop);aC.left+=a(document.body.scrollLeft,p.scrollLeft)}P=/absolute|relative/.test(C.css("position"))?{left:c(C.offset().left)-C.scrollLeft(),top:c(C.offset().top)-C.scrollTop()}:ag=="fixed"?{left:e(document).scrollLeft(),top:e(document).scrollTop()}:{left:0,top:0};n=J(0);q=I(0);if(y.x2>Q||y.y2>j){ay()}}function aa(h){if(!N){return}av.css({left:J(y.x1),top:I(y.y1)}).add(ai).width(af=y.width).height(aq=y.height);ai.add(K).add(O).css({left:0,top:0});K.width(a(af-K.outerWidth()+K.innerWidth(),0)).height(a(aq-K.outerHeight()+K.innerHeight(),0));e(ab[0]).css({left:n,top:q,width:y.x1,height:j});e(ab[1]).css({left:n+y.x1,top:q,width:af,height:y.y1});e(ab[2]).css({left:n+y.x2,top:q,width:Q-y.x2,height:j});e(ab[3]).css({left:n+y.x1,top:q+y.y2,width:af,height:j-y.y2});af-=O.outerWidth();aq-=O.outerHeight();switch(O.length){case 8:e(O[4]).css({left:af>>1});e(O[5]).css({left:af,top:aq>>1});e(O[6]).css({left:af>>1,top:aq});e(O[7]).css({top:aq>>1});case 4:O.slice(1,3).css({left:af});O.slice(2,4).css({top:aq})}if(h!==false){if(e.imgAreaSelect.keyPress!=aw){e(document).unbind(e.imgAreaSelect.keyPress,e.imgAreaSelect.onKeyPress)}if(X.keys){e(document)[e.imgAreaSelect.keyPress](e.imgAreaSelect.onKeyPress=aw)}}if(e.browser.msie&&K.outerWidth()-K.innerWidth()==2){K.css("margin",0);setTimeout(function(){K.css("margin","auto")},0)}}function u(h){ar();aa(h);A=J(y.x1);aD=I(y.y1);z=J(y.x2);aB=I(y.y2)}function ak(h,i){X.fadeSpeed?h.fadeOut(X.fadeSpeed,i):h.hide()}function F(i){var h=H(ao(i))-y.x1,o=B(al(i))-y.y1;if(!x){ar();x=true;av.one("mouseout",function(){x=false})}L="";if(X.resizable){if(o<=X.resizeMargin){L="n"}else{if(o>=y.height-X.resizeMargin){L="s"}}if(h<=X.resizeMargin){L+="w"}else{if(h>=y.width-X.resizeMargin){L+="e"}}}av.css("cursor",L?L+"-resize":X.movable?"move":"");if(V){V.toggle()}}function an(h){e("body").css("cursor","");if(X.autoHide||y.width*y.height==0){ak(av.add(ab),function(){e(this).hide()})}e(document).unbind("mousemove",ae);av.mousemove(F);X.onSelectEnd(s,G())}function t(h){if(h.which!=1){return false}ar();if(L){e("body").css("cursor",L+"-resize");A=J(y[/w/.test(L)?"x2":"x1"]);aD=I(y[/n/.test(L)?"y2":"y1"]);e(document).mousemove(ae).one("mouseup",an);av.unbind("mousemove",F)}else{if(X.movable){T=n+y.x1-ao(h);S=q+y.y1-al(h);av.unbind("mousemove",F);e(document).mousemove(g).one("mouseup",function(){X.onSelectEnd(s,G());e(document).unbind("mousemove",g);av.mousemove(F)})}else{az.mousedown(h)}}return false}function r(h){if(Y){if(h){z=a(n,d(n+Q,A+b(aB-aD)*Y*(z>A||-1)));aB=c(a(q,d(q+j,aD+b(z-A)/Y*(aB>aD||-1))));z=c(z)}else{aB=a(q,d(q+j,aD+b(z-A)/Y*(aB>aD||-1)));z=c(a(n,d(n+Q,A+b(aB-aD)*Y*(z>A||-1))));aB=c(aB)}}}function ay(){A=d(A,n+Q);aD=d(aD,q+j);if(b(z-A)<E){z=A-E*(z<A||-1);if(z<n){A=n+E}else{if(z>n+Q){A=n+Q-E}}}if(b(aB-aD)<U){aB=aD-U*(aB<aD||-1);if(aB<q){aD=q+U}else{if(aB>q+j){aD=q+j-U}}}z=a(n,d(z,n+Q));aB=a(q,d(aB,q+j));r(b(z-A)<b(aB-aD)*Y);if(b(z-A)>W){z=A-W*(z<A||-1);r()}if(b(aB-aD)>am){aB=aD-am*(aB<aD||-1);r(true)}y={x1:H(d(A,z)),x2:H(a(A,z)),y1:B(d(aD,aB)),y2:B(a(aD,aB)),width:b(z-A),height:b(aB-aD)};aa();X.onSelectChange(s,G())}function ae(h){z=/w|e|^$/.test(L)||Y?ao(h):J(y.x2);aB=/n|s|^$/.test(L)||Y?al(h):I(y.y2);ay();return false}function R(h,i){z=(A=h)+y.width;aB=(aD=i)+y.height;e.extend(y,{x1:H(A),y1:B(aD),x2:H(z),y2:B(aB)});aa();X.onSelectChange(s,G())}function g(h){A=a(n,d(T+ao(h),n+Q-y.width));aD=a(q,d(S+al(h),q+j-y.height));R(A,aD);h.preventDefault();return false}function aA(){e(document).unbind("mousemove",aA);ar();z=A;aB=aD;ay();L="";if(!ab.is(":visible")){av.add(ab).hide().fadeIn(X.fadeSpeed||0)}N=true;e(document).unbind("mouseup",at).mousemove(ae).one("mouseup",an);av.unbind("mousemove",F);X.onSelectStart(s,G())}function at(){e(document).unbind("mousemove",aA).unbind("mouseup",at);ak(av.add(ab));ah(H(A),B(aD),H(A),B(aD));if(!(this instanceof e.imgAreaSelect)){X.onSelectChange(s,G());X.onSelectEnd(s,G())}}function m(h){if(h.which!=1||ab.is(":animated")){return false}ar();T=A=ao(h);S=aD=al(h);e(document).mousemove(aA).mouseup(at);return false}function v(){u(false)}function ax(){Z=true;M(X=e.extend({classPrefix:"imgareaselect",movable:true,parent:"body",resizable:true,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},X));av.add(ab).css({visibility:""});if(X.show){N=true;ar();aa();av.add(ab).hide().fadeIn(X.fadeSpeed||0)}setTimeout(function(){X.onInit(s,G())},0)}var aw=function(w){var h=X.keys,aE,o,i=w.keyCode;aE=!isNaN(h.alt)&&(w.altKey||w.originalEvent.altKey)?h.alt:!isNaN(h.ctrl)&&w.ctrlKey?h.ctrl:!isNaN(h.shift)&&w.shiftKey?h.shift:!isNaN(h.arrows)?h.arrows:10;if(h.arrows=="resize"||(h.shift=="resize"&&w.shiftKey)||(h.ctrl=="resize"&&w.ctrlKey)||(h.alt=="resize"&&(w.altKey||w.originalEvent.altKey))){switch(i){case 37:aE=-aE;case 39:o=a(A,z);A=d(A,z);z=a(o+aE,A);r();break;case 38:aE=-aE;case 40:o=a(aD,aB);aD=d(aD,aB);aB=a(o+aE,aD);r(true);break;default:return}ay()}else{A=d(A,z);aD=d(aD,aB);switch(i){case 37:R(a(A-aE,n),aD);break;case 38:R(A,a(aD-aE,q));break;case 39:R(A+d(aE,Q-H(z)),aD);break;case 40:R(A,aD+d(aE,j-B(aB)));break;default:return}}return false};function k(h,o){for(var i in o){if(X[i]!==undefined){h.css(o[i],X[i])}}}function M(h){if(h.parent){(C=e(h.parent)).append(av.add(ab))}e.extend(X,h);ar();if(h.handles!=null){O.remove();O=e([]);ap=h.handles?h.handles=="corners"?4:8:0;while(ap--){O=O.add(f())}O.addClass(X.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:D+1||1});if(!parseInt(O.css("width"))>=0){O.width(5).height(5)}if(aj=X.borderWidth){O.css({borderWidth:aj,borderStyle:"solid"})}k(O,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}ad=X.imageWidth/Q||1;ac=X.imageHeight/j||1;if(h.x1!=null){ah(h.x1,h.y1,h.x2,h.y2);h.show=!h.hide}if(h.keys){X.keys=e.extend({shift:1,ctrl:"resize"},h.keys)}ab.addClass(X.classPrefix+"-outer");ai.addClass(X.classPrefix+"-selection");for(ap=0;ap++<4;){e(K[ap-1]).addClass(X.classPrefix+"-border"+ap)}k(ai,{selectionColor:"background-color",selectionOpacity:"opacity"});k(K,{borderOpacity:"opacity",borderWidth:"border-width"});k(ab,{outerColor:"background-color",outerOpacity:"opacity"});if(aj=X.borderColor1){e(K[0]).css({borderStyle:"solid",borderColor:aj})}if(aj=X.borderColor2){e(K[1]).css({borderStyle:"dashed",borderColor:aj})}av.append(ai.add(K).add(V).add(O));if(e.browser.msie){if(aj=ab.css("filter").match(/opacity=(\d+)/)){ab.css("opacity",aj[1]/100)}if(aj=K.css("filter").match(/opacity=(\d+)/)){K.css("opacity",aj[1]/100)}}if(h.hide){ak(av.add(ab))}else{if(h.show&&Z){N=true;av.add(ab).fadeIn(X.fadeSpeed||0);u()}}Y=(au=(X.aspectRatio||"").split(/:/))[0]/au[1];az.add(ab).unbind("mousedown",m);if(X.disable||X.enable===false){av.unbind("mousemove",F).unbind("mousedown",t);e(window).unbind("resize",v)}else{if(X.enable||X.disable===false){if(X.resizable||X.movable){av.mousemove(F).mousedown(t)}e(window).resize(v)}if(!X.persistent){az.add(ab).mousedown(m)}}X.enable=X.disable=undefined}this.remove=function(){M({disable:true});av.add(ab).remove()};this.getOptions=function(){return X};this.setOptions=M;this.getSelection=G;this.setSelection=ah;this.cancelSelection=at;this.update=u;l=az;while(l.length){D=a(D,!isNaN(l.css("z-index"))?l.css("z-index"):D);if(l.css("position")=="fixed"){ag="fixed"}l=l.parent(":not(body)")}D=X.zIndex||D;if(e.browser.msie){az.attr("unselectable","on")}e.imgAreaSelect.keyPress=e.browser.msie||e.browser.safari?"keydown":"keypress";if(e.browser.opera){V=f().css({width:"100%",height:"100%",position:"absolute",zIndex:D+2||2})}av.add(ab).css({visibility:"hidden",position:ag,overflow:"hidden",zIndex:D||"0"});av.css({zIndex:D+2||2});ai.add(K).css({position:"absolute",fontSize:0});s.complete||s.readyState=="complete"||!az.is("img")?ax():az.one("load",ax);if(!Z&&e.browser.msie&&e.browser.version>=7){s.src=s.src}};e.fn.imgAreaSelect=function(g){g=g||{};this.each(function(){if(e(this).data("imgAreaSelect")){if(g.remove){e(this).data("imgAreaSelect").remove();e(this).removeData("imgAreaSelect")}else{e(this).data("imgAreaSelect").setOptions(g)}}else{if(!g.remove){if(g.enable===undefined&&g.disable===undefined){g.enable=true}e(this).data("imgAreaSelect",new e.imgAreaSelect(this,g))}}});if(g.instance){return e(this).data("imgAreaSelect")}return this}})(jQuery);
\ No newline at end of file
+(function($){var abs=Math.abs,max=Math.max,min=Math.min,round=Math.round;function div(){return $('<div/>')}$.imgAreaSelect=function(img,options){var $img=$(img),imgLoaded,$box=div(),$area=div(),$border=div().add(div()).add(div()).add(div()),$outer=div().add(div()).add(div()).add(div()),$handles=$([]),$areaOpera,left,top,imgOfs={left:0,top:0},imgWidth,imgHeight,$parent,parOfs={left:0,top:0},zIndex=0,position='absolute',startX,startY,scaleX,scaleY,resize,minWidth,minHeight,maxWidth,maxHeight,aspectRatio,shown,x1,y1,x2,y2,selection={x1:0,y1:0,x2:0,y2:0,width:0,height:0},docElem=document.documentElement,ua=navigator.userAgent,$p,d,i,o,w,h,adjusted;function viewX(x){return x+imgOfs.left-parOfs.left}function viewY(y){return y+imgOfs.top-parOfs.top}function selX(x){return x-imgOfs.left+parOfs.left}function selY(y){return y-imgOfs.top+parOfs.top}function evX(event){return event.pageX-parOfs.left}function evY(event){return event.pageY-parOfs.top}function getSelection(noScale){var sx=noScale||scaleX,sy=noScale||scaleY;return{x1:round(selection.x1*sx),y1:round(selection.y1*sy),x2:round(selection.x2*sx),y2:round(selection.y2*sy),width:round(selection.x2*sx)-round(selection.x1*sx),height:round(selection.y2*sy)-round(selection.y1*sy)}}function setSelection(x1,y1,x2,y2,noScale){var sx=noScale||scaleX,sy=noScale||scaleY;selection={x1:round(x1/sx||0),y1:round(y1/sy||0),x2:round(x2/sx||0),y2:round(y2/sy||0)};selection.width=selection.x2-selection.x1;selection.height=selection.y2-selection.y1}function adjust(){if(!imgLoaded||!$img.width())return;imgOfs={left:round($img.offset().left),top:round($img.offset().top)};imgWidth=$img.innerWidth();imgHeight=$img.innerHeight();imgOfs.top+=($img.outerHeight()-imgHeight)>>1;imgOfs.left+=($img.outerWidth()-imgWidth)>>1;minWidth=round(options.minWidth/scaleX)||0;minHeight=round(options.minHeight/scaleY)||0;maxWidth=round(min(options.maxWidth/scaleX||1<<24,imgWidth));maxHeight=round(min(options.maxHeight/scaleY||1<<24,imgHeight));if($().jquery=='1.3.2'&&position=='fixed'&&!docElem['getBoundingClientRect']){imgOfs.top+=max(document.body.scrollTop,docElem.scrollTop);imgOfs.left+=max(document.body.scrollLeft,docElem.scrollLeft)}parOfs=/absolute|relative/.test($parent.css('position'))?{left:round($parent.offset().left)-$parent.scrollLeft(),top:round($parent.offset().top)-$parent.scrollTop()}:position=='fixed'?{left:$(document).scrollLeft(),top:$(document).scrollTop()}:{left:0,top:0};left=viewX(0);top=viewY(0);if(selection.x2>imgWidth||selection.y2>imgHeight)doResize()}function update(resetKeyPress){if(!shown)return;$box.css({left:viewX(selection.x1),top:viewY(selection.y1)}).add($area).width(w=selection.width).height(h=selection.height);$area.add($border).add($handles).css({left:0,top:0});$border.width(max(w-$border.outerWidth()+$border.innerWidth(),0)).height(max(h-$border.outerHeight()+$border.innerHeight(),0));$($outer[0]).css({left:left,top:top,width:selection.x1,height:imgHeight});$($outer[1]).css({left:left+selection.x1,top:top,width:w,height:selection.y1});$($outer[2]).css({left:left+selection.x2,top:top,width:imgWidth-selection.x2,height:imgHeight});$($outer[3]).css({left:left+selection.x1,top:top+selection.y2,width:w,height:imgHeight-selection.y2});w-=$handles.outerWidth();h-=$handles.outerHeight();switch($handles.length){case 8:$($handles[4]).css({left:w>>1});$($handles[5]).css({left:w,top:h>>1});$($handles[6]).css({left:w>>1,top:h});$($handles[7]).css({top:h>>1});case 4:$handles.slice(1,3).css({left:w});$handles.slice(2,4).css({top:h})}if(resetKeyPress!==false){if($.imgAreaSelect.onKeyPress!=docKeyPress)$(document).unbind($.imgAreaSelect.keyPress,$.imgAreaSelect.onKeyPress);if(options.keys)$(document)[$.imgAreaSelect.keyPress]($.imgAreaSelect.onKeyPress=docKeyPress)}if(msie&&$border.outerWidth()-$border.innerWidth()==2){$border.css('margin',0);setTimeout(function(){$border.css('margin','auto')},0)}}function doUpdate(resetKeyPress){adjust();update(resetKeyPress);x1=viewX(selection.x1);y1=viewY(selection.y1);x2=viewX(selection.x2);y2=viewY(selection.y2)}function hide($elem,fn){options.fadeSpeed?$elem.fadeOut(options.fadeSpeed,fn):$elem.hide()}function areaMouseMove(event){var x=selX(evX(event))-selection.x1,y=selY(evY(event))-selection.y1;if(!adjusted){adjust();adjusted=true;$box.one('mouseout',function(){adjusted=false})}resize='';if(options.resizable){if(y<=options.resizeMargin)resize='n';else if(y>=selection.height-options.resizeMargin)resize='s';if(x<=options.resizeMargin)resize+='w';else if(x>=selection.width-options.resizeMargin)resize+='e'}$box.css('cursor',resize?resize+'-resize':options.movable?'move':'');if($areaOpera)$areaOpera.toggle()}function docMouseUp(event){$('body').css('cursor','');if(options.autoHide||selection.width*selection.height==0)hide($box.add($outer),function(){$(this).hide()});$(document).unbind('mousemove',selectingMouseMove);$box.mousemove(areaMouseMove);options.onSelectEnd(img,getSelection())}function areaMouseDown(event){if(event.which!=1)return false;adjust();if(resize){$('body').css('cursor',resize+'-resize');x1=viewX(selection[/w/.test(resize)?'x2':'x1']);y1=viewY(selection[/n/.test(resize)?'y2':'y1']);$(document).mousemove(selectingMouseMove).one('mouseup',docMouseUp);$box.unbind('mousemove',areaMouseMove)}else if(options.movable){startX=left+selection.x1-evX(event);startY=top+selection.y1-evY(event);$box.unbind('mousemove',areaMouseMove);$(document).mousemove(movingMouseMove).one('mouseup',function(){options.onSelectEnd(img,getSelection());$(document).unbind('mousemove',movingMouseMove);$box.mousemove(areaMouseMove)})}else $img.mousedown(event);return false}function fixAspectRatio(xFirst){if(aspectRatio)if(xFirst){x2=max(left,min(left+imgWidth,x1+abs(y2-y1)*aspectRatio*(x2>x1||-1)));y2=round(max(top,min(top+imgHeight,y1+abs(x2-x1)/aspectRatio*(y2>y1||-1))));x2=round(x2)}else{y2=max(top,min(top+imgHeight,y1+abs(x2-x1)/aspectRatio*(y2>y1||-1)));x2=round(max(left,min(left+imgWidth,x1+abs(y2-y1)*aspectRatio*(x2>x1||-1))));y2=round(y2)}}function doResize(){x1=min(x1,left+imgWidth);y1=min(y1,top+imgHeight);if(abs(x2-x1)<minWidth){x2=x1-minWidth*(x2<x1||-1);if(x2<left)x1=left+minWidth;else if(x2>left+imgWidth)x1=left+imgWidth-minWidth}if(abs(y2-y1)<minHeight){y2=y1-minHeight*(y2<y1||-1);if(y2<top)y1=top+minHeight;else if(y2>top+imgHeight)y1=top+imgHeight-minHeight}x2=max(left,min(x2,left+imgWidth));y2=max(top,min(y2,top+imgHeight));fixAspectRatio(abs(x2-x1)<abs(y2-y1)*aspectRatio);if(abs(x2-x1)>maxWidth){x2=x1-maxWidth*(x2<x1||-1);fixAspectRatio()}if(abs(y2-y1)>maxHeight){y2=y1-maxHeight*(y2<y1||-1);fixAspectRatio(true)}selection={x1:selX(min(x1,x2)),x2:selX(max(x1,x2)),y1:selY(min(y1,y2)),y2:selY(max(y1,y2)),width:abs(x2-x1),height:abs(y2-y1)};update();options.onSelectChange(img,getSelection())}function selectingMouseMove(event){x2=/w|e|^$/.test(resize)||aspectRatio?evX(event):viewX(selection.x2);y2=/n|s|^$/.test(resize)||aspectRatio?evY(event):viewY(selection.y2);doResize();return false}function doMove(newX1,newY1){x2=(x1=newX1)+selection.width;y2=(y1=newY1)+selection.height;$.extend(selection,{x1:selX(x1),y1:selY(y1),x2:selX(x2),y2:selY(y2)});update();options.onSelectChange(img,getSelection())}function movingMouseMove(event){x1=max(left,min(startX+evX(event),left+imgWidth-selection.width));y1=max(top,min(startY+evY(event),top+imgHeight-selection.height));doMove(x1,y1);event.preventDefault();return false}function startSelection(){$(document).unbind('mousemove',startSelection);adjust();x2=x1;y2=y1;doResize();resize='';if(!$outer.is(':visible'))$box.add($outer).hide().fadeIn(options.fadeSpeed||0);shown=true;$(document).unbind('mouseup',cancelSelection).mousemove(selectingMouseMove).one('mouseup',docMouseUp);$box.unbind('mousemove',areaMouseMove);options.onSelectStart(img,getSelection())}function cancelSelection(){$(document).unbind('mousemove',startSelection).unbind('mouseup',cancelSelection);hide($box.add($outer));setSelection(selX(x1),selY(y1),selX(x1),selY(y1));if(!(this instanceof $.imgAreaSelect)){options.onSelectChange(img,getSelection());options.onSelectEnd(img,getSelection())}}function imgMouseDown(event){if(event.which!=1||$outer.is(':animated'))return false;adjust();startX=x1=evX(event);startY=y1=evY(event);$(document).mousemove(startSelection).mouseup(cancelSelection);return false}function windowResize(){doUpdate(false)}function imgLoad(){imgLoaded=true;setOptions(options=$.extend({classPrefix:'imgareaselect',movable:true,parent:'body',resizable:true,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},options));$box.add($outer).css({visibility:''});if(options.show){shown=true;adjust();update();$box.add($outer).hide().fadeIn(options.fadeSpeed||0)}setTimeout(function(){options.onInit(img,getSelection())},0)}var docKeyPress=function(event){var k=options.keys,d,t,key=event.keyCode;d=!isNaN(k.alt)&&(event.altKey||event.originalEvent.altKey)?k.alt:!isNaN(k.ctrl)&&event.ctrlKey?k.ctrl:!isNaN(k.shift)&&event.shiftKey?k.shift:!isNaN(k.arrows)?k.arrows:10;if(k.arrows=='resize'||(k.shift=='resize'&&event.shiftKey)||(k.ctrl=='resize'&&event.ctrlKey)||(k.alt=='resize'&&(event.altKey||event.originalEvent.altKey))){switch(key){case 37:d=-d;case 39:t=max(x1,x2);x1=min(x1,x2);x2=max(t+d,x1);fixAspectRatio();break;case 38:d=-d;case 40:t=max(y1,y2);y1=min(y1,y2);y2=max(t+d,y1);fixAspectRatio(true);break;default:return}doResize()}else{x1=min(x1,x2);y1=min(y1,y2);switch(key){case 37:doMove(max(x1-d,left),y1);break;case 38:doMove(x1,max(y1-d,top));break;case 39:doMove(x1+min(d,imgWidth-selX(x2)),y1);break;case 40:doMove(x1,y1+min(d,imgHeight-selY(y2)));break;default:return}}return false};function styleOptions($elem,props){for(var option in props)if(options[option]!==undefined)$elem.css(props[option],options[option])}function setOptions(newOptions){if(newOptions.parent)($parent=$(newOptions.parent)).append($box.add($outer));$.extend(options,newOptions);adjust();if(newOptions.handles!=null){$handles.remove();$handles=$([]);i=newOptions.handles?newOptions.handles=='corners'?4:8:0;while(i--)$handles=$handles.add(div());$handles.addClass(options.classPrefix+'-handle').css({position:'absolute',fontSize:0,zIndex:zIndex+1||1});if(!parseInt($handles.css('width'))>=0)$handles.width(5).height(5);if(o=options.borderWidth)$handles.css({borderWidth:o,borderStyle:'solid'});styleOptions($handles,{borderColor1:'border-color',borderColor2:'background-color',borderOpacity:'opacity'})}scaleX=options.imageWidth/imgWidth||1;scaleY=options.imageHeight/imgHeight||1;if(newOptions.x1!=null){setSelection(newOptions.x1,newOptions.y1,newOptions.x2,newOptions.y2);newOptions.show=!newOptions.hide}if(newOptions.keys)options.keys=$.extend({shift:1,ctrl:'resize'},newOptions.keys);$outer.addClass(options.classPrefix+'-outer');$area.addClass(options.classPrefix+'-selection');for(i=0;i++<4;)$($border[i-1]).addClass(options.classPrefix+'-border'+i);styleOptions($area,{selectionColor:'background-color',selectionOpacity:'opacity'});styleOptions($border,{borderOpacity:'opacity',borderWidth:'border-width'});styleOptions($outer,{outerColor:'background-color',outerOpacity:'opacity'});if(o=options.borderColor1)$($border[0]).css({borderStyle:'solid',borderColor:o});if(o=options.borderColor2)$($border[1]).css({borderStyle:'dashed',borderColor:o});$box.append($area.add($border).add($areaOpera)).append($handles);if(msie){if(o=($outer.css('filter')||'').match(/opacity=(\d+)/))$outer.css('opacity',o[1]/100);if(o=($border.css('filter')||'').match(/opacity=(\d+)/))$border.css('opacity',o[1]/100)}if(newOptions.hide)hide($box.add($outer));else if(newOptions.show&&imgLoaded){shown=true;$box.add($outer).fadeIn(options.fadeSpeed||0);doUpdate()}aspectRatio=(d=(options.aspectRatio||'').split(/:/))[0]/d[1];$img.add($outer).unbind('mousedown',imgMouseDown);if(options.disable||options.enable===false){$box.unbind('mousemove',areaMouseMove).unbind('mousedown',areaMouseDown);$(window).unbind('resize',windowResize)}else{if(options.enable||options.disable===false){if(options.resizable||options.movable)$box.mousemove(areaMouseMove).mousedown(areaMouseDown);$(window).resize(windowResize)}if(!options.persistent)$img.add($outer).mousedown(imgMouseDown)}options.enable=options.disable=undefined}this.remove=function(){setOptions({disable:true});$box.add($outer).remove()};this.getOptions=function(){return options};this.setOptions=setOptions;this.getSelection=getSelection;this.setSelection=setSelection;this.cancelSelection=cancelSelection;this.update=doUpdate;var msie=(/msie ([\w.]+)/i.exec(ua)||[])[1],opera=/opera/i.test(ua),safari=/webkit/i.test(ua)&&!/chrome/i.test(ua);$p=$img;while($p.length){zIndex=max(zIndex,!isNaN($p.css('z-index'))?$p.css('z-index'):zIndex);if($p.css('position')=='fixed')position='fixed';$p=$p.parent(':not(body)')}zIndex=options.zIndex||zIndex;if(msie)$img.attr('unselectable','on');$.imgAreaSelect.keyPress=msie||safari?'keydown':'keypress';if(opera)$areaOpera=div().css({width:'100%',height:'100%',position:'absolute',zIndex:zIndex+2||2});$box.add($outer).css({visibility:'hidden',position:position,overflow:'hidden',zIndex:zIndex||'0'});$box.css({zIndex:zIndex+2||2});$area.add($border).css({position:'absolute',fontSize:0});img.complete||img.readyState=='complete'||!$img.is('img')?imgLoad():$img.one('load',imgLoad);if(!imgLoaded&&msie&&msie>=7)img.src=img.src};$.fn.imgAreaSelect=function(options){options=options||{};this.each(function(){if($(this).data('imgAreaSelect')){if(options.remove){$(this).data('imgAreaSelect').remove();$(this).removeData('imgAreaSelect')}else $(this).data('imgAreaSelect').setOptions(options)}else if(!options.remove){if(options.enable===undefined&&options.disable===undefined)options.enable=true;$(this).data('imgAreaSelect',new $.imgAreaSelect(this,options))}});if(options.instance)return $(this).data('imgAreaSelect');return this}})(jQuery);
\ No newline at end of file
index f438f33d539220ff709333cf3b377fa8a22418b5..aa5392052aa729d07135fc6ad9d7dd0cf1a19417 100644 (file)
@@ -1,12 +1,12 @@
-/* jquery.Jcrop.min.css v0.9.10 (build:20120429) */
-.jcrop-holder{direction:ltr;text-align:left;}
-.jcrop-vline,.jcrop-hline{background:#FFF url(Jcrop.gif) top left repeat;font-size:0;position:absolute;}
+/* jquery.Jcrop.min.css v0.9.12 (build:20130521) */
+.jcrop-holder{-ms-touch-action:none;direction:ltr;text-align:left;}
+.jcrop-vline,.jcrop-hline{background:#FFF url(Jcrop.gif);font-size:0;position:absolute;}
 .jcrop-vline{height:100%;width:1px!important;}
 .jcrop-vline{height:100%;width:1px!important;}
-.jcrop-hline{height:1px!important;width:100%;}
 .jcrop-vline.right{right:0;}
 .jcrop-vline.right{right:0;}
+.jcrop-hline{height:1px!important;width:100%;}
 .jcrop-hline.bottom{bottom:0;}
 .jcrop-hline.bottom{bottom:0;}
-.jcrop-handle{background-color:#333;border:1px #eee solid;font-size:1px;}
 .jcrop-tracker{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;height:100%;width:100%;}
 .jcrop-tracker{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;height:100%;width:100%;}
+.jcrop-handle{background-color:#333;border:1px #EEE solid;font-size:1px;height:7px;width:7px;}
 .jcrop-handle.ord-n{left:50%;margin-left:-4px;margin-top:-4px;top:0;}
 .jcrop-handle.ord-s{bottom:0;left:50%;margin-bottom:-4px;margin-left:-4px;}
 .jcrop-handle.ord-e{margin-right:-4px;margin-top:-4px;right:0;top:50%;}
 .jcrop-handle.ord-n{left:50%;margin-left:-4px;margin-top:-4px;top:0;}
 .jcrop-handle.ord-s{bottom:0;left:50%;margin-bottom:-4px;margin-left:-4px;}
 .jcrop-handle.ord-e{margin-right:-4px;margin-top:-4px;right:0;top:50%;}
@@ -21,8 +21,9 @@
 .jcrop-dragbar.ord-s{bottom:0;margin-bottom:-4px;}
 .jcrop-dragbar.ord-e{margin-right:-4px;right:0;}
 .jcrop-dragbar.ord-w{margin-left:-4px;}
 .jcrop-dragbar.ord-s{bottom:0;margin-bottom:-4px;}
 .jcrop-dragbar.ord-e{margin-right:-4px;right:0;}
 .jcrop-dragbar.ord-w{margin-left:-4px;}
-.jcrop-light .jcrop-vline,.jcrop-light .jcrop-hline{background:#FFF;filter:Alpha(opacity=70)!important;opacity:.70!important;}
+.jcrop-light .jcrop-vline,.jcrop-light .jcrop-hline{background:#FFF;filter:alpha(opacity=70)!important;opacity:.70!important;}
 .jcrop-light .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#000;border-color:#FFF;border-radius:3px;}
 .jcrop-light .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#000;border-color:#FFF;border-radius:3px;}
-.jcrop-dark .jcrop-vline,.jcrop-dark .jcrop-hline{background:#000;filter:Alpha(opacity=70)!important;opacity:.7!important;}
+.jcrop-dark .jcrop-vline,.jcrop-dark .jcrop-hline{background:#000;filter:alpha(opacity=70)!important;opacity:.7!important;}
 .jcrop-dark .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#FFF;border-color:#000;border-radius:3px;}
 .jcrop-dark .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#FFF;border-color:#000;border-radius:3px;}
+.solid-line .jcrop-vline,.solid-line .jcrop-hline{background:#FFF;}
 .jcrop-holder img,img.jcrop-preview{max-width:none;}
 .jcrop-holder img,img.jcrop-preview{max-width:none;}
index 2df51ad6db03adb8d68da10511622d7e5a42a096..bf0d7c457b7d56fab864e8d13b2dc2facc3621dc 100644 (file)
@@ -1,22 +1,22 @@
 /**
 /**
- * jquery.Jcrop.min.js v0.9.10 (build:20120429)
+ * jquery.Jcrop.min.js v0.9.12 (build:20130202)
  * jQuery Image Cropping Plugin - released under MIT License
  * jQuery Image Cropping Plugin - released under MIT License
- * Copyright (c) 2008-2012 Tapmodo Interactive LLC
+ * Copyright (c) 2008-2013 Tapmodo Interactive LLC
  * https://github.com/tapmodo/Jcrop
  */
  * https://github.com/tapmodo/Jcrop
  */
-(function(a){a.Jcrop=function(b,c){function h(a){return a+"px"}function i(a){return d.baseClass+"-"+a}function j(){return a.fx.step.hasOwnProperty("backgroundColor")}function k(b){var c=a(b).offset();return[c.left,c.top]}function l(a){return[a.pageX-e[0],a.pageY-e[1]]}function m(b){typeof b!="object"&&(b={}),d=a.extend(d,b),a.each(["onChange","onSelect","onRelease","onDblClick"],function(a,b){typeof d[b]!="function"&&(d[b]=function(){})})}function n(a,b){e=k(E),bd.setCursor(a==="move"?a:a+"-resize");if(a==="move")return bd.activateHandlers(p(b),u);var c=ba.getFixed(),d=q(a),f=ba.getCorner(q(d));ba.setPressed(ba.getCorner(d)),ba.setCurrent(f),bd.activateHandlers(o(a,c),u)}function o(a,b){return function(c){if(!d.aspectRatio)switch(a){case"e":c[1]=b.y2;break;case"w":c[1]=b.y2;break;case"n":c[0]=b.x2;break;case"s":c[0]=b.x2}else switch(a){case"e":c[1]=b.y+1;break;case"w":c[1]=b.y+1;break;case"n":c[0]=b.x+1;break;case"s":c[0]=b.x+1}ba.setCurrent(c),bc.update()}}function p(a){var b=a;return be.watchKeys(),function(
-a){ba.moveOffset([a[0]-b[0],a[1]-b[1]]),b=a,bc.update()}}function q(a){switch(a){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function r(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=k(E),X=!0,n(a,l(b)),b.stopPropagation(),b.preventDefault(),!1)}}function s(a,b,c){var d=a.width(),e=a.height();d>b&&b>0&&(d=b,e=b/a.width()*a.height()),e>c&&c>0&&(e=c,d=c/a.height()*a.width()),U=a.width()/d,V=a.height()/e,a.width(d).height(e)}function t(a){return{x:a.x*U,y:a.y*V,x2:a.x2*U,y2:a.y2*V,w:a.w*U,h:a.h*V}}function u(a){var b=ba.getFixed();b.w>d.minSelect[0]&&b.h>d.minSelect[1]?(bc.enableHandles(),bc.done()):bc.release(),bd.setCursor(d.allowSelect?"crosshair":"default")}function v(a){if(d.disabled)return!1;if(!d.allowSelect)return!1;X=!0,e=k(E),bc.disableHandles(),bd.setCursor("crosshair");var b=l(a);return ba.setPressed(b),bc.update(),bd.activateHandlers(w,u),be.watchKeys(),a.stopPropagation
-(),a.preventDefault(),!1}function w(a){ba.setCurrent(a),bc.update()}function z(){var b=a("<div></div>").addClass(i("tracker"));return a.browser.msie&&b.css({opacity:0,backgroundColor:"white"}),b}function bf(a){H.removeClass().addClass(i("holder")).addClass(a)}function bg(a,b){function t(){window.setTimeout(u,l)}var c=a[0]/U,e=a[1]/V,f=a[2]/U,g=a[3]/V;if(Y)return;var h=ba.flipCoords(c,e,f,g),i=ba.getFixed(),j=[i.x,i.y,i.x2,i.y2],k=j,l=d.animationDelay,m=h[0]-j[0],n=h[1]-j[1],o=h[2]-j[2],p=h[3]-j[3],q=0,r=d.swingSpeed;x=k[0],y=k[1],f=k[2],g=k[3],bc.animMode(!0);var s,u=function(){return function(){q+=(100-q)/r,k[0]=x+q/100*m,k[1]=y+q/100*n,k[2]=f+q/100*o,k[3]=g+q/100*p,q>=99.8&&(q=100),q<100?(bi(k),t()):(bc.done(),typeof b=="function"&&b.call(bt))}}();t()}function bh(a){bi([a[0]/U,a[1]/V,a[2]/U,a[3]/V]),d.onSelect.call(bt,t(ba.getFixed())),bc.enableHandles()}function bi(a){ba.setPressed([a[0],a[1]]),ba.setCurrent([a[2],a[3]]),bc.update()}function bj(){return t(ba.getFixed())}function bk(){return ba.getFixed()}function bl
-(a){m(a),bs()}function bm(){d.disabled=!0,bc.disableHandles(),bc.setCursor("default"),bd.setCursor("default")}function bn(){d.disabled=!1,bs()}function bo(){bc.done(),bd.activateHandlers(null,null)}function bp(){H.remove(),B.show(),a(b).removeData("Jcrop")}function bq(a,b){bc.release(),bm();var c=new Image;c.onload=function(){var e=c.width,f=c.height,g=d.boxWidth,h=d.boxHeight;E.width(e).height(f),E.attr("src",a),I.attr("src",a),s(E,g,h),F=E.width(),G=E.height(),I.width(F).height(G),N.width(F+M*2).height(G+M*2),H.width(F).height(G),bb.resize(F,G),bn(),typeof b=="function"&&b.call(bt)},c.src=a}function br(a,b,c){var e=b||d.bgColor;d.bgFade&&j()&&d.fadeTime&&!c?a.animate({backgroundColor:e},{queue:!1,duration:d.fadeTime}):a.css("backgroundColor",e)}function bs(a){d.allowResize?a?bc.enableOnly():bc.enableHandles():bc.disableHandles(),bd.setCursor(d.allowSelect?"crosshair":"default"),bc.setCursor(d.allowMove?"move":"default"),d.hasOwnProperty("trueSize")&&(U=d.trueSize[0]/F,V=d.trueSize[1]/G),d.hasOwnProperty("setSelect"
-)&&(bh(d.setSelect),bc.done(),delete d.setSelect),bb.refresh(),d.bgColor!=O&&(br(d.shade?bb.getShades():H,d.shade?d.shadeColor||d.bgColor:d.bgColor),O=d.bgColor),P!=d.bgOpacity&&(P=d.bgOpacity,d.shade?bb.refresh():bc.setBgOpacity(P)),Q=d.maxSize[0]||0,R=d.maxSize[1]||0,S=d.minSize[0]||0,T=d.minSize[1]||0,d.hasOwnProperty("outerImage")&&(E.attr("src",d.outerImage),delete d.outerImage),bc.refresh()}var d=a.extend({},a.Jcrop.defaults),e,f,g=!1;a.browser.msie&&a.browser.version.split(".")[0]==="6"&&(g=!0),typeof b!="object"&&(b=a(b)[0]),typeof c!="object"&&(c={}),m(c);var A={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},B=a(b),C=!0;if(b.tagName=="IMG"){if(B[0].width!=0&&B[0].height!=0)B.width(B[0].width),B.height(B[0].height);else{var D=new Image;D.src=B[0].src,B.width(D.width),B.height(D.height)}var E=B.clone().removeAttr("id").css(A).show();E.width(B.width()),E.height(B.height()),B.after(E).hide()}else E=B.css(A).show(),C=!1,d.shade===null&&(d.shade=!0);s(E,d.boxWidth,d.
-boxHeight);var F=E.width(),G=E.height(),H=a("<div />").width(F).height(G).addClass(i("holder")).css({position:"relative",backgroundColor:d.bgColor}).insertAfter(B).append(E);d.addClass&&H.addClass(d.addClass);var I=a("<div />"),J=a("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),K=a("<div />").width("100%").height("100%").css("zIndex",320),L=a("<div />").css({position:"absolute",zIndex:600}).dblclick(function(){var a=ba.getFixed();d.onDblClick.call(bt,a)}).insertBefore(E).append(J,K);C&&(I=a("<img />").attr("src",E.attr("src")).css(A).width(F).height(G),J.append(I)),g&&L.css({overflowY:"hidden"});var M=d.boundary,N=z().width(F+M*2).height(G+M*2).css({position:"absolute",top:h(-M),left:h(-M),zIndex:290}).mousedown(v),O=d.bgColor,P=d.bgOpacity,Q,R,S,T,U,V,W=!0,X,Y,Z;e=k(E);var _=function(){function a(){var a={},b=["touchstart","touchmove","touchend"],c=document.createElement("div"),d;try{for(d=0;d<b.length;d++){var e=b[d];e="on"+e;var f=e in c;f||(c.setAttribute(e,"return;"
-),f=typeof c[e]=="function"),a[b[d]]=f}return a.touchstart&&a.touchend&&a.touchmove}catch(g){return!1}}function b(){return d.touchSupport===!0||d.touchSupport===!1?d.touchSupport:a()}return{createDragger:function(a){return function(b){return b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,d.disabled?!1:a==="move"&&!d.allowMove?!1:(X=!0,n(a,l(b)),b.stopPropagation(),b.preventDefault(),!1)}},newSelection:function(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,v(a)},isSupported:a,support:b()}}(),ba=function(){function h(d){d=n(d),c=a=d[0],e=b=d[1]}function i(a){a=n(a),f=a[0]-c,g=a[1]-e,c=a[0],e=a[1]}function j(){return[f,g]}function k(d){var f=d[0],g=d[1];0>a+f&&(f-=f+a),0>b+g&&(g-=g+b),G<e+g&&(g+=G-(e+g)),F<c+f&&(f+=F-(c+f)),a+=f,c+=f,b+=g,e+=g}function l(a){var b=m();switch(a){case"ne":return[b.x2,b.y];case"nw":return[b.x,b.y];case"se":return[b.x2,b.y2];case"sw":return[b.x,b.y2]}}function m(){if(!d.aspectRatio
-)return p();var f=d.aspectRatio,g=d.minSize[0]/U,h=d.maxSize[0]/U,i=d.maxSize[1]/V,j=c-a,k=e-b,l=Math.abs(j),m=Math.abs(k),n=l/m,r,s,t,u;return h===0&&(h=F*10),i===0&&(i=G*10),n<f?(s=e,t=m*f,r=j<0?a-t:t+a,r<0?(r=0,u=Math.abs((r-a)/f),s=k<0?b-u:u+b):r>F&&(r=F,u=Math.abs((r-a)/f),s=k<0?b-u:u+b)):(r=c,u=l/f,s=k<0?b-u:b+u,s<0?(s=0,t=Math.abs((s-b)*f),r=j<0?a-t:t+a):s>G&&(s=G,t=Math.abs(s-b)*f,r=j<0?a-t:t+a)),r>a?(r-a<g?r=a+g:r-a>h&&(r=a+h),s>b?s=b+(r-a)/f:s=b-(r-a)/f):r<a&&(a-r<g?r=a-g:a-r>h&&(r=a-h),s>b?s=b+(a-r)/f:s=b-(a-r)/f),r<0?(a-=r,r=0):r>F&&(a-=r-F,r=F),s<0?(b-=s,s=0):s>G&&(b-=s-G,s=G),q(o(a,b,r,s))}function n(a){return a[0]<0&&(a[0]=0),a[1]<0&&(a[1]=0),a[0]>F&&(a[0]=F),a[1]>G&&(a[1]=G),[a[0],a[1]]}function o(a,b,c,d){var e=a,f=c,g=b,h=d;return c<a&&(e=c,f=a),d<b&&(g=d,h=b),[e,g,f,h]}function p(){var d=c-a,f=e-b,g;return Q&&Math.abs(d)>Q&&(c=d>0?a+Q:a-Q),R&&Math.abs(f)>R&&(e=f>0?b+R:b-R),T/V&&Math.abs(f)<T/V&&(e=f>0?b+T/V:b-T/V),S/U&&Math.abs(d)<S/U&&(c=d>0?a+S/U:a-S/U),a<0&&(c-=a,a-=a),b<0&&(e-=b,b-=b),c<0&&
-(a-=c,c-=c),e<0&&(b-=e,e-=e),c>F&&(g=c-F,a-=g,c-=g),e>G&&(g=e-G,b-=g,e-=g),a>F&&(g=a-G,e-=g,b-=g),b>G&&(g=b-G,e-=g,b-=g),q(o(a,b,c,e))}function q(a){return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]}}var a=0,b=0,c=0,e=0,f,g;return{flipCoords:o,setPressed:h,setCurrent:i,getOffset:j,moveOffset:k,getCorner:l,getFixed:m}}(),bb=function(){function f(a,b){e.left.css({height:h(b)}),e.right.css({height:h(b)})}function g(){return i(ba.getFixed())}function i(a){e.top.css({left:h(a.x),width:h(a.w),height:h(a.y)}),e.bottom.css({top:h(a.y2),left:h(a.x),width:h(a.w),height:h(G-a.y2)}),e.right.css({left:h(a.x2),width:h(F-a.x2)}),e.left.css({width:h(a.x)})}function j(){return a("<div />").css({position:"absolute",backgroundColor:d.shadeColor||d.bgColor}).appendTo(c)}function k(){b||(b=!0,c.insertBefore(E),g(),bc.setBgOpacity(1,0,1),I.hide(),l(d.shadeColor||d.bgColor,1),bc.isAwake()?n(d.bgOpacity,1):n(1,1))}function l(a,b){br(p(),a,b)}function m(){b&&(c.remove(),I.show(),b=!1,bc.isAwake()?bc.setBgOpacity(d.bgOpacity
-,1,1):(bc.setBgOpacity(1,1,1),bc.disableHandles()),br(H,0,1))}function n(a,e){b&&(d.bgFade&&!e?c.animate({opacity:1-a},{queue:!1,duration:d.fadeTime}):c.css({opacity:1-a}))}function o(){d.shade?k():m(),bc.isAwake()&&n(d.bgOpacity)}function p(){return c.children()}var b=!1,c=a("<div />").css({position:"absolute",zIndex:240,opacity:0}),e={top:j(),left:j().height(G),right:j().height(G),bottom:j()};return{update:g,updateRaw:i,getShades:p,setBgColor:l,enable:k,disable:m,resize:f,refresh:o,opacity:n}}(),bc=function(){function k(b){var c=a("<div />").css({position:"absolute",opacity:d.borderOpacity}).addClass(i(b));return J.append(c),c}function l(b,c){var d=a("<div />").mousedown(r(b)).css({cursor:b+"-resize",position:"absolute",zIndex:c}).addClass("ord-"+b);return _.support&&d.bind("touchstart.jcrop",_.createDragger(b)),K.append(d),d}function m(a){var b=d.handleSize;return l(a,c++).css({opacity:d.handleOpacity}).width(b).height(b).addClass(i("handle"))}function n(a){return l(a,c++).addClass("jcrop-dragbar")}function o
-(a){var b;for(b=0;b<a.length;b++)g[a[b]]=n(a[b])}function p(a){var b,c;for(c=0;c<a.length;c++){switch(a[c]){case"n":b="hline";break;case"s":b="hline bottom";break;case"e":b="vline right";break;case"w":b="vline"}e[a[c]]=k(b)}}function q(a){var b;for(b=0;b<a.length;b++)f[a[b]]=m(a[b])}function s(a,b){d.shade||I.css({top:h(-b),left:h(-a)}),L.css({top:h(b),left:h(a)})}function u(a,b){L.width(a).height(b)}function v(){var a=ba.getFixed();ba.setPressed([a.x,a.y]),ba.setCurrent([a.x2,a.y2]),w()}function w(a){if(b)return x(a)}function x(a){var c=ba.getFixed();u(c.w,c.h),s(c.x,c.y),d.shade&&bb.updateRaw(c),b||A(),a?d.onSelect.call(bt,t(c)):d.onChange.call(bt,t(c))}function y(a,c,e){if(!b&&!c)return;d.bgFade&&!e?E.animate({opacity:a},{queue:!1,duration:d.fadeTime}):E.css("opacity",a)}function A(){L.show(),d.shade?bb.opacity(P):y(P,!0),b=!0}function B(){F(),L.hide(),d.shade?bb.opacity(1):y(1),b=!1,d.onRelease.call(bt)}function C(){j&&K.show()}function D(){j=!0;if(d.allowResize)return K.show(),!0}function F(){j=!1,K.hide(
-)}function G(a){Y===a?F():D()}function H(){G(!1),v()}var b,c=370,e={},f={},g={},j=!1;d.dragEdges&&a.isArray(d.createDragbars)&&o(d.createDragbars),a.isArray(d.createHandles)&&q(d.createHandles),d.drawBorders&&a.isArray(d.createBorders)&&p(d.createBorders),a(document).bind("touchstart.jcrop-ios",function(b){a(b.currentTarget).hasClass("jcrop-tracker")&&b.stopPropagation()});var M=z().mousedown(r("move")).css({cursor:"move",position:"absolute",zIndex:360});return _.support&&M.bind("touchstart.jcrop",_.createDragger("move")),J.append(M),F(),{updateVisible:w,update:x,release:B,refresh:v,isAwake:function(){return b},setCursor:function(a){M.css("cursor",a)},enableHandles:D,enableOnly:function(){j=!0},showHandles:C,disableHandles:F,animMode:G,setBgOpacity:y,done:H}}(),bd=function(){function f(){N.css({zIndex:450}),_.support&&a(document).bind("touchmove.jcrop",k).bind("touchend.jcrop",m),e&&a(document).bind("mousemove.jcrop",h).bind("mouseup.jcrop",i)}function g(){N.css({zIndex:290}),a(document).unbind(".jcrop")}function h
-(a){return b(l(a)),!1}function i(a){return a.preventDefault(),a.stopPropagation(),X&&(X=!1,c(l(a)),bc.isAwake()&&d.onSelect.call(bt,t(ba.getFixed())),g(),b=function(){},c=function(){}),!1}function j(a,d){return X=!0,b=a,c=d,f(),!1}function k(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,h(a)}function m(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,i(a)}function n(a){N.css("cursor",a)}var b=function(){},c=function(){},e=d.trackDocument;return e||N.mousemove(h).mouseup(i).mouseout(i),E.before(N),{activateHandlers:j,setCursor:n}}(),be=function(){function e(){d.keySupport&&(b.show(),b.focus())}function f(a){b.hide()}function h(a,b,c){d.allowMove&&(ba.moveOffset([b,c]),bc.updateVisible(!0)),a.preventDefault(),a.stopPropagation()}function i(a){if(a.ctrlKey||a.metaKey)return!0;Z=a.shiftKey?!0:!1;var b=Z?10:1;switch(a.keyCode){case 37:h(a,-b,0);break;case 39:h(a,b,0);break;case 38:h(a,0,-b);break;case 40
-:h(a,0,b);break;case 27:d.allowSelect&&bc.release();break;case 9:return!0}return!1}var b=a('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}),c=a("<div />").css({position:"absolute",overflow:"hidden"}).append(b);return d.keySupport&&(b.keydown(i).blur(f),g||!d.fixedSupport?(b.css({position:"absolute",left:"-20px"}),c.append(b).insertBefore(E)):b.insertBefore(E)),{watchKeys:e}}();_.support&&N.bind("touchstart.jcrop",_.newSelection),K.hide(),bs(!0);var bt={setImage:bq,animateTo:bg,setSelect:bh,setOptions:bl,tellSelect:bj,tellScaled:bk,setClass:bf,disable:bm,enable:bn,cancel:bo,release:bc.release,destroy:bp,focus:be.watchKeys,getBounds:function(){return[F*U,G*V]},getWidgetSize:function(){return[F,G]},getScaleFactor:function(){return[U,V]},getOptions:function(){return d},ui:{holder:H,selection:L}};return a.browser.msie&&H.bind("selectstart",function(){return!1}),B.data("Jcrop",bt),bt},a.fn.Jcrop=function(b,c){var d;return this.each(function(){if(a(this).data("Jcrop")){if(b==="api")return a
-(this).data("Jcrop");a(this).data("Jcrop").setOptions(b)}else this.tagName=="IMG"?a.Jcrop.Loader(this,function(){a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d)}):(a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d))}),this},a.Jcrop.Loader=function(b,c,d){function g(){f.complete?(e.unbind(".jcloader"),a.isFunction(c)&&c.call(f)):window.setTimeout(g,50)}var e=a(b),f=e[0];e.bind("load.jcloader",g).bind("error.jcloader",function(b){e.unbind(".jcloader"),a.isFunction(d)&&d.call(f)}),f.complete&&a.isFunction(c)&&(e.unbind(".jcloader"),c.call(f))},a.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:7,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges:!0,fixedSupport:!0,
-touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}})(jQuery);
\ No newline at end of file
+(function(a){a.Jcrop=function(b,c){function i(a){return Math.round(a)+"px"}function j(a){return d.baseClass+"-"+a}function k(){return a.fx.step.hasOwnProperty("backgroundColor")}function l(b){var c=a(b).offset();return[c.left,c.top]}function m(a){return[a.pageX-e[0],a.pageY-e[1]]}function n(b){typeof b!="object"&&(b={}),d=a.extend(d,b),a.each(["onChange","onSelect","onRelease","onDblClick"],function(a,b){typeof d[b]!="function"&&(d[b]=function(){})})}function o(a,b,c){e=l(D),bc.setCursor(a==="move"?a:a+"-resize");if(a==="move")return bc.activateHandlers(q(b),v,c);var d=_.getFixed(),f=r(a),g=_.getCorner(r(f));_.setPressed(_.getCorner(f)),_.setCurrent(g),bc.activateHandlers(p(a,d),v,c)}function p(a,b){return function(c){if(!d.aspectRatio)switch(a){case"e":c[1]=b.y2;break;case"w":c[1]=b.y2;break;case"n":c[0]=b.x2;break;case"s":c[0]=b.x2}else switch(a){case"e":c[1]=b.y+1;break;case"w":c[1]=b.y+1;break;case"n":c[0]=b.x+1;break;case"s":c[0]=b.x+1}_.setCurrent(c),bb.update()}}function q(a){var b=a;return bd.watchKeys
+(),function(a){_.moveOffset([a[0]-b[0],a[1]-b[1]]),b=a,bb.update()}}function r(a){switch(a){case"n":return"sw";case"s":return"nw";case"e":return"nw";case"w":return"ne";case"ne":return"sw";case"nw":return"se";case"se":return"nw";case"sw":return"ne"}}function s(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(b)),b.stopPropagation(),b.preventDefault(),!1)}}function t(a,b,c){var d=a.width(),e=a.height();d>b&&b>0&&(d=b,e=b/a.width()*a.height()),e>c&&c>0&&(e=c,d=c/a.height()*a.width()),T=a.width()/d,U=a.height()/e,a.width(d).height(e)}function u(a){return{x:a.x*T,y:a.y*U,x2:a.x2*T,y2:a.y2*U,w:a.w*T,h:a.h*U}}function v(a){var b=_.getFixed();b.w>d.minSelect[0]&&b.h>d.minSelect[1]?(bb.enableHandles(),bb.done()):bb.release(),bc.setCursor(d.allowSelect?"crosshair":"default")}function w(a){if(d.disabled)return!1;if(!d.allowSelect)return!1;W=!0,e=l(D),bb.disableHandles(),bc.setCursor("crosshair");var b=m(a);return _.setPressed(b),bb.update(),bc.activateHandlers(x,v,a.type.substring
+(0,5)==="touch"),bd.watchKeys(),a.stopPropagation(),a.preventDefault(),!1}function x(a){_.setCurrent(a),bb.update()}function y(){var b=a("<div></div>").addClass(j("tracker"));return g&&b.css({opacity:0,backgroundColor:"white"}),b}function be(a){G.removeClass().addClass(j("holder")).addClass(a)}function bf(a,b){function t(){window.setTimeout(u,l)}var c=a[0]/T,e=a[1]/U,f=a[2]/T,g=a[3]/U;if(X)return;var h=_.flipCoords(c,e,f,g),i=_.getFixed(),j=[i.x,i.y,i.x2,i.y2],k=j,l=d.animationDelay,m=h[0]-j[0],n=h[1]-j[1],o=h[2]-j[2],p=h[3]-j[3],q=0,r=d.swingSpeed;c=k[0],e=k[1],f=k[2],g=k[3],bb.animMode(!0);var s,u=function(){return function(){q+=(100-q)/r,k[0]=Math.round(c+q/100*m),k[1]=Math.round(e+q/100*n),k[2]=Math.round(f+q/100*o),k[3]=Math.round(g+q/100*p),q>=99.8&&(q=100),q<100?(bh(k),t()):(bb.done(),bb.animMode(!1),typeof b=="function"&&b.call(bs))}}();t()}function bg(a){bh([a[0]/T,a[1]/U,a[2]/T,a[3]/U]),d.onSelect.call(bs,u(_.getFixed())),bb.enableHandles()}function bh(a){_.setPressed([a[0],a[1]]),_.setCurrent([a[2],
+a[3]]),bb.update()}function bi(){return u(_.getFixed())}function bj(){return _.getFixed()}function bk(a){n(a),br()}function bl(){d.disabled=!0,bb.disableHandles(),bb.setCursor("default"),bc.setCursor("default")}function bm(){d.disabled=!1,br()}function bn(){bb.done(),bc.activateHandlers(null,null)}function bo(){G.remove(),A.show(),A.css("visibility","visible"),a(b).removeData("Jcrop")}function bp(a,b){bb.release(),bl();var c=new Image;c.onload=function(){var e=c.width,f=c.height,g=d.boxWidth,h=d.boxHeight;D.width(e).height(f),D.attr("src",a),H.attr("src",a),t(D,g,h),E=D.width(),F=D.height(),H.width(E).height(F),M.width(E+L*2).height(F+L*2),G.width(E).height(F),ba.resize(E,F),bm(),typeof b=="function"&&b.call(bs)},c.src=a}function bq(a,b,c){var e=b||d.bgColor;d.bgFade&&k()&&d.fadeTime&&!c?a.animate({backgroundColor:e},{queue:!1,duration:d.fadeTime}):a.css("backgroundColor",e)}function br(a){d.allowResize?a?bb.enableOnly():bb.enableHandles():bb.disableHandles(),bc.setCursor(d.allowSelect?"crosshair":"default"),bb
+.setCursor(d.allowMove?"move":"default"),d.hasOwnProperty("trueSize")&&(T=d.trueSize[0]/E,U=d.trueSize[1]/F),d.hasOwnProperty("setSelect")&&(bg(d.setSelect),bb.done(),delete d.setSelect),ba.refresh(),d.bgColor!=N&&(bq(d.shade?ba.getShades():G,d.shade?d.shadeColor||d.bgColor:d.bgColor),N=d.bgColor),O!=d.bgOpacity&&(O=d.bgOpacity,d.shade?ba.refresh():bb.setBgOpacity(O)),P=d.maxSize[0]||0,Q=d.maxSize[1]||0,R=d.minSize[0]||0,S=d.minSize[1]||0,d.hasOwnProperty("outerImage")&&(D.attr("src",d.outerImage),delete d.outerImage),bb.refresh()}var d=a.extend({},a.Jcrop.defaults),e,f=navigator.userAgent.toLowerCase(),g=/msie/.test(f),h=/msie [1-6]\./.test(f);typeof b!="object"&&(b=a(b)[0]),typeof c!="object"&&(c={}),n(c);var z={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},A=a(b),B=!0;if(b.tagName=="IMG"){if(A[0].width!=0&&A[0].height!=0)A.width(A[0].width),A.height(A[0].height);else{var C=new Image;C.src=A[0].src,A.width(C.width),A.height(C.height)}var D=A.clone().removeAttr("id").
+css(z).show();D.width(A.width()),D.height(A.height()),A.after(D).hide()}else D=A.css(z).show(),B=!1,d.shade===null&&(d.shade=!0);t(D,d.boxWidth,d.boxHeight);var E=D.width(),F=D.height(),G=a("<div />").width(E).height(F).addClass(j("holder")).css({position:"relative",backgroundColor:d.bgColor}).insertAfter(A).append(D);d.addClass&&G.addClass(d.addClass);var H=a("<div />"),I=a("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),J=a("<div />").width("100%").height("100%").css("zIndex",320),K=a("<div />").css({position:"absolute",zIndex:600}).dblclick(function(){var a=_.getFixed();d.onDblClick.call(bs,a)}).insertBefore(D).append(I,J);B&&(H=a("<img />").attr("src",D.attr("src")).css(z).width(E).height(F),I.append(H)),h&&K.css({overflowY:"hidden"});var L=d.boundary,M=y().width(E+L*2).height(F+L*2).css({position:"absolute",top:i(-L),left:i(-L),zIndex:290}).mousedown(w),N=d.bgColor,O=d.bgOpacity,P,Q,R,S,T,U,V=!0,W,X,Y;e=l(D);var Z=function(){function a(){var a={},b=["touchstart"
+,"touchmove","touchend"],c=document.createElement("div"),d;try{for(d=0;d<b.length;d++){var e=b[d];e="on"+e;var f=e in c;f||(c.setAttribute(e,"return;"),f=typeof c[e]=="function"),a[b[d]]=f}return a.touchstart&&a.touchend&&a.touchmove}catch(g){return!1}}function b(){return d.touchSupport===!0||d.touchSupport===!1?d.touchSupport:a()}return{createDragger:function(a){return function(b){return d.disabled?!1:a==="move"&&!d.allowMove?!1:(e=l(D),W=!0,o(a,m(Z.cfilter(b)),!0),b.stopPropagation(),b.preventDefault(),!1)}},newSelection:function(a){return w(Z.cfilter(a))},cfilter:function(a){return a.pageX=a.originalEvent.changedTouches[0].pageX,a.pageY=a.originalEvent.changedTouches[0].pageY,a},isSupported:a,support:b()}}(),_=function(){function h(d){d=n(d),c=a=d[0],e=b=d[1]}function i(a){a=n(a),f=a[0]-c,g=a[1]-e,c=a[0],e=a[1]}function j(){return[f,g]}function k(d){var f=d[0],g=d[1];0>a+f&&(f-=f+a),0>b+g&&(g-=g+b),F<e+g&&(g+=F-(e+g)),E<c+f&&(f+=E-(c+f)),a+=f,c+=f,b+=g,e+=g}function l(a){var b=m();switch(a){case"ne":return[
+b.x2,b.y];case"nw":return[b.x,b.y];case"se":return[b.x2,b.y2];case"sw":return[b.x,b.y2]}}function m(){if(!d.aspectRatio)return p();var f=d.aspectRatio,g=d.minSize[0]/T,h=d.maxSize[0]/T,i=d.maxSize[1]/U,j=c-a,k=e-b,l=Math.abs(j),m=Math.abs(k),n=l/m,r,s,t,u;return h===0&&(h=E*10),i===0&&(i=F*10),n<f?(s=e,t=m*f,r=j<0?a-t:t+a,r<0?(r=0,u=Math.abs((r-a)/f),s=k<0?b-u:u+b):r>E&&(r=E,u=Math.abs((r-a)/f),s=k<0?b-u:u+b)):(r=c,u=l/f,s=k<0?b-u:b+u,s<0?(s=0,t=Math.abs((s-b)*f),r=j<0?a-t:t+a):s>F&&(s=F,t=Math.abs(s-b)*f,r=j<0?a-t:t+a)),r>a?(r-a<g?r=a+g:r-a>h&&(r=a+h),s>b?s=b+(r-a)/f:s=b-(r-a)/f):r<a&&(a-r<g?r=a-g:a-r>h&&(r=a-h),s>b?s=b+(a-r)/f:s=b-(a-r)/f),r<0?(a-=r,r=0):r>E&&(a-=r-E,r=E),s<0?(b-=s,s=0):s>F&&(b-=s-F,s=F),q(o(a,b,r,s))}function n(a){return a[0]<0&&(a[0]=0),a[1]<0&&(a[1]=0),a[0]>E&&(a[0]=E),a[1]>F&&(a[1]=F),[Math.round(a[0]),Math.round(a[1])]}function o(a,b,c,d){var e=a,f=c,g=b,h=d;return c<a&&(e=c,f=a),d<b&&(g=d,h=b),[e,g,f,h]}function p(){var d=c-a,f=e-b,g;return P&&Math.abs(d)>P&&(c=d>0?a+P:a-P),Q&&Math.abs
+(f)>Q&&(e=f>0?b+Q:b-Q),S/U&&Math.abs(f)<S/U&&(e=f>0?b+S/U:b-S/U),R/T&&Math.abs(d)<R/T&&(c=d>0?a+R/T:a-R/T),a<0&&(c-=a,a-=a),b<0&&(e-=b,b-=b),c<0&&(a-=c,c-=c),e<0&&(b-=e,e-=e),c>E&&(g=c-E,a-=g,c-=g),e>F&&(g=e-F,b-=g,e-=g),a>E&&(g=a-F,e-=g,b-=g),b>F&&(g=b-F,e-=g,b-=g),q(o(a,b,c,e))}function q(a){return{x:a[0],y:a[1],x2:a[2],y2:a[3],w:a[2]-a[0],h:a[3]-a[1]}}var a=0,b=0,c=0,e=0,f,g;return{flipCoords:o,setPressed:h,setCurrent:i,getOffset:j,moveOffset:k,getCorner:l,getFixed:m}}(),ba=function(){function f(a,b){e.left.css({height:i(b)}),e.right.css({height:i(b)})}function g(){return h(_.getFixed())}function h(a){e.top.css({left:i(a.x),width:i(a.w),height:i(a.y)}),e.bottom.css({top:i(a.y2),left:i(a.x),width:i(a.w),height:i(F-a.y2)}),e.right.css({left:i(a.x2),width:i(E-a.x2)}),e.left.css({width:i(a.x)})}function j(){return a("<div />").css({position:"absolute",backgroundColor:d.shadeColor||d.bgColor}).appendTo(c)}function k(){b||(b=!0,c.insertBefore(D),g(),bb.setBgOpacity(1,0,1),H.hide(),l(d.shadeColor||d.bgColor,1),bb.
+isAwake()?n(d.bgOpacity,1):n(1,1))}function l(a,b){bq(p(),a,b)}function m(){b&&(c.remove(),H.show(),b=!1,bb.isAwake()?bb.setBgOpacity(d.bgOpacity,1,1):(bb.setBgOpacity(1,1,1),bb.disableHandles()),bq(G,0,1))}function n(a,e){b&&(d.bgFade&&!e?c.animate({opacity:1-a},{queue:!1,duration:d.fadeTime}):c.css({opacity:1-a}))}function o(){d.shade?k():m(),bb.isAwake()&&n(d.bgOpacity)}function p(){return c.children()}var b=!1,c=a("<div />").css({position:"absolute",zIndex:240,opacity:0}),e={top:j(),left:j().height(F),right:j().height(F),bottom:j()};return{update:g,updateRaw:h,getShades:p,setBgColor:l,enable:k,disable:m,resize:f,refresh:o,opacity:n}}(),bb=function(){function k(b){var c=a("<div />").css({position:"absolute",opacity:d.borderOpacity}).addClass(j(b));return I.append(c),c}function l(b,c){var d=a("<div />").mousedown(s(b)).css({cursor:b+"-resize",position:"absolute",zIndex:c}).addClass("ord-"+b);return Z.support&&d.bind("touchstart.jcrop",Z.createDragger(b)),J.append(d),d}function m(a){var b=d.handleSize,e=l(a,c++
+).css({opacity:d.handleOpacity}).addClass(j("handle"));return b&&e.width(b).height(b),e}function n(a){return l(a,c++).addClass("jcrop-dragbar")}function o(a){var b;for(b=0;b<a.length;b++)g[a[b]]=n(a[b])}function p(a){var b,c;for(c=0;c<a.length;c++){switch(a[c]){case"n":b="hline";break;case"s":b="hline bottom";break;case"e":b="vline right";break;case"w":b="vline"}e[a[c]]=k(b)}}function q(a){var b;for(b=0;b<a.length;b++)f[a[b]]=m(a[b])}function r(a,b){d.shade||H.css({top:i(-b),left:i(-a)}),K.css({top:i(b),left:i(a)})}function t(a,b){K.width(Math.round(a)).height(Math.round(b))}function v(){var a=_.getFixed();_.setPressed([a.x,a.y]),_.setCurrent([a.x2,a.y2]),w()}function w(a){if(b)return x(a)}function x(a){var c=_.getFixed();t(c.w,c.h),r(c.x,c.y),d.shade&&ba.updateRaw(c),b||A(),a?d.onSelect.call(bs,u(c)):d.onChange.call(bs,u(c))}function z(a,c,e){if(!b&&!c)return;d.bgFade&&!e?D.animate({opacity:a},{queue:!1,duration:d.fadeTime}):D.css("opacity",a)}function A(){K.show(),d.shade?ba.opacity(O):z(O,!0),b=!0}function B
+(){F(),K.hide(),d.shade?ba.opacity(1):z(1),b=!1,d.onRelease.call(bs)}function C(){h&&J.show()}function E(){h=!0;if(d.allowResize)return J.show(),!0}function F(){h=!1,J.hide()}function G(a){a?(X=!0,F()):(X=!1,E())}function L(){G(!1),v()}var b,c=370,e={},f={},g={},h=!1;d.dragEdges&&a.isArray(d.createDragbars)&&o(d.createDragbars),a.isArray(d.createHandles)&&q(d.createHandles),d.drawBorders&&a.isArray(d.createBorders)&&p(d.createBorders),a(document).bind("touchstart.jcrop-ios",function(b){a(b.currentTarget).hasClass("jcrop-tracker")&&b.stopPropagation()});var M=y().mousedown(s("move")).css({cursor:"move",position:"absolute",zIndex:360});return Z.support&&M.bind("touchstart.jcrop",Z.createDragger("move")),I.append(M),F(),{updateVisible:w,update:x,release:B,refresh:v,isAwake:function(){return b},setCursor:function(a){M.css("cursor",a)},enableHandles:E,enableOnly:function(){h=!0},showHandles:C,disableHandles:F,animMode:G,setBgOpacity:z,done:L}}(),bc=function(){function f(b){M.css({zIndex:450}),b?a(document).bind("touchmove.jcrop"
+,k).bind("touchend.jcrop",l):e&&a(document).bind("mousemove.jcrop",h).bind("mouseup.jcrop",i)}function g(){M.css({zIndex:290}),a(document).unbind(".jcrop")}function h(a){return b(m(a)),!1}function i(a){return a.preventDefault(),a.stopPropagation(),W&&(W=!1,c(m(a)),bb.isAwake()&&d.onSelect.call(bs,u(_.getFixed())),g(),b=function(){},c=function(){}),!1}function j(a,d,e){return W=!0,b=a,c=d,f(e),!1}function k(a){return b(m(Z.cfilter(a))),!1}function l(a){return i(Z.cfilter(a))}function n(a){M.css("cursor",a)}var b=function(){},c=function(){},e=d.trackDocument;return e||M.mousemove(h).mouseup(i).mouseout(i),D.before(M),{activateHandlers:j,setCursor:n}}(),bd=function(){function e(){d.keySupport&&(b.show(),b.focus())}function f(a){b.hide()}function g(a,b,c){d.allowMove&&(_.moveOffset([b,c]),bb.updateVisible(!0)),a.preventDefault(),a.stopPropagation()}function i(a){if(a.ctrlKey||a.metaKey)return!0;Y=a.shiftKey?!0:!1;var b=Y?10:1;switch(a.keyCode){case 37:g(a,-b,0);break;case 39:g(a,b,0);break;case 38:g(a,0,-b);break;
+case 40:g(a,0,b);break;case 27:d.allowSelect&&bb.release();break;case 9:return!0}return!1}var b=a('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}).addClass("jcrop-keymgr"),c=a("<div />").css({position:"absolute",overflow:"hidden"}).append(b);return d.keySupport&&(b.keydown(i).blur(f),h||!d.fixedSupport?(b.css({position:"absolute",left:"-20px"}),c.append(b).insertBefore(D)):b.insertBefore(D)),{watchKeys:e}}();Z.support&&M.bind("touchstart.jcrop",Z.newSelection),J.hide(),br(!0);var bs={setImage:bp,animateTo:bf,setSelect:bg,setOptions:bk,tellSelect:bi,tellScaled:bj,setClass:be,disable:bl,enable:bm,cancel:bn,release:bb.release,destroy:bo,focus:bd.watchKeys,getBounds:function(){return[E*T,F*U]},getWidgetSize:function(){return[E,F]},getScaleFactor:function(){return[T,U]},getOptions:function(){return d},ui:{holder:G,selection:K}};return g&&G.bind("selectstart",function(){return!1}),A.data("Jcrop",bs),bs},a.fn.Jcrop=function(b,c){var d;return this.each(function(){if(a(this).data("Jcrop")){if(
+b==="api")return a(this).data("Jcrop");a(this).data("Jcrop").setOptions(b)}else this.tagName=="IMG"?a.Jcrop.Loader(this,function(){a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d)}):(a(this).css({display:"block",visibility:"hidden"}),d=a.Jcrop(this,b),a.isFunction(c)&&c.call(d))}),this},a.Jcrop.Loader=function(b,c,d){function g(){f.complete?(e.unbind(".jcloader"),a.isFunction(c)&&c.call(f)):window.setTimeout(g,50)}var e=a(b),f=e[0];e.bind("load.jcloader",g).bind("error.jcloader",function(b){e.unbind(".jcloader"),a.isFunction(d)&&d.call(f)}),f.complete&&a.isFunction(c)&&(e.unbind(".jcloader"),c.call(f))},a.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:null,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges
+:!0,fixedSupport:!0,touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}})(jQuery);
index d0cb23c238bd68061a5b11d4da1ba6f885ca348d..7ea5bd605123a3f00ae99754b057798bcb4ea856 100644 (file)
 /*!
  * jQuery Form Plugin
 /*!
  * jQuery Form Plugin
- * version: 2.73 (03-MAY-2011)
- * @requires jQuery v1.3.2 or later
- *
+ * version: 3.37.0-2013.07.11
+ * @requires jQuery v1.5 or later
+ * Copyright (c) 2013 M. Alsup
  * Examples and documentation at: http://malsup.com/jquery/form/
  * Examples and documentation at: http://malsup.com/jquery/form/
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
+ * Project repository: https://github.com/malsup/form
+ * Dual licensed under the MIT and GPL licenses.
+ * https://github.com/malsup/form#copyright-and-license
  */
  */
+/*global ActiveXObject */
 ;(function($) {
 ;(function($) {
+"use strict";
 
 /*
 
 /*
-       Usage Note:
-       -----------
-       Do not use both ajaxSubmit and ajaxForm on the same form.  These
-       functions are intended to be exclusive.  Use ajaxSubmit if you want
-       to bind your own submit handler to the form.  For example,
-
-       $(document).ready(function() {
-               $('#myForm').bind('submit', function(e) {
-                       e.preventDefault(); // <-- important
-                       $(this).ajaxSubmit({
-                               target: '#output'
-                       });
-               });
-       });
-
-       Use ajaxForm when you want the plugin to manage all the event binding
-       for you.  For example,
-
-       $(document).ready(function() {
-               $('#myForm').ajaxForm({
-                       target: '#output'
-               });
-       });
-
-       When using ajaxForm, the ajaxSubmit function will be invoked for you
-       at the appropriate time.
+    Usage Note:
+    -----------
+    Do not use both ajaxSubmit and ajaxForm on the same form.  These
+    functions are mutually exclusive.  Use ajaxSubmit if you want
+    to bind your own submit handler to the form.  For example,
+
+    $(document).ready(function() {
+        $('#myForm').on('submit', function(e) {
+            e.preventDefault(); // <-- important
+            $(this).ajaxSubmit({
+                target: '#output'
+            });
+        });
+    });
+
+    Use ajaxForm when you want the plugin to manage all the event binding
+    for you.  For example,
+
+    $(document).ready(function() {
+        $('#myForm').ajaxForm({
+            target: '#output'
+        });
+    });
+
+    You can also use ajaxForm with delegation (requires jQuery v1.7+), so the
+    form does not have to exist when you invoke ajaxForm:
+
+    $('#myForm').ajaxForm({
+        delegation: true,
+        target: '#output'
+    });
+
+    When using ajaxForm, the ajaxSubmit function will be invoked for you
+    at the appropriate time.
 */
 
 */
 
+/**
+ * Feature detection
+ */
+var feature = {};
+feature.fileapi = $("<input type='file'/>").get(0).files !== undefined;
+feature.formdata = window.FormData !== undefined;
+
+var hasProp = !!$.fn.prop;
+
+// attr2 uses prop when it can but checks the return type for
+// an expected string.  this accounts for the case where a form 
+// contains inputs with names like "action" or "method"; in those
+// cases "prop" returns the element
+$.fn.attr2 = function() {
+    if ( ! hasProp )
+        return this.attr.apply(this, arguments);
+    var val = this.prop.apply(this, arguments);
+    if ( ( val && val.jquery ) || typeof val === 'string' )
+        return val;
+    return this.attr.apply(this, arguments);
+};
+
 /**
  * ajaxSubmit() provides a mechanism for immediately submitting
  * an HTML form using AJAX.
  */
 $.fn.ajaxSubmit = function(options) {
 /**
  * ajaxSubmit() provides a mechanism for immediately submitting
  * an HTML form using AJAX.
  */
 $.fn.ajaxSubmit = function(options) {
-       // fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
-       if (!this.length) {
-               log('ajaxSubmit: skipping submit process - no element selected');
-               return this;
-       }
-
-       if (typeof options == 'function') {
-               options = { success: options };
-       }
-
-       var action = this.attr('action');
-       var url = (typeof action === 'string') ? $.trim(action) : '';
-       if (url) {
-               // clean url (don't include hash vaue)
-               url = (url.match(/^([^#]+)/)||[])[1];
-       }
-       url = url || window.location.href || '';
-
-       options = $.extend(true, {
-               url:  url,
-               success: $.ajaxSettings.success,
-               type: this[0].getAttribute('method') || 'GET', // IE7 massage (see issue 57)
-               iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
-       }, options);
-
-       // hook for manipulating the form data before it is extracted;
-       // convenient for use with rich editors like tinyMCE or FCKEditor
-       var veto = {};
-       this.trigger('form-pre-serialize', [this, options, veto]);
-       if (veto.veto) {
-               log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
-               return this;
-       }
-
-       // provide opportunity to alter form data before it is serialized
-       if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
-               log('ajaxSubmit: submit aborted via beforeSerialize callback');
-               return this;
-       }
-
-       var n,v,a = this.formToArray(options.semantic);
-       if (options.data) {
-               options.extraData = options.data;
-               for (n in options.data) {
-                       if(options.data[n] instanceof Array) {
-                               for (var k in options.data[n]) {
-                                       a.push( { name: n, value: options.data[n][k] } );
-                               }
-                       }
-                       else {
-                               v = options.data[n];
-                               v = $.isFunction(v) ? v() : v; // if value is fn, invoke it
-                               a.push( { name: n, value: v } );
-                       }
-               }
-       }
-
-       // give pre-submit callback an opportunity to abort the submit
-       if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
-               log('ajaxSubmit: submit aborted via beforeSubmit callback');
-               return this;
-       }
-
-       // fire vetoable 'validate' event
-       this.trigger('form-submit-validate', [a, this, options, veto]);
-       if (veto.veto) {
-               log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
-               return this;
-       }
-
-       var q = $.param(a);
-
-       if (options.type.toUpperCase() == 'GET') {
-               options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
-               options.data = null;  // data is null for 'get'
-       }
-       else {
-               options.data = q; // data is the query string for 'post'
-       }
-
-       var $form = this, callbacks = [];
-       if (options.resetForm) {
-               callbacks.push(function() { $form.resetForm(); });
-       }
-       if (options.clearForm) {
-               callbacks.push(function() { $form.clearForm(); });
-       }
-
-       // perform a load on the target only if dataType is not provided
-       if (!options.dataType && options.target) {
-               var oldSuccess = options.success || function(){};
-               callbacks.push(function(data) {
-                       var fn = options.replaceTarget ? 'replaceWith' : 'html';
-                       $(options.target)[fn](data).each(oldSuccess, arguments);
-               });
-       }
-       else if (options.success) {
-               callbacks.push(options.success);
-       }
-
-       options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
-               var context = options.context || options;   // jQuery 1.4+ supports scope context
-               for (var i=0, max=callbacks.length; i < max; i++) {
-                       callbacks[i].apply(context, [data, status, xhr || $form, $form]);
-               }
-       };
-
-       // are there files to upload?
-       var fileInputs = $('input:file', this).length > 0;
-       var mp = 'multipart/form-data';
-       var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
-
-       // options.iframe allows user to force iframe mode
-       // 06-NOV-09: now defaulting to iframe mode if file input is detected
-   if (options.iframe !== false && (fileInputs || options.iframe || multipart)) {
-          // hack to fix Safari hang (thanks to Tim Molendijk for this)
-          // see:  http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
-          if (options.closeKeepAlive) {
-                  $.get(options.closeKeepAlive, fileUpload);
-               }
-          else {
-                  fileUpload();
-               }
-   }
-   else {
-               $.ajax(options);
-   }
-
-       // fire 'notify' event
-       this.trigger('form-submit-notify', [this, options]);
-       return this;
-
-
-       // private function for handling file uploads (hat tip to YAHOO!)
-       function fileUpload() {
-               var form = $form[0];
-
-               if ($(':input[name=submit],:input[id=submit]', form).length) {
-                       // if there is an input with a name or id of 'submit' then we won't be
-                       // able to invoke the submit fn on the form (at least not x-browser)
-                       alert('Error: Form elements must not have name or id of "submit".');
-                       return;
-               }
-
-               var s = $.extend(true, {}, $.ajaxSettings, options);
-               s.context = s.context || s;
-               var id = 'jqFormIO' + (new Date().getTime()), fn = '_'+id;
-               var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ s.iframeSrc +'" />');
-               var io = $io[0];
-
-               $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
-
-               var xhr = { // mock object
-                       aborted: 0,
-                       responseText: null,
-                       responseXML: null,
-                       status: 0,
-                       statusText: 'n/a',
-                       getAllResponseHeaders: function() {},
-                       getResponseHeader: function() {},
-                       setRequestHeader: function() {},
-                       abort: function(status) {
-                               var e = (status === 'timeout' ? 'timeout' : 'aborted');
-                               log('aborting upload... ' + e);
-                               this.aborted = 1;
-                               $io.attr('src', s.iframeSrc); // abort op in progress
-                               xhr.error = e;
-                               s.error && s.error.call(s.context, xhr, e, e);
-                               g && $.event.trigger("ajaxError", [xhr, s, e]);
-                               s.complete && s.complete.call(s.context, xhr, e);
-                       }
-               };
-
-               var g = s.global;
-               // trigger ajax global events so that activity/block indicators work like normal
-               if (g && ! $.active++) {
-                       $.event.trigger("ajaxStart");
-               }
-               if (g) {
-                       $.event.trigger("ajaxSend", [xhr, s]);
-               }
-
-               if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
-                       if (s.global) {
-                               $.active--;
-                       }
-                       return;
-               }
-               if (xhr.aborted) {
-                       return;
-               }
-
-               var timedOut = 0, timeoutHandle;
-
-               // add submitting element to data if we know it
-               var sub = form.clk;
-               if (sub) {
-                       var n = sub.name;
-                       if (n && !sub.disabled) {
-                               s.extraData = s.extraData || {};
-                               s.extraData[n] = sub.value;
-                               if (sub.type == "image") {
-                                       s.extraData[n+'.x'] = form.clk_x;
-                                       s.extraData[n+'.y'] = form.clk_y;
-                               }
-                       }
-               }
-
-               // take a breath so that pending repaints get some cpu time before the upload starts
-               function doSubmit() {
-                       // make sure form attrs are set
-                       var t = $form.attr('target'), a = $form.attr('action');
-
-                       // update form attrs in IE friendly way
-                       form.setAttribute('target',id);
-                       if (form.getAttribute('method') != 'POST') {
-                               form.setAttribute('method', 'POST');
-                       }
-                       if (form.getAttribute('action') != s.url) {
-                               form.setAttribute('action', s.url);
-                       }
-
-                       // ie borks in some cases when setting encoding
-                       if (! s.skipEncodingOverride) {
-                               $form.attr({
-                                       encoding: 'multipart/form-data',
-                                       enctype:  'multipart/form-data'
-                               });
-                       }
-
-                       // support timout
-                       if (s.timeout) {
-                               timeoutHandle = setTimeout(function() { timedOut = true; cb(true); }, s.timeout);
-                       }
-
-                       // add "extra" data to form if provided in options
-                       var extraInputs = [];
-                       try {
-                               if (s.extraData) {
-                                       for (var n in s.extraData) {
-                                               extraInputs.push(
-                                                       $('<input type="hidden" name="'+n+'" value="'+s.extraData[n]+'" />')
-                                                               .appendTo(form)[0]);
-                                       }
-                               }
-
-                               // add iframe to doc and submit the form
-                               $io.appendTo('body');
-                io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
-                               form.submit();
-                       }
-                       finally {
-                               // reset attrs and remove "extra" input elements
-                               form.setAttribute('action',a);
-                               if(t) {
-                                       form.setAttribute('target', t);
-                               } else {
-                                       $form.removeAttr('target');
-                               }
-                               $(extraInputs).remove();
-                       }
-               }
-
-               if (s.forceSync) {
-                       doSubmit();
-               }
-               else {
-                       setTimeout(doSubmit, 10); // this lets dom updates render
-               }
-
-               var data, doc, domCheckCount = 50, callbackProcessed;
-
-               function cb(e) {
-                       if (xhr.aborted || callbackProcessed) {
-                               return;
-                       }
-                       if (e === true && xhr) {
-                               xhr.abort('timeout');
-                               return;
-                       }
-
-                       var doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
-                       if (!doc || doc.location.href == s.iframeSrc) {
-                               // response not received yet
-                               if (!timedOut)
-                                       return;
-                       }
-            io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
-
-                       var ok = true;
-                       try {
-                               if (timedOut) {
-                                       throw 'timeout';
-                               }
-
-                               var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
-                               log('isXml='+isXml);
-                               if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) {
-                                       if (--domCheckCount) {
-                                               // in some browsers (Opera) the iframe DOM is not always traversable when
-                                               // the onload callback fires, so we loop a bit to accommodate
-                                               log('requeing onLoad callback, DOM not available');
-                                               setTimeout(cb, 250);
-                                               return;
-                                       }
-                                       // let this fall through because server response could be an empty document
-                                       //log('Could not access iframe DOM after mutiple tries.');
-                                       //throw 'DOMException: not available';
-                               }
-
-                               //log('response detected');
-                               xhr.responseText = doc.body ? doc.body.innerHTML : doc.documentElement ? doc.documentElement.innerHTML : null;
-                               xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
-                               if (isXml)
-                                       s.dataType = 'xml';
-                               xhr.getResponseHeader = function(header){
-                                       var headers = {'content-type': s.dataType};
-                                       return headers[header];
-                               };
-
-                               var scr = /(json|script|text)/.test(s.dataType);
-                               if (scr || s.textarea) {
-                                       // see if user embedded response in textarea
-                                       var ta = doc.getElementsByTagName('textarea')[0];
-                                       if (ta) {
-                                               xhr.responseText = ta.value;
-                                       }
-                                       else if (scr) {
-                                               // account for browsers injecting pre around json response
-                                               var pre = doc.getElementsByTagName('pre')[0];
-                                               var b = doc.getElementsByTagName('body')[0];
-                                               if (pre) {
-                                                       xhr.responseText = pre.textContent;
-                                               }
-                                               else if (b) {
-                                                       xhr.responseText = b.innerHTML;
-                                               }
-                                       }
-                               }
-                               else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
-                                       xhr.responseXML = toXml(xhr.responseText);
-                               }
-
-                               data = httpData(xhr, s.dataType, s);
-                       }
-                       catch(e){
-                               log('error caught:',e);
-                               ok = false;
-                               xhr.error = e;
-                               s.error && s.error.call(s.context, xhr, 'error', e);
-                               g && $.event.trigger("ajaxError", [xhr, s, e]);
-                       }
-
-                       if (xhr.aborted) {
-                               log('upload aborted');
-                               ok = false;
-                       }
-
-                       // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
-                       if (ok) {
-                               s.success && s.success.call(s.context, data, 'success', xhr);
-                               g && $.event.trigger("ajaxSuccess", [xhr, s]);
-                       }
-
-                       g && $.event.trigger("ajaxComplete", [xhr, s]);
-
-                       if (g && ! --$.active) {
-                               $.event.trigger("ajaxStop");
-                       }
-
-                       s.complete && s.complete.call(s.context, xhr, ok ? 'success' : 'error');
-
-                       callbackProcessed = true;
-                       if (s.timeout)
-                               clearTimeout(timeoutHandle);
-
-                       // clean up
-                       setTimeout(function() {
-                               $io.removeData('form-plugin-onload');
-                               $io.remove();
-                               xhr.responseXML = null;
-                       }, 100);
-               }
-
-               var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)
-                       if (window.ActiveXObject) {
-                               doc = new ActiveXObject('Microsoft.XMLDOM');
-                               doc.async = 'false';
-                               doc.loadXML(s);
-                       }
-                       else {
-                               doc = (new DOMParser()).parseFromString(s, 'text/xml');
-                       }
-                       return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null;
-               };
-               var parseJSON = $.parseJSON || function(s) {
-                       return window['eval']('(' + s + ')');
-               };
-
-               var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4
-                       var ct = xhr.getResponseHeader('content-type') || '',
-                               xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
-                               data = xml ? xhr.responseXML : xhr.responseText;
-
-                       if (xml && data.documentElement.nodeName === 'parsererror') {
-                               $.error && $.error('parsererror');
-                       }
-                       if (s && s.dataFilter) {
-                               data = s.dataFilter(data, type);
-                       }
-                       if (typeof data === 'string') {
-                               if (type === 'json' || !type && ct.indexOf('json') >= 0) {
-                                       data = parseJSON(data);
-                               } else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
-                                       $.globalEval(data);
-                               }
-                       }
-                       return data;
-               };
-       }
+    /*jshint scripturl:true */
+
+    // fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
+    if (!this.length) {
+        log('ajaxSubmit: skipping submit process - no element selected');
+        return this;
+    }
+
+    var method, action, url, $form = this;
+
+    if (typeof options == 'function') {
+        options = { success: options };
+    }
+    else if ( options === undefined ) {
+        options = {};
+    }
+
+    method = options.type || this.attr2('method');
+    action = options.url  || this.attr2('action');
+
+    url = (typeof action === 'string') ? $.trim(action) : '';
+    url = url || window.location.href || '';
+    if (url) {
+        // clean url (don't include hash vaue)
+        url = (url.match(/^([^#]+)/)||[])[1];
+    }
+
+    options = $.extend(true, {
+        url:  url,
+        success: $.ajaxSettings.success,
+        type: method || 'GET',
+        iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
+    }, options);
+
+    // hook for manipulating the form data before it is extracted;
+    // convenient for use with rich editors like tinyMCE or FCKEditor
+    var veto = {};
+    this.trigger('form-pre-serialize', [this, options, veto]);
+    if (veto.veto) {
+        log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
+        return this;
+    }
+
+    // provide opportunity to alter form data before it is serialized
+    if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
+        log('ajaxSubmit: submit aborted via beforeSerialize callback');
+        return this;
+    }
+
+    var traditional = options.traditional;
+    if ( traditional === undefined ) {
+        traditional = $.ajaxSettings.traditional;
+    }
+
+    var elements = [];
+    var qx, a = this.formToArray(options.semantic, elements);
+    if (options.data) {
+        options.extraData = options.data;
+        qx = $.param(options.data, traditional);
+    }
+
+    // give pre-submit callback an opportunity to abort the submit
+    if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
+        log('ajaxSubmit: submit aborted via beforeSubmit callback');
+        return this;
+    }
+
+    // fire vetoable 'validate' event
+    this.trigger('form-submit-validate', [a, this, options, veto]);
+    if (veto.veto) {
+        log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
+        return this;
+    }
+
+    var q = $.param(a, traditional);
+    if (qx) {
+        q = ( q ? (q + '&' + qx) : qx );
+    }
+    if (options.type.toUpperCase() == 'GET') {
+        options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
+        options.data = null;  // data is null for 'get'
+    }
+    else {
+        options.data = q; // data is the query string for 'post'
+    }
+
+    var callbacks = [];
+    if (options.resetForm) {
+        callbacks.push(function() { $form.resetForm(); });
+    }
+    if (options.clearForm) {
+        callbacks.push(function() { $form.clearForm(options.includeHidden); });
+    }
+
+    // perform a load on the target only if dataType is not provided
+    if (!options.dataType && options.target) {
+        var oldSuccess = options.success || function(){};
+        callbacks.push(function(data) {
+            var fn = options.replaceTarget ? 'replaceWith' : 'html';
+            $(options.target)[fn](data).each(oldSuccess, arguments);
+        });
+    }
+    else if (options.success) {
+        callbacks.push(options.success);
+    }
+
+    options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
+        var context = options.context || this ;    // jQuery 1.4+ supports scope context
+        for (var i=0, max=callbacks.length; i < max; i++) {
+            callbacks[i].apply(context, [data, status, xhr || $form, $form]);
+        }
+    };
+
+    if (options.error) {
+        var oldError = options.error;
+        options.error = function(xhr, status, error) {
+            var context = options.context || this;
+            oldError.apply(context, [xhr, status, error, $form]);
+        };
+    }
+
+     if (options.complete) {
+        var oldComplete = options.complete;
+        options.complete = function(xhr, status) {
+            var context = options.context || this;
+            oldComplete.apply(context, [xhr, status, $form]);
+        };
+    }
+
+    // are there files to upload?
+
+    // [value] (issue #113), also see comment:
+    // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219
+    var fileInputs = $('input[type=file]:enabled[value!=""]', this);
+
+    var hasFileInputs = fileInputs.length > 0;
+    var mp = 'multipart/form-data';
+    var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
+
+    var fileAPI = feature.fileapi && feature.formdata;
+    log("fileAPI :" + fileAPI);
+    var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;
+
+    var jqxhr;
+
+    // options.iframe allows user to force iframe mode
+    // 06-NOV-09: now defaulting to iframe mode if file input is detected
+    if (options.iframe !== false && (options.iframe || shouldUseFrame)) {
+        // hack to fix Safari hang (thanks to Tim Molendijk for this)
+        // see:  http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
+        if (options.closeKeepAlive) {
+            $.get(options.closeKeepAlive, function() {
+                jqxhr = fileUploadIframe(a);
+            });
+        }
+        else {
+            jqxhr = fileUploadIframe(a);
+        }
+    }
+    else if ((hasFileInputs || multipart) && fileAPI) {
+        jqxhr = fileUploadXhr(a);
+    }
+    else {
+        jqxhr = $.ajax(options);
+    }
+
+    $form.removeData('jqxhr').data('jqxhr', jqxhr);
+
+    // clear element array
+    for (var k=0; k < elements.length; k++)
+        elements[k] = null;
+
+    // fire 'notify' event
+    this.trigger('form-submit-notify', [this, options]);
+    return this;
+
+    // utility fn for deep serialization
+    function deepSerialize(extraData){
+        var serialized = $.param(extraData, options.traditional).split('&');
+        var len = serialized.length;
+        var result = [];
+        var i, part;
+        for (i=0; i < len; i++) {
+            // #252; undo param space replacement
+            serialized[i] = serialized[i].replace(/\+/g,' ');
+            part = serialized[i].split('=');
+            // #278; use array instead of object storage, favoring array serializations
+            result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]);
+        }
+        return result;
+    }
+
+     // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz)
+    function fileUploadXhr(a) {
+        var formdata = new FormData();
+
+        for (var i=0; i < a.length; i++) {
+            formdata.append(a[i].name, a[i].value);
+        }
+
+        if (options.extraData) {
+            var serializedData = deepSerialize(options.extraData);
+            for (i=0; i < serializedData.length; i++)
+                if (serializedData[i])
+                    formdata.append(serializedData[i][0], serializedData[i][1]);
+        }
+
+        options.data = null;
+
+        var s = $.extend(true, {}, $.ajaxSettings, options, {
+            contentType: false,
+            processData: false,
+            cache: false,
+            type: method || 'POST'
+        });
+
+        if (options.uploadProgress) {
+            // workaround because jqXHR does not expose upload property
+            s.xhr = function() {
+                var xhr = $.ajaxSettings.xhr();
+                if (xhr.upload) {
+                    xhr.upload.addEventListener('progress', function(event) {
+                        var percent = 0;
+                        var position = event.loaded || event.position; /*event.position is deprecated*/
+                        var total = event.total;
+                        if (event.lengthComputable) {
+                            percent = Math.ceil(position / total * 100);
+                        }
+                        options.uploadProgress(event, position, total, percent);
+                    }, false);
+                }
+                return xhr;
+            };
+        }
+
+        s.data = null;
+            var beforeSend = s.beforeSend;
+            s.beforeSend = function(xhr, o) {
+                o.data = formdata;
+                if(beforeSend)
+                    beforeSend.call(this, xhr, o);
+        };
+        return $.ajax(s);
+    }
+
+    // private function for handling file uploads (hat tip to YAHOO!)
+    function fileUploadIframe(a) {
+        var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
+        var deferred = $.Deferred();
+
+        if (a) {
+            // ensure that every serialized input is still enabled
+            for (i=0; i < elements.length; i++) {
+                el = $(elements[i]);
+                if ( hasProp )
+                    el.prop('disabled', false);
+                else
+                    el.removeAttr('disabled');
+            }
+        }
+
+        s = $.extend(true, {}, $.ajaxSettings, options);
+        s.context = s.context || s;
+        id = 'jqFormIO' + (new Date().getTime());
+        if (s.iframeTarget) {
+            $io = $(s.iframeTarget);
+            n = $io.attr2('name');
+            if (!n)
+                 $io.attr2('name', id);
+            else
+                id = n;
+        }
+        else {
+            $io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />');
+            $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
+        }
+        io = $io[0];
+
+
+        xhr = { // mock object
+            aborted: 0,
+            responseText: null,
+            responseXML: null,
+            status: 0,
+            statusText: 'n/a',
+            getAllResponseHeaders: function() {},
+            getResponseHeader: function() {},
+            setRequestHeader: function() {},
+            abort: function(status) {
+                var e = (status === 'timeout' ? 'timeout' : 'aborted');
+                log('aborting upload... ' + e);
+                this.aborted = 1;
+
+                try { // #214, #257
+                    if (io.contentWindow.document.execCommand) {
+                        io.contentWindow.document.execCommand('Stop');
+                    }
+                }
+                catch(ignore) {}
+
+                $io.attr('src', s.iframeSrc); // abort op in progress
+                xhr.error = e;
+                if (s.error)
+                    s.error.call(s.context, xhr, e, status);
+                if (g)
+                    $.event.trigger("ajaxError", [xhr, s, e]);
+                if (s.complete)
+                    s.complete.call(s.context, xhr, e);
+            }
+        };
+
+        g = s.global;
+        // trigger ajax global events so that activity/block indicators work like normal
+        if (g && 0 === $.active++) {
+            $.event.trigger("ajaxStart");
+        }
+        if (g) {
+            $.event.trigger("ajaxSend", [xhr, s]);
+        }
+
+        if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
+            if (s.global) {
+                $.active--;
+            }
+            deferred.reject();
+            return deferred;
+        }
+        if (xhr.aborted) {
+            deferred.reject();
+            return deferred;
+        }
+
+        // add submitting element to data if we know it
+        sub = form.clk;
+        if (sub) {
+            n = sub.name;
+            if (n && !sub.disabled) {
+                s.extraData = s.extraData || {};
+                s.extraData[n] = sub.value;
+                if (sub.type == "image") {
+                    s.extraData[n+'.x'] = form.clk_x;
+                    s.extraData[n+'.y'] = form.clk_y;
+                }
+            }
+        }
+
+        var CLIENT_TIMEOUT_ABORT = 1;
+        var SERVER_ABORT = 2;
+                
+        function getDoc(frame) {
+            /* it looks like contentWindow or contentDocument do not
+             * carry the protocol property in ie8, when running under ssl
+             * frame.document is the only valid response document, since
+             * the protocol is know but not on the other two objects. strange?
+             * "Same origin policy" http://en.wikipedia.org/wiki/Same_origin_policy
+             */
+            
+            var doc = null;
+            
+            // IE8 cascading access check
+            try {
+                if (frame.contentWindow) {
+                    doc = frame.contentWindow.document;
+                }
+            } catch(err) {
+                // IE8 access denied under ssl & missing protocol
+                log('cannot get iframe.contentWindow document: ' + err);
+            }
+
+            if (doc) { // successful getting content
+                return doc;
+            }
+
+            try { // simply checking may throw in ie8 under ssl or mismatched protocol
+                doc = frame.contentDocument ? frame.contentDocument : frame.document;
+            } catch(err) {
+                // last attempt
+                log('cannot get iframe.contentDocument: ' + err);
+                doc = frame.document;
+            }
+            return doc;
+        }
+
+        // Rails CSRF hack (thanks to Yvan Barthelemy)
+        var csrf_token = $('meta[name=csrf-token]').attr('content');
+        var csrf_param = $('meta[name=csrf-param]').attr('content');
+        if (csrf_param && csrf_token) {
+            s.extraData = s.extraData || {};
+            s.extraData[csrf_param] = csrf_token;
+        }
+
+        // take a breath so that pending repaints get some cpu time before the upload starts
+        function doSubmit() {
+            // make sure form attrs are set
+            var t = $form.attr2('target'), a = $form.attr2('action');
+
+            // update form attrs in IE friendly way
+            form.setAttribute('target',id);
+            if (!method) {
+                form.setAttribute('method', 'POST');
+            }
+            if (a != s.url) {
+                form.setAttribute('action', s.url);
+            }
+
+            // ie borks in some cases when setting encoding
+            if (! s.skipEncodingOverride && (!method || /post/i.test(method))) {
+                $form.attr({
+                    encoding: 'multipart/form-data',
+                    enctype:  'multipart/form-data'
+                });
+            }
+
+            // support timout
+            if (s.timeout) {
+                timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout);
+            }
+
+            // look for server aborts
+            function checkState() {
+                try {
+                    var state = getDoc(io).readyState;
+                    log('state = ' + state);
+                    if (state && state.toLowerCase() == 'uninitialized')
+                        setTimeout(checkState,50);
+                }
+                catch(e) {
+                    log('Server abort: ' , e, ' (', e.name, ')');
+                    cb(SERVER_ABORT);
+                    if (timeoutHandle)
+                        clearTimeout(timeoutHandle);
+                    timeoutHandle = undefined;
+                }
+            }
+
+            // add "extra" data to form if provided in options
+            var extraInputs = [];
+            try {
+                if (s.extraData) {
+                    for (var n in s.extraData) {
+                        if (s.extraData.hasOwnProperty(n)) {
+                           // if using the $.param format that allows for multiple values with the same name
+                           if($.isPlainObject(s.extraData[n]) && s.extraData[n].hasOwnProperty('name') && s.extraData[n].hasOwnProperty('value')) {
+                               extraInputs.push(
+                               $('<input type="hidden" name="'+s.extraData[n].name+'">').val(s.extraData[n].value)
+                                   .appendTo(form)[0]);
+                           } else {
+                               extraInputs.push(
+                               $('<input type="hidden" name="'+n+'">').val(s.extraData[n])
+                                   .appendTo(form)[0]);
+                           }
+                        }
+                    }
+                }
+
+                if (!s.iframeTarget) {
+                    // add iframe to doc and submit the form
+                    $io.appendTo('body');
+                    if (io.attachEvent)
+                        io.attachEvent('onload', cb);
+                    else
+                        io.addEventListener('load', cb, false);
+                }
+                setTimeout(checkState,15);
+
+                try {
+                    form.submit();
+                } catch(err) {
+                    // just in case form has element with name/id of 'submit'
+                    var submitFn = document.createElement('form').submit;
+                    submitFn.apply(form);
+                }
+            }
+            finally {
+                // reset attrs and remove "extra" input elements
+                form.setAttribute('action',a);
+                if(t) {
+                    form.setAttribute('target', t);
+                } else {
+                    $form.removeAttr('target');
+                }
+                $(extraInputs).remove();
+            }
+        }
+
+        if (s.forceSync) {
+            doSubmit();
+        }
+        else {
+            setTimeout(doSubmit, 10); // this lets dom updates render
+        }
+
+        var data, doc, domCheckCount = 50, callbackProcessed;
+
+        function cb(e) {
+            if (xhr.aborted || callbackProcessed) {
+                return;
+            }
+            
+            doc = getDoc(io);
+            if(!doc) {
+                log('cannot access response document');
+                e = SERVER_ABORT;
+            }
+            if (e === CLIENT_TIMEOUT_ABORT && xhr) {
+                xhr.abort('timeout');
+                deferred.reject(xhr, 'timeout');
+                return;
+            }
+            else if (e == SERVER_ABORT && xhr) {
+                xhr.abort('server abort');
+                deferred.reject(xhr, 'error', 'server abort');
+                return;
+            }
+
+            if (!doc || doc.location.href == s.iframeSrc) {
+                // response not received yet
+                if (!timedOut)
+                    return;
+            }
+            if (io.detachEvent)
+                io.detachEvent('onload', cb);
+            else
+                io.removeEventListener('load', cb, false);
+
+            var status = 'success', errMsg;
+            try {
+                if (timedOut) {
+                    throw 'timeout';
+                }
+
+                var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
+                log('isXml='+isXml);
+                if (!isXml && window.opera && (doc.body === null || !doc.body.innerHTML)) {
+                    if (--domCheckCount) {
+                        // in some browsers (Opera) the iframe DOM is not always traversable when
+                        // the onload callback fires, so we loop a bit to accommodate
+                        log('requeing onLoad callback, DOM not available');
+                        setTimeout(cb, 250);
+                        return;
+                    }
+                    // let this fall through because server response could be an empty document
+                    //log('Could not access iframe DOM after mutiple tries.');
+                    //throw 'DOMException: not available';
+                }
+
+                //log('response detected');
+                var docRoot = doc.body ? doc.body : doc.documentElement;
+                xhr.responseText = docRoot ? docRoot.innerHTML : null;
+                xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
+                if (isXml)
+                    s.dataType = 'xml';
+                xhr.getResponseHeader = function(header){
+                    var headers = {'content-type': s.dataType};
+                    return headers[header];
+                };
+                // support for XHR 'status' & 'statusText' emulation :
+                if (docRoot) {
+                    xhr.status = Number( docRoot.getAttribute('status') ) || xhr.status;
+                    xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;
+                }
+
+                var dt = (s.dataType || '').toLowerCase();
+                var scr = /(json|script|text)/.test(dt);
+                if (scr || s.textarea) {
+                    // see if user embedded response in textarea
+                    var ta = doc.getElementsByTagName('textarea')[0];
+                    if (ta) {
+                        xhr.responseText = ta.value;
+                        // support for XHR 'status' & 'statusText' emulation :
+                        xhr.status = Number( ta.getAttribute('status') ) || xhr.status;
+                        xhr.statusText = ta.getAttribute('statusText') || xhr.statusText;
+                    }
+                    else if (scr) {
+                        // account for browsers injecting pre around json response
+                        var pre = doc.getElementsByTagName('pre')[0];
+                        var b = doc.getElementsByTagName('body')[0];
+                        if (pre) {
+                            xhr.responseText = pre.textContent ? pre.textContent : pre.innerText;
+                        }
+                        else if (b) {
+                            xhr.responseText = b.textContent ? b.textContent : b.innerText;
+                        }
+                    }
+                }
+                else if (dt == 'xml' && !xhr.responseXML && xhr.responseText) {
+                    xhr.responseXML = toXml(xhr.responseText);
+                }
+
+                try {
+                    data = httpData(xhr, dt, s);
+                }
+                catch (err) {
+                    status = 'parsererror';
+                    xhr.error = errMsg = (err || status);
+                }
+            }
+            catch (err) {
+                log('error caught: ',err);
+                status = 'error';
+                xhr.error = errMsg = (err || status);
+            }
+
+            if (xhr.aborted) {
+                log('upload aborted');
+                status = null;
+            }
+
+            if (xhr.status) { // we've set xhr.status
+                status = (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) ? 'success' : 'error';
+            }
+
+            // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
+            if (status === 'success') {
+                if (s.success)
+                    s.success.call(s.context, data, 'success', xhr);
+                deferred.resolve(xhr.responseText, 'success', xhr);
+                if (g)
+                    $.event.trigger("ajaxSuccess", [xhr, s]);
+            }
+            else if (status) {
+                if (errMsg === undefined)
+                    errMsg = xhr.statusText;
+                if (s.error)
+                    s.error.call(s.context, xhr, status, errMsg);
+                deferred.reject(xhr, 'error', errMsg);
+                if (g)
+                    $.event.trigger("ajaxError", [xhr, s, errMsg]);
+            }
+
+            if (g)
+                $.event.trigger("ajaxComplete", [xhr, s]);
+
+            if (g && ! --$.active) {
+                $.event.trigger("ajaxStop");
+            }
+
+            if (s.complete)
+                s.complete.call(s.context, xhr, status);
+
+            callbackProcessed = true;
+            if (s.timeout)
+                clearTimeout(timeoutHandle);
+
+            // clean up
+            setTimeout(function() {
+                if (!s.iframeTarget)
+                    $io.remove();
+                xhr.responseXML = null;
+            }, 100);
+        }
+
+        var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)
+            if (window.ActiveXObject) {
+                doc = new ActiveXObject('Microsoft.XMLDOM');
+                doc.async = 'false';
+                doc.loadXML(s);
+            }
+            else {
+                doc = (new DOMParser()).parseFromString(s, 'text/xml');
+            }
+            return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null;
+        };
+        var parseJSON = $.parseJSON || function(s) {
+            /*jslint evil:true */
+            return window['eval']('(' + s + ')');
+        };
+
+        var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4
+
+            var ct = xhr.getResponseHeader('content-type') || '',
+                xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
+                data = xml ? xhr.responseXML : xhr.responseText;
+
+            if (xml && data.documentElement.nodeName === 'parsererror') {
+                if ($.error)
+                    $.error('parsererror');
+            }
+            if (s && s.dataFilter) {
+                data = s.dataFilter(data, type);
+            }
+            if (typeof data === 'string') {
+                if (type === 'json' || !type && ct.indexOf('json') >= 0) {
+                    data = parseJSON(data);
+                } else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
+                    $.globalEval(data);
+                }
+            }
+            return data;
+        };
+
+        return deferred;
+    }
 };
 
 /**
 };
 
 /**
@@ -472,9 +777,9 @@ $.fn.ajaxSubmit = function(options) {
  * The advantages of using this method instead of ajaxSubmit() are:
  *
  * 1: This method will include coordinates for <input type="image" /> elements (if the element
  * The advantages of using this method instead of ajaxSubmit() are:
  *
  * 1: This method will include coordinates for <input type="image" /> elements (if the element
- *     is used to submit the form).
+ *    is used to submit the form).
  * 2. This method will include the submit element's name/value data (for the element that was
  * 2. This method will include the submit element's name/value data (for the element that was
- *     used to submit the form).
+ *    used to submit the form).
  * 3. This method binds the submit() method to the form for you.
  *
  * The options argument for ajaxForm works exactly as it does for ajaxSubmit.  ajaxForm merely
  * 3. This method binds the submit() method to the form for you.
  *
  * The options argument for ajaxForm works exactly as it does for ajaxSubmit.  ajaxForm merely
@@ -482,60 +787,83 @@ $.fn.ajaxSubmit = function(options) {
  * the form itself.
  */
 $.fn.ajaxForm = function(options) {
  * the form itself.
  */
 $.fn.ajaxForm = function(options) {
-       // in jQuery 1.3+ we can fix mistakes with the ready state
-       if (this.length === 0) {
-               var o = { s: this.selector, c: this.context };
-               if (!$.isReady && o.s) {
-                       log('DOM not ready, queuing ajaxForm');
-                       $(function() {
-                               $(o.s,o.c).ajaxForm(options);
-                       });
-                       return this;
-               }
-               // is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
-               log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
-               return this;
-       }
-
-       return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) {
-               if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed
-                       e.preventDefault();
-                       $(this).ajaxSubmit(options);
-               }
-       }).bind('click.form-plugin', function(e) {
-               var target = e.target;
-               var $el = $(target);
-               if (!($el.is(":submit,input:image"))) {
-                       // is this a child element of the submit el?  (ex: a span within a button)
-                       var t = $el.closest(':submit');
-                       if (t.length == 0) {
-                               return;
-                       }
-                       target = t[0];
-               }
-               var form = this;
-               form.clk = target;
-               if (target.type == 'image') {
-                       if (e.offsetX != undefined) {
-                               form.clk_x = e.offsetX;
-                               form.clk_y = e.offsetY;
-                       } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
-                               var offset = $el.offset();
-                               form.clk_x = e.pageX - offset.left;
-                               form.clk_y = e.pageY - offset.top;
-                       } else {
-                               form.clk_x = e.pageX - target.offsetLeft;
-                               form.clk_y = e.pageY - target.offsetTop;
-                       }
-               }
-               // clear form vars
-               setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
-       });
+    options = options || {};
+    options.delegation = options.delegation && $.isFunction($.fn.on);
+
+    // in jQuery 1.3+ we can fix mistakes with the ready state
+    if (!options.delegation && this.length === 0) {
+        var o = { s: this.selector, c: this.context };
+        if (!$.isReady && o.s) {
+            log('DOM not ready, queuing ajaxForm');
+            $(function() {
+                $(o.s,o.c).ajaxForm(options);
+            });
+            return this;
+        }
+        // is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
+        log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
+        return this;
+    }
+
+    if ( options.delegation ) {
+        $(document)
+            .off('submit.form-plugin', this.selector, doAjaxSubmit)
+            .off('click.form-plugin', this.selector, captureSubmittingElement)
+            .on('submit.form-plugin', this.selector, options, doAjaxSubmit)
+            .on('click.form-plugin', this.selector, options, captureSubmittingElement);
+        return this;
+    }
+
+    return this.ajaxFormUnbind()
+        .bind('submit.form-plugin', options, doAjaxSubmit)
+        .bind('click.form-plugin', options, captureSubmittingElement);
 };
 
 };
 
+// private event handlers
+function doAjaxSubmit(e) {
+    /*jshint validthis:true */
+    var options = e.data;
+    if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed
+        e.preventDefault();
+        $(this).ajaxSubmit(options);
+    }
+}
+
+function captureSubmittingElement(e) {
+    /*jshint validthis:true */
+    var target = e.target;
+    var $el = $(target);
+    if (!($el.is("[type=submit],[type=image]"))) {
+        // is this a child element of the submit el?  (ex: a span within a button)
+        var t = $el.closest('[type=submit]');
+        if (t.length === 0) {
+            return;
+        }
+        target = t[0];
+    }
+    var form = this;
+    form.clk = target;
+    if (target.type == 'image') {
+        if (e.offsetX !== undefined) {
+            form.clk_x = e.offsetX;
+            form.clk_y = e.offsetY;
+        } else if (typeof $.fn.offset == 'function') {
+            var offset = $el.offset();
+            form.clk_x = e.pageX - offset.left;
+            form.clk_y = e.pageY - offset.top;
+        } else {
+            form.clk_x = e.pageX - target.offsetLeft;
+            form.clk_y = e.pageY - target.offsetTop;
+        }
+    }
+    // clear form vars
+    setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
+}
+
+
 // ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
 $.fn.ajaxFormUnbind = function() {
 // ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
 $.fn.ajaxFormUnbind = function() {
-       return this.unbind('submit.form-plugin click.form-plugin');
+    return this.unbind('submit.form-plugin click.form-plugin');
 };
 
 /**
 };
 
 /**
@@ -549,56 +877,74 @@ $.fn.ajaxFormUnbind = function() {
  * It is this array that is passed to pre-submit callback functions provided to the
  * ajaxSubmit() and ajaxForm() methods.
  */
  * It is this array that is passed to pre-submit callback functions provided to the
  * ajaxSubmit() and ajaxForm() methods.
  */
-$.fn.formToArray = function(semantic) {
-       var a = [];
-       if (this.length === 0) {
-               return a;
-       }
-
-       var form = this[0];
-       var els = semantic ? form.getElementsByTagName('*') : form.elements;
-       if (!els) {
-               return a;
-       }
-
-       var i,j,n,v,el,max,jmax;
-       for(i=0, max=els.length; i < max; i++) {
-               el = els[i];
-               n = el.name;
-               if (!n) {
-                       continue;
-               }
-
-               if (semantic && form.clk && el.type == "image") {
-                       // handle image inputs on the fly when semantic == true
-                       if(!el.disabled && form.clk == el) {
-                               a.push({name: n, value: $(el).val()});
-                               a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
-                       }
-                       continue;
-               }
-
-               v = $.fieldValue(el, true);
-               if (v && v.constructor == Array) {
-                       for(j=0, jmax=v.length; j < jmax; j++) {
-                               a.push({name: n, value: v[j]});
-                       }
-               }
-               else if (v !== null && typeof v != 'undefined') {
-                       a.push({name: n, value: v});
-               }
-       }
-
-       if (!semantic && form.clk) {
-               // input type=='image' are not found in elements array! handle it here
-               var $input = $(form.clk), input = $input[0];
-               n = input.name;
-               if (n && !input.disabled && input.type == 'image') {
-                       a.push({name: n, value: $input.val()});
-                       a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
-               }
-       }
-       return a;
+$.fn.formToArray = function(semantic, elements) {
+    var a = [];
+    if (this.length === 0) {
+        return a;
+    }
+
+    var form = this[0];
+    var els = semantic ? form.getElementsByTagName('*') : form.elements;
+    if (!els) {
+        return a;
+    }
+
+    var i,j,n,v,el,max,jmax;
+    for(i=0, max=els.length; i < max; i++) {
+        el = els[i];
+        n = el.name;
+        if (!n || el.disabled) {
+            continue;
+        }
+
+        if (semantic && form.clk && el.type == "image") {
+            // handle image inputs on the fly when semantic == true
+            if(form.clk == el) {
+                a.push({name: n, value: $(el).val(), type: el.type });
+                a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
+            }
+            continue;
+        }
+
+        v = $.fieldValue(el, true);
+        if (v && v.constructor == Array) {
+            if (elements)
+                elements.push(el);
+            for(j=0, jmax=v.length; j < jmax; j++) {
+                a.push({name: n, value: v[j]});
+            }
+        }
+        else if (feature.fileapi && el.type == 'file') {
+            if (elements)
+                elements.push(el);
+            var files = el.files;
+            if (files.length) {
+                for (j=0; j < files.length; j++) {
+                    a.push({name: n, value: files[j], type: el.type});
+                }
+            }
+            else {
+                // #180
+                a.push({ name: n, value: '', type: el.type });
+            }
+        }
+        else if (v !== null && typeof v != 'undefined') {
+            if (elements)
+                elements.push(el);
+            a.push({name: n, value: v, type: el.type, required: el.required});
+        }
+    }
+
+    if (!semantic && form.clk) {
+        // input type=='image' are not found in elements array! handle it here
+        var $input = $(form.clk), input = $input[0];
+        n = input.name;
+        if (n && !input.disabled && input.type == 'image') {
+            a.push({name: n, value: $input.val()});
+            a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
+        }
+    }
+    return a;
 };
 
 /**
 };
 
 /**
@@ -606,8 +952,8 @@ $.fn.formToArray = function(semantic) {
  * in the format: name1=value1&amp;name2=value2
  */
 $.fn.formSerialize = function(semantic) {
  * in the format: name1=value1&amp;name2=value2
  */
 $.fn.formSerialize = function(semantic) {
-       //hand off to jQuery.param for proper encoding
-       return $.param(this.formToArray(semantic));
+    //hand off to jQuery.param for proper encoding
+    return $.param(this.formToArray(semantic));
 };
 
 /**
 };
 
 /**
@@ -615,51 +961,51 @@ $.fn.formSerialize = function(semantic) {
  * This method will return a string in the format: name1=value1&amp;name2=value2
  */
 $.fn.fieldSerialize = function(successful) {
  * This method will return a string in the format: name1=value1&amp;name2=value2
  */
 $.fn.fieldSerialize = function(successful) {
-       var a = [];
-       this.each(function() {
-               var n = this.name;
-               if (!n) {
-                       return;
-               }
-               var v = $.fieldValue(this, successful);
-               if (v && v.constructor == Array) {
-                       for (var i=0,max=v.length; i < max; i++) {
-                               a.push({name: n, value: v[i]});
-                       }
-               }
-               else if (v !== null && typeof v != 'undefined') {
-                       a.push({name: this.name, value: v});
-               }
-       });
-       //hand off to jQuery.param for proper encoding
-       return $.param(a);
+    var a = [];
+    this.each(function() {
+        var n = this.name;
+        if (!n) {
+            return;
+        }
+        var v = $.fieldValue(this, successful);
+        if (v && v.constructor == Array) {
+            for (var i=0,max=v.length; i < max; i++) {
+                a.push({name: n, value: v[i]});
+            }
+        }
+        else if (v !== null && typeof v != 'undefined') {
+            a.push({name: this.name, value: v});
+        }
+    });
+    //hand off to jQuery.param for proper encoding
+    return $.param(a);
 };
 
 /**
  * Returns the value(s) of the element in the matched set.  For example, consider the following form:
  *
  *  <form><fieldset>
 };
 
 /**
  * Returns the value(s) of the element in the matched set.  For example, consider the following form:
  *
  *  <form><fieldset>
- *       <input name="A" type="text" />
- *       <input name="A" type="text" />
- *       <input name="B" type="checkbox" value="B1" />
- *       <input name="B" type="checkbox" value="B2"/>
- *       <input name="C" type="radio" value="C1" />
- *       <input name="C" type="radio" value="C2" />
+ *      <input name="A" type="text" />
+ *      <input name="A" type="text" />
+ *      <input name="B" type="checkbox" value="B1" />
+ *      <input name="B" type="checkbox" value="B2"/>
+ *      <input name="C" type="radio" value="C1" />
+ *      <input name="C" type="radio" value="C2" />
  *  </fieldset></form>
  *
  *  </fieldset></form>
  *
- *  var v = $(':text').fieldValue();
+ *  var v = $('input[type=text]').fieldValue();
  *  // if no values are entered into the text inputs
  *  v == ['','']
  *  // if values entered into the text inputs are 'foo' and 'bar'
  *  v == ['foo','bar']
  *
  *  // if no values are entered into the text inputs
  *  v == ['','']
  *  // if values entered into the text inputs are 'foo' and 'bar'
  *  v == ['foo','bar']
  *
- *  var v = $(':checkbox').fieldValue();
+ *  var v = $('input[type=checkbox]').fieldValue();
  *  // if neither checkbox is checked
  *  v === undefined
  *  // if both checkboxes are checked
  *  v == ['B1', 'B2']
  *
  *  // if neither checkbox is checked
  *  v === undefined
  *  // if both checkboxes are checked
  *  v == ['B1', 'B2']
  *
- *  var v = $(':radio').fieldValue();
+ *  var v = $('input[type=radio]').fieldValue();
  *  // if neither radio is checked
  *  v === undefined
  *  // if first radio is checked
  *  // if neither radio is checked
  *  v === undefined
  *  // if first radio is checked
@@ -671,60 +1017,63 @@ $.fn.fieldSerialize = function(successful) {
  * for each element is returned.
  *
  * Note: This method *always* returns an array.  If no valid value can be determined the
  * for each element is returned.
  *
  * Note: This method *always* returns an array.  If no valid value can be determined the
- *        array will be empty, otherwise it will contain one or more values.
+ *    array will be empty, otherwise it will contain one or more values.
  */
 $.fn.fieldValue = function(successful) {
  */
 $.fn.fieldValue = function(successful) {
-       for (var val=[], i=0, max=this.length; i < max; i++) {
-               var el = this[i];
-               var v = $.fieldValue(el, successful);
-               if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
-                       continue;
-               }
-               v.constructor == Array ? $.merge(val, v) : val.push(v);
-       }
-       return val;
+    for (var val=[], i=0, max=this.length; i < max; i++) {
+        var el = this[i];
+        var v = $.fieldValue(el, successful);
+        if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
+            continue;
+        }
+        if (v.constructor == Array)
+            $.merge(val, v);
+        else
+            val.push(v);
+    }
+    return val;
 };
 
 /**
  * Returns the value of the field element.
  */
 $.fieldValue = function(el, successful) {
 };
 
 /**
  * Returns the value of the field element.
  */
 $.fieldValue = function(el, successful) {
-       var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
-       if (successful === undefined) {
-               successful = true;
-       }
-
-       if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
-               (t == 'checkbox' || t == 'radio') && !el.checked ||
-               (t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
-               tag == 'select' && el.selectedIndex == -1)) {
-                       return null;
-       }
-
-       if (tag == 'select') {
-               var index = el.selectedIndex;
-               if (index < 0) {
-                       return null;
-               }
-               var a = [], ops = el.options;
-               var one = (t == 'select-one');
-               var max = (one ? index+1 : ops.length);
-               for(var i=(one ? index : 0); i < max; i++) {
-                       var op = ops[i];
-                       if (op.selected) {
-                               var v = op.value;
-                               if (!v) { // extra pain for IE...
-                                       v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
-                               }
-                               if (one) {
-                                       return v;
-                               }
-                               a.push(v);
-                       }
-               }
-               return a;
-       }
-       return $(el).val();
+    var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
+    if (successful === undefined) {
+        successful = true;
+    }
+
+    if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
+        (t == 'checkbox' || t == 'radio') && !el.checked ||
+        (t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
+        tag == 'select' && el.selectedIndex == -1)) {
+            return null;
+    }
+
+    if (tag == 'select') {
+        var index = el.selectedIndex;
+        if (index < 0) {
+            return null;
+        }
+        var a = [], ops = el.options;
+        var one = (t == 'select-one');
+        var max = (one ? index+1 : ops.length);
+        for(var i=(one ? index : 0); i < max; i++) {
+            var op = ops[i];
+            if (op.selected) {
+                var v = op.value;
+                if (!v) { // extra pain for IE...
+                    v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
+                }
+                if (one) {
+                    return v;
+                }
+                a.push(v);
+            }
+        }
+        return a;
+    }
+    return $(el).val();
 };
 
 /**
 };
 
 /**
@@ -735,53 +1084,70 @@ $.fieldValue = function(el, successful) {
  *  - inputs of type submit, button, reset, and hidden will *not* be effected
  *  - button elements will *not* be effected
  */
  *  - inputs of type submit, button, reset, and hidden will *not* be effected
  *  - button elements will *not* be effected
  */
-$.fn.clearForm = function() {
-       return this.each(function() {
-               $('input,select,textarea', this).clearFields();
-       });
+$.fn.clearForm = function(includeHidden) {
+    return this.each(function() {
+        $('input,select,textarea', this).clearFields(includeHidden);
+    });
 };
 
 /**
  * Clears the selected form elements.
  */
 };
 
 /**
  * Clears the selected form elements.
  */
-$.fn.clearFields = $.fn.clearInputs = function() {
-       return this.each(function() {
-               var t = this.type, tag = this.tagName.toLowerCase();
-               if (t == 'text' || t == 'password' || tag == 'textarea') {
-                       this.value = '';
-               }
-               else if (t == 'checkbox' || t == 'radio') {
-                       this.checked = false;
-               }
-               else if (tag == 'select') {
-                       this.selectedIndex = -1;
+$.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
+    var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list
+    return this.each(function() {
+        var t = this.type, tag = this.tagName.toLowerCase();
+        if (re.test(t) || tag == 'textarea') {
+            this.value = '';
+        }
+        else if (t == 'checkbox' || t == 'radio') {
+            this.checked = false;
+        }
+        else if (tag == 'select') {
+            this.selectedIndex = -1;
+        }
+               else if (t == "file") {
+                       if (/MSIE/.test(navigator.userAgent)) {
+                               $(this).replaceWith($(this).clone(true));
+                       } else {
+                               $(this).val('');
+                       }
                }
                }
-       });
+        else if (includeHidden) {
+            // includeHidden can be the value true, or it can be a selector string
+            // indicating a special test; for example:
+            //  $('#myForm').clearForm('.special:hidden')
+            // the above would clean hidden inputs that have the class of 'special'
+            if ( (includeHidden === true && /hidden/.test(t)) ||
+                 (typeof includeHidden == 'string' && $(this).is(includeHidden)) )
+                this.value = '';
+        }
+    });
 };
 
 /**
  * Resets the form data.  Causes all form elements to be reset to their original value.
  */
 $.fn.resetForm = function() {
 };
 
 /**
  * Resets the form data.  Causes all form elements to be reset to their original value.
  */
 $.fn.resetForm = function() {
-       return this.each(function() {
-               // guard against an input with the name of 'reset'
-               // note that IE reports the reset function as an 'object'
-               if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) {
-                       this.reset();
-               }
-       });
+    return this.each(function() {
+        // guard against an input with the name of 'reset'
+        // note that IE reports the reset function as an 'object'
+        if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) {
+            this.reset();
+        }
+    });
 };
 
 /**
  * Enables or disables any matching elements.
  */
 $.fn.enable = function(b) {
 };
 
 /**
  * Enables or disables any matching elements.
  */
 $.fn.enable = function(b) {
-       if (b === undefined) {
-               b = true;
-       }
-       return this.each(function() {
-               this.disabled = !b;
-       });
+    if (b === undefined) {
+        b = true;
+    }
+    return this.each(function() {
+        this.disabled = !b;
+    });
 };
 
 /**
 };
 
 /**
@@ -789,37 +1155,39 @@ $.fn.enable = function(b) {
  * selects/deselects and matching option elements.
  */
 $.fn.selected = function(select) {
  * selects/deselects and matching option elements.
  */
 $.fn.selected = function(select) {
-       if (select === undefined) {
-               select = true;
-       }
-       return this.each(function() {
-               var t = this.type;
-               if (t == 'checkbox' || t == 'radio') {
-                       this.checked = select;
-               }
-               else if (this.tagName.toLowerCase() == 'option') {
-                       var $sel = $(this).parent('select');
-                       if (select && $sel[0] && $sel[0].type == 'select-one') {
-                               // deselect all other options
-                               $sel.find('option').selected(false);
-                       }
-                       this.selected = select;
-               }
-       });
+    if (select === undefined) {
+        select = true;
+    }
+    return this.each(function() {
+        var t = this.type;
+        if (t == 'checkbox' || t == 'radio') {
+            this.checked = select;
+        }
+        else if (this.tagName.toLowerCase() == 'option') {
+            var $sel = $(this).parent('select');
+            if (select && $sel[0] && $sel[0].type == 'select-one') {
+                // deselect all other options
+                $sel.find('option').selected(false);
+            }
+            this.selected = select;
+        }
+    });
 };
 
 };
 
+// expose debug var
+$.fn.ajaxSubmit.debug = false;
+
 // helper fn for console logging
 // helper fn for console logging
-// set $.fn.ajaxSubmit.debug to true to enable debug logging
 function log() {
 function log() {
-       if ($.fn.ajaxSubmit.debug) {
-               var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
-               if (window.console && window.console.log) {
-                       window.console.log(msg);
-               }
-               else if (window.opera && window.opera.postError) {
-                       window.opera.postError(msg);
-               }
-       }
-};
+    if (!$.fn.ajaxSubmit.debug)
+        return;
+    var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
+    if (window.console && window.console.log) {
+        window.console.log(msg);
+    }
+    else if (window.opera && window.opera.postError) {
+        window.opera.postError(msg);
+    }
+}
 
 })(jQuery);
 
 })(jQuery);
index 45ddd2f6c856506599e377ed381dbe5ba976acb9..cf23d4a10c29902201c47641dfc493e3db683436 100644 (file)
@@ -1,11 +1,11 @@
 /*!
  * jQuery Form Plugin
 /*!
  * jQuery Form Plugin
- * version: 2.73 (03-MAY-2011)
- * @requires jQuery v1.3.2 or later
- *
+ * version: 3.37.0-2013.07.11
+ * @requires jQuery v1.5 or later
+ * Copyright (c) 2013 M. Alsup
  * Examples and documentation at: http://malsup.com/jquery/form/
  * Examples and documentation at: http://malsup.com/jquery/form/
- * Dual licensed under the MIT and GPL licenses:
- *   http://www.opensource.org/licenses/mit-license.php
- *   http://www.gnu.org/licenses/gpl.html
+ * Project repository: https://github.com/malsup/form
+ * Dual licensed under the MIT and GPL licenses.
+ * https://github.com/malsup/form#copyright-and-license
  */
  */
-(function(b){b.fn.ajaxSubmit=function(t){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof t=="function"){t={success:t}}var h=this.attr("action");var d=(typeof h==="string")?b.trim(h):"";if(d){d=(d.match(/^([^#]+)/)||[])[1]}d=d||window.location.href||"";t=b.extend(true,{url:d,success:b.ajaxSettings.success,type:this[0].getAttribute("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var u={};this.trigger("form-pre-serialize",[this,t,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(t.beforeSerialize&&t.beforeSerialize(this,t)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var f,p,m=this.formToArray(t.semantic);if(t.data){t.extraData=t.data;for(f in t.data){if(t.data[f] instanceof Array){for(var i in t.data[f]){m.push({name:f,value:t.data[f][i]})}}else{p=t.data[f];p=b.isFunction(p)?p():p;m.push({name:f,value:p})}}}if(t.beforeSubmit&&t.beforeSubmit(m,this,t)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[m,this,t,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var c=b.param(m);if(t.type.toUpperCase()=="GET"){t.url+=(t.url.indexOf("?")>=0?"&":"?")+c;t.data=null}else{t.data=c}var s=this,l=[];if(t.resetForm){l.push(function(){s.resetForm()})}if(t.clearForm){l.push(function(){s.clearForm()})}if(!t.dataType&&t.target){var r=t.success||function(){};l.push(function(n){var k=t.replaceTarget?"replaceWith":"html";b(t.target)[k](n).each(r,arguments)})}else{if(t.success){l.push(t.success)}}t.success=function(w,n,x){var v=t.context||t;for(var q=0,k=l.length;q<k;q++){l[q].apply(v,[w,n,x||s,s])}};var g=b("input:file",this).length>0;var e="multipart/form-data";var j=(s.attr("enctype")==e||s.attr("encoding")==e);if(t.iframe!==false&&(g||t.iframe||j)){if(t.closeKeepAlive){b.get(t.closeKeepAlive,o)}else{o()}}else{b.ajax(t)}this.trigger("form-submit-notify",[this,t]);return this;function o(){var v=s[0];if(b(":input[name=submit],:input[id=submit]",v).length){alert('Error: Form elements must not have name or id of "submit".');return}var D=b.extend(true,{},b.ajaxSettings,t);D.context=D.context||D;var G="jqFormIO"+(new Date().getTime()),A="_"+G;var x=b('<iframe id="'+G+'" name="'+G+'" src="'+D.iframeSrc+'" />');var B=x[0];x.css({position:"absolute",top:"-1000px",left:"-1000px"});var y={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(n){var O=(n==="timeout"?"timeout":"aborted");a("aborting upload... "+O);this.aborted=1;x.attr("src",D.iframeSrc);y.error=O;D.error&&D.error.call(D.context,y,O,O);K&&b.event.trigger("ajaxError",[y,D,O]);D.complete&&D.complete.call(D.context,y,O)}};var K=D.global;if(K&&!b.active++){b.event.trigger("ajaxStart")}if(K){b.event.trigger("ajaxSend",[y,D])}if(D.beforeSend&&D.beforeSend.call(D.context,y,D)===false){if(D.global){b.active--}return}if(y.aborted){return}var J=0,C;var z=v.clk;if(z){var H=z.name;if(H&&!z.disabled){D.extraData=D.extraData||{};D.extraData[H]=z.value;if(z.type=="image"){D.extraData[H+".x"]=v.clk_x;D.extraData[H+".y"]=v.clk_y}}}function I(){var Q=s.attr("target"),O=s.attr("action");v.setAttribute("target",G);if(v.getAttribute("method")!="POST"){v.setAttribute("method","POST")}if(v.getAttribute("action")!=D.url){v.setAttribute("action",D.url)}if(!D.skipEncodingOverride){s.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(D.timeout){C=setTimeout(function(){J=true;F(true)},D.timeout)}var P=[];try{if(D.extraData){for(var R in D.extraData){P.push(b('<input type="hidden" name="'+R+'" value="'+D.extraData[R]+'" />').appendTo(v)[0])}}x.appendTo("body");B.attachEvent?B.attachEvent("onload",F):B.addEventListener("load",F,false);v.submit()}finally{v.setAttribute("action",O);if(Q){v.setAttribute("target",Q)}else{s.removeAttr("target")}b(P).remove()}}if(D.forceSync){I()}else{setTimeout(I,10)}var M,N,L=50,w;function F(T){if(y.aborted||w){return}if(T===true&&y){y.abort("timeout");return}var S=B.contentWindow?B.contentWindow.document:B.contentDocument?B.contentDocument:B.document;if(!S||S.location.href==D.iframeSrc){if(!J){return}}B.detachEvent?B.detachEvent("onload",F):B.removeEventListener("load",F,false);var P=true;try{if(J){throw"timeout"}var U=D.dataType=="xml"||S.XMLDocument||b.isXMLDoc(S);a("isXml="+U);if(!U&&window.opera&&(S.body==null||S.body.innerHTML=="")){if(--L){a("requeing onLoad callback, DOM not available");setTimeout(F,250);return}}y.responseText=S.body?S.body.innerHTML:S.documentElement?S.documentElement.innerHTML:null;y.responseXML=S.XMLDocument?S.XMLDocument:S;if(U){D.dataType="xml"}y.getResponseHeader=function(W){var V={"content-type":D.dataType};return V[W]};var R=/(json|script|text)/.test(D.dataType);if(R||D.textarea){var O=S.getElementsByTagName("textarea")[0];if(O){y.responseText=O.value}else{if(R){var Q=S.getElementsByTagName("pre")[0];var n=S.getElementsByTagName("body")[0];if(Q){y.responseText=Q.textContent}else{if(n){y.responseText=n.innerHTML}}}}}else{if(D.dataType=="xml"&&!y.responseXML&&y.responseText!=null){y.responseXML=E(y.responseText)}}M=k(y,D.dataType,D)}catch(T){a("error caught:",T);P=false;y.error=T;D.error&&D.error.call(D.context,y,"error",T);K&&b.event.trigger("ajaxError",[y,D,T])}if(y.aborted){a("upload aborted");P=false}if(P){D.success&&D.success.call(D.context,M,"success",y);K&&b.event.trigger("ajaxSuccess",[y,D])}K&&b.event.trigger("ajaxComplete",[y,D]);if(K&&!--b.active){b.event.trigger("ajaxStop")}D.complete&&D.complete.call(D.context,y,P?"success":"error");w=true;if(D.timeout){clearTimeout(C)}setTimeout(function(){x.removeData("form-plugin-onload");x.remove();y.responseXML=null},100)}var E=b.parseXML||function(n,O){if(window.ActiveXObject){O=new ActiveXObject("Microsoft.XMLDOM");O.async="false";O.loadXML(n)}else{O=(new DOMParser()).parseFromString(n,"text/xml")}return(O&&O.documentElement&&O.documentElement.nodeName!="parsererror")?O:null};var q=b.parseJSON||function(n){return window["eval"]("("+n+")")};var k=function(S,Q,P){var O=S.getResponseHeader("content-type")||"",n=Q==="xml"||!Q&&O.indexOf("xml")>=0,R=n?S.responseXML:S.responseText;if(n&&R.documentElement.nodeName==="parsererror"){b.error&&b.error("parsererror")}if(P&&P.dataFilter){R=P.dataFilter(R,Q)}if(typeof R==="string"){if(Q==="json"||!Q&&O.indexOf("json")>=0){R=q(R)}else{if(Q==="script"||!Q&&O.indexOf("javascript")>=0){b.globalEval(R)}}}return R}}};b.fn.ajaxForm=function(c){if(this.length===0){var d={s:this.selector,c:this.context};if(!b.isReady&&d.s){a("DOM not ready, queuing ajaxForm");b(function(){b(d.s,d.c).ajaxForm(c)});return this}a("terminating; zero elements found by selector"+(b.isReady?"":" (DOM not ready)"));return this}return this.ajaxFormUnbind().bind("submit.form-plugin",function(f){if(!f.isDefaultPrevented()){f.preventDefault();b(this).ajaxSubmit(c)}}).bind("click.form-plugin",function(j){var i=j.target;var g=b(i);if(!(g.is(":submit,input:image"))){var f=g.closest(":submit");if(f.length==0){return}i=f[0]}var h=this;h.clk=i;if(i.type=="image"){if(j.offsetX!=undefined){h.clk_x=j.offsetX;h.clk_y=j.offsetY}else{if(typeof b.fn.offset=="function"){var k=g.offset();h.clk_x=j.pageX-k.left;h.clk_y=j.pageY-k.top}else{h.clk_x=j.pageX-i.offsetLeft;h.clk_y=j.pageY-i.offsetTop}}}setTimeout(function(){h.clk=h.clk_x=h.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(q){var p=[];if(this.length===0){return p}var d=this[0];var g=q?d.getElementsByTagName("*"):d.elements;if(!g){return p}var k,h,f,r,e,m,c;for(k=0,m=g.length;k<m;k++){e=g[k];f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f,value:b(e).val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(h=0,c=r.length;h<c;h++){p.push({name:f,value:r[h]})}}else{if(r!==null&&typeof r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var l=b(d.clk),o=l[0];f=o.name;if(f&&!o.disabled&&o.type=="image"){p.push({name:f,value:l.val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}return p};b.fn.formSerialize=function(c){return b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var c=[];this.each(function(){var h=this.name;if(!h){return}var f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof f!="undefined"){c.push({name:this.name,value:f})}}});return b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return g};b.fieldValue=function(c,j){var e=c.name,p=c.type,q=c.tagName.toLowerCase();if(j===undefined){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return o}m.push(o)}}return m}return b(c).val()};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c===undefined){c=true}return this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c===undefined){c=true}return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function a(){if(b.fn.ajaxSubmit.debug){var c="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(c)}else{if(window.opera&&window.opera.postError){window.opera.postError(c)}}}}})(jQuery);
\ No newline at end of file
+!function(a){"use strict";function b(b){var c=b.data;b.isDefaultPrevented()||(b.preventDefault(),a(this).ajaxSubmit(c))}function c(b){var c=b.target,d=a(c);if(!d.is("[type=submit],[type=image]")){var e=d.closest("[type=submit]");if(0===e.length)return;c=e[0]}var f=this;if(f.clk=c,"image"==c.type)if(void 0!==b.offsetX)f.clk_x=b.offsetX,f.clk_y=b.offsetY;else if("function"==typeof a.fn.offset){var g=d.offset();f.clk_x=b.pageX-g.left,f.clk_y=b.pageY-g.top}else f.clk_x=b.pageX-c.offsetLeft,f.clk_y=b.pageY-c.offsetTop;setTimeout(function(){f.clk=f.clk_x=f.clk_y=null},100)}function d(){if(a.fn.ajaxSubmit.debug){var b="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(b):window.opera&&window.opera.postError&&window.opera.postError(b)}}var e={};e.fileapi=void 0!==a("<input type='file'/>").get(0).files,e.formdata=void 0!==window.FormData;var f=!!a.fn.prop;a.fn.attr2=function(){if(!f)return this.attr.apply(this,arguments);var a=this.prop.apply(this,arguments);return a&&a.jquery||"string"==typeof a?a:this.attr.apply(this,arguments)},a.fn.ajaxSubmit=function(b){function c(c){var d,e,f=a.param(c,b.traditional).split("&"),g=f.length,h=[];for(d=0;g>d;d++)f[d]=f[d].replace(/\+/g," "),e=f[d].split("="),h.push([decodeURIComponent(e[0]),decodeURIComponent(e[1])]);return h}function g(d){for(var e=new FormData,f=0;f<d.length;f++)e.append(d[f].name,d[f].value);if(b.extraData){var g=c(b.extraData);for(f=0;f<g.length;f++)g[f]&&e.append(g[f][0],g[f][1])}b.data=null;var h=a.extend(!0,{},a.ajaxSettings,b,{contentType:!1,processData:!1,cache:!1,type:i||"POST"});b.uploadProgress&&(h.xhr=function(){var c=a.ajaxSettings.xhr();return c.upload&&c.upload.addEventListener("progress",function(a){var c=0,d=a.loaded||a.position,e=a.total;a.lengthComputable&&(c=Math.ceil(100*(d/e))),b.uploadProgress(a,d,e,c)},!1),c}),h.data=null;var j=h.beforeSend;return h.beforeSend=function(a,b){b.data=e,j&&j.call(this,a,b)},a.ajax(h)}function h(c){function e(a){var b=null;try{a.contentWindow&&(b=a.contentWindow.document)}catch(c){d("cannot get iframe.contentWindow document: "+c)}if(b)return b;try{b=a.contentDocument?a.contentDocument:a.document}catch(c){d("cannot get iframe.contentDocument: "+c),b=a.document}return b}function g(){function b(){try{var a=e(r).readyState;d("state = "+a),a&&"uninitialized"==a.toLowerCase()&&setTimeout(b,50)}catch(c){d("Server abort: ",c," (",c.name,")"),h(A),w&&clearTimeout(w),w=void 0}}var c=l.attr2("target"),f=l.attr2("action");x.setAttribute("target",o),i||x.setAttribute("method","POST"),f!=m.url&&x.setAttribute("action",m.url),m.skipEncodingOverride||i&&!/post/i.test(i)||l.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(w=setTimeout(function(){v=!0,h(z)},m.timeout));var g=[];try{if(m.extraData)for(var j in m.extraData)m.extraData.hasOwnProperty(j)&&(a.isPlainObject(m.extraData[j])&&m.extraData[j].hasOwnProperty("name")&&m.extraData[j].hasOwnProperty("value")?g.push(a('<input type="hidden" name="'+m.extraData[j].name+'">').val(m.extraData[j].value).appendTo(x)[0]):g.push(a('<input type="hidden" name="'+j+'">').val(m.extraData[j]).appendTo(x)[0]));m.iframeTarget||(q.appendTo("body"),r.attachEvent?r.attachEvent("onload",h):r.addEventListener("load",h,!1)),setTimeout(b,15);try{x.submit()}catch(k){var n=document.createElement("form").submit;n.apply(x)}}finally{x.setAttribute("action",f),c?x.setAttribute("target",c):l.removeAttr("target"),a(g).remove()}}function h(b){if(!s.aborted&&!F){if(E=e(r),E||(d("cannot access response document"),b=A),b===z&&s)return s.abort("timeout"),y.reject(s,"timeout"),void 0;if(b==A&&s)return s.abort("server abort"),y.reject(s,"error","server abort"),void 0;if(E&&E.location.href!=m.iframeSrc||v){r.detachEvent?r.detachEvent("onload",h):r.removeEventListener("load",h,!1);var c,f="success";try{if(v)throw"timeout";var g="xml"==m.dataType||E.XMLDocument||a.isXMLDoc(E);if(d("isXml="+g),!g&&window.opera&&(null===E.body||!E.body.innerHTML)&&--G)return d("requeing onLoad callback, DOM not available"),setTimeout(h,250),void 0;var i=E.body?E.body:E.documentElement;s.responseText=i?i.innerHTML:null,s.responseXML=E.XMLDocument?E.XMLDocument:E,g&&(m.dataType="xml"),s.getResponseHeader=function(a){var b={"content-type":m.dataType};return b[a]},i&&(s.status=Number(i.getAttribute("status"))||s.status,s.statusText=i.getAttribute("statusText")||s.statusText);var j=(m.dataType||"").toLowerCase(),k=/(json|script|text)/.test(j);if(k||m.textarea){var l=E.getElementsByTagName("textarea")[0];if(l)s.responseText=l.value,s.status=Number(l.getAttribute("status"))||s.status,s.statusText=l.getAttribute("statusText")||s.statusText;else if(k){var o=E.getElementsByTagName("pre")[0],p=E.getElementsByTagName("body")[0];o?s.responseText=o.textContent?o.textContent:o.innerText:p&&(s.responseText=p.textContent?p.textContent:p.innerText)}}else"xml"==j&&!s.responseXML&&s.responseText&&(s.responseXML=H(s.responseText));try{D=J(s,j,m)}catch(t){f="parsererror",s.error=c=t||f}}catch(t){d("error caught: ",t),f="error",s.error=c=t||f}s.aborted&&(d("upload aborted"),f=null),s.status&&(f=s.status>=200&&s.status<300||304===s.status?"success":"error"),"success"===f?(m.success&&m.success.call(m.context,D,"success",s),y.resolve(s.responseText,"success",s),n&&a.event.trigger("ajaxSuccess",[s,m])):f&&(void 0===c&&(c=s.statusText),m.error&&m.error.call(m.context,s,f,c),y.reject(s,"error",c),n&&a.event.trigger("ajaxError",[s,m,c])),n&&a.event.trigger("ajaxComplete",[s,m]),n&&!--a.active&&a.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,s,f),F=!0,m.timeout&&clearTimeout(w),setTimeout(function(){m.iframeTarget||q.remove(),s.responseXML=null},100)}}}var j,k,m,n,o,q,r,s,t,u,v,w,x=l[0],y=a.Deferred();if(c)for(k=0;k<p.length;k++)j=a(p[k]),f?j.prop("disabled",!1):j.removeAttr("disabled");if(m=a.extend(!0,{},a.ajaxSettings,b),m.context=m.context||m,o="jqFormIO"+(new Date).getTime(),m.iframeTarget?(q=a(m.iframeTarget),u=q.attr2("name"),u?o=u:q.attr2("name",o)):(q=a('<iframe name="'+o+'" src="'+m.iframeSrc+'" />'),q.css({position:"absolute",top:"-1000px",left:"-1000px"})),r=q[0],s={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(b){var c="timeout"===b?"timeout":"aborted";d("aborting upload... "+c),this.aborted=1;try{r.contentWindow.document.execCommand&&r.contentWindow.document.execCommand("Stop")}catch(e){}q.attr("src",m.iframeSrc),s.error=c,m.error&&m.error.call(m.context,s,c,b),n&&a.event.trigger("ajaxError",[s,m,c]),m.complete&&m.complete.call(m.context,s,c)}},n=m.global,n&&0===a.active++&&a.event.trigger("ajaxStart"),n&&a.event.trigger("ajaxSend",[s,m]),m.beforeSend&&m.beforeSend.call(m.context,s,m)===!1)return m.global&&a.active--,y.reject(),y;if(s.aborted)return y.reject(),y;t=x.clk,t&&(u=t.name,u&&!t.disabled&&(m.extraData=m.extraData||{},m.extraData[u]=t.value,"image"==t.type&&(m.extraData[u+".x"]=x.clk_x,m.extraData[u+".y"]=x.clk_y)));var z=1,A=2,B=a("meta[name=csrf-token]").attr("content"),C=a("meta[name=csrf-param]").attr("content");C&&B&&(m.extraData=m.extraData||{},m.extraData[C]=B),m.forceSync?g():setTimeout(g,10);var D,E,F,G=50,H=a.parseXML||function(a,b){return window.ActiveXObject?(b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)):b=(new DOMParser).parseFromString(a,"text/xml"),b&&b.documentElement&&"parsererror"!=b.documentElement.nodeName?b:null},I=a.parseJSON||function(a){return window.eval("("+a+")")},J=function(b,c,d){var e=b.getResponseHeader("content-type")||"",f="xml"===c||!c&&e.indexOf("xml")>=0,g=f?b.responseXML:b.responseText;return f&&"parsererror"===g.documentElement.nodeName&&a.error&&a.error("parsererror"),d&&d.dataFilter&&(g=d.dataFilter(g,c)),"string"==typeof g&&("json"===c||!c&&e.indexOf("json")>=0?g=I(g):("script"===c||!c&&e.indexOf("javascript")>=0)&&a.globalEval(g)),g};return y}if(!this.length)return d("ajaxSubmit: skipping submit process - no element selected"),this;var i,j,k,l=this;"function"==typeof b?b={success:b}:void 0===b&&(b={}),i=b.type||this.attr2("method"),j=b.url||this.attr2("action"),k="string"==typeof j?a.trim(j):"",k=k||window.location.href||"",k&&(k=(k.match(/^([^#]+)/)||[])[1]),b=a.extend(!0,{url:k,success:a.ajaxSettings.success,type:i||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},b);var m={};if(this.trigger("form-pre-serialize",[this,b,m]),m.veto)return d("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(b.beforeSerialize&&b.beforeSerialize(this,b)===!1)return d("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var n=b.traditional;void 0===n&&(n=a.ajaxSettings.traditional);var o,p=[],q=this.formToArray(b.semantic,p);if(b.data&&(b.extraData=b.data,o=a.param(b.data,n)),b.beforeSubmit&&b.beforeSubmit(q,this,b)===!1)return d("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[q,this,b,m]),m.veto)return d("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var r=a.param(q,n);o&&(r=r?r+"&"+o:o),"GET"==b.type.toUpperCase()?(b.url+=(b.url.indexOf("?")>=0?"&":"?")+r,b.data=null):b.data=r;var s=[];if(b.resetForm&&s.push(function(){l.resetForm()}),b.clearForm&&s.push(function(){l.clearForm(b.includeHidden)}),!b.dataType&&b.target){var t=b.success||function(){};s.push(function(c){var d=b.replaceTarget?"replaceWith":"html";a(b.target)[d](c).each(t,arguments)})}else b.success&&s.push(b.success);if(b.success=function(a,c,d){for(var e=b.context||this,f=0,g=s.length;g>f;f++)s[f].apply(e,[a,c,d||l,l])},b.error){var u=b.error;b.error=function(a,c,d){var e=b.context||this;u.apply(e,[a,c,d,l])}}if(b.complete){var v=b.complete;b.complete=function(a,c){var d=b.context||this;v.apply(d,[a,c,l])}}var w=a('input[type=file]:enabled[value!=""]',this),x=w.length>0,y="multipart/form-data",z=l.attr("enctype")==y||l.attr("encoding")==y,A=e.fileapi&&e.formdata;d("fileAPI :"+A);var B,C=(x||z)&&!A;b.iframe!==!1&&(b.iframe||C)?b.closeKeepAlive?a.get(b.closeKeepAlive,function(){B=h(q)}):B=h(q):B=(x||z)&&A?g(q):a.ajax(b),l.removeData("jqxhr").data("jqxhr",B);for(var D=0;D<p.length;D++)p[D]=null;return this.trigger("form-submit-notify",[this,b]),this},a.fn.ajaxForm=function(e){if(e=e||{},e.delegation=e.delegation&&a.isFunction(a.fn.on),!e.delegation&&0===this.length){var f={s:this.selector,c:this.context};return!a.isReady&&f.s?(d("DOM not ready, queuing ajaxForm"),a(function(){a(f.s,f.c).ajaxForm(e)}),this):(d("terminating; zero elements found by selector"+(a.isReady?"":" (DOM not ready)")),this)}return e.delegation?(a(document).off("submit.form-plugin",this.selector,b).off("click.form-plugin",this.selector,c).on("submit.form-plugin",this.selector,e,b).on("click.form-plugin",this.selector,e,c),this):this.ajaxFormUnbind().bind("submit.form-plugin",e,b).bind("click.form-plugin",e,c)},a.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},a.fn.formToArray=function(b,c){var d=[];if(0===this.length)return d;var f=this[0],g=b?f.getElementsByTagName("*"):f.elements;if(!g)return d;var h,i,j,k,l,m,n;for(h=0,m=g.length;m>h;h++)if(l=g[h],j=l.name,j&&!l.disabled)if(b&&f.clk&&"image"==l.type)f.clk==l&&(d.push({name:j,value:a(l).val(),type:l.type}),d.push({name:j+".x",value:f.clk_x},{name:j+".y",value:f.clk_y}));else if(k=a.fieldValue(l,!0),k&&k.constructor==Array)for(c&&c.push(l),i=0,n=k.length;n>i;i++)d.push({name:j,value:k[i]});else if(e.fileapi&&"file"==l.type){c&&c.push(l);var o=l.files;if(o.length)for(i=0;i<o.length;i++)d.push({name:j,value:o[i],type:l.type});else d.push({name:j,value:"",type:l.type})}else null!==k&&"undefined"!=typeof k&&(c&&c.push(l),d.push({name:j,value:k,type:l.type,required:l.required}));if(!b&&f.clk){var p=a(f.clk),q=p[0];j=q.name,j&&!q.disabled&&"image"==q.type&&(d.push({name:j,value:p.val()}),d.push({name:j+".x",value:f.clk_x},{name:j+".y",value:f.clk_y}))}return d},a.fn.formSerialize=function(b){return a.param(this.formToArray(b))},a.fn.fieldSerialize=function(b){var c=[];return this.each(function(){var d=this.name;if(d){var e=a.fieldValue(this,b);if(e&&e.constructor==Array)for(var f=0,g=e.length;g>f;f++)c.push({name:d,value:e[f]});else null!==e&&"undefined"!=typeof e&&c.push({name:this.name,value:e})}}),a.param(c)},a.fn.fieldValue=function(b){for(var c=[],d=0,e=this.length;e>d;d++){var f=this[d],g=a.fieldValue(f,b);null===g||"undefined"==typeof g||g.constructor==Array&&!g.length||(g.constructor==Array?a.merge(c,g):c.push(g))}return c},a.fieldValue=function(b,c){var d=b.name,e=b.type,f=b.tagName.toLowerCase();if(void 0===c&&(c=!0),c&&(!d||b.disabled||"reset"==e||"button"==e||("checkbox"==e||"radio"==e)&&!b.checked||("submit"==e||"image"==e)&&b.form&&b.form.clk!=b||"select"==f&&-1==b.selectedIndex))return null;if("select"==f){var g=b.selectedIndex;if(0>g)return null;for(var h=[],i=b.options,j="select-one"==e,k=j?g+1:i.length,l=j?g:0;k>l;l++){var m=i[l];if(m.selected){var n=m.value;if(n||(n=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),j)return n;h.push(n)}}return h}return a(b).val()},a.fn.clearForm=function(b){return this.each(function(){a("input,select,textarea",this).clearFields(b)})},a.fn.clearFields=a.fn.clearInputs=function(b){var c=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var d=this.type,e=this.tagName.toLowerCase();c.test(d)||"textarea"==e?this.value="":"checkbox"==d||"radio"==d?this.checked=!1:"select"==e?this.selectedIndex=-1:"file"==d?/MSIE/.test(navigator.userAgent)?a(this).replaceWith(a(this).clone(!0)):a(this).val(""):b&&(b===!0&&/hidden/.test(d)||"string"==typeof b&&a(this).is(b))&&(this.value="")})},a.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},a.fn.enable=function(a){return void 0===a&&(a=!0),this.each(function(){this.disabled=!a})},a.fn.selected=function(b){return void 0===b&&(b=!0),this.each(function(){var c=this.type;if("checkbox"==c||"radio"==c)this.checked=b;else if("option"==this.tagName.toLowerCase()){var d=a(this).parent("select");b&&d[0]&&"select-one"==d[0].type&&d.find("option").selected(!1),this.selected=b}})},a.fn.ajaxSubmit.debug=!1}(jQuery);
\ No newline at end of file
index 0bdcc5ec972638073e627ef3e06233660afa15df..cb5500822142feab33fcba3b9d97253918d51f01 100644 (file)
@@ -1 +1 @@
-var JSON;if(!JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());
\ No newline at end of file
+var JSON;JSON||(JSON={}),function(){"use strict";function f(a){return 10>a?"0"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function str(a,b){var c,d,e,f,g,h=gap,i=b[a];switch(i&&"object"==typeof i&&"function"==typeof i.toJSON&&(i=i.toJSON(a)),"function"==typeof rep&&(i=rep.call(b,a,i)),typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";if(gap+=indent,g=[],"[object Array]"===Object.prototype.toString.apply(i)){for(f=i.length,c=0;f>c;c+=1)g[c]=str(c,i)||"null";return e=0===g.length?"[]":gap?"[\n"+gap+g.join(",\n"+gap)+"\n"+h+"]":"["+g.join(",")+"]",gap=h,e}if(rep&&"object"==typeof rep)for(f=rep.length,c=0;f>c;c+=1)"string"==typeof rep[c]&&(d=rep[c],e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&g.push(quote(d)+(gap?": ":":")+e));return e=0===g.length?"{}":gap?"{\n"+gap+g.join(",\n"+gap)+"\n"+h+"}":"{"+g.join(",")+"}",gap=h,e}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;"function"!=typeof JSON.stringify&&(JSON.stringify=function(a,b,c){var d;if(gap="",indent="","number"==typeof c)for(d=0;c>d;d+=1)indent+=" ";else"string"==typeof c&&(indent=c);if(rep=b,b&&"function"!=typeof b&&("object"!=typeof b||"number"!=typeof b.length))throw new Error("JSON.stringify");return str("",{"":a})}),"function"!=typeof JSON.parse&&(JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}();
\ No newline at end of file
index 53e236adfa8f7820083fba4da532a7f8f5a1ceb4..8daa4d6fecc22588357c68a72e4fc8f211151b89 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(b){var a={},c={};wp.mce=wp.mce||{};wp.mce.view={defaults:{pattern:{view:Backbone.View,text:function(d){return d.options.original},toView:function(e){if(!this.pattern){return}this.pattern.lastIndex=0;var d=this.pattern.exec(e);if(!d){return}return{index:d.index,content:d[0],options:{original:d[0],results:d}}}},shortcode:{view:Backbone.View,text:function(d){return d.options.shortcode.string()},toView:function(e){var d=wp.shortcode.next(this.shortcode,e);if(!d){return}return{index:d.index,content:d.content,options:{shortcode:d.shortcode}}}}},add:function(i,e){var g,d,h,f;if(e.extend){g=wp.mce.view.get(e.extend)}else{if(e.shortcode){g=wp.mce.view.defaults.shortcode}else{g=wp.mce.view.defaults.pattern}}_.defaults(e,g);e.id=i;f={remove:function(){delete c[this.el.id];this.$el.parent().remove();if(d){d.apply(this,arguments)}return this}};if(_.isFunction(e.view)){h=e.view}else{h=g.view;d=e.view.remove;_.defaults(f,e.view)}if(!d&&!h._mceview){d=h.prototype.remove}e.view=h.extend(f,{_mceview:true});a[i]=e},get:function(d){return a[d]},remove:function(d){delete a[d]},toViews:function(e){var d=[{content:e}],f;_.each(a,function(h,g){f=d.slice();d=[];_.each(f,function(k){var j=k.content,i;if(k.processed){d.push(k);return}while(j&&(i=h.toView(j))){if(i.index){d.push({content:j.substring(0,i.index)})}d.push({content:wp.mce.view.toView(g,i.options),processed:true});j=j.slice(i.index+i.content.length)}if(j){d.push({content:j})}})});return _.pluck(d,"content").join("")},toView:function(e,g){var f=wp.mce.view.get(e),d,h;if(!f){return""}d=new f.view(_.extend(g||{},{viewType:e}));h=d.el.id=d.el.id||_.uniqueId("__wpmce-");c[h]=d;d.$wrapper=b();return wp.html.string({tag:"span"===d.tagName?"span":"div",attrs:{"class":"wp-view-wrap wp-view-type-"+e,"data-wp-view":h,contenteditable:false}})},render:function(d){b(".wp-view-wrap",d).each(function(){var f=b(this),e=wp.mce.view.instance(this);if(!e){return}e.$wrapper=f;e.render();e.$el.detach();f.empty().append(e.el).append('<span data-wp-view-end class="wp-view-end"></span>')})},toText:function(d){return d.replace(/<(?:div|span)[^>]+data-wp-view="([^"]+)"[^>]*>.*?<span[^>]+data-wp-view-end[^>]*><\/span><\/(?:div|span)>/g,function(g,h){var e=c[h],f;if(e){f=wp.mce.view.get(e.options.viewType)}return e&&f?f.text(e):""})},removeInternalAttrs:function(e){var d={};_.each(e,function(g,f){if(-1===f.indexOf("data-mce")){d[f]=g}});return d},attrs:function(d){return wp.mce.view.removeInternalAttrs(wp.html.attrs(d))},instance:function(d){var e=b(d).data("wp-view");if(e){return c[e]}},select:function(e){var d=b(e);if(d.hasClass("selected")){return}d.addClass("selected");b(e.firstChild).trigger("select")},deselect:function(e){var d=b(e);if(!d.hasClass("selected")){return}d.removeClass("selected");b(e.firstChild).trigger("deselect")}}}(jQuery));
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b={},c={};wp.mce=wp.mce||{},wp.mce.view={defaults:{pattern:{view:Backbone.View,text:function(a){return a.options.original},toView:function(a){if(this.pattern){this.pattern.lastIndex=0;var b=this.pattern.exec(a);if(b)return{index:b.index,content:b[0],options:{original:b[0],results:b}}}}},shortcode:{view:Backbone.View,text:function(a){return a.options.shortcode.string()},toView:function(a){var b=wp.shortcode.next(this.shortcode,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}}}},add:function(a,d){var e,f,g,h;e=d.extend?wp.mce.view.get(d.extend):d.shortcode?wp.mce.view.defaults.shortcode:wp.mce.view.defaults.pattern,_.defaults(d,e),d.id=a,h={remove:function(){return delete c[this.el.id],this.$el.parent().remove(),f&&f.apply(this,arguments),this}},_.isFunction(d.view)?g=d.view:(g=e.view,f=d.view.remove,_.defaults(h,d.view)),f||g._mceview||(f=g.prototype.remove),d.view=g.extend(h,{_mceview:!0}),b[a]=d},get:function(a){return b[a]},remove:function(a){delete b[a]},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 d.push(c),void 0;for(;f&&(e=a.toView(f));)e.index&&d.push({content:f.substring(0,e.index)}),d.push({content:wp.mce.view.toView(b,e.options),processed:!0}),f=f.slice(e.index+e.content.length);f&&d.push({content:f})})}),_.pluck(d,"content").join("")},toView:function(b,d){var e,f,g=wp.mce.view.get(b);return g?(e=new g.view(_.extend(d||{},{viewType:b})),f=e.el.id=e.el.id||_.uniqueId("__wpmce-"),c[f]=e,e.$wrapper=a(),wp.html.string({tag:"span"===e.tagName?"span":"div",attrs:{"class":"wp-view-wrap wp-view-type-"+b,"data-wp-view":f,contenteditable:!1}})):""},render:function(b){a(".wp-view-wrap",b).each(function(){var b=a(this),c=wp.mce.view.instance(this);c&&(c.$wrapper=b,c.render(),c.$el.detach(),b.empty().append(c.el).append('<span data-wp-view-end class="wp-view-end"></span>'))})},toText:function(a){return a.replace(/<(?:div|span)[^>]+data-wp-view="([^"]+)"[^>]*>.*?<span[^>]+data-wp-view-end[^>]*><\/span><\/(?:div|span)>/g,function(a,b){var d,e=c[b];return e&&(d=wp.mce.view.get(e.options.viewType)),e&&d?d.text(e):""})},removeInternalAttrs:function(a){var b={};return _.each(a,function(a,c){-1===c.indexOf("data-mce")&&(b[c]=a)}),b},attrs:function(a){return wp.mce.view.removeInternalAttrs(wp.html.attrs(a))},instance:function(b){var d=a(b).data("wp-view");return d?c[d]:void 0},select:function(b){var c=a(b);c.hasClass("selected")||(c.addClass("selected"),a(b.firstChild).trigger("select"))},deselect:function(b){var c=a(b);c.hasClass("selected")&&(c.removeClass("selected"),a(b.firstChild).trigger("deselect"))}}}(jQuery);
\ No newline at end of file
index fc497cd84dabc40d98e1fe633570859338c6508f..5e2a5fa6294f75f85f28dd3d77ca03ea611defbb 100644 (file)
                                args.perPage = -1;
 
                                // Mark the `orderby` override attribute.
                                args.perPage = -1;
 
                                // Mark the `orderby` override attribute.
+                               if( undefined !== attrs.orderby )
+                                       attrs._orderByField = attrs.orderby;
+
                                if ( 'rand' === attrs.orderby )
                                        attrs._orderbyRandom = true;
 
                                if ( 'rand' === attrs.orderby )
                                        attrs._orderbyRandom = true;
 
                                        attrs.id = props.uploadedTo;
 
                                // Check if the gallery is randomly ordered.
                                        attrs.id = props.uploadedTo;
 
                                // Check if the gallery is randomly ordered.
+                               delete attrs.orderby;
+
                                if ( attrs._orderbyRandom )
                                        attrs.orderby = 'rand';
                                if ( attrs._orderbyRandom )
                                        attrs.orderby = 'rand';
+                               else if ( attrs._orderByField && attrs._orderByField != 'rand' )
+                                       attrs.orderby = attrs._orderByField;
+
                                delete attrs._orderbyRandom;
                                delete attrs._orderbyRandom;
+                               delete attrs._orderByField;
 
                                // If the `ids` attribute is set and `orderby` attribute
                                // is the default value, clear it for cleaner output.
 
                                // If the `ids` attribute is set and `orderby` attribute
                                // is the default value, clear it for cleaner output.
index 091450afa0adba570c0b24b8d089a4a459eaf9c9..da766b6e68b5cbbf540f67f6b1eef30021b20701 100644 (file)
@@ -1 +1 @@
-(function(b){var a={};wp.media.string={props:function(f,i){var h,c,e,g,d,j=wp.media.view.settings.defaultProps;d=function(k){if("image"===k.type&&!k.alt){k.alt=k.caption||k.title||"";k.alt=k.alt.replace(/<\/?[^>]+>/g,"");k.alt=k.alt.replace(/[\r\n]+/g," ")}return k};f=f?_.clone(f):{};if(i&&i.type){f.type=i.type}if("image"===f.type){f=_.defaults(f||{},{align:j.align||getUserSetting("align","none"),size:j.size||getUserSetting("imgsize","medium"),url:"",classes:[]})}if(!i){return d(f)}f.title=f.title||i.title;h=f.link||j.link||getUserSetting("urlbutton","file");if("file"===h||"embed"===h){c=i.url}else{if("post"===h){c=i.link}else{if("custom"===h){c=f.linkUrl}}}f.linkUrl=c||"";if("image"===i.type){f.classes.push("wp-image-"+i.id);g=i.sizes;e=g&&g[f.size]?g[f.size]:i;_.extend(f,_.pick(i,"align","caption","alt"),{width:e.width,height:e.height,src:e.url,captionId:"attachment_"+i.id})}else{if("video"===i.type||"audio"===i.type){_.extend(f,_.pick(i,"title","type","icon","mime"))}else{f.title=f.title||i.filename;f.rel=f.rel||"attachment wp-att-"+i.id}}return d(f)},link:function(d,e){var c;d=wp.media.string.props(d,e);c={tag:"a",content:d.title,attrs:{href:d.linkUrl}};if(d.rel){c.attrs.rel=d.rel}return wp.html.string(c)},audio:function(c,d){return wp.media.string._audioVideo("audio",c,d)},video:function(c,d){return wp.media.string._audioVideo("video",c,d)},_audioVideo:function(e,d,g){var f,c,h;d=wp.media.string.props(d,g);if(d.link!=="embed"){return wp.media.string.link(d)}f={};if("video"===e){if(g.width){f.width=g.width}if(g.height){f.height=g.height}}h=g.filename.split(".").pop();if(_.contains(wp.media.view.settings.embedExts,h)){f[h]=g.url}else{return wp.media.string.link(d)}c=wp.shortcode.string({tag:e,attrs:f});return c},image:function(g,i){var c={},d,f,h,e;g=wp.media.string.props(g,i);f=g.classes||[];c.src=typeof i!=="undefined"?i.url:g.url;_.extend(c,_.pick(g,"width","height","alt"));if(g.align&&!g.caption){f.push("align"+g.align)}if(g.size){f.push("size-"+g.size)}c["class"]=_.compact(f).join(" ");d={tag:"img",attrs:c,single:true};if(g.linkUrl){d={tag:"a",attrs:{href:g.linkUrl},content:d}}e=wp.html.string(d);if(g.caption){h={};if(c.width){h.width=c.width}if(g.captionId){h.id=g.captionId}if(g.align){h.align="align"+g.align}e=wp.shortcode.string({tag:"caption",attrs:h,content:e+" "+g.caption})}return e}};wp.media.gallery=(function(){var c={};return{defaults:{order:"ASC",id:wp.media.view.settings.post.id,itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",orderby:"menu_order ID"},attachments:function(h){var j=h.string(),d=c[j],f,e,i,g;delete c[j];if(d){return d}f=_.defaults(h.attrs.named,wp.media.gallery.defaults);e=_.pick(f,"orderby","order");e.type="image";e.perPage=-1;if("rand"===f.orderby){f._orderbyRandom=true}if(!f.orderby||/^menu_order(?: ID)?$/i.test(f.orderby)){e.orderby="menuOrder"}if(f.ids){e.post__in=f.ids.split(",");e.orderby="post__in"}else{if(f.include){e.post__in=f.include.split(",")}}if(f.exclude){e.post__not_in=f.exclude.split(",")}if(!e.post__in){e.uploadedTo=f.id}g=_.omit(f,"id","ids","include","exclude","orderby","order");i=wp.media.query(e);i.gallery=new Backbone.Model(g);return i},shortcode:function(d){var f=d.props.toJSON(),e=_.pick(f,"orderby","order"),g,h;if(d.gallery){_.extend(e,d.gallery.toJSON())}e.ids=d.pluck("id");if(f.uploadedTo){e.id=f.uploadedTo}if(e._orderbyRandom){e.orderby="rand"}delete e._orderbyRandom;if(e.ids&&"post__in"===e.orderby){delete e.orderby}_.each(wp.media.gallery.defaults,function(j,i){if(j===e[i]){delete e[i]}});g=new wp.shortcode({tag:"gallery",attrs:e,type:"single"});h=new wp.media.model.Attachments(d.models,{props:f});h.gallery=d.gallery;c[g.string()]=h;return g},edit:function(g){var f=wp.shortcode.next("gallery",g),h=wp.media.gallery.defaults.id,d,e;if(!f||f.content!==g){return}f=f.shortcode;if(_.isUndefined(f.get("id"))&&!_.isUndefined(h)){f.set("id",h)}d=wp.media.gallery.attachments(f);e=new wp.media.model.Selection(d.models,{props:d.props.toJSON(),multiple:true});e.gallery=d.gallery;e.more().done(function(){e.props.set({query:false});e.unmirror();e.props.unset("orderby")});if(this.frame){this.frame.dispose()}this.frame=wp.media({frame:"post",state:"gallery-edit",title:wp.media.view.l10n.editGalleryTitle,editing:true,multiple:true,selection:e}).open();return this.frame}}}());wp.media.featuredImage={get:function(){return wp.media.view.settings.post.featuredImageId},set:function(d){var c=wp.media.view.settings;c.post.featuredImageId=d;wp.media.post("set-post-thumbnail",{json:true,post_id:c.post.id,thumbnail_id:c.post.featuredImageId,_wpnonce:c.post.nonce}).done(function(e){b(".inside","#postimagediv").html(e)})},frame:function(){if(this._frame){return this._frame}this._frame=wp.media({state:"featured-image",states:[new wp.media.controller.FeaturedImage()]});this._frame.on("toolbar:create:featured-image",function(c){this.createSelectToolbar(c,{text:wp.media.view.l10n.setFeaturedImage})},this._frame);this._frame.state("featured-image").on("select",this.select);return this._frame},select:function(){var d=wp.media.view.settings,c=this.get("selection").single();if(!d.post.featuredImageId){return}wp.media.featuredImage.set(c?c.id:-1)},init:function(){b("#postimagediv").on("click","#set-post-thumbnail",function(c){c.preventDefault();c.stopPropagation();wp.media.featuredImage.frame().open()}).on("click","#remove-post-thumbnail",function(){wp.media.view.settings.post.featuredImageId=-1})}};b(wp.media.featuredImage.init);wp.media.editor={insert:function(g){var d=typeof(tinymce)!="undefined",j=typeof(QTags)!="undefined",c=window.wpActiveEditor,f;if(window.send_to_editor){return window.send_to_editor.apply(this,arguments)}if(!c){if(d&&tinymce.activeEditor){f=tinymce.activeEditor;c=window.wpActiveEditor=f.id}else{if(!j){return false}}}else{if(d){if(tinymce.activeEditor&&(tinymce.activeEditor.id=="mce_fullscreen"||tinymce.activeEditor.id=="wp_mce_fullscreen")){f=tinymce.activeEditor}else{f=tinymce.get(c)}}}if(f&&!f.isHidden()){if(tinymce.isIE&&f.windowManager.insertimagebookmark){f.selection.moveToBookmark(f.windowManager.insertimagebookmark)}if(g.indexOf("[caption")!==-1){if(f.wpSetImgCaption){g=f.wpSetImgCaption(g)}}else{if(g.indexOf("[gallery")!==-1){if(f.plugins.wpgallery){g=f.plugins.wpgallery._do_gallery(g)}}else{if(g.indexOf("[embed")===0){if(f.plugins.wordpress){g=f.plugins.wordpress._setEmbed(g)}}}}f.execCommand("mceInsertContent",false,g)}else{if(j){QTags.insertContent(g)}else{document.getElementById(c).value+=g}}if(window.tb_remove){try{window.tb_remove()}catch(i){}}},add:function(e,c){var d=this.get(e);if(d){return d}d=a[e]=wp.media(_.defaults(c||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:true}));d.on("insert",function(f){var g=d.state();f=f||g.get("selection");if(!f){return}b.when.apply(b,f.map(function(i){var h=g.display(i).toJSON();return this.send.attachment(h,i.toJSON())},this)).done(function(){wp.media.editor.insert(_.toArray(arguments).join("\n\n"))})},this);d.state("gallery-edit").on("update",function(f){this.insert(wp.media.gallery.shortcode(f).string())},this);d.state("embed").on("select",function(){var g=d.state(),f=g.get("type"),h=g.props.toJSON();h.url=h.url||"";if("link"===f){_.defaults(h,{title:h.url,linkUrl:h.url});this.send.link(h).done(function(i){wp.media.editor.insert(i)})}else{if("image"===f){_.defaults(h,{title:h.url,linkUrl:"",align:"none",link:"none"});if("none"===h.link){h.linkUrl=""}else{if("file"===h.link){h.linkUrl=h.url}}this.insert(wp.media.string.image(h))}}},this);d.state("featured-image").on("select",wp.media.featuredImage.select);d.setState(d.options.state);return d},id:function(c){if(c){return c}c=wpActiveEditor;if(!c&&typeof tinymce!=="undefined"&&tinymce.activeEditor){c=tinymce.activeEditor.id}c=c||"";return c},get:function(c){c=this.id(c);return a[c]},remove:function(c){c=this.id(c);delete a[c]},send:{attachment:function(f,g){var c=g.caption,d,e;if(!wp.media.view.settings.captions){delete g.caption}f=wp.media.string.props(f,g);d={id:g.id,post_content:g.description,post_excerpt:c};if(f.linkUrl){d.url=f.linkUrl}if("image"===g.type){e=wp.media.string.image(f);_.each({align:"align",size:"image-size",alt:"image_alt"},function(h,i){if(f[i]){d[h]=f[i]}})}else{if("video"===g.type){e=wp.media.string.video(f,g)}else{if("audio"===g.type){e=wp.media.string.audio(f,g)}else{e=wp.media.string.link(f);d.post_title=f.title}}}return 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(c){return wp.media.post("send-link-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,src:c.linkUrl,title:c.title,html:wp.media.string.link(c),post_id:wp.media.view.settings.post.id})}},open:function(f,c){var e,d;c=c||{};f=this.id(f);if(typeof tinymce!=="undefined"){d=tinymce.get(f);if(tinymce.isIE&&d&&!d.isHidden()){d.focus();d.windowManager.insertimagebookmark=d.selection.getBookmark()}}e=this.get(f);if(!e||(e.options&&c.state!==e.options.state)){e=this.add(f,c)}return e.open()},init:function(){b(document.body).on("click",".insert-media",function(e){var f=b(this),d=f.data("editor"),c={frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:true};e.preventDefault();f.blur();if(f.hasClass("gallery")){c.state="gallery";c.title=wp.media.view.l10n.createGalleryTitle}wp.media.editor.open(d,c)})}};_.bindAll(wp.media.editor,"open");b(wp.media.editor.init)}(jQuery));
\ No newline at end of file
+!function(a){var b={};wp.media.string={props:function(a,b){var c,d,e,f,g,h=wp.media.view.settings.defaultProps;return g=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?_.clone(a):{},b&&b.type&&(a.type=b.type),"image"===a.type&&(a=_.defaults(a||{},{align:h.align||getUserSetting("align","none"),size:h.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),b?(a.title=a.title||b.title,c=a.link||h.link||getUserSetting("urlbutton","file"),"file"===c||"embed"===c?d=b.url:"post"===c?d=b.link:"custom"===c&&(d=a.linkUrl),a.linkUrl=d||"","image"===b.type?(a.classes.push("wp-image-"+b.id),f=b.sizes,e=f&&f[a.size]?f[a.size]:b,_.extend(a,_.pick(b,"align","caption","alt"),{width:e.width,height:e.height,src:e.url,captionId:"attachment_"+b.id})):"video"===b.type||"audio"===b.type?_.extend(a,_.pick(b,"title","type","icon","mime")):(a.title=a.title||b.filename,a.rel=a.rel||"attachment wp-att-"+b.id),g(a)):g(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,b,c){var d,e,f;return b=wp.media.string.props(b,c),"embed"!==b.link?wp.media.string.link(b):(d={},"video"===a&&(c.width&&(d.width=c.width),c.height&&(d.height=c.height)),f=c.filename.split(".").pop(),_.contains(wp.media.view.settings.embedExts,f)?(d[f]=c.url,e=wp.shortcode.string({tag:a,attrs:d})):wp.media.string.link(b))},image:function(a,b){var c,d,e,f,g={};return a=wp.media.string.props(a,b),d=a.classes||[],g.src="undefined"!=typeof b?b.url:a.url,_.extend(g,_.pick(a,"width","height","alt")),a.align&&!a.caption&&d.push("align"+a.align),a.size&&d.push("size-"+a.size),g["class"]=_.compact(d).join(" "),c={tag:"img",attrs:g,single:!0},a.linkUrl&&(c={tag:"a",attrs:{href:a.linkUrl},content:c}),f=wp.html.string(c),a.caption&&(e={},g.width&&(e.width=g.width),a.captionId&&(e.id=a.captionId),a.align&&(e.align="align"+a.align),f=wp.shortcode.string({tag:"caption",attrs:e,content:f+" "+a.caption})),f}},wp.media.gallery=function(){var a={};return{defaults:{order:"ASC",id:wp.media.view.settings.post.id,itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",orderby:"menu_order ID"},attachments:function(b){var c,d,e,f,g=b.string(),h=a[g];return delete a[g],h?h:(c=_.defaults(b.attrs.named,wp.media.gallery.defaults),d=_.pick(c,"orderby","order"),d.type="image",d.perPage=-1,void 0!==c.orderby&&(c._orderByField=c.orderby),"rand"===c.orderby&&(c._orderbyRandom=!0),(!c.orderby||/^menu_order(?: ID)?$/i.test(c.orderby))&&(d.orderby="menuOrder"),c.ids?(d.post__in=c.ids.split(","),d.orderby="post__in"):c.include&&(d.post__in=c.include.split(",")),c.exclude&&(d.post__not_in=c.exclude.split(",")),d.post__in||(d.uploadedTo=c.id),f=_.omit(c,"id","ids","include","exclude","orderby","order"),e=wp.media.query(d),e.gallery=new Backbone.Model(f),e)},shortcode:function(b){var c,d,e=b.props.toJSON(),f=_.pick(e,"orderby","order");return b.gallery&&_.extend(f,b.gallery.toJSON()),f.ids=b.pluck("id"),e.uploadedTo&&(f.id=e.uploadedTo),delete f.orderby,f._orderbyRandom?f.orderby="rand":f._orderByField&&"rand"!=f._orderByField&&(f.orderby=f._orderByField),delete f._orderbyRandom,delete f._orderByField,f.ids&&"post__in"===f.orderby&&delete f.orderby,_.each(wp.media.gallery.defaults,function(a,b){a===f[b]&&delete f[b]}),c=new wp.shortcode({tag:"gallery",attrs:f,type:"single"}),d=new wp.media.model.Attachments(b.models,{props:e}),d.gallery=b.gallery,a[c.string()]=d,c},edit:function(a){var b,c,d=wp.shortcode.next("gallery",a),e=wp.media.gallery.defaults.id;if(d&&d.content===a)return d=d.shortcode,_.isUndefined(d.get("id"))&&!_.isUndefined(e)&&d.set("id",e),b=wp.media.gallery.attachments(d),c=new wp.media.model.Selection(b.models,{props:b.props.toJSON(),multiple:!0}),c.gallery=b.gallery,c.more().done(function(){c.props.set({query:!1}),c.unmirror(),c.props.unset("orderby")}),this.frame&&this.frame.dispose(),this.frame=wp.media({frame:"post",state:"gallery-edit",title:wp.media.view.l10n.editGalleryTitle,editing:!0,multiple:!0,selection:c}).open(),this.frame}}}(),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]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=wp.media.view.settings,b=this.get("selection").single();a.post.featuredImageId&&wp.media.featuredImage.set(b?b.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 b,c="undefined"!=typeof tinymce,d="undefined"!=typeof QTags,e=window.wpActiveEditor;if(window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(e)c&&(b=!tinymce.activeEditor||"mce_fullscreen"!=tinymce.activeEditor.id&&"wp_mce_fullscreen"!=tinymce.activeEditor.id?tinymce.get(e):tinymce.activeEditor);else if(c&&tinymce.activeEditor)b=tinymce.activeEditor,e=window.wpActiveEditor=b.id;else if(!d)return!1;if(b&&!b.isHidden()?(tinymce.isIE&&b.windowManager.insertimagebookmark&&b.selection.moveToBookmark(b.windowManager.insertimagebookmark),-1!==a.indexOf("[caption")?b.wpSetImgCaption&&(a=b.wpSetImgCaption(a)):-1!==a.indexOf("[gallery")?b.plugins.wpgallery&&(a=b.plugins.wpgallery._do_gallery(a)):0===a.indexOf("[embed")&&b.plugins.wordpress&&(a=b.plugins.wordpress._setEmbed(a)),b.execCommand("mceInsertContent",!1,a)):d?QTags.insertContent(a):document.getElementById(e).value+=a,window.tb_remove)try{window.tb_remove()}catch(f){}},add:function(c,d){var e=this.get(c);return e?e:(e=b[c]=wp.media(_.defaults(d||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),e.on("insert",function(b){var c=e.state();b=b||c.get("selection"),b&&a.when.apply(a,b.map(function(a){var b=c.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(_.toArray(arguments).join("\n\n"))})},this),e.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),e.state("embed").on("select",function(){var a=e.state(),b=a.get("type"),c=a.props.toJSON();c.url=c.url||"","link"===b?(_.defaults(c,{title:c.url,linkUrl:c.url}),this.send.link(c).done(function(a){wp.media.editor.insert(a)})):"image"===b&&(_.defaults(c,{title:c.url,linkUrl:"",align:"none",link:"none"}),"none"===c.link?c.linkUrl="":"file"===c.link&&(c.linkUrl=c.url),this.insert(wp.media.string.image(c)))},this),e.state("featured-image").on("select",wp.media.featuredImage.select),e.setState(e.options.state),e)},id:function(a){return a?a:(a=wpActiveEditor,!a&&"undefined"!=typeof tinymce&&tinymce.activeEditor&&(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),b[a]},remove:function(a){a=this.id(a),delete b[a]},send:{attachment:function(a,b){var c,d,e=b.caption;return wp.media.view.settings.captions||delete b.caption,a=wp.media.string.props(a,b),c={id:b.id,post_content:b.description,post_excerpt:e},a.linkUrl&&(c.url=a.linkUrl),"image"===b.type?(d=wp.media.string.image(a),_.each({align:"align",size:"image-size",alt:"image_alt"},function(b,d){a[d]&&(c[b]=a[d])})):"video"===b.type?d=wp.media.string.video(a,b):"audio"===b.type?d=wp.media.string.audio(a,b):(d=wp.media.string.link(a),c.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:c,html:d,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,d;return b=b||{},a=this.id(a),"undefined"!=typeof tinymce&&(d=tinymce.get(a),tinymce.isIE&&d&&!d.isHidden()&&(d.focus(),d.windowManager.insertimagebookmark=d.selection.getBookmark())),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(this),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)})}},_.bindAll(wp.media.editor,"open"),a(wp.media.editor.init)}(jQuery);
\ No newline at end of file
index f501b69fc632e54056d445da582feecff6745161..78489d0797d3341e7027f2f6d6ac0d48f94975c8 100644 (file)
@@ -681,7 +681,7 @@ window.wp = window.wp || {};
                },
 
                sync: function( method, model, options ) {
                },
 
                sync: function( method, model, options ) {
-                       var fallback;
+                       var args, fallback;
 
                        // Overload the read method so Attachment.fetch() functions correctly.
                        if ( 'read' === method ) {
 
                        // Overload the read method so Attachment.fetch() functions correctly.
                        if ( 'read' === method ) {
index 04bc333c6eec33f7dd7c0a54f865a40aea4829a2..28473d98187d8ff4b9604d92d42d40dd1697568a 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(f){var d,c,a,e,b,g;g=wp.media=function(h){var i=g.view.MediaFrame,j;if(!i){return}h=_.defaults(h||{},{frame:"select"});if("select"===h.frame&&i.Select){j=new i.Select(h)}else{if("post"===h.frame&&i.Post){j=new i.Post(h)}}delete h.frame;return j};_.extend(g,{model:{},view:{},controller:{},frames:{}});b=g.model.l10n=typeof _wpMediaModelsL10n==="undefined"?{}:_wpMediaModelsL10n;g.model.settings=b.settings||{};delete b.settings;e=function(i,h,j,k){if(_.isEqual(i,h)){return j===k?0:(j>k?-1:1)}else{return i>h?-1:1}};_.extend(g,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(l){var i=l.width,h=l.height,k=l.maxWidth,j=l.maxHeight,m;if(!_.isUndefined(k)&&!_.isUndefined(j)){m=(i/h>k/j)?"width":"height"}else{if(_.isUndefined(j)){m="width"}else{if(_.isUndefined(k)&&h>j){m="height"}}}if("width"===m&&i>k){return{width:k,height:Math.round(k*h/i)}}else{if("height"===m&&h>j){return{width:Math.round(j*i/h),height:j}}else{return{width:i,height:h}}}},truncate:function(h,j,i){j=j||30;i=i||"&hellip;";if(h.length<=j){return h}return h.substr(0,j/2)+i+h.substr(-1*j/2)}});g.attachment=function(h){return d.get(h)};d=g.model.Attachment=Backbone.Model.extend({sync:function(j,i,h){if(_.isUndefined(this.id)){return f.Deferred().rejectWith(this).promise()}if("read"===j){h=h||{};h.context=this;h.data=_.extend(h.data||{},{action:"get-attachment",id:this.id});return g.ajax(h)}else{if("update"===j){if(!this.get("nonces")||!this.get("nonces").update){return f.Deferred().rejectWith(this).promise()}h=h||{};h.context=this;h.data=_.extend(h.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:g.model.settings.post.id});if(i.hasChanged()){h.data.changes={};_.each(i.changed,function(l,k){h.data.changes[k]=this.get(k)},this)}return g.ajax(h)}else{if("delete"===j){h=h||{};if(!h.wait){this.destroyed=true}h.context=this;h.data=_.extend(h.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]});return g.ajax(h).done(function(){this.destroyed=true}).fail(function(){this.destroyed=false})}else{return Backbone.Model.prototype.sync.apply(this,arguments)}}}},parse:function(i,h){if(!i){return i}i.date=new Date(i.date);i.modified=new Date(i.modified);return i},saveCompat:function(j,i){var h=this;if(!this.get("nonces")||!this.get("nonces").update){return f.Deferred().rejectWith(this).promise()}return g.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:g.model.settings.post.id},j)).done(function(m,k,l){h.set(h.parse(m,l),i)})}},{create:function(h){return c.all.push(h)},get:_.memoize(function(i,h){return c.all.push(h||{id:i})})});c=g.model.Attachments=Backbone.Collection.extend({model:d,initialize:function(i,h){h=h||{};this.props=new Backbone.Model();this.filters=h.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(h.props||{}));if(h.observe){this.observe(h.observe)}},_changeOrder:function(i,h){if(this.comparator){this.sort()}},_changeOrderby:function(h,i){if(this.comparator&&this.comparator!==c.comparator){return}if(i&&"post__in"!==i){this.comparator=c.comparator}else{delete this.comparator}},_changeQuery:function(h,i){if(i){this.props.on("change",this._requery,this);this._requery()}else{this.props.off("change",this._requery,this)}},_changeFilteredProps:function(i,h){if(this.props.get("query")){return}var j=_.chain(i.changed).map(function(l,n){var m=c.filters[n],k=i.get(n);if(!m){return}if(k&&!this.filters[n]){this.filters[n]=m}else{if(!k&&this.filters[n]===m){delete this.filters[n]}else{return}}return true},this).any().value();if(!j){return}if(!this._source){this._source=new c(this.models)}this.reset(this._source.filter(this.validator,this))},validateDestroyed:false,validator:function(h){if(!this.validateDestroyed&&h.destroyed){return false}return _.all(this.filters,function(j,i){return !!j.call(this,h)},this)},validate:function(k,i){var j=this.validator(k),h=!!this.get(k.cid);if(!j&&h){this.remove(k,i)}else{if(j&&!h){this.add(k,i)}}return this},validateAll:function(h,i){i=i||{};_.each(h.models,function(j){this.validate(j,{silent:true})},this);if(!i.silent){this.trigger("reset",this,i)}return this},observe:function(h){this.observers=this.observers||[];this.observers.push(h);h.on("add change remove",this._validateHandler,this);h.on("reset",this._validateAllHandler,this);this.validateAll(h);return this},unobserve:function(h){if(h){h.off(null,null,this);this.observers=_.without(this.observers,h)}else{_.each(this.observers,function(i){i.off(null,null,this)},this);delete this.observers}return this},_validateHandler:function(j,h,i){i=h===this.mirroring?i:{silent:i&&i.silent};return this.validate(j,i)},_validateAllHandler:function(h,i){return this.validateAll(h,i)},mirror:function(h){if(this.mirroring&&this.mirroring===h){return this}this.unmirror();this.mirroring=h;this.reset([],{silent:true});this.observe(h);return this},unmirror:function(){if(!this.mirroring){return}this.unobserve(this.mirroring);delete this.mirroring},more:function(j){var i=f.Deferred(),k=this.mirroring,h=this;if(!k||!k.more){return i.resolveWith(this).promise()}k.more(j).done(function(){if(this===h.mirroring){i.resolveWith(this)}});return i.promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():false},parse:function(i,h){if(!_.isArray(i)){i=[i]}return _.map(i,function(j){var m,l,k;if(j instanceof Backbone.Model){m=j.get("id");j=j.attributes}else{m=j.id}l=d.get(m);k=l.parse(j,h);if(!_.isEqual(l.attributes,k)){l.set(k)}return l})},_requery:function(){if(this.props.get("query")){this.mirror(a.get(this.props.toJSON()))}},saveMenuOrder:function(){if("menuOrder"!==this.props.get("orderby")){return}var h=this.chain().filter(function(i){return !_.isUndefined(i.id)}).map(function(j,i){i=i+1;j.set("menuOrder",i);return[j.id,i]}).object().value();if(_.isEmpty(h)){return}return g.post("save-attachment-order",{nonce:g.model.settings.post.nonce,post_id:g.model.settings.post.id,attachments:h})}},{comparator:function(j,i,k){var l=this.props.get("orderby"),h=this.props.get("order")||"DESC",m=j.cid,n=i.cid;j=j.get(l);i=i.get(l);if("date"===l||"modified"===l){j=j||new Date();i=i||new Date()}if(k&&k.ties){m=n=null}return("DESC"===h)?e(j,i,m,n):e(i,j,n,m)},filters:{search:function(h){if(!this.props.get("search")){return true}return _.any(["title","filename","description","caption","name"],function(i){var j=h.get(i);return j&&-1!==j.search(this.props.get("search"))},this)},type:function(i){var h=this.props.get("type");return !h||-1!==h.indexOf(i.get("type"))},uploadedTo:function(i){var h=this.props.get("uploadedTo");if(_.isUndefined(h)){return true}return h===i.get("uploadedTo")}}});c.all=new c();g.query=function(h){return new c(null,{props:_.extend(_.defaults(h||{},{orderby:"date"}),{query:true})})};a=g.model.Query=c.extend({initialize:function(j,h){var i;h=h||{};c.prototype.initialize.apply(this,arguments);this.args=h.args;this._hasMore=true;this.created=new Date();this.filters.order=function(m){var l=this.props.get("orderby"),k=this.props.get("order");if(!this.comparator){return true}if(this.length){return 1!==this.comparator(m,this.last(),{ties:true})}else{if("DESC"===k&&("date"===l||"modified"===l)){return m.get(l)>=this.created}else{if("ASC"===k&&"menuOrder"===l){return m.get(l)===0}}}return false};i=["s","order","orderby","posts_per_page","post_mime_type","post_parent"];if(wp.Uploader&&_(this.args).chain().keys().difference(i).isEmpty().value()){this.observe(wp.Uploader.queue)}},hasMore:function(){return this._hasMore},more:function(h){var i=this;if(this._more&&"pending"===this._more.state()){return this._more}if(!this.hasMore()){return f.Deferred().resolveWith(this).promise()}h=h||{};h.remove=false;return this._more=this.fetch(h).done(function(j){if(_.isEmpty(j)||-1===this.args.posts_per_page||j.length<this.args.posts_per_page){i._hasMore=false}})},sync:function(k,i,h){var j;if("read"===k){h=h||{};h.context=this;h.data=_.extend(h.data||{},{action:"query-attachments",post_id:g.model.settings.post.id});args=_.clone(this.args);if(-1!==args.posts_per_page){args.paged=Math.floor(this.length/args.posts_per_page)+1}h.data.query=args;return g.ajax(h)}else{j=c.prototype.sync?c.prototype:Backbone;return j.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 h=[];return function(k,j){var i={},m=a.orderby,n=a.defaultProps,l;delete k.query;_.defaults(k,n);k.order=k.order.toUpperCase();if("DESC"!==k.order&&"ASC"!==k.order){k.order=n.order.toUpperCase()}if(!_.contains(m.allowed,k.orderby)){k.orderby=n.orderby}_.each(k,function(o,p){if(_.isNull(o)){return}i[a.propmap[p]||p]=o});_.defaults(i,a.defaultArgs);i.orderby=m.valuemap[k.orderby]||k.orderby;l=_.find(h,function(o){return _.isEqual(o.args,i)});if(!l){l=new a([],_.extend(j||{},{props:k,args:i}));h.push(l)}return l}}())});g.model.Selection=c.extend({initialize:function(i,h){c.prototype.initialize.apply(this,arguments);this.multiple=h&&h.multiple;this.on("add remove reset",_.bind(this.single,this,false))},add:function(i,h){if(!this.multiple){this.remove(this.models)}return c.prototype.add.call(this,i,h)},single:function(h){var i=this._single;if(h){this._single=h}if(this._single&&!this.get(this._single.cid)){delete this._single}this._single=this._single||this.last();if(this._single!==i){if(i){i.trigger("selection:unsingle",i,this);if(!this.get(i.cid)){this.trigger("selection:unsingle",i,this)}}if(this._single){this._single.trigger("selection:single",this._single,this)}}return this._single}});f(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;g=wp.media=function(a){var b,c=g.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)),delete a.frame,b},_.extend(g,{model:{},view:{},controller:{},frames:{}}),f=g.model.l10n="undefined"==typeof _wpMediaModelsL10n?{}:_wpMediaModelsL10n,g.model.settings=f.settings||{},delete f.settings,e=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(g,{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)}}),g.attachment=function(a){return b.get(a)},b=g.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}),g.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:g.model.settings.post.id}),c.hasChanged()&&(d.data.changes={},_.each(c.changed,function(a,b){d.data.changes[b]=this.get(b)},this)),g.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"]}),g.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?g.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:g.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})})}),c=g.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 g.post("save-attachment-order",{nonce:g.model.settings.post.nonce,post_id:g.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),f=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"===f?e(a,b,g,h):e(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,g.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},d=g.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:g.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,g.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}}()}),g.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
index 89cc6fcba48eb1ee29d0a1d5cd489e6519f4df09..4fc7cbeeded1eb2984b877fe7cb9fa630d34f1de 100644 (file)
@@ -1 +1,2 @@
-(function(e){var f=wp.media,d=f.model.Attachment,c=f.model.Attachments,a=f.model.Query,b;b=f.view.l10n=typeof _wpMediaViewsL10n==="undefined"?{}:_wpMediaViewsL10n;f.view.settings=b.settings||{};delete b.settings;f.model.settings.post=f.view.settings.post;e.support.transition=(function(){var g=document.documentElement.style,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},i;i=_.find(_.keys(h),function(j){return !_.isUndefined(g[j])});return i&&{end:h[i]}}());f.transition=function(g,h){var i=e.Deferred();h=h||2000;if(e.support.transition){if(!(g instanceof e)){g=e(g)}g.first().one(e.support.transition.end,i.resolve);_.delay(i.resolve,h)}else{i.resolve()}return i.promise()};f.controller.Region=function(g){_.extend(this,_.pick(g||{},"id","view","selector"))};f.controller.Region.extend=Backbone.Model.extend;_.extend(f.controller.Region.prototype,{mode:function(g){if(!g){return this._mode}if(g===this._mode){return this}this.trigger("deactivate");this._mode=g;this.render(g);this.trigger("activate");return this},render:function(h){if(h&&h!==this._mode){return this.mode(h)}var i={view:null},g;this.trigger("create",i);g=i.view;this.trigger("render",g);if(g){this.set(g)}return this},get:function(){return this.view.views.first(this.selector)},set:function(g,h){if(h){h.add=false}return this.view.views.set(this.selector,g,h)},trigger:function(h){var i;if(!this._mode){return}var g=_.toArray(arguments);i=this.id+":"+h;g[0]=i+":"+this._mode;this.view.trigger.apply(this.view,g);g[0]=i;this.view.trigger.apply(this.view,g);return this}});f.controller.StateMachine=function(g){this.states=new Backbone.Collection(g)};f.controller.StateMachine.extend=Backbone.Model.extend;_.extend(f.controller.StateMachine.prototype,Backbone.Events,{state:function(g){this.states=this.states||new Backbone.Collection();g=g||this._state;if(g&&!this.states.get(g)){this.states.add({id:g})}return this.states.get(g)},setState:function(h){var g=this.state();if((g&&h===g.id)||!this.states||!this.states.get(h)){return this}if(g){g.trigger("deactivate");this._lastState=g.id}this._state=h;this.state().trigger("activate");return this},lastState:function(){if(this._lastState){return this.state(this._lastState)}}});_.each(["on","off","trigger"],function(g){f.controller.StateMachine.prototype[g]=function(){this.states=this.states||new Backbone.Collection();this.states[g].apply(this.states,arguments);return this}});f.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=true},_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=false;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(g){g.$el.text(this.get("title")||"")},_router:function(){var h=this.frame.router,i=this.get("router"),g;this.frame.$el.toggleClass("hide-router",!i);if(!i){return}this.frame.router.render(i);g=h.get();if(g&&g.select){g.select(this.frame.content.mode())}},_menu:function(){var i=this.frame.menu,h=this.get("menu"),g;if(!h){return}i.mode(h);g=i.get();if(g&&g.select){g.select(this.id)}},_updateMenu:function(){var g=this.previous("menu"),h=this.get("menu");if(g){this.frame.off("menu:render:"+g,this._renderMenu,this)}if(h){this.frame.on("menu:render:"+h,this._renderMenu,this)}},_renderMenu:function(g){var i=this.get("menuItem"),j=this.get("title"),h=this.get("priority");if(!i&&j){i={text:j};if(h){i.priority=h}}if(!i){return}g.set(this.id,i)}});_.each(["toolbar","content"],function(g){f.controller.State.prototype["_"+g]=function(){var h=this.get(g);if(h){this.frame[g].render(h)}}});f.controller.Library=f.controller.State.extend({defaults:{id:"library",multiple:false,describe:false,toolbar:"select",sidebar:"settings",content:"upload",router:"browse",menu:"default",searchable:true,filterable:false,sortable:true,title:b.mediaLibraryTitle,contentUserSetting:true,syncSelection:true},initialize:function(){var h=this.get("selection"),g;if(!this.get("library")){this.set("library",f.query())}if(!(h instanceof f.model.Selection)){g=h;if(!g){g=this.get("library").props.toJSON();g=_.omit(g,"orderby","query")}this.set("selection",new f.model.Selection(null,{multiple:this.get("multiple"),props:g}))}if(!this.get("edge")){this.set("edge",120)}if(!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);if(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 g=f.view.settings.defaultProps;this._displays=[];this._defaultDisplaySettings={align:g.align||getUserSetting("align","none"),size:g.size||getUserSetting("imgsize","medium"),link:g.link||getUserSetting("urlbutton","file")}},display:function(h){var g=this._displays;if(!g[h.cid]){g[h.cid]=new Backbone.Model(this.defaultDisplaySettings(h))}return g[h.cid]},defaultDisplaySettings:function(g){settings=this._defaultDisplaySettings;if(settings.canEmbed=this.canEmbed(g)){settings.link="embed"}return settings},canEmbed:function(h){if(!h.get("uploading")){var g=h.get("type");if(g!=="audio"&&g!=="video"){return false}}return _.contains(f.view.settings.embedExts,h.get("filename").split(".").pop())},syncSelection:function(){var h=this.get("selection"),g=this.frame._selection;if(!this.get("syncSelection")||!g||!h){return}if(h.multiple){h.reset([],{silent:true});h.validateAll(g.attachments);g.difference=_.difference(g.attachments.models,h.models)}h.single(g.single)},recordSelection:function(){var i=this.get("selection"),h=this.frame._selection,g;if(!this.get("syncSelection")||!h||!i){return}if(i.multiple){h.attachments.reset(i.toArray().concat(h.difference));h.difference=[]}else{h.attachments.add(i.toArray())}h.single=i._single},refreshContent:function(){var h=this.get("selection"),j=this.frame,g=j.router.get(),i=j.content.mode();if(this.active&&!h.length&&g&&!g.get(i)){this.frame.content.render(this.get("content"))}},uploading:function(h){var g=this.frame.content;if("upload"===g.mode()){this.frame.content.mode("browse")}this.get("selection").add(h)},saveContentMode:function(){if("browse"!==this.get("router")){return}var h=this.frame.content.mode(),g=this.frame.router.get();if(g&&g.get(h)){setUserSetting("libraryContent",h)}}});f.controller.GalleryEdit=f.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:b.editGalleryTitle,priority:60,dragInfo:true,syncSelection:false},initialize:function(){if(!this.get("library")){this.set("library",new f.model.Selection())}if(!this.get("AttachmentView")){this.set("AttachmentView",f.view.Attachment.EditLibrary)}f.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var g=this.get("library");g.props.set("type","image");this.get("library").observe(wp.Uploader.queue);this.frame.on("content:render:browse",this.gallerySettings,this);f.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);f.controller.Library.prototype.deactivate.apply(this,arguments)},gallerySettings:function(h){var g=this.get("library");if(!g||!h){return}g.gallery=g.gallery||new Backbone.Model();h.sidebar.set({gallery:new f.view.Settings.Gallery({controller:this,model:g.gallery,priority:40})});h.toolbar.set("reverse",{text:b.reverseOrder,priority:80,click:function(){g.reset(g.toArray().reverse())}})}});f.controller.GalleryAdd=f.controller.Library.extend({defaults:_.defaults({id:"gallery-library",filterable:"uploaded",multiple:"add",menu:"gallery",toolbar:"gallery-add",title:b.addToGalleryTitle,priority:100,syncSelection:false},f.controller.Library.prototype.defaults),initialize:function(){if(!this.get("library")){this.set("library",f.query({type:"image"}))}f.controller.Library.prototype.initialize.apply(this,arguments)},activate:function(){var g=this.get("library"),h=this.frame.state("gallery-edit").get("library");if(this.editLibrary&&this.editLibrary!==h){g.unobserve(this.editLibrary)}g.validator=function(i){return !!this.mirroring.get(i.cid)&&!h.get(i.cid)&&f.model.Selection.prototype.validator.apply(this,arguments)};g.reset(g.mirroring.models,{silent:true});g.observe(h);this.editLibrary=h;f.controller.Library.prototype.activate.apply(this,arguments)}});f.controller.FeaturedImage=f.controller.Library.extend({defaults:_.defaults({id:"featured-image",filterable:"uploaded",multiple:false,toolbar:"featured-image",title:b.setFeaturedImageTitle,priority:60,syncSelection:false},f.controller.Library.prototype.defaults),initialize:function(){var h,g;if(!this.get("library")){this.set("library",f.query({type:"image"}))}f.controller.Library.prototype.initialize.apply(this,arguments);h=this.get("library");g=h.comparator;h.comparator=function(j,i){var l=!!this.mirroring.get(j.cid),k=!!this.mirroring.get(i.cid);if(!l&&k){return -1}else{if(l&&!k){return 1}else{return g.apply(this,arguments)}}};h.observe(this.get("selection"))},activate:function(){this.updateSelection();this.frame.on("open",this.updateSelection,this);f.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this);f.controller.Library.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var g=this.get("selection"),i=f.view.settings.post.featuredImageId,h;if(""!==i&&-1!==i){h=d.get(i);h.fetch()}g.reset(h?[h]:[])}});f.controller.Embed=f.controller.State.extend({defaults:{id:"embed",url:"",menu:"default",content:"embed",toolbar:"main-embed",type:"link",title:b.insertFromUrlTitle,priority:120},sensitivity:200,initialize:function(){this.debouncedScan=_.debounce(_.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 h,i=this,g={type:"link",scanners:[]};if(this.props.get("url")){this.trigger("scan",g)}if(g.scanners.length){h=g.scanners=e.when.apply(e,g.scanners);h.always(function(){if(i.get("scanners")===h){i.set("loading",false)}})}else{g.scanners=null}g.loading=!!g.scanners;this.set(g)},scanImage:function(h){var l=this.frame,j=this,i=this.props.get("url"),k=new Image(),g=e.Deferred();h.scanners.push(g.promise());k.onload=function(){g.resolve();if(j!==l.state()||i!==j.props.get("url")){return}j.set({type:"image"});j.props.set({width:k.width,height:k.height})};k.onerror=g.reject;k.src=i},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""});if(this.active){this.refresh()}}});f.View=wp.Backbone.View.extend({constructor:function(g){if(g&&g.controller){this.controller=g.controller}wp.Backbone.View.apply(this,arguments)},dispose:function(){this.undelegateEvents();if(this.model&&this.model.off){this.model.off(null,null,this)}if(this.collection&&this.collection.off){this.collection.off(null,null,this)}if(this.controller&&this.controller.off){this.controller.off(null,null,this)}return this},remove:function(){this.dispose();return wp.Backbone.View.prototype.remove.apply(this,arguments)}});f.view.Frame=f.View.extend({initialize:function(){this._createRegions();this._createStates()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[];_.each(this.regions,function(g){this[g]=new f.controller.Region({view:this,id:g,selector:".media-frame-"+g})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:f.controller.State});this.states.on("add",function(g){g.frame=this;g.trigger("ready")},this);if(this.options.states){this.states.add(this.options.states)}},reset:function(){this.states.invoke("trigger","reset");return this}});_.extend(f.view.Frame.prototype,f.controller.StateMachine.prototype);f.view.MediaFrame=f.view.Frame.extend({className:"media-frame",template:f.template("media-frame"),regions:["menu","title","content","toolbar","router"],initialize:function(){f.view.Frame.prototype.initialize.apply(this,arguments);_.defaults(this.options,{title:"",modal:true,uploader:true});this.$el.addClass("wp-core-ui");if(this.options.modal){this.modal=new f.view.Modal({controller:this,title:this.options.title});this.modal.content(this)}if(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported){this.options.uploader=false}if(this.options.uploader){this.uploader=new f.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",_.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(){if(!this.state()&&this.options.state){this.setState(this.options.state)}return f.view.Frame.prototype.render.apply(this,arguments)},createTitle:function(g){g.view=new f.View({controller:this,tagName:"h1"})},createMenu:function(g){g.view=new f.view.Menu({controller:this})},createToolbar:function(g){g.view=new f.view.Toolbar({controller:this})},createRouter:function(g){g.view=new f.view.Router({controller:this})},createIframeStates:function(g){var j=f.view.settings,i=j.tabs,k=j.tabUrl,h;if(!i||!k){return}h=e("#post_ID");if(h.length){k+="&post_id="+h.val()}_.each(i,function(m,n){var l=this.state("iframe:"+n).set(_.defaults({tab:n,src:k+"&tab="+n,title:m,content:"iframe",menu:"default"},g))},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(g){this.$el.addClass("hide-toolbar");g.view=new f.view.Iframe({controller:this})},iframeMenu:function(h){var g={};if(!h){return}_.each(f.view.settings.tabs,function(i,j){g["iframe:"+j]={text:this.state("iframe:"+j).get("title"),priority:200}},this);h.set(g)},hijackThickbox:function(){var g=this;if(!window.tb_remove||this._tb_remove){return}this._tb_remove=window.tb_remove;window.tb_remove=function(){g.close();g.reset();g.setState(g.options.state);g._tb_remove.call(window)}},restoreThickbox:function(){if(!this._tb_remove){return}window.tb_remove=this._tb_remove;delete this._tb_remove}});_.each(["open","close","attach","detach","escape"],function(g){f.view.MediaFrame.prototype[g]=function(h){if(this.modal){this.modal[g].apply(this.modal,arguments)}return this}});f.view.MediaFrame.Select=f.view.MediaFrame.extend({initialize:function(){f.view.MediaFrame.prototype.initialize.apply(this,arguments);_.defaults(this.options,{selection:[],library:{},multiple:false,state:"library"});this.createSelection();this.createStates();this.bindHandlers()},createSelection:function(){var g=this,h=this.options.selection;if(!(h instanceof f.model.Selection)){this.options.selection=new f.model.Selection(h,{multiple:this.options.multiple})}this._selection={attachments:new c(),difference:[]}},createStates:function(){var g=this.options;if(this.options.states){return}this.states.add([new f.controller.Library({library:f.query(g.library),multiple:g.multiple,title:g.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(g){g.set({upload:{text:b.uploadFilesTitle,priority:20},browse:{text:b.mediaLibraryTitle,priority:40}})},browseContent:function(g){var h=this.state();this.$el.removeClass("hide-toolbar");g.view=new f.view.AttachmentsBrowser({controller:this,collection:h.get("library"),selection:h.get("selection"),model:h,sortable:h.get("sortable"),search:h.get("searchable"),filters:h.get("filterable"),display:h.get("displaySettings"),dragInfo:h.get("dragInfo"),AttachmentView:h.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar");this.content.set(new f.view.UploaderInline({controller:this}))},createSelectToolbar:function(h,g){g=g||this.options.button||{};g.controller=this;h.view=new f.view.Toolbar.Select(g)}});f.view.MediaFrame.Post=f.view.MediaFrame.Select.extend({initialize:function(){_.defaults(this.options,{multiple:true,editing:false,state:"insert"});f.view.MediaFrame.Select.prototype.initialize.apply(this,arguments);this.createIframeStates()},createStates:function(){var g=this.options;this.states.add([new f.controller.Library({id:"insert",title:b.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:f.query(g.library),multiple:g.multiple?"reset":false,editable:true,allowLocalEdits:true,displaySettings:true,displayUserSettings:true}),new f.controller.Library({id:"gallery",title:b.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:false,library:f.query(_.defaults({type:"image"},g.library))}),new f.controller.Embed(),new f.controller.GalleryEdit({library:g.selection,editing:g.editing,menu:"gallery"}),new f.controller.GalleryAdd()]);if(f.view.settings.post.featuredImageId){this.states.add(new f.controller.FeaturedImage())}},bindHandlers:function(){f.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments);this.on("menu:create:gallery",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:featured-image",this.featuredImageToolbar,this);this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this);var g={menu:{"default":"mainMenu",gallery:"galleryMenu"},content:{embed:"embedContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar"}};_.each(g,function(i,h){_.each(i,function(k,j){this.on(h+":render:"+j,this[k],this)},this)},this)},mainMenu:function(g){g.set({"library-separator":new f.View({className:"separator",priority:100})})},galleryMenu:function(g){var h=this.lastState(),i=h&&h.id,j=this;g.set({cancel:{text:b.cancelGalleryTitle,priority:20,click:function(){if(i){j.setState(i)}else{j.close()}}},separateCancel:new f.View({className:"separator",priority:40})})},embedContent:function(){var g=new f.view.Embed({controller:this,model:this.state()}).render();this.content.set(g);g.url.focus()},editSelectionContent:function(){var i=this.state(),h=i.get("selection"),g;g=new f.view.AttachmentsBrowser({controller:this,collection:h,selection:h,model:i,sortable:true,search:false,dragInfo:true,AttachmentView:f.view.Attachment.EditSelection}).render();g.toolbar.set("backToLibrary",{text:b.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}});this.content.set(g)},selectionStatusToolbar:function(g){var h=this.state().get("editable");g.set("selection",new f.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:h&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(h){var g=this;this.selectionStatusToolbar(h);h.set("insert",{style:"primary",priority:80,text:b.insertIntoPost,requires:{selection:true},click:function(){var j=g.state(),i=j.get("selection");g.close();j.trigger("insert",i).reset()}})},mainGalleryToolbar:function(h){var g=this;this.selectionStatusToolbar(h);h.set("gallery",{style:"primary",text:b.createNewGallery,priority:60,requires:{selection:true},click:function(){var i=g.state().get("selection"),j=g.state("gallery-edit"),k=i.where({type:"image"});j.set("library",new f.model.Selection(k,{props:i.props.toJSON(),multiple:true}));this.controller.setState("gallery-edit")}})},featuredImageToolbar:function(g){this.createSelectToolbar(g,{text:b.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(g){g.view=new f.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var g=this.state().get("editing");this.toolbar.set(new f.view.Toolbar({controller:this,items:{insert:{style:"primary",text:g?b.updateGallery:b.insertGallery,priority:80,requires:{library:true},click:function(){var h=this.controller,i=h.state();h.close();i.trigger("update",i.get("library"));h.setState(h.options.state);h.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new f.view.Toolbar({controller:this,items:{insert:{style:"primary",text:b.addToGallery,priority:80,requires:{selection:true},click:function(){var g=this.controller,i=g.state(),h=g.state("gallery-edit");h.get("library").add(i.get("selection").models);i.trigger("reset");g.setState("gallery-edit")}}}}))}});f.view.Modal=f.View.extend({tagName:"div",template:f.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){_.defaults(this.options,{container:document.body,title:"",propagate:true,freeze:true})},prepare:function(){return{title:this.options.title}},attach:function(){if(this.views.attached){return this}if(!this.views.rendered){this.render()}this.$el.appendTo(this.options.container);this.views.attached=true;this.views.ready();return this.propagate("attach")},detach:function(){if(this.$el.is(":visible")){this.close()}this.$el.detach();this.views.attached=false;return this.propagate("detach")},open:function(){var h=this.$el,g=this.options;if(h.is(":visible")){return this}if(!this.views.attached){this.attach()}if(g.freeze){this._freeze={scrollTop:e(window).scrollTop()}}h.show().focus();return this.propagate("open")},close:function(g){var h=this._freeze;if(!this.views.attached||!this.$el.is(":visible")){return this}this.$el.hide();this.propagate("close");if(h){e(window).scrollTop(h.scrollTop)}if(g&&g.escape){this.propagate("escape")}return this},escape:function(){return this.close({escape:true})},escapeHandler:function(g){g.preventDefault();this.escape()},content:function(g){this.views.set(".media-modal-content",g);return this},propagate:function(g){this.trigger(g);if(this.options.propagate){this.controller.trigger(g)}return this},keydown:function(g){if(27===g.which){g.preventDefault();this.escape();return}}});f.view.FocusManager=f.View.extend({events:{keydown:"recordTab",focusin:"updateIndex"},focus:function(){if(_.isUndefined(this.index)){return}this.$tabbables=this.$(":tabbable");this.$tabbables.eq(this.index).focus()},recordTab:function(h){if(9!==h.keyCode){return}if(_.isUndefined(this.index)){this.updateIndex(h)}if(_.isUndefined(this.index)){return}var g=this.index+(h.shiftKey?-1:1);if(g>=0&&g<this.$tabbables.length){this.index=g}else{delete this.index}},updateIndex:function(h){this.$tabbables=this.$(":tabbable");var g=this.$tabbables.index(h.target);if(-1===g){delete this.index}else{this.index=g}}});f.view.UploaderWindow=f.View.extend({tagName:"div",className:"uploader-window",template:f.template("uploader-window"),initialize:function(){var g;this.$browser=e('<a href="#" class="browser" />').hide().appendTo("body");g=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}});if(g.dropzone&&!(g.dropzone instanceof e)){g.dropzone=e(g.dropzone)}this.controller.on("activate",this.refresh,this)},refresh:function(){if(this.uploader){this.uploader.refresh()}},ready:function(){var h=f.view.settings.post.id,g;if(this.uploader){return}if(h){this.options.uploader.params.post_id=h}this.uploader=new wp.Uploader(this.options.uploader);g=this.uploader.dropzone;g.on("dropzone:enter",_.bind(this.show,this));g.on("dropzone:leave",_.bind(this.hide,this))},show:function(){var g=this.$el.show();_.defer(function(){g.css({opacity:1})})},hide:function(){var g=this.$el.css({opacity:0});f.transition(g).done(function(){if("0"===g.css("opacity")){g.hide()}})}});f.view.UploaderInline=f.View.extend({tagName:"div",className:"uploader-inline",template:f.template("uploader-inline"),initialize:function(){_.defaults(this.options,{message:"",status:true});if(!this.options.$browser&&this.controller.uploader){this.options.$browser=this.controller.uploader.$browser}if(_.isUndefined(this.options.postId)){this.options.postId=f.view.settings.post.id}if(this.options.status){this.views.set(".upload-inline-status",new f.view.UploaderStatus({controller:this.controller}))}},dispose:function(){if(this.disposing){return f.View.prototype.dispose.apply(this,arguments)}this.disposing=true;return this.remove()},remove:function(){var g=f.View.prototype.remove.apply(this,arguments);_.defer(_.bind(this.refresh,this));return g},refresh:function(){var g=this.controller.uploader;if(g){g.refresh()}},ready:function(){var g=this.options.$browser,h;if(this.controller.uploader){h=this.$(".browser");if(h[0]===g[0]){return}g.detach().text(h.text());g[0].className=h[0].className;h.replaceWith(g.show())}this.refresh();return this}});f.view.UploaderStatus=f.View.extend({className:"media-uploader-status",template:f.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(){wp.Uploader.queue.off(null,null,this);f.View.prototype.dispose.apply(this,arguments);return 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(){_.each({"$bar":".media-progress-bar div","$index":".upload-index","$total":".upload-total","$filename":".upload-filename"},function(g,h){this[h]=this.$(g)},this);this.visibility();this.progress();this.info()},progress:function(){var g=this.queue,i=this.$bar,h=0;if(!i||!g.length){return}i.width((g.reduce(function(j,l){if(!l.get("uploading")){return j+100}var k=l.get("percent");return j+(_.isNumber(k)?k:100)},0)/g.length)+"%")},info:function(){var g=this.queue,h=0,i;if(!g.length){return}i=this.queue.find(function(k,j){h=j;return k.get("uploading")});this.$index.text(h+1);this.$total.text(g.length);this.$filename.html(i?this.filename(i.get("filename")):"")},filename:function(g){return f.truncate(_.escape(g),24)},error:function(g){this.views.add(".upload-errors",new f.view.UploaderStatusError({filename:this.filename(g.get("file").name),message:g.get("message")}),{at:0})},dismiss:function(g){var h=this.views.get(".upload-errors");g.preventDefault();if(h){_.invoke(h,"remove")}wp.Uploader.errors.reset()}});f.view.UploaderStatusError=f.View.extend({className:"upload-error",template:f.template("uploader-status-error")});f.view.Toolbar=f.View.extend({tagName:"div",className:"media-toolbar",initialize:function(){var i=this.controller.state(),h=this.selection=i.get("selection"),g=this.library=i.get("library");this._views={};this.primary=new f.view.PriorityList();this.secondary=new f.view.PriorityList();this.primary.$el.addClass("media-toolbar-primary");this.secondary.$el.addClass("media-toolbar-secondary");this.views.set([this.secondary,this.primary]);if(this.options.items){this.set(this.options.items,{silent:true})}if(!this.options.silent){this.render()}if(h){h.on("add remove reset",this.refresh,this)}if(g){g.on("add remove reset",this.refresh,this)}},dispose:function(){if(this.selection){this.selection.off(null,null,this)}if(this.library){this.library.off(null,null,this)}return f.View.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(j,g,h){var i;h=h||{};if(_.isObject(j)){_.each(j,function(k,l){this.set(l,k,{silent:true})},this)}else{if(!(g instanceof Backbone.View)){g.classes=["media-button-"+j].concat(g.classes||[]);g=new f.view.Button(g).render()}g.controller=g.controller||this.controller;this._views[j]=g;i=g.options.priority<0?"secondary":"primary";this[i].set(j,g,h)}if(!h.silent){this.refresh()}return this},get:function(g){return this._views[g]},unset:function(h,g){delete this._views[h];this.primary.unset(h,g);this.secondary.unset(h,g);if(!g||!g.silent){this.refresh()}return this},refresh:function(){var i=this.controller.state(),g=i.get("library"),h=i.get("selection");_.each(this._views,function(j){if(!j.model||!j.options||!j.options.requires){return}var l=j.options.requires,k=false;k=_.some(h.models,function(m){return m.get("uploading")===true});if(l.selection&&h&&!h.length){k=true}else{if(l.library&&g&&!g.length){k=true}}j.model.set("disabled",k)})}});f.view.Toolbar.Select=f.view.Toolbar.extend({initialize:function(){var h=this.options,g=h.controller,i=g.state().get("selection");_.bindAll(this,"clickSelect");_.defaults(h,{event:"select",state:false,reset:true,close:true,text:b.select,requires:{selection:true}});h.items=_.defaults(h.items||{},{select:{style:"primary",text:h.text,priority:80,click:this.clickSelect,requires:h.requires}});f.view.Toolbar.prototype.initialize.apply(this,arguments)},clickSelect:function(){var h=this.options,g=this.controller;if(h.close){g.close()}if(h.event){g.state().trigger(h.event)}if(h.state){g.setState(h.state)}if(h.reset){g.reset()}}});f.view.Toolbar.Embed=f.view.Toolbar.Select.extend({initialize:function(){_.defaults(this.options,{text:b.insertIntoPost,requires:false});f.view.Toolbar.Select.prototype.initialize.apply(this,arguments)},refresh:function(){var g=this.controller.state().props.get("url");this.get("select").model.set("disabled",!g||g==="http://");f.view.Toolbar.Select.prototype.refresh.apply(this,arguments)}});f.view.Button=f.View.extend({tagName:"a",className:"media-button",attributes:{href:"#"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:false},initialize:function(){this.model=new Backbone.Model(this.defaults);_.each(this.defaults,function(i,g){var h=this.options[g];if(_.isUndefined(h)){return}this.model.set(g,h);delete this.options[g]},this);this.model.on("change",this.render,this)},render:function(){var h=["button",this.className],g=this.model.toJSON();if(g.style){h.push("button-"+g.style)}if(g.size){h.push("button-"+g.size)}h=_.uniq(h.concat(this.options.classes));this.el.className=h.join(" ");this.$el.attr("disabled",g.disabled);this.$el.text(this.model.get("text"));return this},click:function(g){if("#"===this.attributes.href){g.preventDefault()}if(this.options.click&&!this.model.get("disabled")){this.options.click.apply(this,arguments)}}});f.view.ButtonGroup=f.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(g){if(g instanceof Backbone.View){return g}else{return new f.view.Button(g).render()}});delete this.options.buttons;if(this.options.classes){this.$el.addClass(this.options.classes)}},render:function(){this.$el.html(e(_.pluck(this.buttons,"el")).detach());return this}});f.view.PriorityList=f.View.extend({tagName:"div",initialize:function(){this._views={};this.set(_.extend({},this._views,this.options.views),{silent:true});delete this.options.views;if(!this.options.silent){this.render()}},set:function(l,h,j){var k,g,i;j=j||{};if(_.isObject(l)){_.each(l,function(m,n){this.set(n,m)},this);return this}if(!(h instanceof Backbone.View)){h=this.toView(h,l,j)}h.controller=h.controller||this.controller;this.unset(l);k=h.options.priority||10;g=this.views.get()||[];_.find(g,function(n,m){if(n.options.priority>k){i=m;return true}});this._views[l]=h;this.views.add(h,{at:_.isNumber(i)?i:g.length||0});return this},get:function(g){return this._views[g]},unset:function(h){var g=this.get(h);if(g){g.remove()}delete this._views[h];return this},toView:function(g){return new f.View(g)}});f.view.MenuItem=f.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(g){var h=this.options.click;if(g){g.preventDefault()}if(h){h.call(this)}else{this.click()}},click:function(){var g=this.options.state;if(g){this.controller.setState(g)}},render:function(){var g=this.options;if(g.text){this.$el.text(g.text)}else{if(g.html){this.$el.html(g.html)}}return this}});f.view.Menu=f.view.PriorityList.extend({tagName:"div",className:"media-menu",property:"state",ItemView:f.view.MenuItem,region:"menu",toView:function(g,h){g=g||{};g[this.property]=g[this.property]||h;return new this.ItemView(g).render()},ready:function(){f.view.PriorityList.prototype.ready.apply(this,arguments);this.visibility()},set:function(){f.view.PriorityList.prototype.set.apply(this,arguments);this.visibility()},unset:function(){f.view.PriorityList.prototype.unset.apply(this,arguments);this.visibility()},visibility:function(){var j=this.region,h=this.controller[j].get(),g=this.views.get(),i=!g||g.length<2;if(this===h){this.controller.$el.toggleClass("hide-"+j,i)}},select:function(h){var g=this.get(h);if(!g){return}this.deselect();g.$el.addClass("active")},deselect:function(){this.$el.children().removeClass("active")}});f.view.RouterItem=f.view.MenuItem.extend({click:function(){var g=this.options.contentMode;if(g){this.controller.content.mode(g)}}});f.view.Router=f.view.Menu.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:f.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this);f.view.Menu.prototype.initialize.apply(this,arguments)},update:function(){var g=this.controller.content.mode();if(g){this.select(g)}}});f.view.Sidebar=f.view.PriorityList.extend({className:"media-sidebar"});f.view.Attachment=f.View.extend({tagName:"li",className:"attachment",template:f.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 g=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);if(g){g.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 g=this.options.selection;this.updateAll();if(g){g.off(null,null,this)}f.View.prototype.dispose.apply(this,arguments);return this},render:function(){var g=_.defaults(this.model.toJSON(),{orientation:"landscape",uploading:false,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:false,alt:"",description:""});g.buttons=this.buttons;g.describe=this.controller.state().get("describe");if("image"===g.type){g.size=this.imageSize()}g.can={};if(g.nonces){g.can.remove=!!g.nonces["delete"];g.can.save=!!g.nonces.update}if(this.controller.state().get("allowLocalEdits")){g.allowLocalEdits=true}this.views.detach();this.$el.html(this.template(g));this.$el.toggleClass("uploading",g.uploading);if(g.uploading){this.$bar=this.$(".media-progress-bar div")}else{delete this.$bar}this.updateSelect();this.updateSave();this.views.render();return this},progress:function(){if(this.$bar&&this.$bar.length){this.$bar.width(this.model.get("percent")+"%")}},toggleSelectionHandler:function(g){var h;if(g.shiftKey){h="between"}else{if(g.ctrlKey||g.metaKey){h="toggle"}}this.toggleSelection({method:h})},toggleSelection:function(p){var k=this.collection,l=this.options.selection,j=this.model,g=p&&p.method,m,n,h,i,o;if(!l){return}m=l.single();g=_.isUndefined(g)?l.multiple:g;if("between"===g&&m&&l.multiple){if(m===j){return}i=k.indexOf(m);o=k.indexOf(this.model);if(i<o){h=k.models.slice(i,o+1)}else{h=k.models.slice(o,i+1)}l.add(h).single(j);return}else{if("toggle"===g){l[this.selected()?"remove":"add"](j).single(j);return}}if(g!=="add"){g="reset"}if(this.selected()){l[m===j?"remove":"single"](j)}else{l[g](j).single(j)}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var g=this.options.selection;if(g){return !!g.get(this.model.cid)}},select:function(g,i){var h=this.options.selection;if(!h||(i&&i!==h)){return}this.$el.addClass("selected")},deselect:function(g,i){var h=this.options.selection;if(!h||(i&&i!==h)){return}this.$el.removeClass("selected")},details:function(g,j){var i=this.options.selection,h;if(i!==j){return}h=i.single();this.$el.toggleClass("details",h===this.model)},preventDefault:function(g){g.preventDefault()},imageSize:function(g){var h=this.model.get("sizes");g=g||"medium";if(h&&h[g]){return _.clone(h[g])}else{return{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}}},updateSetting:function(i){var g=e(i.target).closest("[data-setting]"),h,j;if(!g.length){return}h=g.data("setting");j=i.target.value;if(this.model.get(h)!==j){this.save(h,j)}},save:function(){var g=this,i=this._save=this._save||{status:"ready"},h=this.model.save.apply(this.model,arguments),j=i.requests?e.when(h,i.requests):h;if(i.savedTimer){clearTimeout(i.savedTimer)}this.updateSave("waiting");i.requests=j;j.always(function(){if(i.requests!==j){return}g.updateSave(j.state()==="resolved"?"complete":"error");i.savedTimer=setTimeout(function(){g.updateSave("ready");delete i.savedTimer},2000)})},updateSave:function(g){var h=this._save=this._save||{status:"ready"};if(g&&g!==h.status){this.$el.removeClass("save-"+h.status);h.status=g}this.$el.addClass("save-"+h.status);return this},updateAll:function(){var h=this.$("[data-setting]"),g=this.model,i;i=_.chain(h).map(function(k){var m=e("input, textarea, select, [value]",k),j,l;if(!m.length){return}j=e(k).data("setting");l=m.val();if(g.get(j)!==l){return[j,l]}}).compact().object().value();if(!_.isEmpty(i)){g.save(i)}},removeFromLibrary:function(g){g.stopPropagation();this.collection.remove(this.model)},removeFromSelection:function(h){var g=this.options.selection;if(!g){return}h.stopPropagation();g.remove(this.model)}});_.each({caption:"_syncCaption",title:"_syncTitle"},function(h,g){f.view.Attachment.prototype[h]=function(i,k){var j=this.$('[data-setting="'+g+'"]');if(!j.length){return this}if(k===j.find("input, textarea, select, [value]").val()){return this}return this.render()}});f.view.Attachment.Library=f.view.Attachment.extend({buttons:{check:true}});f.view.Attachment.EditLibrary=f.view.Attachment.extend({buttons:{close:true}});f.view.Attachments=f.View.extend({tagName:"ul",className:"attachments",cssTemplate:f.template("attachments-css"),events:{scroll:"scroll"},initialize:function(){this.el.id=_.uniqueId("__attachments-view-");_.defaults(this.options,{refreshSensitivity:200,refreshThreshold:3,AttachmentView:f.view.Attachment,sortable:false,resize:true});this._viewsByCid={};this.collection.on("add",function(i,g,h){this.views.add(this.createAttachmentView(i),{at:this.collection.indexOf(i)})},this);this.collection.on("remove",function(j,g,i){var h=this._viewsByCid[j.cid];delete this._viewsByCid[j.cid];if(h){h.remove()}},this);this.collection.on("reset",this.render,this);this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value();this.initSortable();_.bindAll(this,"css");this.model.on("change:edge change:gutter",this.css,this);this._resizeCss=_.debounce(_.bind(this.css,this),this.refreshSensitivity);if(this.options.resize){e(window).on("resize.attachments",this._resizeCss)}this.css()},dispose:function(){this.collection.props.off(null,null,this);e(window).off("resize.attachments",this._resizeCss);f.View.prototype.dispose.apply(this,arguments)},css:function(){var g=e("#"+this.el.id+"-css");if(g.length){g.remove()}f.view.Attachments.$head().append(this.cssTemplate({id:this.el.id,edge:this.edge(),gutter:this.model.get("gutter")}))},edge:function(){var i=this.model.get("edge"),j,h,g;if(!this.$el.is(":visible")){return i}j=this.model.get("gutter")*2;h=this.$el.width()-j;g=Math.ceil(h/(i+j));i=Math.floor((h-(g*j))/g);return i},initSortable:function(){var g=this.collection;if(!this.options.sortable||!e.fn.sortable){return}this.$el.sortable(_.extend({disabled:!!g.comparator,containment:this.$el,tolerance:"pointer",start:function(h,i){i.item.data("sortableIndexStart",i.item.index())},update:function(j,k){var i=g.at(k.item.data("sortableIndexStart")),h=g.comparator;delete g.comparator;g.remove(i,{silent:true}).add(i,{silent:true,at:k.item.index()});g.comparator=h;g.trigger("reset",g);g.saveMenuOrder()}},this.options.sortable));g.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!g.comparator)},this);this.collection.props.on("change:orderby",this.refreshSortable,this);this.refreshSortable()},refreshSortable:function(){if(!this.options.sortable||!e.fn.sortable){return}var i=this.collection,h=i.props.get("orderby"),g="menuOrder"===h||!i.comparator;this.$el.sortable("option","disabled",!g)},createAttachmentView:function(h){var g=new this.options.AttachmentView({controller:this.controller,model:h,collection:this.collection,selection:this.options.selection});return this._viewsByCid[h.cid]=g},prepare:function(){if(this.collection.length){this.views.set(this.collection.map(this.createAttachmentView,this))}else{this.views.unset();this.collection.more().done(this.scroll)}},ready:function(){this.scroll()},scroll:function(g){if(!this.$el.is(":visible")){return}if(this.collection.hasMore()&&this.el.scrollHeight<this.el.scrollTop+(this.el.clientHeight*this.options.refreshThreshold)){this.collection.more().done(this.scroll)}}},{$head:(function(){var g;return function(){return g=g||e("head")}}())});f.view.Search=f.View.extend({tagName:"input",className:"search",attributes:{type:"search",placeholder:b.search},events:{input:"search",keyup:"search",change:"search",search:"search"},render:function(){this.el.value=this.model.escape("search");return this},search:function(g){if(g.target.value){this.model.set("search",g.target.value)}else{this.model.unset("search")}}});f.view.AttachmentFilters=f.View.extend({tagName:"select",className:"attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters();_.extend(this.filters,this.options.filters);this.$el.html(_.chain(this.filters).map(function(g,h){return{el:e("<option></option>").val(h).text(g.text)[0],priority:g.priority||50}},this).sortBy("priority").pluck("el").value());this.model.on("change",this.select,this);this.select()},createFilters:function(){this.filters={}},change:function(h){var g=this.filters[this.el.value];if(g){this.model.set(g.props)}},select:function(){var g=this.model,i="all",h=g.toJSON();_.find(this.filters,function(k,l){var j=_.all(k.props,function(n,m){return n===(_.isUndefined(h[m])?null:h[m])});if(j){return i=l}});this.$el.val(i)}});f.view.AttachmentFilters.Uploaded=f.view.AttachmentFilters.extend({createFilters:function(){var h=this.model.get("type"),g=f.view.settings.mimeTypes,i;if(g&&h){i=g[h]}this.filters={all:{text:i||b.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:b.uploadedToThisPost,props:{uploadedTo:f.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}}});f.view.AttachmentFilters.All=f.view.AttachmentFilters.extend({createFilters:function(){var g={};_.each(f.view.settings.mimeTypes||{},function(i,h){g[h]={text:i,props:{type:h,uploadedTo:null,orderby:"date",order:"DESC"}}});g.all={text:b.allMediaItems,props:{type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10};g.uploaded={text:b.uploadedToThisPost,props:{type:null,uploadedTo:f.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20};this.filters=g}});f.view.AttachmentsBrowser=f.View.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:false,search:true,display:false,AttachmentView:f.view.Attachment.Library});this.createToolbar();this.updateContent();this.createSidebar();this.collection.on("add remove reset",this.updateContent,this)},dispose:function(){this.options.selection.off(null,null,this);f.View.prototype.dispose.apply(this,arguments);return this},createToolbar:function(){var h,g;this.toolbar=new f.view.Toolbar({controller:this.controller});this.views.add(this.toolbar);h=this.options.filters;if("uploaded"===h){g=f.view.AttachmentFilters.Uploaded}else{if("all"===h){g=f.view.AttachmentFilters.All}}if(g){this.toolbar.set("filters",new g({controller:this.controller,model:this.collection.props,priority:-80}).render())}if(this.options.search){this.toolbar.set("search",new f.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render())}if(this.options.dragInfo){this.toolbar.set("dragInfo",new f.View({el:e('<div class="instructions">'+b.dragInfo+"</div>")[0],priority:-40}))}},updateContent:function(){var g=this;if(!this.attachments){this.createAttachments()}if(!this.collection.length){this.collection.more().done(function(){if(!g.collection.length){g.createUploader()}})}},removeContent:function(){_.each(["attachments","uploader"],function(g){if(this[g]){this[g].remove();delete this[g]}},this)},createUploader:function(){this.removeContent();this.uploader=new f.view.UploaderInline({controller:this.controller,status:false,message:b.noItemsFound});this.views.add(this.uploader)},createAttachments:function(){this.removeContent();this.attachments=new f.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 g=this.options,h=g.selection,i=this.sidebar=new f.view.Sidebar({controller:this.controller});this.views.add(i);if(this.controller.uploader){i.set("uploads",new f.view.UploaderStatus({controller:this.controller,priority:40}))}h.on("selection:single",this.createSingle,this);h.on("selection:unsingle",this.disposeSingle,this);if(h.single()){this.createSingle()}},createSingle:function(){var h=this.sidebar,i=this.options.selection.single(),g={};h.set("details",new f.view.Attachment.Details({controller:this.controller,model:i,priority:80}));h.set("compat",new f.view.AttachmentCompat({controller:this.controller,model:i,priority:120}));if(this.options.display){h.set("display",new f.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(i),attachment:i,priority:160,userSettings:this.model.get("displayUserSettings")}))}},disposeSingle:function(){var g=this.sidebar;g.unset("details");g.unset("compat");g.unset("display")}});f.view.Selection=f.View.extend({tagName:"div",className:"media-selection",template:f.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:false,clearable:true});this.attachments=new f.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){return}var h=this.collection,g="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!h.length);this.$el.toggleClass("one",1===h.length);this.$el.toggleClass("editing",g);this.$(".count").text(b.selected.replace("%d",h.length))},edit:function(g){g.preventDefault();if(this.options.editable){this.options.editable.call(this,this.collection)}},clear:function(g){g.preventDefault();this.collection.reset()}});f.view.Attachment.Selection=f.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}});f.view.Attachments.Selection=f.view.Attachments.extend({events:{},initialize:function(){_.defaults(this.options,{sortable:true,resize:false,AttachmentView:f.view.Attachment.Selection});return f.view.Attachments.prototype.initialize.apply(this,arguments)}});f.view.Attachment.EditSelection=f.view.Attachment.Selection.extend({buttons:{close:true}});f.view.Settings=f.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 _.defaults({model:this.model.toJSON()},this.options)},render:function(){f.View.prototype.render.apply(this,arguments);_(this.model.attributes).chain().keys().each(this.update,this);return this},update:function(j){var k=this.model.get(j),i=this.$('[data-setting="'+j+'"]'),g,h;if(!i.length){return}if(i.is("select")){h=i.find('[value="'+k+'"]');if(h.length){i.find("option").prop("selected",false);h.prop("selected",true)}else{this.model.set(j,i.find(":selected").val())}}else{if(i.hasClass("button-group")){g=i.find("button").removeClass("active");g.filter('[value="'+k+'"]').addClass("active")}else{if(i.is('input[type="text"], textarea')){if(!i.is(":focus")){i.val(k)}}else{if(i.is('input[type="checkbox"]')){i.attr("checked",!!k)}}}}},updateHandler:function(i){var h=e(i.target).closest("[data-setting]"),j=i.target.value,g;i.preventDefault();if(!h.length){return}if(h.is('input[type="checkbox"]')){j=h[0].checked}this.model.set(h.data("setting"),j);if(g=h.data("userSetting")){setUserSetting(g,j)}},updateChanges:function(h,g){if(h.hasChanged()){_(h.changed).chain().keys().each(this.update,this)}}});f.view.Settings.AttachmentDisplay=f.view.Settings.extend({className:"attachment-display-settings",template:f.template("attachment-display-settings"),initialize:function(){var g=this.options.attachment;_.defaults(this.options,{userSettings:false});f.view.Settings.prototype.initialize.apply(this,arguments);this.model.on("change:link",this.updateLinkTo,this);if(g){g.on("change:uploading",this.render,this)}},dispose:function(){var g=this.options.attachment;if(g){g.off(null,null,this)}f.view.Settings.prototype.dispose.apply(this,arguments)},render:function(){var g=this.options.attachment;if(g){_.extend(this.options,{sizes:g.get("sizes"),type:g.get("type")})}f.view.Settings.prototype.render.call(this);this.updateLinkTo();return this},updateLinkTo:function(){var h=this.model.get("link"),i=this.$(".link-to-custom"),g=this.options.attachment;if("none"===h||"embed"===h||(!g&&"custom"!==h)){i.hide();return}if(g){if("post"===h){i.val(g.get("link"))}else{if("file"===h){i.val(g.get("url"))}else{if(!this.model.get("linkUrl")){i.val("http://")}}}i.prop("readonly","custom"!==h)}i.show();if(i.is(":visible")){i.focus()[0].select()}}});f.view.Settings.Gallery=f.view.Settings.extend({className:"gallery-settings",template:f.template("gallery-settings")});f.view.Attachment.Details=f.view.Attachment.extend({tagName:"div",className:"attachment-details",template:f.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 .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment"},initialize:function(){this.focusManager=new f.view.FocusManager({el:this.el});f.view.Attachment.prototype.initialize.apply(this,arguments)},render:function(){f.view.Attachment.prototype.render.apply(this,arguments);this.focusManager.focus();return this},deleteAttachment:function(g){g.preventDefault();if(confirm(b.warnDelete)){this.model.destroy()}},editAttachment:function(g){this.$el.addClass("needs-refresh")},refreshAttachment:function(g){this.$el.removeClass("needs-refresh");g.preventDefault();this.model.fetch()}});f.view.AttachmentCompat=f.View.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.focusManager=new f.view.FocusManager({el:this.el});this.model.on("change:compat",this.render,this)},dispose:function(){if(this.$(":focus").length){this.save()}return f.View.prototype.dispose.apply(this,arguments)},render:function(){var g=this.model.get("compat");if(!g||!g.item){return}this.views.detach();this.$el.html(g.item);this.views.render();this.focusManager.focus();return this},preventDefault:function(g){g.preventDefault()},save:function(g){var h={};if(g){g.preventDefault()}_.each(this.$el.serializeArray(),function(i){h[i.name]=i.value});this.model.saveCompat(h)}});f.view.Iframe=f.View.extend({className:"media-iframe",render:function(){this.views.detach();this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />');this.views.render();return this}});f.view.Embed=f.View.extend({className:"media-embed",initialize:function(){this.url=new f.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(g){if(this._settings){this._settings.remove()}this._settings=g;this.views.add(g)},refresh:function(){var h=this.model.get("type"),g;if("image"===h){g=f.view.EmbedImage}else{if("link"===h){g=f.view.EmbedLink}else{return}}this.settings(new g({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}});f.view.EmbedUrl=f.View.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=e("<input/>").attr("type","text").val(this.model.get("url"));this.input=this.$input[0];this.spinner=e('<span class="spinner" />')[0];this.$el.append([this.input,this.spinner]);this.model.on("change:url",this.render,this)},render:function(){var g=this.$input;if(g.is(":focus")){return}this.input.value=this.model.get("url")||"http://";f.View.prototype.render.apply(this,arguments);return this},ready:function(){this.focus()},url:function(g){this.model.set("url",g.target.value)},focus:function(){var g=this.$input;if(g.is(":visible")){g.focus()[0].select()}}});f.view.EmbedLink=f.view.Settings.extend({className:"embed-link-settings",template:f.template("embed-link-settings")});f.view.EmbedImage=f.view.Settings.AttachmentDisplay.extend({className:"embed-image-settings",template:f.template("embed-image-settings"),initialize:function(){f.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"))}})}(jQuery));
\ No newline at end of file
+!function(a){var b,c=wp.media,d=c.model.Attachment,e=c.model.Attachments;c.model.Query,b=c.view.l10n="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n,c.view.settings=b.settings||{},delete b.settings,c.model.settings.post=c.view.settings.post,a.support.transition=function(){var a,b=document.documentElement.style,c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=_.find(_.keys(c),function(a){return!_.isUndefined(b[a])}),a&&{end:c[a]}}(),c.transition=function(b,c){var d=a.Deferred();return c=c||2e3,a.support.transition?(b instanceof a||(b=a(b)),b.first().one(a.support.transition.end,d.resolve),_.delay(d.resolve,c)):d.resolve(),d.promise()},c.controller.Region=function(a){_.extend(this,_.pick(a||{},"id","view","selector"))},c.controller.Region.extend=Backbone.Model.extend,_.extend(c.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 b;if(this._mode){var c=_.toArray(arguments);return b=this.id+":"+a,c[0]=b+":"+this._mode,this.view.trigger.apply(this.view,c),c[0]=b,this.view.trigger.apply(this.view,c),this}}}),c.controller.StateMachine=function(a){this.states=new Backbone.Collection(a)},c.controller.StateMachine.extend=Backbone.Model.extend,_.extend(c.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}}),_.each(["on","off","trigger"],function(a){c.controller.StateMachine.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),c.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)}}),_.each(["toolbar","content"],function(a){c.controller.State.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),c.controller.Library=c.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:b.mediaLibraryTitle,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,b=this.get("selection");this.get("library")||this.set("library",c.query()),b instanceof c.model.Selection||(a=b,a||(a=this.get("library").props.toJSON(),a=_.omit(a,"orderby","query")),this.set("selection",new c.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=c.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){return settings=this._defaultDisplaySettings,(settings.canEmbed=this.canEmbed(a))&&(settings.link="embed"),settings},canEmbed:function(a){if(!a.get("uploading")){var b=a.get("type");if("audio"!==b&&"video"!==b)return!1}return _.contains(c.view.settings.embedExts,a.get("filename").split(".").pop())},syncSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(b.attachments),b.difference=_.difference(b.attachments.models,a.models)),a.single(b.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)},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)}}}),c.controller.GalleryEdit=c.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:b.editGalleryTitle,priority:60,dragInfo:!0,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new c.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",c.view.Attachment.EditLibrary),c.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),c.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),c.controller.Library.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){var d=this.get("library");d&&a&&(d.gallery=d.gallery||new Backbone.Model,a.sidebar.set({gallery:new c.view.Settings.Gallery({controller:this,model:d.gallery,priority:40})}),a.toolbar.set("reverse",{text:b.reverseOrder,priority:80,click:function(){d.reset(d.toArray().reverse())}}))}}),c.controller.GalleryAdd=c.controller.Library.extend({defaults:_.defaults({id:"gallery-library",filterable:"uploaded",multiple:"add",menu:"gallery",toolbar:"gallery-add",title:b.addToGalleryTitle,priority:100,syncSelection:!1},c.controller.Library.prototype.defaults),initialize:function(){this.get("library")||this.set("library",c.query({type:"image"})),c.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)&&c.model.Selection.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,c.controller.Library.prototype.activate.apply(this,arguments)}}),c.controller.FeaturedImage=c.controller.Library.extend({defaults:_.defaults({id:"featured-image",filterable:"uploaded",multiple:!1,toolbar:"featured-image",title:b.setFeaturedImageTitle,priority:60,syncSelection:!1},c.controller.Library.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",c.query({type:"image"})),c.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),c.controller.Library.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),c.controller.Library.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),e=c.view.settings.post.featuredImageId;""!==e&&-1!==e&&(a=d.get(e),a.fetch()),b.reset(a?[a]:[])}}),c.controller.Embed=c.controller.State.extend({defaults:{id:"embed",url:"",menu:"default",content:"embed",toolbar:"main-embed",type:"link",title:b.insertFromUrlTitle,priority:120},sensitivity:200,initialize:function(){this.debouncedScan=_.debounce(_.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()}}),c.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)}}),c.view.Frame=c.View.extend({initialize:function(){this._createRegions(),this._createStates()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new c.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:c.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}}),_.extend(c.view.Frame.prototype,c.controller.StateMachine.prototype),c.view.MediaFrame=c.view.Frame.extend({className:"media-frame",template:c.template("media-frame"),regions:["menu","title","content","toolbar","router"],initialize:function(){c.view.Frame.prototype.initialize.apply(this,arguments),_.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new c.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 c.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",_.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),c.view.Frame.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new c.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new c.view.Menu({controller:this})},createToolbar:function(a){a.view=new c.view.Toolbar({controller:this})},createRouter:function(a){a.view=new c.view.Router({controller:this})},createIframeStates:function(b){var d,e=c.view.settings,f=e.tabs,g=e.tabUrl;f&&g&&(d=a("#post_ID"),d.length&&(g+="&post_id="+d.val()),_.each(f,function(a,c){this.state("iframe:"+c).set(_.defaults({tab:c,src:g+"&tab="+c,title:a,content:"iframe",menu:"default"},b))},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 c.view.Iframe({controller:this})},iframeMenu:function(a){var b={};a&&(_.each(c.view.settings.tabs,function(a,c){b["iframe:"+c]={text:this.state("iframe:"+c).get("title"),priority:200}},this),a.set(b))},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)}}),_.each(["open","close","attach","detach","escape"],function(a){c.view.MediaFrame.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),c.view.MediaFrame.Select=c.view.MediaFrame.extend({initialize:function(){c.view.MediaFrame.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof c.model.Selection||(this.options.selection=new c.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new e,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new c.controller.Library({library:c.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:b.uploadFilesTitle,priority:20},browse:{text:b.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new c.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"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new c.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new c.view.Toolbar.Select(b)}}),c.view.MediaFrame.Post=c.view.MediaFrame.Select.extend({initialize:function(){_.defaults(this.options,{multiple:!0,editing:!1,state:"insert"}),c.view.MediaFrame.Select.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new c.controller.Library({id:"insert",title:b.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:c.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new c.controller.Library({id:"gallery",title:b.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:c.query(_.defaults({type:"image"},a.library))}),new c.controller.Embed,new c.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new c.controller.GalleryAdd]),c.view.settings.post.featuredImageId&&this.states.add(new c.controller.FeaturedImage)},bindHandlers:function(){c.view.MediaFrame.Select.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:gallery",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:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this);var a={menu:{"default":"mainMenu",gallery:"galleryMenu"},content:{embed:"embedContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar","main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar"}};_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},mainMenu:function(a){a.set({"library-separator":new c.View({className:"separator",priority:100})})},galleryMenu:function(a){var d=this.lastState(),e=d&&d.id,f=this;a.set({cancel:{text:b.cancelGalleryTitle,priority:20,click:function(){e?f.setState(e):f.close()}},separateCancel:new c.View({className:"separator",priority:40})})},embedContent:function(){var a=new c.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),a.url.focus()},editSelectionContent:function(){var a,d=this.state(),e=d.get("selection");a=new c.view.AttachmentsBrowser({controller:this,collection:e,selection:e,model:d,sortable:!0,search:!1,dragInfo:!0,AttachmentView:c.view.Attachment.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:b.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a)},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new c.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 c=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:b.insertIntoPost,requires:{selection:!0},click:function(){var a=c.state(),b=a.get("selection");c.close(),a.trigger("insert",b).reset()}})},mainGalleryToolbar:function(a){var d=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:b.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=d.state().get("selection"),b=d.state("gallery-edit"),e=a.where({type:"image"});b.set("library",new c.model.Selection(e,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit")}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:b.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new c.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new c.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?b.updateGallery:b.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 c.view.Toolbar({controller:this,items:{insert:{style:"primary",text:b.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")}}}}))}}),c.view.Modal=c.View.extend({tagName:"div",template:c.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){_.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){return 27===a.which?(a.preventDefault(),this.escape(),void 0):void 0}}),c.view.FocusManager=c.View.extend({events:{keydown:"recordTab",focusin:"updateIndex"},focus:function(){_.isUndefined(this.index)||(this.$tabbables=this.$(":tabbable"),this.$tabbables.eq(this.index).focus())},recordTab:function(a){if(9===a.keyCode&&(_.isUndefined(this.index)&&this.updateIndex(a),!_.isUndefined(this.index))){var b=this.index+(a.shiftKey?-1:1);b>=0&&b<this.$tabbables.length?this.index=b: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}}),c.view.UploaderWindow=c.View.extend({tagName:"div",className:"uploader-window",template:c.template("uploader-window"),initialize:function(){var b;this.$browser=a('<a href="#" class="browser" />').hide().appendTo("body"),b=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!b.dropzone||b.dropzone instanceof a||(b.dropzone=a(b.dropzone)),this.controller.on("activate",this.refresh,this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var a,b=c.view.settings.post.id;this.uploader||(b&&(this.options.uploader.params.post_id=b),this.uploader=new wp.Uploader(this.options.uploader),a=this.uploader.dropzone,a.on("dropzone:enter",_.bind(this.show,this)),a.on("dropzone:leave",_.bind(this.hide,this)))},show:function(){var a=this.$el.show();_.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});c.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()})}}),c.view.UploaderInline=c.View.extend({tagName:"div",className:"uploader-inline",template:c.template("uploader-inline"),initialize:function(){_.defaults(this.options,{message:"",status:!0}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),_.isUndefined(this.options.postId)&&(this.options.postId=c.view.settings.post.id),this.options.status&&this.views.set(".upload-inline-status",new c.view.UploaderStatus({controller:this.controller}))},dispose:function(){return this.disposing?c.View.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=c.View.prototype.remove.apply(this,arguments);return _.defer(_.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}}),c.view.UploaderStatus=c.View.extend({className:"media-uploader-status",template:c.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),c.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(){_.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,b=this.$bar;b&&a.length&&b.width(a.reduce(function(a,b){if(!b.get("uploading"))return a+100;var c=b.get("percent");return a+(_.isNumber(c)?c: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 c.truncate(_.escape(a),24)},error:function(a){this.views.add(".upload-errors",new c.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var b=this.views.get(".upload-errors");a.preventDefault(),b&&_.invoke(b,"remove"),wp.Uploader.errors.reset()}}),c.view.UploaderStatusError=c.View.extend({className:"upload-error",template:c.template("uploader-status-error")}),c.view.Toolbar=c.View.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),d=this.library=a.get("library");this._views={},this.primary=new c.view.PriorityList,this.secondary=new c.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),d&&d.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),c.View.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,b,d){var e;return d=d||{},_.isObject(a)?_.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(b instanceof Backbone.View||(b.classes=["media-button-"+a].concat(b.classes||[]),b=new c.view.Button(b).render()),b.controller=b.controller||this.controller,this._views[a]=b,e=b.options.priority<0?"secondary":"primary",this[e].set(a,b,d)),d.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(),b=a.get("library"),c=a.get("selection");_.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var d=a.options.requires,e=!1;e=_.some(c.models,function(a){return a.get("uploading")===!0}),d.selection&&c&&!c.length?e=!0:d.library&&b&&!b.length&&(e=!0),a.model.set("disabled",e)}})}}),c.view.Toolbar.Select=c.view.Toolbar.extend({initialize:function(){var a=this.options,d=a.controller;d.state().get("selection"),_.bindAll(this,"clickSelect"),_.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:b.select,requires:{selection:!0}}),a.items=_.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),c.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()}}),c.view.Toolbar.Embed=c.view.Toolbar.Select.extend({initialize:function(){_.defaults(this.options,{text:b.insertIntoPost,requires:!1}),c.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),c.view.Toolbar.Select.prototype.refresh.apply(this,arguments)}}),c.view.Button=c.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),_.each(this.defaults,function(a,b){var c=this.options[b];_.isUndefined(c)||(this.model.set(b,c),delete this.options[b])},this),this.model.on("change",this.render,this)},render:function(){var a=["button",this.className],b=this.model.toJSON();return b.style&&a.push("button-"+b.style),b.size&&a.push("button-"+b.size),a=_.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",b.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)}}),c.view.ButtonGroup=c.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new c.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(a(_.pluck(this.buttons,"el")).detach()),this}}),c.view.PriorityList=c.View.extend({tagName:"div",initialize:function(){this._views={},this.set(_.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()
+},set:function(a,b,c){var d,e,f;return c=c||{},_.isObject(a)?(_.each(a,function(a,b){this.set(b,a)},this),this):(b instanceof Backbone.View||(b=this.toView(b,a,c)),b.controller=b.controller||this.controller,this.unset(a),d=b.options.priority||10,e=this.views.get()||[],_.find(e,function(a,b){return a.options.priority>d?(f=b,!0):void 0}),this._views[a]=b,this.views.add(b,{at:_.isNumber(f)?f:e.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 c.View(a)}}),c.view.MenuItem=c.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}}),c.view.Menu=c.view.PriorityList.extend({tagName:"div",className:"media-menu",property:"state",ItemView:c.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(){c.view.PriorityList.prototype.ready.apply(this,arguments),this.visibility()},set:function(){c.view.PriorityList.prototype.set.apply(this,arguments),this.visibility()},unset:function(){c.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")}}),c.view.RouterItem=c.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}}),c.view.Router=c.view.Menu.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:c.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),c.view.Menu.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),c.view.Sidebar=c.view.PriorityList.extend({className:"media-sidebar"}),c.view.Attachment=c.View.extend({tagName:"li",className:"attachment",template:c.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),c.View.prototype.dispose.apply(this,arguments),this},render:function(){var a=_.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 b,c,d,e,f=this.collection,g=this.options.selection,h=this.model,i=a&&a.method;if(g){if(b=g.single(),i=_.isUndefined(i)?g.multiple:i,"between"===i&&b&&g.multiple){if(b===h)return;return d=f.indexOf(b),e=f.indexOf(this.model),c=e>d?f.models.slice(d,e+1):f.models.slice(e,d+1),g.add(c).single(h),void 0}if("toggle"===i)return g[this.selected()?"remove":"add"](h).single(h),void 0;"add"!==i&&(i="reset"),this.selected()?g[b===h?"remove":"single"](h):g[i](h).single(h)}},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 b=this.model.get("sizes");return a=a||"medium",b&&b[a]?_.clone(b[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 b,c=this.$("[data-setting]"),d=this.model;b=_.chain(c).map(function(b){var c,e,f=a("input, textarea, select, [value]",b);if(f.length)return c=a(b).data("setting"),e=f.val(),d.get(c)!==e?[c,e]:void 0}).compact().object().value(),_.isEmpty(b)||d.save(b)},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))}}),_.each({caption:"_syncCaption",title:"_syncTitle"},function(a,b){c.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}}),c.view.Attachment.Library=c.view.Attachment.extend({buttons:{check:!0}}),c.view.Attachment.EditLibrary=c.view.Attachment.extend({buttons:{close:!0}}),c.view.Attachments=c.View.extend({tagName:"ul",className:"attachments",cssTemplate:c.template("attachments-css"),events:{scroll:"scroll"},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{refreshSensitivity:200,refreshThreshold:3,AttachmentView:c.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=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.initSortable(),_.bindAll(this,"css"),this.model.on("change:edge change:gutter",this.css,this),this._resizeCss=_.debounce(_.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),c.View.prototype.dispose.apply(this,arguments)},css:function(){var b=a("#"+this.el.id+"-css");b.length&&b.remove(),c.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 b=this.collection;this.options.sortable&&a.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!b.comparator,containment:this.$el,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(a,c){var d=b.at(c.item.data("sortableIndexStart")),e=b.comparator;delete b.comparator,b.remove(d,{silent:!0}).add(d,{silent:!0,at:c.item.index()}),b.comparator=e,b.trigger("reset",b),b.saveMenuOrder()}},this.options.sortable)),b.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!b.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(){this.$el.is(":visible")&&this.collection.hasMore()&&this.el.scrollHeight<this.el.scrollTop+this.el.clientHeight*this.options.refreshThreshold&&this.collection.more().done(this.scroll)}},{$head:function(){var b;return function(){return b=b||a("head")}}()}),c.view.Search=c.View.extend({tagName:"input",className:"search",attributes:{type:"search",placeholder:b.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")}}),c.view.AttachmentFilters=c.View.extend({tagName:"select",className:"attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(b,c){return{el:a("<option></option>").val(c).text(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,b="all",c=a.toJSON();_.find(this.filters,function(a,d){var e=_.all(a.props,function(a,b){return a===(_.isUndefined(c[b])?null:c[b])});return e?b=d:void 0}),this.$el.val(b)}}),c.view.AttachmentFilters.Uploaded=c.view.AttachmentFilters.extend({createFilters:function(){var a,d=this.model.get("type"),e=c.view.settings.mimeTypes;e&&d&&(a=e[d]),this.filters={all:{text:a||b.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:b.uploadedToThisPost,props:{uploadedTo:c.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}}}}),c.view.AttachmentFilters.All=c.view.AttachmentFilters.extend({createFilters:function(){var a={};_.each(c.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:b.allMediaItems,props:{type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},a.uploaded={text:b.uploadedToThisPost,props:{type:null,uploadedTo:c.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},this.filters=a}}),c.view.AttachmentsBrowser=c.View.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:!1,search:!0,display:!1,AttachmentView:c.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),c.View.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var d,e;this.toolbar=new c.view.Toolbar({controller:this.controller}),this.views.add(this.toolbar),d=this.options.filters,"uploaded"===d?e=c.view.AttachmentFilters.Uploaded:"all"===d&&(e=c.view.AttachmentFilters.All),e&&this.toolbar.set("filters",new e({controller:this.controller,model:this.collection.props,priority:-80}).render()),this.options.search&&this.toolbar.set("search",new c.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render()),this.options.dragInfo&&this.toolbar.set("dragInfo",new c.View({el:a('<div class="instructions">'+b.dragInfo+"</div>")[0],priority:-40}))},updateContent:function(){var a=this;this.attachments||this.createAttachments(),this.collection.length||this.collection.more().done(function(){a.collection.length||a.createUploader()})},removeContent:function(){_.each(["attachments","uploader"],function(a){this[a]&&(this[a].remove(),delete this[a])},this)},createUploader:function(){this.removeContent(),this.uploader=new c.view.UploaderInline({controller:this.controller,status:!1,message:b.noItemsFound}),this.views.add(this.uploader)},createAttachments:function(){this.removeContent(),this.attachments=new c.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,d=this.sidebar=new c.view.Sidebar({controller:this.controller});this.views.add(d),this.controller.uploader&&d.set("uploads",new c.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 c.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new c.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new c.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")}}),c.view.Selection=c.View.extend({tagName:"div",className:"media-selection",template:c.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new c.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,c="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",c),this.$(".count").text(b.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()}}),c.view.Attachment.Selection=c.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}}),c.view.Attachments.Selection=c.view.Attachments.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!0,resize:!1,AttachmentView:c.view.Attachment.Selection}),c.view.Attachments.prototype.initialize.apply(this,arguments)}}),c.view.Attachment.EditSelection=c.view.Attachment.Selection.extend({buttons:{close:!0}}),c.view.Settings=c.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 _.defaults({model:this.model.toJSON()},this.options)},render:function(){return c.View.prototype.render.apply(this,arguments),_(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.attr("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()&&_(a.changed).chain().keys().each(this.update,this)}}),c.view.Settings.AttachmentDisplay=c.view.Settings.extend({className:"attachment-display-settings",template:c.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;_.defaults(this.options,{userSettings:!1}),c.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),c.view.Settings.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&_.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),c.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?(b.hide(),void 0):(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.show(),b.is(":visible")&&b.focus()[0].select(),void 0)}}),c.view.Settings.Gallery=c.view.Settings.extend({className:"gallery-settings",template:c.template("gallery-settings")}),c.view.Attachment.Details=c.view.Attachment.extend({tagName:"div",className:"attachment-details",template:c.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 .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment"},initialize:function(){this.focusManager=new c.view.FocusManager({el:this.el}),c.view.Attachment.prototype.initialize.apply(this,arguments)},render:function(){return c.view.Attachment.prototype.render.apply(this,arguments),this.focusManager.focus(),this},deleteAttachment:function(a){a.preventDefault(),confirm(b.warnDelete)&&this.model.destroy()},editAttachment:function(){this.$el.addClass("needs-refresh")},refreshAttachment:function(a){this.$el.removeClass("needs-refresh"),a.preventDefault(),this.model.fetch()}}),c.view.AttachmentCompat=c.View.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.focusManager=new c.view.FocusManager({el:this.el}),this.model.on("change:compat",this.render,this)},dispose:function(){return this.$(":focus").length&&this.save(),c.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 b={};a&&a.preventDefault(),_.each(this.$el.serializeArray(),function(a){b[a.name]=a.value}),this.model.saveCompat(b)}}),c.view.Iframe=c.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}}),c.view.Embed=c.View.extend({className:"media-embed",initialize:function(){this.url=new c.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=c.view.EmbedImage;else{if("link"!==b)return;a=c.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"))}}),c.view.EmbedUrl=c.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://",c.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()}}),c.view.EmbedLink=c.view.Settings.extend({className:"embed-link-settings",template:c.template("embed-link-settings")}),c.view.EmbedImage=c.view.Settings.AttachmentDisplay.extend({className:"embed-image-settings",template:c.template("embed-image-settings"),initialize:function(){c.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"))}})}(jQuery);
\ No newline at end of file
index d099ba8668a32b8ce41a1edd002785293c1517b2..1eb7a5b1ee87c17c686c21491d1d883ec8e6d526 100644 (file)
@@ -1 +1 @@
-var topWin=window.dialogArguments||opener||parent||top,uploader,uploader_init;function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(b){jQuery(".media-blank").remove();var a=jQuery("#media-items").children(),c=post_id||0;if(a.length==1){a.removeClass("open").find(".slidetoggle").slideUp(200)}jQuery('<div class="media-item">').attr("id","media-item-"+b.id).addClass("child-of-"+c).append('<div class="progress"><div class="percent">0%</div><div class="bar"></div></div>',jQuery('<div class="filename original">').text(" "+b.name)).appendTo(jQuery("#media-items"));jQuery("#insert-gallery").prop("disabled",true)}function uploadStart(){try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}}catch(a){}return true}function uploadProgress(a,b){var c=jQuery("#media-item-"+b.id);jQuery(".bar",c).width((200*b.loaded)/b.size);jQuery(".percent",c).html(b.percent+"%")}function fileUploading(c,d){var b=100*1024*1024,a=parseInt(c.settings.max_file_size,10);if(a>b&&d.size>b){setTimeout(function(){var e;if(d.status<3&&d.loaded==0){wpFileError(d,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"));c.stop();c.removeFile(d);c.start()}},10000)}}function updateMediaForm(){var a=jQuery("#media-items").children();if(a.length==1){a.addClass("open").find(".slidetoggle").show();jQuery(".insert-gallery").hide()}else{if(a.length>1){a.removeClass("open");jQuery(".insert-gallery").show()}}if(a.not(".media-blank").length>0){jQuery(".savebutton").show()}else{jQuery(".savebutton").hide()}}function uploadSuccess(c,a){var b=jQuery("#media-item-"+c.id);a=a.replace(/^<pre>(\d+)<\/pre>$/,"$1");if(a.match(/media-upload-error|error-div/)){b.html(a);return}else{jQuery(".percent",b).html(pluploadL10n.crunching)}prepareMediaItem(c,a);updateMediaForm();if(post_id&&b.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)}}function setResize(a){if(a){if(uploader.features.jpgresize){uploader.settings.resize={width:resize_width,height:resize_height,quality:100}}else{uploader.settings.multipart_params.image_resize=true}}else{delete (uploader.settings.resize);delete (uploader.settings.multipart_params.image_resize)}}function prepareMediaItem(c,a){var d=(typeof shortform=="undefined")?1:2,b=jQuery("#media-item-"+c.id);if(d==2&&shortform>2){d=shortform}try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}}catch(g){}if(isNaN(a)||!a){b.append(a);prepareMediaItemInit(c)}else{b.load("async-upload.php",{attachment_id:a,fetch:d},function(){prepareMediaItemInit(c);updateMediaForm()})}}function prepareMediaItemInit(b){var a=jQuery("#media-item-"+b.id);jQuery(".thumbnail",a).clone().attr("class","pinkynail toggle").prependTo(a);jQuery(".filename.original",a).replaceWith(jQuery(".filename.new",a));jQuery("a.delete",a).click(function(){jQuery.ajax({url:ajaxurl,type:"post",success:deleteSuccess,error:deleteError,id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return false});jQuery("a.undo",a).click(function(){jQuery.ajax({url:ajaxurl,type:"post",id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(d,e){var c=jQuery("#media-item-"+b.id);if(type=jQuery("#type-of-"+b.id).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1)}if(post_id&&c.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1)}jQuery(".filename .trashnotice",c).remove();jQuery(".filename .title",c).css("font-weight","normal");jQuery("a.undo",c).addClass("hidden");jQuery(".menu_order_input",c).show();c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:false,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return false});jQuery("#media-item-"+b.id+".startopen").removeClass("startopen").addClass("open").find("slidetoggle").fadeIn()}function wpQueueError(a){jQuery("#media-upload-error").show().html('<div class="error"><p>'+a+"</p></div>")}function wpFileError(b,a){itemAjaxError(b.id,a)}function itemAjaxError(e,c){var b=jQuery("#media-item-"+e),a=b.find(".filename").text(),d=b.data("last-err");if(d==e){return}b.html('<div class="error-div"><a class="dismiss" href="#">'+pluploadL10n.dismiss+"</a><strong>"+pluploadL10n.error_uploading.replace("%s",jQuery.trim(a))+"</strong> "+c+"</div>").data("last-err",e)}function deleteSuccess(b,d){if(b=="-1"){return itemAjaxError(this.id,"You do not have permission. Has your session expired?")}if(b=="0"){return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?")}var c=this.id,a=jQuery("#media-item-"+c);if(type=jQuery("#type-of-"+c).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1)}if(post_id&&a.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1)}if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".toggle").toggle();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery(".toggle",a).toggle();jQuery(".slidetoggle",a).slideUp(200).siblings().removeClass("hidden");a.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:false,duration:500}).addClass("undo");jQuery(".filename:empty",a).remove();jQuery(".filename .title",a).css("font-weight","bold");jQuery(".filename",a).append('<span class="trashnotice"> '+pluploadL10n.deleted+" </span>").siblings("a.toggle").hide();jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden"));jQuery(".menu_order_input",a).hide();return}function deleteError(c,b,a){}function uploadComplete(){jQuery("#insert-gallery").prop("disabled",false)}function switchUploader(a){if(a){deleteUserSetting("uploader");jQuery(".media-upload-form").removeClass("html-uploader");if(typeof(uploader)=="object"){uploader.refresh()}}else{setUserSetting("uploader","1");jQuery(".media-upload-form").addClass("html-uploader")}}function dndHelper(a){var b=document.getElementById("dnd-helper");if(a){b.style.display="block"}else{b.style.display="none"}}function uploadError(d,f,c,e){var b=100*1024*1024,a;switch(f){case plupload.FAILED:wpFileError(d,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(d,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:uploadSizeError(e,d);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(d,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(d,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(d,pluploadL10n.image_dimensions_exceeded);break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:a=parseInt(e.settings.max_file_size,10);if(a>b&&d.size>b){wpFileError(d,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"))}else{wpQueueError(pluploadL10n.io_error)}break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:jQuery(".media-upload-form").addClass("html-uploader");break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(d,pluploadL10n.default_error)}}function uploadSizeError(a,b,d){var c;if(d){c=pluploadL10n.big_upload_queued.replace("%s",b.name)+" "+pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")}else{c=pluploadL10n.file_exceeds_size_limit.replace("%s",b.name)}jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item error"><p>'+c+"</p></div>");a.removeFile(b)}jQuery(document).ready(function(a){a(".media-upload-form").bind("click.uploader",function(f){var d=a(f.target),b,g;if(d.is('input[type="radio"]')){b=d.closest("tr");if(b.hasClass("align")){setUserSetting("align",d.val())}else{if(b.hasClass("image-size")){setUserSetting("imgsize",d.val())}}}else{if(d.is("button.button")){g=f.target.className||"";g=g.match(/url([^ '"]+)/);if(g&&g[1]){setUserSetting("urlbutton",g[1]);d.siblings(".urlfield").val(d.data("link-url"))}}else{if(d.is("a.dismiss")){d.parents(".media-item").fadeOut(200,function(){a(this).remove()})}else{if(d.is(".upload-flash-bypass a")||d.is("a.uploader-html")){a("#media-items, p.submit, span.big-file-warning").css("display","none");switchUploader(0);f.preventDefault()}else{if(d.is(".upload-html-bypass a")){a("#media-items, p.submit, span.big-file-warning").css("display","");switchUploader(1);f.preventDefault()}else{if(d.is("a.describe-toggle-on")){d.parent().addClass("open");d.siblings(".slidetoggle").fadeIn(250,function(){var i=a(window).scrollTop(),e=a(window).height(),k=a(this).offset().top,j=a(this).height(),c,l;if(e&&k&&j){c=k+j;l=i+e;if(c>l){if(c-l<k-i){window.scrollBy(0,(c-l)+10)}else{window.scrollBy(0,k-i-40)}}}});f.preventDefault()}else{if(d.is("a.describe-toggle-off")){d.siblings(".slidetoggle").fadeOut(250,function(){d.parent().removeClass("open")});f.preventDefault()}}}}}}}});uploader_init=function(){uploader=new plupload.Uploader(wpUploaderInit);a("#image_resize").bind("change",function(){var b=a(this).prop("checked");setResize(b);if(b){setUserSetting("upload_resize","1")}else{deleteUserSetting("upload_resize")}});uploader.bind("Init",function(b){var c=a("#plupload-upload-ui");setResize(getUserSetting("upload_resize",false));if(b.features.dragdrop&&!a(document.body).hasClass("mobile")){c.addClass("drag-drop");a("#drag-drop-area").bind("dragover.wp-uploader",function(){c.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){c.removeClass("drag-over")})}else{c.removeClass("drag-drop");a("#drag-drop-area").unbind(".wp-uploader")}if(b.runtime=="html4"){a(".upload-flash-bypass").hide()}});uploader.init();uploader.bind("FilesAdded",function(d,e){var c=100*1024*1024,b=parseInt(d.settings.max_file_size,10);a("#media-upload-error").html("");uploadStart();plupload.each(e,function(f){if(b>c&&f.size>c&&d.runtime!="html5"){uploadSizeError(d,f,true)}else{fileQueued(f)}});d.refresh();d.start()});uploader.bind("BeforeUpload",function(b,c){});uploader.bind("UploadFile",function(b,c){fileUploading(b,c)});uploader.bind("UploadProgress",function(b,c){uploadProgress(b,c)});uploader.bind("Error",function(b,c){uploadError(c.file,c.code,c.message,b);b.refresh()});uploader.bind("FileUploaded",function(b,d,c){uploadSuccess(d,c.response)});uploader.bind("UploadComplete",function(b,c){uploadComplete()})};if(typeof(wpUploaderInit)=="object"){uploader_init()}});
\ No newline at end of file
+function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(a){jQuery(".media-blank").remove();var b=jQuery("#media-items").children(),c=post_id||0;1==b.length&&b.removeClass("open").find(".slidetoggle").slideUp(200),jQuery('<div class="media-item">').attr("id","media-item-"+a.id).addClass("child-of-"+c).append('<div class="progress"><div class="percent">0%</div><div class="bar"></div></div>',jQuery('<div class="filename original">').text(" "+a.name)).appendTo(jQuery("#media-items")),jQuery("#insert-gallery").prop("disabled",!0)}function uploadStart(){try{"undefined"!=typeof topWin.tb_remove&&topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}catch(a){}return!0}function uploadProgress(a,b){var c=jQuery("#media-item-"+b.id);jQuery(".bar",c).width(200*b.loaded/b.size),jQuery(".percent",c).html(b.percent+"%")}function fileUploading(a,b){var c=104857600,d=parseInt(a.settings.max_file_size,10);d>c&&b.size>c&&setTimeout(function(){b.status<3&&0==b.loaded&&(wpFileError(b,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")),a.stop(),a.removeFile(b),a.start())},1e4)}function updateMediaForm(){var a=jQuery("#media-items").children();1==a.length?(a.addClass("open").find(".slidetoggle").show(),jQuery(".insert-gallery").hide()):a.length>1&&(a.removeClass("open"),jQuery(".insert-gallery").show()),a.not(".media-blank").length>0?jQuery(".savebutton").show():jQuery(".savebutton").hide()}function uploadSuccess(a,b){var c=jQuery("#media-item-"+a.id);return b=b.replace(/^<pre>(\d+)<\/pre>$/,"$1"),b.match(/media-upload-error|error-div/)?(c.html(b),void 0):(jQuery(".percent",c).html(pluploadL10n.crunching),prepareMediaItem(a,b),updateMediaForm(),post_id&&c.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1),void 0)}function setResize(a){a?uploader.features.jpgresize?uploader.settings.resize={width:resize_width,height:resize_height,quality:100}:uploader.settings.multipart_params.image_resize=!0:(delete uploader.settings.resize,delete uploader.settings.multipart_params.image_resize)}function prepareMediaItem(a,b){var c="undefined"==typeof shortform?1:2,d=jQuery("#media-item-"+a.id);2==c&&shortform>2&&(c=shortform);try{"undefined"!=typeof topWin.tb_remove&&topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}catch(e){}isNaN(b)||!b?(d.append(b),prepareMediaItemInit(a)):d.load("async-upload.php",{attachment_id:b,fetch:c},function(){prepareMediaItemInit(a),updateMediaForm()})}function prepareMediaItemInit(a){var b=jQuery("#media-item-"+a.id);jQuery(".thumbnail",b).clone().attr("class","pinkynail toggle").prependTo(b),jQuery(".filename.original",b).replaceWith(jQuery(".filename.new",b)),jQuery("a.delete",b).click(function(){return jQuery.ajax({url:ajaxurl,type:"post",success:deleteSuccess,error:deleteError,id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}}),!1}),jQuery("a.undo",b).click(function(){return jQuery.ajax({url:ajaxurl,type:"post",id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(){var b=jQuery("#media-item-"+a.id);(type=jQuery("#type-of-"+a.id).val())&&jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1),post_id&&b.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1),jQuery(".filename .trashnotice",b).remove(),jQuery(".filename .title",b).css("font-weight","normal"),jQuery("a.undo",b).addClass("hidden"),jQuery(".menu_order_input",b).show(),b.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:!1,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}}),!1}),jQuery("#media-item-"+a.id+".startopen").removeClass("startopen").addClass("open").find("slidetoggle").fadeIn()}function wpQueueError(a){jQuery("#media-upload-error").show().html('<div class="error"><p>'+a+"</p></div>")}function wpFileError(a,b){itemAjaxError(a.id,b)}function itemAjaxError(a,b){var c=jQuery("#media-item-"+a),d=c.find(".filename").text(),e=c.data("last-err");e!=a&&c.html('<div class="error-div"><a class="dismiss" href="#">'+pluploadL10n.dismiss+"</a><strong>"+pluploadL10n.error_uploading.replace("%s",jQuery.trim(d))+"</strong> "+b+"</div>").data("last-err",a)}function deleteSuccess(a){if("-1"==a)return itemAjaxError(this.id,"You do not have permission. Has your session expired?");if("0"==a)return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?");var b=this.id,c=jQuery("#media-item-"+b);(type=jQuery("#type-of-"+b).val())&&jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1),post_id&&c.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1),1==jQuery("form.type-form #media-items").children().length&&jQuery(".hidden","#media-items").length>0&&(jQuery(".toggle").toggle(),jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")),jQuery(".toggle",c).toggle(),jQuery(".slidetoggle",c).slideUp(200).siblings().removeClass("hidden"),c.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:!1,duration:500}).addClass("undo"),jQuery(".filename:empty",c).remove(),jQuery(".filename .title",c).css("font-weight","bold"),jQuery(".filename",c).append('<span class="trashnotice"> '+pluploadL10n.deleted+" </span>").siblings("a.toggle").hide(),jQuery(".filename",c).append(jQuery("a.undo",c).removeClass("hidden")),jQuery(".menu_order_input",c).hide()}function deleteError(){}function uploadComplete(){jQuery("#insert-gallery").prop("disabled",!1)}function switchUploader(a){a?(deleteUserSetting("uploader"),jQuery(".media-upload-form").removeClass("html-uploader"),"object"==typeof uploader&&uploader.refresh()):(setUserSetting("uploader","1"),jQuery(".media-upload-form").addClass("html-uploader"))}function dndHelper(a){var b=document.getElementById("dnd-helper");b.style.display=a?"block":"none"}function uploadError(a,b,c,d){var e,f=104857600;switch(b){case plupload.FAILED:wpFileError(a,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(a,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:uploadSizeError(d,a);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(a,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(a,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(a,pluploadL10n.image_dimensions_exceeded);break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:e=parseInt(d.settings.max_file_size,10),e>f&&a.size>f?wpFileError(a,pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>")):wpQueueError(pluploadL10n.io_error);break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:jQuery(".media-upload-form").addClass("html-uploader");break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(a,pluploadL10n.default_error)}}function uploadSizeError(a,b,c){var d;d=c?pluploadL10n.big_upload_queued.replace("%s",b.name)+" "+pluploadL10n.big_upload_failed.replace("%1$s",'<a class="uploader-html" href="#">').replace("%2$s","</a>"):pluploadL10n.file_exceeds_size_limit.replace("%s",b.name),jQuery("#media-items").append('<div id="media-item-'+b.id+'" class="media-item error"><p>'+d+"</p></div>"),a.removeFile(b)}var topWin=window.dialogArguments||opener||parent||top,uploader,uploader_init;jQuery(document).ready(function(a){a(".media-upload-form").bind("click.uploader",function(b){var c,d,e=a(b.target);e.is('input[type="radio"]')?(c=e.closest("tr"),c.hasClass("align")?setUserSetting("align",e.val()):c.hasClass("image-size")&&setUserSetting("imgsize",e.val())):e.is("button.button")?(d=b.target.className||"",d=d.match(/url([^ '"]+)/),d&&d[1]&&(setUserSetting("urlbutton",d[1]),e.siblings(".urlfield").val(e.data("link-url")))):e.is("a.dismiss")?e.parents(".media-item").fadeOut(200,function(){a(this).remove()}):e.is(".upload-flash-bypass a")||e.is("a.uploader-html")?(a("#media-items, p.submit, span.big-file-warning").css("display","none"),switchUploader(0),b.preventDefault()):e.is(".upload-html-bypass a")?(a("#media-items, p.submit, span.big-file-warning").css("display",""),switchUploader(1),b.preventDefault()):e.is("a.describe-toggle-on")?(e.parent().addClass("open"),e.siblings(".slidetoggle").fadeIn(250,function(){var b,c,d=a(window).scrollTop(),e=a(window).height(),f=a(this).offset().top,g=a(this).height();e&&f&&g&&(b=f+g,c=d+e,b>c&&(f-d>b-c?window.scrollBy(0,b-c+10):window.scrollBy(0,f-d-40)))}),b.preventDefault()):e.is("a.describe-toggle-off")&&(e.siblings(".slidetoggle").fadeOut(250,function(){e.parent().removeClass("open")}),b.preventDefault())}),uploader_init=function(){uploader=new plupload.Uploader(wpUploaderInit),a("#image_resize").bind("change",function(){var b=a(this).prop("checked");setResize(b),b?setUserSetting("upload_resize","1"):deleteUserSetting("upload_resize")}),uploader.bind("Init",function(b){var c=a("#plupload-upload-ui");setResize(getUserSetting("upload_resize",!1)),b.features.dragdrop&&!a(document.body).hasClass("mobile")?(c.addClass("drag-drop"),a("#drag-drop-area").bind("dragover.wp-uploader",function(){c.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){c.removeClass("drag-over")})):(c.removeClass("drag-drop"),a("#drag-drop-area").unbind(".wp-uploader")),"html4"==b.runtime&&a(".upload-flash-bypass").hide()}),uploader.init(),uploader.bind("FilesAdded",function(b,c){var d=104857600,e=parseInt(b.settings.max_file_size,10);a("#media-upload-error").html(""),uploadStart(),plupload.each(c,function(a){e>d&&a.size>d&&"html5"!=b.runtime?uploadSizeError(b,a,!0):fileQueued(a)}),b.refresh(),b.start()}),uploader.bind("BeforeUpload",function(){}),uploader.bind("UploadFile",function(a,b){fileUploading(a,b)}),uploader.bind("UploadProgress",function(a,b){uploadProgress(a,b)}),uploader.bind("Error",function(a,b){uploadError(b.file,b.code,b.message,a),a.refresh()}),uploader.bind("FileUploaded",function(a,b,c){uploadSuccess(b,c.response)}),uploader.bind("UploadComplete",function(){uploadComplete()})},"object"==typeof wpUploaderInit&&uploader_init()});
\ No newline at end of file
index d9f179e20d772375127039dc9ae2a973d03d04cc..62531bf793cee64658af94394f2943b2aa90beae 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(a,b){var c;if(typeof _wpPluploadSettings==="undefined"){return}c=function(f){var d=this,h={container:"container",browser:"browse_button",dropzone:"drop_element"},g,e;this.supports={upload:c.browser.supported};this.supported=this.supports.upload;if(!this.supported){return}this.plupload=b.extend(true,{multipart_params:{}},c.defaults);this.container=document.body;b.extend(true,this,f);for(g in this){if(b.isFunction(this[g])){this[g]=b.proxy(this[g],this)}}for(g in h){if(!this[g]){continue}this[g]=b(this[g]).first();if(!this[g].length){delete this[g];continue}if(!this[g].prop("id")){this[g].prop("id","__wp-uploader-id-"+c.uuid++)}this.plupload[h[g]]=this[g].prop("id")}if(!(this.browser&&this.browser.length)&&!(this.dropzone&&this.dropzone.length)){return}this.uploader=new plupload.Uploader(this.plupload);delete this.plupload;this.param(this.params||{});delete this.params;e=function(j,k,i){if(i.attachment){i.attachment.destroy()}c.errors.unshift({message:j||pluploadL10n.default_error,data:k,file:i});d.error(j,k,i)};this.uploader.init();this.supports.dragdrop=this.uploader.features.dragdrop&&!c.browser.mobile;(function(j,i){var l,k;if(!j){return}j.toggleClass("supports-drag-drop",!!i);if(!i){return j.unbind(".wp-uploader")}j.bind("dragover.wp-uploader",function(){if(l){clearTimeout(l)}if(k){return}j.trigger("dropzone:enter").addClass("drag-over");k=true});j.bind("dragleave.wp-uploader, drop.wp-uploader",function(){l=setTimeout(function(){k=false;j.trigger("dropzone:leave").removeClass("drag-over")},0)})}(this.dropzone,this.supports.dragdrop));if(this.browser){this.browser.on("mouseenter",this.refresh)}else{this.uploader.disableBrowse(true);b("#"+this.uploader.id+"_html5_container").hide()}this.uploader.bind("FilesAdded",function(i,j){_.each(j,function(l){var k,m;if(plupload.FAILED===l.status){return}k=_.extend({file:l,uploading:true,date:new Date(),filename:l.name,menuOrder:0,uploadedTo:wp.media.model.settings.post.id},_.pick(l,"loaded","size","percent"));m=/(?:jpe?g|png|gif)$/i.exec(l.name);if(m){k.type="image";k.subtype=("jpg"===m[0])?"jpeg":m[0]}l.attachment=wp.media.model.Attachment.create(k);c.queue.add(l.attachment);d.added(l.attachment)});i.refresh();i.start()});this.uploader.bind("UploadProgress",function(i,j){j.attachment.set(_.pick(j,"loaded","percent"));d.progress(j.attachment)});this.uploader.bind("FileUploaded",function(i,l,k){var j;try{k=JSON.parse(k.response)}catch(m){return e(pluploadL10n.default_error,m,l)}if(!_.isObject(k)||_.isUndefined(k.success)){return e(pluploadL10n.default_error,null,l)}else{if(!k.success){return e(k.data&&k.data.message,k.data,l)}}_.each(["file","loaded","size","percent"],function(n){l.attachment.unset(n)});l.attachment.set(_.extend(k.data,{uploading:false}));wp.media.model.Attachment.get(k.data.id,l.attachment);j=c.queue.all(function(n){return !n.get("uploading")});if(j){c.queue.reset()}d.success(l.attachment)});this.uploader.bind("Error",function(i,l){var k=pluploadL10n.default_error,j;for(j in c.errorMap){if(l.code===plupload[j]){k=c.errorMap[j];if(_.isFunction(k)){k=k(l.file,l)}break}}e(k,l,l.file);i.refresh()});this.init()};b.extend(c,_wpPluploadSettings);c.uuid=0;c.errorMap={FAILED:pluploadL10n.upload_failed,FILE_EXTENSION_ERROR:pluploadL10n.invalid_filetype,IMAGE_FORMAT_ERROR:pluploadL10n.not_an_image,IMAGE_MEMORY_ERROR:pluploadL10n.image_memory_exceeded,IMAGE_DIMENSIONS_ERROR:pluploadL10n.image_dimensions_exceeded,GENERIC_ERROR:pluploadL10n.upload_failed,IO_ERROR:pluploadL10n.io_error,HTTP_ERROR:pluploadL10n.http_error,SECURITY_ERROR:pluploadL10n.security_error,FILE_SIZE_ERROR:function(d){return pluploadL10n.file_exceeds_size_limit.replace("%s",d.name)}};b.extend(c.prototype,{param:function(d,e){if(arguments.length===1&&typeof d==="string"){return this.uploader.settings.multipart_params[d]}if(arguments.length>1){this.uploader.settings.multipart_params[d]=e}else{b.extend(this.uploader.settings.multipart_params,d)}},init:function(){},error:function(){},success:function(){},added:function(){},progress:function(){},complete:function(){},refresh:function(){var f,e,d,g;if(this.browser){f=this.browser[0];while(f){if(f===document.body){e=true;break}f=f.parentNode}if(!e){g="wp-uploader-browser-"+this.uploader.id;d=b("#"+g);if(!d.length){d=b('<div class="wp-uploader-browser" />').css({position:"fixed",top:"-1000px",left:"-1000px",height:0,width:0}).attr("id","wp-uploader-browser-"+this.uploader.id).appendTo("body")}d.append(this.browser)}}this.uploader.refresh()}});c.queue=new wp.media.model.Attachments([],{query:false});c.errors=new Backbone.Collection();a.Uploader=c})(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){var c;"undefined"!=typeof _wpPluploadSettings&&(c=function(a){var d,e,f=this,g={container:"container",browser:"browse_button",dropzone:"drop_element"};if(this.supports={upload:c.browser.supported},this.supported=this.supports.upload,this.supported){this.plupload=b.extend(!0,{multipart_params:{}},c.defaults),this.container=document.body,b.extend(!0,this,a);for(d in this)b.isFunction(this[d])&&(this[d]=b.proxy(this[d],this));for(d in g)this[d]&&(this[d]=b(this[d]).first(),this[d].length?(this[d].prop("id")||this[d].prop("id","__wp-uploader-id-"+c.uuid++),this.plupload[g[d]]=this[d].prop("id")):delete this[d]);(this.browser&&this.browser.length||this.dropzone&&this.dropzone.length)&&(this.uploader=new plupload.Uploader(this.plupload),delete this.plupload,this.param(this.params||{}),delete this.params,e=function(a,b,d){d.attachment&&d.attachment.destroy(),c.errors.unshift({message:a||pluploadL10n.default_error,data:b,file:d}),f.error(a,b,d)},this.uploader.init(),this.supports.dragdrop=this.uploader.features.dragdrop&&!c.browser.mobile,function(a,b){var c,d;if(a){if(a.toggleClass("supports-drag-drop",!!b),!b)return a.unbind(".wp-uploader");a.bind("dragover.wp-uploader",function(){c&&clearTimeout(c),d||(a.trigger("dropzone:enter").addClass("drag-over"),d=!0)}),a.bind("dragleave.wp-uploader, drop.wp-uploader",function(){c=setTimeout(function(){d=!1,a.trigger("dropzone:leave").removeClass("drag-over")},0)})}}(this.dropzone,this.supports.dragdrop),this.browser?this.browser.on("mouseenter",this.refresh):(this.uploader.disableBrowse(!0),b("#"+this.uploader.id+"_html5_container").hide()),this.uploader.bind("FilesAdded",function(a,b){_.each(b,function(a){var b,d;plupload.FAILED!==a.status&&(b=_.extend({file:a,uploading:!0,date:new Date,filename:a.name,menuOrder:0,uploadedTo:wp.media.model.settings.post.id},_.pick(a,"loaded","size","percent")),d=/(?:jpe?g|png|gif)$/i.exec(a.name),d&&(b.type="image",b.subtype="jpg"===d[0]?"jpeg":d[0]),a.attachment=wp.media.model.Attachment.create(b),c.queue.add(a.attachment),f.added(a.attachment))}),a.refresh(),a.start()}),this.uploader.bind("UploadProgress",function(a,b){b.attachment.set(_.pick(b,"loaded","percent")),f.progress(b.attachment)}),this.uploader.bind("FileUploaded",function(a,b,d){var g;try{d=JSON.parse(d.response)}catch(h){return e(pluploadL10n.default_error,h,b)}return!_.isObject(d)||_.isUndefined(d.success)?e(pluploadL10n.default_error,null,b):d.success?(_.each(["file","loaded","size","percent"],function(a){b.attachment.unset(a)}),b.attachment.set(_.extend(d.data,{uploading:!1})),wp.media.model.Attachment.get(d.data.id,b.attachment),g=c.queue.all(function(a){return!a.get("uploading")}),g&&c.queue.reset(),f.success(b.attachment),void 0):e(d.data&&d.data.message,d.data,b)}),this.uploader.bind("Error",function(a,b){var d,f=pluploadL10n.default_error;for(d in c.errorMap)if(b.code===plupload[d]){f=c.errorMap[d],_.isFunction(f)&&(f=f(b.file,b));break}e(f,b,b.file),a.refresh()}),this.init())}},b.extend(c,_wpPluploadSettings),c.uuid=0,c.errorMap={FAILED:pluploadL10n.upload_failed,FILE_EXTENSION_ERROR:pluploadL10n.invalid_filetype,IMAGE_FORMAT_ERROR:pluploadL10n.not_an_image,IMAGE_MEMORY_ERROR:pluploadL10n.image_memory_exceeded,IMAGE_DIMENSIONS_ERROR:pluploadL10n.image_dimensions_exceeded,GENERIC_ERROR:pluploadL10n.upload_failed,IO_ERROR:pluploadL10n.io_error,HTTP_ERROR:pluploadL10n.http_error,SECURITY_ERROR:pluploadL10n.security_error,FILE_SIZE_ERROR:function(a){return pluploadL10n.file_exceeds_size_limit.replace("%s",a.name)}},b.extend(c.prototype,{param:function(a,c){return 1===arguments.length&&"string"==typeof a?this.uploader.settings.multipart_params[a]:(arguments.length>1?this.uploader.settings.multipart_params[a]=c:b.extend(this.uploader.settings.multipart_params,a),void 0)},init:function(){},error:function(){},success:function(){},added:function(){},progress:function(){},complete:function(){},refresh:function(){var a,c,d,e;if(this.browser){for(a=this.browser[0];a;){if(a===document.body){c=!0;break}a=a.parentNode}c||(e="wp-uploader-browser-"+this.uploader.id,d=b("#"+e),d.length||(d=b('<div class="wp-uploader-browser" />').css({position:"fixed",top:"-1000px",left:"-1000px",height:0,width:0}).attr("id","wp-uploader-browser-"+this.uploader.id).appendTo("body")),d.append(this.browser))}this.uploader.refresh()}}),c.queue=new wp.media.model.Attachments([],{query:!1}),c.errors=new Backbone.Collection,a.Uploader=c)}(wp,jQuery);
\ No newline at end of file
index 56b1dbc06fe8d08e8425bedae5d2c125b81a56be..648a2ee2819134ad9e980f6a3081a2ca9df1acc8 100644 (file)
@@ -1 +1 @@
-var QTags,edButtons=[],edCanvas,edAddTag=function(){},edCheckOpenTags=function(){},edCloseAllTags=function(){},edInsertImage=function(){},edInsertLink=function(){},edInsertTag=function(){},edLink=function(){},edQuickLink=function(){},edRemoveTag=function(){},edShowButton=function(){},edShowLinks=function(){},edSpell=function(){},edToolbar=function(){};function quicktags(a){return new QTags(a)}function edInsertContent(b,a){return QTags.insertContent(a)}function edButton(f,e,c,b,a,d){return QTags.addButton(f,e,c,b,a,"",-1)}(function(){var b=function(g){var f,e,d;if(typeof jQuery!="undefined"){jQuery(document).ready(g)}else{f=b;f.funcs=[];f.ready=function(){if(!f.isReady){f.isReady=true;for(e=0;e<f.funcs.length;e++){f.funcs[e]()}}};if(f.isReady){g()}else{f.funcs.push(g)}if(!f.eventAttached){if(document.addEventListener){d=function(){document.removeEventListener("DOMContentLoaded",d,false);f.ready()};document.addEventListener("DOMContentLoaded",d,false);window.addEventListener("load",f.ready,false)}else{if(document.attachEvent){d=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",d);f.ready()}};document.attachEvent("onreadystatechange",d);window.attachEvent("onload",f.ready);(function(){try{document.documentElement.doScroll("left")}catch(h){setTimeout(arguments.callee,50);return}f.ready()})()}}f.eventAttached=true}}},a=(function(){var d=new Date(),e;e=function(f){var g=f.toString();if(g.length<2){g="0"+g}return g};return d.getUTCFullYear()+"-"+e(d.getUTCMonth()+1)+"-"+e(d.getUTCDate())+"T"+e(d.getUTCHours())+":"+e(d.getUTCMinutes())+":"+e(d.getUTCSeconds())+"+00:00"})(),c;c=QTags=function(j){if(typeof(j)=="string"){j={id:j}}else{if(typeof(j)!="object"){return false}}var i=this,k=j.id,h=document.getElementById(k),g="qt_"+k,d,f,e;if(!k||!h){return false}i.name=g;i.id=k;i.canvas=h;i.settings=j;if(k=="content"&&typeof(adminpage)=="string"&&(adminpage=="post-new-php"||adminpage=="post-php")){edCanvas=h;e="ed_toolbar"}else{e=g+"_toolbar"}d=document.createElement("div");d.id=e;d.className="quicktags-toolbar";h.parentNode.insertBefore(d,h);i.toolbar=d;f=function(n){n=n||window.event;var m=n.target||n.srcElement,o=m.clientWidth||m.offsetWidth,l;if(!o){return}if(/ ed_button /.test(" "+m.className+" ")){i.canvas=h=document.getElementById(k);l=m.id.replace(g+"_","");if(i.theButtons[l]){i.theButtons[l].callback.call(i.theButtons[l],m,h,i)}}};if(d.addEventListener){d.addEventListener("click",f,false)}else{if(d.attachEvent){d.attachEvent("onclick",f)}}i.getButton=function(l){return i.theButtons[l]};i.getButtonElement=function(l){return document.getElementById(g+"_"+l)};c.instances[k]=i;if(!c.instances[0]){c.instances[0]=c.instances[k];b(function(){c._buttonsInit()})}};c.instances={};c.getInstance=function(d){return c.instances[d]};c._buttonsInit=function(){var p=this,g,e,h,o,m,l,n,f,k,d,j=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,";for(l in p.instances){if(l==0){continue}n=p.instances[l];g=n.canvas;e=n.name;h=n.settings;m="";o={};d="";if(h.buttons){d=","+h.buttons+","}for(k in edButtons){if(!edButtons[k]){continue}f=edButtons[k].id;if(d&&j.indexOf(","+f+",")!=-1&&d.indexOf(","+f+",")==-1){continue}if(!edButtons[k].instance||edButtons[k].instance==l){o[f]=edButtons[k];if(edButtons[k].html){m+=edButtons[k].html(e+"_")}}}if(d&&d.indexOf(",fullscreen,")!=-1){o.fullscreen=new c.FullscreenButton();m+=o.fullscreen.html(e+"_")}if("rtl"==document.getElementsByTagName("html")[0].dir){o.textdirection=new c.TextDirectionButton();m+=o.textdirection.html(e+"_")}n.toolbar.innerHTML=m;n.theButtons=o}p.buttonsInitDone=true};c.addButton=function(e,i,h,g,d,j,k,l){var f;if(!e||!i){return}k=k||0;g=g||"";if(typeof(h)==="function"){f=new c.Button(e,i,d,j,l);f.callback=h}else{if(typeof(h)==="string"){f=new c.TagButton(e,i,h,g,d,j,l)}else{return}}if(k==-1){return f}if(k>0){while(typeof(edButtons[k])!="undefined"){k++}edButtons[k]=f}else{edButtons[edButtons.length]=f}if(this.buttonsInitDone){this._buttonsInit()}};c.insertContent=function(g){var h,f,e,i,j,d=document.getElementById(wpActiveEditor);if(!d){return false}if(document.selection){d.focus();h=document.selection.createRange();h.text=g;d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){j=d.value;f=d.selectionStart;e=d.selectionEnd;i=d.scrollTop;d.value=j.substring(0,f)+g+j.substring(e,j.length);d.focus();d.selectionStart=f+g.length;d.selectionEnd=f+g.length;d.scrollTop=i}else{d.value+=g;d.focus()}}return true};c.Button=function(i,g,e,h,d){var f=this;f.id=i;f.display=g;f.access=e;f.title=h||"";f.instance=d||""};c.Button.prototype.html=function(e){var d=this.access?' accesskey="'+this.access+'"':"";return'<input type="button" id="'+e+this.id+'"'+d+' class="ed_button" title="'+this.title+'" value="'+this.display+'" />'};c.Button.prototype.callback=function(){};c.TagButton=function(k,i,g,f,e,j,d){var h=this;c.Button.call(h,k,i,e,j,d);h.tagStart=g;h.tagEnd=f};c.TagButton.prototype=new c.Button();c.TagButton.prototype.openTag=function(g,d){var f=this;if(!d.openTags){d.openTags=[]}if(f.tagEnd){d.openTags.push(f.id);g.value="/"+g.value}};c.TagButton.prototype.closeTag=function(h,d){var g=this,f=g.isOpen(d);if(f!==false){d.openTags.splice(f,1)}h.value=g.display};c.TagButton.prototype.isOpen=function(d){var g=this,f=0,e=false;if(d.openTags){while(e===false&&f<d.openTags.length){e=d.openTags[f]==g.id?f:false;f++}}else{e=false}return e};c.TagButton.prototype.callback=function(o,h,p){var u=this,q,e,m,g,s=h.value,j,d,n,f,k=s?u.tagEnd:"";if(document.selection){h.focus();f=document.selection.createRange();if(f.text.length>0){if(!u.tagEnd){f.text=f.text+u.tagStart}else{f.text=u.tagStart+f.text+k}}else{if(!u.tagEnd){f.text=u.tagStart}else{if(u.isOpen(p)===false){f.text=u.tagStart;u.openTag(o,p)}else{f.text=k;u.closeTag(o,p)}}}h.focus()}else{if(h.selectionStart||h.selectionStart=="0"){q=h.selectionStart;e=h.selectionEnd;m=e;g=h.scrollTop;j=s.substring(0,q);d=s.substring(e,s.length);n=s.substring(q,e);if(q!=e){if(!u.tagEnd){h.value=j+n+u.tagStart+d;m+=u.tagStart.length}else{h.value=j+u.tagStart+n+k+d;m+=u.tagStart.length+k.length}}else{if(!u.tagEnd){h.value=j+u.tagStart+d;m=q+u.tagStart.length}else{if(u.isOpen(p)===false){h.value=j+u.tagStart+d;u.openTag(o,p);m=q+u.tagStart.length}else{h.value=j+k+d;m=q+k.length;u.closeTag(o,p)}}}h.focus();h.selectionStart=m;h.selectionEnd=m;h.scrollTop=g}else{if(!k){h.value+=u.tagStart}else{if(u.isOpen(p)!==false){h.value+=u.tagStart;u.openTag(o,p)}else{h.value+=k;u.closeTag(o,p)}}h.focus()}}};c.SpellButton=function(){};c.CloseButton=function(){c.Button.call(this,"close",quicktagsL10n.closeTags,"",quicktagsL10n.closeAllOpenTags)};c.CloseButton.prototype=new c.Button();c._close=function(i,j,d){var g,f,h=d.openTags;if(h){while(h.length>0){g=d.getButton(h[h.length-1]);f=document.getElementById(d.name+"_"+g.id);if(i){g.callback.call(g,f,j,d)}else{g.closeTag(f,d)}}}};c.CloseButton.prototype.callback=c._close;c.closeAllTags=function(e){var d=this.getInstance(e);c._close("",d.canvas,d)};c.LinkButton=function(){c.TagButton.call(this,"link","link","","</a>","a")};c.LinkButton.prototype=new c.TagButton();c.LinkButton.prototype.callback=function(i,j,g,f){var d,h=this;if(typeof(wpLink)!="undefined"){wpLink.open();return}if(!f){f="http://"}if(h.isOpen(g)===false){d=prompt(quicktagsL10n.enterURL,f);if(d){h.tagStart='<a href="'+d+'">';c.TagButton.prototype.callback.call(h,i,j,g)}}else{c.TagButton.prototype.callback.call(h,i,j,g)}};c.ImgButton=function(){c.TagButton.call(this,"img","img","","","m")};c.ImgButton.prototype=new c.TagButton();c.ImgButton.prototype.callback=function(h,j,f,d){if(!d){d="http://"}var i=prompt(quicktagsL10n.enterImageURL,d),g;if(i){g=prompt(quicktagsL10n.enterImageDescription,"");this.tagStart='<img src="'+i+'" alt="'+g+'" />';c.TagButton.prototype.callback.call(this,h,j,f)}};c.FullscreenButton=function(){c.Button.call(this,"fullscreen",quicktagsL10n.fullscreen,"f",quicktagsL10n.toggleFullscreen)};c.FullscreenButton.prototype=new c.Button();c.FullscreenButton.prototype.callback=function(d,f){if(!f.id||typeof(fullscreen)=="undefined"){return}fullscreen.on()};c.TextDirectionButton=function(){c.Button.call(this,"textdirection",quicktagsL10n.textdirection,"",quicktagsL10n.toggleTextdirection)};c.TextDirectionButton.prototype=new c.Button();c.TextDirectionButton.prototype.callback=function(f,h){var d=("rtl"==document.getElementsByTagName("html")[0].dir),g=h.style.direction;if(!g){g=(d)?"rtl":"ltr"}h.style.direction=("rtl"==g)?"ltr":"rtl";h.focus()};edButtons[10]=new c.TagButton("strong","b","<strong>","</strong>","b");edButtons[20]=new c.TagButton("em","i","<em>","</em>","i"),edButtons[30]=new c.LinkButton(),edButtons[40]=new c.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q"),edButtons[50]=new c.TagButton("del","del",'<del datetime="'+a+'">',"</del>","d"),edButtons[60]=new c.TagButton("ins","ins",'<ins datetime="'+a+'">',"</ins>","s"),edButtons[70]=new c.ImgButton(),edButtons[80]=new c.TagButton("ul","ul","<ul>\n","</ul>\n\n","u"),edButtons[90]=new c.TagButton("ol","ol","<ol>\n","</ol>\n\n","o"),edButtons[100]=new c.TagButton("li","li","\t<li>","</li>\n","l"),edButtons[110]=new c.TagButton("code","code","<code>","</code>","c"),edButtons[120]=new c.TagButton("more","more","<!--more-->","","t"),edButtons[140]=new c.CloseButton()})();
\ No newline at end of file
+function quicktags(a){return new QTags(a)}function edInsertContent(a,b){return QTags.insertContent(b)}function edButton(a,b,c,d,e){return QTags.addButton(a,b,c,d,e,"",-1)}var QTags,edButtons=[],edCanvas,edAddTag=function(){},edCheckOpenTags=function(){},edCloseAllTags=function(){},edInsertImage=function(){},edInsertLink=function(){},edInsertTag=function(){},edLink=function(){},edQuickLink=function(){},edRemoveTag=function(){},edShowButton=function(){},edShowLinks=function(){},edSpell=function(){},edToolbar=function(){};!function(){var a,b=function(a){var c,d,e;"undefined"!=typeof jQuery?jQuery(document).ready(a):(c=b,c.funcs=[],c.ready=function(){if(!c.isReady)for(c.isReady=!0,d=0;d<c.funcs.length;d++)c.funcs[d]()},c.isReady?a():c.funcs.push(a),c.eventAttached||(document.addEventListener?(e=function(){document.removeEventListener("DOMContentLoaded",e,!1),c.ready()},document.addEventListener("DOMContentLoaded",e,!1),window.addEventListener("load",c.ready,!1)):document.attachEvent&&(e=function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",e),c.ready())},document.attachEvent("onreadystatechange",e),window.attachEvent("onload",c.ready),function(){try{document.documentElement.doScroll("left")}catch(a){return setTimeout(arguments.callee,50),void 0}c.ready()}()),c.eventAttached=!0))},c=function(){var a,b=new Date;return a=function(a){var b=a.toString();return b.length<2&&(b="0"+b),b},b.getUTCFullYear()+"-"+a(b.getUTCMonth()+1)+"-"+a(b.getUTCDate())+"T"+a(b.getUTCHours())+":"+a(b.getUTCMinutes())+":"+a(b.getUTCSeconds())+"+00:00"}();a=QTags=function(c){if("string"==typeof c)c={id:c};else if("object"!=typeof c)return!1;var d,e,f,g=this,h=c.id,i=document.getElementById(h),j="qt_"+h;return h&&i?(g.name=j,g.id=h,g.canvas=i,g.settings=c,"content"!=h||"string"!=typeof adminpage||"post-new-php"!=adminpage&&"post-php"!=adminpage?f=j+"_toolbar":(edCanvas=i,f="ed_toolbar"),d=document.createElement("div"),d.id=f,d.className="quicktags-toolbar",i.parentNode.insertBefore(d,i),g.toolbar=d,e=function(a){a=a||window.event;var b,c=a.target||a.srcElement,d=c.clientWidth||c.offsetWidth;d&&/ ed_button /.test(" "+c.className+" ")&&(g.canvas=i=document.getElementById(h),b=c.id.replace(j+"_",""),g.theButtons[b]&&g.theButtons[b].callback.call(g.theButtons[b],c,i,g))},d.addEventListener?d.addEventListener("click",e,!1):d.attachEvent&&d.attachEvent("onclick",e),g.getButton=function(a){return g.theButtons[a]},g.getButtonElement=function(a){return document.getElementById(j+"_"+a)},a.instances[h]=g,a.instances[0]||(a.instances[0]=a.instances[h],b(function(){a._buttonsInit()})),void 0):!1},a.instances={},a.getInstance=function(b){return a.instances[b]},a._buttonsInit=function(){var b,c,d,e,f,g,h,i,j,k,l=this,m=",strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,";for(g in l.instances)if(0!=g){h=l.instances[g],b=h.canvas,c=h.name,d=h.settings,f="",e={},k="",d.buttons&&(k=","+d.buttons+",");for(j in edButtons)edButtons[j]&&(i=edButtons[j].id,k&&-1!=m.indexOf(","+i+",")&&-1==k.indexOf(","+i+",")||edButtons[j].instance&&edButtons[j].instance!=g||(e[i]=edButtons[j],edButtons[j].html&&(f+=edButtons[j].html(c+"_"))));k&&-1!=k.indexOf(",fullscreen,")&&(e.fullscreen=new a.FullscreenButton,f+=e.fullscreen.html(c+"_")),"rtl"==document.getElementsByTagName("html")[0].dir&&(e.textdirection=new a.TextDirectionButton,f+=e.textdirection.html(c+"_")),h.toolbar.innerHTML=f,h.theButtons=e}l.buttonsInitDone=!0},a.addButton=function(b,c,d,e,f,g,h,i){var j;if(b&&c){if(h=h||0,e=e||"","function"==typeof d)j=new a.Button(b,c,f,g,i),j.callback=d;else{if("string"!=typeof d)return;j=new a.TagButton(b,c,d,e,f,g,i)}if(-1==h)return j;if(h>0){for(;"undefined"!=typeof edButtons[h];)h++;edButtons[h]=j}else edButtons[edButtons.length]=j;this.buttonsInitDone&&this._buttonsInit()}},a.insertContent=function(a){var b,c,d,e,f,g=document.getElementById(wpActiveEditor);return g?(document.selection?(g.focus(),b=document.selection.createRange(),b.text=a,g.focus()):g.selectionStart||"0"==g.selectionStart?(f=g.value,c=g.selectionStart,d=g.selectionEnd,e=g.scrollTop,g.value=f.substring(0,c)+a+f.substring(d,f.length),g.focus(),g.selectionStart=c+a.length,g.selectionEnd=c+a.length,g.scrollTop=e):(g.value+=a,g.focus()),!0):!1},a.Button=function(a,b,c,d,e){var f=this;f.id=a,f.display=b,f.access=c,f.title=d||"",f.instance=e||""},a.Button.prototype.html=function(a){var b=this.access?' accesskey="'+this.access+'"':"";return'<input type="button" id="'+a+this.id+'"'+b+' class="ed_button" title="'+this.title+'" value="'+this.display+'" />'},a.Button.prototype.callback=function(){},a.TagButton=function(b,c,d,e,f,g,h){var i=this;a.Button.call(i,b,c,f,g,h),i.tagStart=d,i.tagEnd=e},a.TagButton.prototype=new a.Button,a.TagButton.prototype.openTag=function(a,b){var c=this;b.openTags||(b.openTags=[]),c.tagEnd&&(b.openTags.push(c.id),a.value="/"+a.value)},a.TagButton.prototype.closeTag=function(a,b){var c=this,d=c.isOpen(b);d!==!1&&b.openTags.splice(d,1),a.value=c.display},a.TagButton.prototype.isOpen=function(a){var b=this,c=0,d=!1;if(a.openTags)for(;d===!1&&c<a.openTags.length;)d=a.openTags[c]==b.id?c:!1,c++;else d=!1;return d},a.TagButton.prototype.callback=function(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=b.value,n=m?l.tagEnd:"";document.selection?(b.focus(),k=document.selection.createRange(),k.text.length>0?k.text=l.tagEnd?l.tagStart+k.text+n:k.text+l.tagStart:l.tagEnd?l.isOpen(c)===!1?(k.text=l.tagStart,l.openTag(a,c)):(k.text=n,l.closeTag(a,c)):k.text=l.tagStart,b.focus()):b.selectionStart||"0"==b.selectionStart?(d=b.selectionStart,e=b.selectionEnd,f=e,g=b.scrollTop,h=m.substring(0,d),i=m.substring(e,m.length),j=m.substring(d,e),d!=e?l.tagEnd?(b.value=h+l.tagStart+j+n+i,f+=l.tagStart.length+n.length):(b.value=h+j+l.tagStart+i,f+=l.tagStart.length):l.tagEnd?l.isOpen(c)===!1?(b.value=h+l.tagStart+i,l.openTag(a,c),f=d+l.tagStart.length):(b.value=h+n+i,f=d+n.length,l.closeTag(a,c)):(b.value=h+l.tagStart+i,f=d+l.tagStart.length),b.focus(),b.selectionStart=f,b.selectionEnd=f,b.scrollTop=g):(n?l.isOpen(c)!==!1?(b.value+=l.tagStart,l.openTag(a,c)):(b.value+=n,l.closeTag(a,c)):b.value+=l.tagStart,b.focus())},a.SpellButton=function(){},a.CloseButton=function(){a.Button.call(this,"close",quicktagsL10n.closeTags,"",quicktagsL10n.closeAllOpenTags)},a.CloseButton.prototype=new a.Button,a._close=function(a,b,c){var d,e,f=c.openTags;if(f)for(;f.length>0;)d=c.getButton(f[f.length-1]),e=document.getElementById(c.name+"_"+d.id),a?d.callback.call(d,e,b,c):d.closeTag(e,c)},a.CloseButton.prototype.callback=a._close,a.closeAllTags=function(b){var c=this.getInstance(b);a._close("",c.canvas,c)},a.LinkButton=function(){a.TagButton.call(this,"link","link","","</a>","a")},a.LinkButton.prototype=new a.TagButton,a.LinkButton.prototype.callback=function(b,c,d,e){var f,g=this;return"undefined"!=typeof wpLink?(wpLink.open(),void 0):(e||(e="http://"),g.isOpen(d)===!1?(f=prompt(quicktagsL10n.enterURL,e),f&&(g.tagStart='<a href="'+f+'">',a.TagButton.prototype.callback.call(g,b,c,d))):a.TagButton.prototype.callback.call(g,b,c,d),void 0)},a.ImgButton=function(){a.TagButton.call(this,"img","img","","","m")},a.ImgButton.prototype=new a.TagButton,a.ImgButton.prototype.callback=function(b,c,d,e){e||(e="http://");var f,g=prompt(quicktagsL10n.enterImageURL,e);g&&(f=prompt(quicktagsL10n.enterImageDescription,""),this.tagStart='<img src="'+g+'" alt="'+f+'" />',a.TagButton.prototype.callback.call(this,b,c,d))},a.FullscreenButton=function(){a.Button.call(this,"fullscreen",quicktagsL10n.fullscreen,"f",quicktagsL10n.toggleFullscreen)},a.FullscreenButton.prototype=new a.Button,a.FullscreenButton.prototype.callback=function(a,b){b.id&&"undefined"!=typeof fullscreen&&fullscreen.on()},a.TextDirectionButton=function(){a.Button.call(this,"textdirection",quicktagsL10n.textdirection,"",quicktagsL10n.toggleTextdirection)},a.TextDirectionButton.prototype=new a.Button,a.TextDirectionButton.prototype.callback=function(a,b){var c="rtl"==document.getElementsByTagName("html")[0].dir,d=b.style.direction;d||(d=c?"rtl":"ltr"),b.style.direction="rtl"==d?"ltr":"rtl",b.focus()},edButtons[10]=new a.TagButton("strong","b","<strong>","</strong>","b"),edButtons[20]=new a.TagButton("em","i","<em>","</em>","i"),edButtons[30]=new a.LinkButton,edButtons[40]=new a.TagButton("block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q"),edButtons[50]=new a.TagButton("del","del",'<del datetime="'+c+'">',"</del>","d"),edButtons[60]=new a.TagButton("ins","ins",'<ins datetime="'+c+'">',"</ins>","s"),edButtons[70]=new a.ImgButton,edButtons[80]=new a.TagButton("ul","ul","<ul>\n","</ul>\n\n","u"),edButtons[90]=new a.TagButton("ol","ol","<ol>\n","</ol>\n\n","o"),edButtons[100]=new a.TagButton("li","li","    <li>","</li>\n","l"),edButtons[110]=new a.TagButton("code","code","<code>","</code>","c"),edButtons[120]=new a.TagButton("more","more","<!--more-->","","t"),edButtons[140]=new a.CloseButton}();
\ No newline at end of file
index a3d967194344c85d6e5724feae84341d588ee941..0323a993f0134b96352845dae16df6ee11675663 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(){wp.shortcode={next:function(b,f,d){var e=wp.shortcode.regexp(b),c,a;e.lastIndex=d||0;c=e.exec(f);if(!c){return}if(c[1]==="["&&c[7]==="]"){return wp.shortcode.next(b,f,e.lastIndex)}a={index:c.index,content:c[0],shortcode:wp.shortcode.fromMatch(c)};if(c[1]){a.match=a.match.slice(1);a.index++}if(c[7]){a.match=a.match.slice(0,-1)}return a},replace:function(a,b,c){return b.replace(wp.shortcode.regexp(a),function(h,d,m,k,g,i,e,j,f){if(d==="["&&j==="]"){return h}var l=c(wp.shortcode.fromMatch(arguments));return l?d+l+j:h})},string:function(a){return new wp.shortcode(a).string()},regexp:_.memoize(function(a){return new RegExp("\\[(\\[?)("+a+")(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*(?:\\[(?!\\/\\2\\])[^\\[]*)*)(\\[\\/\\2\\]))?)(\\]?)","g")}),attrs:_.memoize(function(e){var a={},c=[],d,b;d=/(\w+)\s*=\s*"([^"]*)"(?:\s|$)|(\w+)\s*=\s*\'([^\']*)\'(?:\s|$)|(\w+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/g;e=e.replace(/[\u00a0\u200b]/g," ");while((b=d.exec(e))){if(b[1]){a[b[1].toLowerCase()]=b[2]}else{if(b[3]){a[b[3].toLowerCase()]=b[4]}else{if(b[5]){a[b[5].toLowerCase()]=b[6]}else{if(b[7]){c.push(b[7])}else{if(b[8]){c.push(b[8])}}}}}}return{named:a,numeric:c}}),fromMatch:function(a){var b;if(a[4]){b="self-closing"}else{if(a[6]){b="closed"}else{b="single"}}return new wp.shortcode({tag:a[2],attrs:a[3],type:b,content:a[5]})}};wp.shortcode=_.extend(function(b){_.extend(this,_.pick(b||{},"tag","attrs","type","content"));var a=this.attrs;this.attrs={named:{},numeric:[]};if(!a){return}if(_.isString(a)){this.attrs=wp.shortcode.attrs(a)}else{if(_.isEqual(_.keys(a),["named","numeric"])){this.attrs=a}else{_.each(b.attrs,function(d,c){this.set(c,d)},this)}}},wp.shortcode);_.extend(wp.shortcode.prototype,{get:function(a){return this.attrs[_.isNumber(a)?"numeric":"named"][a]},set:function(a,b){this.attrs[_.isNumber(a)?"numeric":"named"][a]=b;return this},string:function(){var a="["+this.tag;_.each(this.attrs.numeric,function(b){if(/\s/.test(b)){a+=' "'+b+'"'}else{a+=" "+b}});_.each(this.attrs.named,function(c,b){a+=" "+b+'="'+c+'"'});if("single"===this.type){return a+"]"}else{if("self-closing"===this.type){return a+" /]"}}a+="]";if(this.content){a+=this.content}return a+"[/"+this.tag+"]"}})}());(function(){wp.html=_.extend(wp.html||{},{attrs:function(c){var a,b;if("/"===c[c.length-1]){c=c.slice(0,-1)}a=wp.shortcode.attrs(c);b=a.named;_.each(a.numeric,function(d){if(/\s/.test(d)){return}b[d]=""});return b},string:function(a){var c="<"+a.tag,b=a.content||"";_.each(a.attrs,function(e,d){c+=" "+d;if(""===e){return}if(_.isBoolean(e)){e=e?"true":"false"}c+='="'+e+'"'});if(a.single){return c+" />"}c+=">";c+=_.isObject(b)?wp.html.string(b):b;return c+"</"+a.tag+">"}})}());
\ No newline at end of file
+window.wp=window.wp||{},function(){wp.shortcode={next:function(a,b,c){var d,e,f=wp.shortcode.regexp(a);return f.lastIndex=c||0,(d=f.exec(b))?"["===d[1]&&"]"===d[7]?wp.shortcode.next(a,b,f.lastIndex):(e={index:d.index,content:d[0],shortcode:wp.shortcode.fromMatch(d)},d[1]&&(e.match=e.match.slice(1),e.index++),d[7]&&(e.match=e.match.slice(0,-1)),e):void 0},replace:function(a,b,c){return b.replace(wp.shortcode.regexp(a),function(a,b,d,e,f,g,h,i){if("["===b&&"]"===i)return a;var j=c(wp.shortcode.fromMatch(arguments));return j?b+j+i:a})},string:function(a){return new wp.shortcode(a).string()},regexp:_.memoize(function(a){return new RegExp("\\[(\\[?)("+a+")(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*(?:\\[(?!\\/\\2\\])[^\\[]*)*)(\\[\\/\\2\\]))?)(\\]?)","g")}),attrs:_.memoize(function(a){var b,c,d={},e=[];for(b=/(\w+)\s*=\s*"([^"]*)"(?:\s|$)|(\w+)\s*=\s*\'([^\']*)\'(?:\s|$)|(\w+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/g,a=a.replace(/[\u00a0\u200b]/g," ");c=b.exec(a);)c[1]?d[c[1].toLowerCase()]=c[2]:c[3]?d[c[3].toLowerCase()]=c[4]:c[5]?d[c[5].toLowerCase()]=c[6]:c[7]?e.push(c[7]):c[8]&&e.push(c[8]);return{named:d,numeric:e}}),fromMatch:function(a){var b;return b=a[4]?"self-closing":a[6]?"closed":"single",new wp.shortcode({tag:a[2],attrs:a[3],type:b,content:a[5]})}},wp.shortcode=_.extend(function(a){_.extend(this,_.pick(a||{},"tag","attrs","type","content"));var b=this.attrs;this.attrs={named:{},numeric:[]},b&&(_.isString(b)?this.attrs=wp.shortcode.attrs(b):_.isEqual(_.keys(b),["named","numeric"])?this.attrs=b:_.each(a.attrs,function(a,b){this.set(b,a)},this))},wp.shortcode),_.extend(wp.shortcode.prototype,{get:function(a){return this.attrs[_.isNumber(a)?"numeric":"named"][a]},set:function(a,b){return this.attrs[_.isNumber(a)?"numeric":"named"][a]=b,this},string:function(){var a="["+this.tag;return _.each(this.attrs.numeric,function(b){a+=/\s/.test(b)?' "'+b+'"':" "+b}),_.each(this.attrs.named,function(b,c){a+=" "+c+'="'+b+'"'}),"single"===this.type?a+"]":"self-closing"===this.type?a+" /]":(a+="]",this.content&&(a+=this.content),a+"[/"+this.tag+"]")}})}(),function(){wp.html=_.extend(wp.html||{},{attrs:function(a){var b,c;return"/"===a[a.length-1]&&(a=a.slice(0,-1)),b=wp.shortcode.attrs(a),c=b.named,_.each(b.numeric,function(a){/\s/.test(a)||(c[a]="")}),c},string:function(a){var b="<"+a.tag,c=a.content||"";return _.each(a.attrs,function(a,c){b+=" "+c,""!==a&&(_.isBoolean(a)&&(a=a?"true":"false"),b+='="'+a+'"')}),a.single?b+" />":(b+=">",b+=_.isObject(c)?wp.html.string(c):c,b+"</"+a.tag+">")}})}();
\ No newline at end of file
index a2eb0348392e93454246eca22df1c273f9524402..1aa8cc443a21537ae66259989c7fdfabc2aa059b 100644 (file)
@@ -1 +1 @@
-(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(d,e){var f=this,g={},c,b;f.editor=d;d.addCommand("mceFullScreen",function(){var i,j=a.doc.documentElement;if(d.getParam("fullscreen_is_enabled")){if(d.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",f.resizeFunc);tinyMCE.get(d.getParam("fullscreen_editor_id")).setContent(d.getContent());tinyMCE.remove(d);a.remove("mce_fullscreen_container");j.style.overflow=d.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",d.getParam("fullscreen_overflow"));a.win.scrollTo(d.getParam("fullscreen_scrollx"),d.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(d.getParam("fullscreen_new_window")){i=a.win.open(e+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{i.resizeTo(screen.availWidth,screen.availHeight)}catch(h){}}else{tinyMCE.oldSettings=tinyMCE.settings;g.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";g.fullscreen_html_overflow=a.getStyle(j,"overflow",1);c=a.getViewPort();g.fullscreen_scrollx=c.x;g.fullscreen_scrolly=c.y;if(tinymce.isOpera&&g.fullscreen_overflow=="visible"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&g.fullscreen_overflow=="scroll"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&(g.fullscreen_html_overflow=="visible"||g.fullscreen_html_overflow=="scroll")){g.fullscreen_html_overflow="auto"}if(g.fullscreen_overflow=="0px"){g.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");j.style.overflow="hidden";c=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){c.h-=1}if(tinymce.isIE6||document.compatMode=="BackCompat"){b="absolute;top:"+c.y}else{b="fixed;top:0"}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+b+";left:0;width:"+c.w+"px;height:"+c.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(d.settings,function(k,l){g[l]=k});g.id="mce_fullscreen";g.width=n.clientWidth;g.height=n.clientHeight-15;g.fullscreen_is_enabled=true;g.fullscreen_editor_id=d.id;g.theme_advanced_resizing=false;g.save_onsavecallback=function(){d.setContent(tinyMCE.get(g.id).getContent());d.execCommand("mceSave")};tinymce.each(d.getParam("fullscreen_settings"),function(m,l){g[l]=m});if(g.theme_advanced_toolbar_location==="external"){g.theme_advanced_toolbar_location="top"}f.fullscreenEditor=new tinymce.Editor("mce_fullscreen",g);f.fullscreenEditor.onInit.add(function(){f.fullscreenEditor.setContent(d.getContent());f.fullscreenEditor.focus()});f.fullscreenEditor.render();f.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");f.fullscreenElement.update();f.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var o=tinymce.DOM.getViewPort(),l=f.fullscreenEditor,k,m;k=l.dom.getSize(l.getContainer().getElementsByTagName("table")[0]);m=l.dom.getSize(l.getContainer().getElementsByTagName("iframe")[0]);l.theme.resizeTo(o.w-k.w+m.w,o.h-k.h+m.h)})}});d.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});d.onNodeChange.add(function(i,h){h.setActive("fullscreen",i.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})();
\ No newline at end of file
+(function(){var b=tinymce.DOM;var a=function(d,f,e){var c=function(g){var i=d.controlManager.get(g);var h=f.controlManager.get(g);if(i&&h){h.displayColor(i.value)}};c("forecolor");c("backcolor");f.setContent(d.getContent({format:"raw"}),{format:"raw"});f.selection.moveToBookmark(e);if(d.plugins.spellchecker&&f.plugins.spellchecker){f.plugins.spellchecker.setLanguage(d.plugins.spellchecker.selectedLang)}};tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(i,c){var l=this,m={},k=b.doc.documentElement,d,o,h,g,f,e,j;i.addCommand("mceFullScreen",function(){var q,r;if(i.getParam("fullscreen_is_enabled")){if(i.getParam("fullscreen_new_window")){closeFullscreen()}else{b.win.setTimeout(function(){var t=i;var s=tinyMCE.get(t.getParam("fullscreen_editor_id"));s.plugins.fullscreen.saveState(t);tinyMCE.remove(t)},10)}return}if(i.getParam("fullscreen_new_window")){l.fullscreenSettings={bookmark:i.selection.getBookmark()};q=b.win.open(c+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{q.resizeTo(screen.availWidth,screen.availHeight)}catch(p){}}else{o=b.getStyle(b.doc.body,"overflow",1)||"auto";h=b.getStyle(k,"overflow",1);d=b.getViewPort();g=d.x;f=d.y;if(tinymce.isOpera&&o=="visible"){o="auto"}if(tinymce.isIE&&o=="scroll"){o="auto"}if(tinymce.isIE&&(h=="visible"||h=="scroll")){h="auto"}if(o=="0px"){o=""}b.setStyle(b.doc.body,"overflow","hidden");k.style.overflow="hidden";d=b.getViewPort();b.win.scrollTo(0,0);if(tinymce.isIE){d.h-=1}if(tinymce.isIE6||document.compatMode=="BackCompat"){e="absolute;top:"+d.y}else{e="fixed;top:0"}n=b.add(b.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+e+";left:0;width:"+d.w+"px;height:"+d.h+"px;z-index:200000;"});b.add(n,"div",{id:"mce_fullscreen"});tinymce.each(i.settings,function(s,t){m[t]=s});m.id="mce_fullscreen";m.width=n.clientWidth;m.height=n.clientHeight-15;m.fullscreen_is_enabled=true;m.fullscreen_editor_id=i.id;m.theme_advanced_resizing=false;m.save_onsavecallback=function(){i.setContent(tinyMCE.get(m.id).getContent());i.execCommand("mceSave")};tinymce.each(i.getParam("fullscreen_settings"),function(t,s){m[s]=t});l.fullscreenSettings={bookmark:i.selection.getBookmark(),fullscreen_overflow:o,fullscreen_html_overflow:h,fullscreen_scrollx:g,fullscreen_scrolly:f};if(m.theme_advanced_toolbar_location==="external"){m.theme_advanced_toolbar_location="top"}tinyMCE.oldSettings=tinyMCE.settings;l.fullscreenEditor=new tinymce.Editor("mce_fullscreen",m);l.fullscreenEditor.onInit.add(function(){l.loadState(l.fullscreenEditor)});l.fullscreenEditor.render();l.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");l.fullscreenElement.update();l.resizeFunc=tinymce.dom.Event.add(b.win,"resize",function(){var v=tinymce.DOM.getViewPort(),t=l.fullscreenEditor,s,u;s=t.dom.getSize(t.getContainer().getElementsByTagName("table")[0]);u=t.dom.getSize(t.getContainer().getElementsByTagName("iframe")[0]);t.theme.resizeTo(v.w-s.w+u.w,v.h-s.h+u.h)})}});i.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});i.onNodeChange.add(function(q,p){p.setActive("fullscreen",q.getParam("fullscreen_is_enabled"))});l.loadState=function(p){if(!(p&&l.fullscreenSettings)){throw"No fullscreen editor to load to"}a(i,p,l.fullscreenSettings.bookmark);p.focus()};l.saveState=function(q){if(!(q&&l.fullscreenSettings)){throw"No fullscreen editor to restore from"}var p=l.fullscreenSettings;a(q,i,q.selection.getBookmark());if(!i.getParam("fullscreen_new_window")){tinymce.dom.Event.remove(b.win,"resize",l.resizeFunc);delete l.resizeFunc;b.remove("mce_fullscreen_container");b.doc.documentElement.style.overflow=p.fullscreen_html_overflow;b.setStyle(b.doc.body,"overflow",p.fullscreen_overflow);b.win.scrollTo(p.fullscreen_scrollx,p.fullscreen_scrolly)}tinyMCE.settings=tinyMCE.oldSettings;delete tinyMCE.oldSettings;delete l.fullscreenEditor;delete l.fullscreenElement;delete l.fullscreenSettings;b.win.setTimeout(function(){i.selection.moveToBookmark(j);i.focus()},10)}},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})();
\ No newline at end of file
index a24a95657fda230c9f5159eeb3863b2867c065e6..a1f39a0421708c375db7e2bb5b22248afe8d6ca6 100644 (file)
 (function() {
        var DOM = tinymce.DOM;
 
 (function() {
        var DOM = tinymce.DOM;
 
+       // State Transfer function
+       var transferState = function(oldEditor, newEditor, bookmark) {
+               var transferColorButtonState = function(swapme) {
+                       var c = oldEditor.controlManager.get(swapme);
+                       var newC = newEditor.controlManager.get(swapme);
+
+                       if (c && newC) {
+                               newC.displayColor(c.value);
+                       }
+
+               };
+
+               transferColorButtonState('forecolor');
+               transferColorButtonState('backcolor');
+               newEditor.setContent(oldEditor.getContent({format : 'raw'}), {format : 'raw'});
+               newEditor.selection.moveToBookmark(bookmark);
+
+               if (oldEditor.plugins.spellchecker && newEditor.plugins.spellchecker) {
+                       newEditor.plugins.spellchecker.setLanguage(oldEditor.plugins.spellchecker.selectedLang);
+               }
+       };
+
        tinymce.create('tinymce.plugins.FullScreenPlugin', {
                init : function(ed, url) {
        tinymce.create('tinymce.plugins.FullScreenPlugin', {
                init : function(ed, url) {
-                       var t = this, s = {}, vp, posCss;
-
-                       t.editor = ed;
+                       var t = this, s = {}, de = DOM.doc.documentElement, vp, fullscreen_overflow, fullscreen_html_overflow, fullscreen_scrollx, fullscreen_scrolly, posCss, bookmark;
 
                        // Register commands
                        ed.addCommand('mceFullScreen', function() {
 
                        // Register commands
                        ed.addCommand('mceFullScreen', function() {
-                               var win, de = DOM.doc.documentElement;
+                               var win, oed;
 
                                if (ed.getParam('fullscreen_is_enabled')) {
                                        if (ed.getParam('fullscreen_new_window'))
 
                                if (ed.getParam('fullscreen_is_enabled')) {
                                        if (ed.getParam('fullscreen_new_window'))
-                                               closeFullscreen(); // Call to close in new window
+                                               closeFullscreen(); // Call to close in fullscreen.htm
                                        else {
                                                DOM.win.setTimeout(function() {
                                        else {
                                                DOM.win.setTimeout(function() {
-                                                       tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc);
-                                                       tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent());
-                                                       tinyMCE.remove(ed);
-                                                       DOM.remove('mce_fullscreen_container');
-                                                       de.style.overflow = ed.getParam('fullscreen_html_overflow');
-                                                       DOM.setStyle(DOM.doc.body, 'overflow', ed.getParam('fullscreen_overflow'));
-                                                       DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly'));
-                                                       tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings
+                                                       var fullscreenEditor = ed;
+
+                                                       // find the editor that opened this one, execute restore function there
+                                                       var originalEditor = tinyMCE.get(fullscreenEditor.getParam('fullscreen_editor_id'));
+                                                       originalEditor.plugins.fullscreen.saveState(fullscreenEditor);
+
+                                                       tinyMCE.remove(fullscreenEditor);
                                                }, 10);
                                        }
 
                                                }, 10);
                                        }
 
@@ -41,6 +60,9 @@
                                }
 
                                if (ed.getParam('fullscreen_new_window')) {
                                }
 
                                if (ed.getParam('fullscreen_new_window')) {
+                                       t.fullscreenSettings = {
+                                               bookmark: ed.selection.getBookmark()
+                                       };
                                        win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
                                        try {
                                                win.resizeTo(screen.availWidth, screen.availHeight);
                                        win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
                                        try {
                                                win.resizeTo(screen.availWidth, screen.availHeight);
                                                // Ignore
                                        }
                                } else {
                                                // Ignore
                                        }
                                } else {
-                                       tinyMCE.oldSettings = tinyMCE.settings; // Store old settings
-                                       s.fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto';
-                                       s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1);
+                                       fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto';
+                                       fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1);
                                        vp = DOM.getViewPort();
                                        vp = DOM.getViewPort();
-                                       s.fullscreen_scrollx = vp.x;
-                                       s.fullscreen_scrolly = vp.y;
+                                       fullscreen_scrollx = vp.x;
+                                       fullscreen_scrolly = vp.y;
 
                                        // Fixes an Opera bug where the scrollbars doesn't reappear
 
                                        // Fixes an Opera bug where the scrollbars doesn't reappear
-                                       if (tinymce.isOpera && s.fullscreen_overflow == 'visible')
-                                               s.fullscreen_overflow = 'auto';
+                                       if (tinymce.isOpera && fullscreen_overflow == 'visible')
+                                               fullscreen_overflow = 'auto';
 
                                        // Fixes an IE bug where horizontal scrollbars would appear
 
                                        // Fixes an IE bug where horizontal scrollbars would appear
-                                       if (tinymce.isIE && s.fullscreen_overflow == 'scroll')
-                                               s.fullscreen_overflow = 'auto';
+                                       if (tinymce.isIE && fullscreen_overflow == 'scroll')
+                                               fullscreen_overflow = 'auto';
 
                                        // Fixes an IE bug where the scrollbars doesn't reappear
 
                                        // Fixes an IE bug where the scrollbars doesn't reappear
-                                       if (tinymce.isIE && (s.fullscreen_html_overflow == 'visible' || s.fullscreen_html_overflow == 'scroll'))
-                                               s.fullscreen_html_overflow = 'auto';
+                                       if (tinymce.isIE && (fullscreen_html_overflow == 'visible' || fullscreen_html_overflow == 'scroll'))
+                                               fullscreen_html_overflow = 'auto';
 
 
-                                       if (s.fullscreen_overflow == '0px')
-                                               s.fullscreen_overflow = '';
+                                       if (fullscreen_overflow == '0px')
+                                               fullscreen_overflow = '';
 
                                        DOM.setStyle(DOM.doc.body, 'overflow', 'hidden');
                                        de.style.overflow = 'hidden'; //Fix for IE6/7
 
                                        DOM.setStyle(DOM.doc.body, 'overflow', 'hidden');
                                        de.style.overflow = 'hidden'; //Fix for IE6/7
                                                s[k] = v;
                                        });
 
                                                s[k] = v;
                                        });
 
+                                       t.fullscreenSettings = {
+                                               bookmark: ed.selection.getBookmark(),
+                                               fullscreen_overflow: fullscreen_overflow,
+                                               fullscreen_html_overflow: fullscreen_html_overflow,
+                                               fullscreen_scrollx: fullscreen_scrollx,
+                                               fullscreen_scrolly: fullscreen_scrolly
+                                       };
+
                                        if (s.theme_advanced_toolbar_location === 'external')
                                                s.theme_advanced_toolbar_location = 'top';
 
                                        if (s.theme_advanced_toolbar_location === 'external')
                                                s.theme_advanced_toolbar_location = 'top';
 
+                                       tinyMCE.oldSettings = tinyMCE.settings; // Store old settings, the Editor constructor overwrites them
                                        t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s);
                                        t.fullscreenEditor.onInit.add(function() {
                                        t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s);
                                        t.fullscreenEditor.onInit.add(function() {
-                                               t.fullscreenEditor.setContent(ed.getContent());
-                                               t.fullscreenEditor.focus();
+                                               t.loadState(t.fullscreenEditor);
                                        });
 
                                        t.fullscreenEditor.render();
                                        });
 
                                        t.fullscreenEditor.render();
                        ed.onNodeChange.add(function(ed, cm) {
                                cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled'));
                        });
                        ed.onNodeChange.add(function(ed, cm) {
                                cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled'));
                        });
+
+                       // fullscreenEditor is a param here because in window mode we don't create it
+                       t.loadState = function(fullscreenEditor) {
+                               if (!(fullscreenEditor && t.fullscreenSettings)) {
+                                       throw "No fullscreen editor to load to";
+                               }
+
+                               transferState(ed, fullscreenEditor, t.fullscreenSettings.bookmark);
+                               fullscreenEditor.focus();
+
+                       };
+
+                       // fullscreenEditor is a param here because in window mode we don't create it
+                       t.saveState = function(fullscreenEditor) {
+                               if (!(fullscreenEditor && t.fullscreenSettings)) {
+                                       throw "No fullscreen editor to restore from";
+                               }
+                               var settings = t.fullscreenSettings;
+
+                               transferState(fullscreenEditor, ed, fullscreenEditor.selection.getBookmark());
+
+                               // cleanup only required if window mode isn't used
+                               if (!ed.getParam('fullscreen_new_window')) {
+                                       tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc);
+                                       delete t.resizeFunc;
+
+                                       DOM.remove('mce_fullscreen_container');
+
+                                       DOM.doc.documentElement.style.overflow = settings.fullscreen_html_overflow;
+                                       DOM.setStyle(DOM.doc.body, 'overflow', settings.fullscreen_overflow);
+                                       DOM.win.scrollTo(settings.fullscreen_scrollx, settings.fullscreen_scrolly);
+                               }
+                               tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings
+
+                               // clear variables
+                               delete tinyMCE.oldSettings;
+                               delete t.fullscreenEditor;
+                               delete t.fullscreenElement;
+                               delete t.fullscreenSettings;
+
+                               // allow the fullscreen editor to be removed before restoring focus and selection
+                               DOM.win.setTimeout(function() {
+                                       ed.selection.moveToBookmark(bookmark);
+                                       ed.focus();
+                               }, 10);
+                       };
                },
 
                getInfo : function() {
                },
 
                getInfo : function() {
index e21c29c75060a2878e6e727e4d866d03300055ee..9b0fb9aeac2114990cc9a24829254c34ec90191c 100644 (file)
@@ -3,7 +3,7 @@
 <head>
        <title></title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 <head>
        <title></title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-       <script type="text/javascript" src="../../tiny_mce.js?ver=358-20121205"></script>
+       <script type="text/javascript" src="../../tiny_mce.js?ver=359-20131010"></script>
        <script type="text/javascript">
                function patchCallback(settings, key) {
                        if (settings[key])
        <script type="text/javascript">
                function patchCallback(settings, key) {
                        if (settings[key])
@@ -46,7 +46,7 @@
                settings['strict_loading_mode'] = true;
 
                settings.save_onsavecallback = function() {
                settings['strict_loading_mode'] = true;
 
                settings.save_onsavecallback = function() {
-                       window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'});
+                       moveContent();
                        window.opener.tinyMCE.get(oeID).execCommand('mceSave');
                        window.close();
                };
                        window.opener.tinyMCE.get(oeID).execCommand('mceSave');
                        window.close();
                };
                }
 
                function moveContent() {
                }
 
                function moveContent() {
-                       window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent());
+                       // find the original editor, execute restore state in it's plugin instance
+                       window.opener.tinyMCE.get(oeID).plugins.fullscreen.saveState(tinyMCE.activeEditor);
+
+                       // prevent moveContent from being called twice - e.g. if the unloadHandler runs after moveContent()
+                       tinymce.dom.Event.remove(window, "beforeunload", unloadHandler);
                }
 
                function closeFullscreen() {
                }
 
                function closeFullscreen() {
-                       moveContent();
+                       // moveContent() will be called by the unload handler
                        window.close();
                }
 
                        window.close();
                }
 
                function render() {
                        var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
 
                function render() {
                        var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;
 
-                       e.value = window.opener.tinyMCE.get(oeID).getContent();
-
                        vp = dom.getViewPort();
                        settings.width = vp.w;
                        settings.height = vp.h - 15;
 
                        vp = dom.getViewPort();
                        settings.width = vp.w;
                        settings.height = vp.h - 15;
 
-                       tinymce.dom.Event.add(window, 'resize', function() {
-                               var vp = dom.getViewPort();
+                       settings.oninit = function() {
+                               var ed = tinyMCE.activeEditor;
+                               window.opener.tinyMCE.get(oeID).plugins.fullscreen.loadState(ed);
+
+                               tinymce.dom.Event.add(window, 'resize', function() {
+                                       var vp = dom.getViewPort();
 
 
-                               tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
-                       });
+                                       tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);
+                               });
+                       }
 
                        tinyMCE.init(settings);
                }
 
                        tinyMCE.init(settings);
                }
index 289b7acb5454ef2c5f06eba4839bce46e0a61a22..5015783154fff9933226d0bc439009db5e4d2153 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>Template for dialogs</title>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>Template for dialogs</title>
-<link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css?ver=358-20121205" />
+<link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css?ver=359-20131010" />
 </head>
 <body>
 
 </head>
 <body>
 
index f52888b4f76f60929144d8a32e0d51ccc4a1b1e6..9a3684a36b31cd3b471181502493005d130d8068 100644 (file)
@@ -2,13 +2,13 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <title>{#media_dlg.title}</title>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <title>{#media_dlg.title}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/media.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/mctabs.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/validate.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/form_utils.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="../../utils/editable_selects.js?ver=358-20121205"></script>
-       <link href="css/media.css?ver=358-20121205" rel="stylesheet" type="text/css" />
+       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=359-20131010"></script>
+       <script type="text/javascript" src="js/media.js?ver=359-20131010"></script>
+       <script type="text/javascript" src="../../utils/mctabs.js?ver=359-20131010"></script>
+       <script type="text/javascript" src="../../utils/validate.js?ver=359-20131010"></script>
+       <script type="text/javascript" src="../../utils/form_utils.js?ver=359-20131010"></script>
+       <script type="text/javascript" src="../../utils/editable_selects.js?ver=359-20131010"></script>
+       <link href="css/media.css?ver=359-20131010" rel="stylesheet" type="text/css" />
 </head>
 <body style="display: none" role="application">
 <form onsubmit="Media.insert();return false;" action="#">
 </head>
 <body style="display: none" role="application">
 <form onsubmit="Media.insert();return false;" action="#">
index 9c6daf9b7386447b62a4be92c55024d81dbfe9b5..585d772d6d3c23626fddfa58c4220b056783e148 100644 (file)
Binary files a/wp-includes/js/tinymce/plugins/media/moxieplayer.swf and b/wp-includes/js/tinymce/plugins/media/moxieplayer.swf differ
index a1f735890c7e907ae7de0248663f98f4778b7041..73164d8a826c839a2d5e2b7d68f80e2af7759628 100644 (file)
@@ -1,8 +1,8 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <title>{#paste.paste_text_desc}</title>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <title>{#paste.paste_text_desc}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/pastetext.js?ver=358-20121205"></script>
+       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=359-20131010"></script>
+       <script type="text/javascript" src="js/pastetext.js?ver=359-20131010"></script>
 </head>
 <body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;">
        <form name="source" onsubmit="return PasteTextDialog.insert();" action="#">
 </head>
 <body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;">
        <form name="source" onsubmit="return PasteTextDialog.insert();" action="#">
@@ -24,4 +24,4 @@
                </div>
        </form>
 </body> 
                </div>
        </form>
 </body> 
-</html>
\ No newline at end of file
+</html>
index 0cfef68193742ca090484d867f6f9f041929f965..6b6cf12dadcb13c7888d43563b452533200b0139 100644 (file)
@@ -1,8 +1,8 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <title>{#paste.paste_word_desc}</title>
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
        <title>{#paste.paste_word_desc}</title>
-       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=358-20121205"></script>
-       <script type="text/javascript" src="js/pasteword.js?ver=358-20121205"></script>
+       <script type="text/javascript" src="../../tiny_mce_popup.js?ver=359-20131010"></script>
+       <script type="text/javascript" src="js/pasteword.js?ver=359-20131010"></script>
 </head>
 <body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;">
        <form name="source" onsubmit="return PasteWordDialog.insert();" action="#">
 </head>
 <body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;">
        <form name="source" onsubmit="return PasteWordDialog.insert();" action="#">
index 48549c9239294c2588705e5b3a649e729c5de9ca..6b57241a90b4f395c49e246e04c4589254cab70b 100644 (file)
@@ -1 +1 @@
-(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});if(e.settings.content_css!==false){e.contentCSS.push(f+"/css/content.css")}e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){if(n==f.selectedLang){return}l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');for(d=0;d<f.length;d++){e+="\\"+f.charAt(d)}return e},_getWords:function(){var e=this.editor,g=[],d="",f={},h=[];this._walk(e.getBody(),function(i){if(i.nodeType==3){d+=i.nodeValue+" "}});if(e.getParam("spellchecker_word_pattern")){h=d.match("("+e.getParam("spellchecker_word_pattern")+")","gi")}else{d=d.replace(new RegExp("([0-9]|["+this._getSeparators()+"])","g")," ");d=tinymce.trim(d.replace(/(\s+)/g," "));h=d.split(" ")}c(h,function(i){if(!f[i]){g.push(i);f[i]=1}});return g},_removeWords:function(d){var e=this.editor,h=e.dom,g=e.selection,f=g.getRng(true);c(h.select("span").reverse(),function(i){if(i&&(h.hasClass(i,"mceItemHiddenSpellWord")||h.hasClass(i,"mceItemHidden"))){if(!d||h.decode(i.innerHTML)==d){h.remove(i,1)}}});g.setRng(f)},_markWords:function(l){var h=this.editor,g=h.dom,j=h.getDoc(),i=h.selection,d=i.getRng(true),e=[],k=l.join("|"),m=this._getSeparators(),f=new RegExp("(^|["+m+"])("+k+")(?=["+m+"]|$)","g");this._walk(h.getBody(),function(o){if(o.nodeType==3){e.push(o)}});c(e,function(t){var r,q,o,s,p=t.nodeValue;if(f.test(p)){p=g.encode(p);q=g.create("span",{"class":"mceItemHidden"});if(tinymce.isIE){p=p.replace(f,"$1<mcespell>$2</mcespell>");while((s=p.indexOf("<mcespell>"))!=-1){o=p.substring(0,s);if(o.length){r=j.createTextNode(g.decode(o));q.appendChild(r)}p=p.substring(s+10);s=p.indexOf("</mcespell>");o=p.substring(0,s);p=p.substring(s+11);q.appendChild(g.create("span",{"class":"mceItemHiddenSpellWord"},o))}if(p.length){r=j.createTextNode(g.decode(p));q.appendChild(r)}}else{q.innerHTML=p.replace(f,'$1<span class="mceItemHiddenSpellWord">$2</span>')}g.replace(q,t)}});i.setRng(d)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){d=h.controlManager.createDropMenu("spellcheckermenu",{"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}if(h.getParam("show_ignore_words",true)){e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}})}if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});l=b.getPos(h.getContentAreaContainer());d.settings.offset_x=l.x;d.settings.offset_y=l.y;h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})();
\ No newline at end of file
+(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});if(e.settings.content_css!==false){e.contentCSS.push(f+"/css/content.css")}e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);f.menuItems={};c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){if(n==f.selectedLang){return}f._updateMenu(l);f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);f.menuItems[n]=l;if(n==f.selectedLang){f.selectedItem=l}})});return g}},setLanguage:function(e){var d=this;if(e==d.selectedLang){return}if(tinymce.grep(d.languages,function(f){return f===e}).length===0){throw"Unknown language: "+e}d.selectedLang=e;if(d.menuItems){d._updateMenu(d.menuItems[e])}if(d.active){d._done()}},_updateMenu:function(d){d.setSelected(1);this.selectedItem.setSelected(0);this.selectedItem=d},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');for(d=0;d<f.length;d++){e+="\\"+f.charAt(d)}return e},_getWords:function(){var e=this.editor,g=[],d="",f={},h=[];this._walk(e.getBody(),function(i){if(i.nodeType==3){d+=i.nodeValue+" "}});if(e.getParam("spellchecker_word_pattern")){h=d.match("("+e.getParam("spellchecker_word_pattern")+")","gi")}else{d=d.replace(new RegExp("([0-9]|["+this._getSeparators()+"])","g")," ");d=tinymce.trim(d.replace(/(\s+)/g," "));h=d.split(" ")}c(h,function(i){if(!f[i]){g.push(i);f[i]=1}});return g},_removeWords:function(d){var e=this.editor,h=e.dom,g=e.selection,f=g.getRng(true);c(h.select("span").reverse(),function(i){if(i&&(h.hasClass(i,"mceItemHiddenSpellWord")||h.hasClass(i,"mceItemHidden"))){if(!d||h.decode(i.innerHTML)==d){h.remove(i,1)}}});g.setRng(f)},_markWords:function(l){var h=this.editor,g=h.dom,j=h.getDoc(),i=h.selection,d=i.getRng(true),e=[],k=l.join("|"),m=this._getSeparators(),f=new RegExp("(^|["+m+"])("+k+")(?=["+m+"]|$)","g");this._walk(h.getBody(),function(o){if(o.nodeType==3){e.push(o)}});c(e,function(t){var r,q,o,s,p=t.nodeValue;f.lastIndex=0;if(f.test(p)){p=g.encode(p);q=g.create("span",{"class":"mceItemHidden"});if(tinymce.isIE){p=p.replace(f,"$1<mcespell>$2</mcespell>");while((s=p.indexOf("<mcespell>"))!=-1){o=p.substring(0,s);if(o.length){r=j.createTextNode(g.decode(o));q.appendChild(r)}p=p.substring(s+10);s=p.indexOf("</mcespell>");o=p.substring(0,s);p=p.substring(s+11);q.appendChild(g.create("span",{"class":"mceItemHiddenSpellWord"},o))}if(p.length){r=j.createTextNode(g.decode(p));q.appendChild(r)}}else{q.innerHTML=p.replace(f,'$1<span class="mceItemHiddenSpellWord">$2</span>')}g.replace(q,t)}});i.setRng(d)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){d=h.controlManager.createDropMenu("spellcheckermenu",{"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}if(h.getParam("show_ignore_words",true)){e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}})}if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});l=b.getPos(h.getContentAreaContainer());d.settings.offset_x=l.x;d.settings.offset_y=l.y;h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})();
\ No newline at end of file
index 925d2f21a6078f276892d2f2e5338367e69ee0ee..4081181339d58911a6191b51b9f6037549b89f86 100644 (file)
 
                                c.onRenderMenu.add(function(c, m) {
                                        m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
 
                                c.onRenderMenu.add(function(c, m) {
                                        m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
+                                       t.menuItems = {};
                                        each(t.languages, function(v, k) {
                                                var o = {icon : 1}, mi;
 
                                        each(t.languages, function(v, k) {
                                                var o = {icon : 1}, mi;
 
                                                        if (v == t.selectedLang) {
                                                                return;
                                                        }
                                                        if (v == t.selectedLang) {
                                                                return;
                                                        }
-                                                       mi.setSelected(1);
-                                                       t.selectedItem.setSelected(0);
-                                                       t.selectedItem = mi;
+                                                       t._updateMenu(mi);
                                                        t.selectedLang = v;
                                                };
 
                                                o.title = k;
                                                mi = m.add(o);
                                                mi.setSelected(v == t.selectedLang);
                                                        t.selectedLang = v;
                                                };
 
                                                o.title = k;
                                                mi = m.add(o);
                                                mi.setSelected(v == t.selectedLang);
-
+                                               t.menuItems[v] = mi;
                                                if (v == t.selectedLang)
                                                        t.selectedItem = mi;
                                                if (v == t.selectedLang)
                                                        t.selectedItem = mi;
-                                       })
+                                       });
                                });
 
                                });
 
+
+
                                return c;
                        }
                },
 
                                return c;
                        }
                },
 
+               setLanguage: function(lang) {
+                       var t = this;
+
+                       if (lang == t.selectedLang) {
+                               // allowed
+                               return;
+                       }
+
+                       if (tinymce.grep(t.languages, function(v) { return v === lang; }).length === 0) {
+                               throw "Unknown language: " + lang;
+                       }
+
+                       t.selectedLang = lang;
+
+                       // if the menu has been shown, update it as well
+                       if (t.menuItems) {
+                               t._updateMenu(t.menuItems[lang]);
+                       }
+
+                       if (t.active) {
+                               // clear error in the old language.
+                               t._done();
+
+                               // Don't immediately block the UI to check spelling in the new language, this is an API not a user action.
+                       }
+               },
+
                // Internal functions
 
                // Internal functions
 
+               _updateMenu: function(mi) {
+                       mi.setSelected(1);
+                       this.selectedItem.setSelected(0);
+                       this.selectedItem = mi;
+               },
+
                _walk : function(n, f) {
                        var d = this.editor.getDoc(), w;
 
                _walk : function(n, f) {
                        var d = this.editor.getDoc(), w;
 
                        each(nl, function(n) {
                                var node, elem, txt, pos, v = n.nodeValue;
 
                        each(nl, function(n) {
                                var node, elem, txt, pos, v = n.nodeValue;
 
+                               rx.lastIndex = 0;
                                if (rx.test(v)) {
                                        // Encode the content
                                        v = dom.encode(v);
                                if (rx.test(v)) {
                                        // Encode the content
                                        v = dom.encode(v);
index 1ba21e3ce3d772a542c80a3f57097e723c7a1ed6..6a2b9e50d9e1259b6b882181cecee5eeb3c8bc7d 100644 (file)
@@ -1 +1 @@
-(function(){tinymce.create("tinymce.plugins.WPDialogs",{init:function(a,b){tinymce.create("tinymce.WPWindowManager:tinymce.InlineWindowManager",{WPWindowManager:function(c){this.parent(c)},open:function(e,g){var d=this,c;if(!e.wpDialog){return this.parent(e,g)}else{if(!e.id){return}}c=jQuery("#"+e.id);if(!c.length){return}d.features=e;d.params=g;d.onOpen.dispatch(d,e,g);d.element=d.windows[e.id]=c;d.bookmark=d.editor.selection.getBookmark(1);if(!c.data("wpdialog")){c.wpdialog({title:e.title,width:e.width,height:e.height,modal:true,dialogClass:"wp-dialog",zIndex:300000})}c.wpdialog("open")},close:function(){if(!this.features.wpDialog){return this.parent.apply(this,arguments)}this.element.wpdialog("close")}});a.onBeforeRenderUI.add(function(){a.windowManager=new tinymce.WPWindowManager(a)})},getInfo:function(){return{longname:"WPDialogs",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"0.1"}}});tinymce.PluginManager.add("wpdialogs",tinymce.plugins.WPDialogs)})();
\ No newline at end of file
+!function(){tinymce.create("tinymce.plugins.WPDialogs",{init:function(a){tinymce.create("tinymce.WPWindowManager:tinymce.InlineWindowManager",{WPWindowManager:function(a){this.parent(a)},open:function(a,b){var c,d=this;return a.wpDialog?(a.id&&(c=jQuery("#"+a.id),c.length&&(d.features=a,d.params=b,d.onOpen.dispatch(d,a,b),d.element=d.windows[a.id]=c,d.bookmark=d.editor.selection.getBookmark(1),c.data("wpdialog")||c.wpdialog({title:a.title,width:a.width,height:a.height,modal:!0,dialogClass:"wp-dialog",zIndex:3e5}),c.wpdialog("open"))),void 0):this.parent(a,b)},close:function(){return this.features.wpDialog?(this.element.wpdialog("close"),void 0):this.parent.apply(this,arguments)}}),a.onBeforeRenderUI.add(function(){a.windowManager=new tinymce.WPWindowManager(a)})},getInfo:function(){return{longname:"WPDialogs",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"0.1"}}}),tinymce.PluginManager.add("wpdialogs",tinymce.plugins.WPDialogs)}();
\ No newline at end of file
index e8c7d1d0ab8e43106f80ebadacac50aa6584cdd3..db6f01e801f6948b8a6bf7b5da5fd2f29e70834b 100644 (file)
@@ -172,8 +172,9 @@ var tinyMCEPopup = {
        restoreSelection : function() {
                var t = tinyMCEPopup;
 
        restoreSelection : function() {
                var t = tinyMCEPopup;
 
-               if (!t.isWindow && tinymce.isIE)
+               if (!t.isWindow && tinymce.isIE) {
                        t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
                        t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
+               }
        },
 
        /**
        },
 
        /**
@@ -280,11 +281,12 @@ var tinyMCEPopup = {
 
        // Internal functions
 
 
        // Internal functions
 
-       _restoreSelection : function() {
-               var e = window.event.srcElement;
+       _restoreSelection : function(e) {
+               var el = e && e.target ? e.target : window.event.srcElement;
 
 
-               if (e.nodeName == 'INPUT' && (e.type == 'submit' || e.type == 'button'))
+               if ( el.nodeName == 'INPUT' && ( el.type == 'submit' || el.type == 'button' ) ) {
                        tinyMCEPopup.restoreSelection();
                        tinyMCEPopup.restoreSelection();
+               }
        },
 
 /*     _restoreSelection : function() {
        },
 
 /*     _restoreSelection : function() {
@@ -325,11 +327,13 @@ var tinyMCEPopup = {
                document.body.style.display = '';
 
                // Restore selection in IE when focus is placed on a non textarea or input element of the type text
                document.body.style.display = '';
 
                // Restore selection in IE when focus is placed on a non textarea or input element of the type text
-               if (tinymce.isIE) {
+               if ( tinymce.isIE && ! tinymce.isIE11 ) {
                        document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection);
 
                        // Add base target element for it since it would fail with modal dialogs
                        t.dom.add(t.dom.select('head')[0], 'base', {target : '_self'});
                        document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection);
 
                        // Add base target element for it since it would fail with modal dialogs
                        t.dom.add(t.dom.select('head')[0], 'base', {target : '_self'});
+               } else if ( tinymce.isIE11 ) {
+                       document.addEventListener('mouseup', tinyMCEPopup._restoreSelection, false);
                }
 
                t.restoreSelection();
                }
 
                t.restoreSelection();
index abacbd3a1f16891f58fdf4a689b14176397fc7b5..7377d5bd85a816d92e243c77022ba1eda63f6899 100644 (file)
@@ -1 +1 @@
-var tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=tinymce.dom;b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=false;b.id=b.features.id;b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return window},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},0)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);a.editor=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(){var a=window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.domLoaded){return}b.domLoaded=1;tinyMCEPopup.init();if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}document.body.style.display="";if(tinymce.isIE){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}b.restoreSelection();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){tinymce.dom.Event._add(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){a=a.target||a.srcElement;if(a.onchange){a.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_wait:function(){if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);tinyMCEPopup._onDOMLoaded()}});if(document.documentElement.doScroll&&window==window.top){(function(){if(tinyMCEPopup.domLoaded){return}try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}tinyMCEPopup._onDOMLoaded()})()}document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)}else{if(document.addEventListener){window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,false);window.addEventListener("load",tinyMCEPopup._onDOMLoaded,false)}}}};
\ No newline at end of file
+var tinyMCEPopup={init:function(){var a,b=this;a=b.getWin(),tinymce=a.tinymce,tinyMCE=a.tinyMCE,b.editor=tinymce.EditorManager.activeEditor,b.params=b.editor.windowManager.params,b.features=b.editor.windowManager.features,b.dom=tinymce.dom,b.listeners=[],b.onInit={add:function(a,c){b.listeners.push({func:a,scope:c})}},b.isWindow=!1,b.id=b.features.id,b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return window},getWindowArg:function(a,b){var c=this.params[a];return tinymce.is(c)?c:b},getParam:function(a,b){return this.editor.getParam(a,b)},getLang:function(a,b){return this.editor.getLang(a,b)},execCommand:function(a,b,c,d){return d=d||{},d.skip_focus=1,this.restoreSelection(),this.editor.execCommand(a,b,c,d)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},0)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;!a.isWindow&&tinymce.isIE&&a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)},requireLangPack:function(){var a=this,b=a.getWindowArg("plugin_url")||a.getWindowArg("theme_url");b&&a.editor.settings.language&&a.features.translate_i18n!==!1&&(b+="/langs/"+a.editor.settings.language+"_dlg.js",tinymce.ScriptLoader.isDone(b)||(document.write('<script type="text/javascript" src="'+tinymce._addVer(b)+'"></script>'),tinymce.ScriptLoader.markDone(b)))},pickColor:function(a,b){this.execCommand("mceColorPicker",!0,{color:document.getElementById(b).value,func:function(a){document.getElementById(b).value=a;try{document.getElementById(b).onchange()}catch(c){}}})},openBrowser:function(a,b){tinyMCEPopup.restoreSelection(),this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,b,window)},confirm:function(a,b,c){this.editor.windowManager.confirm(a,b,c,window)},alert:function(a,b,c){this.editor.windowManager.alert(a,b,c,window)},close:function(){function a(){b.editor.windowManager.close(window),b.editor=null}var b=this;tinymce.isOpera?b.getWin().setTimeout(a,0):a()},_restoreSelection:function(a){var b=a&&a.target?a.target:window.event.srcElement;"INPUT"!=b.nodeName||"submit"!=b.type&&"button"!=b.type||tinyMCEPopup.restoreSelection()},_onDOMLoaded:function(){var a,b,c=tinyMCEPopup,d=document.title;c.domLoaded||(c.domLoaded=1,tinyMCEPopup.init(),c.features.translate_i18n!==!1&&(a=document.body.innerHTML,tinymce.isIE&&(a=a.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')),document.dir=c.editor.getParam("directionality",""),(b=c.editor.translate(a))&&b!=a&&(document.body.innerHTML=b),(b=c.editor.translate(d))&&b!=d&&(document.title=d=b)),document.body.style.display="",tinymce.isIE&&!tinymce.isIE11?(document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection),c.dom.add(c.dom.select("head")[0],"base",{target:"_self"})):tinymce.isIE11&&document.addEventListener("mouseup",tinyMCEPopup._restoreSelection,!1),c.restoreSelection(),c.isWindow?window.focus():c.editor.windowManager.setTitle(window,d),tinymce.isIE||c.isWindow||tinymce.dom.Event._add(document,"focus",function(){c.editor.windowManager.focus(c.id)}),tinymce.each(c.dom.select("select"),function(a){a.onkeydown=tinyMCEPopup._accessHandler}),tinymce.each(c.listeners,function(a){a.func.call(a.scope,c.editor)}),c.getWindowArg("mce_auto_focus",!0)&&(window.focus(),tinymce.each(document.forms,function(a){tinymce.each(a.elements,function(a){return c.dom.hasClass(a,"mceFocus")&&!a.disabled?(a.focus(),!1):void 0})})),document.onkeyup=tinyMCEPopup._closeWinKeyHandler)},_accessHandler:function(a){return a=a||window.event,13==a.keyCode||32==a.keyCode?(a=a.target||a.srcElement,a.onchange&&a.onchange(),tinymce.dom.Event.cancel(a)):void 0},_closeWinKeyHandler:function(a){a=a||window.event,27==a.keyCode&&tinyMCEPopup.close()},_wait:function(){document.attachEvent?(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",arguments.callee),tinyMCEPopup._onDOMLoaded())}),document.documentElement.doScroll&&window==window.top&&!function(){if(!tinyMCEPopup.domLoaded){try{document.documentElement.doScroll("left")}catch(a){return setTimeout(arguments.callee,0),void 0}tinyMCEPopup._onDOMLoaded()}}(),document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)):document.addEventListener&&(window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,!1),window.addEventListener("load",tinyMCEPopup._onDOMLoaded,!1))}};
\ No newline at end of file
index 60bf4fe93f7f8864cc562e65bfd29b2dabfe4975..41b90d6b3d4e675559cd782948fe1527467a8a1b 100644 (file)
@@ -1 +1 @@
-(function(a){a.ui.dialog.prototype.options.closeOnEscape=false;a.widget("wp.wpdialog",a.ui.dialog,{widgetEventPrefix:"wpdialog",open:function(){var b;if(tinyMCEPopup&&typeof tinyMCE!="undefined"&&(b=tinyMCE.activeEditor)&&!b.isHidden()){tinyMCEPopup.init()}if(this.isOpen()||false===this._trigger("beforeOpen")){return}this._super();this.element.focus();this._trigger("refresh")}})})(jQuery);
\ No newline at end of file
+!function(a){a.ui.dialog.prototype.options.closeOnEscape=!1,a.widget("wp.wpdialog",a.ui.dialog,{widgetEventPrefix:"wpdialog",open:function(){var a;tinyMCEPopup&&"undefined"!=typeof tinyMCE&&(a=tinyMCE.activeEditor)&&!a.isHidden()&&tinyMCEPopup.init(),this.isOpen()||!1===this._trigger("beforeOpen")||(this._super(),this.element.focus(),this._trigger("refresh"))}})}(jQuery);
\ No newline at end of file
index 32d702b1a878486f5812cd1bbe41c34ee261cd75..a4526535adfe4f6d213919cb4f606bf272818899 100644 (file)
@@ -6,7 +6,7 @@
 
 <link rel="stylesheet" href="css/editimage.css?ver=358-20121205" type="text/css" media="all" />
 <link rel="stylesheet" href="../../../../css/buttons.css?ver=358-20121205" type="text/css" media="all" />
 
 <link rel="stylesheet" href="css/editimage.css?ver=358-20121205" type="text/css" media="all" />
 <link rel="stylesheet" href="../../../../css/buttons.css?ver=358-20121205" type="text/css" media="all" />
-<script type="text/javascript" src="js/editimage.min.js?ver=358-20121205"></script>
+<script type="text/javascript" src="js/editimage.js?ver=358-20121205"></script>
 <script type="text/javascript" src="../../utils/form_utils.js?ver=358-20121205"></script>
 <base target="_self" />
 </head>
 <script type="text/javascript" src="../../utils/form_utils.js?ver=358-20121205"></script>
 <base target="_self" />
 </head>
index e4d1984a3ac2b754347233ed287648fd6ea0e8b9..4884c021ad0aba274d4bece22149de9b275db2df 100644 (file)
@@ -1 +1 @@
-(function(){tinymce.create("tinymce.plugins.wpEditImage",{url:"",editor:{},init:function(a,c){var d=this,b={};d.url=c;d.editor=a;d._createButtons();a.addCommand("WP_EditImage",d._editImage);a.onInit.add(function(e){e.dom.events.add(e.getBody(),"mousedown",function(g){var f;if(g.target.nodeName=="IMG"&&(f=e.dom.getParent(g.target,"div.mceTemp"))){if(tinymce.isGecko){e.selection.select(f)}else{if(tinymce.isWebKit){e.dom.events.prevent(g)}}}});e.dom.events.add(e.getBody(),"keydown",function(j){var k,f,i,h,g;if(j.keyCode==13){k=e.selection.getNode();f=e.dom.getParent(k,"dl.wp-caption");if(f){i=e.dom.getParent(f,"div.mceTemp")}if(i){e.dom.events.cancel(j);h=e.dom.create("p",{},"\uFEFF");e.dom.insertAfter(h,i);e.selection.setCursorLocation(h,0);return false}}});if("ontouchstart" in window){e.dom.events.add(e.getBody(),"touchstart",function(f){d._showButtons(f)})}});a.onMouseUp.add(function(f,g){if(tinymce.isWebKit||tinymce.isOpera){return}if(b.x&&(g.clientX!=b.x||g.clientY!=b.y)){var h=f.selection.getNode();if("IMG"==h.nodeName){window.setTimeout(function(){var e=f.dom.getParent(h,"dl.wp-caption"),i;if(h.width!=b.img_w||h.height!=b.img_h){h.className=h.className.replace(/size-[^ "']+/,"")}if(e){i=f.dom.getAttrib(h,"width")||h.width;i=parseInt(i,10);f.dom.setStyle(e,"width",10+i);f.execCommand("mceRepaint")}},100)}}b={}});a.onMouseDown.add(function(f,g){d._showButtons(g)});a.onBeforeSetContent.add(function(e,f){f.content=e.wpSetImgCaption(f.content)});a.onPostProcess.add(function(e,f){if(f.get){f.content=e.wpGetImgCaption(f.content)}});a.wpSetImgCaption=function(e){return d._do_shcode(e)};a.wpGetImgCaption=function(e){return d._get_shcode(e)};a.onBeforeExecCommand.add(function(e,h,g,j){var f,i;if(h=="mceInsertContent"){f=e.dom.getParent(e.selection.getNode(),"div.mceTemp");if(!f){return}i=e.dom.create("p");e.dom.insertAfter(i,f);e.selection.setCursorLocation(i,0)}})},_do_shcode:function(a){return a.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(j,i,h){var d,m,k,l,f,g,e=tinymce.trim;d=i.match(/id=['"]([^'"]*)['"] ?/);if(d){i=i.replace(d[0],"")}m=i.match(/align=['"]([^'"]*)['"] ?/);if(m){i=i.replace(m[0],"")}k=i.match(/width=['"]([0-9]*)['"] ?/);if(k){i=i.replace(k[0],"")}h=e(h);g=h.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i);if(g&&g[2]){l=e(g[2]);g=e(g[1])}else{l=e(i).replace(/caption=['"]/,"").replace(/['"]$/,"");g=h}d=(d&&d[1])?d[1]:"";m=(m&&m[1])?m[1]:"alignnone";k=(k&&k[1])?k[1]:"";if(!k||!l){return h}f="mceTemp";if(m=="aligncenter"){f+=" mceIEcenter"}return'<div class="'+f+'"><dl id="'+d+'" class="wp-caption '+m+'" style="width: '+(10+parseInt(k))+'px"><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+l+"</dd></dl></div>"})},_get_shcode:function(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(d,c){var e=c.replace(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi,function(i,f,l,j){var k,h,g;g=l.match(/width="([0-9]*)"/);g=(g&&g[1])?g[1]:"";if(!g||!j){return l}k=f.match(/id="([^"]*)"/);k=(k&&k[1])?k[1]:"";h=f.match(/class="([^"]*)"/);h=(h&&h[1])?h[1]:"";h=h.match(/align[a-z]+/)||"alignnone";j=j.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(b){return b.replace(/[\r\n\t]+/," ")});j=j.replace(/\s*\n\s*/g,"<br />");return'[caption id="'+k+'" align="'+h+'" width="'+g+'"]'+l+" "+j+"[/caption]"});if(e.indexOf("[caption")!==0){e=c.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")}return e})},_createButtons:function(){var b=this,a=tinymce.activeEditor,d=tinymce.DOM,e,c,f;if(d.get("wp_editbtns")){return}f=(window.devicePixelRatio&&window.devicePixelRatio>1)||(window.matchMedia&&window.matchMedia("(min-resolution:130dpi)").matches);d.add(document.body,"div",{id:"wp_editbtns",style:"display:none;"});e=d.add("wp_editbtns","img",{src:f?b.url+"/img/image-2x.png":b.url+"/img/image.png",id:"wp_editimgbtn",width:"24",height:"24",title:a.getLang("wpeditimage.edit_img")});tinymce.dom.Event.add(e,"mousedown",function(g){b._editImage();a.plugins.wordpress._hideButtons()});c=d.add("wp_editbtns","img",{src:f?b.url+"/img/delete-2x.png":b.url+"/img/delete.png",id:"wp_delimgbtn",width:"24",height:"24",title:a.getLang("wpeditimage.del_img")});tinymce.dom.Event.add(c,"mousedown",function(j){var g=tinymce.activeEditor,i=g.selection.getNode(),h;if(i.nodeName=="IMG"&&g.dom.getAttrib(i,"class").indexOf("mceItem")==-1){if((h=g.dom.getParent(i,"div"))&&g.dom.hasClass(h,"mceTemp")){g.dom.remove(h)}else{if(i.parentNode.nodeName=="A"&&i.parentNode.childNodes.length==1){i=i.parentNode}if(i.parentNode.nodeName=="P"&&i.parentNode.childNodes.length==1){i=i.parentNode}g.dom.remove(i)}g.execCommand("mceRepaint");return false}g.plugins.wordpress._hideButtons()})},_editImage:function(){var d=tinymce.activeEditor,e=this.url,g=d.selection.getNode(),c,f,a,b=g.className;if(b.indexOf("mceItem")!=-1||b.indexOf("wpGallery")!=-1||g.nodeName!="IMG"){return}c=tinymce.DOM.getViewPort();f=680<(c.h-70)?680:c.h-70;a=650<c.w?650:c.w;d.windowManager.open({file:e+"/editimage.html",width:a+"px",height:f+"px",inline:true})},_showButtons:function(c){var a=this.editor,b=c.target;if(b.nodeName!="IMG"){if(b.firstChild&&b.firstChild.nodeName=="IMG"&&b.childNodes.length==1){b=b.firstChild}else{a.plugins.wordpress._hideButtons();return}}if(a.dom.getAttrib(b,"class").indexOf("mceItem")==-1){mouse={x:c.clientX,y:c.clientY,img_w:b.clientWidth,img_h:b.clientHeight};if(c.type=="touchstart"){a.selection.select(b);a.dom.events.cancel(c)}a.plugins.wordpress._hideButtons();a.plugins.wordpress._showButtons(b,"wp_editbtns")}},getInfo:function(){return{longname:"Edit Image",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wpeditimage",tinymce.plugins.wpEditImage)})();
\ No newline at end of file
+!function(){tinymce.create("tinymce.plugins.wpEditImage",{url:"",editor:{},init:function(a,b){var c=this,d={};c.url=b,c.editor=a,c._createButtons(),a.addCommand("WP_EditImage",c._editImage),a.onInit.add(function(a){a.dom.events.add(a.getBody(),"mousedown",function(b){var c;"IMG"==b.target.nodeName&&(c=a.dom.getParent(b.target,"div.mceTemp"))&&(tinymce.isGecko?a.selection.select(c):tinymce.isWebKit&&a.dom.events.prevent(b))}),a.dom.events.add(a.getBody(),"keydown",function(b){var c,d,e,f;return 13==b.keyCode&&(c=a.selection.getNode(),d=a.dom.getParent(c,"dl.wp-caption"),d&&(e=a.dom.getParent(d,"div.mceTemp")),e)?(a.dom.events.cancel(b),f=a.dom.create("p",{},""),a.dom.insertAfter(f,e),a.selection.setCursorLocation(f,0),!1):void 0}),"ontouchstart"in window&&a.dom.events.add(a.getBody(),"touchstart",function(a){c._showButtons(a)})}),a.onMouseUp.add(function(a,b){if(!tinymce.isWebKit&&!tinymce.isOpera){if(d.x&&(b.clientX!=d.x||b.clientY!=d.y)){var c=a.selection.getNode();"IMG"==c.nodeName&&window.setTimeout(function(){var b,e=a.dom.getParent(c,"dl.wp-caption");(c.width!=d.img_w||c.height!=d.img_h)&&(c.className=c.className.replace(/size-[^ "']+/,"")),e&&(b=a.dom.getAttrib(c,"width")||c.width,b=parseInt(b,10),a.dom.setStyle(e,"width",10+b),a.execCommand("mceRepaint"))},100)}d={}}}),a.onMouseDown.add(function(a,b){c._showButtons(b)}),a.onBeforeSetContent.add(function(a,b){b.content=a.wpSetImgCaption(b.content)}),a.onPostProcess.add(function(a,b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),a.wpSetImgCaption=function(a){return c._do_shcode(a)},a.wpGetImgCaption=function(a){return c._get_shcode(a)},a.onBeforeExecCommand.add(function(a,b){var c,d;if("mceInsertContent"==b){if(c=a.dom.getParent(a.selection.getNode(),"div.mceTemp"),!c)return;d=a.dom.create("p"),a.dom.insertAfter(d,c),a.selection.setCursorLocation(d,0)}})},_do_shcode:function(a){return a.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(a,b,c){var d,e,f,g,h,i,j=tinymce.trim;return d=b.match(/id=['"]([^'"]*)['"] ?/),d&&(b=b.replace(d[0],"")),e=b.match(/align=['"]([^'"]*)['"] ?/),e&&(b=b.replace(e[0],"")),f=b.match(/width=['"]([0-9]*)['"] ?/),f&&(b=b.replace(f[0],"")),c=j(c),i=c.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(g=j(i[2]),i=j(i[1])):(g=j(b).replace(/caption=['"]/,"").replace(/['"]$/,""),i=c),d=d&&d[1]?d[1]:"",e=e&&e[1]?e[1]:"alignnone",f=f&&f[1]?f[1]:"",f&&g?(h="mceTemp","aligncenter"==e&&(h+=" mceIEcenter"),'<div class="'+h+'"><dl id="'+d+'" class="wp-caption '+e+'" style="width: 10'+parseInt(f)+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+g+"</dd></dl></div>"):c})},_get_shcode:function(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var 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});return 0!==c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c})},_createButtons:function(){var a,b,c,d=this,e=tinymce.activeEditor,f=tinymce.DOM;f.get("wp_editbtns")||(c=window.devicePixelRatio&&window.devicePixelRatio>1||window.matchMedia&&window.matchMedia("(min-resolution:130dpi)").matches,f.add(document.body,"div",{id:"wp_editbtns",style:"display:none;"}),a=f.add("wp_editbtns","img",{src:c?d.url+"/img/image-2x.png":d.url+"/img/image.png",id:"wp_editimgbtn",width:"24",height:"24",title:e.getLang("wpeditimage.edit_img")}),tinymce.dom.Event.add(a,"mousedown",function(){d._editImage(),e.plugins.wordpress._hideButtons()}),b=f.add("wp_editbtns","img",{src:c?d.url+"/img/delete-2x.png":d.url+"/img/delete.png",id:"wp_delimgbtn",width:"24",height:"24",title:e.getLang("wpeditimage.del_img")}),tinymce.dom.Event.add(b,"mousedown",function(){var a,b=tinymce.activeEditor,c=b.selection.getNode();return"IMG"==c.nodeName&&-1==b.dom.getAttrib(c,"class").indexOf("mceItem")?((a=b.dom.getParent(c,"div"))&&b.dom.hasClass(a,"mceTemp")?b.dom.remove(a):("A"==c.parentNode.nodeName&&1==c.parentNode.childNodes.length&&(c=c.parentNode),"P"==c.parentNode.nodeName&&1==c.parentNode.childNodes.length&&(c=c.parentNode),b.dom.remove(c)),b.execCommand("mceRepaint"),!1):(b.plugins.wordpress._hideButtons(),void 0)}))},_editImage:function(){var a,b,c,d=tinymce.activeEditor,e=this.url,f=d.selection.getNode(),g=f.className;-1==g.indexOf("mceItem")&&-1==g.indexOf("wpGallery")&&"IMG"==f.nodeName&&(a=tinymce.DOM.getViewPort(),b=680<a.h-70?680:a.h-70,c=650<a.w?650:a.w,d.windowManager.open({file:e+"/editimage.html",width:c+"px",height:b+"px",inline:!0}))},_showButtons:function(a){var b=this.editor,c=a.target;if("IMG"!=c.nodeName){if(!c.firstChild||"IMG"!=c.firstChild.nodeName||1!=c.childNodes.length)return b.plugins.wordpress._hideButtons(),void 0;c=c.firstChild}-1==b.dom.getAttrib(c,"class").indexOf("mceItem")&&(mouse={x:a.clientX,y:a.clientY,img_w:c.clientWidth,img_h:c.clientHeight},"touchstart"==a.type&&(b.selection.select(c),b.dom.events.cancel(a)),b.plugins.wordpress._hideButtons(),b.plugins.wordpress._showButtons(c,"wp_editbtns"))},getInfo:function(){return{longname:"Edit Image",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wpeditimage",tinymce.plugins.wpEditImage)}();
\ No newline at end of file
index 18e781179f62ccbf3b30d07b2b057a472f3a9863..e00ca2b8eaeb974eaca9777c157d7a6801f73ec7 100644 (file)
@@ -497,7 +497,7 @@ wpImage = {
                        ed.selection.moveToBookmark(b);
                }
 
                        ed.selection.moveToBookmark(b);
                }
 
-               tinyMCEPopup.execCommand("mceEndUndoLevel");
+               ed.execCommand("mceEndUndoLevel");
                ed.execCommand('mceRepaint');
                tinyMCEPopup.close();
        },
                ed.execCommand('mceRepaint');
                tinyMCEPopup.close();
        },
diff --git a/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.min.js b/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.min.js
deleted file mode 100644 (file)
index eebfb3d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-var tinymce=null,tinyMCEPopup,tinyMCE,wpImage;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getParam:function(b,a){return this.editor.getParam(b,a)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}}};tinyMCEPopup.init();wpImage={preInit:function(){var a=tinyMCEPopup.editor,e=tinyMCEPopup.getWin(),d=e.document.styleSheets,b,c;for(c=0;c<d.length;c++){b=d.item(c).href;if(b&&b.indexOf("colors")!=-1){document.getElementsByTagName("head")[0].appendChild(a.dom.create("link",{rel:"stylesheet",href:b}));break}}},I:function(a){return document.getElementById(a)},current:"",link:"",link_rel:"",target_value:"",current_size_sel:"s100",width:"",height:"",align:"",img_alt:"",setTabs:function(b){var a=this;if("current"==b.className){return false}a.I("div_advanced").style.display=("tab_advanced"==b.id)?"block":"none";a.I("div_basic").style.display=("tab_basic"==b.id)?"block":"none";a.I("tab_basic").className=a.I("tab_advanced").className="";b.className="current";return false},img_seturl:function(b){var c=this,a=c.I("link_rel").value;if("current"==b){c.I("link_href").value=c.current;c.I("link_rel").value=c.link_rel}else{c.I("link_href").value=c.link;if(a){a=a.replace(/attachment|wp-att-[0-9]+/gi,"");c.I("link_rel").value=tinymce.trim(a)}}},imgAlignCls:function(b){var c=this,a=c.I("img_classes").value;c.I("img_demo").className=c.align=b;a=a.replace(/align[^ "']+/gi,"");a+=(" "+b);a=a.replace(/\s+/g," ").replace(/^\s/,"");if("aligncenter"==b){c.I("hspace").value="";c.updateStyle("hspace")}c.I("img_classes").value=a},showSize:function(e){var c=this,f=c.I("img_demo"),a=c.width,d=c.height,g=e.id||"s100",b;b=parseInt(g.substring(1))/200;f.width=Math.round(a*b);f.height=Math.round(d*b);c.showSizeClear();e.style.borderColor="#A3A3A3";e.style.backgroundColor="#E5E5E5"},showSizeSet:function(){var b=this,d,c,a;if((b.width*1.3)>parseInt(b.preloadImg.width)){d=b.I("s130"),c=b.I("s120"),a=b.I("s110");d.onclick=c.onclick=a.onclick=null;d.onmouseover=c.onmouseover=a.onmouseover=null;d.style.color=c.style.color=a.style.color="#aaa"}},showSizeRem:function(){var a=this,c=a.I("img_demo"),b=document.forms[0];c.width=Math.round(b.width.value*0.5);c.height=Math.round(b.height.value*0.5);a.showSizeClear();a.I(a.current_size_sel).style.borderColor="#A3A3A3";a.I(a.current_size_sel).style.backgroundColor="#E5E5E5";return false},showSizeClear:function(){var b=this.I("img_size").getElementsByTagName("div"),a;for(a=0;a<b.length;a++){b[a].style.borderColor="#f1f1f1";b[a].style.backgroundColor="#f1f1f1"}},imgEditSize:function(g){var d=this,i=document.forms[0],a,c,b,e,j;if(!d.preloadImg||!d.preloadImg.width||!d.preloadImg.height){return}a=parseInt(d.preloadImg.width),c=parseInt(d.preloadImg.height),b=d.width||a,e=d.height||c,j=g.id||"s100";size=parseInt(j.substring(1))/100;b=Math.round(b*size);e=Math.round(e*size);i.width.value=Math.min(a,b);i.height.value=Math.min(c,e);d.current_size_sel=j;d.demoSetSize()},demoSetSize:function(a){var c=this.I("img_demo"),b=document.forms[0];c.width=b.width.value?Math.round(b.width.value*0.5):"";c.height=b.height.value?Math.round(b.height.value*0.5):""},demoSetStyle:function(){var b=document.forms[0],a=this.I("img_demo"),c=tinyMCEPopup.editor.dom;if(a){c.setAttrib(a,"style",b.img_style.value);c.setStyle(a,"width","");c.setStyle(a,"height","")}},origSize:function(){var a=this,c=document.forms[0],b=a.I("s100");c.width.value=a.width=a.preloadImg.width;c.height.value=a.height=a.preloadImg.height;a.showSizeSet();a.demoSetSize();a.showSize(b)},init:function(){var a=tinyMCEPopup.editor,b;b=document.body.innerHTML;document.body.innerHTML=a.translate(b);window.setTimeout(function(){wpImage.setup()},500)},setup:function(){var q=this,l,b,m,e,j=document.forms[0],i=tinyMCEPopup.editor,k=q.I("img_demo"),h=tinyMCEPopup.dom,a,g,p="",o,n;document.dir=tinyMCEPopup.editor.getParam("directionality","");if(tinyMCEPopup.editor.getParam("wpeditimage_disable_captions",false)){q.I("cap_field").style.display="none"}tinyMCEPopup.restoreSelection();b=i.selection.getNode();if(b.nodeName!="IMG"){return}j.img_src.value=k.src=m=i.dom.getAttrib(b,"src");i.dom.setStyle(b,"float","");q.getImageData();l=i.dom.getAttrib(b,"class");if(a=h.getParent(b,"dl")){o=i.dom.getAttrib(a,"class");o=o.match(/align[^ "']+/i);if(o&&!h.hasClass(b,o)){l+=" "+o;tinymce.trim(l)}g=i.dom.select("dd.wp-caption-dd",a);if(g&&g[0]){p=i.serializer.serialize(g[0]).replace(/^<p>/,"").replace(/<\/p>$/,"")}}j.img_cap_text.value=p;j.img_title.value=i.dom.getAttrib(b,"title");j.img_alt.value=i.dom.getAttrib(b,"alt");j.border.value=i.dom.getAttrib(b,"border");j.vspace.value=i.dom.getAttrib(b,"vspace");j.hspace.value=i.dom.getAttrib(b,"hspace");j.align.value=i.dom.getAttrib(b,"align");j.width.value=q.width=i.dom.getAttrib(b,"width");j.height.value=q.height=i.dom.getAttrib(b,"height");j.img_classes.value=l;j.img_style.value=i.dom.getAttrib(b,"style");if(h.getAttrib(b,"hspace")){q.updateStyle("hspace")}if(h.getAttrib(b,"border")){q.updateStyle("border")}if(h.getAttrib(b,"vspace")){q.updateStyle("vspace")}if(n=i.dom.getParent(b,"A")){j.link_href.value=q.current=i.dom.getAttrib(n,"href");j.link_title.value=i.dom.getAttrib(n,"title");j.link_rel.value=q.link_rel=i.dom.getAttrib(n,"rel");j.link_style.value=i.dom.getAttrib(n,"style");q.target_value=i.dom.getAttrib(n,"target");j.link_classes.value=i.dom.getAttrib(n,"class")}j.link_target.checked=(q.target_value&&q.target_value=="_blank")?"checked":"";e=m.substring(m.lastIndexOf("/"));e=e.replace(/-[0-9]{2,4}x[0-9]{2,4}/,"");q.link=m.substring(0,m.lastIndexOf("/"))+e;if(l.indexOf("alignleft")!=-1){q.I("alignleft").checked="checked";k.className=q.align="alignleft"}else{if(l.indexOf("aligncenter")!=-1){q.I("aligncenter").checked="checked";k.className=q.align="aligncenter"}else{if(l.indexOf("alignright")!=-1){q.I("alignright").checked="checked";k.className=q.align="alignright"}else{if(l.indexOf("alignnone")!=-1){q.I("alignnone").checked="checked";k.className=q.align="alignnone"}}}}if(q.width&&q.preloadImg.width){q.showSizeSet()}document.body.style.display=""},remove:function(){var a=tinyMCEPopup.editor,c,b;tinyMCEPopup.restoreSelection();b=a.selection.getNode();if(b.nodeName!="IMG"){return}if((c=a.dom.getParent(b,"div"))&&a.dom.hasClass(c,"mceTemp")){a.dom.remove(c)}else{if((c=a.dom.getParent(b,"A"))&&c.childNodes.length==1){a.dom.remove(c)}else{a.dom.remove(b)}}a.execCommand("mceRepaint");tinyMCEPopup.close();return},update:function(){var m=this,v=document.forms[0],g=tinyMCEPopup.editor,e,y,d=null,n,h,p,r,o=null,k=v.img_classes.value,l,q,u="",j,i,s,a,B,x="",c,z,w;tinyMCEPopup.restoreSelection();e=g.selection.getNode();if(e.nodeName!="IMG"){return}if(v.img_src.value===""){m.remove();return}if(v.img_cap_text.value!=""&&v.width.value!=""){o=1;k=k.replace(/align[^ "']+\s?/gi,"")}p=g.dom.getParent(e,"a");h=g.dom.getParent(e,"p");n=g.dom.getParent(e,"dl");r=g.dom.getParent(e,"div");tinyMCEPopup.execCommand("mceBeginUndoLevel");if(v.width.value!=e.width||v.height.value!=e.height){k=k.replace(/size-[^ "']+/,"")}g.dom.setAttribs(e,{src:v.img_src.value,title:v.img_title.value,alt:v.img_alt.value,width:v.width.value,height:v.height.value,style:v.img_style.value,"class":k});if(v.link_href.value){if(p==null){if(!v.link_href.value.match(/https?:\/\//i)){v.link_href.value=tinyMCEPopup.editor.documentBaseURI.toAbsolute(v.link_href.value)}g.getDoc().execCommand("unlink",false,null);tinyMCEPopup.execCommand("mceInsertLink",false,"#mce_temp_url#",{skip_undo:1});tinymce.each(g.dom.select("a"),function(b){if(g.dom.getAttrib(b,"href")=="#mce_temp_url#"){g.dom.setAttribs(b,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?"_blank":"","class":v.link_classes.value,style:v.link_style.value})}})}else{g.dom.setAttribs(p,{href:v.link_href.value,title:v.link_title.value,rel:v.link_rel.value,target:(v.link_target.checked==true)?"_blank":"","class":v.link_classes.value,style:v.link_style.value})}}if(o){a=10+parseInt(v.width.value);B=(m.align=="aligncenter")?"mceTemp mceIEcenter":"mceTemp";w=v.img_cap_text.value;w=w.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(b){return b.replace(/[\r\n\t]+/," ")});w=w.replace(/\s*\n\s*/g,"<br />");if(n){g.dom.setAttribs(n,{"class":"wp-caption "+m.align,style:"width: "+a+"px;"});if(r){g.dom.setAttrib(r,"class",B)}if((i=g.dom.getParent(e,"dt"))&&(s=i.nextSibling)&&g.dom.hasClass(s,"wp-caption-dd")){g.dom.setHTML(s,w)}}else{if((q=v.img_classes.value.match(/wp-image-([0-9]{1,6})/))&&q[1]){u="attachment_"+q[1]}if(v.link_href.value&&(x=g.dom.getParent(e,"a"))){if(x.childNodes.length==1){l=g.dom.getOuterHTML(x)}else{l=g.dom.getOuterHTML(x);l=l.match(/<a [^>]+>/i);l=l+g.dom.getOuterHTML(e)+"</a>"}}else{l=g.dom.getOuterHTML(e)}l='<dl id="'+u+'" class="wp-caption '+m.align+'" style="width: '+a+'px"><dt class="wp-caption-dt">'+l+'</dt><dd class="wp-caption-dd">'+w+"</dd></dl>";j=g.dom.create("div",{"class":B},l);if(h){h.parentNode.insertBefore(j,h);if(h.childNodes.length==1){g.dom.remove(h)}else{if(x&&x.childNodes.length==1){g.dom.remove(x)}else{g.dom.remove(e)}}}else{if(c=g.dom.getParent(e,"TD,TH,LI")){c.appendChild(j);if(x&&x.childNodes.length==1){g.dom.remove(x)}else{g.dom.remove(e)}}}}}else{if(n&&r){if(v.link_href.value&&(z=g.dom.getParent(e,"a"))){l=g.dom.getOuterHTML(z)}else{l=g.dom.getOuterHTML(e)}h=g.dom.create("p",{},l);r.parentNode.insertBefore(h,r);g.dom.remove(r)}}if(v.img_classes.value.indexOf("aligncenter")!=-1){if(h&&(!h.style||h.style.textAlign!="center")){g.dom.setStyle(h,"textAlign","center")}}else{if(h&&h.style&&h.style.textAlign=="center"){g.dom.setStyle(h,"textAlign","")}}if(!v.link_href.value&&p){y=g.selection.getBookmark();g.dom.remove(p,1);g.selection.moveToBookmark(y)}tinyMCEPopup.execCommand("mceEndUndoLevel");g.execCommand("mceRepaint");tinyMCEPopup.close()},updateStyle:function(a){var e=tinyMCEPopup.dom,c,d=document.forms[0],b=e.create("img",{style:d.img_style.value});if(tinyMCEPopup.editor.settings.inline_styles){if(a=="align"){e.setStyle(b,"float","");e.setStyle(b,"vertical-align","");c=d.align.value;if(c){if(c=="left"||c=="right"){e.setStyle(b,"float",c)}else{b.style.verticalAlign=c}}}if(a=="border"){e.setStyle(b,"border","");c=d.border.value;if(c||c=="0"){if(c=="0"){b.style.border="0"}else{b.style.border=c+"px solid black"}}}if(a=="hspace"){e.setStyle(b,"marginLeft","");e.setStyle(b,"marginRight","");c=d.hspace.value;if(c){b.style.marginLeft=c+"px";b.style.marginRight=c+"px"}}if(a=="vspace"){e.setStyle(b,"marginTop","");e.setStyle(b,"marginBottom","");c=d.vspace.value;if(c){b.style.marginTop=c+"px";b.style.marginBottom=c+"px"}}d.img_style.value=e.serializeStyle(e.parseStyle(b.style.cssText));this.demoSetStyle()}},checkVal:function(a){if(a.value==""){if(a.id=="img_src"){a.value=this.I("img_demo").src||this.preloadImg.src}}},resetImageData:function(){var a=document.forms[0];a.width.value=a.height.value=""},updateImageData:function(){var d=document.forms[0],b=wpImage,a=d.width.value,c=d.height.value;if(!a&&c){a=d.width.value=b.width=Math.round(b.preloadImg.width/(b.preloadImg.height/c))}else{if(a&&!c){c=d.height.value=b.height=Math.round(b.preloadImg.height/(b.preloadImg.width/a))}}if(!a){d.width.value=b.width=b.preloadImg.width}if(!c){d.height.value=b.height=b.preloadImg.height}b.showSizeSet();b.demoSetSize();if(d.img_style.value){b.demoSetStyle()}},getImageData:function(){var a=wpImage,b=document.forms[0];a.preloadImg=new Image();a.preloadImg.onload=a.updateImageData;a.preloadImg.onerror=a.resetImageData;a.preloadImg.src=tinyMCEPopup.editor.documentBaseURI.toAbsolute(b.img_src.value)}};window.onload=function(){wpImage.init()};wpImage.preInit();
\ No newline at end of file
index ce779891e72447033f27ec409cf90fbf5f872010..706890f77908a36ccd4924a795d24751fc127381 100644 (file)
@@ -1 +1 @@
-(function(){tinymce.create("tinymce.plugins.wpFullscreenPlugin",{resize_timeout:false,init:function(a,c){var d=this,g=0,e={},f=tinymce.DOM;a.addCommand("wpFullScreenClose",function(){if(a.getParam("wp_fullscreen_is_enabled")){f.win.setTimeout(function(){tinyMCE.remove(a);f.remove("wp_mce_fullscreen_parent");tinyMCE.settings=tinyMCE.oldSettings},10)}});a.addCommand("wpFullScreenSave",function(){var h=tinyMCE.get("wp_mce_fullscreen"),i;h.focus();i=tinyMCE.get(h.getParam("wp_fullscreen_editor_id"));i.setContent(h.getContent({format:"raw"}),{format:"raw"})});a.addCommand("wpFullScreenInit",function(){var j,h,i;a=tinyMCE.activeEditor;j=a.getDoc();h=j.body;tinyMCE.oldSettings=tinyMCE.settings;tinymce.each(a.settings,function(k,l){e[l]=k});e.id="wp_mce_fullscreen";e.wp_fullscreen_is_enabled=true;e.wp_fullscreen_editor_id=a.id;e.theme_advanced_resizing=false;e.theme_advanced_statusbar_location="none";e.content_css=e.content_css?e.content_css+","+e.wp_fullscreen_content_css:e.wp_fullscreen_content_css;e.height=tinymce.isIE?h.scrollHeight:h.offsetHeight;tinymce.each(a.getParam("wp_fullscreen_settings"),function(m,l){e[l]=m});i=new tinymce.Editor("wp_mce_fullscreen",e);i.onInit.add(function(k){var m=tinymce.DOM,l=m.select("a.mceButton",m.get("wp-fullscreen-buttons"));if(!a.isHidden()){k.setContent(a.getContent())}else{k.setContent(switchEditors.wpautop(k.getElement().value))}setTimeout(function(){k.onNodeChange.add(function(o,n,p){tinymce.each(l,function(s){var r,q;if(r=m.get("wp_mce_fullscreen_"+s.id.substr(6))){q=r.className;if(q){s.className=q}}})})},1000);k.dom.addClass(k.getBody(),"wp-fullscreen-editor");k.focus()});i.render();if("undefined"!=fullscreen){i.dom.bind(i.dom.doc,"mousemove",function(k){fullscreen.bounder("showToolbar","hideToolbar",2000,k)})}});a.addCommand("wpFullScreen",function(){if(typeof(fullscreen)=="undefined"){return}if("wp_mce_fullscreen"==a.id){fullscreen.off()}else{fullscreen.on()}});a.addButton("wp_fullscreen",{title:"wordpress.wp_fullscreen_desc",cmd:"wpFullScreen"});if(a.getParam("fullscreen_is_enabled")||!a.getParam("wp_fullscreen_is_enabled")){return}function b(j,l){var k=tinymce.DOM,i=a.getBody(),n=k.get(a.id+"_ifr"),h,m=a.dom.win.scrollY;if(d.resize_timeout){return}d.resize_timeout=true;setTimeout(function(){d.resize_timeout=false},500);h=i.scrollHeight>300?i.scrollHeight:300;if(h!=n.scrollHeight){k.setStyle(n,"height",h+"px");a.getWin().scrollTo(0,0)}if(l&&l.type=="paste"&&tinymce.isWebKit){setTimeout(function(){a.dom.win.scrollTo(0,m)},40)}}a.onInit.add(function(i,h){i.onChange.add(b);i.onSetContent.add(b);i.onPaste.add(b);i.onKeyUp.add(b);i.onPostRender.add(b);i.getBody().style.overflowY="hidden"});if(a.getParam("autoresize_on_init",true)){a.onLoadContent.add(function(i,h){setTimeout(function(){b()},1200)})}a.addCommand("wpAutoResize",b)},getInfo:function(){return{longname:"WP Fullscreen",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wpfullscreen",tinymce.plugins.wpFullscreenPlugin)})();
\ No newline at end of file
+!function(){tinymce.create("tinymce.plugins.wpFullscreenPlugin",{resize_timeout:!1,init:function(a){function b(b,d){var e,f=tinymce.DOM,g=a.getBody(),h=f.get(a.id+"_ifr"),i=a.dom.win.scrollY;c.resize_timeout||(c.resize_timeout=!0,setTimeout(function(){c.resize_timeout=!1},500),e=g.scrollHeight>300?g.scrollHeight:300,e!=h.scrollHeight&&(f.setStyle(h,"height",e+"px"),a.getWin().scrollTo(0,0)),d&&"paste"==d.type&&tinymce.isWebKit&&setTimeout(function(){a.dom.win.scrollTo(0,i)},40))}var c=this,d={},e=tinymce.DOM;a.addCommand("wpFullScreenClose",function(){a.getParam("wp_fullscreen_is_enabled")&&e.win.setTimeout(function(){tinyMCE.remove(a),e.remove("wp_mce_fullscreen_parent"),tinyMCE.settings=tinyMCE.oldSettings},10)}),a.addCommand("wpFullScreenSave",function(){var a,b=tinyMCE.get("wp_mce_fullscreen");b.focus(),a=tinyMCE.get(b.getParam("wp_fullscreen_editor_id")),a.setContent(b.getContent({format:"raw"}),{format:"raw"})}),a.addCommand("wpFullScreenInit",function(){var b,c,e;a=tinyMCE.activeEditor,b=a.getDoc(),c=b.body,tinyMCE.oldSettings=tinyMCE.settings,tinymce.each(a.settings,function(a,b){d[b]=a}),d.id="wp_mce_fullscreen",d.wp_fullscreen_is_enabled=!0,d.wp_fullscreen_editor_id=a.id,d.theme_advanced_resizing=!1,d.theme_advanced_statusbar_location="none",d.content_css=d.content_css?d.content_css+","+d.wp_fullscreen_content_css:d.wp_fullscreen_content_css,d.height=tinymce.isIE?c.scrollHeight:c.offsetHeight,tinymce.each(a.getParam("wp_fullscreen_settings"),function(a,b){d[b]=a}),e=new tinymce.Editor("wp_mce_fullscreen",d),e.onInit.add(function(b){var c=tinymce.DOM,d=c.select("a.mceButton",c.get("wp-fullscreen-buttons"));a.isHidden()?b.setContent(switchEditors.wpautop(b.getElement().value)):b.setContent(a.getContent()),setTimeout(function(){b.onNodeChange.add(function(){tinymce.each(d,function(a){var b,d;(b=c.get("wp_mce_fullscreen_"+a.id.substr(6)))&&(d=b.className,d&&(a.className=d))})})},1e3),b.dom.addClass(b.getBody(),"wp-fullscreen-editor"),b.focus()}),e.render(),"undefined"!=fullscreen&&e.dom.bind(e.dom.doc,"mousemove",function(a){fullscreen.bounder("showToolbar","hideToolbar",2e3,a)})}),a.addCommand("wpFullScreen",function(){"undefined"!=typeof fullscreen&&("wp_mce_fullscreen"==a.id?fullscreen.off():fullscreen.on())}),a.addButton("wp_fullscreen",{title:"wordpress.wp_fullscreen_desc",cmd:"wpFullScreen"}),!a.getParam("fullscreen_is_enabled")&&a.getParam("wp_fullscreen_is_enabled")&&(a.onInit.add(function(a){a.onChange.add(b),a.onSetContent.add(b),a.onPaste.add(b),a.onKeyUp.add(b),a.onPostRender.add(b),a.getBody().style.overflowY="hidden"}),a.getParam("autoresize_on_init",!0)&&a.onLoadContent.add(function(){setTimeout(function(){b()},1200)}),a.addCommand("wpAutoResize",b))},getInfo:function(){return{longname:"WP Fullscreen",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wpfullscreen",tinymce.plugins.wpFullscreenPlugin)}();
\ No newline at end of file
index 8fb2a4e87f5c87234a2992f74a1a3b574d290934..cd426627b295905a57af652d4d11c289bc94483d 100644 (file)
@@ -1 +1 @@
-(function(){tinymce.create("tinymce.plugins.wpGallery",{init:function(a,b){var c=this;c.url=b;c.editor=a;c._createButtons();a.addCommand("WP_Gallery",function(){if(tinymce.isIE){a.selection.moveToBookmark(a.wpGalleryBookmark)}var e=a.selection.getNode(),d=wp.media.gallery,f;if(typeof wp==="undefined"||!wp.media||!wp.media.gallery){return}if(e.nodeName!="IMG"||a.dom.getAttrib(e,"class").indexOf("wp-gallery")==-1){return}f=d.edit("["+a.dom.getAttrib(e,"title")+"]");f.state("gallery-edit").on("update",function(g){var h=d.shortcode(g).string().slice(1,-1);a.dom.setAttrib(e,"title",h)})});a.onInit.add(function(d){if("ontouchstart" in window){d.dom.events.add(d.getBody(),"touchstart",function(g){var f=g.target;if(f.nodeName=="IMG"&&d.dom.hasClass(f,"wp-gallery")){d.selection.select(f);d.dom.events.cancel(g);d.plugins.wordpress._hideButtons();d.plugins.wordpress._showButtons(f,"wp_gallerybtns")}})}});a.onMouseDown.add(function(d,f){if(f.target.nodeName=="IMG"&&d.dom.hasClass(f.target,"wp-gallery")){d.plugins.wordpress._hideButtons();d.plugins.wordpress._showButtons(f.target,"wp_gallerybtns")}});a.onBeforeSetContent.add(function(d,e){e.content=c._do_gallery(e.content)});a.onPostProcess.add(function(d,e){if(e.get){e.content=c._get_gallery(e.content)}})},_do_gallery:function(a){return a.replace(/\[gallery([^\]]*)\]/g,function(d,c){return'<img src="'+tinymce.baseURL+'/plugins/wpgallery/img/t.gif" class="wp-gallery mceItem" title="gallery'+tinymce.DOM.encode(c)+'" />'})},_get_gallery:function(b){function a(c,d){d=new RegExp(d+'="([^"]+)"',"g").exec(c);return d?tinymce.DOM.decode(d[1]):""}return b.replace(/(?:<p[^>]*>)*(<img[^>]+>)(?:<\/p>)*/g,function(e,d){var c=a(d,"class");if(c.indexOf("wp-gallery")!=-1){return"<p>["+tinymce.trim(a(d,"title"))+"]</p>"}return e})},_createButtons:function(){var b=this,a=tinymce.activeEditor,d=tinymce.DOM,e,c,f;if(d.get("wp_gallerybtns")){return}f=(window.devicePixelRatio&&window.devicePixelRatio>1)||(window.matchMedia&&window.matchMedia("(min-resolution:130dpi)").matches);d.add(document.body,"div",{id:"wp_gallerybtns",style:"display:none;"});e=d.add("wp_gallerybtns","img",{src:f?b.url+"/img/edit-2x.png":b.url+"/img/edit.png",id:"wp_editgallery",width:"24",height:"24",title:a.getLang("wordpress.editgallery")});tinymce.dom.Event.add(e,"mousedown",function(h){var g=tinymce.activeEditor;g.wpGalleryBookmark=g.selection.getBookmark("simple");g.execCommand("WP_Gallery");g.plugins.wordpress._hideButtons()});c=d.add("wp_gallerybtns","img",{src:f?b.url+"/img/delete-2x.png":b.url+"/img/delete.png",id:"wp_delgallery",width:"24",height:"24",title:a.getLang("wordpress.delgallery")});tinymce.dom.Event.add(c,"mousedown",function(i){var g=tinymce.activeEditor,h=g.selection.getNode();if(h.nodeName=="IMG"&&g.dom.hasClass(h,"wp-gallery")){g.dom.remove(h);g.execCommand("mceRepaint");g.dom.events.cancel(i)}g.plugins.wordpress._hideButtons()})},getInfo:function(){return{longname:"Gallery Settings",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wpgallery",tinymce.plugins.wpGallery)})();
\ No newline at end of file
+!function(){tinymce.create("tinymce.plugins.wpGallery",{init:function(a,b){var c=this;c.url=b,c.editor=a,c._createButtons(),a.addCommand("WP_Gallery",function(){tinymce.isIE&&a.selection.moveToBookmark(a.wpGalleryBookmark);var b,c=a.selection.getNode(),d=wp.media.gallery;"undefined"!=typeof wp&&wp.media&&wp.media.gallery&&"IMG"==c.nodeName&&-1!=a.dom.getAttrib(c,"class").indexOf("wp-gallery")&&(b=d.edit("["+a.dom.getAttrib(c,"title")+"]"),b.state("gallery-edit").on("update",function(b){var e=d.shortcode(b).string().slice(1,-1);a.dom.setAttrib(c,"title",e)}))}),a.onInit.add(function(a){"ontouchstart"in window&&a.dom.events.add(a.getBody(),"touchstart",function(b){var c=b.target;"IMG"==c.nodeName&&a.dom.hasClass(c,"wp-gallery")&&(a.selection.select(c),a.dom.events.cancel(b),a.plugins.wordpress._hideButtons(),a.plugins.wordpress._showButtons(c,"wp_gallerybtns"))})}),a.onMouseDown.add(function(a,b){"IMG"==b.target.nodeName&&a.dom.hasClass(b.target,"wp-gallery")&&(a.plugins.wordpress._hideButtons(),a.plugins.wordpress._showButtons(b.target,"wp_gallerybtns"))}),a.onBeforeSetContent.add(function(a,b){b.content=c._do_gallery(b.content)}),a.onPostProcess.add(function(a,b){b.get&&(b.content=c._get_gallery(b.content))})},_do_gallery:function(a){return a.replace(/\[gallery([^\]]*)\]/g,function(a,b){return'<img src="'+tinymce.baseURL+'/plugins/wpgallery/img/t.gif" class="wp-gallery mceItem" title="gallery'+tinymce.DOM.encode(b)+'" />'})},_get_gallery:function(a){function b(a,b){return b=new RegExp(b+'="([^"]+)"',"g").exec(a),b?tinymce.DOM.decode(b[1]):""}return a.replace(/(?:<p[^>]*>)*(<img[^>]+>)(?:<\/p>)*/g,function(a,c){var d=b(c,"class");return-1!=d.indexOf("wp-gallery")?"<p>["+tinymce.trim(b(c,"title"))+"]</p>":a})},_createButtons:function(){var a,b,c,d=this,e=tinymce.activeEditor,f=tinymce.DOM;f.get("wp_gallerybtns")||(c=window.devicePixelRatio&&window.devicePixelRatio>1||window.matchMedia&&window.matchMedia("(min-resolution:130dpi)").matches,f.add(document.body,"div",{id:"wp_gallerybtns",style:"display:none;"}),a=f.add("wp_gallerybtns","img",{src:c?d.url+"/img/edit-2x.png":d.url+"/img/edit.png",id:"wp_editgallery",width:"24",height:"24",title:e.getLang("wordpress.editgallery")}),tinymce.dom.Event.add(a,"mousedown",function(){var a=tinymce.activeEditor;a.wpGalleryBookmark=a.selection.getBookmark("simple"),a.execCommand("WP_Gallery"),a.plugins.wordpress._hideButtons()}),b=f.add("wp_gallerybtns","img",{src:c?d.url+"/img/delete-2x.png":d.url+"/img/delete.png",id:"wp_delgallery",width:"24",height:"24",title:e.getLang("wordpress.delgallery")}),tinymce.dom.Event.add(b,"mousedown",function(a){var b=tinymce.activeEditor,c=b.selection.getNode();"IMG"==c.nodeName&&b.dom.hasClass(c,"wp-gallery")&&(b.dom.remove(c),b.execCommand("mceRepaint"),b.dom.events.cancel(a)),b.plugins.wordpress._hideButtons()}))},getInfo:function(){return{longname:"Gallery Settings",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wpgallery",tinymce.plugins.wpGallery)}();
\ No newline at end of file
index 4185316c3c581155233eda153cdee70930af5c06..480378474c39abda041015efb9821815ae174266 100644 (file)
@@ -1 +1 @@
-(function(){tinymce.create("tinymce.plugins.wpLink",{init:function(a,b){var c=true;a.addCommand("WP_Link",function(){if(c){return}a.windowManager.open({id:"wp-link",width:480,height:"auto",wpDialog:true,title:a.getLang("advlink.link_desc")},{plugin_url:b})});a.addButton("link",{title:"advanced.link_desc",cmd:"WP_Link"});a.onNodeChange.add(function(e,d,g,f){c=f&&g.nodeName!="A"})},getInfo:function(){return{longname:"WordPress Link Dialog",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wplink",tinymce.plugins.wpLink)})();
\ No newline at end of file
+!function(){tinymce.create("tinymce.plugins.wpLink",{init:function(a,b){var c=!0;a.addCommand("WP_Link",function(){c||a.windowManager.open({id:"wp-link",width:480,height:"auto",wpDialog:!0,title:a.getLang("advlink.link_desc")},{plugin_url:b})}),a.addButton("link",{title:"advanced.link_desc",cmd:"WP_Link"}),a.onNodeChange.add(function(a,b,d,e){c=e&&"A"!=d.nodeName})},getInfo:function(){return{longname:"WordPress Link Dialog",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}}),tinymce.PluginManager.add("wplink",tinymce.plugins.wpLink)}();
\ No newline at end of file
index 05533d2a8a09c28ba3978a075721fd56ee614f00..02f8085fc69efff0ba73d1360f600575bc72f6bc 100644 (file)
@@ -1 +1 @@
-(function(){var c=tinymce.VK,a=tinymce.dom.TreeWalker,b;tinymce.create("tinymce.plugins.wpView",{init:function(f,e){var d=this;if(typeof wp==="undefined"||!wp.mce){return}f.onPreInit.add(function(g){g.schema.addValidElements("div[*],span[*]")});f.onBeforeSetContent.add(function(g,h){if(!h.content){return}h.content=wp.mce.view.toViews(h.content)});f.onSetContent.add(function(g,h){wp.mce.view.render(g.getDoc())});f.onInit.add(function(g){g.selection.onBeforeSetContent.add(function(i,l){var h=d.getParentView(i.getNode()),k,j;if(!h){return}if(!h.nextSibling||d.isView(h.nextSibling)){j=g.getDoc().createTextNode("");g.dom.insertAfter(j,h)}else{k=new a(h.nextSibling,h.nextSibling);j=k.next()}i.select(j);i.collapse(true)});g.selection.onSetContent.add(function(h,j){if(!j.context){return}var i=h.getNode();if(!i.innerHTML){return}i.innerHTML=wp.mce.view.toViews(i.innerHTML);wp.mce.view.render(i)})});f.onPostProcess.add(function(g,h){if((!h.get&&!h.save)||!h.content){return}h.content=wp.mce.view.toText(h.content)});f.onNodeChange.addToTop(function(i,g,j,l,k){var h=d.getParentView(j);if(h){d.select(h);return false}else{d.deselect()}});f.onKeyDown.addToTop(function(i,j){var k=j.keyCode,h,g;if(!b){return}h=d.getParentView(i.selection.getNode());if(h!==b){d.deselect();return}if(k===c.DELETE||k===c.BACKSPACE){if((g=wp.mce.view.instance(b))){g.remove();d.deselect()}}if(j.metaKey||j.ctrlKey||(k>=112&&k<=123)){return}j.preventDefault()})},getParentView:function(d){while(d){if(this.isView(d)){return d}d=d.parentNode}},isView:function(d){return(/(?:^|\s)wp-view-wrap(?:\s|$)/).test(d.className)},select:function(d){if(d===b){return}this.deselect();b=d;wp.mce.view.select(b)},deselect:function(){if(b){wp.mce.view.deselect(b)}b=null},getInfo:function(){return{longname:"WordPress Views",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"1.0"}}});tinymce.PluginManager.add("wpview",tinymce.plugins.wpView)})();
\ No newline at end of file
+!function(){var a,b=tinymce.VK,c=tinymce.dom.TreeWalker;tinymce.create("tinymce.plugins.wpView",{init:function(d){var e=this;"undefined"!=typeof wp&&wp.mce&&(d.onPreInit.add(function(a){a.schema.addValidElements("div[*],span[*]")}),d.onBeforeSetContent.add(function(a,b){b.content&&(b.content=wp.mce.view.toViews(b.content))}),d.onSetContent.add(function(a){wp.mce.view.render(a.getDoc())}),d.onInit.add(function(a){a.selection.onBeforeSetContent.add(function(b){var d,f,g=e.getParentView(b.getNode());g&&(!g.nextSibling||e.isView(g.nextSibling)?(f=a.getDoc().createTextNode(""),a.dom.insertAfter(f,g)):(d=new c(g.nextSibling,g.nextSibling),f=d.next()),b.select(f),b.collapse(!0))}),a.selection.onSetContent.add(function(a,b){if(b.context){var c=a.getNode();c.innerHTML&&(c.innerHTML=wp.mce.view.toViews(c.innerHTML),wp.mce.view.render(c))}})}),d.onPostProcess.add(function(a,b){(b.get||b.save)&&b.content&&(b.content=wp.mce.view.toText(b.content))}),d.onNodeChange.addToTop(function(a,b,c){var d=e.getParentView(c);return d?(e.select(d),!1):(e.deselect(),void 0)}),d.onKeyDown.addToTop(function(c,d){var f,g,h=d.keyCode;if(a){if(f=e.getParentView(c.selection.getNode()),f!==a)return e.deselect(),void 0;(h===b.DELETE||h===b.BACKSPACE)&&(g=wp.mce.view.instance(a))&&(g.remove(),e.deselect()),d.metaKey||d.ctrlKey||h>=112&&123>=h||d.preventDefault()}}))},getParentView:function(a){for(;a;){if(this.isView(a))return a;a=a.parentNode}},isView:function(a){return/(?:^|\s)wp-view-wrap(?:\s|$)/.test(a.className)},select:function(b){b!==a&&(this.deselect(),a=b,wp.mce.view.select(a))},deselect:function(){a&&wp.mce.view.deselect(a),a=null},getInfo:function(){return{longname:"WordPress Views",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"1.0"}}}),tinymce.PluginManager.add("wpview",tinymce.plugins.wpView)}();
\ No newline at end of file
index 7814fdff018a3cb1403a541b04b9b3b6c8cb2f4a..f87ac7770490868dcf1dbe264811b170c2357063 100644 (file)
@@ -1 +1 @@
-(function(e){var a=/^\s*|\s*$/g,b,d="B".replace(/A(.)|B/,"$1")==="$1";var c={majorVersion:"3",minorVersion:"5.8-wp2",releaseDate:"2013-02-11",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=e.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(e.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){r=f[m].href;if(r){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==b}if(f=="array"&&c.isArray(g)){return true}return typeof(g)==f},isArray:Array.isArray||function(f){return Object.prototype.toString.call(f)==="[object Array]"},makeMap:function(f,j,h){var g;f=f||[];j=j||",";if(typeof(f)=="string"){f=f.split(j)}h=h||{};g=f.length;while(g--){h[f[g]]={}}return h},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==b){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];c.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];c.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(n,k){var j,f,h,g=arguments,m;for(j=1,f=g.length;j<f;j++){k=g[j];for(h in k){if(k.hasOwnProperty(h)){m=k[h];if(m!==b){n[h]=m}}}}return n},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(o,f,j){var n=this,g,i,k,l,h,m=0;o=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);k=o[3].match(/(^|\.)(\w+)$/i)[2];i=n.createNS(o[3].replace(/\.\w+$/,""),j);if(i[k]){return}if(o[2]=="static"){i[k]=f;if(this.onCreate){this.onCreate(o[2],o[3],i[k])}return}if(!f[k]){f[k]=function(){};m=1}i[k]=f[k];n.extend(i[k].prototype,f);if(o[5]){g=n.resolve(o[5]).prototype;l=o[5].match(/\.(\w+)$/i)[1];h=i[k];if(m){i[k]=function(){return g[l].apply(this,arguments)}}else{i[k]=function(){this.parent=g[l];return h.apply(this,arguments)}}i[k].prototype[k]=i[k];n.each(g,function(p,q){i[k].prototype[q]=g[q]});n.each(f,function(p,q){if(g[q]){i[k].prototype[q]=function(){this.parent=g[q];return p.apply(this,arguments)}}else{if(q!=k){i[k].prototype[q]=p}}})}n.each(f["static"],function(p,q){i[k][q]=p});if(this.onCreate){this.onCreate(o[2],o[3],i[k].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}c.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}c.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||e;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||e;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this,g;g=function(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(e.detachEvent){e.detachEvent("onbeforeunload",k);e.detachEvent("onunload",g)}else{if(e.removeEventListener){e.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(e.CollectGarbage){CollectGarbage()}}};function k(){var l=document;function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l.readyState=="interactive"){if(l){l.attachEvent("onstop",f)}e.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}j={func:j,scope:i||this};if(!h.unloads){if(e.attachEvent){e.attachEvent("onunload",g);e.attachEvent("onbeforeunload",k)}else{if(e.addEventListener){e.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;c.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){if(!f||c.is(f,"array")){return f}return c.map(f.split(g||","),c.trim)},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(d){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===b){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};c._init();e.tinymce=e.tinyMCE=c})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,inDispatch:false,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(b,a){this.listeners.push({cb:b,scope:a||this.scope});return b},addToTop:function(d,b){var a=this,c={cb:d,scope:b||a.scope};if(a.inDispatch){a.listeners=[c].concat(a.listeners)}else{a.listeners.unshift(c)}return d},remove:function(c){var b=this.listeners,a=null;tinymce.each(b,function(e,d){if(c==e.cb){a=e;b.splice(d,1);return false}});return a},dispatch:function(){var a=this,e,b=arguments,c,d=a.listeners,f;a.inDispatch=true;for(c=0;c<d.length;c++){f=d[c];e=f.cb.apply(f.scope,b.length>0?b:[f.scope]);if(e===false){break}}a.inDispatch=false;return e}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w\-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});c=g.base_uri;if(c){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host==="mce_host"){f.port=c.port}if(!f.host||f.host==="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var d=this,f;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:d});if((b.host!="mce_host"&&d.host!=b.host&&b.host)||d.port!=b.port||d.protocol!=b.protocol){return b.getURI()}var c=d.getURI(),e=b.getURI();if(c==e||(c.charAt(c.length-1)=="/"&&c.substr(0,c.length-1)==e)){return c}f=d.toRelPath(d.path,b.path);if(b.query){f+="?"+b.query}if(b.anchor){f+="#"+b.anchor}return f},toAbsolute:function(b,c){b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f===1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length===0||f[c]==="."){continue}if(f[c]===".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!==0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(c,e,d){var b=new Date();b.setTime(b.getTime()-1000);this.set(c,"",b,e,d)}})})();(function(){function serialize(o,quote){var i,v,t,name;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&Object.prototype.toString.call(o)==="[object Array]"){for(i=0,v="[";i<o.length;i++){v+=(i>0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(name in o){if(o.hasOwnProperty(name)){v+=typeof o[name]!="function"?(v.length>1?","+quote:quote)+name+quote+":"+serialize(o[name],quote):""}}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(b){return b.shiftKey||b.ctrlKey||b.altKey},metaKeyPressed:function(b){return a.isMac?b.metaKey:b.ctrlKey&&!b.altKey}}})(tinymce);tinymce.util.Quirks=function(a){var j=tinymce.VK,f=j.BACKSPACE,k=j.DELETE,e=a.dom,l=a.selection,H=a.settings,v=a.parser,o=a.serializer,E=tinymce.each;function A(N,M){try{a.getDoc().execCommand(N,false,M)}catch(L){}}function n(){var L=a.getDoc().documentMode;return L?L:6}function z(L){return L.isDefaultPrevented()}function J(){function L(R){var N,P,M,S,O,Q,T;function U(){if(O.nodeType==3){if(R&&Q==O.length){return true}if(!R&&Q===0){return true}}}N=l.getRng();var V=[N.startContainer,N.startOffset,N.endContainer,N.endOffset];if(!N.collapsed){R=true}O=N[(R?"start":"end")+"Container"];Q=N[(R?"start":"end")+"Offset"];if(O.nodeType==3){P=e.getParent(N.startContainer,e.isBlock);if(R){P=e.getNext(P,e.isBlock)}if(P&&(U()||!N.collapsed)){M=e.create("em",{id:"__mceDel"});E(tinymce.grep(P.childNodes),function(W){M.appendChild(W)});P.appendChild(M)}}N=e.createRng();N.setStart(V[0],V[1]);N.setEnd(V[2],V[3]);l.setRng(N);a.getDoc().execCommand(R?"ForwardDelete":"Delete",false,null);if(M){S=l.getBookmark();while(T=e.get("__mceDel")){e.remove(T,true)}l.moveToBookmark(S)}}a.onKeyDown.add(function(M,O){var N;N=O.keyCode==k;if(!z(O)&&(N||O.keyCode==f)&&!j.modifierPressed(O)){O.preventDefault();L(N)}});a.addCommand("Delete",function(){L()})}function q(){function L(O){var N=e.create("body");var P=O.cloneContents();N.appendChild(P);return l.serializer.serialize(N,{format:"html"})}function M(N){var P=L(N);var Q=e.createRng();Q.selectNode(a.getBody());var O=L(Q);return P===O}a.onKeyDown.add(function(O,Q){var P=Q.keyCode,N;if(!z(Q)&&(P==k||P==f)){N=O.selection.isCollapsed();if(N&&!e.isEmpty(O.getBody())){return}if(tinymce.isIE&&!N){return}if(!N&&!M(O.selection.getRng())){return}O.setContent("");O.selection.setCursorLocation(O.getBody(),0);O.nodeChanged()}})}function I(){a.onKeyDown.add(function(L,M){if(!z(M)&&M.keyCode==65&&j.metaKeyPressed(M)){M.preventDefault();L.execCommand("SelectAll")}})}function K(){if(!a.settings.content_editable){e.bind(a.getDoc(),"focusin",function(L){l.setRng(l.getRng())});e.bind(a.getDoc(),"mousedown",function(L){if(L.target==a.getDoc().documentElement){a.getWin().focus();l.setRng(l.getRng())}})}}function B(){a.onKeyDown.add(function(L,O){if(!z(O)&&O.keyCode===f){if(l.isCollapsed()&&l.getRng(true).startOffset===0){var N=l.getNode();var M=N.previousSibling;if(M&&M.nodeName&&M.nodeName.toLowerCase()==="hr"){e.remove(M);tinymce.dom.Event.cancel(O)}}}})}function y(){if(!Range.prototype.getClientRects){a.onMouseDown.add(function(M,N){if(!z(N)&&N.target.nodeName==="HTML"){var L=M.getBody();L.blur();setTimeout(function(){L.focus()},0)}})}}function h(){a.onClick.add(function(L,M){M=M.target;if(/^(IMG|HR)$/.test(M.nodeName)){l.getSel().setBaseAndExtent(M,0,M,1)}if(M.nodeName=="A"&&e.hasClass(M,"mceItemAnchor")){l.select(M)}L.nodeChanged()})}function c(){function M(){var O=e.getAttribs(l.getStart().cloneNode(false));return function(){var P=l.getStart();if(P!==a.getBody()){e.setAttrib(P,"style",null);E(O,function(Q){P.setAttributeNode(Q.cloneNode(true))})}}}function L(){return !l.isCollapsed()&&e.getParent(l.getStart(),e.isBlock)!=e.getParent(l.getEnd(),e.isBlock)}function N(O,P){P.preventDefault();return false}a.onKeyPress.add(function(O,Q){var P;if(!z(Q)&&(Q.keyCode==8||Q.keyCode==46)&&L()){P=M();O.getDoc().execCommand("delete",false,null);P();Q.preventDefault();return false}});e.bind(a.getDoc(),"cut",function(P){var O;if(!z(P)&&L()){O=M();a.onKeyUp.addToTop(N);setTimeout(function(){O();a.onKeyUp.remove(N)},0)}})}function b(){var M,L;e.bind(a.getDoc(),"selectionchange",function(){if(L){clearTimeout(L);L=0}L=window.setTimeout(function(){var N=l.getRng();if(!M||!tinymce.dom.RangeUtils.compareRanges(N,M)){a.nodeChanged();M=N}},50)})}function x(){document.body.setAttribute("role","application")}function t(){a.onKeyDown.add(function(L,N){if(!z(N)&&N.keyCode===f){if(l.isCollapsed()&&l.getRng(true).startOffset===0){var M=l.getNode().previousSibling;if(M&&M.nodeName&&M.nodeName.toLowerCase()==="table"){return tinymce.dom.Event.cancel(N)}}}})}function C(){if(n()>7){return}A("RespectVisibilityInDesign",true);a.contentStyles.push(".mceHideBrInPre pre br {display: none}");e.addClass(a.getBody(),"mceHideBrInPre");v.addNodeFilter("pre",function(L,N){var O=L.length,Q,M,R,P;while(O--){Q=L[O].getAll("br");M=Q.length;while(M--){R=Q[M];P=R.prev;if(P&&P.type===3&&P.value.charAt(P.value-1)!="\n"){P.value+="\n"}else{R.parent.insert(new tinymce.html.Node("#text",3),R,true).value="\n"}}}});o.addNodeFilter("pre",function(L,N){var O=L.length,Q,M,R,P;while(O--){Q=L[O].getAll("br");M=Q.length;while(M--){R=Q[M];P=R.prev;if(P&&P.type==3){P.value=P.value.replace(/\r?\n$/,"")}}}})}function g(){e.bind(a.getBody(),"mouseup",function(N){var M,L=l.getNode();if(L.nodeName=="IMG"){if(M=e.getStyle(L,"width")){e.setAttrib(L,"width",M.replace(/[^0-9%]+/g,""));e.setStyle(L,"width","")}if(M=e.getStyle(L,"height")){e.setAttrib(L,"height",M.replace(/[^0-9%]+/g,""));e.setStyle(L,"height","")}}})}function d(){a.onKeyDown.add(function(R,S){var Q,L,M,O,P,T,N;Q=S.keyCode==k;if(!z(S)&&(Q||S.keyCode==f)&&!j.modifierPressed(S)){L=l.getRng();M=L.startContainer;O=L.startOffset;N=L.collapsed;if(M.nodeType==3&&M.nodeValue.length>0&&((O===0&&!N)||(N&&O===(Q?0:1)))){T=M.previousSibling;if(T&&T.nodeName=="IMG"){return}nonEmptyElements=R.schema.getNonEmptyElements();S.preventDefault();P=e.create("br",{id:"__tmp"});M.parentNode.insertBefore(P,M);R.getDoc().execCommand(Q?"ForwardDelete":"Delete",false,null);M=l.getRng().startContainer;T=M.previousSibling;if(T&&T.nodeType==1&&!e.isBlock(T)&&e.isEmpty(T)&&!nonEmptyElements[T.nodeName.toLowerCase()]){e.remove(T)}e.remove("__tmp")}}})}function G(){a.onKeyDown.add(function(P,Q){var N,M,R,L,O;if(z(Q)||Q.keyCode!=j.BACKSPACE){return}N=l.getRng();M=N.startContainer;R=N.startOffset;L=e.getRoot();O=M;if(!N.collapsed||R!==0){return}while(O&&O.parentNode&&O.parentNode.firstChild==O&&O.parentNode!=L){O=O.parentNode}if(O.tagName==="BLOCKQUOTE"){P.formatter.toggle("blockquote",null,O);N=e.createRng();N.setStart(M,0);N.setEnd(M,0);l.setRng(N)}})}function F(){function L(){a._refreshContentEditable();A("StyleWithCSS",false);A("enableInlineTableEditing",false);if(!H.object_resizing){A("enableObjectResizing",false)}}if(!H.readonly){a.onBeforeExecCommand.add(L);a.onMouseDown.add(L)}}function s(){function L(M,N){E(e.select("a"),function(Q){var O=Q.parentNode,P=e.getRoot();if(O.lastChild===Q){while(O&&!e.isBlock(O)){if(O.parentNode.lastChild!==O||O===P){return}O=O.parentNode}e.add(O,"br",{"data-mce-bogus":1})}})}a.onExecCommand.add(function(M,N){if(N==="CreateLink"){L(M)}});a.onSetContent.add(l.onSetContent.add(L))}function m(){if(H.forced_root_block){a.onInit.add(function(){A("DefaultParagraphSeparator",H.forced_root_block)})}}function p(){function L(N,M){if(!N||!M.initial){a.execCommand("mceRepaint")}}a.onUndo.add(L);a.onRedo.add(L);a.onSetContent.add(L)}function i(){a.onKeyDown.add(function(M,N){var L;if(!z(N)&&N.keyCode==f){L=M.getDoc().selection.createRange();if(L&&L.item){N.preventDefault();M.undoManager.beforeChange();e.remove(L.item(0));M.undoManager.add()}}})}function r(){var L;if(n()>=10){L="";E("p div h1 h2 h3 h4 h5 h6".split(" "),function(M,N){L+=(N>0?",":"")+M+":empty"});a.contentStyles.push(L+"{padding-right: 1px !important}")}}function u(){var N,M,ad,L,Y,ab,Z,ac,O,P,aa,W,V,X=document,T=a.getDoc();if(!H.object_resizing||H.webkit_fake_resize===false){return}A("enableObjectResizing",false);aa={n:[0.5,0,0,-1],e:[1,0.5,1,0],s:[0.5,1,0,1],w:[0,0.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};function R(ah){var ag,af;ag=ah.screenX-ab;af=ah.screenY-Z;W=ag*Y[2]+ac;V=af*Y[3]+O;W=W<5?5:W;V=V<5?5:V;if(j.modifierPressed(ah)||(ad.nodeName=="IMG"&&Y[2]*Y[3]!==0)){W=Math.round(V/P);V=Math.round(W*P)}e.setStyles(L,{width:W,height:V});if(Y[2]<0&&L.clientWidth<=W){e.setStyle(L,"left",N+(ac-W))}if(Y[3]<0&&L.clientHeight<=V){e.setStyle(L,"top",M+(O-V))}}function ae(){function af(ag,ah){if(ah){if(ad.style[ag]||!a.schema.isValid(ad.nodeName.toLowerCase(),ag)){e.setStyle(ad,ag,ah)}else{e.setAttrib(ad,ag,ah)}}}af("width",W);af("height",V);e.unbind(T,"mousemove",R);e.unbind(T,"mouseup",ae);if(X!=T){e.unbind(X,"mousemove",R);e.unbind(X,"mouseup",ae)}e.remove(L);Q(ad)}function Q(ai){var ag,ah,af;S();ag=e.getPos(ai);N=ag.x;M=ag.y;ah=ai.offsetWidth;af=ai.offsetHeight;if(ad!=ai){ad=ai;W=V=0}E(aa,function(al,aj){var ak;ak=e.get("mceResizeHandle"+aj);if(!ak){ak=e.add(T.documentElement,"div",{id:"mceResizeHandle"+aj,"class":"mceResizeHandle",style:"cursor:"+aj+"-resize; margin:0; padding:0"});e.bind(ak,"mousedown",function(am){am.preventDefault();ae();ab=am.screenX;Z=am.screenY;ac=ad.clientWidth;O=ad.clientHeight;P=O/ac;Y=al;L=ad.cloneNode(true);e.addClass(L,"mceClonedResizable");e.setStyles(L,{left:N,top:M,margin:0});T.documentElement.appendChild(L);e.bind(T,"mousemove",R);e.bind(T,"mouseup",ae);if(X!=T){e.bind(X,"mousemove",R);e.bind(X,"mouseup",ae)}})}else{e.show(ak)}e.setStyles(ak,{left:(ah*al[0]+N)-(ak.offsetWidth/2),top:(af*al[1]+M)-(ak.offsetHeight/2)})});if(!tinymce.isOpera&&ad.nodeName=="IMG"){ad.setAttribute("data-mce-selected","1")}}function S(){if(ad){ad.removeAttribute("data-mce-selected")}for(var af in aa){e.hide("mceResizeHandle"+af)}}a.contentStyles.push(".mceResizeHandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}.mceResizeHandle:hover {background: #000}img[data-mce-selected] {outline: 1px solid black}img.mceClonedResizable, table.mceClonedResizable {position: absolute;outline: 1px dashed black;opacity: .5;z-index: 10000}");function U(){var af=e.getParent(l.getNode(),"table,img");E(e.select("img[data-mce-selected]"),function(ag){ag.removeAttribute("data-mce-selected")});if(af){Q(af)}else{S()}}a.onNodeChange.add(U);e.bind(T,"selectionchange",U);a.serializer.addAttributeFilter("data-mce-selected",function(af,ag){var ah=af.length;while(ah--){af[ah].attr(ag,null)}})}function D(){if(n()<9){v.addNodeFilter("noscript",function(L){var M=L.length,N,O;while(M--){N=L[M];O=N.firstChild;if(O){N.attr("data-mce-innertext",O.value)}}});o.addNodeFilter("noscript",function(L){var M=L.length,N,P,O;while(M--){N=L[M];P=L[M].firstChild;if(P){P.value=tinymce.html.Entities.decode(P.value)}else{O=N.attributes.map["data-mce-innertext"];if(O){N.attr("data-mce-innertext",null);P=new tinymce.html.Node("#text",3);P.value=O;P.raw=true;N.append(P)}}}})}}t();G();q();if(tinymce.isWebKit){d();J();K();h();m();if(tinymce.isIDevice){b()}else{u();I()}}if(tinymce.isIE){B();x();C();g();i();r();D()}if(tinymce.isGecko){B();y();c();F();s();p()}if(tinymce.isOpera){u()}};(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={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"};g={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;"};d={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n<m.length;n+=2){o=String.fromCharCode(parseInt(m[n],p));if(!g[o]){l="&"+m[n+1]+";";q[o]=l;q[l]=o}}return q}}a=e("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);j.html=j.html||{};j.html.Entities={encodeRaw:function(m,l){return m.replace(l?k:b,function(n){return g[n]||n})},encodeAllRaw:function(l){return(""+l).replace(f,function(m){return g[m]||m})},encodeNumeric:function(m,l){return m.replace(l?k:b,function(n){if(n.length>1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g<j.length;g++){a[j[g]]="\uFEFF"+g;a["\uFEFF"+g]=j[g]}function c(n,q,p,i){function o(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(s){var z={},q,n,x,r,v=d.url_converter,y=d.url_converter_scope||this;function p(D,G){var F,C,B,E;F=z[D+"-top"+G];if(!F){return}C=z[D+"-right"+G];if(F!=C){return}B=z[D+"-bottom"+G];if(C!=B){return}E=z[D+"-left"+G];if(B!=E){return}z[D+G]=E;delete z[D+"-top"+G];delete z[D+"-right"+G];delete z[D+"-bottom"+G];delete z[D+"-left"+G]}function u(C){var D=z[C],B;if(!D||D.indexOf(" ")<0){return}D=D.split(" ");B=D.length;while(B--){if(D[B]!==D[0]){return false}}z[C]=D[0];return true}function A(D,C,B,E){if(!u(C)){return}if(!u(B)){return}if(!u(E)){return}z[D]=z[C]+" "+z[B]+" "+z[E];delete z[C];delete z[B];delete z[E]}function t(B){r=true;return a[B]}function i(C,B){if(r){C=C.replace(/\uFEFF[0-9]/g,function(D){return a[D]})}if(!B){C=C.replace(/\\([\'\";:])/g,"$1")}return C}function o(C,B,F,E,G,D){G=G||D;if(G){G=i(G);return"'"+G.replace(/\'/g,"\\'")+"'"}B=i(B||F||E);if(v){B=v.call(y,B,"style")}return"url('"+B.replace(/\'/g,"\\'")+"')"}if(s){s=s.replace(/\\[\"\';:\uFEFF]/g,t).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(B){return B.replace(/[;:]/g,t)});while(q=b.exec(s)){n=q[1].replace(l,"").toLowerCase();x=q[2].replace(l,"");if(n&&x.length>0){if(n==="font-weight"&&x==="700"){x="bold"}else{if(n==="color"||n==="background-color"){x=x.toLowerCase()}}x=x.replace(k,c);x=x.replace(h,o);z[n]=r?i(x,true):x}b.lastIndex=q.index+q[0].length}p("border","");p("border","-width");p("border","-color");p("border","-style");p("padding","");p("margin","");A("border","border-width","border-style","border-color");if(z.border==="medium none"){delete z.border}}return z},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u<s;u++){t=x[u];v=p[t];if(v!==e&&v.length>0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(f){var a={},e=f.makeMap,g=f.each;function d(j,i){return j.split(i||",")}function h(m,l){var j,k={};function i(n){return n.replace(/[A-Z]+/g,function(o){return i(m[o])})}for(j in m){if(m.hasOwnProperty(j)){m[j]=i(m[j])}}i(l).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(q,o,n,p){n=d(n,"|");k[o]={attributes:e(n),attributesOrder:n,children:e(p,"|",{"#comment":{}})}});return k}function b(){var i=a.html5;if(!i){i=a.html5=h({A:"id|accesskey|class|dir|draggable|item|hidden|itemprop|role|spellcheck|style|subject|title|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"#|a|abbr|area|audio|b|bdo|br|button|canvas|cite|code|command|datalist|del|dfn|em|embed|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|meta|meter|noscript|object|output|progress|q|ruby|samp|script|select|small|span|strong|sub|sup|svg|textarea|time|var|video|wbr",C:"#|a|abbr|area|address|article|aside|audio|b|bdo|blockquote|br|button|canvas|cite|code|command|datalist|del|details|dfn|dialog|div|dl|em|embed|fieldset|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|menu|meta|meter|nav|noscript|ol|object|output|p|pre|progress|q|ruby|samp|script|section|select|small|span|strong|style|sub|sup|svg|table|textarea|time|ul|var|video"},"html[A|manifest][body|head]head[A][base|command|link|meta|noscript|script|style|title]title[A][#]base[A|href|target][]link[A|href|rel|media|type|sizes][]meta[A|http-equiv|name|content|charset][]style[A|type|media|scoped][#]script[A|charset|type|src|defer|async][#]noscript[A][C]body[A][C]section[A][C]nav[A][C]article[A][C]aside[A][C]h1[A][B]h2[A][B]h3[A][B]h4[A][B]h5[A][B]h6[A][B]hgroup[A][h1|h2|h3|h4|h5|h6]header[A][C]footer[A][C]address[A][C]p[A][B]br[A][]pre[A][B]dialog[A][dd|dt]blockquote[A|cite][C]ol[A|start|reversed][li]ul[A][li]li[A|value][C]dl[A][dd|dt]dt[A][B]dd[A][C]a[A|href|target|ping|rel|media|type][B]em[A][B]strong[A][B]small[A][B]cite[A][B]q[A|cite][B]dfn[A][B]abbr[A][B]code[A][B]var[A][B]samp[A][B]kbd[A][B]sub[A][B]sup[A][B]i[A][B]b[A][B]mark[A][B]progress[A|value|max][B]meter[A|value|min|max|low|high|optimum][B]time[A|datetime][B]ruby[A][B|rt|rp]rt[A][B]rp[A][B]bdo[A][B]span[A][B]ins[A|cite|datetime][B]del[A|cite|datetime][B]figure[A][C|legend|figcaption]figcaption[A][C]img[A|alt|src|height|width|usemap|ismap][]iframe[A|name|src|height|width|sandbox|seamless][]embed[A|src|height|width|type][]object[A|data|type|height|width|usemap|name|form|classid][param]param[A|name|value][]details[A|open][C|legend]command[A|type|label|icon|disabled|checked|radiogroup][]menu[A|type|label][C|li]legend[A][C|B]div[A][C]source[A|src|type|media][]audio[A|src|autobuffer|autoplay|loop|controls][source]video[A|src|autobuffer|autoplay|loop|controls|width|height|poster][source]hr[A][]form[A|accept-charset|action|autocomplete|enctype|method|name|novalidate|target][C]fieldset[A|disabled|form|name][C|legend]label[A|form|for][B]input[A|type|accept|alt|autocomplete|autofocus|checked|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|height|list|max|maxlength|min|multiple|pattern|placeholder|readonly|required|size|src|step|width|files|value|name][]button[A|autofocus|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|name|value|type][B]select[A|autofocus|disabled|form|multiple|name|size][option|optgroup]datalist[A][B|option]optgroup[A|disabled|label][option]option[A|disabled|selected|label|value][]textarea[A|autofocus|disabled|form|maxlength|name|placeholder|readonly|required|rows|cols|wrap][]keygen[A|autofocus|challenge|disabled|form|keytype|name][]output[A|for|form|name][B]canvas[A|width|height][]map[A|name][B|C]area[A|shape|coords|href|alt|target|media|rel|ping|type][]mathml[A][]svg[A][]table[A|border][caption|colgroup|thead|tfoot|tbody|tr]caption[A][C]colgroup[A|span][col]col[A|span][]thead[A][tr]tfoot[A][tr]tbody[A][tr]tr[A][th|td]th[A|headers|rowspan|colspan|scope][B]td[A|headers|rowspan|colspan][C]wbr[A][]")}return i}function c(){var i=a.html4;if(!i){i=a.html4=h({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]")}return i}f.html.Schema=function(A){var u=this,s={},k={},j=[],D,y;var o,q,z,r,v,n,p={};function m(F,E,H){var G=A[F];if(!G){G=a[F];if(!G){G=e(E," ",e(E.toUpperCase()," "));G=f.extend(G,H);a[F]=G}}else{G=e(G,",",e(G.toUpperCase()," "))}return G}A=A||{};y=A.schema=="html5"?b():c();if(A.verify_html===false){A.valid_elements="*[*]"}if(A.valid_styles){D={};g(A.valid_styles,function(F,E){D[E]=f.explode(F)})}o=m("whitespace_elements","pre script noscript style textarea");q=m("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr");z=m("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr");r=m("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls");n=m("non_empty_elements","td th iframe video audio object",z);textBlockElementsMap=m("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");v=m("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex samp option datalist select optgroup",textBlockElementsMap);function i(E){return new RegExp("^"+E.replace(/([?+*])/g,".$1")+"$")}function C(L){var K,G,Z,V,aa,F,I,U,X,Q,Y,ac,O,J,W,E,S,H,ab,ad,P,T,N=/^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,R=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,M=/[*?+]/;if(L){L=d(L);if(s["@"]){S=s["@"].attributes;H=s["@"].attributesOrder}for(K=0,G=L.length;K<G;K++){F=N.exec(L[K]);if(F){W=F[1];Q=F[2];E=F[3];X=F[4];O={};J=[];I={attributes:O,attributesOrder:J};if(W==="#"){I.paddEmpty=true}if(W==="-"){I.removeEmpty=true}if(S){for(ad in S){O[ad]=S[ad]}J.push.apply(J,H)}if(X){X=d(X,"|");for(Z=0,V=X.length;Z<V;Z++){F=R.exec(X[Z]);if(F){U={};ac=F[1];Y=F[2].replace(/::/g,":");W=F[3];T=F[4];if(ac==="!"){I.attributesRequired=I.attributesRequired||[];I.attributesRequired.push(Y);U.required=true}if(ac==="-"){delete O[Y];J.splice(f.inArray(J,Y),1);continue}if(W){if(W==="="){I.attributesDefault=I.attributesDefault||[];I.attributesDefault.push({name:Y,value:T});U.defaultValue=T}if(W===":"){I.attributesForced=I.attributesForced||[];I.attributesForced.push({name:Y,value:T});U.forcedValue=T}if(W==="<"){U.validValues=e(T,"?")}}if(M.test(Y)){I.attributePatterns=I.attributePatterns||[];U.pattern=i(Y);I.attributePatterns.push(U)}else{if(!O[Y]){J.push(Y)}O[Y]=U}}}}if(!S&&Q=="@"){S=O;H=J}if(E){I.outputName=Q;s[E]=I}if(M.test(Q)){I.pattern=i(Q);j.push(I)}else{s[Q]=I}}}}}function t(E){s={};j=[];C(E);g(y,function(G,F){k[F]=G.children})}function l(F){var E=/^(~)?(.+)$/;if(F){g(d(F),function(J){var H=E.exec(J),I=H[1]==="~",K=I?"span":"div",G=H[2];k[G]=k[K];p[G]=K;if(!I){v[G.toUpperCase()]={};v[G]={}}if(!s[G]){s[G]=s[K]}g(k,function(L,M){if(L[K]){L[G]=L[K]}})})}}function x(F){var E=/^([+\-]?)(\w+)\[([^\]]+)\]$/;if(F){g(d(F),function(J){var I=E.exec(J),G,H;if(I){H=I[1];if(H){G=k[I[2]]}else{G=k[I[2]]={"#comment":{}}}G=k[I[2]];g(d(I[3],"|"),function(K){if(H==="-"){delete G[K]}else{G[K]={}}})}})}}function B(E){var G=s[E],F;if(G){return G}F=j.length;while(F--){G=j[F];if(G.pattern.test(E)){return G}}}if(!A.valid_elements){g(y,function(F,E){s[E]={attributes:F.attributes,attributesOrder:F.attributesOrder};k[E]=F.children});if(A.schema!="html5"){g(d("strong/b,em/i"),function(E){E=d(E,"/");s[E[1]].outputName=E[0]})}s.img.attributesDefault=[{name:"alt",value:""}];g(d("ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr,strong,em,b,i"),function(E){if(s[E]){s[E].removeEmpty=true}});g(d("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"),function(E){s[E].paddEmpty=true})}else{t(A.valid_elements)}l(A.custom_elements);x(A.valid_children);C(A.extended_valid_elements);x("+ol[ul|ol],+ul[ul|ol]");if(A.invalid_elements){f.each(f.explode(A.invalid_elements),function(E){if(s[E]){delete s[E]}})}if(!B("span")){C("span[!data-mce-type|*]")}u.children=k;u.styles=D;u.getBoolAttrs=function(){return r};u.getBlockElements=function(){return v};u.getTextBlockElements=function(){return textBlockElementsMap};u.getShortEndedElements=function(){return z};u.getSelfClosingElements=function(){return q};u.getNonEmptyElements=function(){return n};u.getWhiteSpaceElements=function(){return o};u.isValidChild=function(E,G){var F=k[E];return !!(F&&F[G])};u.isValid=function(F,E){var H,G,I=B(F);if(I){if(E){if(I.attributes[E]){return true}H=I.attributePatterns;if(H){G=H.length;while(G--){if(H[G].pattern.test(F)){return true}}}}else{return true}}return false};u.getElementRule=B;u.getCustomElements=function(){return p};u.addValidElements=C;u.setValidElements=t;u.addCustomElements=l;u.addValidChildren=x;u.elements=s}})(tinymce);(function(a){a.html.SaxParser=function(c,e){var b=this,d=function(){};c=c||{};b.schema=e=e||new a.html.Schema();if(c.fix_self_closing!==false){c.fix_self_closing=true}a.each("comment cdata text start end pi doctype".split(" "),function(f){if(f){b[f]=c[f]||d}});b.parse=function(E){var n=this,g,G=0,I,B,A=[],N,Q,C,r,z,s,M,H,O,v,m,k,t,R,o,P,F,S,L,f,J,l,D,K,h,x=0,j=a.html.Entities.decode,y,q;function u(T){var V,U;V=A.length;while(V--){if(A[V].name===T){break}}if(V>=0){for(U=A.length-1;U>=V;U--){T=A[U];if(T.valid){n.end(T.name)}}A.length=V}}function p(U,T,Y,X,W){var Z,V;T=T.toLowerCase();Y=T in H?T:j(Y||X||W||"");if(v&&!z&&T.indexOf("data-")!==0){Z=P[T];if(!Z&&F){V=F.length;while(V--){Z=F[V];if(Z.pattern.test(T)){break}}if(V===-1){Z=null}}if(!Z){return}if(Z.validValues&&!(Y in Z.validValues)){return}}N.map[T]=Y;N.push({name:T,value:Y})}l=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g");D=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g;K={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};M=e.getShortEndedElements();J=c.self_closing_elements||e.getSelfClosingElements();H=e.getBoolAttrs();v=c.validate;s=c.remove_internals;y=c.fix_self_closing;q=a.isIE;o=/^:/;while(g=l.exec(E)){if(G<g.index){n.text(j(E.substr(G,g.index-G)))}if(I=g[6]){I=I.toLowerCase();if(q&&o.test(I)){I=I.substr(1)}u(I)}else{if(I=g[7]){I=I.toLowerCase();if(q&&o.test(I)){I=I.substr(1)}O=I in M;if(y&&J[I]&&A.length>0&&A[A.length-1].name===I){u(I)}if(!v||(m=e.getElementRule(I))){k=true;if(v){P=m.attributes;F=m.attributePatterns}if(R=g[8]){z=R.indexOf("data-mce-type")!==-1;if(z&&s){k=false}N=[];N.map={};R.replace(D,p)}else{N=[];N.map={}}if(v&&!z){S=m.attributesRequired;L=m.attributesDefault;f=m.attributesForced;if(f){Q=f.length;while(Q--){t=f[Q];r=t.name;h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}if(L){Q=L.length;while(Q--){t=L[Q];r=t.name;if(!(r in N.map)){h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}}if(S){Q=S.length;while(Q--){if(S[Q] in N.map){break}}if(Q===-1){k=false}}if(N.map["data-mce-bogus"]){k=false}}if(k){n.start(I,N,O)}}else{k=false}if(B=K[I]){B.lastIndex=G=g.index+g[0].length;if(g=B.exec(E)){if(k){C=E.substr(G,g.index-G)}G=g.index+g[0].length}else{C=E.substr(G);G=E.length}if(k&&C.length>0){n.text(C,true)}if(k){n.end(I)}l.lastIndex=G;continue}if(!O){if(!R||R.indexOf("/")!=R.length-1){A.push({name:I,valid:k})}else{if(k){n.end(I)}}}}else{if(I=g[1]){n.comment(I)}else{if(I=g[2]){n.cdata(I)}else{if(I=g[3]){n.doctype(I)}else{if(I=g[4]){n.pi(I,g[5])}}}}}}G=g.index+g[0].length}if(G<E.length){n.text(j(E.substr(G)))}for(Q=A.length-1;Q>=0;Q--){I=A[Q];if(I.valid){n.end(I.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h<f;h++){j=m[h];if(j.name!=="id"){k[k.length]={name:j.name,value:j.value};k.map[j.name]=j.value}}n.attributes=k}n.value=g.value;n.shortEnded=g.shortEnded;return n},wrap:function(g){var f=this;f.parent.insert(g,f);g.append(f);return f},unwrap:function(){var f=this,h,g;for(h=f.firstChild;h;){g=h.next;f.insert(h,f,true);h=g}f.remove()},remove:function(){var f=this,h=f.parent,g=f.next,i=f.prev;if(h){if(h.firstChild===f){h.firstChild=g;if(g){g.prev=null}}else{i.next=g}if(h.lastChild===f){h.lastChild=i;if(i){i.next=null}}else{g.prev=i}f.parent=f.next=f.prev=null}return f},append:function(h){var f=this,g;if(h.parent){h.remove()}g=f.lastChild;if(g){g.next=h;h.prev=g;f.lastChild=h}else{f.lastChild=f.firstChild=h}h.parent=f;return h},insert:function(h,f,i){var g;if(h.parent){h.remove()}g=f.parent||this;if(i){if(f===g.firstChild){g.firstChild=h}else{f.prev.next=h}h.prev=f.prev;h.next=f;f.prev=h}else{if(f===g.lastChild){g.lastChild=h}else{f.next.prev=h}h.next=f.next;h.prev=f;f.next=h}h.parent=g;return h},getAll:function(g){var f=this,h,i=[];for(h=f.firstChild;h;h=a(h,f)){if(h.name===g){i.push(h)}}return i},empty:function(){var g=this,f,h,j;if(g.firstChild){f=[];for(j=g.firstChild;j;j=a(j,g)){f.push(j)}h=f.length;while(h--){j=f[h];j.parent=j.firstChild=j.lastChild=j.next=j.prev=null}}g.firstChild=g.lastChild=null;return g},isEmpty:function(k){var f=this,j=f.firstChild,h,g;if(j){do{if(j.type===1){if(j.attributes.map["data-mce-bogus"]){continue}if(k[j.name]){return false}h=j.attributes.length;while(h--){g=j.attributes[h].name;if(g==="name"||g.indexOf("data-mce-")===0){return false}}}if(j.type===8){return false}if((j.type===3&&!c.test(j.value))){return false}}while(j=a(j,f))}return true},walk:function(f){return a(this,null,f)}});d.extend(b,{create:function(g,f){var i,h;i=new b(g,e[g]||1);if(f){for(h in f){i.attr(h,f[h])}}return i}});d.html.Node=b})(tinymce);(function(b){var a=b.html.Node;b.html.DomParser=function(g,h){var f=this,e={},d=[],i={},c={};g=g||{};g.validate="validate" in g?g.validate:true;g.root_name=g.root_name||"body";f.schema=h=h||new b.html.Schema();function j(n){var p,q,y,x,A,o,r,l,u,v,k,t,m,z,s;t=b.makeMap("tr,td,th,tbody,thead,tfoot,table");k=h.getNonEmptyElements();m=h.getTextBlockElements();for(p=0;p<n.length;p++){q=n[p];if(!q.parent||q.fixed){continue}if(m[q.name]&&q.parent.name=="li"){z=q.next;while(z){if(m[z.name]){z.name="li";z.fixed=true;q.parent.insert(z,q.parent)}else{break}z=z.next}q.unwrap(q);continue}x=[q];for(y=q.parent;y&&!h.isValidChild(y.name,q.name)&&!t[y.name];y=y.parent){x.push(y)}if(y&&x.length>1){x.reverse();A=o=f.filterNode(x[0].clone());for(u=0;u<x.length-1;u++){if(h.isValidChild(o.name,x[u].name)){r=f.filterNode(x[u].clone());o.append(r)}else{r=o}for(l=x[u].firstChild;l&&l!=x[u+1];){s=l.next;r.append(l);l=s}o=r}if(!A.isEmpty(k)){y.insert(A,x[0],true);y.insert(q,A)}else{y.insert(q,x[0],true)}y=x[0];if(y.isEmpty(k)||y.firstChild===y.lastChild&&y.firstChild.name==="br"){y.empty().remove()}}else{if(q.parent){if(q.name==="li"){z=q.prev;if(z&&(z.name==="ul"||z.name==="ul")){z.append(q);continue}z=q.next;if(z&&(z.name==="ul"||z.name==="ul")){z.insert(q,z.firstChild,true);continue}q.wrap(f.filterNode(new a("ul",1)));continue}if(h.isValidChild(q.parent.name,"div")&&h.isValidChild("div",q.name)){q.wrap(f.filterNode(new a("div",1)))}else{if(q.name==="style"||q.name==="script"){q.empty().remove()}else{q.unwrap()}}}}}}f.filterNode=function(m){var l,k,n;if(k in e){n=i[k];if(n){n.push(m)}else{i[k]=[m]}}l=d.length;while(l--){k=d[l].name;if(k in m.attributes.map){n=c[k];if(n){n.push(m)}else{c[k]=[m]}}}return m};f.addNodeFilter=function(k,l){b.each(b.explode(k),function(m){var n=e[m];if(!n){e[m]=n=[]}n.push(l)})};f.addAttributeFilter=function(k,l){b.each(b.explode(k),function(m){var n;for(n=0;n<d.length;n++){if(d[n].name===m){d[n].callbacks.push(l);return}}d.push({name:m,callbacks:[l]})})};f.parse=function(v,m){var n,J,B,A,D,C,x,r,F,N,z,o,E,M=[],L,t,k,y,s,p,u,q;m=m||{};i={};c={};o=b.extend(b.makeMap("script,style,head,html,body,title,meta,param"),h.getBlockElements());u=h.getNonEmptyElements();p=h.children;z=g.validate;q="forced_root_block" in m?m.forced_root_block:g.forced_root_block;s=h.getWhiteSpaceElements();E=/^[ \t\r\n]+/;t=/[ \t\r\n]+$/;k=/[ \t\r\n]+/g;y=/^[ \t\r\n]+$/;function G(){var O=J.firstChild,l,P;while(O){l=O.next;if(O.type==3||(O.type==1&&O.name!=="p"&&!o[O.name]&&!O.attr("data-mce-type"))){if(!P){P=K(q,1);J.insert(P,O);P.append(O)}else{P.append(O)}}else{P=null}O=l}}function K(l,O){var P=new a(l,O),Q;if(l in e){Q=i[l];if(Q){Q.push(P)}else{i[l]=[P]}}return P}function I(P){var Q,l,O;for(Q=P.prev;Q&&Q.type===3;){l=Q.value.replace(t,"");if(l.length>0){Q.value=l;Q=Q.prev}else{O=Q.prev;Q.remove();Q=O}}}function H(O){var P,l={};for(P in O){if(P!=="li"&&P!="p"){l[P]=O[P]}}return l}n=new b.html.SaxParser({validate:z,self_closing_elements:H(h.getSelfClosingElements()),cdata:function(l){B.append(K("#cdata",4)).value=l},text:function(P,l){var O;if(!L){P=P.replace(k," ");if(B.lastChild&&o[B.lastChild.name]){P=P.replace(E,"")}}if(P.length!==0){O=K("#text",3);O.raw=!!l;B.append(O).value=P}},comment:function(l){B.append(K("#comment",8)).value=l},pi:function(l,O){B.append(K(l,7)).value=O;I(B)},doctype:function(O){var l;l=B.append(K("#doctype",10));l.value=O;I(B)},start:function(l,W,P){var U,R,Q,O,S,X,V,T;Q=z?h.getElementRule(l):{};if(Q){U=K(Q.outputName||l,1);U.attributes=W;U.shortEnded=P;B.append(U);T=p[B.name];if(T&&p[U.name]&&!T[U.name]){M.push(U)}R=d.length;while(R--){S=d[R].name;if(S in W.map){F=c[S];if(F){F.push(U)}else{c[S]=[U]}}}if(o[l]){I(U)}if(!P){B=U}if(!L&&s[l]){L=true}}},end:function(l){var S,P,R,O,Q;P=z?h.getElementRule(l):{};if(P){if(o[l]){if(!L){S=B.firstChild;if(S&&S.type===3){R=S.value.replace(E,"");if(R.length>0){S.value=R;S=S.next}else{O=S.next;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.next;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}S=B.lastChild;if(S&&S.type===3){R=S.value.replace(t,"");if(R.length>0){S.value=R;S=S.prev}else{O=S.prev;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.prev;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}}}if(L&&s[l]){L=false}if(P.removeEmpty||P.paddEmpty){if(B.isEmpty(u)){if(P.paddEmpty){B.empty().append(new a("#text","3")).value="\u00a0"}else{if(!B.attributes.map.name&&!B.attributes.map.id){Q=B.parent;B.empty().remove();B=Q;return}}}}B=B.parent}}},h);J=B=new a(m.context||g.root_name,11);n.parse(v);if(z&&M.length){if(!m.context){j(M)}else{m.invalid=true}}if(q&&J.name=="body"){G()}if(!m.invalid){for(N in i){F=e[N];A=i[N];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(D=0,C=F.length;D<C;D++){F[D](A,N,m)}}for(D=0,C=d.length;D<C;D++){F=d[D];if(F.name in c){A=c[F.name];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(x=0,r=F.callbacks.length;x<r;x++){F.callbacks[x](A,F.name,m)}}}}return J};if(g.remove_trailing_brs){f.addNodeFilter("br",function(n,m){var r,q=n.length,o,v=b.extend({},h.getBlockElements()),k=h.getNonEmptyElements(),t,s,p,u;v.body=1;for(r=0;r<q;r++){o=n[r];t=o.parent;if(v[o.parent.name]&&o===t.lastChild){p=o.prev;while(p){u=p.name;if(u!=="span"||p.attr("data-mce-type")!=="bookmark"){if(u!=="br"){break}if(u==="br"){o=null;break}}p=p.prev}if(o){o.remove();if(t.isEmpty(k)){elementRule=h.getElementRule(t.name);if(elementRule){if(elementRule.removeEmpty){t.remove()}else{if(elementRule.paddEmpty){t.empty().append(new b.html.Node("#text",3)).value="\u00a0"}}}}}}else{s=o;while(t.firstChild===s&&t.lastChild===s){s=t;if(v[t.name]){break}t=t.parent}if(s===t){textNode=new b.html.Node("#text",3);textNode.value="\u00a0";o.replace(textNode)}}}})}if(!g.allow_html_in_named_anchor){f.addAttributeFilter("id,name",function(k,l){var n=k.length,p,m,o,q;while(n--){q=k[n];if(q.name==="a"&&q.firstChild&&!q.attr("href")){o=q.parent;p=q.lastChild;do{m=p.prev;o.insert(p,q);p=m}while(p)}}})}}})(tinymce);tinymce.html.Writer=function(e){var c=[],a,b,d,f,g;e=e||{};a=e.indent;b=tinymce.makeMap(e.indent_before||"");d=tinymce.makeMap(e.indent_after||"");f=tinymce.html.Entities.getEncodeFunc(e.entity_encoding||"raw",e.entities);g=e.element_format=="html";return{start:function(m,k,p){var n,j,h,o;if(a&&b[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n<j;n++){h=k[n];c.push(" ",h.name,'="',f(h.value,true),'"')}}if(!p||g){c[c.length]=">"}else{c[c.length]=" />"}if(p&&a&&d[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("</",h,">");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("<![CDATA[",h,"]]>")},comment:function(h){c.push("<!--",h,"-->")},pi:function(h,i){if(i){c.push("<?",h," ",i,"?>")}else{c.push("<?",h,"?>")}if(a){c.push("\n")}},doctype:function(h){c.push("<!DOCTYPE",h,">",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n<m;n++){r=q.attributesOrder[n];if(r in s.map){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}for(n=0,m=s.length;n<m;n++){r=s[n].name;if(!(r in u.map)){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}s=u}e.start(k.name,s,o);if(!o){if((k=k.firstChild)){do{f(k)}while(k=k.next)}e.end(j)}}else{t(k)}}if(h.type==1&&!c.inner){f(h)}else{g[11](h)}return e.getContent()}}})(tinymce);tinymce.dom={};(function(b,h){var g=!!document.addEventListener;function c(k,j,l,i){if(k.addEventListener){k.addEventListener(j,l,i||false)}else{if(k.attachEvent){k.attachEvent("on"+j,l)}}}function e(k,j,l,i){if(k.removeEventListener){k.removeEventListener(j,l,i||false)}else{if(k.detachEvent){k.detachEvent("on"+j,l)}}}function a(n,l){var i,k=l||{};function j(){return false}function m(){return true}for(i in n){if(i!=="layerX"&&i!=="layerY"){k[i]=n[i]}}if(!k.target){k.target=k.srcElement||document}k.preventDefault=function(){k.isDefaultPrevented=m;if(n){if(n.preventDefault){n.preventDefault()}else{n.returnValue=false}}};k.stopPropagation=function(){k.isPropagationStopped=m;if(n){if(n.stopPropagation){n.stopPropagation()}else{n.cancelBubble=true}}};k.stopImmediatePropagation=function(){k.isImmediatePropagationStopped=m;k.stopPropagation()};if(!k.isDefaultPrevented){k.isDefaultPrevented=j;k.isPropagationStopped=j;k.isImmediatePropagationStopped=j}return k}function d(m,n,l){var k=m.document,j={type:"ready"};function i(){if(!l.domLoaded){l.domLoaded=true;n(j)}}if(k.readyState=="complete"){i();return}if(g){c(m,"DOMContentLoaded",i)}else{c(k,"readystatechange",function(){if(k.readyState==="complete"){e(k,"readystatechange",arguments.callee);i()}});if(k.documentElement.doScroll&&m===m.top){(function(){try{k.documentElement.doScroll("left")}catch(o){setTimeout(arguments.callee,0);return}i()})()}}c(m,"load",i)}function f(k){var q=this,p={},i,o,n,m,l;m="onmouseenter" in document.documentElement;n="onfocusin" in document.documentElement;l={mouseenter:"mouseover",mouseleave:"mouseout"};i=1;q.domLoaded=false;q.events=p;function j(t,x){var s,u,r,v;s=p[x][t.type];if(s){for(u=0,r=s.length;u<r;u++){v=s[u];if(v&&v.func.call(v.scope,t)===false){t.preventDefault()}if(t.isImmediatePropagationStopped()){return}}}}q.bind=function(x,A,D,E){var s,t,u,r,B,z,C,v=window;function y(F){j(a(F||v.event),s)}if(!x||x.nodeType===3||x.nodeType===8){return}if(!x[h]){s=i++;x[h]=s;p[s]={}}else{s=x[h];if(!p[s]){p[s]={}}}E=E||x;A=A.split(" ");u=A.length;while(u--){r=A[u];z=y;B=C=false;if(r==="DOMContentLoaded"){r="ready"}if((q.domLoaded||x.readyState=="complete")&&r==="ready"){q.domLoaded=true;D.call(E,a({type:r}));continue}if(!m){B=l[r];if(B){z=function(F){var H,G;H=F.currentTarget;G=F.relatedTarget;if(G&&H.contains){G=H.contains(G)}else{while(G&&G!==H){G=G.parentNode}}if(!G){F=a(F||v.event);F.type=F.type==="mouseout"?"mouseleave":"mouseenter";F.target=H;j(F,s)}}}}if(!n&&(r==="focusin"||r==="focusout")){C=true;B=r==="focusin"?"focus":"blur";z=function(F){F=a(F||v.event);F.type=F.type==="focus"?"focusin":"focusout";j(F,s)}}t=p[s][r];if(!t){p[s][r]=t=[{func:D,scope:E}];t.fakeName=B;t.capture=C;t.nativeHandler=z;if(!g){t.proxyHandler=k(s)}if(r==="ready"){d(x,z,q)}else{c(x,B||r,g?z:t.proxyHandler,C)}}else{t.push({func:D,scope:E})}}x=t=0;return D};q.unbind=function(x,z,A){var s,u,v,B,r,t;if(!x||x.nodeType===3||x.nodeType===8){return q}s=x[h];if(s){t=p[s];if(z){z=z.split(" ");v=z.length;while(v--){r=z[v];u=t[r];if(u){if(A){B=u.length;while(B--){if(u[B].func===A){u.splice(B,1)}}}if(!A||u.length===0){delete t[r];e(x,u.fakeName||r,g?u.nativeHandler:u.proxyHandler,u.capture)}}}}else{for(r in t){u=t[r];e(x,u.fakeName||r,g?u.nativeHandler:u.proxyHandler,u.capture)}t={}}for(r in t){return q}delete p[s];try{delete x[h]}catch(y){x[h]=null}}return q};q.fire=function(u,s,r){var v,t;if(!u||u.nodeType===3||u.nodeType===8){return q}t=a(null,r);t.type=s;do{v=u[h];if(v){j(t,v)}u=u.parentNode||u.ownerDocument||u.defaultView||u.parentWindow}while(u&&!t.isPropagationStopped());return q};q.clean=function(u){var s,r,t=q.unbind;if(!u||u.nodeType===3||u.nodeType===8){return q}if(u[h]){t(u)}if(!u.getElementsByTagName){u=u.document}if(u&&u.getElementsByTagName){t(u);r=u.getElementsByTagName("*");s=r.length;while(s--){u=r[s];if(u[h]){t(u)}}}return q};q.callNativeHandler=function(s,r){if(p){p[s][r.type].nativeHandler(r)}};q.destory=function(){p={}};q.add=function(v,s,u,t){if(typeof(v)==="string"){v=document.getElementById(v)}if(v&&v instanceof Array){var r=v.length;while(r--){q.add(v[r],s,u,t)}return}if(s==="init"){s="ready"}return q.bind(v,s instanceof Array?s.join(" "):s,u,t)};q.remove=function(v,s,u,t){if(!v){return q}if(typeof(v)==="string"){v=document.getElementById(v)}if(v instanceof Array){var r=v.length;while(r--){q.remove(v[r],s,u,t)}return q}return q.unbind(v,s instanceof Array?s.join(" "):s,u)};q.clear=function(r){if(typeof(r)==="string"){r=document.getElementById(r)}return q.clean(r)};q.cancel=function(r){if(r){q.prevent(r);q.stop(r)}return false};q.prevent=function(r){if(!r.preventDefault){r=a(r)}r.preventDefault();return false};q.stop=function(r){if(!r.stopPropagation){r=a(r)}r.stopPropagation();return false}}b.EventUtils=f;b.Event=new f(function(i){return function(j){tinymce.dom.Event.callNativeHandler(i,j)}});b.Event.bind(window,"ready",function(){});b=0})(tinymce.dom,"data-mce-expando");tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(e){var g=e.each,d=e.is,f=e.isWebKit,b=e.isIE,h=e.html.Entities,c=/^([a-z0-9],?)+$/i,a=/^[ \t\r\n]*$/;e.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,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"},DOMUtils:function(o,l){var k=this,i,j,n;k.doc=o;k.win=window;k.files={};k.cssFlicker=false;k.counter=0;k.stdMode=!e.isIE||o.documentMode>=8;k.boxModel=!e.isIE||o.compatMode=="CSS1Compat"||k.stdMode;k.hasOuterHTML="outerHTML" in o.createElement("a");k.settings=l=e.extend({keep_values:false,hex_colors:1},l);k.schema=l.schema;k.styles=new e.html.Styles({url_converter:l.url_converter,url_converter_scope:l.url_converter_scope},l.schema);if(e.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(m){k.cssFlicker=true}}k.fixDoc(o);k.events=l.ownEvents?new e.dom.EventUtils(l.proxy):e.dom.Event;e.addUnload(k.destroy,k);n=l.schema?l.schema.getBlockElements():{};k.isBlock=function(q){if(!q){return false}var p=q.nodeType;if(p){return !!(p===1&&n[q.nodeName])}return !!n[q]}},fixDoc:function(k){var j=this.settings,i;if(b&&j.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(l){k.createElement(l)});for(i in j.schema.getCustomElements()){k.createElement(i)}}},clone:function(k,i){var j=this,m,l;if(!b||k.nodeType!==1||i){return k.cloneNode(i)}l=j.doc;if(!i){m=l.createElement(k.nodeName);g(j.getAttribs(k),function(n){j.setAttrib(m,n.nodeName,j.getAttrib(k,n.nodeName))});return m}return m.firstChild},getRoot:function(){var i=this,j=i.settings;return(j&&i.get(j.root_element))||i.doc.body},getViewPort:function(j){var k,i;j=!j?this.win:j;k=j.document;i=this.boxModel?k.documentElement:k.body;return{x:j.pageXOffset||i.scrollLeft,y:j.pageYOffset||i.scrollTop,w:j.innerWidth||i.clientWidth,h:j.innerHeight||i.clientHeight}},getRect:function(l){var k,i=this,j;l=i.get(l);k=i.getPos(l);j=i.getSize(l);return{x:k.x,y:k.y,w:j.w,h:j.h}},getSize:function(l){var j=this,i,k;l=j.get(l);i=j.getStyle(l,"width");k=j.getStyle(l,"height");if(i.indexOf("px")===-1){i=0}if(k.indexOf("px")===-1){k=0}return{w:parseInt(i,10)||l.offsetWidth||l.clientWidth,h:parseInt(k,10)||l.offsetHeight||l.clientHeight}},getParent:function(k,j,i){return this.getParents(k,j,i,false)},getParents:function(s,m,k,q){var j=this,i,l=j.settings,p=[];s=j.get(s);q=q===undefined;if(l.strict_root){k=k||j.getRoot()}if(d(m,"string")){i=m;if(m==="*"){m=function(o){return o.nodeType==1}}else{m=function(o){return j.is(o,i)}}}while(s){if(s==k||!s.nodeType||s.nodeType===9){break}if(!m||m(s)){if(q){p.push(s)}else{return s}}s=s.parentNode}return q?p:null},get:function(i){var j;if(i&&this.doc&&typeof(i)=="string"){j=i;i=this.doc.getElementById(i);if(i&&i.id!==j){return this.doc.getElementsByName(j)[1]}}return i},getNext:function(j,i){return this._findSib(j,i,"nextSibling")},getPrev:function(j,i){return this._findSib(j,i,"previousSibling")},select:function(k,j){var i=this;return e.dom.Sizzle(k,i.get(j)||i.get(i.settings.root_element)||i.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(c.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return e.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(l,o,i,k,m){var j=this;return this.run(l,function(r){var q,n;q=d(o,"string")?j.doc.createElement(o):o;j.setAttribs(q,i);if(k){if(k.nodeType){q.appendChild(k)}else{j.setHTML(q,k)}}return !m?r.appendChild(q):q})},create:function(k,i,j){return this.add(this.doc.createElement(k),k,i,j,1)},createHTML:function(q,i,m){var p="",l=this,j;p+="<"+q;for(j in i){if(i.hasOwnProperty(j)){p+=" "+j+'="'+l.encode(i[j])+'"'}}if(typeof(m)!="undefined"){return p+">"+m+"</"+q+">"}return p+" />"},remove:function(i,j){return this.run(i,function(l){var m,k=l.parentNode;if(!k){return null}if(j){while(m=l.firstChild){if(!e.isIE||m.nodeType!==3||m.nodeValue){k.insertBefore(m,l)}else{l.removeChild(m)}}}return k.removeChild(l)})},setStyle:function(l,i,j){var k=this;return k.run(l,function(o){var n,m;n=o.style;i=i.replace(/-(\D)/g,function(q,p){return p.toUpperCase()});if(k.pixelStyles.test(i)&&(e.is(j,"number")||/^[\-0-9\.]+$/.test(j))){j+="px"}switch(i){case"opacity":if(b){n.filter=j===""?"":"alpha(opacity="+(j*100)+")";if(!l.currentStyle||!l.currentStyle.hasLayout){n.display="inline-block"}}n[i]=n["-moz-opacity"]=n["-khtml-opacity"]=j||"";break;case"float":b?n.styleFloat=j:n.cssFloat=j;break;default:n[i]=j||""}if(k.settings.update_styles){k.setAttrib(o,"data-mce-style")}})},getStyle:function(l,i,k){l=this.get(l);if(!l){return}if(this.doc.defaultView&&k){i=i.replace(/[A-Z]/g,function(m){return"-"+m});try{return this.doc.defaultView.getComputedStyle(l,null).getPropertyValue(i)}catch(j){return null}}i=i.replace(/-(\D)/g,function(n,m){return m.toUpperCase()});if(i=="float"){i=b?"styleFloat":"cssFloat"}if(l.currentStyle&&k){return l.currentStyle[i]}return l.style?l.style[i]:undefined},setStyles:function(l,m){var j=this,k=j.settings,i;i=k.update_styles;k.update_styles=0;g(m,function(o,p){j.setStyle(l,p,o)});k.update_styles=i;if(k.update_styles){j.setAttrib(l,k.cssText)}},removeAllAttribs:function(i){return this.run(i,function(l){var k,j=l.attributes;for(k=j.length-1;k>=0;k--){l.removeAttributeNode(j.item(k))}})},setAttrib:function(k,l,i){var j=this;if(!k||!l){return}if(j.settings.strict){l=l.toLowerCase()}return this.run(k,function(p){var o=j.settings;var m=p.getAttribute(l);if(i!==null){switch(l){case"style":if(!d(i,"string")){g(i,function(q,r){j.setStyle(p,r,q)});return}if(o.keep_values){if(i&&!j._isRes(i)){p.setAttribute("data-mce-style",i,2)}else{p.removeAttribute("data-mce-style",2)}}p.style.cssText=i;break;case"class":p.className=i||"";break;case"src":case"href":if(o.keep_values){if(o.url_converter){i=o.url_converter.call(o.url_converter_scope||j,i,l,p)}j.setAttrib(p,"data-mce-"+l,i,2)}break;case"shape":p.setAttribute("data-mce-style",i);break}}if(d(i)&&i!==null&&i.length!==0){p.setAttribute(l,""+i,2)}else{p.removeAttribute(l,2)}if(tinyMCE.activeEditor&&m!=i){var n=tinyMCE.activeEditor;n.onSetAttrib.dispatch(n,p,l,i)}})},setAttribs:function(j,k){var i=this;return this.run(j,function(l){g(k,function(m,o){i.setAttrib(l,o,m)})})},getAttrib:function(m,o,k){var i,j=this,l;m=j.get(m);if(!m||m.nodeType!==1){return k===l?false:k}if(!d(k)){k=""}if(/^(src|href|style|coords|shape)$/.test(o)){i=m.getAttribute("data-mce-"+o);if(i){return i}}if(b&&j.props[o]){i=m[j.props[o]];i=i&&i.nodeValue?i.nodeValue:i}if(!i){i=m.getAttribute(o,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(o)){if(m[j.props[o]]===true&&i===""){return o}return i?o:""}if(m.nodeName==="FORM"&&m.getAttributeNode(o)){return m.getAttributeNode(o).nodeValue}if(o==="style"){i=i||m.style.cssText;if(i){i=j.serializeStyle(j.parseStyle(i),m.nodeName);if(j.settings.keep_values&&!j._isRes(i)){m.setAttribute("data-mce-style",i)}}}if(f&&o==="class"&&i){i=i.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(o){case"rowspan":case"colspan":if(i===1){i=""}break;case"size":if(i==="+0"||i===20||i===0){i=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(i===0){i=""}break;case"hspace":if(i===-1){i=""}break;case"maxlength":case"tabindex":if(i===32768||i===2147483647||i==="32768"){i=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(i===65535){return o}return k;case"shape":i=i.toLowerCase();break;default:if(o.indexOf("on")===0&&i){i=e._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+i)}}}return(i!==l&&i!==null&&i!=="")?""+i:k},getPos:function(q,l){var j=this,i=0,p=0,m,o=j.doc,k;q=j.get(q);l=l||o.body;if(q){if(q.getBoundingClientRect){q=q.getBoundingClientRect();m=j.boxModel?o.documentElement:o.body;i=q.left+(o.documentElement.scrollLeft||o.body.scrollLeft)-m.clientTop;p=q.top+(o.documentElement.scrollTop||o.body.scrollTop)-m.clientLeft;return{x:i,y:p}}k=q;while(k&&k!=l&&k.nodeType){i+=k.offsetLeft||0;p+=k.offsetTop||0;k=k.offsetParent}k=q.parentNode;while(k&&k!=l&&k.nodeType){i-=k.scrollLeft||0;p-=k.scrollTop||0;k=k.parentNode}}return{x:i,y:p}},parseStyle:function(i){return this.styles.parse(i)},serializeStyle:function(j,i){return this.styles.serialize(j,i)},addStyle:function(j){var k=this.doc,i;styleElm=k.getElementById("mceDefaultStyles");if(!styleElm){styleElm=k.createElement("style"),styleElm.id="mceDefaultStyles";styleElm.type="text/css";i=k.getElementsByTagName("head")[0];if(i.firstChild){i.insertBefore(styleElm,i.firstChild)}else{i.appendChild(styleElm)}}if(styleElm.styleSheet){styleElm.styleSheet.cssText+=j}else{styleElm.appendChild(k.createTextNode(j))}},loadCSS:function(i){var k=this,l=k.doc,j;if(!i){i=""}j=l.getElementsByTagName("head")[0];g(i.split(","),function(m){var n;if(k.files[m]){return}k.files[m]=true;n=k.create("link",{rel:"stylesheet",href:e._addVer(m)});if(b&&l.documentMode&&l.recalc){n.onload=function(){if(l.recalc){l.recalc()}n.onload=null}}j.appendChild(n)})},addClass:function(i,j){return this.run(i,function(k){var l;if(!j){return 0}if(this.hasClass(k,j)){return k.className}l=this.removeClass(k,j);return k.className=(l!=""?(l+" "):"")+j})},removeClass:function(k,l){var i=this,j;return i.run(k,function(n){var m;if(i.hasClass(n,l)){if(!j){j=new RegExp("(^|\\s+)"+l+"(\\s+|$)","g")}m=n.className.replace(j," ");m=e.trim(m!=" "?m:"");n.className=m;if(!m){n.removeAttribute("class");n.removeAttribute("className")}return m}return n.className})},hasClass:function(j,i){j=this.get(j);if(!j||!i){return false}return(" "+j.className+" ").indexOf(" "+i+" ")!==-1},show:function(i){return this.setStyle(i,"display","block")},hide:function(i){return this.setStyle(i,"display","none")},isHidden:function(i){i=this.get(i);return !i||i.style.display=="none"||this.getStyle(i,"display")=="none"},uniqueId:function(i){return(!i?"mce_":i)+(this.counter++)},setHTML:function(k,j){var i=this;return i.run(k,function(m){if(b){while(m.firstChild){m.removeChild(m.firstChild)}try{m.innerHTML="<br />"+j;m.removeChild(m.firstChild)}catch(l){var n=i.create("div");n.innerHTML="<br />"+j;g(e.grep(n.childNodes),function(p,o){if(o&&m.canHaveHTML){m.appendChild(p)}})}}else{m.innerHTML=j}return j})},getOuterHTML:function(k){var j,i=this;k=i.get(k);if(!k){return null}if(k.nodeType===1&&i.hasOuterHTML){return k.outerHTML}j=(k.ownerDocument||i.doc).createElement("body");j.appendChild(k.cloneNode(true));return j.innerHTML},setOuterHTML:function(l,j,m){var i=this;function k(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){i.insertAfter(s.cloneNode(true),p);s=s.previousSibling}i.remove(p)}return this.run(l,function(o){o=i.get(o);if(o.nodeType==1){m=m||o.ownerDocument||i.doc;if(b){try{if(b&&o.nodeType==1){o.outerHTML=j}else{k(o,j,m)}}catch(n){k(o,j,m)}}else{k(o,j,m)}}})},decode:h.decode,encode:h.encodeAllRaw,insertAfter:function(i,j){j=this.get(j);return this.run(i,function(l){var k,m;k=j.parentNode;m=j.nextSibling;if(m){k.insertBefore(l,m)}else{k.appendChild(l)}return l})},replace:function(m,l,i){var j=this;if(d(l,"array")){m=m.cloneNode(true)}return j.run(l,function(k){if(i){g(e.grep(k.childNodes),function(n){m.appendChild(n)})}return k.parentNode.replaceChild(m,k)})},rename:function(l,i){var k=this,j;if(l.nodeName!=i.toUpperCase()){j=k.create(i);g(k.getAttribs(l),function(m){k.setAttrib(j,m.nodeName,k.getAttrib(l,m.nodeName))});k.replace(j,l,1)}return j||l},findCommonAncestor:function(k,i){var l=k,j;while(l){j=i;while(j&&l!=j){j=j.parentNode}if(l==j){break}l=l.parentNode}if(!l&&k.ownerDocument){return k.ownerDocument.documentElement}return l},toHex:function(i){var k=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(i);function j(l){l=parseInt(l,10).toString(16);return l.length>1?l:"0"+l}if(k){i="#"+j(k[1])+j(k[2])+j(k[3]);return i}return i},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(i){g(i.imports,function(s){q(s)});g(i.cssRules||i.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){g(s.selectorText.split(","),function(r){r=r.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(r)||!/\.[\w\-]+$/.test(r)){return}l=r;r=e._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",r);if(p&&!(r=p(r,l))){return}if(!o[r]){j.push({"class":r});o[r]=1}})}break;case 3:q(s.styleSheet);break}})}try{g(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(l,k,j){var i=this,m;if(i.doc&&typeof(l)==="string"){l=i.get(l)}if(!l){return false}j=j||this;if(!l.nodeType&&(l.length||l.length===0)){m=[];g(l,function(o,n){if(o){if(typeof(o)=="string"){o=i.doc.getElementById(o)}m.push(k.call(j,o,n))}});return m}return k.call(j,l)},getAttribs:function(j){var i;j=this.get(j);if(!j){return[]}if(b){i=[];if(j.nodeName=="OBJECT"){return j.attributes}if(j.nodeName==="OPTION"&&this.getAttrib(j,"selected")){i.push({specified:1,nodeName:"selected"})}j.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(k){i.push({specified:1,nodeName:k})});return i}return j.attributes},isEmpty:function(m,k){var r=this,o,n,q,j,l,p=0;m=m.firstChild;if(m){j=new e.dom.TreeWalker(m,m.parentNode);k=k||r.schema?r.schema.getNonEmptyElements():null;do{q=m.nodeType;if(q===1){if(m.getAttribute("data-mce-bogus")){continue}l=m.nodeName.toLowerCase();if(k&&k[l]){if(l==="br"){p++;continue}return false}n=r.getAttribs(m);o=m.attributes.length;while(o--){l=m.attributes[o].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if(q==8){return false}if((q===3&&!a.test(m.nodeValue))){return false}}while(m=j.next())}return p<=1},destroy:function(j){var i=this;i.win=i.doc=i.root=i.events=i.frag=null;if(!j){e.removeUnload(i.destroy)}},createRng:function(){var i=this.doc;return i.createRange?i.createRange():new e.dom.Range(this)},nodeIndex:function(m,n){var i=0,k,l,j;if(m){for(k=m.nodeType,m=m.previousSibling,l=m;m;m=m.previousSibling){j=m.nodeType;if(n&&j==3){if(j==k||!m.nodeValue.length){continue}}i++;k=j}}return i},split:function(m,l,p){var q=this,i=q.createRng(),n,k,o;function j(v){var t,s=v.childNodes,u=v.nodeType;function x(A){var z=A.previousSibling&&A.previousSibling.nodeName=="SPAN";var y=A.nextSibling&&A.nextSibling.nodeName=="SPAN";return z&&y}if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=s.length-1;t>=0;t--){j(s[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){var r=e.trim(v.nodeValue).length;if(!q.isBlock(v.parentNode)||r>0||r===0&&x(v)){return}}else{if(u==1){s=v.childNodes;if(s.length==1&&s[0]&&s[0].nodeType==1&&s[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(s[0],v)}if(s.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}q.remove(v)}return v}if(m&&l){i.setStart(m.parentNode,q.nodeIndex(m));i.setEnd(l.parentNode,q.nodeIndex(l));n=i.extractContents();i=q.createRng();i.setStart(l.parentNode,q.nodeIndex(l)+1);i.setEnd(m.parentNode,q.nodeIndex(m)+1);k=i.extractContents();o=m.parentNode;o.insertBefore(j(n),m);if(p){o.replaceChild(p,l)}else{o.insertBefore(l,m)}o.insertBefore(j(k),m);q.remove(m);return p||l}},bind:function(l,i,k,j){return this.events.add(l,i,k,j||this)},unbind:function(k,i,j){return this.events.remove(k,i,j)},fire:function(k,j,i){return this.events.fire(k,j,i)},getContentEditable:function(j){var i;if(j.nodeType!=1){return null}i=j.getAttribute("data-mce-contenteditable");if(i&&i!=="inherit"){return i}return j.contentEditable!=="inherit"?j.contentEditable:null},_findSib:function(l,i,j){var k=this,m=i;if(l){if(d(m,"string")){m=function(n){return k.is(n,i)}}for(l=l[j];l;l=l[j]){if(m(l)){return l}}}return null},_isRes:function(i){return/^(top|left|bottom|right|width|height)/i.test(i)||/;\s*(top|left|bottom|right|width|height)/i.test(i)}});e.DOM=new e.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var O=this,e=c.doc,U=0,F=1,j=2,E=true,S=false,W="startOffset",h="startContainer",Q="endContainer",A="endOffset",k=tinymce.extend,n=c.nodeIndex;k(O,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:E,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:J,setEndBefore:K,setEndAfter:u,collapse:B,selectNode:y,selectNodeContents:G,compareBoundaryPoints:v,deleteContents:p,extractContents:I,cloneContents:d,insertNode:D,surroundContents:N,cloneRange:L,toStringIE:T});function x(){return e.createDocumentFragment()}function q(X,t){C(E,X,t)}function s(X,t){C(S,X,t)}function g(t){q(t.parentNode,n(t))}function J(t){q(t.parentNode,n(t)+1)}function K(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function B(t){if(t){O[Q]=O[h];O[A]=O[W]}else{O[h]=O[Q];O[W]=O[A]}O.collapsed=E}function y(t){g(t);u(t)}function G(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(aa,t){var ad=O[h],Y=O[W],ac=O[Q],X=O[A],ab=t.startContainer,af=t.startOffset,Z=t.endContainer,ae=t.endOffset;if(aa===0){return H(ad,Y,ab,af)}if(aa===1){return H(ac,X,ab,af)}if(aa===2){return H(ac,X,Z,ae)}if(aa===3){return H(ad,Y,Z,ae)}}function p(){l(j)}function I(){return l(U)}function d(){return l(F)}function D(aa){var X=this[h],t=this[W],Z,Y;if((X.nodeType===3||X.nodeType===4)&&X.nodeValue){if(!t){X.parentNode.insertBefore(aa,X)}else{if(t>=X.nodeValue.length){c.insertAfter(aa,X)}else{Z=X.splitText(t);X.parentNode.insertBefore(aa,Z)}}}else{if(X.childNodes.length>0){Y=X.childNodes[t]}if(Y){X.insertBefore(aa,Y)}else{X.appendChild(aa)}}}function N(X){var t=O.extractContents();O.insertNode(X);X.appendChild(t);O.selectNode(X)}function L(){return k(new b(c),{startContainer:O[h],startOffset:O[W],endContainer:O[Q],endOffset:O[A],collapsed:O.collapsed,commonAncestorContainer:O.commonAncestorContainer})}function P(t,X){var Y;if(t.nodeType==3){return t}if(X<0){return t}Y=t.firstChild;while(Y&&X>0){--X;Y=Y.nextSibling}if(Y){return Y}return t}function m(){return(O[h]==O[Q]&&O[W]==O[A])}function H(Z,ab,X,aa){var ac,Y,t,ad,af,ae;if(Z==X){if(ab==aa){return 0}if(ab<aa){return -1}return 1}ac=X;while(ac&&ac.parentNode!=Z){ac=ac.parentNode}if(ac){Y=0;t=Z.firstChild;while(t!=ac&&Y<ab){Y++;t=t.nextSibling}if(ab<=Y){return -1}return 1}ac=Z;while(ac&&ac.parentNode!=X){ac=ac.parentNode}if(ac){Y=0;t=X.firstChild;while(t!=ac&&Y<aa){Y++;t=t.nextSibling}if(Y<aa){return -1}return 1}ad=c.findCommonAncestor(Z,X);af=Z;while(af&&af.parentNode!=ad){af=af.parentNode}if(!af){af=ad}ae=X;while(ae&&ae.parentNode!=ad){ae=ae.parentNode}if(!ae){ae=ad}if(af==ae){return 0}t=ad.firstChild;while(t){if(t==af){return -1}if(t==ae){return 1}t=t.nextSibling}}function C(X,aa,Z){var t,Y;if(X){O[h]=aa;O[W]=Z}else{O[Q]=aa;O[A]=Z}t=O[Q];while(t.parentNode){t=t.parentNode}Y=O[h];while(Y.parentNode){Y=Y.parentNode}if(Y==t){if(H(O[h],O[W],O[Q],O[A])>0){O.collapse(X)}}else{O.collapse(X)}O.collapsed=m();O.commonAncestorContainer=c.findCommonAncestor(O[h],O[Q])}function l(ad){var ac,Z=0,af=0,X,ab,Y,aa,t,ae;if(O[h]==O[Q]){return f(ad)}for(ac=O[Q],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[h]){return r(ac,ad)}++Z}for(ac=O[h],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[Q]){return V(ac,ad)}++af}ab=af-Z;Y=O[h];while(ab>0){Y=Y.parentNode;ab--}aa=O[Q];while(ab<0){aa=aa.parentNode;ab++}for(t=Y.parentNode,ae=aa.parentNode;t!=ae;t=t.parentNode,ae=ae.parentNode){Y=t;aa=ae}return o(Y,aa,ad)}function f(ac){var ae,af,t,Y,Z,ad,aa,X,ab;if(ac!=j){ae=x()}if(O[W]==O[A]){return ae}if(O[h].nodeType==3){af=O[h].nodeValue;t=af.substring(O[W],O[A]);if(ac!=F){Y=O[h];X=O[W];ab=O[A]-O[W];if(X===0&&ab>=Y.nodeValue.length-1){Y.parentNode.removeChild(Y)}else{Y.deleteData(X,ab)}O.collapse(E)}if(ac==j){return}if(t.length>0){ae.appendChild(e.createTextNode(t))}return ae}Y=P(O[h],O[W]);Z=O[A]-O[W];while(Y&&Z>0){ad=Y.nextSibling;aa=z(Y,ac);if(ae){ae.appendChild(aa)}--Z;Y=ad}if(ac!=F){O.collapse(E)}return ae}function r(ad,aa){var ac,ab,X,t,Z,Y;if(aa!=j){ac=x()}ab=i(ad,aa);if(ac){ac.appendChild(ab)}X=n(ad);t=X-O[W];if(t<=0){if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}ab=ad.previousSibling;while(t>0){Z=ab.previousSibling;Y=z(ab,aa);if(ac){ac.insertBefore(Y,ac.firstChild)}--t;ab=Z}if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}function V(ab,aa){var ad,X,ac,t,Z,Y;if(aa!=j){ad=x()}ac=R(ab,aa);if(ad){ad.appendChild(ac)}X=n(ab);++X;t=O[A]-X;ac=ab.nextSibling;while(ac&&t>0){Z=ac.nextSibling;Y=z(ac,aa);if(ad){ad.appendChild(Y)}--t;ac=Z}if(aa!=F){O.setStartAfter(ab);O.collapse(E)}return ad}function o(ab,t,ae){var Y,ag,aa,ac,ad,X,af,Z;if(ae!=j){ag=x()}Y=R(ab,ae);if(ag){ag.appendChild(Y)}aa=ab.parentNode;ac=n(ab);ad=n(t);++ac;X=ad-ac;af=ab.nextSibling;while(X>0){Z=af.nextSibling;Y=z(af,ae);if(ag){ag.appendChild(Y)}af=Z;--X}Y=i(t,ae);if(ag){ag.appendChild(Y)}if(ae!=F){O.setStartAfter(ab);O.collapse(E)}return ag}function i(ac,ad){var Y=P(O[Q],O[A]-1),ae,ab,aa,t,X,Z=Y!=O[Q];if(Y==ac){return M(Y,Z,S,ad)}ae=Y.parentNode;ab=M(ae,S,S,ad);while(ae){while(Y){aa=Y.previousSibling;t=M(Y,Z,S,ad);if(ad!=j){ab.insertBefore(t,ab.firstChild)}Z=E;Y=aa}if(ae==ac){return ab}Y=ae.previousSibling;ae=ae.parentNode;X=M(ae,S,S,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function R(ac,ad){var Z=P(O[h],O[W]),aa=Z!=O[h],ae,ab,Y,t,X;if(Z==ac){return M(Z,aa,E,ad)}ae=Z.parentNode;ab=M(ae,S,E,ad);while(ae){while(Z){Y=Z.nextSibling;t=M(Z,aa,E,ad);if(ad!=j){ab.appendChild(t)}aa=E;Z=Y}if(ae==ac){return ab}Z=ae.nextSibling;ae=ae.parentNode;X=M(ae,S,E,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function M(t,aa,ad,ae){var Z,Y,ab,X,ac;if(aa){return z(t,ae)}if(t.nodeType==3){Z=t.nodeValue;if(ad){X=O[W];Y=Z.substring(X);ab=Z.substring(0,X)}else{X=O[A];Y=Z.substring(0,X);ab=Z.substring(X)}if(ae!=F){t.nodeValue=ab}if(ae==j){return}ac=c.clone(t,S);ac.nodeValue=Y;return ac}if(ae==j){return}return c.clone(t,S)}function z(X,t){if(t!=j){return t==F?c.clone(X,E):X}X.parentNode.removeChild(X)}function T(){return c.create("body",null,d()).outerText}return O}a.Range=b;b.prototype.toString=function(){return this.toStringIE()}})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",1)===0||s!=k.parentElement()){break}o++}}else{k.collapse(true);o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",-1)===0||s!=k.parentElement()){break}o++}}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p&&t.nodeType!==9){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,v,q,t,s=d.dom.doc,m=s.body,r,u;function j(C){var y,B,x,A,z;x=h.create("a");y=C?k:v;B=C?p:q;A=n.duplicate();if(y==s||y==s.documentElement){y=m;B=0}if(y.nodeType==3){y.parentNode.insertBefore(x,y);A.moveToElementText(x);A.moveStart("character",B);h.remove(x);n.setEndPoint(C?"StartToStart":"EndToEnd",A)}else{z=y.childNodes;if(z.length){if(B>=z.length){h.insertAfter(x,z[z.length-1])}else{y.insertBefore(x,z[B])}A.moveToElementText(x)}else{if(y.canHaveHTML){y.innerHTML="<span>\uFEFF</span>";x=y.firstChild;A.moveToElementText(x);A.collapse(f)}}n.setEndPoint(C?"StartToStart":"EndToEnd",A);h.remove(x)}}k=i.startContainer;p=i.startOffset;v=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==v&&k.nodeType==1){if(p==q&&!k.hasChildNodes()){if(k.canHaveHTML){t=k.previousSibling;if(t&&!t.hasChildNodes()&&h.isBlock(t)){t.innerHTML="\uFEFF"}else{t=null}k.innerHTML="<span>\uFEFF</span><span>\uFEFF</span>";n.moveToElementText(k.lastChild);n.select();h.doc.selection.clear();k.innerHTML="";if(t){t.innerHTML=""}return}else{p=h.nodeIndex(k);k=k.parentNode}}if(p==q-1){try{u=k.childNodes[p];l=m.createControlRange();l.addElement(u);l.select();r=d.getRng();if(r.item&&u===r.item(0)){return}}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var n=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i="sizcache",o=0,r=Object.prototype.toString,h=false,g=true,q=/\\/g,u=/\r\n/g,x=/\W/;[0,0].sort(function(){g=false;return 0});var d=function(C,e,F,G){F=F||[];e=e||document;var I=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!C||typeof C!=="string"){return F}var z,K,N,y,J,M,L,E,B=true,A=d.isXML(e),D=[],H=C;do{n.exec("");z=n.exec(H);if(z){H=z[3];D.push(z[1]);if(z[2]){y=z[3];break}}}while(z);if(D.length>1&&j.exec(C)){if(D.length===2&&k.relative[D[0]]){K=s(D[0]+D[1],e,G)}else{K=k.relative[D[0]]?[e]:d(D.shift(),e);while(D.length){C=D.shift();if(k.relative[C]){C+=D.shift()}K=s(C,K,G)}}}else{if(!G&&D.length>1&&e.nodeType===9&&!A&&k.match.ID.test(D[0])&&!k.match.ID.test(D[D.length-1])){J=d.find(D.shift(),e,A);e=J.expr?d.filter(J.expr,J.set)[0]:J.set[0]}if(e){J=G?{expr:D.pop(),set:l(G)}:d.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&e.parentNode?e.parentNode:e,A);K=J.expr?d.filter(J.expr,J.set):J.set;if(D.length>0){N=l(K)}else{B=false}while(D.length){M=D.pop();L=M;if(!k.relative[M]){M=""}else{L=D.pop()}if(L==null){L=e}k.relative[M](N,L,A)}}else{N=D=[]}}if(!N){N=K}if(!N){d.error(M||C)}if(r.call(N)==="[object Array]"){if(!B){F.push.apply(F,N)}else{if(e&&e.nodeType===1){for(E=0;N[E]!=null;E++){if(N[E]&&(N[E]===true||N[E].nodeType===1&&d.contains(e,N[E]))){F.push(K[E])}}}else{for(E=0;N[E]!=null;E++){if(N[E]&&N[E].nodeType===1){F.push(K[E])}}}}}else{l(N,F)}if(y){d(y,I,F,G);d.uniqueSort(F)}return F};d.uniqueSort=function(y){if(p){h=g;y.sort(p);if(h){for(var e=1;e<y.length;e++){if(y[e]===y[e-1]){y.splice(e--,1)}}}}return y};d.matches=function(e,y){return d(e,null,null,y)};d.matchesSelector=function(e,y){return d(y,null,null,[e]).length>0};d.find=function(E,e,F){var D,z,B,A,C,y;if(!E){return[]}for(z=0,B=k.order.length;z<B;z++){C=k.order[z];if((A=k.leftMatch[C].exec(E))){y=A[1];A.splice(1,1);if(y.substr(y.length-1)!=="\\"){A[1]=(A[1]||"").replace(q,"");D=k.find[C](A,e,F);if(D!=null){E=E.replace(k.match[C],"");break}}}}if(!D){D=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:D,expr:E}};d.filter=function(I,H,L,B){var D,e,G,N,K,y,A,C,J,z=I,M=[],F=H,E=H&&H[0]&&d.isXML(H[0]);while(I&&H.length){for(G in k.filter){if((D=k.leftMatch[G].exec(I))!=null&&D[2]){y=k.filter[G];A=D[1];e=false;D.splice(1,1);if(A.substr(A.length-1)==="\\"){continue}if(F===M){M=[]}if(k.preFilter[G]){D=k.preFilter[G](D,F,L,M,B,E);if(!D){e=N=true}else{if(D===true){continue}}}if(D){for(C=0;(K=F[C])!=null;C++){if(K){N=y(K,D,C,F);J=B^N;if(L&&N!=null){if(J){e=true}else{F[C]=false}}else{if(J){M.push(K);e=true}}}}}if(N!==undefined){if(!L){F=M}I=I.replace(k.match[G],"");if(!e){return[]}break}}}if(I===z){if(e==null){d.error(I)}else{break}}z=I}return F};d.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var b=d.getText=function(B){var z,A,e=B.nodeType,y="";if(e){if(e===1||e===9||e===11){if(typeof B.textContent==="string"){return B.textContent}else{if(typeof B.innerText==="string"){return B.innerText.replace(u,"")}else{for(B=B.firstChild;B;B=B.nextSibling){y+=b(B)}}}}else{if(e===3||e===4){return B.nodeValue}}}else{for(z=0;(A=B[z]);z++){if(A.nodeType!==8){y+=b(A)}}}return y};var k=d.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(D,y){var A=typeof y==="string",C=A&&!x.test(y),E=A&&!C;if(C){y=y.toLowerCase()}for(var z=0,e=D.length,B;z<e;z++){if((B=D[z])){while((B=B.previousSibling)&&B.nodeType!==1){}D[z]=E||B&&B.nodeName.toLowerCase()===y?B||false:B===y}}if(E){d.filter(y,D,true)}},">":function(D,y){var C,B=typeof y==="string",z=0,e=D.length;if(B&&!x.test(y)){y=y.toLowerCase();for(;z<e;z++){C=D[z];if(C){var A=C.parentNode;D[z]=A.nodeName.toLowerCase()===y?A:false}}}else{for(;z<e;z++){C=D[z];if(C){D[z]=B?C.parentNode:C.parentNode===y}}if(B){d.filter(y,D,true)}}},"":function(A,y,C){var B,z=o++,e=t;if(typeof y==="string"&&!x.test(y)){y=y.toLowerCase();B=y;e=a}e("parentNode",y,z,A,B,C)},"~":function(A,y,C){var B,z=o++,e=t;if(typeof y==="string"&&!x.test(y)){y=y.toLowerCase();B=y;e=a}e("previousSibling",y,z,A,B,C)}},find:{ID:function(y,z,A){if(typeof z.getElementById!=="undefined"&&!A){var e=z.getElementById(y[1]);return e&&e.parentNode?[e]:[]}},NAME:function(z,C){if(typeof C.getElementsByName!=="undefined"){var y=[],B=C.getElementsByName(z[1]);for(var A=0,e=B.length;A<e;A++){if(B[A].getAttribute("name")===z[1]){y.push(B[A])}}return y.length===0?null:y}},TAG:function(e,y){if(typeof y.getElementsByTagName!=="undefined"){return y.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(A,y,z,e,D,E){A=" "+A[1].replace(q,"")+" ";if(E){return A}for(var B=0,C;(C=y[B])!=null;B++){if(C){if(D^(C.className&&(" "+C.className+" ").replace(/[\t\n\r]/g," ").indexOf(A)>=0)){if(!z){e.push(C)}}else{if(z){y[B]=false}}}}return false},ID:function(e){return e[1].replace(q,"")},TAG:function(y,e){return y[1].replace(q,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){d.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var y=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(y[1]+(y[2]||1))-0;e[3]=y[3]-0}else{if(e[2]){d.error(e[0])}}e[0]=o++;return e},ATTR:function(B,y,z,e,C,D){var A=B[1]=B[1].replace(q,"");if(!D&&k.attrMap[A]){B[1]=k.attrMap[A]}B[4]=(B[4]||B[5]||"").replace(q,"");if(B[2]==="~="){B[4]=" "+B[4]+" "}return B},PSEUDO:function(B,y,z,e,C){if(B[1]==="not"){if((n.exec(B[3])||"").length>1||/^\w/.test(B[3])){B[3]=d(B[3],null,null,y)}else{var A=d.filter(B[3],y,z,true^C);if(!z){e.push.apply(e,A)}return false}}else{if(k.match.POS.test(B[0])||k.match.CHILD.test(B[0])){return true}}return B},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(z,y,e){return !!d(e[3],z).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(z){var e=z.getAttribute("type"),y=z.type;return z.nodeName.toLowerCase()==="input"&&"text"===y&&(e===y||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===y.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===y.type},button:function(y){var e=y.nodeName.toLowerCase();return e==="input"&&"button"===y.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(y,e){return e===0},last:function(z,y,e,A){return y===A.length-1},even:function(y,e){return e%2===0},odd:function(y,e){return e%2===1},lt:function(z,y,e){return y<e[3]-0},gt:function(z,y,e){return y>e[3]-0},nth:function(z,y,e){return e[3]-0===y},eq:function(z,y,e){return e[3]-0===y}},filter:{PSEUDO:function(z,E,D,F){var e=E[1],y=k.filters[e];if(y){return y(z,D,E,F)}else{if(e==="contains"){return(z.textContent||z.innerText||b([z])||"").indexOf(E[3])>=0}else{if(e==="not"){var A=E[3];for(var C=0,B=A.length;C<B;C++){if(A[C]===z){return false}}return true}else{d.error(e)}}}},CHILD:function(z,B){var A,H,D,G,e,C,F,E=B[1],y=z;switch(E){case"only":case"first":while((y=y.previousSibling)){if(y.nodeType===1){return false}}if(E==="first"){return true}y=z;case"last":while((y=y.nextSibling)){if(y.nodeType===1){return false}}return true;case"nth":A=B[2];H=B[3];if(A===1&&H===0){return true}D=B[0];G=z.parentNode;if(G&&(G[i]!==D||!z.nodeIndex)){C=0;for(y=G.firstChild;y;y=y.nextSibling){if(y.nodeType===1){y.nodeIndex=++C}}G[i]=D}F=z.nodeIndex-H;if(A===0){return F===0}else{return(F%A===0&&F/A>=0)}}},ID:function(y,e){return y.nodeType===1&&y.getAttribute("id")===e},TAG:function(y,e){return(e==="*"&&y.nodeType===1)||!!y.nodeName&&y.nodeName.toLowerCase()===e},CLASS:function(y,e){return(" "+(y.className||y.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(C,A){var z=A[1],e=d.attr?d.attr(C,z):k.attrHandle[z]?k.attrHandle[z](C):C[z]!=null?C[z]:C.getAttribute(z),D=e+"",B=A[2],y=A[4];return e==null?B==="!=":!B&&d.attr?e!=null:B==="="?D===y:B==="*="?D.indexOf(y)>=0:B==="~="?(" "+D+" ").indexOf(y)>=0:!y?D&&e!==false:B==="!="?D!==y:B==="^="?D.indexOf(y)===0:B==="$="?D.substr(D.length-y.length)===y:B==="|="?D===y||D.substr(0,y.length+1)===y+"-":false},POS:function(B,y,z,C){var e=y[2],A=k.setFilters[e];if(A){return A(B,z,y,C)}}}};var j=k.match.POS,c=function(y,e){return"\\"+(e-0+1)};for(var f in k.match){k.match[f]=new RegExp(k.match[f].source+(/(?![^\[]*\])(?![^\(]*\))/.source));k.leftMatch[f]=new RegExp(/(^(?:.|\r|\n)*?)/.source+k.match[f].source.replace(/\\(\d+)/g,c))}k.match.globalPOS=j;var l=function(y,e){y=Array.prototype.slice.call(y,0);if(e){e.push.apply(e,y);return e}return y};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(v){l=function(B,A){var z=0,y=A||[];if(r.call(B)==="[object Array]"){Array.prototype.push.apply(y,B)}else{if(typeof B.length==="number"){for(var e=B.length;z<e;z++){y.push(B[z])}}else{for(;B[z];z++){y.push(B[z])}}}return y}}var p,m;if(document.documentElement.compareDocumentPosition){p=function(y,e){if(y===e){h=true;return 0}if(!y.compareDocumentPosition||!e.compareDocumentPosition){return y.compareDocumentPosition?-1:1}return y.compareDocumentPosition(e)&4?-1:1}}else{p=function(F,E){if(F===E){h=true;return 0}else{if(F.sourceIndex&&E.sourceIndex){return F.sourceIndex-E.sourceIndex}}var C,y,z=[],e=[],B=F.parentNode,D=E.parentNode,G=B;if(B===D){return m(F,E)}else{if(!B){return -1}else{if(!D){return 1}}}while(G){z.unshift(G);G=G.parentNode}G=D;while(G){e.unshift(G);G=G.parentNode}C=z.length;y=e.length;for(var A=0;A<C&&A<y;A++){if(z[A]!==e[A]){return m(z[A],e[A])}}return A===C?m(F,e[A],-1):m(z[A],E,1)};m=function(y,e,z){if(y===e){return z}var A=y.nextSibling;while(A){if(A===e){return -1}A=A.nextSibling}return 1}}(function(){var y=document.createElement("div"),z="script"+(new Date()).getTime(),e=document.documentElement;y.innerHTML="<a name='"+z+"'/>";e.insertBefore(y,e.firstChild);if(document.getElementById(z)){k.find.ID=function(B,C,D){if(typeof C.getElementById!=="undefined"&&!D){var A=C.getElementById(B[1]);return A?A.id===B[1]||typeof A.getAttributeNode!=="undefined"&&A.getAttributeNode("id").nodeValue===B[1]?[A]:undefined:[]}};k.filter.ID=function(C,A){var B=typeof C.getAttributeNode!=="undefined"&&C.getAttributeNode("id");return C.nodeType===1&&B&&B.nodeValue===A}}e.removeChild(y);e=y=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){k.find.TAG=function(y,C){var B=C.getElementsByTagName(y[1]);if(y[1]==="*"){var A=[];for(var z=0;B[z];z++){if(B[z].nodeType===1){A.push(B[z])}}B=A}return B}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){k.attrHandle.href=function(y){return y.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=d,A=document.createElement("div"),z="__sizzle__";A.innerHTML="<p class='TEST'></p>";if(A.querySelectorAll&&A.querySelectorAll(".TEST").length===0){return}d=function(L,C,G,K){C=C||document;if(!K&&!d.isXML(C)){var J=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(L);if(J&&(C.nodeType===1||C.nodeType===9)){if(J[1]){return l(C.getElementsByTagName(L),G)}else{if(J[2]&&k.find.CLASS&&C.getElementsByClassName){return l(C.getElementsByClassName(J[2]),G)}}}if(C.nodeType===9){if(L==="body"&&C.body){return l([C.body],G)}else{if(J&&J[3]){var F=C.getElementById(J[3]);if(F&&F.parentNode){if(F.id===J[3]){return l([F],G)}}else{return l([],G)}}}try{return l(C.querySelectorAll(L),G)}catch(H){}}else{if(C.nodeType===1&&C.nodeName.toLowerCase()!=="object"){var D=C,E=C.getAttribute("id"),B=E||z,N=C.parentNode,M=/^\s*[+~]/.test(L);if(!E){C.setAttribute("id",B)}else{B=B.replace(/'/g,"\\$&")}if(M&&N){C=C.parentNode}try{if(!M||N){return l(C.querySelectorAll("[id='"+B+"'] "+L),G)}}catch(I){}finally{if(!E){D.removeAttribute("id")}}}}}return e(L,C,G,K)};for(var y in e){d[y]=e[y]}A=null})()}(function(){var e=document.documentElement,z=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(z){var B=!z.call(document.createElement("div"),"div"),y=false;try{z.call(document.documentElement,"[test!='']:sizzle")}catch(A){y=true}d.matchesSelector=function(D,F){F=F.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!d.isXML(D)){try{if(y||!k.match.PSEUDO.test(F)&&!/!=/.test(F)){var C=z.call(D,F);if(C||!B||D.document&&D.document.nodeType!==11){return C}}}catch(E){}}return d(F,null,null,[D]).length>0}}})();(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}k.order.splice(1,0,"CLASS");k.find.CLASS=function(y,z,A){if(typeof z.getElementsByClassName!=="undefined"&&!A){return z.getElementsByClassName(y[1])}};e=null})();function a(y,D,C,G,E,F){for(var A=0,z=G.length;A<z;A++){var e=G[A];if(e){var B=false;e=e[y];while(e){if(e[i]===C){B=G[e.sizset];break}if(e.nodeType===1&&!F){e[i]=C;e.sizset=A}if(e.nodeName.toLowerCase()===D){B=e;break}e=e[y]}G[A]=B}}}function t(y,D,C,G,E,F){for(var A=0,z=G.length;A<z;A++){var e=G[A];if(e){var B=false;e=e[y];while(e){if(e[i]===C){B=G[e.sizset];break}if(e.nodeType===1){if(!F){e[i]=C;e.sizset=A}if(typeof D!=="string"){if(e===D){B=true;break}}else{if(d.filter(D,[e]).length>0){B=e;break}}}e=e[y]}G[A]=B}}}if(document.documentElement.contains){d.contains=function(y,e){return y!==e&&(y.contains?y.contains(e):true)}}else{if(document.documentElement.compareDocumentPosition){d.contains=function(y,e){return !!(y.compareDocumentPosition(e)&16)}}else{d.contains=function(){return false}}}d.isXML=function(e){var y=(e?e.ownerDocument||e:0).documentElement;return y?y.nodeName!=="HTML":false};var s=function(z,e,D){var C,E=[],B="",F=e.nodeType?[e]:e;while((C=k.match.PSEUDO.exec(z))){B+=C[0];z=z.replace(k.match.PSEUDO,"")}z=k.relative[z]?z+"*":z;for(var A=0,y=F.length;A<y;A++){d(z,F[A],E,D)}return d.filter(B,E)};window.tinymce.dom.Sizzle=d})();(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(d){function f(g){return g.replace(/[\n\r]+/g,"")}var c=d.is,b=d.isIE,e=d.each,a=d.dom.TreeWalker;d.create("tinymce.dom.Selection",{Selection:function(k,j,i,h){var g=this;g.dom=k;g.win=j;g.serializer=i;g.editor=h;e(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(l){g[l]=new d.util.Dispatcher(g)});if(!g.win.getSelection){g.tridentSel=new d.dom.TridentSelection(g)}if(d.isIE&&k.boxModel){this._fixIESelection()}d.addUnload(g.destroy,g)},setCursorLocation:function(i,j){var g=this;var h=g.dom.createRng();h.setStart(i,j);h.setEnd(i,j);g.setRng(h);g.collapse(false)},getContent:function(h){var g=this,i=g.getRng(),m=g.dom.create("body"),k=g.getSel(),j,l,o;h=h||{};j=l="";h.get=true;h.format=h.format||"html";h.forced_root_block="";g.onBeforeGetContent.dispatch(g,h);if(h.format=="text"){return g.isCollapsed()?"":(i.text||(k.toString?k.toString():""))}if(i.cloneContents){o=i.cloneContents();if(o){m.appendChild(o)}}else{if(c(i.item)||c(i.htmlText)){m.innerHTML="<br>"+(i.item?i.item(0).outerHTML:i.htmlText);m.removeChild(m.firstChild)}else{m.innerHTML=i.toString()}}if(/^\s/.test(m.innerHTML)){j=" "}if(/\s+$/.test(m.innerHTML)){l=" "}h.getInner=true;h.content=g.isCollapsed()?"":j+g.serializer.serialize(m,h)+l;g.onGetContent.dispatch(g,h);return h.content},setContent:function(h,j){var o=this,g=o.getRng(),k,l=o.win.document,n,m;j=j||{format:"html"};j.set=true;h=j.content=h;if(!j.no_events){o.onBeforeSetContent.dispatch(o,j)}h=j.content;if(g.insertNode){h+='<span id="__caret">_</span>';if(g.startContainer==l&&g.endContainer==l){l.body.innerHTML=h}else{g.deleteContents();if(l.body.childNodes.length===0){l.body.innerHTML=h}else{if(g.createContextualFragment){g.insertNode(g.createContextualFragment(h))}else{n=l.createDocumentFragment();m=l.createElement("div");n.appendChild(m);m.outerHTML=h;g.insertNode(n)}}}k=o.dom.get("__caret");g=l.createRange();g.setStartBefore(k);g.setEndBefore(k);o.setRng(g);o.dom.remove("__caret");try{o.setRng(g)}catch(i){}}else{if(g.item){l.execCommand("Delete",false,null);g=o.getRng()}if(/^\s+/.test(h)){g.pasteHTML('<span id="__mce_tmp">_</span>'+h);o.dom.remove("__mce_tmp")}else{g.pasteHTML(h)}}if(!j.no_events){o.onSetContent.dispatch(o,j)}},getStart:function(){var i=this,h=i.getRng(),j,g,l,k;if(h.duplicate||h.item){if(h.item){return h.item(0)}l=h.duplicate();l.collapse(1);j=l.parentElement();if(j.ownerDocument!==i.dom.doc){j=i.dom.getRoot()}g=k=h.parentElement();while(k=k.parentNode){if(k==j){j=g;break}}return j}else{j=h.startContainer;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[Math.min(j.childNodes.length-1,h.startOffset)]}if(j&&j.nodeType==3){return j.parentNode}return j}},getEnd:function(){var h=this,g=h.getRng(),j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}g=g.duplicate();g.collapse(0);j=g.parentElement();if(j.ownerDocument!==h.dom.doc){j=h.dom.getRoot()}if(j&&j.nodeName=="BODY"){return j.lastChild||j}return j}else{j=g.endContainer;i=g.endOffset;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[i>0?i-1:i]}if(j&&j.nodeType==3){return j.parentNode}return j}},getBookmark:function(s,v){var y=this,n=y.dom,h,k,j,o,i,p,q,m="\uFEFF",x;function g(z,A){var t=0;e(n.select(z),function(C,B){if(C==A){t=B}});return t}function u(t){function z(E){var A,D,C,B=E?"start":"end";A=t[B+"Container"];D=t[B+"Offset"];if(A.nodeType==1&&A.nodeName=="TR"){C=A.childNodes;A=C[Math.min(E?D:D-1,C.length-1)];if(A){D=E?0:A.childNodes.length;t["set"+(E?"Start":"End")](A,D)}}}z(true);z();return t}function l(){var z=y.getRng(true),t=n.getRoot(),A={};function B(E,J){var D=E[J?"startContainer":"endContainer"],I=E[J?"startOffset":"endOffset"],C=[],F,H,G=0;if(D.nodeType==3){if(v){for(F=D.previousSibling;F&&F.nodeType==3;F=F.previousSibling){I+=F.nodeValue.length}}C.push(I)}else{H=D.childNodes;if(I>=H.length&&H.length){G=1;I=Math.max(0,H.length-1)}C.push(y.dom.nodeIndex(H[I],v)+G)}for(;D&&D!=t;D=D.parentNode){C.push(y.dom.nodeIndex(D,v))}return C}A.start=B(z,true);if(!y.isCollapsed()){A.end=B(z)}return A}if(s==2){if(y.tridentSel){return y.tridentSel.getBookmark(s)}return l()}if(s){return{rng:y.getRng()}}h=y.getRng();j=n.uniqueId();o=tinyMCE.activeEditor.selection.isCollapsed();x="overflow:hidden;line-height:0px";if(h.duplicate||h.item){if(!h.item){k=h.duplicate();try{h.collapse();h.pasteHTML('<span data-mce-type="bookmark" id="'+j+'_start" style="'+x+'">'+m+"</span>");if(!o){k.collapse(false);h.moveToElementText(k.parentElement());if(h.compareEndPoints("StartToEnd",k)===0){k.move("character",-1)}k.pasteHTML('<span data-mce-type="bookmark" id="'+j+'_end" style="'+x+'">'+m+"</span>")}}catch(r){return null}}else{p=h.item(0);i=p.nodeName;return{name:i,index:g(i,p)}}}else{p=y.getNode();i=p.nodeName;if(i=="IMG"){return{name:i,index:g(i,p)}}k=u(h.cloneRange());if(!o){k.collapse(false);k.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_end",style:x},m))}h=u(h);h.collapse(true);h.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_start",style:x},m))}y.moveToBookmark({id:j,keep:1});return{id:j}},moveToBookmark:function(o){var s=this,m=s.dom,j,i,g,r,k,u,p,q;function h(A){var t=o[A?"start":"end"],x,y,z,v;if(t){z=t[0];for(y=r,x=t.length-1;x>=1;x--){v=y.childNodes;if(t[x]>v.length-1){return}y=v[t[x]]}if(y.nodeType===3){z=Math.min(t[0],y.nodeValue.length)}if(y.nodeType===1){z=Math.min(t[0],y.childNodes.length)}if(A){g.setStart(y,z)}else{g.setEnd(y,z)}}return true}function l(B){var v=m.get(o.id+"_"+B),A,t,y,z,x=o.keep;if(v){A=v.parentNode;if(B=="start"){if(!x){t=m.nodeIndex(v)}else{A=v.firstChild;t=1}k=u=A;p=q=t}else{if(!x){t=m.nodeIndex(v)}else{A=v.firstChild;t=1}u=A;q=t}if(!x){z=v.previousSibling;y=v.nextSibling;e(d.grep(v.childNodes),function(C){if(C.nodeType==3){C.nodeValue=C.nodeValue.replace(/\uFEFF/g,"")}});while(v=m.get(o.id+"_"+B)){m.remove(v,1)}if(z&&y&&z.nodeType==y.nodeType&&z.nodeType==3&&!d.isOpera){t=z.nodeValue.length;z.appendData(y.nodeValue);m.remove(y);if(B=="start"){k=u=z;p=q=t}else{u=z;q=t}}}}}function n(t){if(m.isBlock(t)&&!t.innerHTML&&!b){t.innerHTML='<br data-mce-bogus="1" />'}return t}if(o){if(o.start){g=m.createRng();r=m.getRoot();if(s.tridentSel){return s.tridentSel.moveToBookmark(o)}if(h(true)&&h()){s.setRng(g)}}else{if(o.id){l("start");l("end");if(k){g=m.createRng();g.setStart(n(k),p);g.setEnd(n(u),q);s.setRng(g)}}else{if(o.name){s.select(m.select(o.name)[o.index])}else{if(o.rng){s.setRng(o.rng)}}}}}},select:function(l,k){var j=this,m=j.dom,h=m.createRng(),g;function i(n,p){var o=new a(n,n);do{if(n.nodeType==3&&d.trim(n.nodeValue).length!==0){if(p){h.setStart(n,0)}else{h.setEnd(n,n.nodeValue.length)}return}if(n.nodeName=="BR"){if(p){h.setStartBefore(n)}else{h.setEndBefore(n)}return}}while(n=(p?o.next():o.prev()))}if(l){g=m.nodeIndex(l);h.setStart(l.parentNode,g);h.setEnd(l.parentNode,g+1);if(k){i(l,1);i(l)}j.setRng(h)}return l},isCollapsed:function(){var g=this,i=g.getRng(),h=g.getSel();if(!i||i.item){return false}if(i.compareEndPoints){return i.compareEndPoints("StartToEnd",i)===0}return !h||i.collapsed},collapse:function(g){var i=this,h=i.getRng(),j;if(h.item){j=h.item(0);h=i.win.document.body.createTextRange();h.moveToElementText(j)}h.collapse(!!g);i.setRng(h)},getSel:function(){var h=this,g=this.win;return g.getSelection?g.getSelection():g.document.selection},getRng:function(m){var h=this,j,g,l,k=h.win.document;if(m&&h.tridentSel){return h.tridentSel.getRangeAt(0)}try{if(j=h.getSel()){g=j.rangeCount>0?j.getRangeAt(0):(j.createRange?j.createRange():k.createRange())}}catch(i){}if(d.isIE&&g&&g.setStart&&k.selection.createRange().item){l=k.selection.createRange().item(0);g=k.createRange();g.setStartBefore(l);g.setEndAfter(l)}if(!g){g=k.createRange?k.createRange():k.body.createTextRange()}if(g.setStart&&g.startContainer.nodeType===9&&g.collapsed){l=h.dom.getRoot();g.setStart(l,0);g.setEnd(l,0)}if(h.selectedRange&&h.explicitRange){if(g.compareBoundaryPoints(g.START_TO_START,h.selectedRange)===0&&g.compareBoundaryPoints(g.END_TO_END,h.selectedRange)===0){g=h.explicitRange}else{h.selectedRange=null;h.explicitRange=null}}return g},setRng:function(k,g){var j,i=this;if(!i.tridentSel){j=i.getSel();if(j){i.explicitRange=k;try{j.removeAllRanges()}catch(h){}j.addRange(k);if(g===false&&j.extend){j.collapse(k.endContainer,k.endOffset);j.extend(k.startContainer,k.startOffset)}i.selectedRange=j.rangeCount>0?j.getRangeAt(0):null}}else{if(k.cloneRange){try{i.tridentSel.addRange(k);return}catch(h){}}try{k.select()}catch(h){}}},setNode:function(h){var g=this;g.setContent(g.dom.getOuterHTML(h));return h},getNode:function(){var i=this,h=i.getRng(),j=i.getSel(),m,l=h.startContainer,g=h.endContainer;function k(q,o){var p=q;while(q&&q.nodeType===3&&q.length===0){q=o?q.nextSibling:q.previousSibling}return q||p}if(!h){return i.dom.getRoot()}if(h.setStart){m=h.commonAncestorContainer;if(!h.collapsed){if(h.startContainer==h.endContainer){if(h.endOffset-h.startOffset<2){if(h.startContainer.hasChildNodes()){m=h.startContainer.childNodes[h.startOffset]}}}if(l.nodeType===3&&g.nodeType===3){if(l.length===h.startOffset){l=k(l.nextSibling,true)}else{l=l.parentNode}if(h.endOffset===0){g=k(g.previousSibling,false)}else{g=g.parentNode}if(l&&l===g){return l}}}if(m&&m.nodeType==3){return m.parentNode}return m}return h.item?h.item(0):h.parentElement()},getSelectedBlocks:function(p,h){var o=this,k=o.dom,m,l,i,j=[];m=k.getParent(p||o.getStart(),k.isBlock);l=k.getParent(h||o.getEnd(),k.isBlock);if(m){j.push(m)}if(m&&l&&m!=l){i=m;var g=new a(m,k.getRoot());while((i=g.next())&&i!=l){if(k.isBlock(i)){j.push(i)}}}if(l&&m!=l){j.push(l)}return j},isForward:function(){var i=this.dom,g=this.getSel(),j,h;if(!g||g.anchorNode==null||g.focusNode==null){return true}j=i.createRng();j.setStart(g.anchorNode,g.anchorOffset);j.collapse(true);h=i.createRng();h.setStart(g.focusNode,g.focusOffset);h.collapse(true);return j.compareBoundaryPoints(j.START_TO_START,h)<=0},normalize:function(){var h=this,g,m,l,j,i;function k(p){var o,r,n,s=h.dom,u=s.getRoot(),q,t,v;function y(z,A){var B=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(z=B[A?"prev":"next"]()){if(z.nodeName==="BR"){return true}}}function x(B,z){var C,A;z=z||o;C=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(q=C[B?"prev":"next"]()){if(q.nodeType===3&&q.nodeValue.length>0){o=q;r=B?q.nodeValue.length:0;m=true;return}if(s.isBlock(q)||t[q.nodeName.toLowerCase()]){return}A=q}if(l&&A){o=A;m=true;r=0}}o=g[(p?"start":"end")+"Container"];r=g[(p?"start":"end")+"Offset"];t=s.schema.getNonEmptyElements();if(o.nodeType===9){o=s.getRoot();r=0}if(o===u){if(p){q=o.childNodes[r>0?r-1:0];if(q){v=q.nodeName.toLowerCase();if(t[q.nodeName]||q.nodeName=="TABLE"){return}}}if(o.hasChildNodes()){o=o.childNodes[Math.min(!p&&r>0?r-1:r,o.childNodes.length-1)];r=0;if(o.hasChildNodes()&&!/TABLE/.test(o.nodeName)){q=o;n=new a(o,u);do{if(q.nodeType===3&&q.nodeValue.length>0){r=p?0:q.nodeValue.length;o=q;m=true;break}if(t[q.nodeName.toLowerCase()]){r=s.nodeIndex(q);o=q.parentNode;if(q.nodeName=="IMG"&&!p){r++}m=true;break}}while(q=(p?n.next():n.prev()))}}}if(l){if(o.nodeType===3&&r===0){x(true)}if(o.nodeType===1){q=o.childNodes[r];if(q&&q.nodeName==="BR"&&!y(q)&&!y(q,true)){x(true,o.childNodes[r])}}}if(p&&!l&&o.nodeType===3&&r===o.nodeValue.length){x(false)}if(m){g["set"+(p?"Start":"End")](o,r)}}if(d.isIE){return}g=h.getRng();l=g.collapsed;k(true);if(!l){k()}if(m){if(l){g.collapse(true)}h.setRng(g,h.isForward())}},selectorChanged:function(g,j){var h=this,i;if(!h.selectorChangedData){h.selectorChangedData={};i={};h.editor.onNodeChange.addToTop(function(l,k,o){var p=h.dom,m=p.getParents(o,null,p.getRoot()),n={};e(h.selectorChangedData,function(r,q){e(m,function(s){if(p.is(s,q)){if(!i[q]){e(r,function(t){t(true,{node:s,selector:q,parents:m})});i[q]=r}n[q]=r;return false}})});e(i,function(r,q){if(!n[q]){delete i[q];e(r,function(s){s(false,{node:o,selector:q,parents:m})})}})})}if(!h.selectorChangedData[g]){h.selectorChangedData[g]=[]}h.selectorChangedData[g].push(j);return h},scrollIntoView:function(k){var j,h,g=this,i=g.dom;h=i.getViewPort(g.editor.getWin());j=i.getPos(k).y;if(j<h.y||j+25>h.y+h.h){g.editor.getWin().scrollTo(0,j<h.y?j:j-h.h+25)}},destroy:function(h){var g=this;g.win=null;if(!h){d.removeUnload(g.destroy)}},_fixIESelection:function(){var h=this.dom,n=h.doc,i=n.body,k,o,g;function j(p,s){var q=i.createTextRange();try{q.moveToPoint(p,s)}catch(r){q=null}return q}function m(q){var p;if(q.button){p=j(q.x,q.y);if(p){if(p.compareEndPoints("StartToStart",o)>0){p.setEndPoint("StartToStart",o)}else{p.setEndPoint("EndToEnd",o)}p.select()}}else{l()}}function l(){var p=n.selection.createRange();if(o&&!p.item&&p.compareEndPoints("StartToEnd",p)===0){o.select()}h.unbind(n,"mouseup",l);h.unbind(n,"mousemove",m);o=k=0}n.documentElement.unselectable=true;h.bind(n,["mousedown","contextmenu"],function(p){if(p.target.nodeName==="HTML"){if(k){l()}g=n.documentElement;if(g.scrollHeight>g.clientHeight){return}k=1;o=j(p.x,p.y);if(o){h.bind(n,"mouseup",l);h.bind(n,"mousemove",m);h.win.focus();o.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";e.remove_trailing_brs="remove_trailing_brs" in e?e.remove_trailing_brs:true;h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/(?:^|\s)mce(Item\w+|Selected)(?!\S)/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addAttributeFilter("data-mce-expando",function(j,l,k){var m=j.length;while(m--){j[m].attr(l,null)}});c.addNodeFilter("noscript",function(j){var k=j.length,l;while(k--){l=j[k].firstChild;if(l){l.value=a.html.Entities.decode(l.value)}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.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,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// <![CDATA[\n"+j(o)+"\n// ]]>"}}else{if(o.length>0){n.firstChild.value="<!--\n"+j(o)+"\n-->"}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(a.trim(m.getInner?o.innerHTML:i.getOuterHTML(o)),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],e={},d=[],g=0,f;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=document.createElement("script");s.id=n;s.type="text/javascript";s.src=a._addVer(m);if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==f){j.push(m);l[m]=c}if(q){if(!e[m]){e[m]=[]}e[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(e[r],function(s){s.func.call(s.scope)});e[r]=f}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,s){var i=d.startContainer,l=d.startOffset,t=d.endContainer,m=d.endOffset,j,g,o,h,r,q,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(u){s([u])});return}function f(u){var v;v=u[0];if(v.nodeType===3&&v===i&&l>=v.nodeValue.length){u.splice(0,1)}v=u[u.length-1];if(m===0&&u.length>0&&v===t&&v.nodeType===3){u.splice(u.length-1,1)}return u}function p(x,v,u){var y=[];for(;x&&x!=u;x=x[v]){y.push(x)}return y}function n(v,u){do{if(v.parentNode==u){return v}v=v.parentNode}while(v)}function k(x,v,y){var u=y?"nextSibling":"previousSibling";for(h=x,r=h.parentNode;h&&h!=v;h=r){r=h.parentNode;q=p(h==x?h:h[u],u);if(q.length){if(!y){q.reverse()}s(f(q))}}}if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[l]}if(t.nodeType==1&&t.hasChildNodes()){t=t.childNodes[Math.min(m-1,t.childNodes.length-1)]}if(i==t){return s(f([i]))}j=c.findCommonAncestor(i,t);for(h=i;h;h=h.parentNode){if(h===t){return k(i,j,true)}if(h===j){break}}for(h=t;h;h=h.parentNode){if(h===i){return k(t,j)}if(h===j){break}}g=n(i,j)||i;o=n(t,j)||t;k(i,g,true);q=p(g==i?g:g.nextSibling,"nextSibling",o==t?o.nextSibling:o);if(q.length){s(f(q))}k(t,o)};this.split=function(e){var h=e.startContainer,d=e.startOffset,i=e.endContainer,g=e.endOffset;function f(j,k){return j.splitText(k)}if(h==i&&h.nodeType==3){if(d>0&&d<h.nodeValue.length){i=f(h,d);h=i.previousSibling;if(g>d){g=g-d;h=i=f(i,g).previousSibling;g=i.nodeValue.length;d=0}else{g=0}}}else{if(h.nodeType==3&&d>0&&d<h.nodeValue.length){h=f(h,d);d=0}if(i.nodeType==3&&g>0&&g<i.nodeValue.length){i=f(i,g).previousSibling;g=i.nodeValue.length}}return{startContainer:h,startOffset:d,endContainer:i,endOffset:g}}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var q=this,n=e.root,m=e.items,o=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,l=e.excludeFromTabOrder,k,h,p,d,g;f=f||b.DOM;k=function(r){g=r.target.id};h=function(r){f.setAttrib(r.target.id,"tabindex","-1")};d=function(r){var s=f.get(g);f.setAttrib(s,"tabindex","0");s.focus()};q.focus=function(){f.get(g).focus()};q.destroy=function(){c(m,function(s){var t=f.get(s.id);f.unbind(t,"focus",k);f.unbind(t,"blur",h)});var r=f.get(n);f.unbind(r,"focus",d);f.unbind(r,"keydown",p);m=f=n=q.focus=k=h=p=d=null;q.destroy=function(){}};q.moveFocus=function(v,s){var r=-1,u=q.controls,t;if(!g){return}c(m,function(y,x){if(y.id===g){r=x;return false}});r+=v;if(r<0){r=m.length-1}else{if(r>=m.length){r=0}}t=m[r];f.setAttrib(g,"tabindex","-1");f.setAttrib(t.id,"tabindex","0");f.get(t.id).focus();if(e.actOnFocus){e.onAction(t.id)}if(s){a.cancel(s)}};p=function(z){var v=37,u=39,y=38,A=40,r=27,t=14,s=13,x=32;switch(z.keyCode){case v:if(i){q.moveFocus(-1)}a.cancel(z);break;case u:if(i){q.moveFocus(1)}a.cancel(z);break;case y:if(o){q.moveFocus(-1)}a.cancel(z);break;case A:if(o){q.moveFocus(1)}a.cancel(z);break;case r:if(e.onCancel){e.onCancel();a.cancel(z)}break;case t:case s:case x:if(e.onAction){e.onAction(g);a.cancel(z)}break}};c(m,function(t,r){var s,u;if(!t.id){t.id=f.uniqueId("_mce_item_")}u=f.get(t.id);if(l){f.bind(u,"blur",h);s="-1"}else{s=(r===0?"0":"-1")}u.setAttribute("tabindex",s);f.bind(u,"focus",k)});if(m[0]){g=m[0].id}f.setAttrib(n,"tabindex","-1");var j=f.get(n);f.bind(j,"focus",d);f.bind(j,"keydown",p)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.offsetWidth,j.max_width):g.offsetWidth;k=j.max_height?Math.min(g.offsetHeight,j.max_height):g.offsetHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return false}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.get("menu_"+g.id);h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){if(typeof h.settings.style=="function"){h.settings.style=h.settings.style()}c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a role="button" id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" aria-labelledby="'+this.id+'_voice" title="'+a.encode(e.title)+'">';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+='<span class="mceIcon '+e["class"]+'"><img class="mceIcon" src="'+e.image+'" alt="'+a.encode(e.title)+'" /></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}d+='<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="'+this.id+'_voice">'+e.title+"</span>";d+="</a>";return d},postRender:function(){var d=this,e=d.settings,c;if(b.isIE&&d.editor){b.dom.Event.add(d.id,"mousedown",function(f){var g=d.editor.selection.getNode().nodeName;c=g==="IMG"?d.editor.selection.getBookmark():null})}b.dom.Event.add(d.id,"click",function(f){if(!d.isDisabled()){if(b.isIE&&d.editor&&c!==null){d.editor.selection.moveToBookmark(c)}return e.onclick.call(e.scope,f)}});b.dom.Event.add(d.id,"keydown",function(f){if(!d.isDisabled()&&f.keyCode==b.VK.SPACEBAR){b.dom.Event.cancel(f);return e.onclick.call(e.scope,f)}})}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(j,i,g){var h=this;h.parent(j,i,g);h.items=[];h.onChange=new a(h);h.onPostRender=new a(h);h.onAdd=new a(h);h.onRenderMenu=new e.util.Dispatcher(this);h.classPrefix="mceListBox";h.marked={}},select:function(h){var g=this,j,i;g.marked={};if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){var i=this,j,k,h;i.marked={};if(g!=i.selectedIndex){j=d.get(i.id+"_text");h=d.get(i.id+"_voiceDesc");k=i.items[g];if(k){i.selectedValue=k.value;i.selectedIndex=g;d.setHTML(j,d.encode(k.title));d.setHTML(h,i.settings.title+" - "+k.title);d.removeClass(j,"mceTitle");d.setAttrib(i.id,"aria-valuenow",k.title)}else{d.setHTML(j,d.encode(i.settings.title));d.setHTML(h,d.encode(i.settings.title));d.addClass(j,"mceTitle");i.selectedValue=i.selectedIndex=null;d.setAttrib(i.id,"aria-valuenow",i.settings.title)}j=0}},mark:function(g){this.marked[g]=true},add:function(j,g,i){var h=this;i=i||{};i=e.extend(i,{title:j,value:g});h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var j="",g=this,i=g.settings,k=g.classPrefix;j='<span role="listbox" aria-haspopup="true" aria-labelledby="'+g.id+'_voiceDesc" aria-describedby="'+g.id+'_voiceDesc"><table role="presentation" tabindex="0" id="'+g.id+'" cellpadding="0" cellspacing="0" class="'+k+" "+k+"Enabled"+(i["class"]?(" "+i["class"]):"")+'"><tbody><tr>';j+="<td>"+d.createHTML("span",{id:g.id+"_voiceDesc","class":"voiceLabel",style:"display:none;"},g.settings.title);j+=d.createHTML("a",{id:g.id+"_text",tabindex:-1,href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},d.encode(g.settings.title))+"</td>";j+="<td>"+d.createHTML("a",{id:g.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>')+"</td>";j+="</tr></tbody></table></span>";return j},showMenu:function(){var h=this,j,i=d.get(this.id),g;if(h.isDisabled()||h.items.length===0){return}if(h.menu&&h.menu.isMenuVisible){return h.hideMenu()}if(!h.isMenuRendered){h.renderMenu();h.isMenuRendered=true}j=d.getPos(i);g=h.menu;g.settings.offset_x=j.x;g.settings.offset_y=j.y;g.settings.keyboard_focus=!e.isOpera;f(h.items,function(k){if(g.items[k.id]){g.items[k.id].setSelected(0)}});f(h.items,function(k){if(g.items[k.id]&&h.marked[k.value]){g.items[k.id].setSelected(1)}if(k.value===h.selectedValue){g.items[k.id].setSelected(1)}});g.showMenu(0,i.clientHeight);b.add(d.doc,"mousedown",h.hideMenu,h);d.addClass(h.id,h.classPrefix+"Selected")},hideMenu:function(h){var g=this;if(g.menu&&g.menu.isMenuVisible){d.removeClass(g.id,g.classPrefix+"Selected");if(h&&h.type=="mousedown"&&(h.target.id==g.id+"_text"||h.target.id==g.id+"_open")){return}if(!h||!d.getParent(h.target,".mceMenu")){d.removeClass(g.id,g.classPrefix+"Selected");b.remove(d.doc,"mousedown",g.hideMenu,g);g.menu.hideMenu()}}},renderMenu:function(){var h=this,g;g=h.settings.control_manager.createDropMenu(h.id+"_menu",{menu_line:1,"class":h.classPrefix+"Menu mceNoIcons",max_width:250,max_height:150});g.onHideMenu.add(function(){h.hideMenu();h.focus()});g.add({title:h.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}});f(h.items,function(i){if(i.value===c){g.add({title:i.title,role:"option","class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}})}else{i.id=d.uniqueId();i.role="option";i.onclick=function(){if(h.settings.onselect(i.value)!==false){h.select(i.value)}};g.add(i)}});h.onRenderMenu.dispatch(h,g);h.menu=g},postRender:function(){var g=this,h=g.classPrefix;b.add(g.id,"click",g.showMenu,g);b.add(g.id,"keydown",function(i){if(i.keyCode==32){g.showMenu(i);b.cancel(i)}});b.add(g.id,"focus",function(){if(!g._focused){g.keyDownHandler=b.add(g.id,"keydown",function(i){if(i.keyCode==40){g.showMenu();b.cancel(i)}});g.keyPressHandler=b.add(g.id,"keypress",function(j){var i;if(j.keyCode==13){i=g.selectedValue;g.selectedValue=null;b.cancel(j);g.settings.onselect(i)}})}g._focused=1});b.add(g.id,"blur",function(){b.remove(g.id,"keydown",g.keyDownHandler);b.remove(g.id,"keypress",g.keyPressHandler);g._focused=0});if(e.isIE6||!d.boxModel){b.add(g.id,"mouseover",function(){if(!d.hasClass(g.id,h+"Disabled")){d.addClass(g.id,h+"Hover")}});b.add(g.id,"mouseout",function(){if(!d.hasClass(g.id,h+"Disabled")){d.removeClass(g.id,h+"Hover")}})}g.onPostRender.dispatch(g,d.get(g.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(h,g){this.parent(h,g);this.classPrefix="mceNativeListBox"},setDisabled:function(g){d.get(this.id).disabled=g;this.setAriaProperty("disabled",g)},isDisabled:function(){return d.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){d.get(this.id).selectedIndex=g+1;this.selectedValue=this.items[g]?this.items[g].value:null},add:function(k,h,g){var j,i=this;g=g||{};g.value=h;if(i.isRendered()){d.add(d.get(this.id),"option",g,k)}j={title:k,value:h,attribs:g};i.items.push(j);i.onAdd.dispatch(i,j)},getLength:function(){return this.items.length},renderHTML:function(){var i,g=this;i=d.createHTML("option",{value:""},"-- "+g.settings.title+" --");f(g.items,function(h){i+=d.createHTML("option",{value:h.value},h.title)});i=d.createHTML("select",{id:g.id,"class":"mceNativeListBox","aria-labelledby":g.id+"_aria"},i);i+=d.createHTML("span",{id:g.id+"_aria",style:"display: none"},g.settings.title);return i},postRender:function(){var h=this,i,j=true;h.rendered=true;function g(l){var k=h.items[l.target.selectedIndex-1];if(k&&(k=k.value)){h.onChange.dispatch(h,k);if(h.settings.onselect){h.settings.onselect(k)}}}b.add(h.id,"change",g);b.add(h.id,"keydown",function(l){var k;b.remove(h.id,"change",i);j=false;k=b.add(h.id,"blur",function(){if(j){return}j=true;b.add(h.id,"change",g);b.remove(h.id,"blur",k)});if(e.isWebKit&&(l.keyCode==37||l.keyCode==39)){return b.prevent(l)}if(l.keyCode==13||l.keyCode==32){g(l);return b.cancel(l)}});h.onPostRender.dispatch(h,d.get(h.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.firstChild.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>');i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";i=b.createHTML("table",{role:"presentation","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("div",{id:f.id,role:"button",tabindex:"0","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.firstChild.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.keyboardNav=new d.ui.KeyboardNavigation({root:f.id+"_menu",items:c.select("a",f.id+"_menu"),onCancel:function(){f.hideMenu();f.focus()}});f.keyboardNav.focus();f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0;f.onHideMenu.dispatch();f.keyboardNav.destroy()}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(m){m=m.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");var i={href:"javascript:;",style:{backgroundColor:"#"+m},title:p.editor.getLang("colors."+m,m),"data-mce-color":"#"+m};if(!d.isIE){i.role="option"}g=c.add(g,"a",i);if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+m;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return false});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){var f=this;f.parent();a.clear(f.id+"_menu");a.clear(f.id+"_more");c.remove(f.id+"_menu");if(f.keyboardNav){f.keyboardNav.destroy()}}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('<div id="'+f.id+'" role="group" aria-labelledby="'+f.id+'_voice">');i.push("<span role='application'>");i.push('<span id="'+f.id+'_voice" class="mceVoiceLabel" style="display:none;">'+d.encode(g.name)+"</span>");j(e,function(h){i.push(h.renderHTML())});i.push("</span>");i.push("</div>");return i.join("")},focus:function(){var e=this;d.get(e.id).focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){if(b.isWebKit){d.get(f.editor.id+"_ifr").focus()}f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e<l.length;e++){k=l[e];d=l[e-1];g=l[e+1];if(e===0){j="mceToolbarStart";if(k.Button){j+=" mceToolbarStartButton"}else{if(k.SplitButton){j+=" mceToolbarStartSplitButton"}else{if(k.ListBox){j+=" mceToolbarStartListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,"<!-- IE -->"))}}if(c.stdMode){f+='<td style="position: relative">'+k.renderHTML()+"</td>"}else{f+="<td>"+k.renderHTML()+"</td>"}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,"<!-- IE -->"))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},"<tbody><tr>"+f+"</tr></tbody>")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!==0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(x){var v=this,o,n=j.ScriptLoader,u,l=[],r;function q(t){var s=t.id;if(!s){s=t.name;if(s&&!k.get(s)){s=t.name}else{s=k.uniqueId()}t.setAttribute("id",s)}return s}function m(z,A,t){var y=z[A];if(!y){return}if(j.is(y,"string")){t=y.replace(/\.\w+$/,"");t=t?j.resolve(t):0;y=j.resolve(y)}return y.apply(t||this,Array.prototype.slice.call(arguments,2))}function p(t,s){return s.constructor===RegExp?s.test(t.className):k.hasClass(t,s)}v.settings=x;i.bind(window,"ready",function(){var s,t;m(x,"onpageload");switch(x.mode){case"exact":s=x.elements||"";if(s.length>0){g(e(s),function(y){if(k.get(y)){r=new j.Editor(y,x);l.push(r);r.render(1)}else{g(document.forms,function(z){g(z.elements,function(A){if(A.name===y){y="mce_editor_"+c++;k.setAttrib(A,"id",y);r=new j.Editor(y,x);l.push(r);r.render(1)}})})}})}break;case"textareas":case"specific_textareas":g(k.select("textarea"),function(y){if(x.editor_deselector&&p(y,x.editor_deselector)){return}if(!x.editor_selector||p(y,x.editor_selector)){r=new j.Editor(q(y),x);l.push(r);r.render(1)}});break;default:if(x.types){g(x.types,function(y){g(k.select(y.selector),function(A){var z=new j.Editor(q(A),j.extend({},x,y));l.push(z);z.render(1)})})}else{if(x.selector){g(k.select(x.selector),function(z){var y=new j.Editor(q(z),x);l.push(y);y.render(1)})}}}if(x.oninit){s=t=0;g(l,function(y){t++;if(!y.initialized){y.onInit.add(function(){s++;if(s==t){m(x,"oninit")}})}else{s++}if(s==t){m(x,"oninit")}})}})},get:function(l){if(l===a){return this.editors}if(!this.editors.hasOwnProperty(l)){return a}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE){l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(k){var l=k.DOM,j=k.dom.Event,f=k.extend,i=k.each,a=k.isGecko,b=k.isIE,e=k.isWebKit,d=k.is,h=k.ThemeManager,c=k.PluginManager,g=k.explode;k.create("tinymce.Editor",{Editor:function(p,o){var m=this,n=true;m.settings=o=f({id:p,language:"en",theme:"advanced",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:k.documentBaseURL,add_form_submit_trigger:n,submit_patch:n,add_unload_trigger:n,convert_urls:n,relative_urls:n,remove_script_host:n,table_inline_editing:false,object_resizing:n,accessibility_focus:n,doctype:k.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual:n,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%",apply_source_formatting:n,directionality:"ltr",forced_root_block:"p",hidden_input:n,padd_empty_editor:n,render_ui:n,indentation:"30px",fix_table_elements:n,inline_styles:n,convert_fonts_to_spans:n,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:n,entity_encoding:"named",url_converter:m.convertURL,url_converter_scope:m,ie7_compat:n},o);m.id=m.editorId=p;m.isNotDirty=false;m.plugins={};m.documentBaseURI=new k.util.URI(o.document_base_url||k.documentBaseURL,{base_uri:tinyMCE.baseURI});m.baseURI=k.baseURI;m.contentCSS=[];m.contentStyles=[];m.setupEvents();m.execCommands={};m.queryStateCommands={};m.queryValueCommands={};m.execCallback("setup",m)},render:function(o){var p=this,q=p.settings,r=p.id,m=k.ScriptLoader;if(!j.domLoaded){j.add(window,"ready",function(){p.render()});return}tinyMCE.settings=q;if(!p.getElement()){return}if(k.isIDevice&&!k.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(p.getElement().nodeName)&&q.hidden_input&&l.getParent(r,"form")){l.insertAfter(l.create("input",{type:"hidden",name:r}),r)}if(!q.content_editable){p.orgVisibility=p.getElement().style.visibility;p.getElement().style.visibility="hidden"}if(k.WindowManager){p.windowManager=new k.WindowManager(p)}if(q.encoding=="xml"){p.onGetContent.add(function(s,t){if(t.save){t.content=l.encode(t.content)}})}if(q.add_form_submit_trigger){p.onSubmit.addToTop(function(){if(p.initialized){p.save();p.isNotDirty=1}})}if(q.add_unload_trigger){p._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(p.initialized&&!p.destroyed&&!p.isHidden()){p.save({format:"raw",no_events:true})}})}k.addUnload(p.destroy,p);if(q.submit_patch){p.onBeforeRenderUI.add(function(){var s=p.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){p.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){k.triggerSave();p.isNotDirty=1;return p.formElement._mceOldSubmit(p.formElement)}}s=null})}function n(){if(q.language&&q.language_load!==false){m.add(k.baseURL+"/langs/"+q.language+".js")}if(q.theme&&typeof q.theme!="function"&&q.theme.charAt(0)!="-"&&!h.urls[q.theme]){h.load(q.theme,"themes/"+q.theme+"/editor_template"+k.suffix+".js")}i(g(q.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(v){var u={prefix:"plugins/",resource:v,suffix:"/editor_plugin"+k.suffix+".js"};v=c.createUrl(u,v);c.load(v.resource,v)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+k.suffix+".js"})}}});m.loadQueue(function(){if(!p.removed){p.init()}})}n()},init:function(){var q,G=this,H=G.settings,D,y,z,C=G.getElement(),p,m,E,v,B,F,x,r=[];k.add(G);H.aria_label=H.aria_label||l.getAttrib(C,"aria-label",G.getLang("aria.rich_text_area"));if(H.theme){if(typeof H.theme!="function"){H.theme=H.theme.replace(/-/,"");p=h.get(H.theme);G.theme=new p();if(G.theme.init){G.theme.init(G,h.urls[H.theme]||k.documentBaseURL.replace(/\/$/,""))}}else{G.theme=H.theme}}function A(s){var t=c.get(s),o=c.urls[s]||k.documentBaseURL.replace(/\/$/,""),n;if(t&&k.inArray(r,s)===-1){i(c.dependencies(s),function(u){A(u)});n=new t(G,o);G.plugins[s]=n;if(n.init){n.init(G,o);r.push(s)}}}i(g(H.plugins.replace(/\-/g,"")),A);if(H.popup_css!==false){if(H.popup_css){H.popup_css=G.documentBaseURI.toAbsolute(H.popup_css)}else{H.popup_css=G.baseURI.toAbsolute("themes/"+H.theme+"/skins/"+H.skin+"/dialog.css")}}if(H.popup_css_add){H.popup_css+=","+G.documentBaseURI.toAbsolute(H.popup_css_add)}G.controlManager=new k.ControlManager(G);G.onBeforeRenderUI.dispatch(G,G.controlManager);if(H.render_ui&&G.theme){G.orgDisplay=C.style.display;if(typeof H.theme!="function"){D=H.width||C.style.width||C.offsetWidth;y=H.height||C.style.height||C.offsetHeight;z=H.min_height||100;F=/^[0-9\.]+(|px)$/i;if(F.test(""+D)){D=Math.max(parseInt(D,10)+(p.deltaWidth||0),100)}if(F.test(""+y)){y=Math.max(parseInt(y,10)+(p.deltaHeight||0),z)}p=G.theme.renderUI({targetNode:C,width:D,height:y,deltaWidth:H.delta_width,deltaHeight:H.delta_height});l.setStyles(p.sizeContainer||p.editorContainer,{width:D,height:y});y=(p.iframeHeight||y)+(typeof(y)=="number"?(p.deltaHeight||0):"");if(y<z){y=z}}else{p=H.theme(G,C);if(p.editorContainer.nodeType){p.editorContainer=p.editorContainer.id=p.editorContainer.id||G.id+"_parent"}if(p.iframeContainer.nodeType){p.iframeContainer=p.iframeContainer.id=p.iframeContainer.id||G.id+"_iframecontainer"}y=p.iframeHeight||C.offsetHeight;if(b){G.onInit.add(function(n){n.dom.bind(n.getBody(),"beforedeactivate keydown",function(){n.lastIERng=n.selection.getRng()})})}}G.editorContainer=p.editorContainer}if(H.content_css){i(g(H.content_css),function(n){G.contentCSS.push(G.documentBaseURI.toAbsolute(n))})}if(H.content_style){G.contentStyles.push(H.content_style)}if(H.content_editable){C=q=p=null;return G.initContentBody()}if(document.domain&&location.hostname!=document.domain){k.relaxedDomain=document.domain}G.iframeHTML=H.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(H.document_base_url!=k.documentBaseURL){G.iframeHTML+='<base href="'+G.documentBaseURI.getURI()+'" />'}if(k.isIE8){if(H.ie7_compat){G.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}else{G.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=edge" />'}}G.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(x=0;x<G.contentCSS.length;x++){G.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+G.contentCSS[x]+'" />'}G.contentCSS=[];v=H.body_id||"tinymce";if(v.indexOf("=")!=-1){v=G.getParam("body_id","","hash");v=v[G.id]||v}B=H.body_class||"";if(B.indexOf("=")!=-1){B=G.getParam("body_class","","hash");B=B[G.id]||""}G.iframeHTML+='</head><body id="'+v+'" class="mceContentBody '+B+'" onload="window.parent.tinyMCE.get(\''+G.id+"').onLoad.dispatch();\"><br></body></html>";if(k.relaxedDomain&&(b||(k.isOpera&&parseFloat(opera.version())<11))){E='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+G.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()'}q=l.add(p.iframeContainer,"iframe",{id:G.id+"_ifr",src:E||'javascript:""',frameBorder:"0",allowTransparency:"true",title:H.aria_label,style:{width:"100%",height:y,display:"block"}});G.contentAreaContainer=p.iframeContainer;if(p.editorContainer){l.get(p.editorContainer).style.display=G.orgDisplay}C.style.visibility=G.orgVisibility;l.get(G.id).style.display="none";l.setAttrib(G.id,"aria-hidden",true);if(!k.relaxedDomain||!E){G.initContentBody()}C=q=p=null},initContentBody:function(){var n=this,p=n.settings,q=l.get(n.id),r=n.getDoc(),o,m,s;if((!b||!k.relaxedDomain)&&!p.content_editable){r.open();r.write(n.iframeHTML);r.close();if(k.relaxedDomain){r.domain=k.relaxedDomain}}if(p.content_editable){l.addClass(q,"mceContentBody");n.contentDocument=r=p.content_document||document;n.contentWindow=p.content_window||window;n.bodyElement=q;p.content_document=p.content_window=null}m=n.getBody();m.disabled=true;if(!p.readonly){m.contentEditable=n.getParam("content_editable_state",true)}m.disabled=false;n.schema=new k.html.Schema(p);n.dom=new k.dom.DOMUtils(r,{keep_values:true,url_converter:n.convertURL,url_converter_scope:n,hex_colors:p.force_hex_style_colors,class_filter:p.class_filter,update_styles:true,root_element:p.content_editable?n.id:null,schema:n.schema});n.parser=new k.html.DomParser(p,n.schema);n.parser.addAttributeFilter("src,href,style",function(t,u){var v=t.length,y,A=n.dom,z,x;while(v--){y=t[v];z=y.attr(u);x="data-mce-"+u;if(!y.attributes.map[x]){if(u==="style"){y.attr(x,A.serializeStyle(A.parseStyle(z),y.name))}else{y.attr(x,n.convertURL(z,u,y.name))}}}});n.parser.addNodeFilter("script",function(t,u){var v=t.length,x;while(v--){x=t[v];x.attr("type","mce-"+(x.attr("type")||"text/javascript"))}});n.parser.addNodeFilter("#cdata",function(t,u){var v=t.length,x;while(v--){x=t[v];x.type=8;x.name="#comment";x.value="[CDATA["+x.value+"]]"}});n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(u,v){var x=u.length,y,t=n.schema.getNonEmptyElements();while(x--){y=u[x];if(y.isEmpty(t)){y.empty().append(new k.html.Node("br",1)).shortEnded=true}}});n.serializer=new k.dom.Serializer(p,n.dom,n.schema);n.selection=new k.dom.Selection(n.dom,n.getWin(),n.serializer,n);n.formatter=new k.Formatter(n);n.undoManager=new k.UndoManager(n);n.forceBlocks=new k.ForceBlocks(n);n.enterKey=new k.EnterKey(n);n.editorCommands=new k.EditorCommands(n);n.onExecCommand.add(function(t,u){if(!/^(FontName|FontSize)$/.test(u)){n.nodeChanged()}});n.serializer.onPreProcess.add(function(t,u){return n.onPreProcess.dispatch(n,u,t)});n.serializer.onPostProcess.add(function(t,u){return n.onPostProcess.dispatch(n,u,t)});n.onPreInit.dispatch(n);if(!p.browser_spellcheck&&!p.gecko_spellcheck){r.body.spellcheck=false}if(!p.readonly){n.bindNativeEvents()}n.controlManager.onPostRender.dispatch(n,n.controlManager);n.onPostRender.dispatch(n);n.quirks=k.util.Quirks(n);if(p.directionality){m.dir=p.directionality}if(p.nowrap){m.style.whiteSpace="nowrap"}if(p.protect){n.onBeforeSetContent.add(function(t,u){i(p.protect,function(v){u.content=u.content.replace(v,function(x){return"<!--mce:protected "+escape(x)+"-->"})})})}n.onSetContent.add(function(){n.addVisual(n.getBody())});if(p.padd_empty_editor){n.onPostProcess.add(function(t,u){u.content=u.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}n.load({initial:true,format:"html"});n.startContent=n.getContent({format:"raw"});n.initialized=true;n.onInit.dispatch(n);n.execCallback("setupcontent_callback",n.id,m,r);n.execCallback("init_instance_callback",n);n.focus(true);n.nodeChanged({initial:true});if(n.contentStyles.length>0){s="";i(n.contentStyles,function(t){s+=t+"\r\n"});n.dom.addStyle(s)}i(n.contentCSS,function(t){n.dom.loadCSS(t)});if(p.auto_focus){setTimeout(function(){var t=k.get(p.auto_focus);t.selection.select(t.getBody(),1);t.selection.collapse(1);t.getBody().focus();t.getWin().focus()},100)}q=r=m=null},focus:function(p){var o,u=this,t=u.selection,q=u.settings.content_editable,n,r,s=u.getDoc(),m;if(!p){if(u.lastIERng){t.setRng(u.lastIERng)}n=t.getRng();if(n.item){r=n.item(0)}u._refreshContentEditable();if(!q){u.getWin().focus()}if(k.isGecko||q){m=u.getBody();if(m.setActive){m.setActive()}else{m.focus()}if(q){t.normalize()}}if(r&&r.ownerDocument==s){n=s.body.createControlRange();n.addElement(r);n.select()}}if(k.activeEditor!=u){if((o=k.activeEditor)!=null){o.onDeactivate.dispatch(o,u)}u.onActivate.dispatch(u,o)}k._setActive(u)},execCallback:function(q){var m=this,p=m.settings[q],o;if(!p){return}if(m.callbackLookup&&(o=m.callbackLookup[q])){p=o.func;o=o.scope}if(d(p,"string")){o=p.replace(/\.\w+$/,"");o=o?k.resolve(o):0;p=k.resolve(p);m.callbackLookup=m.callbackLookup||{};m.callbackLookup[q]={func:p,scope:o}}return p.apply(o||m,Array.prototype.slice.call(arguments,1))},translate:function(m){var o=this.settings.language||"en",n=k.i18n;if(!m){return""}return n[o+"."+m]||m.replace(/\{\#([^\}]+)\}/g,function(q,p){return n[o+"."+p]||"{#"+p+"}"})},getLang:function(o,m){return k.i18n[(this.settings.language||"en")+"."+o]||(d(m)?m:"{#"+o+"}")},getParam:function(t,q,m){var r=k.trim,p=d(this.settings[t])?this.settings[t]:q,s;if(m==="hash"){s={};if(d(p,"string")){i(p.indexOf("=")>0?p.split(/[;,](?![^=;,]*(?:[;,]|$))/):p.split(","),function(n){n=n.split("=");if(n.length>1){s[r(n[0])]=r(n[1])}else{s[r(n[0])]=r(n)}})}else{s=p}return s}return p},nodeChanged:function(q){var m=this,n=m.selection,p;if(m.initialized){q=q||{};p=n.getStart()||m.getBody();p=b&&p.ownerDocument!=m.getDoc()?m.getBody():p;q.parents=[];m.dom.getParent(p,function(o){if(o.nodeName=="BODY"){return true}q.parents.push(o)});m.onNodeChange.dispatch(m,q?q.controlManager||m.controlManager:m.controlManager,p,n.isCollapsed(),q)}},addButton:function(n,o){var m=this;m.buttons=m.buttons||{};m.buttons[n]=o},addCommand:function(m,o,n){this.execCommands[m]={func:o,scope:n||this}},addQueryStateHandler:function(m,o,n){this.queryStateCommands[m]={func:o,scope:n||this}},addQueryValueHandler:function(m,o,n){this.queryValueCommands[m]={func:o,scope:n||this}},addShortcut:function(o,q,m,p){var n=this,r;if(n.settings.custom_shortcuts===false){return false}n.shortcuts=n.shortcuts||{};if(d(m,"string")){r=m;m=function(){n.execCommand(r,false,null)}}if(d(m,"object")){r=m;m=function(){n.execCommand(r[0],r[1],r[2])}}i(g(o),function(s){var t={func:m,scope:p||this,desc:n.translate(q),alt:false,ctrl:false,shift:false};i(g(s,"+"),function(u){switch(u){case"alt":case"ctrl":case"shift":t[u]=true;break;default:t.charCode=u.charCodeAt(0);t.keyCode=u.toUpperCase().charCodeAt(0)}});n.shortcuts[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t});return true},execCommand:function(u,r,x,m){var p=this,q=0,v,n;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(u)&&(!m||!m.skip_focus)){p.focus()}m=f({},m);p.onBeforeExecCommand.dispatch(p,u,r,x,m);if(m.terminate){return false}if(p.execCallback("execcommand_callback",p.id,p.selection.getNode(),u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(v=p.execCommands[u]){n=v.func.call(v.scope,r,x);if(n!==true){p.onExecCommand.dispatch(p,u,r,x,m);return n}}i(p.plugins,function(o){if(o.execCommand&&o.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);q=1;return false}});if(q){return true}if(p.theme&&p.theme.execCommand&&p.theme.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(p.editorCommands.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}p.getDoc().execCommand(u,r,x);p.onExecCommand.dispatch(p,u,r,x,m)},queryCommandState:function(q){var n=this,r,p;if(n._isHidden()){return}if(r=n.queryStateCommands[q]){p=r.func.call(r.scope);if(p!==true){return p}}r=n.editorCommands.queryCommandState(q);if(r!==-1){return r}try{return this.getDoc().queryCommandState(q)}catch(m){}},queryCommandValue:function(r){var n=this,q,p;if(n._isHidden()){return}if(q=n.queryValueCommands[r]){p=q.func.call(q.scope);if(p!==true){return p}}q=n.editorCommands.queryCommandValue(r);if(d(q)){return q}try{return this.getDoc().queryCommandValue(r)}catch(m){}},show:function(){var m=this;l.show(m.getContainer());l.hide(m.id);m.load()},hide:function(){var m=this,n=m.getDoc();if(b&&n){n.execCommand("SelectAll")}m.save();l.hide(m.getContainer());l.setStyle(m.id,"display",m.orgDisplay)},isHidden:function(){return !l.isHidden(this.id)},setProgressState:function(m,n,p){this.onSetProgressState.dispatch(this,m,n,p);return m},load:function(q){var m=this,p=m.getElement(),n;if(p){q=q||{};q.load=true;n=m.setContent(d(p.value)?p.value:p.innerHTML,q);q.element=p;if(!q.no_events){m.onLoadContent.dispatch(m,q)}q.element=p=null;return n}},save:function(r){var m=this,q=m.getElement(),n,p;if(!q||!m.initialized){return}r=r||{};r.save=true;r.element=q;n=r.content=m.getContent(r);if(!r.no_events){m.onSaveContent.dispatch(m,r)}n=r.content;if(!/TEXTAREA|INPUT/i.test(q.nodeName)){q.innerHTML=n;if(p=l.getParent(m.id,"form")){i(p.elements,function(o){if(o.name==m.id){o.value=n;return false}})}}else{q.value=n}r.element=q=null;return n},setContent:function(r,p){var o=this,n,m=o.getBody(),q;p=p||{};p.format=p.format||"html";p.set=true;p.content=r;if(!p.no_events){o.onBeforeSetContent.dispatch(o,p)}r=p.content;if(!k.isIE&&(r.length===0||/^\s+$/.test(r))){q=o.settings.forced_root_block;if(q){r="<"+q+'><br data-mce-bogus="1"></'+q+">"}else{r='<br data-mce-bogus="1">'}m.innerHTML=r;o.selection.select(m,true);o.selection.collapse(true);return}if(p.format!=="raw"){r=new k.html.Serializer({},o.schema).serialize(o.parser.parse(r))}p.content=k.trim(r);o.dom.setHTML(m,p.content);if(!p.no_events){o.onSetContent.dispatch(o,p)}if(!o.settings.content_editable||document.activeElement===o.getBody()){o.selection.normalize()}return p.content},getContent:function(o){var n=this,p,m=n.getBody();o=o||{};o.format=o.format||"html";o.get=true;o.getInner=true;if(!o.no_events){n.onBeforeGetContent.dispatch(n,o)}if(o.format=="raw"){p=m.innerHTML}else{if(o.format=="text"){p=m.innerText||m.textContent}else{p=n.serializer.serialize(m,o)}}if(o.format!="text"){o.content=k.trim(p)}else{o.content=p}if(!o.no_events){n.onGetContent.dispatch(n,o)}return o.content},isDirty:function(){var m=this;return k.trim(m.startContent)!=k.trim(m.getContent({format:"raw",no_events:1}))&&!m.isNotDirty},getContainer:function(){var m=this;if(!m.container){m.container=l.get(m.editorContainer||m.id+"_parent")}return m.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return l.get(this.settings.content_element||this.id)},getWin:function(){var m=this,n;if(!m.contentWindow){n=l.get(m.id+"_ifr");if(n){m.contentWindow=n.contentWindow}}return m.contentWindow},getDoc:function(){var m=this,n;if(!m.contentDocument){n=m.getWin();if(n){m.contentDocument=n.document}}return m.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(o,n,q){var m=this,p=m.settings;if(p.urlconverter_callback){return m.execCallback("urlconverter_callback",o,q,true,n)}if(!p.convert_urls||(q&&q.nodeName=="LINK")||o.indexOf("file:")===0){return o}if(p.relative_urls){return m.documentBaseURI.toRelative(o)}o=m.documentBaseURI.toAbsolute(o,p.remove_script_host);return o},addVisual:function(q){var n=this,o=n.settings,p=n.dom,m;q=q||n.getBody();if(!d(n.hasVisual)){n.hasVisual=o.visual}i(p.select("table,a",q),function(s){var r;switch(s.nodeName){case"TABLE":m=o.visual_table_class||"mceItemTable";r=p.getAttrib(s,"border");if(!r||r=="0"){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}return;case"A":if(!p.getAttrib(s,"href",false)){r=p.getAttrib(s,"name")||s.id;m="mceItemAnchor";if(r){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}}return}});n.onVisualAid.dispatch(n,q,n.hasVisual)},remove:function(){var m=this,o=m.getContainer(),n=m.getDoc();if(!m.removed){m.removed=1;if(b&&n){n.execCommand("SelectAll")}m.save();l.setStyle(m.id,"display",m.orgDisplay);if(!m.settings.content_editable){j.unbind(m.getWin());j.unbind(m.getDoc())}j.unbind(m.getBody());j.clear(o);m.execCallback("remove_instance_callback",m);m.onRemove.dispatch(m);m.onExecCommand.listeners=[];k.remove(m);l.remove(o)}},destroy:function(n){var m=this;if(m.destroyed){return}if(a){j.unbind(m.getDoc());j.unbind(m.getWin());j.unbind(m.getBody())}if(!n){k.removeUnload(m.destroy);tinyMCE.onBeforeUnload.remove(m._beforeUnload);if(m.theme&&m.theme.destroy){m.theme.destroy()}m.controlManager.destroy();m.selection.destroy();m.dom.destroy()}if(m.formElement){m.formElement.submit=m.formElement._mceOldSubmit;m.formElement._mceOldSubmit=null}m.contentAreaContainer=m.formElement=m.container=m.settings.content_element=m.bodyElement=m.contentDocument=m.contentWindow=null;if(m.selection){m.selection=m.selection.win=m.selection.dom=m.selection.dom.doc=null}m.destroyed=1},_refreshContentEditable:function(){var n=this,m,o;if(n._isHidden()){m=n.getBody();o=m.parentNode;o.removeChild(m);o.appendChild(m);m.focus()}},_isHidden:function(){var m;if(!a){return 0}m=this.selection.getSel();return(!m||!m.rangeCount||m.rangeCount===0)}})})(tinymce);(function(a){var b=a.each;a.Editor.prototype.setupEvents=function(){var c=this,d=c.settings;b(["onPreInit","onBeforeRenderUI","onPostRender","onLoad","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState","onSetAttrib"],function(e){c[e]=new a.util.Dispatcher(c)});if(d.cleanup_callback){c.onBeforeSetContent.add(function(e,f){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)});c.onPreProcess.add(function(e,f){if(f.set){e.execCallback("cleanup_callback","insert_to_editor_dom",f.node,f)}if(f.get){e.execCallback("cleanup_callback","get_from_editor_dom",f.node,f)}});c.onPostProcess.add(function(e,f){if(f.set){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)}if(f.get){f.content=e.execCallback("cleanup_callback","get_from_editor",f.content,f)}})}if(d.save_callback){c.onGetContent.add(function(e,f){if(f.save){f.content=e.execCallback("save_callback",e.id,f.content,e.getBody())}})}if(d.handle_event_callback){c.onEvent.add(function(f,g,h){if(c.execCallback("handle_event_callback",g,f,h)===false){g.preventDefault();g.stopPropagation()}})}if(d.handle_node_change_callback){c.onNodeChange.add(function(f,e,g){f.execCallback("handle_node_change_callback",f.id,g,-1,-1,true,f.selection.isCollapsed())})}if(d.save_callback){c.onSaveContent.add(function(e,g){var f=e.execCallback("save_callback",e.id,g.content,e.getBody());if(f){g.content=f}})}if(d.onchange_callback){c.onChange.add(function(f,e){f.execCallback("onchange_callback",f,e)})}};a.Editor.prototype.bindNativeEvents=function(){var l=this,f,d=l.settings,e=l.dom,h;h={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function c(i,m){var n=i.type;if(l.removed){return}if(l.onEvent.dispatch(l,i,m)!==false){l[h[i.fakeType||i.type]].dispatch(l,i,m)}}function j(i){l.focus(true)}function k(i,m){if(m.keyCode!=65||!a.VK.metaKeyPressed(m)){l.selection.normalize()}l.nodeChanged()}b(h,function(m,n){var i=d.content_editable?l.getBody():l.getDoc();switch(n){case"contextmenu":e.bind(i,n,c);break;case"paste":e.bind(l.getBody(),n,c);break;case"submit":case"reset":e.bind(l.getElement().form||a.DOM.getParent(l.id,"form"),n,c);break;default:e.bind(i,n,c)}});e.bind(d.content_editable?l.getBody():(a.isGecko?l.getDoc():l.getWin()),"focus",function(i){l.focus(true)});if(d.content_editable&&a.isOpera){e.bind(l.getBody(),"click",j);e.bind(l.getBody(),"keydown",j)}l.onMouseUp.add(k);l.onKeyUp.add(function(i,n){var m=n.keyCode;if((m>=33&&m<=36)||(m>=37&&m<=40)||m==13||m==45||m==46||m==8||(a.isMac&&(m==91||m==93))||n.ctrlKey){k(i,n)}});l.onReset.add(function(){l.setContent(l.startContent,{format:"raw"})});function g(m,i){if(m.altKey||m.ctrlKey||m.metaKey){b(l.shortcuts,function(n){var o=a.isMac?m.metaKey:m.ctrlKey;if(n.ctrl!=o||n.alt!=m.altKey||n.shift!=m.shiftKey){return}if(m.keyCode==n.keyCode||(m.charCode&&m.charCode==n.charCode)){m.preventDefault();if(i){n.func.call(n.scope)}return true}})}}l.onKeyUp.add(function(i,m){g(m)});l.onKeyPress.add(function(i,m){g(m)});l.onKeyDown.add(function(i,m){g(m,true)});if(a.isOpera){l.onClick.add(function(i,m){m.preventDefault()})}}})(tinymce);(function(d){var e=d.each,b,a=true,c=false;d.EditorCommands=function(n){var m=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,q=n.formatter,o;function r(z,y,x){var v;z=z.toLowerCase();if(v=j.exec[z]){v(z,y,x);return a}return c}function l(x){var v;x=x.toLowerCase();if(v=j.state[x]){return v(x)}return -1}function h(x){var v;x=x.toLowerCase();if(v=j.value[x]){return v(x)}return c}function u(v,x){x=x||"exec";e(v,function(z,y){e(y.toLowerCase().split(","),function(A){j[x][A]=z})})}d.extend(this,{execCommand:r,queryCommandState:l,queryCommandValue:h,addCommands:u});function f(y,x,v){if(x===b){x=c}if(v===b){v=null}return n.getDoc().execCommand(y,x,v)}function t(v){return q.match(v)}function s(v,x){q.toggle(v,x?{value:x}:b)}function i(v){o=p.getBookmark(v)}function g(){p.moveToBookmark(o)}u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(z){var y=n.getDoc(),v;try{f(z)}catch(x){v=a}if(v||!y.queryCommandSupported(z)){if(d.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(A){if(A){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(v){if(p.isCollapsed()){p.select(p.getNode())}f(v);p.collapse(c)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){var x=v.substring(7);e("left,center,right,full".split(","),function(y){if(x!=y){q.remove("align"+y)}});s("align"+x);r("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(y){var v,x;f(y);v=m.getParent(p.getNode(),"ol,ul");if(v){x=v.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)){i();m.split(x,v);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){s(v)},"ForeColor,HiliteColor,FontName":function(y,x,v){s(y,v)},FontSize:function(z,y,x){var v,A;if(x>=1&&x<=7){A=d.explode(k.font_size_style_values);v=d.explode(k.font_size_classes);if(v){x=v[x-1]||x}else{x=A[x-1]||x}}s(z,x)},RemoveFormat:function(v){q.remove(v)},mceBlockQuote:function(v){s("blockquote")},FormatBlock:function(y,x,v){return s(v||"p")},mceCleanup:function(){var v=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(v)},mceRemoveNode:function(z,y,x){var v=x||p.getNode();if(v!=n.getBody()){i();n.dom.remove(v,a);g()}},mceSelectNodeDepth:function(z,y,x){var v=0;m.getParent(p.getNode(),function(A){if(A.nodeType==1&&v++==x){p.select(A);return c}},n.getBody())},mceSelectNode:function(y,x,v){p.select(v)},mceInsertContent:function(B,I,K){var y,J,E,z,F,G,D,C,L,x,A,M,v,H;y=n.parser;J=new d.html.Serializer({},n.schema);v='<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>';G={content:K,format:"html"};p.onBeforeSetContent.dispatch(p,G);K=G.content;if(K.indexOf("{$caret}")==-1){K+="{$caret}"}K=K.replace(/\{\$caret\}/,v);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}E=p.getNode();G={context:E.nodeName.toLowerCase()};F=y.parse(K,G);A=F.lastChild;if(A.attr("id")=="mce_marker"){D=A;for(A=A.prev;A;A=A.walk(true)){if(A.type==3||!m.isBlock(A.name)){A.parent.insert(D,A,A.name==="br");break}}}if(!G.invalid){K=J.serialize(F);A=E.firstChild;M=E.lastChild;if(!A||(A===M&&A.nodeName==="BR")){m.setHTML(E,K)}else{p.setContent(K)}}else{p.setContent(v);E=p.getNode();z=n.getBody();if(E.nodeType==9){E=A=z}else{A=E}while(A!==z){E=A;A=A.parentNode}K=E==z?z.innerHTML:m.getOuterHTML(E);K=J.serialize(y.parse(K.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return J.serialize(F)})));if(E==z){m.setHTML(z,K)}else{m.setOuterHTML(E,K)}}D=m.get("mce_marker");C=m.getRect(D);L=m.getViewPort(n.getWin());if((C.y+C.h>L.y+L.h||C.y<L.y)||(C.x>L.x+L.w||C.x<L.x)){H=d.isIE?n.getDoc().documentElement:n.getBody();H.scrollLeft=C.x;H.scrollTop=C.y-L.h+25}x=m.createRng();A=D.previousSibling;if(A&&A.nodeType==3){x.setStart(A,A.nodeValue.length)}else{x.setStartBefore(D);x.setEndBefore(D)}m.remove(D);p.setRng(x);p.onSetContent.dispatch(p,G);n.addVisual()},mceInsertRawHTML:function(y,x,v){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return v}))},mceToggleFormat:function(y,x,v){s(v)},mceSetContent:function(y,x,v){n.setContent(v)},"Indent,Outdent":function(z){var x,v,y;x=k.indentation;v=/[a-z%]+$/i.exec(x);x=parseInt(x);if(!l("InsertUnorderedList")&&!l("InsertOrderedList")){if(!k.forced_root_block&&!m.getParent(p.getNode(),m.isBlock)){q.apply("div")}e(p.getSelectedBlocks(),function(A){if(z=="outdent"){y=Math.max(0,parseInt(A.style.paddingLeft||0)-x);m.setStyle(A,"paddingLeft",y?y+v:"")}else{m.setStyle(A,"paddingLeft",(parseInt(A.style.paddingLeft||0)+x)+v)}})}else{f(z)}},mceRepaint:function(){var x;if(d.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(v){}}},mceToggleFormat:function(y,x,v){q.toggle(v)},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(y,x,v){n.execCommand("mceInsertContent",false,v.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(z,y,x){var v;if(typeof(x)=="string"){x={href:x}}v=m.getParent(p.getNode(),"a");x.href=x.href.replace(" ","%20");if(!v||!x.href){q.remove("link")}if(x.href){q.apply("link",x,v)}},selectAll:function(){var x=m.getRoot(),v=m.createRng();if(p.getRng().setStart){v.setStart(x,0);v.setEnd(x,x.childNodes.length);p.setRng(v)}else{f("SelectAll")}}});u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(z){var x="align"+z.substring(7);var v=p.isCollapsed()?[m.getParent(p.getNode(),m.isBlock)]:p.getSelectedBlocks();var y=d.map(v,function(A){return !!q.matchNode(A,x)});return d.inArray(y,a)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){return t(v)},mceBlockQuote:function(){return t("blockquote")},Outdent:function(){var v;if(k.inline_styles){if((v=m.getParent(p.getStart(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}if((v=m.getParent(p.getEnd(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}}return l("InsertUnorderedList")||l("InsertOrderedList")||(!k.inline_styles&&!!m.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(x){var v=m.getParent(p.getNode(),"ul,ol");return v&&(x==="insertunorderedlist"&&v.tagName==="UL"||x==="insertorderedlist"&&v.tagName==="OL")}},"state");u({"FontSize,FontName":function(y){var x=0,v;if(v=m.getParent(p.getNode(),"span")){if(y=="fontsize"){x=v.style.fontSize}else{x=v.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return x}},"value");u({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(h){var l,i=0,e=[],g,k,j,f;function c(){return b.trim(h.getContent({format:"raw",no_events:1}).replace(/<span[^>]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>/g,""))}function d(){l.typing=false;l.add()}onBeforeAdd=new a(l);k=new a(l);j=new a(l);f=new a(l);k.add(function(m,n){if(m.hasUndo()){return h.onChange.dispatch(h,n,m)}});j.add(function(m,n){return h.onUndo.dispatch(h,n,m)});f.add(function(m,n){return h.onRedo.dispatch(h,n,m)});h.onInit.add(function(){l.add()});h.onBeforeExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.beforeChange()}});h.onExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.add()}});h.onSaveContent.add(d);h.dom.bind(h.dom.getRoot(),"dragend",d);h.dom.bind(h.getBody(),"focusout",function(m){if(!h.removed&&l.typing){d()}});h.onKeyUp.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45||n==13||o.ctrlKey){d()}});h.onKeyDown.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45){if(l.typing){d()}return}if((n<16||n>20)&&n!=224&&n!=91&&!l.typing){l.beforeChange();l.typing=true;l.add()}});h.onMouseDown.add(function(m,n){if(l.typing){d()}});h.addShortcut("ctrl+z","undo_desc","Undo");h.addShortcut("ctrl+y","redo_desc","Redo");l={data:e,typing:false,onBeforeAdd:onBeforeAdd,onAdd:k,onUndo:j,onRedo:f,beforeChange:function(){g=h.selection.getBookmark(2,true)},add:function(p){var m,n=h.settings,o;p=p||{};p.content=c();l.onBeforeAdd.dispatch(l,p);o=e[i];if(o&&o.content==p.content){return null}if(e[i]){e[i].beforeBookmark=g}if(n.custom_undo_redo_levels){if(e.length>n.custom_undo_redo_levels){for(m=0;m<e.length-1;m++){e[m]=e[m+1]}e.length--;i=e.length}}p.bookmark=h.selection.getBookmark(2,true);if(i<e.length-1){e.length=i+1}e.push(p);i=e.length-1;l.onAdd.dispatch(l,p);h.isNotDirty=0;return p},undo:function(){var n,m;if(l.typing){l.add();l.typing=false}if(i>0){n=e[--i];h.setContent(n.content,{format:"raw"});h.selection.moveToBookmark(n.beforeBookmark);l.onUndo.dispatch(l,n)}return n},redo:function(){var m;if(i<e.length-1){m=e[++i];h.setContent(m.content,{format:"raw"});h.selection.moveToBookmark(m.bookmark);l.onRedo.dispatch(l,m)}return m},clear:function(){e=[];i=0;l.typing=false},hasUndo:function(){return i>0||this.typing},hasRedo:function(){return i<e.length-1&&!this.typing}};return l}})(tinymce);tinymce.ForceBlocks=function(c){var b=c.settings,e=c.dom,a=c.selection,d=c.schema.getBlockElements();function f(){var j=a.getStart(),h=c.getBody(),g,k,o,s,q,i,l,m=-16777215,p,r;if(!j||j.nodeType!==1||!b.forced_root_block){return}while(j&&j!=h){if(d[j.nodeName]){return}j=j.parentNode}g=a.getRng();if(g.setStart){k=g.startContainer;o=g.startOffset;s=g.endContainer;q=g.endOffset}else{if(g.item){j=g.item(0);g=c.getDoc().body.createTextRange();g.moveToElementText(j)}r=g.parentElement().ownerDocument===c.getDoc();tmpRng=g.duplicate();tmpRng.collapse(true);o=tmpRng.move("character",m)*-1;if(!tmpRng.collapsed){tmpRng=g.duplicate();tmpRng.collapse(false);q=(tmpRng.move("character",m)*-1)-o}}j=h.firstChild;while(j){if(j.nodeType===3||(j.nodeType==1&&!d[j.nodeName])){if(j.nodeType===3&&j.nodeValue.length==0){l=j;j=j.nextSibling;e.remove(l);continue}if(!i){i=e.create(b.forced_root_block);j.parentNode.insertBefore(i,j);p=true}l=j;j=j.nextSibling;i.appendChild(l)}else{i=null;j=j.nextSibling}}if(p){if(g.setStart){g.setStart(k,o);g.setEnd(s,q);a.setRng(g)}else{if(r){try{g=c.getDoc().body.createTextRange();g.moveToElementText(h);g.collapse(true);g.moveStart("character",o);if(q>0){g.moveEnd("character",q)}g.select()}catch(n){}}}c.nodeChanged()}}if(b.forced_root_block){c.onKeyUp.add(f);c.onNodeChange.add(f)}};(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(j){var o,k,g,h=this,m=h.editor,n,f;if(!h.controlFactories){h.controlFactories=[];d(m.plugins,function(i){if(i.createControl){h.controlFactories.push(i)}})}n=h.controlFactories;for(k=0,g=n.length;k<g;k++){o=n[k].createControl(j,h);if(o){return h.add(o)}}if(j==="|"||j==="separator"){return h.createSeparator()}if(m.buttons&&(o=m.buttons[j])){return h.createButton(j,o)}return h.add(o)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}n["class"]+=i.settings.directionality=="rtl"?" mceRtl":"";f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(f,n,h){var l=this,j=l.editor,i,k,m;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,scope:n.scope,control_manager:l},n);f=l.prefix+f;function g(o){return o.settings.use_accessible_selects&&!c.isGecko}if(j.settings.use_native_selects||g(j)){k=new c.ui.NativeListBox(f,n)}else{m=h||l._cls.listbox||c.ui.ListBox;k=new m(f,n,j)}l.controls[f]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){j.bookmark=j.selection.getBookmark(1)});a.add(o,"focus",function(){j.selection.moveToBookmark(j.bookmark);j.bookmark=null})})}if(k.hideMenu){j.onMouseDown.add(k.hideMenu,k)}return l.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i,g);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i,g)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i,g));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n,j);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createToolbarGroup:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||this._cls.toolbarGroup||c.ui.ToolbarGroup;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){a.Formatter=function(aa){var Q={},T=a.each,c=aa.dom,r=aa.selection,t=a.dom.TreeWalker,N=new a.dom.RangeUtils(c),d=aa.schema.isValidChild,A=a.isArray,H=c.isBlock,m=aa.settings.forced_root_block,s=c.nodeIndex,G="\uFEFF",e=/^(src|href|style)$/,X=false,C=true,P,D,x=c.getContentEditable;function I(ab){return !!aa.schema.getTextBlocks()[ab.toLowerCase()]}function n(ac,ab){return c.getParents(ac,ab,c.getRoot())}function b(ab){return ab.nodeType===1&&ab.id==="_mce_caret"}function j(){l({alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,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:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},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"},link:{inline:"a",selector:"a",remove:"all",split:true,deep:true,onmatch:function(ab){return true},onformat:function(ad,ab,ac){T(ac,function(af,ae){c.setAttrib(ad,ae,af)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});T("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(ab){l(ab,{block:ab,remove:"all"})});l(aa.settings.formats)}function W(){aa.addShortcut("ctrl+b","bold_desc","Bold");aa.addShortcut("ctrl+i","italic_desc","Italic");aa.addShortcut("ctrl+u","underline_desc","Underline");for(var ab=1;ab<=6;ab++){aa.addShortcut("ctrl+"+ab,"",["FormatBlock",false,"h"+ab])}aa.addShortcut("ctrl+7","",["FormatBlock",false,"p"]);aa.addShortcut("ctrl+8","",["FormatBlock",false,"div"]);aa.addShortcut("ctrl+9","",["FormatBlock",false,"address"])}function V(ab){return ab?Q[ab]:Q}function l(ab,ac){if(ab){if(typeof(ab)!=="string"){T(ab,function(ae,ad){l(ad,ae)})}else{ac=ac.length?ac:[ac];T(ac,function(ad){if(ad.deep===D){ad.deep=!ad.selector}if(ad.split===D){ad.split=!ad.selector||ad.inline}if(ad.remove===D&&ad.selector&&!ad.inline){ad.remove="none"}if(ad.selector&&ad.inline){ad.mixed=true;ad.block_expand=true}if(typeof(ad.classes)==="string"){ad.classes=ad.classes.split(/\s+/)}});Q[ab]=ac}}}var i=function(ac){var ab;aa.dom.getParent(ac,function(ad){ab=aa.dom.getStyle(ad,"text-decoration");return ab&&ab!=="none"});return ab};var L=function(ab){var ac;if(ab.nodeType===1&&ab.parentNode&&ab.parentNode.nodeType===1){ac=i(ab.parentNode);if(aa.dom.getStyle(ab,"color")&&ac){aa.dom.setStyle(ab,"text-decoration",ac)}else{if(aa.dom.getStyle(ab,"textdecoration")===ac){aa.dom.setStyle(ab,"text-decoration",null)}}}};function Y(ae,al,ag){var ah=V(ae),am=ah[0],ak,ac,aj,ai=r.isCollapsed();function ab(aq,ap){ap=ap||am;if(aq){if(ap.onformat){ap.onformat(aq,ap,al,ag)}T(ap.styles,function(at,ar){c.setStyle(aq,ar,q(at,al))});T(ap.attributes,function(at,ar){c.setAttrib(aq,ar,q(at,al))});T(ap.classes,function(ar){ar=q(ar,al);if(!c.hasClass(aq,ar)){c.addClass(aq,ar)}})}}function af(){function ar(ay,aw){var ax=new t(aw);for(ag=ax.current();ag;ag=ax.prev()){if(ag.childNodes.length>1||ag==ay||ag.tagName=="BR"){return ag}}}var aq=aa.selection.getRng();var av=aq.startContainer;var ap=aq.endContainer;if(av!=ap&&aq.endOffset===0){var au=ar(av,ap);var at=au.nodeType==3?au.length:au.childNodes.length;aq.setEnd(au,at)}return aq}function ad(at,ay,aw,av,aq){var ap=[],ar=-1,ax,aA=-1,au=-1,az;T(at.childNodes,function(aC,aB){if(aC.nodeName==="UL"||aC.nodeName==="OL"){ar=aB;ax=aC;return false}});T(at.childNodes,function(aC,aB){if(aC.nodeName==="SPAN"&&c.getAttrib(aC,"data-mce-type")=="bookmark"){if(aC.id==ay.id+"_start"){aA=aB}else{if(aC.id==ay.id+"_end"){au=aB}}}});if(ar<=0||(aA<ar&&au>ar)){T(a.grep(at.childNodes),aq);return 0}else{az=c.clone(aw,X);T(a.grep(at.childNodes),function(aC,aB){if((aA<ar&&aB<ar)||(aA>ar&&aB>ar)){ap.push(aC);aC.parentNode.removeChild(aC)}});if(aA<ar){at.insertBefore(az,ax)}else{if(aA>ar){at.insertBefore(az,ax.nextSibling)}}av.push(az);T(ap,function(aB){az.appendChild(aB)});return az}}function an(aq,at,aw){var ap=[],av,ar,au=true;av=am.inline||am.block;ar=c.create(av);ab(ar);N.walk(aq,function(ax){var ay;function az(aA){var aF,aD,aB,aC,aE;aE=au;aF=aA.nodeName.toLowerCase();aD=aA.parentNode.nodeName.toLowerCase();if(aA.nodeType===1&&x(aA)){aE=au;au=x(aA)==="true";aC=true}if(g(aF,"br")){ay=0;if(am.block){c.remove(aA)}return}if(am.wrapper&&y(aA,ae,al)){ay=0;return}if(au&&!aC&&am.block&&!am.wrapper&&I(aF)){aA=c.rename(aA,av);ab(aA);ap.push(aA);ay=0;return}if(am.selector){T(ah,function(aG){if("collapsed" in aG&&aG.collapsed!==ai){return}if(c.is(aA,aG.selector)&&!b(aA)){ab(aA,aG);aB=true}});if(!am.inline||aB){ay=0;return}}if(au&&!aC&&d(av,aF)&&d(aD,av)&&!(!aw&&aA.nodeType===3&&aA.nodeValue.length===1&&aA.nodeValue.charCodeAt(0)===65279)&&!b(aA)&&(!am.inline||!H(aA))){if(!ay){ay=c.clone(ar,X);aA.parentNode.insertBefore(ay,aA);ap.push(ay)}ay.appendChild(aA)}else{if(aF=="li"&&at){ay=ad(aA,at,ar,ap,az)}else{ay=0;T(a.grep(aA.childNodes),az);if(aC){au=aE}ay=0}}}T(ax,az)});if(am.wrap_links===false){T(ap,function(ax){function ay(aC){var aB,aA,az;if(aC.nodeName==="A"){aA=c.clone(ar,X);ap.push(aA);az=a.grep(aC.childNodes);for(aB=0;aB<az.length;aB++){aA.appendChild(az[aB])}aC.appendChild(aA)}T(a.grep(aC.childNodes),ay)}ay(ax)})}T(ap,function(az){var ax;function aA(aC){var aB=0;T(aC.childNodes,function(aD){if(!f(aD)&&!K(aD)){aB++}});return aB}function ay(aB){var aD,aC;T(aB.childNodes,function(aE){if(aE.nodeType==1&&!K(aE)&&!b(aE)){aD=aE;return X}});if(aD&&h(aD,am)){aC=c.clone(aD,X);ab(aC);c.replace(aC,aB,C);c.remove(aD,1)}return aC||aB}ax=aA(az);if((ap.length>1||!H(az))&&ax===0){c.remove(az,1);return}if(am.inline||am.wrapper){if(!am.exact&&ax===1){az=ay(az)}T(ah,function(aB){T(c.select(aB.inline,az),function(aD){var aC;if(aB.wrap_links===false){aC=aD.parentNode;do{if(aC.nodeName==="A"){return}}while(aC=aC.parentNode)}Z(aB,al,aD,aB.exact?aD:null)})});if(y(az.parentNode,ae,al)){c.remove(az,1);az=0;return C}if(am.merge_with_parents){c.getParent(az.parentNode,function(aB){if(y(aB,ae,al)){c.remove(az,1);az=0;return C}})}if(az&&am.merge_siblings!==false){az=u(E(az),az);az=u(az,E(az,C))}}})}if(am){if(ag){if(ag.nodeType){ac=c.createRng();ac.setStartBefore(ag);ac.setEndAfter(ag);an(p(ac,ah),null,true)}else{an(ag,null,true)}}else{if(!ai||!am.inline||c.select("td.mceSelected,th.mceSelected").length){var ao=aa.selection.getNode();if(!m&&ah[0].defaultBlock&&!c.getParent(ao,c.isBlock)){Y(ah[0].defaultBlock)}aa.selection.setRng(af());ak=r.getBookmark();an(p(r.getRng(C),ah),ak);if(am.styles&&(am.styles.color||am.styles.textDecoration)){a.walk(ao,L,"childNodes");L(ao)}r.moveToBookmark(ak);R(r.getRng(C));aa.nodeChanged()}else{U("apply",ae,al)}}}}function B(ad,am,af){var ag=V(ad),ao=ag[0],ak,aj,ac,al=true;function ae(av){var au,at,ar,aq,ax,aw;if(av.nodeType===3){return}if(av.nodeType===1&&x(av)){ax=al;al=x(av)==="true";aw=true}au=a.grep(av.childNodes);if(al&&!aw){for(at=0,ar=ag.length;at<ar;at++){if(Z(ag[at],am,av,av)){break}}}if(ao.deep){if(au.length){for(at=0,ar=au.length;at<ar;at++){ae(au[at])}if(aw){al=ax}}}}function ah(aq){var ar;T(n(aq.parentNode).reverse(),function(at){var au;if(!ar&&at.id!="_start"&&at.id!="_end"){au=y(at,ad,am);if(au&&au.split!==false){ar=at}}});return ar}function ab(au,aq,aw,az){var aA,ay,ax,at,av,ar;if(au){ar=au.parentNode;for(aA=aq.parentNode;aA&&aA!=ar;aA=aA.parentNode){ay=c.clone(aA,X);for(av=0;av<ag.length;av++){if(Z(ag[av],am,ay,ay)){ay=0;break}}if(ay){if(ax){ay.appendChild(ax)}if(!at){at=ay}ax=ay}}if(az&&(!ao.mixed||!H(au))){aq=c.split(au,aq)}if(ax){aw.parentNode.insertBefore(ax,aw);at.appendChild(aw)}}return aq}function an(aq){return ab(ah(aq),aq,aq,true)}function ai(at){var ar=c.get(at?"_start":"_end"),aq=ar[at?"firstChild":"lastChild"];if(K(aq)){aq=aq[at?"firstChild":"lastChild"]}c.remove(ar,true);return aq}function ap(aq){var at,au,ar;aq=p(aq,ag,C);if(ao.split){at=M(aq,C);au=M(aq);if(at!=au){if(/^(TR|TD)$/.test(at.nodeName)&&at.firstChild){at=(at.nodeName=="TD"?at.firstChild:at.firstChild.firstChild)||at}at=S(at,"span",{id:"_start","data-mce-type":"bookmark"});au=S(au,"span",{id:"_end","data-mce-type":"bookmark"});an(at);an(au);at=ai(C);au=ai()}else{at=au=an(at)}aq.startContainer=at.parentNode;aq.startOffset=s(at);aq.endContainer=au.parentNode;aq.endOffset=s(au)+1}N.walk(aq,function(av){T(av,function(aw){ae(aw);if(aw.nodeType===1&&aa.dom.getStyle(aw,"text-decoration")==="underline"&&aw.parentNode&&i(aw.parentNode)==="underline"){Z({deep:false,exact:true,inline:"span",styles:{textDecoration:"underline"}},null,aw)}})})}if(af){if(af.nodeType){ac=c.createRng();ac.setStartBefore(af);ac.setEndAfter(af);ap(ac)}else{ap(af)}return}if(!r.isCollapsed()||!ao.inline||c.select("td.mceSelected,th.mceSelected").length){ak=r.getBookmark();ap(r.getRng(C));r.moveToBookmark(ak);if(ao.inline&&k(ad,am,r.getStart())){R(r.getRng(true))}aa.nodeChanged()}else{U("remove",ad,am)}}function F(ac,ae,ad){var ab=V(ac);if(k(ac,ae,ad)&&(!("toggle" in ab[0])||ab[0].toggle)){B(ac,ae,ad)}else{Y(ac,ae,ad)}}function y(ac,ab,ah,af){var ad=V(ab),ai,ag,ae;function aj(an,ap,aq){var am,ao,ak=ap[aq],al;if(ap.onmatch){return ap.onmatch(an,ap,aq)}if(ak){if(ak.length===D){for(am in ak){if(ak.hasOwnProperty(am)){if(aq==="attributes"){ao=c.getAttrib(an,am)}else{ao=O(an,am)}if(af&&!ao&&!ap.exact){return}if((!af||ap.exact)&&!g(ao,q(ak[am],ah))){return}}}}else{for(al=0;al<ak.length;al++){if(aq==="attributes"?c.getAttrib(an,ak[al]):O(an,ak[al])){return ap}}}}return ap}if(ad&&ac){for(ag=0;ag<ad.length;ag++){ai=ad[ag];if(h(ac,ai)&&aj(ac,ai,"attributes")&&aj(ac,ai,"styles")){if(ae=ai.classes){for(ag=0;ag<ae.length;ag++){if(!c.hasClass(ac,ae[ag])){return}}}return ai}}}}function k(ad,af,ae){var ac;function ab(ag){ag=c.getParent(ag,function(ah){return !!y(ah,ad,af,true)});return y(ag,ad,af)}if(ae){return ab(ae)}ae=r.getNode();if(ab(ae)){return C}ac=r.getStart();if(ac!=ae){if(ab(ac)){return C}}return X}function v(ai,ah){var af,ag=[],ae={},ad,ac,ab;af=r.getStart();c.getParent(af,function(al){var ak,aj;for(ak=0;ak<ai.length;ak++){aj=ai[ak];if(!ae[aj]&&y(al,aj,ah)){ae[aj]=true;ag.push(aj)}}},c.getRoot());return ag}function z(af){var ah=V(af),ae,ad,ag,ac,ab;if(ah){ae=r.getStart();ad=n(ae);for(ac=ah.length-1;ac>=0;ac--){ab=ah[ac].selector;if(!ab){return C}for(ag=ad.length-1;ag>=0;ag--){if(c.is(ad[ag],ab)){return C}}}}return X}function J(ab,ae,ac){var ad;if(!P){P={};ad={};aa.onNodeChange.addToTop(function(ag,af,ai){var ah=n(ai),aj={};T(P,function(ak,al){T(ah,function(am){if(y(am,al,{},ak.similar)){if(!ad[al]){T(ak,function(an){an(true,{node:am,format:al,parents:ah})});ad[al]=ak}aj[al]=ak;return false}})});T(ad,function(ak,al){if(!aj[al]){delete ad[al];T(ak,function(am){am(false,{node:ai,format:al,parents:ah})})}})})}T(ab.split(","),function(af){if(!P[af]){P[af]=[];P[af].similar=ac}P[af].push(ae)});return this}a.extend(this,{get:V,register:l,apply:Y,remove:B,toggle:F,match:k,matchAll:v,matchNode:y,canApply:z,formatChanged:J});j();W();function h(ab,ac){if(g(ab,ac.inline)){return C}if(g(ab,ac.block)){return C}if(ac.selector){return c.is(ab,ac.selector)}}function g(ac,ab){ac=ac||"";ab=ab||"";ac=""+(ac.nodeName||ac);ab=""+(ab.nodeName||ab);return ac.toLowerCase()==ab.toLowerCase()}function O(ac,ab){var ad=c.getStyle(ac,ab);if(ab=="color"||ab=="backgroundColor"){ad=c.toHex(ad)}if(ab=="fontWeight"&&ad==700){ad="bold"}return""+ad}function q(ab,ac){if(typeof(ab)!="string"){ab=ab(ac)}else{if(ac){ab=ab.replace(/%(\w+)/g,function(ae,ad){return ac[ad]||ae})}}return ab}function f(ab){return ab&&ab.nodeType===3&&/^([\t \r\n]+|)$/.test(ab.nodeValue)}function S(ad,ac,ab){var ae=c.create(ac,ab);ad.parentNode.insertBefore(ae,ad);ae.appendChild(ad);return ae}function p(ab,am,ae){var ap,an,ah,al,ad=ab.startContainer,ai=ab.startOffset,ar=ab.endContainer,ak=ab.endOffset;function ao(aA){var au,ax,az,aw,av,at;au=ax=aA?ad:ar;av=aA?"previousSibling":"nextSibling";at=c.getRoot();function ay(aB){return aB.nodeName=="BR"&&aB.getAttribute("data-mce-bogus")&&!aB.nextSibling}if(au.nodeType==3&&!f(au)){if(aA?ai>0:ak<au.nodeValue.length){return au}}for(;;){if(!am[0].block_expand&&H(ax)){return ax}for(aw=ax[av];aw;aw=aw[av]){if(!K(aw)&&!f(aw)&&!ay(aw)){return ax}}if(ax.parentNode==at){au=ax;break}ax=ax.parentNode}return au}function ag(at,au){if(au===D){au=at.nodeType===3?at.length:at.childNodes.length}while(at&&at.hasChildNodes()){at=at.childNodes[au];if(at){au=at.nodeType===3?at.length:at.childNodes.length}}return{node:at,offset:au}}if(ad.nodeType==1&&ad.hasChildNodes()){an=ad.childNodes.length-1;ad=ad.childNodes[ai>an?an:ai];if(ad.nodeType==3){ai=0}}if(ar.nodeType==1&&ar.hasChildNodes()){an=ar.childNodes.length-1;ar=ar.childNodes[ak>an?an:ak-1];if(ar.nodeType==3){ak=ar.nodeValue.length}}function aq(au){var at=au;while(at){if(at.nodeType===1&&x(at)){return x(at)==="false"?at:au}at=at.parentNode}return au}function aj(au,ay,aA){var ax,av,az,at;function aw(aC,aE){var aF,aB,aD=aC.nodeValue;if(typeof(aE)=="undefined"){aE=aA?aD.length:0}if(aA){aF=aD.lastIndexOf(" ",aE);aB=aD.lastIndexOf("\u00a0",aE);aF=aF>aB?aF:aB;if(aF!==-1&&!ae){aF++}}else{aF=aD.indexOf(" ",aE);aB=aD.indexOf("\u00a0",aE);aF=aF!==-1&&(aB===-1||aF<aB)?aF:aB}return aF}if(au.nodeType===3){az=aw(au,ay);if(az!==-1){return{container:au,offset:az}}at=au}ax=new t(au,c.getParent(au,H)||aa.getBody());while(av=ax[aA?"prev":"next"]()){if(av.nodeType===3){at=av;az=aw(av);if(az!==-1){return{container:av,offset:az}}}else{if(H(av)){break}}}if(at){if(aA){ay=0}else{ay=at.length}return{container:at,offset:ay}}}function af(au,at){var av,aw,ay,ax;if(au.nodeType==3&&au.nodeValue.length===0&&au[at]){au=au[at]}av=n(au);for(aw=0;aw<av.length;aw++){for(ay=0;ay<am.length;ay++){ax=am[ay];if("collapsed" in ax&&ax.collapsed!==ab.collapsed){continue}if(c.is(av[aw],ax.selector)){return av[aw]}}}return au}function ac(au,at,aw){var av;if(!am[0].wrapper){av=c.getParent(au,am[0].block)}if(!av){av=c.getParent(au.nodeType==3?au.parentNode:au,I)}if(av&&am[0].wrapper){av=n(av,"ul,ol").reverse()[0]||av}if(!av){av=au;while(av[at]&&!H(av[at])){av=av[at];if(g(av,"br")){break}}}return av||au}ad=aq(ad);ar=aq(ar);if(K(ad.parentNode)||K(ad)){ad=K(ad)?ad:ad.parentNode;ad=ad.nextSibling||ad;if(ad.nodeType==3){ai=0}}if(K(ar.parentNode)||K(ar)){ar=K(ar)?ar:ar.parentNode;ar=ar.previousSibling||ar;if(ar.nodeType==3){ak=ar.length}}if(am[0].inline){if(ab.collapsed){al=aj(ad,ai,true);if(al){ad=al.container;ai=al.offset}al=aj(ar,ak);if(al){ar=al.container;ak=al.offset}}ah=ag(ar,ak);if(ah.node){while(ah.node&&ah.offset===0&&ah.node.previousSibling){ah=ag(ah.node.previousSibling)}if(ah.node&&ah.offset>0&&ah.node.nodeType===3&&ah.node.nodeValue.charAt(ah.offset-1)===" "){if(ah.offset>1){ar=ah.node;ar.splitText(ah.offset-1)}}}}if(am[0].inline||am[0].block_expand){if(!am[0].inline||(ad.nodeType!=3||ai===0)){ad=ao(true)}if(!am[0].inline||(ar.nodeType!=3||ak===ar.nodeValue.length)){ar=ao()}}if(am[0].selector&&am[0].expand!==X&&!am[0].inline){ad=af(ad,"previousSibling");ar=af(ar,"nextSibling")}if(am[0].block||am[0].selector){ad=ac(ad,"previousSibling");ar=ac(ar,"nextSibling");if(am[0].block){if(!H(ad)){ad=ao(true)}if(!H(ar)){ar=ao()}}}if(ad.nodeType==1){ai=s(ad);ad=ad.parentNode}if(ar.nodeType==1){ak=s(ar)+1;ar=ar.parentNode}return{startContainer:ad,startOffset:ai,endContainer:ar,endOffset:ak}}function Z(ah,ag,ae,ab){var ad,ac,af;if(!h(ae,ah)){return X}if(ah.remove!="all"){T(ah.styles,function(aj,ai){aj=q(aj,ag);if(typeof(ai)==="number"){ai=aj;ab=0}if(!ab||g(O(ab,ai),aj)){c.setStyle(ae,ai,"")}af=1});if(af&&c.getAttrib(ae,"style")==""){ae.removeAttribute("style");ae.removeAttribute("data-mce-style")}T(ah.attributes,function(ak,ai){var aj;ak=q(ak,ag);if(typeof(ai)==="number"){ai=ak;ab=0}if(!ab||g(c.getAttrib(ab,ai),ak)){if(ai=="class"){ak=c.getAttrib(ae,ai);if(ak){aj="";T(ak.split(/\s+/),function(al){if(/mce\w+/.test(al)){aj+=(aj?" ":"")+al}});if(aj){c.setAttrib(ae,ai,aj);return}}}if(ai=="class"){ae.removeAttribute("className")}if(e.test(ai)){ae.removeAttribute("data-mce-"+ai)}ae.removeAttribute(ai)}});T(ah.classes,function(ai){ai=q(ai,ag);if(!ab||c.hasClass(ab,ai)){c.removeClass(ae,ai)}});ac=c.getAttribs(ae);for(ad=0;ad<ac.length;ad++){if(ac[ad].nodeName.indexOf("_")!==0){return X}}}if(ah.remove!="none"){o(ae,ah);return C}}function o(ad,ae){var ab=ad.parentNode,ac;function af(ah,ag,ai){ah=E(ah,ag,ai);return !ah||(ah.nodeName=="BR"||H(ah))}if(ae.block){if(!m){if(H(ad)&&!H(ab)){if(!af(ad,X)&&!af(ad.firstChild,C,1)){ad.insertBefore(c.create("br"),ad.firstChild)}if(!af(ad,C)&&!af(ad.lastChild,X,1)){ad.appendChild(c.create("br"))}}}else{if(ab==c.getRoot()){if(!ae.list_block||!g(ad,ae.list_block)){T(a.grep(ad.childNodes),function(ag){if(d(m,ag.nodeName.toLowerCase())){if(!ac){ac=S(ag,m)}else{ac.appendChild(ag)}}else{ac=0}})}}}}if(ae.selector&&ae.inline&&!g(ae.inline,ad)){return}c.remove(ad,1)}function E(ac,ab,ad){if(ac){ab=ab?"nextSibling":"previousSibling";for(ac=ad?ac:ac[ab];ac;ac=ac[ab]){if(ac.nodeType==1||!f(ac)){return ac}}}}function K(ab){return ab&&ab.nodeType==1&&ab.getAttribute("data-mce-type")=="bookmark"}function u(af,ae){var ab,ad,ac;function ah(ak,aj){if(ak.nodeName!=aj.nodeName){return X}function ai(am){var an={};T(c.getAttribs(am),function(ao){var ap=ao.nodeName.toLowerCase();if(ap.indexOf("_")!==0&&ap!=="style"){an[ap]=c.getAttrib(am,ap)}});return an}function al(ap,ao){var an,am;for(am in ap){if(ap.hasOwnProperty(am)){an=ao[am];if(an===D){return X}if(ap[am]!=an){return X}delete ao[am]}}for(am in ao){if(ao.hasOwnProperty(am)){return X}}return C}if(!al(ai(ak),ai(aj))){return X}if(!al(c.parseStyle(c.getAttrib(ak,"style")),c.parseStyle(c.getAttrib(aj,"style")))){return X}return C}function ag(aj,ai){for(ad=aj;ad;ad=ad[ai]){if(ad.nodeType==3&&ad.nodeValue.length!==0){return aj}if(ad.nodeType==1&&!K(ad)){return ad}}return aj}if(af&&ae){af=ag(af,"previousSibling");ae=ag(ae,"nextSibling");if(ah(af,ae)){for(ad=af.nextSibling;ad&&ad!=ae;){ac=ad;ad=ad.nextSibling;af.appendChild(ac)}c.remove(ae);T(a.grep(ae.childNodes),function(ai){af.appendChild(ai)});return af}}return ae}function I(ab){return/^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(ab)}function M(ac,ag){var ab,af,ad,ae;ab=ac[ag?"startContainer":"endContainer"];af=ac[ag?"startOffset":"endOffset"];if(ab.nodeType==1){ad=ab.childNodes.length-1;if(!ag&&af){af--}ab=ab.childNodes[af>ad?ad:af]}if(ab.nodeType===3&&ag&&af>=ab.nodeValue.length){ab=new t(ab,aa.getBody()).next()||ab}if(ab.nodeType===3&&!ag&&af===0){ab=new t(ab,aa.getBody()).prev()||ab}return ab}function U(ak,ab,ai){var al="_mce_caret",ac=aa.settings.caret_debug;function ad(ap){var ao=c.create("span",{id:al,"data-mce-bogus":true,style:ac?"color:red":""});if(ap){ao.appendChild(aa.getDoc().createTextNode(G))}return ao}function aj(ap,ao){while(ap){if((ap.nodeType===3&&ap.nodeValue!==G)||ap.childNodes.length>1){return false}if(ao&&ap.nodeType===1){ao.push(ap)}ap=ap.firstChild}return true}function ag(ao){while(ao){if(ao.id===al){return ao}ao=ao.parentNode}}function af(ao){var ap;if(ao){ap=new t(ao,ao);for(ao=ap.current();ao;ao=ap.next()){if(ao.nodeType===3){return ao}}}}function ae(aq,ap){var ar,ao;if(!aq){aq=ag(r.getStart());if(!aq){while(aq=c.get(al)){ae(aq,false)}}}else{ao=r.getRng(true);if(aj(aq)){if(ap!==false){ao.setStartBefore(aq);ao.setEndBefore(aq)}c.remove(aq)}else{ar=af(aq);if(ar.nodeValue.charAt(0)===G){ar=ar.deleteData(0,1)}c.remove(aq,1)}r.setRng(ao)}}function ah(){var aq,ao,av,au,ar,ap,at;aq=r.getRng(true);au=aq.startOffset;ap=aq.startContainer;at=ap.nodeValue;ao=ag(r.getStart());if(ao){av=af(ao)}if(at&&au>0&&au<at.length&&/\w/.test(at.charAt(au))&&/\w/.test(at.charAt(au-1))){ar=r.getBookmark();aq.collapse(true);aq=p(aq,V(ab));aq=N.split(aq);Y(ab,ai,aq);r.moveToBookmark(ar)}else{if(!ao||av.nodeValue!==G){ao=ad(true);av=ao.firstChild;aq.insertNode(ao);au=1;Y(ab,ai,ao)}else{Y(ab,ai,ao)}r.setCursorLocation(av,au)}}function am(){var ao=r.getRng(true),ap,ar,av,au,aq,ay,ax=[],at,aw;ap=ao.startContainer;ar=ao.startOffset;aq=ap;if(ap.nodeType==3){if(ar!=ap.nodeValue.length||ap.nodeValue===G){au=true}aq=aq.parentNode}while(aq){if(y(aq,ab,ai)){ay=aq;break}if(aq.nextSibling){au=true}ax.push(aq);aq=aq.parentNode}if(!ay){return}if(au){av=r.getBookmark();ao.collapse(true);ao=p(ao,V(ab),true);ao=N.split(ao);B(ab,ai,ao);r.moveToBookmark(av)}else{aw=ad();aq=aw;for(at=ax.length-1;at>=0;at--){aq.appendChild(c.clone(ax[at],false));aq=aq.firstChild}aq.appendChild(c.doc.createTextNode(G));aq=aq.firstChild;c.insertAfter(aw,ay);r.setCursorLocation(aq,1)}}function an(){var ap,ao,aq;ao=ag(r.getStart());if(ao&&!c.isEmpty(ao)){a.walk(ao,function(ar){if(ar.nodeType==1&&ar.id!==al&&!c.isEmpty(ar)){c.setAttrib(ar,"data-mce-bogus",null)}},"childNodes")}}if(!self._hasCaretEvents){aa.onBeforeGetContent.addToTop(function(){var ao=[],ap;if(aj(ag(r.getStart()),ao)){ap=ao.length;while(ap--){c.setAttrib(ao[ap],"data-mce-bogus","1")}}});a.each("onMouseUp onKeyUp".split(" "),function(ao){aa[ao].addToTop(function(){ae();an()})});aa.onKeyDown.addToTop(function(ao,aq){var ap=aq.keyCode;if(ap==8||ap==37||ap==39){ae(ag(r.getStart()))}an()});r.onSetContent.add(an);self._hasCaretEvents=true}if(ak=="apply"){ah()}else{am()}}function R(ac){var ab=ac.startContainer,ai=ac.startOffset,ae,ah,ag,ad,af;if(ab.nodeType==3&&ai>=ab.nodeValue.length){ai=s(ab);ab=ab.parentNode;ae=true}if(ab.nodeType==1){ad=ab.childNodes;ab=ad[Math.min(ai,ad.length-1)];ah=new t(ab,c.getParent(ab,c.isBlock));if(ai>ad.length-1||ae){ah.next()}for(ag=ah.current();ag;ag=ah.next()){if(ag.nodeType==3&&!f(ag)){af=c.create("a",null,G);ag.parentNode.insertBefore(af,ag);ac.setStart(ag,0);r.setRng(ac);c.remove(af);return}}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}if(c.inline_styles){h=e.explode(c.font_size_legacy_values);d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size,10)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}});(function(b){var a=b.dom.TreeWalker;b.EnterKey=function(f){var i=f.dom,e=f.selection,d=f.settings,h=f.undoManager,c=f.schema.getNonEmptyElements();function g(B){var v=e.getRng(true),G,j,A,u,p,M,C,o,k,n,t,J,x,D;function E(N){return N&&i.isBlock(N)&&!/^(TD|TH|CAPTION|FORM)$/.test(N.nodeName)&&!/^(fixed|absolute)/i.test(N.style.position)&&i.getContentEditable(N)!=="true"}function F(O){var N;if(b.isIE&&i.isBlock(O)){N=e.getRng();O.appendChild(i.create("span",null,"\u00a0"));e.select(O);O.lastChild.outerHTML="";e.setRng(N)}}function z(P){var O=P,Q=[],N;while(O=O.firstChild){if(i.isBlock(O)){return}if(O.nodeType==1&&!c[O.nodeName.toLowerCase()]){Q.push(O)}}N=Q.length;while(N--){O=Q[N];if(!O.hasChildNodes()||(O.firstChild==O.lastChild&&O.firstChild.nodeValue==="")){i.remove(O)}else{if(O.nodeName=="A"&&(O.innerText||O.textContent)===" "){i.remove(O)}}}}function m(O){var T,R,N,U,S,Q=O,P;N=i.createRng();if(O.hasChildNodes()){T=new a(O,O);while(R=T.current()){if(R.nodeType==3){N.setStart(R,0);N.setEnd(R,0);break}if(c[R.nodeName.toLowerCase()]){N.setStartBefore(R);N.setEndBefore(R);break}Q=R;R=T.next()}if(!R){N.setStart(Q,0);N.setEnd(Q,0)}}else{if(O.nodeName=="BR"){if(O.nextSibling&&i.isBlock(O.nextSibling)){if(!M||M<9){P=i.create("br");O.parentNode.insertBefore(P,O)}N.setStartBefore(O);N.setEndBefore(O)}else{N.setStartAfter(O);N.setEndAfter(O)}}else{N.setStart(O,0);N.setEnd(O,0)}}e.setRng(N);i.remove(P);S=i.getViewPort(f.getWin());U=i.getPos(O).y;if(U<S.y||U+25>S.y+S.h){f.getWin().scrollTo(0,U<S.y?U:U-S.h+25)}}function r(O){var P=A,R,Q,N;R=O||t=="TABLE"?i.create(O||x):p.cloneNode(false);N=R;if(d.keep_styles!==false){do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(P.nodeName)){if(P.id=="_mce_caret"){continue}Q=P.cloneNode(false);i.setAttrib(Q,"id","");if(R.hasChildNodes()){Q.appendChild(R.firstChild);R.appendChild(Q)}else{N=Q;R.appendChild(Q)}}}while(P=P.parentNode)}if(!b.isIE){N.innerHTML='<br data-mce-bogus="1">'}return R}function q(Q){var P,O,N;if(A.nodeType==3&&(Q?u>0:u<A.nodeValue.length)){return false}if(A.parentNode==p&&D&&!Q){return true}if(Q&&A.nodeType==1&&A==p.firstChild){return true}if(A.nodeName==="TABLE"||(A.previousSibling&&A.previousSibling.nodeName=="TABLE")){return(D&&!Q)||(!D&&Q)}P=new a(A,p);if(A.nodeType==3){if(Q&&u==0){P.prev()}else{if(!Q&&u==A.nodeValue.length){P.next()}}}while(O=P.current()){if(O.nodeType===1){if(!O.getAttribute("data-mce-bogus")){N=O.nodeName.toLowerCase();if(c[N]&&N!=="br"){return false}}}else{if(O.nodeType===3&&!/^[ \t\r\n]*$/.test(O.nodeValue)){return false}}if(Q){P.prev()}else{P.next()}}return true}function l(N,T){var U,S,P,R,Q,O=x||"P";S=i.getParent(N,i.isBlock);if(!S||!E(S)){S=S||j;if(!S.hasChildNodes()){U=i.create(O);S.appendChild(U);v.setStart(U,0);v.setEnd(U,0);return U}R=N;while(R.parentNode!=S){R=R.parentNode}while(R&&!i.isBlock(R)){P=R;R=R.previousSibling}if(P){U=i.create(O);P.parentNode.insertBefore(U,P);R=P;while(R&&!i.isBlock(R)){Q=R.nextSibling;U.appendChild(R);R=Q}v.setStart(N,T);v.setEnd(N,T)}}return N}function H(){function N(P){var O=n[P?"firstChild":"lastChild"];while(O){if(O.nodeType==1){break}O=O[P?"nextSibling":"previousSibling"]}return O===p}o=x?r(x):i.create("BR");if(N(true)&&N()){i.replace(o,n)}else{if(N(true)){n.parentNode.insertBefore(o,n)}else{if(N()){i.insertAfter(o,n);F(o)}else{G=v.cloneRange();G.setStartAfter(p);G.setEndAfter(n);k=G.extractContents();i.insertAfter(k,n);i.insertAfter(o,n)}}}i.remove(p);m(o);h.add()}function y(){var O=new a(A,p),N;while(N=O.next()){if(c[N.nodeName.toLowerCase()]||N.length>0){return true}}}function L(){var P,O,N;if(A&&A.nodeType==3&&u>=A.nodeValue.length){if(!b.isIE&&!y()){P=i.create("br");v.insertNode(P);v.setStartAfter(P);v.setEndAfter(P);O=true}}P=i.create("br");v.insertNode(P);if(b.isIE&&t=="PRE"&&(!M||M<8)){P.parentNode.insertBefore(i.doc.createTextNode("\r"),P)}N=i.create("span",{},"&nbsp;");P.parentNode.insertBefore(N,P);e.scrollIntoView(N);i.remove(N);if(!O){v.setStartAfter(P);v.setEndAfter(P)}else{v.setStartBefore(P);v.setEndBefore(P)}e.setRng(v);h.add()}function s(N){do{if(N.nodeType===3){N.nodeValue=N.nodeValue.replace(/^[\r\n]+/,"")}N=N.firstChild}while(N)}function K(P){var N=i.getRoot(),O,Q;O=P;while(O!==N&&i.getContentEditable(O)!=="false"){if(i.getContentEditable(O)==="true"){Q=O}O=O.parentNode}return O!==N?Q:N}function I(O){var N;if(!b.isIE){O.normalize();N=O.lastChild;if(!N||(/^(left|right)$/gi.test(i.getStyle(N,"float",true)))){i.add(O,"br")}}}if(!v.collapsed){f.execCommand("Delete");return}if(B.isDefaultPrevented()){return}A=v.startContainer;u=v.startOffset;x=(d.force_p_newlines?"p":"")||d.forced_root_block;x=x?x.toUpperCase():"";M=i.doc.documentMode;C=B.shiftKey;if(A.nodeType==1&&A.hasChildNodes()){D=u>A.childNodes.length-1;A=A.childNodes[Math.min(u,A.childNodes.length-1)]||A;if(D&&A.nodeType==3){u=A.nodeValue.length}else{u=0}}j=K(A);if(!j){return}h.beforeChange();if(!i.isBlock(j)&&j!=i.getRoot()){if(!x||C){L()}return}if((x&&!C)||(!x&&C)){A=l(A,u)}p=i.getParent(A,i.isBlock);n=p?i.getParent(p.parentNode,i.isBlock):null;t=p?p.nodeName.toUpperCase():"";J=n?n.nodeName.toUpperCase():"";if(J=="LI"&&!B.ctrlKey){p=n;t=J}if(t=="LI"){if(!x&&C){L();return}if(i.isEmpty(p)){if(/^(UL|OL|LI)$/.test(n.parentNode.nodeName)){return false}H();return}}if(t=="PRE"&&d.br_in_pre!==false){if(!C){L();return}}else{if((!x&&!C&&t!="LI")||(x&&C)){L();return}}x=x||"P";if(q()){if(/^(H[1-6]|PRE)$/.test(t)&&J!="HGROUP"){o=r(x)}else{o=r()}if(d.end_container_on_empty_block&&E(n)&&i.isEmpty(p)){o=i.split(n,p)}else{i.insertAfter(o,p)}m(o)}else{if(q(true)){o=p.parentNode.insertBefore(r(),p);F(o)}else{G=v.cloneRange();G.setEndAfter(p);k=G.extractContents();s(k);o=k.firstChild;i.insertAfter(k,p);z(o);I(p);m(o)}}i.setAttrib(o,"id","");h.add()}f.onKeyDown.add(function(k,j){if(j.keyCode==13){if(g(j)!==false){j.preventDefault()}}})}})(tinymce);
\ No newline at end of file
+(function(e){var a=/^\s*|\s*$/g,b,d="B".replace(/A(.)|B/,"$1")==="$1";var c={majorVersion:"3",minorVersion:"5.9",releaseDate:"2013-10-18",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isIE11=g.indexOf("Trident/")!=-1&&(g.indexOf("rv:")!=-1||o.appName.indexOf("Netscape")!=-1);s.isOpera=e.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName)||s.isIE11;s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.test(g);s.isGecko=!s.isWebKit&&!s.isIE11&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(e.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){r=f[m].href;if(r){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==b}if(f=="array"&&c.isArray(g)){return true}return typeof(g)==f},isArray:Array.isArray||function(f){return Object.prototype.toString.call(f)==="[object Array]"},makeMap:function(f,j,h){var g;f=f||[];j=j||",";if(typeof(f)=="string"){f=f.split(j)}h=h||{};g=f.length;while(g--){h[f[g]]={}}return h},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==b){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];c.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];c.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(n,k){var j,f,h,g=arguments,m;for(j=1,f=g.length;j<f;j++){k=g[j];for(h in k){if(k.hasOwnProperty(h)){m=k[h];if(m!==b){n[h]=m}}}}return n},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(o,f,j){var n=this,g,i,k,l,h,m=0;o=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);k=o[3].match(/(^|\.)(\w+)$/i)[2];i=n.createNS(o[3].replace(/\.\w+$/,""),j);if(i[k]){return}if(o[2]=="static"){i[k]=f;if(this.onCreate){this.onCreate(o[2],o[3],i[k])}return}if(!f[k]){f[k]=function(){};m=1}i[k]=f[k];n.extend(i[k].prototype,f);if(o[5]){g=n.resolve(o[5]).prototype;l=o[5].match(/\.(\w+)$/i)[1];h=i[k];if(m){i[k]=function(){return g[l].apply(this,arguments)}}else{i[k]=function(){this.parent=g[l];return h.apply(this,arguments)}}i[k].prototype[k]=i[k];n.each(g,function(p,q){i[k].prototype[q]=g[q]});n.each(f,function(p,q){if(g[q]){i[k].prototype[q]=function(){this.parent=g[q];return p.apply(this,arguments)}}else{if(q!=k){i[k].prototype[q]=p}}})}n.each(f["static"],function(p,q){i[k][q]=p});if(this.onCreate){this.onCreate(o[2],o[3],i[k].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}c.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}c.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||e;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||e;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this,g;g=function(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(e.detachEvent){e.detachEvent("onbeforeunload",k);e.detachEvent("onunload",g)}else{if(e.removeEventListener){e.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(e.CollectGarbage){CollectGarbage()}}};function k(){var l=document;function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l.readyState=="interactive"){if(l){l.attachEvent("onstop",f)}e.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}j={func:j,scope:i||this};if(!h.unloads){if(e.attachEvent){e.attachEvent("onunload",g);e.attachEvent("onbeforeunload",k)}else{if(e.addEventListener){e.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;c.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){if(!f||c.is(f,"array")){return f}return c.map(f.split(g||","),c.trim)},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(d){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===b){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};c._init();e.tinymce=e.tinyMCE=c})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,inDispatch:false,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(b,a){this.listeners.push({cb:b,scope:a||this.scope});return b},addToTop:function(d,b){var a=this,c={cb:d,scope:b||a.scope};if(a.inDispatch){a.listeners=[c].concat(a.listeners)}else{a.listeners.unshift(c)}return d},remove:function(c){var b=this.listeners,a=null;tinymce.each(b,function(e,d){if(c==e.cb){a=e;b.splice(d,1);return false}});return a},dispatch:function(){var a=this,e,b=arguments,c,d=a.listeners,f;a.inDispatch=true;for(c=0;c<d.length;c++){f=d[c];e=f.cb.apply(f.scope,b.length>0?b:[f.scope]);if(e===false){break}}a.inDispatch=false;return e}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w\-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});c=g.base_uri;if(c){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host==="mce_host"){f.port=c.port}if(!f.host||f.host==="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var d=this,f;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:d});if((b.host!="mce_host"&&d.host!=b.host&&b.host)||d.port!=b.port||d.protocol!=b.protocol){return b.getURI()}var c=d.getURI(),e=b.getURI();if(c==e||(c.charAt(c.length-1)=="/"&&c.substr(0,c.length-1)==e)){return c}f=d.toRelPath(d.path,b.path);if(b.query){f+="?"+b.query}if(b.anchor){f+="#"+b.anchor}return f},toAbsolute:function(b,c){b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f===1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length===0||f[c]==="."){continue}if(f[c]===".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!==0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(c,e,d){var b=new Date();b.setTime(b.getTime()-1000);this.set(c,"",b,e,d)}})})();(function(){function serialize(o,quote){var i,v,t,name;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&Object.prototype.toString.call(o)==="[object Array]"){for(i=0,v="[";i<o.length;i++){v+=(i>0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(name in o){if(o.hasOwnProperty(name)){v+=typeof o[name]!="function"?(v.length>1?","+quote:quote)+name+quote+":"+serialize(o[name],quote):""}}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(b){return b.shiftKey||b.ctrlKey||b.altKey},metaKeyPressed:function(b){return a.isMac?b.metaKey:b.ctrlKey&&!b.altKey}}})(tinymce);tinymce.util.Quirks=function(a){var j=tinymce.VK,f=j.BACKSPACE,k=j.DELETE,e=a.dom,m=a.selection,I=a.settings,x=a.parser,p=a.serializer,F=tinymce.each;function B(O,N){try{a.getDoc().execCommand(O,false,N)}catch(M){}}function o(){var M=a.getDoc().documentMode;return M?M:6}function A(M){return M.isDefaultPrevented()}function K(){function M(S){var O,Q,N,T,P,R,U;function V(){if(P.nodeType==3){if(S&&R==P.length){return true}if(!S&&R===0){return true}}}O=m.getRng();var W=[O.startContainer,O.startOffset,O.endContainer,O.endOffset];if(!O.collapsed){S=true}P=O[(S?"start":"end")+"Container"];R=O[(S?"start":"end")+"Offset"];if(P.nodeType==3){Q=e.getParent(O.startContainer,e.isBlock);if(S){Q=e.getNext(Q,e.isBlock)}if(Q&&(V()||!O.collapsed)){N=e.create("em",{id:"__mceDel"});F(tinymce.grep(Q.childNodes),function(X){N.appendChild(X)});Q.appendChild(N)}}O=e.createRng();O.setStart(W[0],W[1]);O.setEnd(W[2],W[3]);m.setRng(O);a.getDoc().execCommand(S?"ForwardDelete":"Delete",false,null);if(N){T=m.getBookmark();while(U=e.get("__mceDel")){e.remove(U,true)}m.moveToBookmark(T)}}a.onKeyDown.add(function(N,P){var O;O=P.keyCode==k;if(!A(P)&&(O||P.keyCode==f)&&!j.modifierPressed(P)){P.preventDefault();M(O)}});a.addCommand("Delete",function(){M()})}function r(){function M(P){var O=e.create("body");var Q=P.cloneContents();O.appendChild(Q);return m.serializer.serialize(O,{format:"html"})}function N(O){var Q=M(O);var R=e.createRng();R.selectNode(a.getBody());var P=M(R);return Q===P}a.onKeyDown.add(function(P,R){var Q=R.keyCode,O;if(!A(R)&&(Q==k||Q==f)){O=P.selection.isCollapsed();if(O&&!e.isEmpty(P.getBody())){return}if(tinymce.isIE&&!O){return}if(!O&&!N(P.selection.getRng())){return}P.setContent("");P.selection.setCursorLocation(P.getBody(),0);P.nodeChanged()}})}function J(){a.onKeyDown.add(function(M,N){if(!A(N)&&N.keyCode==65&&j.metaKeyPressed(N)){N.preventDefault();M.execCommand("SelectAll")}})}function L(){if(!a.settings.content_editable){e.bind(a.getDoc(),"focusin",function(M){m.setRng(m.getRng())});e.bind(a.getDoc(),"mousedown",function(M){if(M.target==a.getDoc().documentElement){a.getWin().focus();m.setRng(m.getRng())}})}}function C(){a.onKeyDown.add(function(M,P){if(!A(P)&&P.keyCode===f){if(m.isCollapsed()&&m.getRng(true).startOffset===0){var O=m.getNode();var N=O.previousSibling;if(N&&N.nodeName&&N.nodeName.toLowerCase()==="hr"){e.remove(N);tinymce.dom.Event.cancel(P)}}}})}function z(){if(!Range.prototype.getClientRects){a.onMouseDown.add(function(N,O){if(!A(O)&&O.target.nodeName==="HTML"){var M=N.getBody();M.blur();setTimeout(function(){M.focus()},0)}})}}function h(){a.onClick.add(function(M,N){N=N.target;if(/^(IMG|HR)$/.test(N.nodeName)){m.getSel().setBaseAndExtent(N,0,N,1)}if(N.nodeName=="A"&&e.hasClass(N,"mceItemAnchor")){m.select(N)}M.nodeChanged()})}function c(){function N(){var P=e.getAttribs(m.getStart().cloneNode(false));return function(){var Q=m.getStart();if(Q!==a.getBody()){e.setAttrib(Q,"style",null);F(P,function(R){Q.setAttributeNode(R.cloneNode(true))})}}}function M(){return !m.isCollapsed()&&e.getParent(m.getStart(),e.isBlock)!=e.getParent(m.getEnd(),e.isBlock)}function O(P,Q){Q.preventDefault();return false}a.onKeyPress.add(function(P,R){var Q;if(!A(R)&&(R.keyCode==8||R.keyCode==46)&&M()){Q=N();P.getDoc().execCommand("delete",false,null);Q();R.preventDefault();return false}});e.bind(a.getDoc(),"cut",function(Q){var P;if(!A(Q)&&M()){P=N();a.onKeyUp.addToTop(O);setTimeout(function(){P();a.onKeyUp.remove(O)},0)}})}function b(){var N,M;e.bind(a.getDoc(),"selectionchange",function(){if(M){clearTimeout(M);M=0}M=window.setTimeout(function(){var O=m.getRng();if(!N||!tinymce.dom.RangeUtils.compareRanges(O,N)){a.nodeChanged();N=O}},50)})}function y(){document.body.setAttribute("role","application")}function u(){a.onKeyDown.add(function(M,O){if(!A(O)&&O.keyCode===f){if(m.isCollapsed()&&m.getRng(true).startOffset===0){var N=m.getNode().previousSibling;if(N&&N.nodeName&&N.nodeName.toLowerCase()==="table"){return tinymce.dom.Event.cancel(O)}}}})}function D(){if(o()>7){return}B("RespectVisibilityInDesign",true);a.contentStyles.push(".mceHideBrInPre pre br {display: none}");e.addClass(a.getBody(),"mceHideBrInPre");x.addNodeFilter("pre",function(M,O){var P=M.length,R,N,S,Q;while(P--){R=M[P].getAll("br");N=R.length;while(N--){S=R[N];Q=S.prev;if(Q&&Q.type===3&&Q.value.charAt(Q.value-1)!="\n"){Q.value+="\n"}else{S.parent.insert(new tinymce.html.Node("#text",3),S,true).value="\n"}}}});p.addNodeFilter("pre",function(M,O){var P=M.length,R,N,S,Q;while(P--){R=M[P].getAll("br");N=R.length;while(N--){S=R[N];Q=S.prev;if(Q&&Q.type==3){Q.value=Q.value.replace(/\r?\n$/,"")}}}})}function g(){e.bind(a.getBody(),"mouseup",function(O){var N,M=m.getNode();if(M.nodeName=="IMG"){if(N=e.getStyle(M,"width")){e.setAttrib(M,"width",N.replace(/[^0-9%]+/g,""));e.setStyle(M,"width","")}if(N=e.getStyle(M,"height")){e.setAttrib(M,"height",N.replace(/[^0-9%]+/g,""));e.setStyle(M,"height","")}}})}function d(){a.onKeyDown.add(function(S,T){var R,M,N,P,Q,U,O;R=T.keyCode==k;if(!A(T)&&(R||T.keyCode==f)&&!j.modifierPressed(T)){M=m.getRng();N=M.startContainer;P=M.startOffset;O=M.collapsed;if(N.nodeType==3&&N.nodeValue.length>0&&((P===0&&!O)||(O&&P===(R?0:1)))){U=N.previousSibling;if(U&&U.nodeName=="IMG"){return}nonEmptyElements=S.schema.getNonEmptyElements();T.preventDefault();Q=e.create("br",{id:"__tmp"});N.parentNode.insertBefore(Q,N);S.getDoc().execCommand(R?"ForwardDelete":"Delete",false,null);N=m.getRng().startContainer;U=N.previousSibling;if(U&&U.nodeType==1&&!e.isBlock(U)&&e.isEmpty(U)&&!nonEmptyElements[U.nodeName.toLowerCase()]){e.remove(U)}e.remove("__tmp")}}})}function H(){a.onKeyDown.add(function(Q,R){var O,N,S,M,P;if(A(R)||R.keyCode!=j.BACKSPACE){return}O=m.getRng();N=O.startContainer;S=O.startOffset;M=e.getRoot();P=N;if(!O.collapsed||S!==0){return}while(P&&P.parentNode&&P.parentNode.firstChild==P&&P.parentNode!=M){P=P.parentNode}if(P.tagName==="BLOCKQUOTE"){Q.formatter.toggle("blockquote",null,P);O=e.createRng();O.setStart(N,0);O.setEnd(N,0);m.setRng(O)}})}function G(){function M(){a._refreshContentEditable();B("StyleWithCSS",false);B("enableInlineTableEditing",false);if(!I.object_resizing){B("enableObjectResizing",false)}}if(!I.readonly){a.onBeforeExecCommand.add(M);a.onMouseDown.add(M)}}function t(){function M(N,O){F(e.select("a"),function(R){var P=R.parentNode,Q=e.getRoot();if(P.lastChild===R){while(P&&!e.isBlock(P)){if(P.parentNode.lastChild!==P||P===Q){return}P=P.parentNode}e.add(P,"br",{"data-mce-bogus":1})}})}a.onExecCommand.add(function(N,O){if(O==="CreateLink"){M(N)}});a.onSetContent.add(m.onSetContent.add(M))}function n(){if(I.forced_root_block){a.onInit.add(function(){B("DefaultParagraphSeparator",I.forced_root_block)})}}function q(){function M(O,N){if(!O||!N.initial){a.execCommand("mceRepaint")}}a.onUndo.add(M);a.onRedo.add(M);a.onSetContent.add(M)}function i(){a.onKeyDown.add(function(N,O){var M;if(!A(O)&&O.keyCode==f){M=N.getDoc().selection.createRange();if(M&&M.item){O.preventDefault();N.undoManager.beforeChange();e.remove(M.item(0));N.undoManager.add()}}})}function s(){var M;if(o()>=10){M="";F("p div h1 h2 h3 h4 h5 h6".split(" "),function(N,O){M+=(O>0?",":"")+N+":empty"});a.contentStyles.push(M+"{padding-right: 1px !important}")}}function v(){var O,N,ae,M,Z,ac,aa,ad,P,Q,ab,X,W,Y=document,U=a.getDoc();if(!I.object_resizing||I.webkit_fake_resize===false){return}B("enableObjectResizing",false);ab={n:[0.5,0,0,-1],e:[1,0.5,1,0],s:[0.5,1,0,1],w:[0,0.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};function S(ai){var ah,ag;ah=ai.screenX-ac;ag=ai.screenY-aa;X=ah*Z[2]+ad;W=ag*Z[3]+P;X=X<5?5:X;W=W<5?5:W;if(j.modifierPressed(ai)||(ae.nodeName=="IMG"&&Z[2]*Z[3]!==0)){X=Math.round(W/Q);W=Math.round(X*Q)}e.setStyles(M,{width:X,height:W});if(Z[2]<0&&M.clientWidth<=X){e.setStyle(M,"left",O+(ad-X))}if(Z[3]<0&&M.clientHeight<=W){e.setStyle(M,"top",N+(P-W))}}function af(){function ag(ah,ai){if(ai){if(ae.style[ah]||!a.schema.isValid(ae.nodeName.toLowerCase(),ah)){e.setStyle(ae,ah,ai)}else{e.setAttrib(ae,ah,ai)}}}ag("width",X);ag("height",W);e.unbind(U,"mousemove",S);e.unbind(U,"mouseup",af);if(Y!=U){e.unbind(Y,"mousemove",S);e.unbind(Y,"mouseup",af)}e.remove(M);R(ae)}function R(aj){var ah,ai,ag;T();ah=e.getPos(aj);O=ah.x;N=ah.y;ai=aj.offsetWidth;ag=aj.offsetHeight;if(ae!=aj){ae=aj;X=W=0}F(ab,function(am,ak){var al;al=e.get("mceResizeHandle"+ak);if(!al){al=e.add(U.documentElement,"div",{id:"mceResizeHandle"+ak,"class":"mceResizeHandle",style:"cursor:"+ak+"-resize; margin:0; padding:0"});e.bind(al,"mousedown",function(an){an.preventDefault();af();ac=an.screenX;aa=an.screenY;ad=ae.clientWidth;P=ae.clientHeight;Q=P/ad;Z=am;M=ae.cloneNode(true);e.addClass(M,"mceClonedResizable");e.setStyles(M,{left:O,top:N,margin:0});U.documentElement.appendChild(M);e.bind(U,"mousemove",S);e.bind(U,"mouseup",af);if(Y!=U){e.bind(Y,"mousemove",S);e.bind(Y,"mouseup",af)}})}else{e.show(al)}e.setStyles(al,{left:(ai*am[0]+O)-(al.offsetWidth/2),top:(ag*am[1]+N)-(al.offsetHeight/2)})});if(!tinymce.isOpera&&ae.nodeName=="IMG"){ae.setAttribute("data-mce-selected","1")}}function T(){if(ae){ae.removeAttribute("data-mce-selected")}for(var ag in ab){e.hide("mceResizeHandle"+ag)}}a.contentStyles.push(".mceResizeHandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}.mceResizeHandle:hover {background: #000}img[data-mce-selected] {outline: 1px solid black}img.mceClonedResizable, table.mceClonedResizable {position: absolute;outline: 1px dashed black;opacity: .5;z-index: 10000}");function V(){var ag=e.getParent(m.getNode(),"table,img");F(e.select("img[data-mce-selected]"),function(ah){ah.removeAttribute("data-mce-selected")});if(ag){R(ag)}else{T()}}a.onNodeChange.add(V);e.bind(U,"selectionchange",V);a.serializer.addAttributeFilter("data-mce-selected",function(ag,ah){var ai=ag.length;while(ai--){ag[ai].attr(ah,null)}})}function E(){if(o()<9){x.addNodeFilter("noscript",function(M){var N=M.length,O,P;while(N--){O=M[N];P=O.firstChild;if(P){O.attr("data-mce-innertext",P.value)}}});p.addNodeFilter("noscript",function(M){var N=M.length,O,Q,P;while(N--){O=M[N];Q=M[N].firstChild;if(Q){Q.value=tinymce.html.Entities.decode(Q.value)}else{P=O.attributes.map["data-mce-innertext"];if(P){O.attr("data-mce-innertext",null);Q=new tinymce.html.Node("#text",3);Q.value=P;Q.raw=true;O.append(Q)}}}})}}function l(){a.contentStyles.push("body {min-height: 100px}");a.onClick.add(function(M,N){if(N.target.nodeName=="HTML"){a.execCommand("SelectAll");a.selection.collapse(true);a.nodeChanged()}})}u();H();r();if(tinymce.isWebKit){d();K();L();h();n();if(tinymce.isIDevice){b()}else{v();J()}}if(tinymce.isIE&&!tinymce.isIE11){C();y();D();g();i();s();E()}if(tinymce.isIE11){l()}if(tinymce.isGecko&&!tinymce.isIE11){C();z();c();G();t();q()}if(tinymce.isOpera){v()}};(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={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"};g={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;"};d={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n<m.length;n+=2){o=String.fromCharCode(parseInt(m[n],p));if(!g[o]){l="&"+m[n+1]+";";q[o]=l;q[l]=o}}return q}}a=e("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);j.html=j.html||{};j.html.Entities={encodeRaw:function(m,l){return m.replace(l?k:b,function(n){return g[n]||n})},encodeAllRaw:function(l){return(""+l).replace(f,function(m){return g[m]||m})},encodeNumeric:function(m,l){return m.replace(l?k:b,function(n){if(n.length>1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g<j.length;g++){a[j[g]]="\uFEFF"+g;a["\uFEFF"+g]=j[g]}function c(n,q,p,i){function o(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(s){var z={},q,n,x,r,v=d.url_converter,y=d.url_converter_scope||this;function p(D,G){var F,C,B,E;if(z["border-image"]==="none"){delete z["border-image"]}F=z[D+"-top"+G];if(!F){return}C=z[D+"-right"+G];if(F!=C){return}B=z[D+"-bottom"+G];if(C!=B){return}E=z[D+"-left"+G];if(B!=E){return}z[D+G]=E;delete z[D+"-top"+G];delete z[D+"-right"+G];delete z[D+"-bottom"+G];delete z[D+"-left"+G]}function u(C){var D=z[C],B;if(!D||D.indexOf(" ")<0){return}D=D.split(" ");B=D.length;while(B--){if(D[B]!==D[0]){return false}}z[C]=D[0];return true}function A(D,C,B,E){if(!u(C)){return}if(!u(B)){return}if(!u(E)){return}z[D]=z[C]+" "+z[B]+" "+z[E];delete z[C];delete z[B];delete z[E]}function t(B){r=true;return a[B]}function i(C,B){if(r){C=C.replace(/\uFEFF[0-9]/g,function(D){return a[D]})}if(!B){C=C.replace(/\\([\'\";:])/g,"$1")}return C}function o(C,B,F,E,G,D){G=G||D;if(G){G=i(G);return"'"+G.replace(/\'/g,"\\'")+"'"}B=i(B||F||E);if(v){B=v.call(y,B,"style")}return"url('"+B.replace(/\'/g,"\\'")+"')"}if(s){s=s.replace(/\\[\"\';:\uFEFF]/g,t).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(B){return B.replace(/[;:]/g,t)});while(q=b.exec(s)){n=q[1].replace(l,"").toLowerCase();x=q[2].replace(l,"");if(n&&x.length>0){if(n==="font-weight"&&x==="700"){x="bold"}else{if(n==="color"||n==="background-color"){x=x.toLowerCase()}}x=x.replace(k,c);x=x.replace(h,o);z[n]=r?i(x,true):x}b.lastIndex=q.index+q[0].length}p("border","");p("border","-width");p("border","-color");p("border","-style");p("padding","");p("margin","");A("border","border-width","border-style","border-color");if(z.border==="medium none"){delete z.border}}return z},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u<s;u++){t=x[u];v=p[t];if(v!==e&&v.length>0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(f){var a={},e=f.makeMap,g=f.each;function d(j,i){return j.split(i||",")}function h(m,l){var j,k={};function i(n){return n.replace(/[A-Z]+/g,function(o){return i(m[o])})}for(j in m){if(m.hasOwnProperty(j)){m[j]=i(m[j])}}i(l).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(q,o,n,p){n=d(n,"|");k[o]={attributes:e(n),attributesOrder:n,children:e(p,"|",{"#comment":{}})}});return k}function b(){var i=a.html5;if(!i){i=a.html5=h({A:"id|accesskey|class|dir|draggable|item|hidden|itemprop|role|spellcheck|style|subject|title|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"#|a|abbr|area|audio|b|bdo|br|button|canvas|cite|code|command|datalist|del|dfn|em|embed|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|meta|meter|noscript|object|output|progress|q|ruby|samp|script|select|small|span|strong|sub|sup|svg|textarea|time|var|video|wbr",C:"#|a|abbr|area|address|article|aside|audio|b|bdo|blockquote|br|button|canvas|cite|code|command|datalist|del|details|dfn|dialog|div|dl|em|embed|fieldset|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|menu|meta|meter|nav|noscript|ol|object|output|p|pre|progress|q|ruby|samp|script|section|select|small|span|strong|style|sub|sup|svg|table|textarea|time|ul|var|video"},"html[A|manifest][body|head]head[A][base|command|link|meta|noscript|script|style|title]title[A][#]base[A|href|target][]link[A|href|rel|media|type|sizes][]meta[A|http-equiv|name|content|charset][]style[A|type|media|scoped][#]script[A|charset|type|src|defer|async][#]noscript[A][C]body[A][C]section[A][C]nav[A][C]article[A][C]aside[A][C]h1[A][B]h2[A][B]h3[A][B]h4[A][B]h5[A][B]h6[A][B]hgroup[A][h1|h2|h3|h4|h5|h6]header[A][C]footer[A][C]address[A][C]p[A][B]br[A][]pre[A][B]dialog[A][dd|dt]blockquote[A|cite][C]ol[A|start|reversed][li]ul[A][li]li[A|value][C]dl[A][dd|dt]dt[A][B]dd[A][C]a[A|href|target|ping|rel|media|type][B]em[A][B]strong[A][B]small[A][B]cite[A][B]q[A|cite][B]dfn[A][B]abbr[A][B]code[A][B]var[A][B]samp[A][B]kbd[A][B]sub[A][B]sup[A][B]i[A][B]b[A][B]mark[A][B]progress[A|value|max][B]meter[A|value|min|max|low|high|optimum][B]time[A|datetime][B]ruby[A][B|rt|rp]rt[A][B]rp[A][B]bdo[A][B]span[A][B]ins[A|cite|datetime][B]del[A|cite|datetime][B]figure[A][C|legend|figcaption]figcaption[A][C]img[A|alt|src|height|width|usemap|ismap][]iframe[A|name|src|height|width|sandbox|seamless][]embed[A|src|height|width|type][]object[A|data|type|height|width|usemap|name|form|classid][param]param[A|name|value][]details[A|open][C|legend]command[A|type|label|icon|disabled|checked|radiogroup][]menu[A|type|label][C|li]legend[A][C|B]div[A][C]source[A|src|type|media][]audio[A|src|autobuffer|autoplay|loop|controls][source]video[A|src|autobuffer|autoplay|loop|controls|width|height|poster][source]hr[A][]form[A|accept-charset|action|autocomplete|enctype|method|name|novalidate|target][C]fieldset[A|disabled|form|name][C|legend]label[A|form|for][B]input[A|type|accept|alt|autocomplete|autofocus|checked|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|height|list|max|maxlength|min|multiple|pattern|placeholder|readonly|required|size|src|step|width|files|value|name][]button[A|autofocus|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|name|value|type][B]select[A|autofocus|disabled|form|multiple|name|size][option|optgroup]datalist[A][B|option]optgroup[A|disabled|label][option]option[A|disabled|selected|label|value][]textarea[A|autofocus|disabled|form|maxlength|name|placeholder|readonly|required|rows|cols|wrap][]keygen[A|autofocus|challenge|disabled|form|keytype|name][]output[A|for|form|name][B]canvas[A|width|height][]map[A|name][B|C]area[A|shape|coords|href|alt|target|media|rel|ping|type][]mathml[A][]svg[A][]table[A|border][caption|colgroup|thead|tfoot|tbody|tr]caption[A][C]colgroup[A|span][col]col[A|span][]thead[A][tr]tfoot[A][tr]tbody[A][tr]tr[A][th|td]th[A|headers|rowspan|colspan|scope][B]td[A|headers|rowspan|colspan][C]wbr[A][]")}return i}function c(){var i=a.html4;if(!i){i=a.html4=h({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]")}return i}f.html.Schema=function(A){var u=this,s={},k={},j=[],D,y;var o,q,z,r,v,n,p={};function m(F,E,H){var G=A[F];if(!G){G=a[F];if(!G){G=e(E," ",e(E.toUpperCase()," "));G=f.extend(G,H);a[F]=G}}else{G=e(G,",",e(G.toUpperCase()," "))}return G}A=A||{};y=A.schema=="html5"?b():c();if(A.verify_html===false){A.valid_elements="*[*]"}if(A.valid_styles){D={};g(A.valid_styles,function(F,E){D[E]=f.explode(F)})}o=m("whitespace_elements","pre script noscript style textarea");q=m("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr");z=m("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr");r=m("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls");n=m("non_empty_elements","td th iframe video audio object script",z);textBlockElementsMap=m("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");v=m("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex samp option datalist select optgroup",textBlockElementsMap);function i(E){return new RegExp("^"+E.replace(/([?+*])/g,".$1")+"$")}function C(L){var K,G,Z,V,aa,F,I,U,X,Q,Y,ac,O,J,W,E,S,H,ab,ad,P,T,N=/^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,R=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,M=/[*?+]/;if(L){L=d(L);if(s["@"]){S=s["@"].attributes;H=s["@"].attributesOrder}for(K=0,G=L.length;K<G;K++){F=N.exec(L[K]);if(F){W=F[1];Q=F[2];E=F[3];X=F[4];O={};J=[];I={attributes:O,attributesOrder:J};if(W==="#"){I.paddEmpty=true}if(W==="-"){I.removeEmpty=true}if(S){for(ad in S){O[ad]=S[ad]}J.push.apply(J,H)}if(X){X=d(X,"|");for(Z=0,V=X.length;Z<V;Z++){F=R.exec(X[Z]);if(F){U={};ac=F[1];Y=F[2].replace(/::/g,":");W=F[3];T=F[4];if(ac==="!"){I.attributesRequired=I.attributesRequired||[];I.attributesRequired.push(Y);U.required=true}if(ac==="-"){delete O[Y];J.splice(f.inArray(J,Y),1);continue}if(W){if(W==="="){I.attributesDefault=I.attributesDefault||[];I.attributesDefault.push({name:Y,value:T});U.defaultValue=T}if(W===":"){I.attributesForced=I.attributesForced||[];I.attributesForced.push({name:Y,value:T});U.forcedValue=T}if(W==="<"){U.validValues=e(T,"?")}}if(M.test(Y)){I.attributePatterns=I.attributePatterns||[];U.pattern=i(Y);I.attributePatterns.push(U)}else{if(!O[Y]){J.push(Y)}O[Y]=U}}}}if(!S&&Q=="@"){S=O;H=J}if(E){I.outputName=Q;s[E]=I}if(M.test(Q)){I.pattern=i(Q);j.push(I)}else{s[Q]=I}}}}}function t(E){s={};j=[];C(E);g(y,function(G,F){k[F]=G.children})}function l(F){var E=/^(~)?(.+)$/;if(F){g(d(F),function(J){var H=E.exec(J),I=H[1]==="~",K=I?"span":"div",G=H[2];k[G]=k[K];p[G]=K;if(!I){v[G.toUpperCase()]={};v[G]={}}if(!s[G]){s[G]=s[K]}g(k,function(L,M){if(L[K]){L[G]=L[K]}})})}}function x(F){var E=/^([+\-]?)(\w+)\[([^\]]+)\]$/;if(F){g(d(F),function(J){var I=E.exec(J),G,H;if(I){H=I[1];if(H){G=k[I[2]]}else{G=k[I[2]]={"#comment":{}}}G=k[I[2]];g(d(I[3],"|"),function(K){if(H==="-"){delete G[K]}else{G[K]={}}})}})}}function B(E){var G=s[E],F;if(G){return G}F=j.length;while(F--){G=j[F];if(G.pattern.test(E)){return G}}}if(!A.valid_elements){g(y,function(F,E){s[E]={attributes:F.attributes,attributesOrder:F.attributesOrder};k[E]=F.children});if(A.schema!="html5"){g(d("strong/b,em/i"),function(E){E=d(E,"/");s[E[1]].outputName=E[0]})}s.img.attributesDefault=[{name:"alt",value:""}];g(d("ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr,strong,em,b,i"),function(E){if(s[E]){s[E].removeEmpty=true}});g(d("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"),function(E){s[E].paddEmpty=true})}else{t(A.valid_elements)}l(A.custom_elements);x(A.valid_children);C(A.extended_valid_elements);x("+ol[ul|ol],+ul[ul|ol]");if(A.invalid_elements){f.each(f.explode(A.invalid_elements),function(E){if(s[E]){delete s[E]}})}if(!B("span")){C("span[!data-mce-type|*]")}u.children=k;u.styles=D;u.getBoolAttrs=function(){return r};u.getBlockElements=function(){return v};u.getTextBlockElements=function(){return textBlockElementsMap};u.getShortEndedElements=function(){return z};u.getSelfClosingElements=function(){return q};u.getNonEmptyElements=function(){return n};u.getWhiteSpaceElements=function(){return o};u.isValidChild=function(E,G){var F=k[E];return !!(F&&F[G])};u.isValid=function(F,E){var H,G,I=B(F);if(I){if(E){if(I.attributes[E]){return true}H=I.attributePatterns;if(H){G=H.length;while(G--){if(H[G].pattern.test(F)){return true}}}}else{return true}}return false};u.getElementRule=B;u.getCustomElements=function(){return p};u.addValidElements=C;u.setValidElements=t;u.addCustomElements=l;u.addValidChildren=x;u.elements=s}})(tinymce);(function(a){a.html.SaxParser=function(c,e){var b=this,d=function(){};c=c||{};b.schema=e=e||new a.html.Schema();if(c.fix_self_closing!==false){c.fix_self_closing=true}a.each("comment cdata text start end pi doctype".split(" "),function(f){if(f){b[f]=c[f]||d}});b.parse=function(E){var n=this,g,G=0,I,B,A=[],N,Q,C,r,z,s,M,H,O,v,m,k,t,R,o,P,F,S,L,f,J,l,D,K,h,x=0,j=a.html.Entities.decode,y,q;function u(T){var V,U;V=A.length;while(V--){if(A[V].name===T){break}}if(V>=0){for(U=A.length-1;U>=V;U--){T=A[U];if(T.valid){n.end(T.name)}}A.length=V}}function p(U,T,Y,X,W){var Z,V;T=T.toLowerCase();Y=T in H?T:j(Y||X||W||"");if(v&&!z&&T.indexOf("data-")!==0){Z=P[T];if(!Z&&F){V=F.length;while(V--){Z=F[V];if(Z.pattern.test(T)){break}}if(V===-1){Z=null}}if(!Z){return}if(Z.validValues&&!(Y in Z.validValues)){return}}N.map[T]=Y;N.push({name:T,value:Y})}l=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g");D=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g;K={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};M=e.getShortEndedElements();J=c.self_closing_elements||e.getSelfClosingElements();H=e.getBoolAttrs();v=c.validate;s=c.remove_internals;y=c.fix_self_closing;q=a.isIE;o=/^:/;while(g=l.exec(E)){if(G<g.index){n.text(j(E.substr(G,g.index-G)))}if(I=g[6]){I=I.toLowerCase();if(q&&o.test(I)){I=I.substr(1)}u(I)}else{if(I=g[7]){I=I.toLowerCase();if(q&&o.test(I)){I=I.substr(1)}O=I in M;if(y&&J[I]&&A.length>0&&A[A.length-1].name===I){u(I)}if(!v||(m=e.getElementRule(I))){k=true;if(v){P=m.attributes;F=m.attributePatterns}if(R=g[8]){z=R.indexOf("data-mce-type")!==-1;if(z&&s){k=false}N=[];N.map={};R.replace(D,p)}else{N=[];N.map={}}if(v&&!z){S=m.attributesRequired;L=m.attributesDefault;f=m.attributesForced;if(f){Q=f.length;while(Q--){t=f[Q];r=t.name;h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}if(L){Q=L.length;while(Q--){t=L[Q];r=t.name;if(!(r in N.map)){h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}}if(S){Q=S.length;while(Q--){if(S[Q] in N.map){break}}if(Q===-1){k=false}}if(N.map["data-mce-bogus"]){k=false}}if(k){n.start(I,N,O)}}else{k=false}if(B=K[I]){B.lastIndex=G=g.index+g[0].length;if(g=B.exec(E)){if(k){C=E.substr(G,g.index-G)}G=g.index+g[0].length}else{C=E.substr(G);G=E.length}if(k&&C.length>0){n.text(C,true)}if(k){n.end(I)}l.lastIndex=G;continue}if(!O){if(!R||R.indexOf("/")!=R.length-1){A.push({name:I,valid:k})}else{if(k){n.end(I)}}}}else{if(I=g[1]){n.comment(I)}else{if(I=g[2]){n.cdata(I)}else{if(I=g[3]){n.doctype(I)}else{if(I=g[4]){n.pi(I,g[5])}}}}}}G=g.index+g[0].length}if(G<E.length){n.text(j(E.substr(G)))}for(Q=A.length-1;Q>=0;Q--){I=A[Q];if(I.valid){n.end(I.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h<f;h++){j=m[h];if(j.name!=="id"){k[k.length]={name:j.name,value:j.value};k.map[j.name]=j.value}}n.attributes=k}n.value=g.value;n.shortEnded=g.shortEnded;return n},wrap:function(g){var f=this;f.parent.insert(g,f);g.append(f);return f},unwrap:function(){var f=this,h,g;for(h=f.firstChild;h;){g=h.next;f.insert(h,f,true);h=g}f.remove()},remove:function(){var f=this,h=f.parent,g=f.next,i=f.prev;if(h){if(h.firstChild===f){h.firstChild=g;if(g){g.prev=null}}else{i.next=g}if(h.lastChild===f){h.lastChild=i;if(i){i.next=null}}else{g.prev=i}f.parent=f.next=f.prev=null}return f},append:function(h){var f=this,g;if(h.parent){h.remove()}g=f.lastChild;if(g){g.next=h;h.prev=g;f.lastChild=h}else{f.lastChild=f.firstChild=h}h.parent=f;return h},insert:function(h,f,i){var g;if(h.parent){h.remove()}g=f.parent||this;if(i){if(f===g.firstChild){g.firstChild=h}else{f.prev.next=h}h.prev=f.prev;h.next=f;f.prev=h}else{if(f===g.lastChild){g.lastChild=h}else{f.next.prev=h}h.next=f.next;h.prev=f;f.next=h}h.parent=g;return h},getAll:function(g){var f=this,h,i=[];for(h=f.firstChild;h;h=a(h,f)){if(h.name===g){i.push(h)}}return i},empty:function(){var g=this,f,h,j;if(g.firstChild){f=[];for(j=g.firstChild;j;j=a(j,g)){f.push(j)}h=f.length;while(h--){j=f[h];j.parent=j.firstChild=j.lastChild=j.next=j.prev=null}}g.firstChild=g.lastChild=null;return g},isEmpty:function(k){var f=this,j=f.firstChild,h,g;if(j){do{if(j.type===1){if(j.attributes.map["data-mce-bogus"]){continue}if(k[j.name]){return false}h=j.attributes.length;while(h--){g=j.attributes[h].name;if(g==="name"||g.indexOf("data-mce-")===0){return false}}}if(j.type===8){return false}if((j.type===3&&!c.test(j.value))){return false}}while(j=a(j,f))}return true},walk:function(f){return a(this,null,f)}});d.extend(b,{create:function(g,f){var i,h;i=new b(g,e[g]||1);if(f){for(h in f){i.attr(h,f[h])}}return i}});d.html.Node=b})(tinymce);(function(b){var a=b.html.Node;b.html.DomParser=function(g,h){var f=this,e={},d=[],i={},c={};g=g||{};g.validate="validate" in g?g.validate:true;g.root_name=g.root_name||"body";f.schema=h=h||new b.html.Schema();function j(n){var p,q,y,x,A,o,r,l,u,v,k,t,m,z,s;t=b.makeMap("tr,td,th,tbody,thead,tfoot,table");k=h.getNonEmptyElements();m=h.getTextBlockElements();for(p=0;p<n.length;p++){q=n[p];if(!q.parent||q.fixed){continue}if(m[q.name]&&q.parent.name=="li"){z=q.next;while(z){if(m[z.name]){z.name="li";z.fixed=true;q.parent.insert(z,q.parent)}else{break}z=z.next}q.unwrap(q);continue}x=[q];for(y=q.parent;y&&!h.isValidChild(y.name,q.name)&&!t[y.name];y=y.parent){x.push(y)}if(y&&x.length>1){x.reverse();A=o=f.filterNode(x[0].clone());for(u=0;u<x.length-1;u++){if(h.isValidChild(o.name,x[u].name)){r=f.filterNode(x[u].clone());o.append(r)}else{r=o}for(l=x[u].firstChild;l&&l!=x[u+1];){s=l.next;r.append(l);l=s}o=r}if(!A.isEmpty(k)){y.insert(A,x[0],true);y.insert(q,A)}else{y.insert(q,x[0],true)}y=x[0];if(y.isEmpty(k)||y.firstChild===y.lastChild&&y.firstChild.name==="br"){y.empty().remove()}}else{if(q.parent){if(q.name==="li"){z=q.prev;if(z&&(z.name==="ul"||z.name==="ul")){z.append(q);continue}z=q.next;if(z&&(z.name==="ul"||z.name==="ul")){z.insert(q,z.firstChild,true);continue}q.wrap(f.filterNode(new a("ul",1)));continue}if(h.isValidChild(q.parent.name,"div")&&h.isValidChild("div",q.name)){q.wrap(f.filterNode(new a("div",1)))}else{if(q.name==="style"||q.name==="script"){q.empty().remove()}else{q.unwrap()}}}}}}f.filterNode=function(m){var l,k,n;if(k in e){n=i[k];if(n){n.push(m)}else{i[k]=[m]}}l=d.length;while(l--){k=d[l].name;if(k in m.attributes.map){n=c[k];if(n){n.push(m)}else{c[k]=[m]}}}return m};f.addNodeFilter=function(k,l){b.each(b.explode(k),function(m){var n=e[m];if(!n){e[m]=n=[]}n.push(l)})};f.addAttributeFilter=function(k,l){b.each(b.explode(k),function(m){var n;for(n=0;n<d.length;n++){if(d[n].name===m){d[n].callbacks.push(l);return}}d.push({name:m,callbacks:[l]})})};f.parse=function(v,m){var n,J,B,A,D,C,x,r,F,N,z,o,E,M=[],L,t,k,y,s,p,u,q;m=m||{};i={};c={};o=b.extend(b.makeMap("script,style,head,html,body,title,meta,param"),h.getBlockElements());u=h.getNonEmptyElements();p=h.children;z=g.validate;q="forced_root_block" in m?m.forced_root_block:g.forced_root_block;s=h.getWhiteSpaceElements();E=/^[ \t\r\n]+/;t=/[ \t\r\n]+$/;k=/[ \t\r\n]+/g;y=/^[ \t\r\n]+$/;function G(){var O=J.firstChild,l,P;while(O){l=O.next;if(O.type==3||(O.type==1&&O.name!=="p"&&!o[O.name]&&!O.attr("data-mce-type"))){if(!P){P=K(q,1);J.insert(P,O);P.append(O)}else{P.append(O)}}else{P=null}O=l}}function K(l,O){var P=new a(l,O),Q;if(l in e){Q=i[l];if(Q){Q.push(P)}else{i[l]=[P]}}return P}function I(P){var Q,l,O;for(Q=P.prev;Q&&Q.type===3;){l=Q.value.replace(t,"");if(l.length>0){Q.value=l;Q=Q.prev}else{O=Q.prev;Q.remove();Q=O}}}function H(O){var P,l={};for(P in O){if(P!=="li"&&P!="p"){l[P]=O[P]}}return l}n=new b.html.SaxParser({validate:z,self_closing_elements:H(h.getSelfClosingElements()),cdata:function(l){B.append(K("#cdata",4)).value=l},text:function(P,l){var O;if(!L){P=P.replace(k," ");if(B.lastChild&&o[B.lastChild.name]){P=P.replace(E,"")}}if(P.length!==0){O=K("#text",3);O.raw=!!l;B.append(O).value=P}},comment:function(l){B.append(K("#comment",8)).value=l},pi:function(l,O){B.append(K(l,7)).value=O;I(B)},doctype:function(O){var l;l=B.append(K("#doctype",10));l.value=O;I(B)},start:function(l,W,P){var U,R,Q,O,S,X,V,T;Q=z?h.getElementRule(l):{};if(Q){U=K(Q.outputName||l,1);U.attributes=W;U.shortEnded=P;B.append(U);T=p[B.name];if(T&&p[U.name]&&!T[U.name]){M.push(U)}R=d.length;while(R--){S=d[R].name;if(S in W.map){F=c[S];if(F){F.push(U)}else{c[S]=[U]}}}if(o[l]){I(U)}if(!P){B=U}if(!L&&s[l]){L=true}}},end:function(l){var S,P,R,O,Q;P=z?h.getElementRule(l):{};if(P){if(o[l]){if(!L){S=B.firstChild;if(S&&S.type===3){R=S.value.replace(E,"");if(R.length>0){S.value=R;S=S.next}else{O=S.next;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.next;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}S=B.lastChild;if(S&&S.type===3){R=S.value.replace(t,"");if(R.length>0){S.value=R;S=S.prev}else{O=S.prev;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.prev;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}}}if(L&&s[l]){L=false}if(P.removeEmpty||P.paddEmpty){if(B.isEmpty(u)){if(P.paddEmpty){B.empty().append(new a("#text","3")).value="\u00a0"}else{if(!B.attributes.map.name&&!B.attributes.map.id){Q=B.parent;B.empty().remove();B=Q;return}}}}B=B.parent}}},h);J=B=new a(m.context||g.root_name,11);n.parse(v);if(z&&M.length){if(!m.context){j(M)}else{m.invalid=true}}if(q&&J.name=="body"){G()}if(!m.invalid){for(N in i){F=e[N];A=i[N];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(D=0,C=F.length;D<C;D++){F[D](A,N,m)}}for(D=0,C=d.length;D<C;D++){F=d[D];if(F.name in c){A=c[F.name];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(x=0,r=F.callbacks.length;x<r;x++){F.callbacks[x](A,F.name,m)}}}}return J};if(g.remove_trailing_brs){f.addNodeFilter("br",function(n,m){var r,q=n.length,o,v=b.extend({},h.getBlockElements()),k=h.getNonEmptyElements(),t,s,p,u;v.body=1;for(r=0;r<q;r++){o=n[r];t=o.parent;if(v[o.parent.name]&&o===t.lastChild){p=o.prev;while(p){u=p.name;if(u!=="span"||p.attr("data-mce-type")!=="bookmark"){if(u!=="br"){break}if(u==="br"){o=null;break}}p=p.prev}if(o){o.remove();if(t.isEmpty(k)){elementRule=h.getElementRule(t.name);if(elementRule){if(elementRule.removeEmpty){t.remove()}else{if(elementRule.paddEmpty){t.empty().append(new b.html.Node("#text",3)).value="\u00a0"}}}}}}else{s=o;while(t.firstChild===s&&t.lastChild===s){s=t;if(v[t.name]){break}t=t.parent}if(s===t){textNode=new b.html.Node("#text",3);textNode.value="\u00a0";o.replace(textNode)}}}})}if(!g.allow_html_in_named_anchor){f.addAttributeFilter("id,name",function(k,l){var n=k.length,p,m,o,q;while(n--){q=k[n];if(q.name==="a"&&q.firstChild&&!q.attr("href")){o=q.parent;p=q.lastChild;do{m=p.prev;o.insert(p,q);p=m}while(p)}}})}}})(tinymce);tinymce.html.Writer=function(e){var c=[],a,b,d,f,g;e=e||{};a=e.indent;b=tinymce.makeMap(e.indent_before||"");d=tinymce.makeMap(e.indent_after||"");f=tinymce.html.Entities.getEncodeFunc(e.entity_encoding||"raw",e.entities);g=e.element_format=="html";return{start:function(m,k,p){var n,j,h,o;if(a&&b[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n<j;n++){h=k[n];c.push(" ",h.name,'="',f(h.value,true),'"')}}if(!p||g){c[c.length]=">"}else{c[c.length]=" />"}if(p&&a&&d[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("</",h,">");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("<![CDATA[",h,"]]>")},comment:function(h){c.push("<!--",h,"-->")},pi:function(h,i){if(i){c.push("<?",h," ",i,"?>")}else{c.push("<?",h,"?>")}if(a){c.push("\n")}},doctype:function(h){c.push("<!DOCTYPE",h,">",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n<m;n++){r=q.attributesOrder[n];if(r in s.map){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}for(n=0,m=s.length;n<m;n++){r=s[n].name;if(!(r in u.map)){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}s=u}e.start(k.name,s,o);if(!o){if((k=k.firstChild)){do{f(k)}while(k=k.next)}e.end(j)}}else{t(k)}}if(h.type==1&&!c.inner){f(h)}else{g[11](h)}return e.getContent()}}})(tinymce);tinymce.dom={};(function(b,h){var g=!!document.addEventListener;function c(k,j,l,i){if(k.addEventListener){k.addEventListener(j,l,i||false)}else{if(k.attachEvent){k.attachEvent("on"+j,l)}}}function e(k,j,l,i){if(k.removeEventListener){k.removeEventListener(j,l,i||false)}else{if(k.detachEvent){k.detachEvent("on"+j,l)}}}function a(n,l){var i,k=l||{};function j(){return false}function m(){return true}for(i in n){if(i!=="layerX"&&i!=="layerY"){k[i]=n[i]}}if(!k.target){k.target=k.srcElement||document}k.preventDefault=function(){k.isDefaultPrevented=m;if(n){if(n.preventDefault){n.preventDefault()}else{n.returnValue=false}}};k.stopPropagation=function(){k.isPropagationStopped=m;if(n){if(n.stopPropagation){n.stopPropagation()}else{n.cancelBubble=true}}};k.stopImmediatePropagation=function(){k.isImmediatePropagationStopped=m;k.stopPropagation()};if(!k.isDefaultPrevented){k.isDefaultPrevented=j;k.isPropagationStopped=j;k.isImmediatePropagationStopped=j}return k}function d(m,n,l){var k=m.document,j={type:"ready"};function i(){if(!l.domLoaded){l.domLoaded=true;n(j)}}if(k.readyState=="complete"){i();return}if(g){c(m,"DOMContentLoaded",i)}else{c(k,"readystatechange",function(){if(k.readyState==="complete"){e(k,"readystatechange",arguments.callee);i()}});if(k.documentElement.doScroll&&m===m.top){(function(){try{k.documentElement.doScroll("left")}catch(o){setTimeout(arguments.callee,0);return}i()})()}}c(m,"load",i)}function f(k){var q=this,p={},i,o,n,m,l;m="onmouseenter" in document.documentElement;n="onfocusin" in document.documentElement;l={mouseenter:"mouseover",mouseleave:"mouseout"};i=1;q.domLoaded=false;q.events=p;function j(t,x){var s,u,r,v;s=p[x][t.type];if(s){for(u=0,r=s.length;u<r;u++){v=s[u];if(v&&v.func.call(v.scope,t)===false){t.preventDefault()}if(t.isImmediatePropagationStopped()){return}}}}q.bind=function(x,A,D,E){var s,t,u,r,B,z,C,v=window;function y(F){j(a(F||v.event),s)}if(!x||x.nodeType===3||x.nodeType===8){return}if(!x[h]){s=i++;x[h]=s;p[s]={}}else{s=x[h];if(!p[s]){p[s]={}}}E=E||x;A=A.split(" ");u=A.length;while(u--){r=A[u];z=y;B=C=false;if(r==="DOMContentLoaded"){r="ready"}if((q.domLoaded||x.readyState=="complete")&&r==="ready"){q.domLoaded=true;D.call(E,a({type:r}));continue}if(!m){B=l[r];if(B){z=function(F){var H,G;H=F.currentTarget;G=F.relatedTarget;if(G&&H.contains){G=H.contains(G)}else{while(G&&G!==H){G=G.parentNode}}if(!G){F=a(F||v.event);F.type=F.type==="mouseout"?"mouseleave":"mouseenter";F.target=H;j(F,s)}}}}if(!n&&(r==="focusin"||r==="focusout")){C=true;B=r==="focusin"?"focus":"blur";z=function(F){F=a(F||v.event);F.type=F.type==="focus"?"focusin":"focusout";j(F,s)}}t=p[s][r];if(!t){p[s][r]=t=[{func:D,scope:E}];t.fakeName=B;t.capture=C;t.nativeHandler=z;if(!g){t.proxyHandler=k(s)}if(r==="ready"){d(x,z,q)}else{c(x,B||r,g?z:t.proxyHandler,C)}}else{t.push({func:D,scope:E})}}x=t=0;return D};q.unbind=function(x,z,A){var s,u,v,B,r,t;if(!x||x.nodeType===3||x.nodeType===8){return q}s=x[h];if(s){t=p[s];if(z){z=z.split(" ");v=z.length;while(v--){r=z[v];u=t[r];if(u){if(A){B=u.length;while(B--){if(u[B].func===A){u.splice(B,1)}}}if(!A||u.length===0){delete t[r];e(x,u.fakeName||r,g?u.nativeHandler:u.proxyHandler,u.capture)}}}}else{for(r in t){u=t[r];e(x,u.fakeName||r,g?u.nativeHandler:u.proxyHandler,u.capture)}t={}}for(r in t){return q}delete p[s];try{delete x[h]}catch(y){x[h]=null}}return q};q.fire=function(u,s,r){var v,t;if(!u||u.nodeType===3||u.nodeType===8){return q}t=a(null,r);t.type=s;do{v=u[h];if(v){j(t,v)}u=u.parentNode||u.ownerDocument||u.defaultView||u.parentWindow}while(u&&!t.isPropagationStopped());return q};q.clean=function(u){var s,r,t=q.unbind;if(!u||u.nodeType===3||u.nodeType===8){return q}if(u[h]){t(u)}if(!u.getElementsByTagName){u=u.document}if(u&&u.getElementsByTagName){t(u);r=u.getElementsByTagName("*");s=r.length;while(s--){u=r[s];if(u[h]){t(u)}}}return q};q.callNativeHandler=function(s,r){if(p){p[s][r.type].nativeHandler(r)}};q.destory=function(){p={}};q.add=function(v,s,u,t){if(typeof(v)==="string"){v=document.getElementById(v)}if(v&&v instanceof Array){var r=v.length;while(r--){q.add(v[r],s,u,t)}return}if(s==="init"){s="ready"}return q.bind(v,s instanceof Array?s.join(" "):s,u,t)};q.remove=function(v,s,u,t){if(!v){return q}if(typeof(v)==="string"){v=document.getElementById(v)}if(v instanceof Array){var r=v.length;while(r--){q.remove(v[r],s,u,t)}return q}return q.unbind(v,s instanceof Array?s.join(" "):s,u)};q.clear=function(r){if(typeof(r)==="string"){r=document.getElementById(r)}return q.clean(r)};q.cancel=function(r){if(r){q.prevent(r);q.stop(r)}return false};q.prevent=function(r){if(!r.preventDefault){r=a(r)}r.preventDefault();return false};q.stop=function(r){if(!r.stopPropagation){r=a(r)}r.stopPropagation();return false}}b.EventUtils=f;b.Event=new f(function(i){return function(j){tinymce.dom.Event.callNativeHandler(i,j)}});b.Event.bind(window,"ready",function(){});b=0})(tinymce.dom,"data-mce-expando");tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(e){var g=e.each,d=e.is,f=e.isWebKit,b=e.isIE,h=e.html.Entities,c=/^([a-z0-9],?)+$/i,a=/^[ \t\r\n]*$/;e.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,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"},DOMUtils:function(o,l){var k=this,i,j,n;k.doc=o;k.win=window;k.files={};k.cssFlicker=false;k.counter=0;k.stdMode=!e.isIE||o.documentMode>=8;k.boxModel=!e.isIE||o.compatMode=="CSS1Compat"||k.stdMode;k.hasOuterHTML="outerHTML" in o.createElement("a");k.settings=l=e.extend({keep_values:false,hex_colors:1},l);k.schema=l.schema;k.styles=new e.html.Styles({url_converter:l.url_converter,url_converter_scope:l.url_converter_scope},l.schema);if(e.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(m){k.cssFlicker=true}}k.fixDoc(o);k.events=l.ownEvents?new e.dom.EventUtils(l.proxy):e.dom.Event;e.addUnload(k.destroy,k);n=l.schema?l.schema.getBlockElements():{};k.isBlock=function(q){if(!q){return false}var p=q.nodeType;if(p){return !!(p===1&&n[q.nodeName])}return !!n[q]}},fixDoc:function(k){var j=this.settings,i;if(b&&!e.isIE11&&j.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(l){k.createElement(l)});for(i in j.schema.getCustomElements()){k.createElement(i)}}},clone:function(k,i){var j=this,m,l;if(!b||e.isIE11||k.nodeType!==1||i){return k.cloneNode(i)}l=j.doc;if(!i){m=l.createElement(k.nodeName);g(j.getAttribs(k),function(n){j.setAttrib(m,n.nodeName,j.getAttrib(k,n.nodeName))});return m}return m.firstChild},getRoot:function(){var i=this,j=i.settings;return(j&&i.get(j.root_element))||i.doc.body},getViewPort:function(j){var k,i;j=!j?this.win:j;k=j.document;i=this.boxModel?k.documentElement:k.body;return{x:j.pageXOffset||i.scrollLeft,y:j.pageYOffset||i.scrollTop,w:j.innerWidth||i.clientWidth,h:j.innerHeight||i.clientHeight}},getRect:function(l){var k,i=this,j;l=i.get(l);k=i.getPos(l);j=i.getSize(l);return{x:k.x,y:k.y,w:j.w,h:j.h}},getSize:function(l){var j=this,i,k;l=j.get(l);i=j.getStyle(l,"width");k=j.getStyle(l,"height");if(i.indexOf("px")===-1){i=0}if(k.indexOf("px")===-1){k=0}return{w:parseInt(i,10)||l.offsetWidth||l.clientWidth,h:parseInt(k,10)||l.offsetHeight||l.clientHeight}},getParent:function(k,j,i){return this.getParents(k,j,i,false)},getParents:function(s,m,k,q){var j=this,i,l=j.settings,p=[];s=j.get(s);q=q===undefined;if(l.strict_root){k=k||j.getRoot()}if(d(m,"string")){i=m;if(m==="*"){m=function(o){return o.nodeType==1}}else{m=function(o){return j.is(o,i)}}}while(s){if(s==k||!s.nodeType||s.nodeType===9){break}if(!m||m(s)){if(q){p.push(s)}else{return s}}s=s.parentNode}return q?p:null},get:function(i){var j;if(i&&this.doc&&typeof(i)=="string"){j=i;i=this.doc.getElementById(i);if(i&&i.id!==j){return this.doc.getElementsByName(j)[1]}}return i},getNext:function(j,i){return this._findSib(j,i,"nextSibling")},getPrev:function(j,i){return this._findSib(j,i,"previousSibling")},select:function(k,j){var i=this;return e.dom.Sizzle(k,i.get(j)||i.get(i.settings.root_element)||i.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(c.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return e.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(l,o,i,k,m){var j=this;return this.run(l,function(r){var q,n;q=d(o,"string")?j.doc.createElement(o):o;j.setAttribs(q,i);if(k){if(k.nodeType){q.appendChild(k)}else{j.setHTML(q,k)}}return !m?r.appendChild(q):q})},create:function(k,i,j){return this.add(this.doc.createElement(k),k,i,j,1)},createHTML:function(q,i,m){var p="",l=this,j;p+="<"+q;for(j in i){if(i.hasOwnProperty(j)){p+=" "+j+'="'+l.encode(i[j])+'"'}}if(typeof(m)!="undefined"){return p+">"+m+"</"+q+">"}return p+" />"},remove:function(i,j){return this.run(i,function(l){var m,k=l.parentNode;if(!k){return null}if(j){while(m=l.firstChild){if(!e.isIE||m.nodeType!==3||m.nodeValue){k.insertBefore(m,l)}else{l.removeChild(m)}}}return k.removeChild(l)})},setStyle:function(l,i,j){var k=this;return k.run(l,function(o){var n,m;n=o.style;i=i.replace(/-(\D)/g,function(q,p){return p.toUpperCase()});if(k.pixelStyles.test(i)&&(e.is(j,"number")||/^[\-0-9\.]+$/.test(j))){j+="px"}switch(i){case"opacity":if(b&&!e.isIE11){n.filter=j===""?"":"alpha(opacity="+(j*100)+")";if(!l.currentStyle||!l.currentStyle.hasLayout){n.display="inline-block"}}n[i]=n["-moz-opacity"]=n["-khtml-opacity"]=j||"";break;case"float":(b&&!e.isIE11)?n.styleFloat=j:n.cssFloat=j;break;default:n[i]=j||""}if(k.settings.update_styles){k.setAttrib(o,"data-mce-style")}})},getStyle:function(l,i,k){l=this.get(l);if(!l){return}if(this.doc.defaultView&&k){i=i.replace(/[A-Z]/g,function(m){return"-"+m});try{return this.doc.defaultView.getComputedStyle(l,null).getPropertyValue(i)}catch(j){return null}}i=i.replace(/-(\D)/g,function(n,m){return m.toUpperCase()});if(i=="float"){i=b?"styleFloat":"cssFloat"}if(l.currentStyle&&k){return l.currentStyle[i]}return l.style?l.style[i]:undefined},setStyles:function(l,m){var j=this,k=j.settings,i;i=k.update_styles;k.update_styles=0;g(m,function(o,p){j.setStyle(l,p,o)});k.update_styles=i;if(k.update_styles){j.setAttrib(l,k.cssText)}},removeAllAttribs:function(i){return this.run(i,function(l){var k,j=l.attributes;for(k=j.length-1;k>=0;k--){l.removeAttributeNode(j.item(k))}})},setAttrib:function(k,l,i){var j=this;if(!k||!l){return}if(j.settings.strict){l=l.toLowerCase()}return this.run(k,function(p){var o=j.settings;var m=p.getAttribute(l);if(i!==null){switch(l){case"style":if(!d(i,"string")){g(i,function(q,r){j.setStyle(p,r,q)});return}if(o.keep_values){if(i&&!j._isRes(i)){p.setAttribute("data-mce-style",i,2)}else{p.removeAttribute("data-mce-style",2)}}p.style.cssText=i;break;case"class":p.className=i||"";break;case"src":case"href":if(o.keep_values){if(o.url_converter){i=o.url_converter.call(o.url_converter_scope||j,i,l,p)}j.setAttrib(p,"data-mce-"+l,i,2)}break;case"shape":p.setAttribute("data-mce-style",i);break}}if(d(i)&&i!==null&&i.length!==0){p.setAttribute(l,""+i,2)}else{p.removeAttribute(l,2)}if(tinyMCE.activeEditor&&m!=i){var n=tinyMCE.activeEditor;n.onSetAttrib.dispatch(n,p,l,i)}})},setAttribs:function(j,k){var i=this;return this.run(j,function(l){g(k,function(m,o){i.setAttrib(l,o,m)})})},getAttrib:function(m,o,k){var i,j=this,l;m=j.get(m);if(!m||m.nodeType!==1){return k===l?false:k}if(!d(k)){k=""}if(/^(src|href|style|coords|shape)$/.test(o)){i=m.getAttribute("data-mce-"+o);if(i){return i}}if(b&&j.props[o]){i=m[j.props[o]];i=i&&i.nodeValue?i.nodeValue:i}if(!i){i=m.getAttribute(o,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(o)){if(m[j.props[o]]===true&&i===""){return o}return i?o:""}if(m.nodeName==="FORM"&&m.getAttributeNode(o)){return m.getAttributeNode(o).nodeValue}if(o==="style"){i=i||m.style.cssText;if(i){i=j.serializeStyle(j.parseStyle(i),m.nodeName);if(j.settings.keep_values&&!j._isRes(i)){m.setAttribute("data-mce-style",i)}}}if(f&&o==="class"&&i){i=i.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(o){case"rowspan":case"colspan":if(i===1){i=""}break;case"size":if(i==="+0"||i===20||i===0){i=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(i===0){i=""}break;case"hspace":if(i===-1){i=""}break;case"maxlength":case"tabindex":if(i===32768||i===2147483647||i==="32768"){i=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(i===65535){return o}return k;case"shape":i=i.toLowerCase();break;default:if(o.indexOf("on")===0&&i){i=e._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+i)}}}return(i!==l&&i!==null&&i!=="")?""+i:k},getPos:function(q,l){var j=this,i=0,p=0,m,o=j.doc,k;q=j.get(q);l=l||o.body;if(q){if(q.getBoundingClientRect){q=q.getBoundingClientRect();m=j.boxModel?o.documentElement:o.body;i=q.left+(o.documentElement.scrollLeft||o.body.scrollLeft)-m.clientTop;p=q.top+(o.documentElement.scrollTop||o.body.scrollTop)-m.clientLeft;return{x:i,y:p}}k=q;while(k&&k!=l&&k.nodeType){i+=k.offsetLeft||0;p+=k.offsetTop||0;k=k.offsetParent}k=q.parentNode;while(k&&k!=l&&k.nodeType){i-=k.scrollLeft||0;p-=k.scrollTop||0;k=k.parentNode}}return{x:i,y:p}},parseStyle:function(i){return this.styles.parse(i)},serializeStyle:function(j,i){return this.styles.serialize(j,i)},addStyle:function(j){var k=this.doc,i;styleElm=k.getElementById("mceDefaultStyles");if(!styleElm){styleElm=k.createElement("style"),styleElm.id="mceDefaultStyles";styleElm.type="text/css";i=k.getElementsByTagName("head")[0];if(i.firstChild){i.insertBefore(styleElm,i.firstChild)}else{i.appendChild(styleElm)}}if(styleElm.styleSheet){styleElm.styleSheet.cssText+=j}else{styleElm.appendChild(k.createTextNode(j))}},loadCSS:function(i){var k=this,l=k.doc,j;if(!i){i=""}j=l.getElementsByTagName("head")[0];g(i.split(","),function(m){var n;if(k.files[m]){return}k.files[m]=true;n=k.create("link",{rel:"stylesheet",href:e._addVer(m)});if(b&&!e.isIE11&&l.documentMode&&l.recalc){n.onload=function(){if(l.recalc){l.recalc()}n.onload=null}}j.appendChild(n)})},addClass:function(i,j){return this.run(i,function(k){var l;if(!j){return 0}if(this.hasClass(k,j)){return k.className}l=this.removeClass(k,j);return k.className=(l!=""?(l+" "):"")+j})},removeClass:function(k,l){var i=this,j;return i.run(k,function(n){var m;if(i.hasClass(n,l)){if(!j){j=new RegExp("(^|\\s+)"+l+"(\\s+|$)","g")}m=n.className.replace(j," ");m=e.trim(m!=" "?m:"");n.className=m;if(!m){n.removeAttribute("class");n.removeAttribute("className")}return m}return n.className})},hasClass:function(j,i){j=this.get(j);if(!j||!i){return false}return(" "+j.className+" ").indexOf(" "+i+" ")!==-1},show:function(i){return this.setStyle(i,"display","block")},hide:function(i){return this.setStyle(i,"display","none")},isHidden:function(i){i=this.get(i);return !i||i.style.display=="none"||this.getStyle(i,"display")=="none"},uniqueId:function(i){return(!i?"mce_":i)+(this.counter++)},setHTML:function(k,j){var i=this;return i.run(k,function(m){if(b){while(m.firstChild){m.removeChild(m.firstChild)}try{m.innerHTML="<br />"+j;m.removeChild(m.firstChild)}catch(l){var n=i.create("div");n.innerHTML="<br />"+j;g(e.grep(n.childNodes),function(p,o){if(o&&m.canHaveHTML){m.appendChild(p)}})}}else{m.innerHTML=j}return j})},getOuterHTML:function(k){var j,i=this;k=i.get(k);if(!k){return null}if(k.nodeType===1&&i.hasOuterHTML){return k.outerHTML}j=(k.ownerDocument||i.doc).createElement("body");j.appendChild(k.cloneNode(true));return j.innerHTML},setOuterHTML:function(l,j,m){var i=this;function k(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){i.insertAfter(s.cloneNode(true),p);s=s.previousSibling}i.remove(p)}return this.run(l,function(o){o=i.get(o);if(o.nodeType==1){m=m||o.ownerDocument||i.doc;if(b){try{if(b&&o.nodeType==1){o.outerHTML=j}else{k(o,j,m)}}catch(n){k(o,j,m)}}else{k(o,j,m)}}})},decode:h.decode,encode:h.encodeAllRaw,insertAfter:function(i,j){j=this.get(j);return this.run(i,function(l){var k,m;k=j.parentNode;m=j.nextSibling;if(m){k.insertBefore(l,m)}else{k.appendChild(l)}return l})},replace:function(m,l,i){var j=this;if(d(l,"array")){m=m.cloneNode(true)}return j.run(l,function(k){if(i){g(e.grep(k.childNodes),function(n){m.appendChild(n)})}return k.parentNode.replaceChild(m,k)})},rename:function(l,i){var k=this,j;if(l.nodeName!=i.toUpperCase()){j=k.create(i);g(k.getAttribs(l),function(m){k.setAttrib(j,m.nodeName,k.getAttrib(l,m.nodeName))});k.replace(j,l,1)}return j||l},findCommonAncestor:function(k,i){var l=k,j;while(l){j=i;while(j&&l!=j){j=j.parentNode}if(l==j){break}l=l.parentNode}if(!l&&k.ownerDocument){return k.ownerDocument.documentElement}return l},toHex:function(i){var k=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(i);function j(l){l=parseInt(l,10).toString(16);return l.length>1?l:"0"+l}if(k){i="#"+j(k[1])+j(k[2])+j(k[3]);return i}return i},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(i){g(i.imports,function(s){q(s)});g(i.cssRules||i.rules,function(t){switch(t.type||1){case 1:if(t.selectorText){g(t.selectorText.split(","),function(r){r=r.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(r)||!/\.[\w\-]+$/.test(r)){return}l=r;r=e._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",r);if(p&&!(r=p(r,l))){return}if(!o[r]){j.push({"class":r});o[r]=1}})}break;case 3:try{q(t.styleSheet)}catch(s){}break}})}try{g(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(l,k,j){var i=this,m;if(i.doc&&typeof(l)==="string"){l=i.get(l)}if(!l){return false}j=j||this;if(!l.nodeType&&(l.length||l.length===0)){m=[];g(l,function(o,n){if(o){if(typeof(o)=="string"){o=i.doc.getElementById(o)}m.push(k.call(j,o,n))}});return m}return k.call(j,l)},getAttribs:function(j){var i;j=this.get(j);if(!j){return[]}if(b){i=[];if(j.nodeName=="OBJECT"){return j.attributes}if(j.nodeName==="OPTION"&&this.getAttrib(j,"selected")){i.push({specified:1,nodeName:"selected"})}j.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(k){i.push({specified:1,nodeName:k})});return i}return j.attributes},isEmpty:function(m,k){var r=this,o,n,q,j,l,p=0;m=m.firstChild;if(m){j=new e.dom.TreeWalker(m,m.parentNode);k=k||r.schema?r.schema.getNonEmptyElements():null;do{q=m.nodeType;if(q===1){if(m.getAttribute("data-mce-bogus")){continue}l=m.nodeName.toLowerCase();if(k&&k[l]){if(l==="br"){p++;continue}return false}n=r.getAttribs(m);o=m.attributes.length;while(o--){l=m.attributes[o].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if(q==8){return false}if((q===3&&!a.test(m.nodeValue))){return false}}while(m=j.next())}return p<=1},destroy:function(j){var i=this;i.win=i.doc=i.root=i.events=i.frag=null;if(!j){e.removeUnload(i.destroy)}},createRng:function(){var i=this.doc;return i.createRange?i.createRange():new e.dom.Range(this)},nodeIndex:function(m,n){var i=0,k,l,j;if(m){for(k=m.nodeType,m=m.previousSibling,l=m;m;m=m.previousSibling){j=m.nodeType;if(n&&j==3){if(j==k||!m.nodeValue.length){continue}}i++;k=j}}return i},split:function(m,l,p){var q=this,i=q.createRng(),n,k,o;function j(v){var t,s=v.childNodes,u=v.nodeType;function x(A){var z=A.previousSibling&&A.previousSibling.nodeName=="SPAN";var y=A.nextSibling&&A.nextSibling.nodeName=="SPAN";return z&&y}if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=s.length-1;t>=0;t--){j(s[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){var r=e.trim(v.nodeValue).length;if(!q.isBlock(v.parentNode)||r>0||r===0&&x(v)){return}}else{if(u==1){s=v.childNodes;if(s.length==1&&s[0]&&s[0].nodeType==1&&s[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(s[0],v)}if(s.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}q.remove(v)}return v}if(m&&l){i.setStart(m.parentNode,q.nodeIndex(m));i.setEnd(l.parentNode,q.nodeIndex(l));n=i.extractContents();i=q.createRng();i.setStart(l.parentNode,q.nodeIndex(l)+1);i.setEnd(m.parentNode,q.nodeIndex(m)+1);k=i.extractContents();o=m.parentNode;o.insertBefore(j(n),m);if(p){o.replaceChild(p,l)}else{o.insertBefore(l,m)}o.insertBefore(j(k),m);q.remove(m);return p||l}},bind:function(l,i,k,j){return this.events.add(l,i,k,j||this)},unbind:function(k,i,j){return this.events.remove(k,i,j)},fire:function(k,j,i){return this.events.fire(k,j,i)},getContentEditable:function(j){var i;if(j.nodeType!=1){return null}i=j.getAttribute("data-mce-contenteditable");if(i&&i!=="inherit"){return i}return j.contentEditable!=="inherit"?j.contentEditable:null},_findSib:function(l,i,j){var k=this,m=i;if(l){if(d(m,"string")){m=function(n){return k.is(n,i)}}for(l=l[j];l;l=l[j]){if(m(l)){return l}}}return null},_isRes:function(i){return/^(top|left|bottom|right|width|height)/i.test(i)||/;\s*(top|left|bottom|right|width|height)/i.test(i)}});e.DOM=new e.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var O=this,e=c.doc,U=0,F=1,j=2,E=true,S=false,W="startOffset",h="startContainer",Q="endContainer",A="endOffset",k=tinymce.extend,n=c.nodeIndex;k(O,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:E,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:J,setEndBefore:K,setEndAfter:u,collapse:B,selectNode:y,selectNodeContents:G,compareBoundaryPoints:v,deleteContents:p,extractContents:I,cloneContents:d,insertNode:D,surroundContents:N,cloneRange:L,toStringIE:T});function x(){return e.createDocumentFragment()}function q(X,t){C(E,X,t)}function s(X,t){C(S,X,t)}function g(t){q(t.parentNode,n(t))}function J(t){q(t.parentNode,n(t)+1)}function K(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function B(t){if(t){O[Q]=O[h];O[A]=O[W]}else{O[h]=O[Q];O[W]=O[A]}O.collapsed=E}function y(t){g(t);u(t)}function G(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(aa,t){var ad=O[h],Y=O[W],ac=O[Q],X=O[A],ab=t.startContainer,af=t.startOffset,Z=t.endContainer,ae=t.endOffset;if(aa===0){return H(ad,Y,ab,af)}if(aa===1){return H(ac,X,ab,af)}if(aa===2){return H(ac,X,Z,ae)}if(aa===3){return H(ad,Y,Z,ae)}}function p(){l(j)}function I(){return l(U)}function d(){return l(F)}function D(aa){var X=this[h],t=this[W],Z,Y;if((X.nodeType===3||X.nodeType===4)&&X.nodeValue){if(!t){X.parentNode.insertBefore(aa,X)}else{if(t>=X.nodeValue.length){c.insertAfter(aa,X)}else{Z=X.splitText(t);X.parentNode.insertBefore(aa,Z)}}}else{if(X.childNodes.length>0){Y=X.childNodes[t]}if(Y){X.insertBefore(aa,Y)}else{X.appendChild(aa)}}}function N(X){var t=O.extractContents();O.insertNode(X);X.appendChild(t);O.selectNode(X)}function L(){return k(new b(c),{startContainer:O[h],startOffset:O[W],endContainer:O[Q],endOffset:O[A],collapsed:O.collapsed,commonAncestorContainer:O.commonAncestorContainer})}function P(t,X){var Y;if(t.nodeType==3){return t}if(X<0){return t}Y=t.firstChild;while(Y&&X>0){--X;Y=Y.nextSibling}if(Y){return Y}return t}function m(){return(O[h]==O[Q]&&O[W]==O[A])}function H(Z,ab,X,aa){var ac,Y,t,ad,af,ae;if(Z==X){if(ab==aa){return 0}if(ab<aa){return -1}return 1}ac=X;while(ac&&ac.parentNode!=Z){ac=ac.parentNode}if(ac){Y=0;t=Z.firstChild;while(t!=ac&&Y<ab){Y++;t=t.nextSibling}if(ab<=Y){return -1}return 1}ac=Z;while(ac&&ac.parentNode!=X){ac=ac.parentNode}if(ac){Y=0;t=X.firstChild;while(t!=ac&&Y<aa){Y++;t=t.nextSibling}if(Y<aa){return -1}return 1}ad=c.findCommonAncestor(Z,X);af=Z;while(af&&af.parentNode!=ad){af=af.parentNode}if(!af){af=ad}ae=X;while(ae&&ae.parentNode!=ad){ae=ae.parentNode}if(!ae){ae=ad}if(af==ae){return 0}t=ad.firstChild;while(t){if(t==af){return -1}if(t==ae){return 1}t=t.nextSibling}}function C(X,aa,Z){var t,Y;if(X){O[h]=aa;O[W]=Z}else{O[Q]=aa;O[A]=Z}t=O[Q];while(t.parentNode){t=t.parentNode}Y=O[h];while(Y.parentNode){Y=Y.parentNode}if(Y==t){if(H(O[h],O[W],O[Q],O[A])>0){O.collapse(X)}}else{O.collapse(X)}O.collapsed=m();O.commonAncestorContainer=c.findCommonAncestor(O[h],O[Q])}function l(ad){var ac,Z=0,af=0,X,ab,Y,aa,t,ae;if(O[h]==O[Q]){return f(ad)}for(ac=O[Q],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[h]){return r(ac,ad)}++Z}for(ac=O[h],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[Q]){return V(ac,ad)}++af}ab=af-Z;Y=O[h];while(ab>0){Y=Y.parentNode;ab--}aa=O[Q];while(ab<0){aa=aa.parentNode;ab++}for(t=Y.parentNode,ae=aa.parentNode;t!=ae;t=t.parentNode,ae=ae.parentNode){Y=t;aa=ae}return o(Y,aa,ad)}function f(ac){var ae,af,t,Y,Z,ad,aa,X,ab;if(ac!=j){ae=x()}if(O[W]==O[A]){return ae}if(O[h].nodeType==3){af=O[h].nodeValue;t=af.substring(O[W],O[A]);if(ac!=F){Y=O[h];X=O[W];ab=O[A]-O[W];if(X===0&&ab>=Y.nodeValue.length-1){Y.parentNode.removeChild(Y)}else{Y.deleteData(X,ab)}O.collapse(E)}if(ac==j){return}if(t.length>0){ae.appendChild(e.createTextNode(t))}return ae}Y=P(O[h],O[W]);Z=O[A]-O[W];while(Y&&Z>0){ad=Y.nextSibling;aa=z(Y,ac);if(ae){ae.appendChild(aa)}--Z;Y=ad}if(ac!=F){O.collapse(E)}return ae}function r(ad,aa){var ac,ab,X,t,Z,Y;if(aa!=j){ac=x()}ab=i(ad,aa);if(ac){ac.appendChild(ab)}X=n(ad);t=X-O[W];if(t<=0){if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}ab=ad.previousSibling;while(t>0){Z=ab.previousSibling;Y=z(ab,aa);if(ac){ac.insertBefore(Y,ac.firstChild)}--t;ab=Z}if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}function V(ab,aa){var ad,X,ac,t,Z,Y;if(aa!=j){ad=x()}ac=R(ab,aa);if(ad){ad.appendChild(ac)}X=n(ab);++X;t=O[A]-X;ac=ab.nextSibling;while(ac&&t>0){Z=ac.nextSibling;Y=z(ac,aa);if(ad){ad.appendChild(Y)}--t;ac=Z}if(aa!=F){O.setStartAfter(ab);O.collapse(E)}return ad}function o(ab,t,ae){var Y,ag,aa,ac,ad,X,af,Z;if(ae!=j){ag=x()}Y=R(ab,ae);if(ag){ag.appendChild(Y)}aa=ab.parentNode;ac=n(ab);ad=n(t);++ac;X=ad-ac;af=ab.nextSibling;while(X>0){Z=af.nextSibling;Y=z(af,ae);if(ag){ag.appendChild(Y)}af=Z;--X}Y=i(t,ae);if(ag){ag.appendChild(Y)}if(ae!=F){O.setStartAfter(ab);O.collapse(E)}return ag}function i(ac,ad){var Y=P(O[Q],O[A]-1),ae,ab,aa,t,X,Z=Y!=O[Q];if(Y==ac){return M(Y,Z,S,ad)}ae=Y.parentNode;ab=M(ae,S,S,ad);while(ae){while(Y){aa=Y.previousSibling;t=M(Y,Z,S,ad);if(ad!=j){ab.insertBefore(t,ab.firstChild)}Z=E;Y=aa}if(ae==ac){return ab}Y=ae.previousSibling;ae=ae.parentNode;X=M(ae,S,S,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function R(ac,ad){var Z=P(O[h],O[W]),aa=Z!=O[h],ae,ab,Y,t,X;if(Z==ac){return M(Z,aa,E,ad)}ae=Z.parentNode;ab=M(ae,S,E,ad);while(ae){while(Z){Y=Z.nextSibling;t=M(Z,aa,E,ad);if(ad!=j){ab.appendChild(t)}aa=E;Z=Y}if(ae==ac){return ab}Z=ae.nextSibling;ae=ae.parentNode;X=M(ae,S,E,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function M(t,aa,ad,ae){var Z,Y,ab,X,ac;if(aa){return z(t,ae)}if(t.nodeType==3){Z=t.nodeValue;if(ad){X=O[W];Y=Z.substring(X);ab=Z.substring(0,X)}else{X=O[A];Y=Z.substring(0,X);ab=Z.substring(X)}if(ae!=F){t.nodeValue=ab}if(ae==j){return}ac=c.clone(t,S);ac.nodeValue=Y;return ac}if(ae==j){return}return c.clone(t,S)}function z(X,t){if(t!=j){return t==F?c.clone(X,E):X}X.parentNode.removeChild(X)}function T(){return c.create("body",null,d()).outerText}return O}a.Range=b;b.prototype.toString=function(){return this.toStringIE()}})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",1)===0||s!=k.parentElement()){break}o++}}else{k.collapse(true);o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",-1)===0||s!=k.parentElement()){break}o++}}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p&&t.nodeType!==9){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,v,q,t,s=d.dom.doc,m=s.body,r,u;function j(C){var y,B,x,A,z;x=h.create("a");y=C?k:v;B=C?p:q;A=n.duplicate();if(y==s||y==s.documentElement){y=m;B=0}if(y.nodeType==3){y.parentNode.insertBefore(x,y);A.moveToElementText(x);A.moveStart("character",B);h.remove(x);n.setEndPoint(C?"StartToStart":"EndToEnd",A)}else{z=y.childNodes;if(z.length){if(B>=z.length){h.insertAfter(x,z[z.length-1])}else{y.insertBefore(x,z[B])}A.moveToElementText(x)}else{if(y.canHaveHTML){y.innerHTML="<span>\uFEFF</span>";x=y.firstChild;A.moveToElementText(x);A.collapse(f)}}n.setEndPoint(C?"StartToStart":"EndToEnd",A);h.remove(x)}}k=i.startContainer;p=i.startOffset;v=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==v&&k.nodeType==1){if(p==q&&!k.hasChildNodes()){if(k.canHaveHTML){t=k.previousSibling;if(t&&!t.hasChildNodes()&&h.isBlock(t)){t.innerHTML="\uFEFF"}else{t=null}k.innerHTML="<span>\uFEFF</span><span>\uFEFF</span>";n.moveToElementText(k.lastChild);n.select();h.doc.selection.clear();k.innerHTML="";if(t){t.innerHTML=""}return}else{p=h.nodeIndex(k);k=k.parentNode}}if(p==q-1){try{u=k.childNodes[p];l=m.createControlRange();l.addElement(u);l.select();r=d.getRng();if(r.item&&u===r.item(0)){return}}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var n=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i="sizcache",o=0,r=Object.prototype.toString,h=false,g=true,q=/\\/g,u=/\r\n/g,x=/\W/;[0,0].sort(function(){g=false;return 0});var d=function(C,e,F,G){F=F||[];e=e||document;var I=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!C||typeof C!=="string"){return F}var z,K,N,y,J,M,L,E,B=true,A=d.isXML(e),D=[],H=C;do{n.exec("");z=n.exec(H);if(z){H=z[3];D.push(z[1]);if(z[2]){y=z[3];break}}}while(z);if(D.length>1&&j.exec(C)){if(D.length===2&&k.relative[D[0]]){K=s(D[0]+D[1],e,G)}else{K=k.relative[D[0]]?[e]:d(D.shift(),e);while(D.length){C=D.shift();if(k.relative[C]){C+=D.shift()}K=s(C,K,G)}}}else{if(!G&&D.length>1&&e.nodeType===9&&!A&&k.match.ID.test(D[0])&&!k.match.ID.test(D[D.length-1])){J=d.find(D.shift(),e,A);e=J.expr?d.filter(J.expr,J.set)[0]:J.set[0]}if(e){J=G?{expr:D.pop(),set:l(G)}:d.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&e.parentNode?e.parentNode:e,A);K=J.expr?d.filter(J.expr,J.set):J.set;if(D.length>0){N=l(K)}else{B=false}while(D.length){M=D.pop();L=M;if(!k.relative[M]){M=""}else{L=D.pop()}if(L==null){L=e}k.relative[M](N,L,A)}}else{N=D=[]}}if(!N){N=K}if(!N){d.error(M||C)}if(r.call(N)==="[object Array]"){if(!B){F.push.apply(F,N)}else{if(e&&e.nodeType===1){for(E=0;N[E]!=null;E++){if(N[E]&&(N[E]===true||N[E].nodeType===1&&d.contains(e,N[E]))){F.push(K[E])}}}else{for(E=0;N[E]!=null;E++){if(N[E]&&N[E].nodeType===1){F.push(K[E])}}}}}else{l(N,F)}if(y){d(y,I,F,G);d.uniqueSort(F)}return F};d.uniqueSort=function(y){if(p){h=g;y.sort(p);if(h){for(var e=1;e<y.length;e++){if(y[e]===y[e-1]){y.splice(e--,1)}}}}return y};d.matches=function(e,y){return d(e,null,null,y)};d.matchesSelector=function(e,y){return d(y,null,null,[e]).length>0};d.find=function(E,e,F){var D,z,B,A,C,y;if(!E){return[]}for(z=0,B=k.order.length;z<B;z++){C=k.order[z];if((A=k.leftMatch[C].exec(E))){y=A[1];A.splice(1,1);if(y.substr(y.length-1)!=="\\"){A[1]=(A[1]||"").replace(q,"");D=k.find[C](A,e,F);if(D!=null){E=E.replace(k.match[C],"");break}}}}if(!D){D=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:D,expr:E}};d.filter=function(I,H,L,B){var D,e,G,N,K,y,A,C,J,z=I,M=[],F=H,E=H&&H[0]&&d.isXML(H[0]);while(I&&H.length){for(G in k.filter){if((D=k.leftMatch[G].exec(I))!=null&&D[2]){y=k.filter[G];A=D[1];e=false;D.splice(1,1);if(A.substr(A.length-1)==="\\"){continue}if(F===M){M=[]}if(k.preFilter[G]){D=k.preFilter[G](D,F,L,M,B,E);if(!D){e=N=true}else{if(D===true){continue}}}if(D){for(C=0;(K=F[C])!=null;C++){if(K){N=y(K,D,C,F);J=B^N;if(L&&N!=null){if(J){e=true}else{F[C]=false}}else{if(J){M.push(K);e=true}}}}}if(N!==undefined){if(!L){F=M}I=I.replace(k.match[G],"");if(!e){return[]}break}}}if(I===z){if(e==null){d.error(I)}else{break}}z=I}return F};d.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var b=d.getText=function(B){var z,A,e=B.nodeType,y="";if(e){if(e===1||e===9||e===11){if(typeof B.textContent==="string"){return B.textContent}else{if(typeof B.innerText==="string"){return B.innerText.replace(u,"")}else{for(B=B.firstChild;B;B=B.nextSibling){y+=b(B)}}}}else{if(e===3||e===4){return B.nodeValue}}}else{for(z=0;(A=B[z]);z++){if(A.nodeType!==8){y+=b(A)}}}return y};var k=d.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(D,y){var A=typeof y==="string",C=A&&!x.test(y),E=A&&!C;if(C){y=y.toLowerCase()}for(var z=0,e=D.length,B;z<e;z++){if((B=D[z])){while((B=B.previousSibling)&&B.nodeType!==1){}D[z]=E||B&&B.nodeName.toLowerCase()===y?B||false:B===y}}if(E){d.filter(y,D,true)}},">":function(D,y){var C,B=typeof y==="string",z=0,e=D.length;if(B&&!x.test(y)){y=y.toLowerCase();for(;z<e;z++){C=D[z];if(C){var A=C.parentNode;D[z]=A.nodeName.toLowerCase()===y?A:false}}}else{for(;z<e;z++){C=D[z];if(C){D[z]=B?C.parentNode:C.parentNode===y}}if(B){d.filter(y,D,true)}}},"":function(A,y,C){var B,z=o++,e=t;if(typeof y==="string"&&!x.test(y)){y=y.toLowerCase();B=y;e=a}e("parentNode",y,z,A,B,C)},"~":function(A,y,C){var B,z=o++,e=t;if(typeof y==="string"&&!x.test(y)){y=y.toLowerCase();B=y;e=a}e("previousSibling",y,z,A,B,C)}},find:{ID:function(y,z,A){if(typeof z.getElementById!=="undefined"&&!A){var e=z.getElementById(y[1]);return e&&e.parentNode?[e]:[]}},NAME:function(z,C){if(typeof C.getElementsByName!=="undefined"){var y=[],B=C.getElementsByName(z[1]);for(var A=0,e=B.length;A<e;A++){if(B[A].getAttribute("name")===z[1]){y.push(B[A])}}return y.length===0?null:y}},TAG:function(e,y){if(typeof y.getElementsByTagName!=="undefined"){return y.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(A,y,z,e,D,E){A=" "+A[1].replace(q,"")+" ";if(E){return A}for(var B=0,C;(C=y[B])!=null;B++){if(C){if(D^(C.className&&(" "+C.className+" ").replace(/[\t\n\r]/g," ").indexOf(A)>=0)){if(!z){e.push(C)}}else{if(z){y[B]=false}}}}return false},ID:function(e){return e[1].replace(q,"")},TAG:function(y,e){return y[1].replace(q,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){d.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var y=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(y[1]+(y[2]||1))-0;e[3]=y[3]-0}else{if(e[2]){d.error(e[0])}}e[0]=o++;return e},ATTR:function(B,y,z,e,C,D){var A=B[1]=B[1].replace(q,"");if(!D&&k.attrMap[A]){B[1]=k.attrMap[A]}B[4]=(B[4]||B[5]||"").replace(q,"");if(B[2]==="~="){B[4]=" "+B[4]+" "}return B},PSEUDO:function(B,y,z,e,C){if(B[1]==="not"){if((n.exec(B[3])||"").length>1||/^\w/.test(B[3])){B[3]=d(B[3],null,null,y)}else{var A=d.filter(B[3],y,z,true^C);if(!z){e.push.apply(e,A)}return false}}else{if(k.match.POS.test(B[0])||k.match.CHILD.test(B[0])){return true}}return B},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(z,y,e){return !!d(e[3],z).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(z){var e=z.getAttribute("type"),y=z.type;return z.nodeName.toLowerCase()==="input"&&"text"===y&&(e===y||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===y.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===y.type},button:function(y){var e=y.nodeName.toLowerCase();return e==="input"&&"button"===y.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(y,e){return e===0},last:function(z,y,e,A){return y===A.length-1},even:function(y,e){return e%2===0},odd:function(y,e){return e%2===1},lt:function(z,y,e){return y<e[3]-0},gt:function(z,y,e){return y>e[3]-0},nth:function(z,y,e){return e[3]-0===y},eq:function(z,y,e){return e[3]-0===y}},filter:{PSEUDO:function(z,E,D,F){var e=E[1],y=k.filters[e];if(y){return y(z,D,E,F)}else{if(e==="contains"){return(z.textContent||z.innerText||b([z])||"").indexOf(E[3])>=0}else{if(e==="not"){var A=E[3];for(var C=0,B=A.length;C<B;C++){if(A[C]===z){return false}}return true}else{d.error(e)}}}},CHILD:function(z,B){var A,H,D,G,e,C,F,E=B[1],y=z;switch(E){case"only":case"first":while((y=y.previousSibling)){if(y.nodeType===1){return false}}if(E==="first"){return true}y=z;case"last":while((y=y.nextSibling)){if(y.nodeType===1){return false}}return true;case"nth":A=B[2];H=B[3];if(A===1&&H===0){return true}D=B[0];G=z.parentNode;if(G&&(G[i]!==D||!z.nodeIndex)){C=0;for(y=G.firstChild;y;y=y.nextSibling){if(y.nodeType===1){y.nodeIndex=++C}}G[i]=D}F=z.nodeIndex-H;if(A===0){return F===0}else{return(F%A===0&&F/A>=0)}}},ID:function(y,e){return y.nodeType===1&&y.getAttribute("id")===e},TAG:function(y,e){return(e==="*"&&y.nodeType===1)||!!y.nodeName&&y.nodeName.toLowerCase()===e},CLASS:function(y,e){return(" "+(y.className||y.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(C,A){var z=A[1],e=d.attr?d.attr(C,z):k.attrHandle[z]?k.attrHandle[z](C):C[z]!=null?C[z]:C.getAttribute(z),D=e+"",B=A[2],y=A[4];return e==null?B==="!=":!B&&d.attr?e!=null:B==="="?D===y:B==="*="?D.indexOf(y)>=0:B==="~="?(" "+D+" ").indexOf(y)>=0:!y?D&&e!==false:B==="!="?D!==y:B==="^="?D.indexOf(y)===0:B==="$="?D.substr(D.length-y.length)===y:B==="|="?D===y||D.substr(0,y.length+1)===y+"-":false},POS:function(B,y,z,C){var e=y[2],A=k.setFilters[e];if(A){return A(B,z,y,C)}}}};var j=k.match.POS,c=function(y,e){return"\\"+(e-0+1)};for(var f in k.match){k.match[f]=new RegExp(k.match[f].source+(/(?![^\[]*\])(?![^\(]*\))/.source));k.leftMatch[f]=new RegExp(/(^(?:.|\r|\n)*?)/.source+k.match[f].source.replace(/\\(\d+)/g,c))}k.match.globalPOS=j;var l=function(y,e){y=Array.prototype.slice.call(y,0);if(e){e.push.apply(e,y);return e}return y};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(v){l=function(B,A){var z=0,y=A||[];if(r.call(B)==="[object Array]"){Array.prototype.push.apply(y,B)}else{if(typeof B.length==="number"){for(var e=B.length;z<e;z++){y.push(B[z])}}else{for(;B[z];z++){y.push(B[z])}}}return y}}var p,m;if(document.documentElement.compareDocumentPosition){p=function(y,e){if(y===e){h=true;return 0}if(!y.compareDocumentPosition||!e.compareDocumentPosition){return y.compareDocumentPosition?-1:1}return y.compareDocumentPosition(e)&4?-1:1}}else{p=function(F,E){if(F===E){h=true;return 0}else{if(F.sourceIndex&&E.sourceIndex){return F.sourceIndex-E.sourceIndex}}var C,y,z=[],e=[],B=F.parentNode,D=E.parentNode,G=B;if(B===D){return m(F,E)}else{if(!B){return -1}else{if(!D){return 1}}}while(G){z.unshift(G);G=G.parentNode}G=D;while(G){e.unshift(G);G=G.parentNode}C=z.length;y=e.length;for(var A=0;A<C&&A<y;A++){if(z[A]!==e[A]){return m(z[A],e[A])}}return A===C?m(F,e[A],-1):m(z[A],E,1)};m=function(y,e,z){if(y===e){return z}var A=y.nextSibling;while(A){if(A===e){return -1}A=A.nextSibling}return 1}}(function(){var y=document.createElement("div"),z="script"+(new Date()).getTime(),e=document.documentElement;y.innerHTML="<a name='"+z+"'/>";e.insertBefore(y,e.firstChild);if(document.getElementById(z)){k.find.ID=function(B,C,D){if(typeof C.getElementById!=="undefined"&&!D){var A=C.getElementById(B[1]);return A?A.id===B[1]||typeof A.getAttributeNode!=="undefined"&&A.getAttributeNode("id").nodeValue===B[1]?[A]:undefined:[]}};k.filter.ID=function(C,A){var B=typeof C.getAttributeNode!=="undefined"&&C.getAttributeNode("id");return C.nodeType===1&&B&&B.nodeValue===A}}e.removeChild(y);e=y=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){k.find.TAG=function(y,C){var B=C.getElementsByTagName(y[1]);if(y[1]==="*"){var A=[];for(var z=0;B[z];z++){if(B[z].nodeType===1){A.push(B[z])}}B=A}return B}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){k.attrHandle.href=function(y){return y.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=d,A=document.createElement("div"),z="__sizzle__";A.innerHTML="<p class='TEST'></p>";if(A.querySelectorAll&&A.querySelectorAll(".TEST").length===0){return}d=function(L,C,G,K){C=C||document;if(!K&&!d.isXML(C)){var J=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(L);if(J&&(C.nodeType===1||C.nodeType===9)){if(J[1]){return l(C.getElementsByTagName(L),G)}else{if(J[2]&&k.find.CLASS&&C.getElementsByClassName){return l(C.getElementsByClassName(J[2]),G)}}}if(C.nodeType===9){if(L==="body"&&C.body){return l([C.body],G)}else{if(J&&J[3]){var F=C.getElementById(J[3]);if(F&&F.parentNode){if(F.id===J[3]){return l([F],G)}}else{return l([],G)}}}try{return l(C.querySelectorAll(L),G)}catch(H){}}else{if(C.nodeType===1&&C.nodeName.toLowerCase()!=="object"){var D=C,E=C.getAttribute("id"),B=E||z,N=C.parentNode,M=/^\s*[+~]/.test(L);if(!E){C.setAttribute("id",B)}else{B=B.replace(/'/g,"\\$&")}if(M&&N){C=C.parentNode}try{if(!M||N){return l(C.querySelectorAll("[id='"+B+"'] "+L),G)}}catch(I){}finally{if(!E){D.removeAttribute("id")}}}}}return e(L,C,G,K)};for(var y in e){d[y]=e[y]}A=null})()}(function(){var e=document.documentElement,z=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(z){var B=!z.call(document.createElement("div"),"div"),y=false;try{z.call(document.documentElement,"[test!='']:sizzle")}catch(A){y=true}d.matchesSelector=function(D,F){F=F.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!d.isXML(D)){try{if(y||!k.match.PSEUDO.test(F)&&!/!=/.test(F)){var C=z.call(D,F);if(C||!B||D.document&&D.document.nodeType!==11){return C}}}catch(E){}}return d(F,null,null,[D]).length>0}}})();(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}k.order.splice(1,0,"CLASS");k.find.CLASS=function(y,z,A){if(typeof z.getElementsByClassName!=="undefined"&&!A){return z.getElementsByClassName(y[1])}};e=null})();function a(y,D,C,G,E,F){for(var A=0,z=G.length;A<z;A++){var e=G[A];if(e){var B=false;e=e[y];while(e){if(e[i]===C){B=G[e.sizset];break}if(e.nodeType===1&&!F){e[i]=C;e.sizset=A}if(e.nodeName.toLowerCase()===D){B=e;break}e=e[y]}G[A]=B}}}function t(y,D,C,G,E,F){for(var A=0,z=G.length;A<z;A++){var e=G[A];if(e){var B=false;e=e[y];while(e){if(e[i]===C){B=G[e.sizset];break}if(e.nodeType===1){if(!F){e[i]=C;e.sizset=A}if(typeof D!=="string"){if(e===D){B=true;break}}else{if(d.filter(D,[e]).length>0){B=e;break}}}e=e[y]}G[A]=B}}}if(document.documentElement.contains){d.contains=function(y,e){return y!==e&&(y.contains?y.contains(e):true)}}else{if(document.documentElement.compareDocumentPosition){d.contains=function(y,e){return !!(y.compareDocumentPosition(e)&16)}}else{d.contains=function(){return false}}}d.isXML=function(e){var y=(e?e.ownerDocument||e:0).documentElement;return y?y.nodeName!=="HTML":false};var s=function(z,e,D){var C,E=[],B="",F=e.nodeType?[e]:e;while((C=k.match.PSEUDO.exec(z))){B+=C[0];z=z.replace(k.match.PSEUDO,"")}z=k.relative[z]?z+"*":z;for(var A=0,y=F.length;A<y;A++){d(z,F[A],E,D)}return d.filter(B,E)};window.tinymce.dom.Sizzle=d})();(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(d){function f(g){return g.replace(/[\n\r]+/g,"")}var c=d.is,b=d.isIE,e=d.each,a=d.dom.TreeWalker;d.create("tinymce.dom.Selection",{Selection:function(k,j,i,h){var g=this;g.dom=k;g.win=j;g.serializer=i;g.editor=h;e(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(l){g[l]=new d.util.Dispatcher(g)});if(!g.win.getSelection){g.tridentSel=new d.dom.TridentSelection(g)}if(d.isIE&&!d.isIE11&&k.boxModel){this._fixIESelection()}d.addUnload(g.destroy,g)},setCursorLocation:function(i,j){var g=this;var h=g.dom.createRng();h.setStart(i,j);h.setEnd(i,j);g.setRng(h);g.collapse(false)},getContent:function(h){var g=this,i=g.getRng(),m=g.dom.create("body"),k=g.getSel(),j,l,o;h=h||{};j=l="";h.get=true;h.format=h.format||"html";h.forced_root_block="";g.onBeforeGetContent.dispatch(g,h);if(h.format=="text"){return g.isCollapsed()?"":(i.text||(k.toString?k.toString():""))}if(i.cloneContents){o=i.cloneContents();if(o){m.appendChild(o)}}else{if(c(i.item)||c(i.htmlText)){m.innerHTML="<br>"+(i.item?i.item(0).outerHTML:i.htmlText);m.removeChild(m.firstChild)}else{m.innerHTML=i.toString()}}if(/^\s/.test(m.innerHTML)){j=" "}if(/\s+$/.test(m.innerHTML)){l=" "}h.getInner=true;h.content=g.isCollapsed()?"":j+g.serializer.serialize(m,h)+l;g.onGetContent.dispatch(g,h);return h.content},setContent:function(h,j){var o=this,g=o.getRng(),k,l=o.win.document,n,m;j=j||{format:"html"};j.set=true;h=j.content=h;if(!j.no_events){o.onBeforeSetContent.dispatch(o,j)}h=j.content;if(g.insertNode){h+='<span id="__caret">_</span>';if(g.startContainer==l&&g.endContainer==l){l.body.innerHTML=h}else{g.deleteContents();if(l.body.childNodes.length===0){l.body.innerHTML=h}else{if(g.createContextualFragment){g.insertNode(g.createContextualFragment(h))}else{n=l.createDocumentFragment();m=l.createElement("div");n.appendChild(m);m.outerHTML=h;g.insertNode(n)}}}k=o.dom.get("__caret");g=l.createRange();g.setStartBefore(k);g.setEndBefore(k);o.setRng(g);o.dom.remove("__caret");try{o.setRng(g)}catch(i){}}else{if(g.item){l.execCommand("Delete",false,null);g=o.getRng()}if(/^\s+/.test(h)){g.pasteHTML('<span id="__mce_tmp">_</span>'+h);o.dom.remove("__mce_tmp")}else{g.pasteHTML(h)}}if(!j.no_events){o.onSetContent.dispatch(o,j)}},getStart:function(){var i=this,h=i.getRng(),j,g,l,k;if(h.duplicate||h.item){if(h.item){return h.item(0)}l=h.duplicate();l.collapse(1);j=l.parentElement();if(j.ownerDocument!==i.dom.doc){j=i.dom.getRoot()}g=k=h.parentElement();while(k=k.parentNode){if(k==j){j=g;break}}return j}else{j=h.startContainer;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[Math.min(j.childNodes.length-1,h.startOffset)]}if(j&&j.nodeType==3){return j.parentNode}return j}},getEnd:function(){var h=this,g=h.getRng(),j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}g=g.duplicate();g.collapse(0);j=g.parentElement();if(j.ownerDocument!==h.dom.doc){j=h.dom.getRoot()}if(j&&j.nodeName=="BODY"){return j.lastChild||j}return j}else{j=g.endContainer;i=g.endOffset;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[i>0?i-1:i]}if(j&&j.nodeType==3){return j.parentNode}return j}},getBookmark:function(s,v){var y=this,n=y.dom,h,k,j,o,i,p,q,m="\uFEFF",x;function g(z,A){var t=0;e(n.select(z),function(C,B){if(C==A){t=B}});return t}function u(t){function z(E){var A,D,C,B=E?"start":"end";A=t[B+"Container"];D=t[B+"Offset"];if(A.nodeType==1&&A.nodeName=="TR"){C=A.childNodes;A=C[Math.min(E?D:D-1,C.length-1)];if(A){D=E?0:A.childNodes.length;t["set"+(E?"Start":"End")](A,D)}}}z(true);z();return t}function l(){var z=y.getRng(true),t=n.getRoot(),A={};function B(E,J){var D=E[J?"startContainer":"endContainer"],I=E[J?"startOffset":"endOffset"],C=[],F,H,G=0;if(D.nodeType==3){if(v){for(F=D.previousSibling;F&&F.nodeType==3;F=F.previousSibling){I+=F.nodeValue.length}}C.push(I)}else{H=D.childNodes;if(I>=H.length&&H.length){G=1;I=Math.max(0,H.length-1)}C.push(y.dom.nodeIndex(H[I],v)+G)}for(;D&&D!=t;D=D.parentNode){C.push(y.dom.nodeIndex(D,v))}return C}A.start=B(z,true);if(!y.isCollapsed()){A.end=B(z)}return A}if(s==2){if(y.tridentSel){return y.tridentSel.getBookmark(s)}return l()}if(s){h=y.getRng();if(h.setStart){h={startContainer:h.startContainer,startOffset:h.startOffset,endContainer:h.endContainer,endOffset:h.endOffset}}return{rng:h}}h=y.getRng();j=n.uniqueId();o=tinyMCE.activeEditor.selection.isCollapsed();x="overflow:hidden;line-height:0px";if(h.duplicate||h.item){if(!h.item){k=h.duplicate();try{h.collapse();h.pasteHTML('<span data-mce-type="bookmark" id="'+j+'_start" style="'+x+'">'+m+"</span>");if(!o){k.collapse(false);h.moveToElementText(k.parentElement());if(h.compareEndPoints("StartToEnd",k)===0){k.move("character",-1)}k.pasteHTML('<span data-mce-type="bookmark" id="'+j+'_end" style="'+x+'">'+m+"</span>")}}catch(r){return null}}else{p=h.item(0);i=p.nodeName;return{name:i,index:g(i,p)}}}else{p=y.getNode();i=p.nodeName;if(i=="IMG"){return{name:i,index:g(i,p)}}k=u(h.cloneRange());if(!o){k.collapse(false);k.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_end",style:x},m))}h=u(h);h.collapse(true);h.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_start",style:x},m))}y.moveToBookmark({id:j,keep:1});return{id:j}},moveToBookmark:function(q){var v=this,n=v.dom,l,j,g,i,u,k,x,r,s;function h(C){var t=q[C?"start":"end"],z,A,B,y;if(t){B=t[0];for(A=u,z=t.length-1;z>=1;z--){y=A.childNodes;if(t[z]>y.length-1){return}A=y[t[z]]}if(A.nodeType===3){B=Math.min(t[0],A.nodeValue.length)}if(A.nodeType===1){B=Math.min(t[0],A.childNodes.length)}if(C){g.setStart(A,B)}else{g.setEnd(A,B)}}return true}function m(D){var y=n.get(q.id+"_"+D),C,t,A,B,z=q.keep;if(y){C=y.parentNode;if(D=="start"){if(!z){t=n.nodeIndex(y)}else{C=y.firstChild;t=1}k=x=C;r=s=t}else{if(!z){t=n.nodeIndex(y)}else{C=y.firstChild;t=1}x=C;s=t}if(!z){B=y.previousSibling;A=y.nextSibling;e(d.grep(y.childNodes),function(E){if(E.nodeType==3){E.nodeValue=E.nodeValue.replace(/\uFEFF/g,"")}});while(y=n.get(q.id+"_"+D)){n.remove(y,1)}if(B&&A&&B.nodeType==A.nodeType&&B.nodeType==3&&!d.isOpera){t=B.nodeValue.length;B.appendData(A.nodeValue);n.remove(A);if(D=="start"){k=x=B;r=s=t}else{x=B;s=t}}}}}function o(t){if(n.isBlock(t)&&!t.innerHTML&&!b){t.innerHTML='<br data-mce-bogus="1" />'}return t}if(q){if(q.start){g=n.createRng();u=n.getRoot();if(v.tridentSel){return v.tridentSel.moveToBookmark(q)}if(h(true)&&h()){v.setRng(g)}}else{if(q.id){m("start");m("end");if(k){g=n.createRng();g.setStart(o(k),r);g.setEnd(o(x),s);v.setRng(g)}}else{if(q.name){v.select(n.select(q.name)[q.index])}else{if(q.rng){g=q.rng;if(g.startContainer){i=v.dom.createRng();try{i.setStart(g.startContainer,g.startOffset);i.setEnd(g.endContainer,g.endOffset)}catch(p){}g=i}v.setRng(g)}}}}}},select:function(l,k){var j=this,m=j.dom,h=m.createRng(),g;function i(n,p){var o=new a(n,n);do{if(n.nodeType==3&&d.trim(n.nodeValue).length!==0){if(p){h.setStart(n,0)}else{h.setEnd(n,n.nodeValue.length)}return}if(n.nodeName=="BR"){if(p){h.setStartBefore(n)}else{h.setEndBefore(n)}return}}while(n=(p?o.next():o.prev()))}if(l){g=m.nodeIndex(l);h.setStart(l.parentNode,g);h.setEnd(l.parentNode,g+1);if(k){i(l,1);i(l)}j.setRng(h)}return l},isCollapsed:function(){var g=this,i=g.getRng(),h=g.getSel();if(!i||i.item){return false}if(i.compareEndPoints){return i.compareEndPoints("StartToEnd",i)===0}return !h||i.collapsed},collapse:function(g){var i=this,h=i.getRng(),j;if(h.item){j=h.item(0);h=i.win.document.body.createTextRange();h.moveToElementText(j)}h.collapse(!!g);i.setRng(h)},getSel:function(){var h=this,g=this.win;return g.getSelection?g.getSelection():g.document.selection},getRng:function(m){var h=this,j,g,l,k=h.win.document;if(m&&h.tridentSel){return h.tridentSel.getRangeAt(0)}try{if(j=h.getSel()){g=j.rangeCount>0?j.getRangeAt(0):(j.createRange?j.createRange():k.createRange())}}catch(i){}if(d.isIE&&!d.isIE11&&g&&g.setStart&&k.selection.createRange().item){l=k.selection.createRange().item(0);g=k.createRange();g.setStartBefore(l);g.setEndAfter(l)}if(!g){g=k.createRange?k.createRange():k.body.createTextRange()}if(g.setStart&&g.startContainer.nodeType===9&&g.collapsed){l=h.dom.getRoot();g.setStart(l,0);g.setEnd(l,0)}if(h.selectedRange&&h.explicitRange){if(g.compareBoundaryPoints(g.START_TO_START,h.selectedRange)===0&&g.compareBoundaryPoints(g.END_TO_END,h.selectedRange)===0){g=h.explicitRange}else{h.selectedRange=null;h.explicitRange=null}}return g},setRng:function(k,g){var j,i=this;if(!i.tridentSel){j=i.getSel();if(j){i.explicitRange=k;try{j.removeAllRanges()}catch(h){}j.addRange(k);if(g===false&&j.extend){j.collapse(k.endContainer,k.endOffset);j.extend(k.startContainer,k.startOffset)}i.selectedRange=j.rangeCount>0?j.getRangeAt(0):null}}else{if(k.cloneRange){try{i.tridentSel.addRange(k);return}catch(h){}}try{k.select()}catch(h){}}},setNode:function(h){var g=this;g.setContent(g.dom.getOuterHTML(h));return h},getNode:function(){var i=this,h=i.getRng(),j=i.getSel(),m,l=h.startContainer,g=h.endContainer;function k(q,o){var p=q;while(q&&q.nodeType===3&&q.length===0){q=o?q.nextSibling:q.previousSibling}return q||p}if(!h){return i.dom.getRoot()}if(h.setStart){m=h.commonAncestorContainer;if(!h.collapsed){if(h.startContainer==h.endContainer){if(h.endOffset-h.startOffset<2){if(h.startContainer.hasChildNodes()){m=h.startContainer.childNodes[h.startOffset]}}}if(l.nodeType===3&&g.nodeType===3){if(l.length===h.startOffset){l=k(l.nextSibling,true)}else{l=l.parentNode}if(h.endOffset===0){g=k(g.previousSibling,false)}else{g=g.parentNode}if(l&&l===g){return l}}}if(m&&m.nodeType==3){return m.parentNode}return m}return h.item?h.item(0):h.parentElement()},getSelectedBlocks:function(p,h){var o=this,k=o.dom,m,l,i,j=[];m=k.getParent(p||o.getStart(),k.isBlock);l=k.getParent(h||o.getEnd(),k.isBlock);if(m){j.push(m)}if(m&&l&&m!=l){i=m;var g=new a(m,k.getRoot());while((i=g.next())&&i!=l){if(k.isBlock(i)){j.push(i)}}}if(l&&m!=l){j.push(l)}return j},isForward:function(){var i=this.dom,g=this.getSel(),j,h;if(!g||g.anchorNode==null||g.focusNode==null){return true}j=i.createRng();j.setStart(g.anchorNode,g.anchorOffset);j.collapse(true);h=i.createRng();h.setStart(g.focusNode,g.focusOffset);h.collapse(true);return j.compareBoundaryPoints(j.START_TO_START,h)<=0},normalize:function(){var h=this,g,m,l,j,i;function k(p){var o,r,n,s=h.dom,u=s.getRoot(),q,t,v;function y(z,A){var B=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(z=B[A?"prev":"next"]()){if(z.nodeName==="BR"){return true}}}function x(B,z){var C,A;z=z||o;C=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(q=C[B?"prev":"next"]()){if(q.nodeType===3&&q.nodeValue.length>0){o=q;r=B?q.nodeValue.length:0;m=true;return}if(s.isBlock(q)||t[q.nodeName.toLowerCase()]){return}A=q}if(l&&A){o=A;m=true;r=0}}o=g[(p?"start":"end")+"Container"];r=g[(p?"start":"end")+"Offset"];t=s.schema.getNonEmptyElements();if(o.nodeType===9){o=s.getRoot();r=0}if(o===u){if(p){q=o.childNodes[r>0?r-1:0];if(q){v=q.nodeName.toLowerCase();if(t[q.nodeName]||q.nodeName=="TABLE"){return}}}if(o.hasChildNodes()){o=o.childNodes[Math.min(!p&&r>0?r-1:r,o.childNodes.length-1)];r=0;if(o.hasChildNodes()&&!/TABLE/.test(o.nodeName)){q=o;n=new a(o,u);do{if(q.nodeType===3&&q.nodeValue.length>0){r=p?0:q.nodeValue.length;o=q;m=true;break}if(t[q.nodeName.toLowerCase()]){r=s.nodeIndex(q);o=q.parentNode;if(q.nodeName=="IMG"&&!p){r++}m=true;break}}while(q=(p?n.next():n.prev()))}}}if(l){if(o.nodeType===3&&r===0){x(true)}if(o.nodeType===1){q=o.childNodes[r];if(q&&q.nodeName==="BR"&&!y(q)&&!y(q,true)){x(true,o.childNodes[r])}}}if(p&&!l&&o.nodeType===3&&r===o.nodeValue.length){x(false)}if(m){g["set"+(p?"Start":"End")](o,r)}}if(d.isIE){return}g=h.getRng();l=g.collapsed;k(true);if(!l){k()}if(m){if(l){g.collapse(true)}h.setRng(g,h.isForward())}},selectorChanged:function(g,j){var h=this,i;if(!h.selectorChangedData){h.selectorChangedData={};i={};h.editor.onNodeChange.addToTop(function(l,k,o){var p=h.dom,m=p.getParents(o,null,p.getRoot()),n={};e(h.selectorChangedData,function(r,q){e(m,function(s){if(p.is(s,q)){if(!i[q]){e(r,function(t){t(true,{node:s,selector:q,parents:m})});i[q]=r}n[q]=r;return false}})});e(i,function(r,q){if(!n[q]){delete i[q];e(r,function(s){s(false,{node:o,selector:q,parents:m})})}})})}if(!h.selectorChangedData[g]){h.selectorChangedData[g]=[]}h.selectorChangedData[g].push(j);return h},scrollIntoView:function(k){var j,h,g=this,i=g.dom;h=i.getViewPort(g.editor.getWin());j=i.getPos(k).y;if(j<h.y||j+25>h.y+h.h){g.editor.getWin().scrollTo(0,j<h.y?j:j-h.h+25)}},destroy:function(h){var g=this;g.win=null;if(!h){d.removeUnload(g.destroy)}},_fixIESelection:function(){var h=this.dom,n=h.doc,i=n.body,k,o,g;function j(p,s){var q=i.createTextRange();try{q.moveToPoint(p,s)}catch(r){q=null}return q}function m(q){var p;if(q.button){p=j(q.x,q.y);if(p){if(p.compareEndPoints("StartToStart",o)>0){p.setEndPoint("StartToStart",o)}else{p.setEndPoint("EndToEnd",o)}p.select()}}else{l()}}function l(){var p=n.selection.createRange();if(o&&!p.item&&p.compareEndPoints("StartToEnd",p)===0){o.select()}h.unbind(n,"mouseup",l);h.unbind(n,"mousemove",m);o=k=0}n.documentElement.unselectable=true;h.bind(n,["mousedown","contextmenu"],function(p){if(p.target.nodeName==="HTML"){if(k){l()}g=n.documentElement;if(g.scrollHeight>g.clientHeight){return}k=1;o=j(p.x,p.y);if(o){h.bind(n,"mouseup",l);h.bind(n,"mousemove",m);h.win.focus();o.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";e.remove_trailing_brs="remove_trailing_brs" in e?e.remove_trailing_brs:true;h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/(?:^|\s)mce(Item\w+|Selected)(?!\S)/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addAttributeFilter("data-mce-expando",function(j,l,k){var m=j.length;while(m--){j[m].attr(l,null)}});c.addNodeFilter("noscript",function(j){var k=j.length,l;while(k--){l=j[k].firstChild;if(l){l.value=a.html.Entities.decode(l.value)}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.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,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// <![CDATA[\n"+j(o)+"\n// ]]>"}}else{if(o.length>0){n.firstChild.value="<!--\n"+j(o)+"\n-->"}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(a.trim(m.getInner?o.innerHTML:i.getOuterHTML(o)),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],e={},d=[],g=0,f;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=document.createElement("script");s.id=n;s.type="text/javascript";s.src=a._addVer(m);if(!a.isIE||a.isIE11){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==f){j.push(m);l[m]=c}if(q){if(!e[m]){e[m]=[]}e[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(e[r],function(s){s.func.call(s.scope)});e[r]=f}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,s){var i=d.startContainer,l=d.startOffset,t=d.endContainer,m=d.endOffset,j,g,o,h,r,q,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(u){s([u])});return}function f(u){var v;v=u[0];if(v.nodeType===3&&v===i&&l>=v.nodeValue.length){u.splice(0,1)}v=u[u.length-1];if(m===0&&u.length>0&&v===t&&v.nodeType===3){u.splice(u.length-1,1)}return u}function p(x,v,u){var y=[];for(;x&&x!=u;x=x[v]){y.push(x)}return y}function n(v,u){do{if(v.parentNode==u){return v}v=v.parentNode}while(v)}function k(x,v,y){var u=y?"nextSibling":"previousSibling";for(h=x,r=h.parentNode;h&&h!=v;h=r){r=h.parentNode;q=p(h==x?h:h[u],u);if(q.length){if(!y){q.reverse()}s(f(q))}}}if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[l]}if(t.nodeType==1&&t.hasChildNodes()){t=t.childNodes[Math.min(m-1,t.childNodes.length-1)]}if(i==t){return s(f([i]))}j=c.findCommonAncestor(i,t);for(h=i;h;h=h.parentNode){if(h===t){return k(i,j,true)}if(h===j){break}}for(h=t;h;h=h.parentNode){if(h===i){return k(t,j)}if(h===j){break}}g=n(i,j)||i;o=n(t,j)||t;k(i,g,true);q=p(g==i?g:g.nextSibling,"nextSibling",o==t?o.nextSibling:o);if(q.length){s(f(q))}k(t,o)};this.split=function(e){var h=e.startContainer,d=e.startOffset,i=e.endContainer,g=e.endOffset;function f(j,k){return j.splitText(k)}if(h==i&&h.nodeType==3){if(d>0&&d<h.nodeValue.length){i=f(h,d);h=i.previousSibling;if(g>d){g=g-d;h=i=f(i,g).previousSibling;g=i.nodeValue.length;d=0}else{g=0}}}else{if(h.nodeType==3&&d>0&&d<h.nodeValue.length){h=f(h,d);d=0}if(i.nodeType==3&&g>0&&g<i.nodeValue.length){i=f(i,g).previousSibling;g=i.nodeValue.length}}return{startContainer:h,startOffset:d,endContainer:i,endOffset:g}}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var q=this,n=e.root,m=e.items,o=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,l=e.excludeFromTabOrder,k,h,p,d,g;f=f||b.DOM;k=function(r){g=r.target.id};h=function(r){f.setAttrib(r.target.id,"tabindex","-1")};d=function(r){var s=f.get(g);f.setAttrib(s,"tabindex","0");s.focus()};q.focus=function(){f.get(g).focus()};q.destroy=function(){c(m,function(s){var t=f.get(s.id);f.unbind(t,"focus",k);f.unbind(t,"blur",h)});var r=f.get(n);f.unbind(r,"focus",d);f.unbind(r,"keydown",p);m=f=n=q.focus=k=h=p=d=null;q.destroy=function(){}};q.moveFocus=function(v,s){var r=-1,u=q.controls,t;if(!g){return}c(m,function(y,x){if(y.id===g){r=x;return false}});r+=v;if(r<0){r=m.length-1}else{if(r>=m.length){r=0}}t=m[r];f.setAttrib(g,"tabindex","-1");f.setAttrib(t.id,"tabindex","0");f.get(t.id).focus();if(e.actOnFocus){e.onAction(t.id)}if(s){a.cancel(s)}};p=function(z){var v=37,u=39,y=38,A=40,r=27,t=14,s=13,x=32;switch(z.keyCode){case v:if(i){q.moveFocus(-1)}a.cancel(z);break;case u:if(i){q.moveFocus(1)}a.cancel(z);break;case y:if(o){q.moveFocus(-1)}a.cancel(z);break;case A:if(o){q.moveFocus(1)}a.cancel(z);break;case r:if(e.onCancel){e.onCancel();a.cancel(z)}break;case t:case s:case x:if(e.onAction){e.onAction(g);a.cancel(z)}break}};c(m,function(t,r){var s,u;if(!t.id){t.id=f.uniqueId("_mce_item_")}u=f.get(t.id);if(l){f.bind(u,"blur",h);s="-1"}else{s=(r===0?"0":"-1")}u.setAttribute("tabindex",s);f.bind(u,"focus",k)});if(m[0]){g=m[0].id}f.setAttrib(n,"tabindex","-1");var j=f.get(n);f.bind(j,"focus",d);f.bind(j,"keydown",p)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.offsetWidth,j.max_width):g.offsetWidth;k=j.max_height?Math.min(g.offsetHeight,j.max_height):g.offsetHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return false}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.get("menu_"+g.id);h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){if(typeof h.settings.style=="function"){h.settings.style=h.settings.style()}c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a role="button" id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" aria-labelledby="'+this.id+'_voice" title="'+a.encode(e.title)+'">';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+='<span class="mceIcon '+e["class"]+'"><img class="mceIcon" src="'+e.image+'" alt="'+a.encode(e.title)+'" /></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}d+='<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="'+this.id+'_voice">'+e.title+"</span>";d+="</a>";return d},postRender:function(){var d=this,e=d.settings,c;if(b.isIE&&d.editor){b.dom.Event.add(d.id,"mousedown",function(f){var g=d.editor.selection.getNode().nodeName;c=g==="IMG"?d.editor.selection.getBookmark():null})}b.dom.Event.add(d.id,"click",function(f){if(!d.isDisabled()){if(b.isIE&&d.editor&&c!==null){d.editor.selection.moveToBookmark(c)}return e.onclick.call(e.scope,f)}});b.dom.Event.add(d.id,"keydown",function(f){if(!d.isDisabled()&&f.keyCode==b.VK.SPACEBAR){b.dom.Event.cancel(f);return e.onclick.call(e.scope,f)}})}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(j,i,g){var h=this;h.parent(j,i,g);h.items=[];h.onChange=new a(h);h.onPostRender=new a(h);h.onAdd=new a(h);h.onRenderMenu=new e.util.Dispatcher(this);h.classPrefix="mceListBox";h.marked={}},select:function(h){var g=this,j,i;g.marked={};if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){var i=this,j,k,h;i.marked={};if(g!=i.selectedIndex){j=d.get(i.id+"_text");h=d.get(i.id+"_voiceDesc");k=i.items[g];if(k){i.selectedValue=k.value;i.selectedIndex=g;d.setHTML(j,d.encode(k.title));d.setHTML(h,i.settings.title+" - "+k.title);d.removeClass(j,"mceTitle");d.setAttrib(i.id,"aria-valuenow",k.title)}else{d.setHTML(j,d.encode(i.settings.title));d.setHTML(h,d.encode(i.settings.title));d.addClass(j,"mceTitle");i.selectedValue=i.selectedIndex=null;d.setAttrib(i.id,"aria-valuenow",i.settings.title)}j=0}},mark:function(g){this.marked[g]=true},add:function(j,g,i){var h=this;i=i||{};i=e.extend(i,{title:j,value:g});h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var j="",g=this,i=g.settings,k=g.classPrefix;j='<span role="listbox" aria-haspopup="true" aria-labelledby="'+g.id+'_voiceDesc" aria-describedby="'+g.id+'_voiceDesc"><table role="presentation" tabindex="0" id="'+g.id+'" cellpadding="0" cellspacing="0" class="'+k+" "+k+"Enabled"+(i["class"]?(" "+i["class"]):"")+'"><tbody><tr>';j+="<td>"+d.createHTML("span",{id:g.id+"_voiceDesc","class":"voiceLabel",style:"display:none;"},g.settings.title);j+=d.createHTML("a",{id:g.id+"_text",tabindex:-1,href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},d.encode(g.settings.title))+"</td>";j+="<td>"+d.createHTML("a",{id:g.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>')+"</td>";j+="</tr></tbody></table></span>";return j},showMenu:function(){var h=this,j,i=d.get(this.id),g;if(h.isDisabled()||h.items.length===0){return}if(h.menu&&h.menu.isMenuVisible){return h.hideMenu()}if(!h.isMenuRendered){h.renderMenu();h.isMenuRendered=true}j=d.getPos(i);g=h.menu;g.settings.offset_x=j.x;g.settings.offset_y=j.y;g.settings.keyboard_focus=!e.isOpera;f(h.items,function(k){if(g.items[k.id]){g.items[k.id].setSelected(0)}});f(h.items,function(k){if(g.items[k.id]&&h.marked[k.value]){g.items[k.id].setSelected(1)}if(k.value===h.selectedValue){g.items[k.id].setSelected(1)}});g.showMenu(0,i.clientHeight);b.add(d.doc,"mousedown",h.hideMenu,h);d.addClass(h.id,h.classPrefix+"Selected")},hideMenu:function(h){var g=this;if(g.menu&&g.menu.isMenuVisible){d.removeClass(g.id,g.classPrefix+"Selected");if(h&&h.type=="mousedown"&&(h.target.id==g.id+"_text"||h.target.id==g.id+"_open")){return}if(!h||!d.getParent(h.target,".mceMenu")){d.removeClass(g.id,g.classPrefix+"Selected");b.remove(d.doc,"mousedown",g.hideMenu,g);g.menu.hideMenu()}}},renderMenu:function(){var h=this,g;g=h.settings.control_manager.createDropMenu(h.id+"_menu",{menu_line:1,"class":h.classPrefix+"Menu mceNoIcons",max_width:250,max_height:150});g.onHideMenu.add(function(){h.hideMenu();h.focus()});g.add({title:h.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}});f(h.items,function(i){if(i.value===c){g.add({title:i.title,role:"option","class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}})}else{i.id=d.uniqueId();i.role="option";i.onclick=function(){if(h.settings.onselect(i.value)!==false){h.select(i.value)}};g.add(i)}});h.onRenderMenu.dispatch(h,g);h.menu=g},postRender:function(){var g=this,h=g.classPrefix;b.add(g.id,"click",g.showMenu,g);b.add(g.id,"keydown",function(i){if(i.keyCode==32){g.showMenu(i);b.cancel(i)}});b.add(g.id,"focus",function(){if(!g._focused){g.keyDownHandler=b.add(g.id,"keydown",function(i){if(i.keyCode==40){g.showMenu();b.cancel(i)}});g.keyPressHandler=b.add(g.id,"keypress",function(j){var i;if(j.keyCode==13){i=g.selectedValue;g.selectedValue=null;b.cancel(j);g.settings.onselect(i)}})}g._focused=1});b.add(g.id,"blur",function(){b.remove(g.id,"keydown",g.keyDownHandler);b.remove(g.id,"keypress",g.keyPressHandler);g._focused=0});if(e.isIE6||!d.boxModel){b.add(g.id,"mouseover",function(){if(!d.hasClass(g.id,h+"Disabled")){d.addClass(g.id,h+"Hover")}});b.add(g.id,"mouseout",function(){if(!d.hasClass(g.id,h+"Disabled")){d.removeClass(g.id,h+"Hover")}})}g.onPostRender.dispatch(g,d.get(g.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(h,g){this.parent(h,g);this.classPrefix="mceNativeListBox"},setDisabled:function(g){d.get(this.id).disabled=g;this.setAriaProperty("disabled",g)},isDisabled:function(){return d.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){d.get(this.id).selectedIndex=g+1;this.selectedValue=this.items[g]?this.items[g].value:null},add:function(k,h,g){var j,i=this;g=g||{};g.value=h;if(i.isRendered()){d.add(d.get(this.id),"option",g,k)}j={title:k,value:h,attribs:g};i.items.push(j);i.onAdd.dispatch(i,j)},getLength:function(){return this.items.length},renderHTML:function(){var i,g=this;i=d.createHTML("option",{value:""},"-- "+g.settings.title+" --");f(g.items,function(h){i+=d.createHTML("option",{value:h.value},h.title)});i=d.createHTML("select",{id:g.id,"class":"mceNativeListBox","aria-labelledby":g.id+"_aria"},i);i+=d.createHTML("span",{id:g.id+"_aria",style:"display: none"},g.settings.title);return i},postRender:function(){var h=this,i,j=true;h.rendered=true;function g(l){var k=h.items[l.target.selectedIndex-1];if(k&&(k=k.value)){h.onChange.dispatch(h,k);if(h.settings.onselect){h.settings.onselect(k)}}}b.add(h.id,"change",g);b.add(h.id,"keydown",function(q){var n,p=37,m=39,l=38,r=40,k=13,o=32;b.remove(h.id,"change",i);j=false;n=b.add(h.id,"blur",function(){if(j){return}j=true;b.add(h.id,"change",g);b.remove(h.id,"blur",n)});if(q.keyCode==k||q.keyCode==o){g(q);return b.cancel(q)}else{if(q.keyCode==r||q.keyCode==l){q.stopImmediatePropagation()}}});h.onPostRender.dispatch(h,d.get(h.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.firstChild.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>');i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";i=b.createHTML("table",{role:"presentation","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("div",{id:f.id,role:"button",tabindex:"0","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.firstChild.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.keyboardNav=new d.ui.KeyboardNavigation({root:f.id+"_menu",items:c.select("a",f.id+"_menu"),onCancel:function(){f.hideMenu();f.focus()}});f.keyboardNav.focus();f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0;f.onHideMenu.dispatch();f.keyboardNav.destroy()}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(m){m=m.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");var i={href:"javascript:;",style:{backgroundColor:"#"+m},title:p.editor.getLang("colors."+m,m),"data-mce-color":"#"+m};if(!d.isIE){i.role="option"}g=c.add(g,"a",i);if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+m;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return false});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){var f=this;f.parent();a.clear(f.id+"_menu");a.clear(f.id+"_more");c.remove(f.id+"_menu");if(f.keyboardNav){f.keyboardNav.destroy()}}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('<div id="'+f.id+'" role="group" aria-labelledby="'+f.id+'_voice">');i.push("<span role='application'>");i.push('<span id="'+f.id+'_voice" class="mceVoiceLabel" style="display:none;">'+d.encode(g.name)+"</span>");j(e,function(h){i.push(h.renderHTML())});i.push("</span>");i.push("</div>");return i.join("")},focus:function(){var e=this;d.get(e.id).focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){if(b.isWebKit){d.get(f.editor.id+"_ifr").focus()}f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e<l.length;e++){k=l[e];d=l[e-1];g=l[e+1];if(e===0){j="mceToolbarStart";if(k.Button){j+=" mceToolbarStartButton"}else{if(k.SplitButton){j+=" mceToolbarStartSplitButton"}else{if(k.ListBox){j+=" mceToolbarStartListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,"<!-- IE -->"))}}if(c.stdMode){f+='<td style="position: relative">'+k.renderHTML()+"</td>"}else{f+="<td>"+k.renderHTML()+"</td>"}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,"<!-- IE -->"))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},"<tbody><tr>"+f+"</tr></tbody>")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!==0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(x){var v=this,o,n=j.ScriptLoader,u,l=[],r;function q(t){var s=t.id;if(!s){s=t.name;if(s&&!k.get(s)){s=t.name}else{s=k.uniqueId()}t.setAttribute("id",s)}return s}function m(z,A,t){var y=z[A];if(!y){return}if(j.is(y,"string")){t=y.replace(/\.\w+$/,"");t=t?j.resolve(t):0;y=j.resolve(y)}return y.apply(t||this,Array.prototype.slice.call(arguments,2))}function p(t,s){return s.constructor===RegExp?s.test(t.className):k.hasClass(t,s)}v.settings=x;i.bind(window,"ready",function(){var s,t;m(x,"onpageload");switch(x.mode){case"exact":s=x.elements||"";if(s.length>0){g(e(s),function(y){if(k.get(y)){r=new j.Editor(y,x);l.push(r);r.render(1)}else{g(document.forms,function(z){g(z.elements,function(A){if(A.name===y){y="mce_editor_"+c++;k.setAttrib(A,"id",y);r=new j.Editor(y,x);l.push(r);r.render(1)}})})}})}break;case"textareas":case"specific_textareas":g(k.select("textarea"),function(y){if(x.editor_deselector&&p(y,x.editor_deselector)){return}if(!x.editor_selector||p(y,x.editor_selector)){r=new j.Editor(q(y),x);l.push(r);r.render(1)}});break;default:if(x.types){g(x.types,function(y){g(k.select(y.selector),function(A){var z=new j.Editor(q(A),j.extend({},x,y));l.push(z);z.render(1)})})}else{if(x.selector){g(k.select(x.selector),function(z){var y=new j.Editor(q(z),x);l.push(y);y.render(1)})}}}if(x.oninit){s=t=0;g(l,function(y){t++;if(!y.initialized){y.onInit.add(function(){s++;if(s==t){m(x,"oninit")}})}else{s++}if(s==t){m(x,"oninit")}})}})},get:function(l){if(l===a){return this.editors}if(!this.editors.hasOwnProperty(l)){return a}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE&&!j.isIE11){l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(k){var l=k.DOM,j=k.dom.Event,f=k.extend,i=k.each,a=k.isGecko,b=k.isIE,e=k.isWebKit,d=k.is,h=k.ThemeManager,c=k.PluginManager,g=k.explode;k.create("tinymce.Editor",{Editor:function(p,o){var m=this,n=true;m.settings=o=f({id:p,language:"en",theme:"advanced",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:k.documentBaseURL,add_form_submit_trigger:n,submit_patch:n,add_unload_trigger:n,convert_urls:n,relative_urls:n,remove_script_host:n,table_inline_editing:false,object_resizing:n,accessibility_focus:n,doctype:k.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual:n,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%",apply_source_formatting:n,directionality:"ltr",forced_root_block:"p",hidden_input:n,padd_empty_editor:n,render_ui:n,indentation:"30px",fix_table_elements:n,inline_styles:n,convert_fonts_to_spans:n,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:n,entity_encoding:"named",url_converter:m.convertURL,url_converter_scope:m,ie7_compat:n},o);m.id=m.editorId=p;m.isNotDirty=false;m.plugins={};m.documentBaseURI=new k.util.URI(o.document_base_url||k.documentBaseURL,{base_uri:tinyMCE.baseURI});m.baseURI=k.baseURI;m.contentCSS=[];m.contentStyles=[];m.setupEvents();m.execCommands={};m.queryStateCommands={};m.queryValueCommands={};m.execCallback("setup",m)},render:function(o){var p=this,q=p.settings,r=p.id,m=k.ScriptLoader;if(!j.domLoaded){j.add(window,"ready",function(){p.render()});return}tinyMCE.settings=q;if(!p.getElement()){return}if(k.isIDevice&&!k.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(p.getElement().nodeName)&&q.hidden_input&&l.getParent(r,"form")){l.insertAfter(l.create("input",{type:"hidden",name:r}),r)}if(!q.content_editable){p.orgVisibility=p.getElement().style.visibility;p.getElement().style.visibility="hidden"}if(k.WindowManager){p.windowManager=new k.WindowManager(p)}if(q.encoding=="xml"){p.onGetContent.add(function(s,t){if(t.save){t.content=l.encode(t.content)}})}if(q.add_form_submit_trigger){p.onSubmit.addToTop(function(){if(p.initialized){p.save();p.isNotDirty=1}})}if(q.add_unload_trigger){p._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(p.initialized&&!p.destroyed&&!p.isHidden()){p.save({format:"raw",no_events:true})}})}k.addUnload(p.destroy,p);if(q.submit_patch){p.onBeforeRenderUI.add(function(){var s=p.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){p.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){k.triggerSave();p.isNotDirty=1;return p.formElement._mceOldSubmit(p.formElement)}}s=null})}function n(){if(q.language&&q.language_load!==false){m.add(k.baseURL+"/langs/"+q.language+".js")}if(q.theme&&typeof q.theme!="function"&&q.theme.charAt(0)!="-"&&!h.urls[q.theme]){h.load(q.theme,"themes/"+q.theme+"/editor_template"+k.suffix+".js")}i(g(q.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(v){var u={prefix:"plugins/",resource:v,suffix:"/editor_plugin"+k.suffix+".js"};v=c.createUrl(u,v);c.load(v.resource,v)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+k.suffix+".js"})}}});m.loadQueue(function(){if(!p.removed){p.init()}})}n()},init:function(){var q,G=this,H=G.settings,D,y,z,C=G.getElement(),p,m,E,v,B,F,x,r=[];k.add(G);H.aria_label=H.aria_label||l.getAttrib(C,"aria-label",G.getLang("aria.rich_text_area"));if(H.theme){if(typeof H.theme!="function"){H.theme=H.theme.replace(/-/,"");p=h.get(H.theme);G.theme=new p();if(G.theme.init){G.theme.init(G,h.urls[H.theme]||k.documentBaseURL.replace(/\/$/,""))}}else{G.theme=H.theme}}function A(s){var t=c.get(s),o=c.urls[s]||k.documentBaseURL.replace(/\/$/,""),n;if(t&&k.inArray(r,s)===-1){i(c.dependencies(s),function(u){A(u)});n=new t(G,o);G.plugins[s]=n;if(n.init){n.init(G,o);r.push(s)}}}i(g(H.plugins.replace(/\-/g,"")),A);if(H.popup_css!==false){if(H.popup_css){H.popup_css=G.documentBaseURI.toAbsolute(H.popup_css)}else{H.popup_css=G.baseURI.toAbsolute("themes/"+H.theme+"/skins/"+H.skin+"/dialog.css")}}if(H.popup_css_add){H.popup_css+=","+G.documentBaseURI.toAbsolute(H.popup_css_add)}G.controlManager=new k.ControlManager(G);G.onBeforeRenderUI.dispatch(G,G.controlManager);if(H.render_ui&&G.theme){G.orgDisplay=C.style.display;if(typeof H.theme!="function"){D=H.width||C.style.width||C.offsetWidth;y=H.height||C.style.height||C.offsetHeight;z=H.min_height||100;F=/^[0-9\.]+(|px)$/i;if(F.test(""+D)){D=Math.max(parseInt(D,10)+(p.deltaWidth||0),100)}if(F.test(""+y)){y=Math.max(parseInt(y,10)+(p.deltaHeight||0),z)}p=G.theme.renderUI({targetNode:C,width:D,height:y,deltaWidth:H.delta_width,deltaHeight:H.delta_height});l.setStyles(p.sizeContainer||p.editorContainer,{width:D,height:y});y=(p.iframeHeight||y)+(typeof(y)=="number"?(p.deltaHeight||0):"");if(y<z){y=z}}else{p=H.theme(G,C);if(p.editorContainer.nodeType){p.editorContainer=p.editorContainer.id=p.editorContainer.id||G.id+"_parent"}if(p.iframeContainer.nodeType){p.iframeContainer=p.iframeContainer.id=p.iframeContainer.id||G.id+"_iframecontainer"}y=p.iframeHeight||C.offsetHeight;if(b){G.onInit.add(function(n){n.dom.bind(n.getBody(),"beforedeactivate keydown keyup",function(){n.bookmark=n.selection.getBookmark(1)})});G.onNodeChange.add(function(n){if(document.activeElement.id==n.id+"_ifr"){n.bookmark=n.selection.getBookmark(1)}})}}G.editorContainer=p.editorContainer}if(H.content_css){i(g(H.content_css),function(n){G.contentCSS.push(G.documentBaseURI.toAbsolute(n))})}if(H.content_style){G.contentStyles.push(H.content_style)}if(H.content_editable){C=q=p=null;return G.initContentBody()}if(document.domain&&location.hostname!=document.domain){k.relaxedDomain=document.domain}G.iframeHTML=H.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(H.document_base_url!=k.documentBaseURL){G.iframeHTML+='<base href="'+G.documentBaseURI.getURI()+'" />'}if(k.isIE8){if(H.ie7_compat){G.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}else{G.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=edge" />'}}G.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(x=0;x<G.contentCSS.length;x++){G.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+G.contentCSS[x]+'" />'}G.contentCSS=[];v=H.body_id||"tinymce";if(v.indexOf("=")!=-1){v=G.getParam("body_id","","hash");v=v[G.id]||v}B=H.body_class||"";if(B.indexOf("=")!=-1){B=G.getParam("body_class","","hash");B=B[G.id]||""}G.iframeHTML+='</head><body id="'+v+'" class="mceContentBody '+B+'" onload="window.parent.tinyMCE.get(\''+G.id+"').onLoad.dispatch();\"><br></body></html>";if(k.relaxedDomain&&(b||(k.isOpera&&parseFloat(opera.version())<11))){E='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+G.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()'}q=l.add(p.iframeContainer,"iframe",{id:G.id+"_ifr",src:E||'javascript:""',frameBorder:"0",allowTransparency:"true",title:H.aria_label,style:{width:"100%",height:y,display:"block"}});G.contentAreaContainer=p.iframeContainer;if(p.editorContainer){l.get(p.editorContainer).style.display=G.orgDisplay}C.style.visibility=G.orgVisibility;l.get(G.id).style.display="none";l.setAttrib(G.id,"aria-hidden",true);if(!k.relaxedDomain||!E){G.initContentBody()}C=q=p=null},initContentBody:function(){var n=this,p=n.settings,q=l.get(n.id),r=n.getDoc(),o,m,s;if((!b||!k.relaxedDomain)&&!p.content_editable){r.open();r.write(n.iframeHTML);r.close();if(k.relaxedDomain){r.domain=k.relaxedDomain}}if(p.content_editable){l.addClass(q,"mceContentBody");n.contentDocument=r=p.content_document||document;n.contentWindow=p.content_window||window;n.bodyElement=q;p.content_document=p.content_window=null}m=n.getBody();m.disabled=true;if(!p.readonly){m.contentEditable=n.getParam("content_editable_state",true)}m.disabled=false;n.schema=new k.html.Schema(p);n.dom=new k.dom.DOMUtils(r,{keep_values:true,url_converter:n.convertURL,url_converter_scope:n,hex_colors:p.force_hex_style_colors,class_filter:p.class_filter,update_styles:true,root_element:p.content_editable?n.id:null,schema:n.schema});n.parser=new k.html.DomParser(p,n.schema);n.parser.addAttributeFilter("src,href,style",function(t,u){var v=t.length,y,A=n.dom,z,x;while(v--){y=t[v];z=y.attr(u);x="data-mce-"+u;if(!y.attributes.map[x]){if(u==="style"){y.attr(x,A.serializeStyle(A.parseStyle(z),y.name))}else{y.attr(x,n.convertURL(z,u,y.name))}}}});n.parser.addNodeFilter("script",function(t,u){var v=t.length,x;while(v--){x=t[v];x.attr("type","mce-"+(x.attr("type")||"text/javascript"))}});n.parser.addNodeFilter("#cdata",function(t,u){var v=t.length,x;while(v--){x=t[v];x.type=8;x.name="#comment";x.value="[CDATA["+x.value+"]]"}});n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(u,v){var x=u.length,y,t=n.schema.getNonEmptyElements();while(x--){y=u[x];if(y.isEmpty(t)){y.empty().append(new k.html.Node("br",1)).shortEnded=true}}});n.serializer=new k.dom.Serializer(p,n.dom,n.schema);n.selection=new k.dom.Selection(n.dom,n.getWin(),n.serializer,n);n.formatter=new k.Formatter(n);n.undoManager=new k.UndoManager(n);n.forceBlocks=new k.ForceBlocks(n);n.enterKey=new k.EnterKey(n);n.editorCommands=new k.EditorCommands(n);n.onExecCommand.add(function(t,u){if(!/^(FontName|FontSize)$/.test(u)){n.nodeChanged()}});n.serializer.onPreProcess.add(function(t,u){return n.onPreProcess.dispatch(n,u,t)});n.serializer.onPostProcess.add(function(t,u){return n.onPostProcess.dispatch(n,u,t)});n.onPreInit.dispatch(n);if(!p.browser_spellcheck&&!p.gecko_spellcheck){r.body.spellcheck=false}if(!p.readonly){n.bindNativeEvents()}n.controlManager.onPostRender.dispatch(n,n.controlManager);n.onPostRender.dispatch(n);n.quirks=k.util.Quirks(n);if(p.directionality){m.dir=p.directionality}if(p.nowrap){m.style.whiteSpace="nowrap"}if(p.protect){n.onBeforeSetContent.add(function(t,u){i(p.protect,function(v){u.content=u.content.replace(v,function(x){return"<!--mce:protected "+escape(x)+"-->"})})})}n.onSetContent.add(function(){n.addVisual(n.getBody())});if(p.padd_empty_editor){n.onPostProcess.add(function(t,u){u.content=u.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}n.load({initial:true,format:"html"});n.startContent=n.getContent({format:"raw"});n.initialized=true;n.onInit.dispatch(n);n.execCallback("setupcontent_callback",n.id,m,r);n.execCallback("init_instance_callback",n);n.focus(true);n.nodeChanged({initial:true});if(n.contentStyles.length>0){s="";i(n.contentStyles,function(t){s+=t+"\r\n"});n.dom.addStyle(s)}i(n.contentCSS,function(t){n.dom.loadCSS(t)});if(p.auto_focus){setTimeout(function(){var t=k.get(p.auto_focus);t.selection.select(t.getBody(),1);t.selection.collapse(1);t.getBody().focus();t.getWin().focus()},100)}q=r=m=null},focus:function(p){var o,u=this,t=u.selection,q=u.settings.content_editable,n,r,s=u.getDoc(),m;if(!p){if(u.bookmark){t.moveToBookmark(u.bookmark);u.bookmark=null}n=t.getRng();if(n.item){r=n.item(0)}u._refreshContentEditable();if(!q){u.getWin().focus()}if(k.isGecko||q){m=u.getBody();if(m.setActive&&!k.isIE11){m.setActive()}else{m.focus()}if(q){t.normalize()}}if(r&&r.ownerDocument==s){n=s.body.createControlRange();n.addElement(r);n.select()}}if(k.activeEditor!=u){if((o=k.activeEditor)!=null){o.onDeactivate.dispatch(o,u)}u.onActivate.dispatch(u,o)}k._setActive(u)},execCallback:function(q){var m=this,p=m.settings[q],o;if(!p){return}if(m.callbackLookup&&(o=m.callbackLookup[q])){p=o.func;o=o.scope}if(d(p,"string")){o=p.replace(/\.\w+$/,"");o=o?k.resolve(o):0;p=k.resolve(p);m.callbackLookup=m.callbackLookup||{};m.callbackLookup[q]={func:p,scope:o}}return p.apply(o||m,Array.prototype.slice.call(arguments,1))},translate:function(m){var o=this.settings.language||"en",n=k.i18n;if(!m){return""}return n[o+"."+m]||m.replace(/\{\#([^\}]+)\}/g,function(q,p){return n[o+"."+p]||"{#"+p+"}"})},getLang:function(o,m){return k.i18n[(this.settings.language||"en")+"."+o]||(d(m)?m:"{#"+o+"}")},getParam:function(t,q,m){var r=k.trim,p=d(this.settings[t])?this.settings[t]:q,s;if(m==="hash"){s={};if(d(p,"string")){i(p.indexOf("=")>0?p.split(/[;,](?![^=;,]*(?:[;,]|$))/):p.split(","),function(n){n=n.split("=");if(n.length>1){s[r(n[0])]=r(n[1])}else{s[r(n[0])]=r(n)}})}else{s=p}return s}return p},nodeChanged:function(q){var m=this,n=m.selection,p;if(m.initialized){q=q||{};p=n.getStart()||m.getBody();p=b&&p.ownerDocument!=m.getDoc()?m.getBody():p;q.parents=[];m.dom.getParent(p,function(o){if(o.nodeName=="BODY"){return true}q.parents.push(o)});m.onNodeChange.dispatch(m,q?q.controlManager||m.controlManager:m.controlManager,p,n.isCollapsed(),q)}},addButton:function(n,o){var m=this;m.buttons=m.buttons||{};m.buttons[n]=o},addCommand:function(m,o,n){this.execCommands[m]={func:o,scope:n||this}},addQueryStateHandler:function(m,o,n){this.queryStateCommands[m]={func:o,scope:n||this}},addQueryValueHandler:function(m,o,n){this.queryValueCommands[m]={func:o,scope:n||this}},addShortcut:function(o,q,m,p){var n=this,r;if(n.settings.custom_shortcuts===false){return false}n.shortcuts=n.shortcuts||{};if(d(m,"string")){r=m;m=function(){n.execCommand(r,false,null)}}if(d(m,"object")){r=m;m=function(){n.execCommand(r[0],r[1],r[2])}}i(g(o),function(s){var t={func:m,scope:p||this,desc:n.translate(q),alt:false,ctrl:false,shift:false};i(g(s,"+"),function(u){switch(u){case"alt":case"ctrl":case"shift":t[u]=true;break;default:t.charCode=u.charCodeAt(0);t.keyCode=u.toUpperCase().charCodeAt(0)}});n.shortcuts[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t});return true},execCommand:function(u,r,x,m){var p=this,q=0,v,n;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(u)&&(!m||!m.skip_focus)){p.focus()}m=f({},m);p.onBeforeExecCommand.dispatch(p,u,r,x,m);if(m.terminate){return false}if(p.execCallback("execcommand_callback",p.id,p.selection.getNode(),u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(v=p.execCommands[u]){n=v.func.call(v.scope,r,x);if(n!==true){p.onExecCommand.dispatch(p,u,r,x,m);return n}}i(p.plugins,function(o){if(o.execCommand&&o.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);q=1;return false}});if(q){return true}if(p.theme&&p.theme.execCommand&&p.theme.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(p.editorCommands.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}p.getDoc().execCommand(u,r,x);p.onExecCommand.dispatch(p,u,r,x,m)},queryCommandState:function(q){var n=this,r,p;if(n._isHidden()){return}if(r=n.queryStateCommands[q]){p=r.func.call(r.scope);if(p!==true){return p}}r=n.editorCommands.queryCommandState(q);if(r!==-1){return r}try{return this.getDoc().queryCommandState(q)}catch(m){}},queryCommandValue:function(r){var n=this,q,p;if(n._isHidden()){return}if(q=n.queryValueCommands[r]){p=q.func.call(q.scope);if(p!==true){return p}}q=n.editorCommands.queryCommandValue(r);if(d(q)){return q}try{return this.getDoc().queryCommandValue(r)}catch(m){}},show:function(){var m=this;l.show(m.getContainer());l.hide(m.id);m.load()},hide:function(){var m=this,n=m.getDoc();if(b&&n){n.execCommand("SelectAll")}m.save();l.hide(m.getContainer());l.setStyle(m.id,"display",m.orgDisplay)},isHidden:function(){return !l.isHidden(this.id)},setProgressState:function(m,n,p){this.onSetProgressState.dispatch(this,m,n,p);return m},load:function(q){var m=this,p=m.getElement(),n;if(p){q=q||{};q.load=true;n=m.setContent(d(p.value)?p.value:p.innerHTML,q);q.element=p;if(!q.no_events){m.onLoadContent.dispatch(m,q)}q.element=p=null;return n}},save:function(r){var m=this,q=m.getElement(),n,p;if(!q||!m.initialized){return}r=r||{};r.save=true;r.element=q;n=r.content=m.getContent(r);if(!r.no_events){m.onSaveContent.dispatch(m,r)}n=r.content;if(!/TEXTAREA|INPUT/i.test(q.nodeName)){q.innerHTML=n;if(p=l.getParent(m.id,"form")){i(p.elements,function(o){if(o.name==m.id){o.value=n;return false}})}}else{q.value=n}r.element=q=null;return n},setContent:function(r,p){var o=this,n,m=o.getBody(),q;p=p||{};p.format=p.format||"html";p.set=true;p.content=r;if(!p.no_events){o.onBeforeSetContent.dispatch(o,p)}r=p.content;if(!k.isIE&&(r.length===0||/^\s+$/.test(r))){q=o.settings.forced_root_block;if(q){r="<"+q+'><br data-mce-bogus="1"></'+q+">"}else{r='<br data-mce-bogus="1">'}m.innerHTML=r;o.selection.select(m,true);o.selection.collapse(true);return}if(p.format!=="raw"){r=new k.html.Serializer({},o.schema).serialize(o.parser.parse(r))}p.content=k.trim(r);o.dom.setHTML(m,p.content);if(!p.no_events){o.onSetContent.dispatch(o,p)}if(!o.settings.content_editable||document.activeElement===o.getBody()){o.selection.normalize()}return p.content},getContent:function(o){var n=this,p,m=n.getBody();o=o||{};o.format=o.format||"html";o.get=true;o.getInner=true;if(!o.no_events){n.onBeforeGetContent.dispatch(n,o)}if(o.format=="raw"){p=m.innerHTML}else{if(o.format=="text"){p=m.innerText||m.textContent}else{p=n.serializer.serialize(m,o)}}if(o.format!="text"){o.content=k.trim(p)}else{o.content=p}if(!o.no_events){n.onGetContent.dispatch(n,o)}return o.content},isDirty:function(){var m=this;return k.trim(m.startContent)!=k.trim(m.getContent({format:"raw",no_events:1}))&&!m.isNotDirty},getContainer:function(){var m=this;if(!m.container){m.container=l.get(m.editorContainer||m.id+"_parent")}return m.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return l.get(this.settings.content_element||this.id)},getWin:function(){var m=this,n;if(!m.contentWindow){n=l.get(m.id+"_ifr");if(n){m.contentWindow=n.contentWindow}}return m.contentWindow},getDoc:function(){var m=this,n;if(!m.contentDocument){n=m.getWin();if(n){m.contentDocument=n.document}}return m.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(o,n,q){var m=this,p=m.settings;if(p.urlconverter_callback){return m.execCallback("urlconverter_callback",o,q,true,n)}if(!p.convert_urls||(q&&q.nodeName=="LINK")||o.indexOf("file:")===0){return o}if(p.relative_urls){return m.documentBaseURI.toRelative(o)}o=m.documentBaseURI.toAbsolute(o,p.remove_script_host);return o},addVisual:function(q){var n=this,o=n.settings,p=n.dom,m;q=q||n.getBody();if(!d(n.hasVisual)){n.hasVisual=o.visual}i(p.select("table,a",q),function(s){var r;switch(s.nodeName){case"TABLE":m=o.visual_table_class||"mceItemTable";r=p.getAttrib(s,"border");if(!r||r=="0"){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}return;case"A":if(!p.getAttrib(s,"href",false)){r=p.getAttrib(s,"name")||s.id;m="mceItemAnchor";if(r){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}}return}});n.onVisualAid.dispatch(n,q,n.hasVisual)},remove:function(){var m=this,o=m.getContainer(),n=m.getDoc();if(!m.removed){m.removed=1;if(b&&n){n.execCommand("SelectAll")}m.save();l.setStyle(m.id,"display",m.orgDisplay);if(!m.settings.content_editable){j.unbind(m.getWin());j.unbind(m.getDoc())}j.unbind(m.getBody());j.clear(o);m.execCallback("remove_instance_callback",m);m.onRemove.dispatch(m);m.onExecCommand.listeners=[];k.remove(m);l.remove(o)}},destroy:function(n){var m=this;if(m.destroyed){return}if(a){j.unbind(m.getDoc());j.unbind(m.getWin());j.unbind(m.getBody())}if(!n){k.removeUnload(m.destroy);tinyMCE.onBeforeUnload.remove(m._beforeUnload);if(m.theme&&m.theme.destroy){m.theme.destroy()}m.controlManager.destroy();m.selection.destroy();m.dom.destroy()}if(m.formElement){m.formElement.submit=m.formElement._mceOldSubmit;m.formElement._mceOldSubmit=null}m.contentAreaContainer=m.formElement=m.container=m.settings.content_element=m.bodyElement=m.contentDocument=m.contentWindow=null;if(m.selection){m.selection=m.selection.win=m.selection.dom=m.selection.dom.doc=null}m.destroyed=1},_refreshContentEditable:function(){var n=this,m,o;if(n._isHidden()){m=n.getBody();o=m.parentNode;o.removeChild(m);o.appendChild(m);m.focus()}},_isHidden:function(){var m;if(!a){return 0}m=this.selection.getSel();return(!m||!m.rangeCount||m.rangeCount===0)}})})(tinymce);(function(a){var b=a.each;a.Editor.prototype.setupEvents=function(){var c=this,d=c.settings;b(["onPreInit","onBeforeRenderUI","onPostRender","onLoad","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState","onSetAttrib"],function(e){c[e]=new a.util.Dispatcher(c)});if(d.cleanup_callback){c.onBeforeSetContent.add(function(e,f){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)});c.onPreProcess.add(function(e,f){if(f.set){e.execCallback("cleanup_callback","insert_to_editor_dom",f.node,f)}if(f.get){e.execCallback("cleanup_callback","get_from_editor_dom",f.node,f)}});c.onPostProcess.add(function(e,f){if(f.set){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)}if(f.get){f.content=e.execCallback("cleanup_callback","get_from_editor",f.content,f)}})}if(d.save_callback){c.onGetContent.add(function(e,f){if(f.save){f.content=e.execCallback("save_callback",e.id,f.content,e.getBody())}})}if(d.handle_event_callback){c.onEvent.add(function(f,g,h){if(c.execCallback("handle_event_callback",g,f,h)===false){g.preventDefault();g.stopPropagation()}})}if(d.handle_node_change_callback){c.onNodeChange.add(function(f,e,g){f.execCallback("handle_node_change_callback",f.id,g,-1,-1,true,f.selection.isCollapsed())})}if(d.save_callback){c.onSaveContent.add(function(e,g){var f=e.execCallback("save_callback",e.id,g.content,e.getBody());if(f){g.content=f}})}if(d.onchange_callback){c.onChange.add(function(f,e){f.execCallback("onchange_callback",f,e)})}};a.Editor.prototype.bindNativeEvents=function(){var l=this,f,d=l.settings,e=l.dom,h;h={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function c(i,m){var n=i.type;if(l.removed){return}if(l.onEvent.dispatch(l,i,m)!==false){l[h[i.fakeType||i.type]].dispatch(l,i,m)}}function j(i){l.focus(true)}function k(i,m){if(m.keyCode!=65||!a.VK.metaKeyPressed(m)){l.selection.normalize()}l.nodeChanged()}b(h,function(m,n){var i=d.content_editable?l.getBody():l.getDoc();switch(n){case"contextmenu":e.bind(i,n,c);break;case"paste":e.bind(l.getBody(),n,c);break;case"submit":case"reset":e.bind(l.getElement().form||a.DOM.getParent(l.id,"form"),n,c);break;default:e.bind(i,n,c)}});e.bind(d.content_editable?l.getBody():(a.isGecko?l.getDoc():l.getWin()),"focus",function(i){l.focus(true)});if(d.content_editable&&a.isOpera){e.bind(l.getBody(),"click",j);e.bind(l.getBody(),"keydown",j)}l.onMouseUp.add(k);l.onKeyUp.add(function(i,n){var m=n.keyCode;if((m>=33&&m<=36)||(m>=37&&m<=40)||m==13||m==45||m==46||m==8||(a.isMac&&(m==91||m==93))||n.ctrlKey){k(i,n)}});l.onReset.add(function(){l.setContent(l.startContent,{format:"raw"})});function g(m,i){if(m.altKey||m.ctrlKey||m.metaKey){b(l.shortcuts,function(n){var o=a.isMac?m.metaKey:m.ctrlKey;if(n.ctrl!=o||n.alt!=m.altKey||n.shift!=m.shiftKey){return}if(m.keyCode==n.keyCode||(m.charCode&&m.charCode==n.charCode)){m.preventDefault();if(i){n.func.call(n.scope)}return true}})}}l.onKeyUp.add(function(i,m){g(m)});l.onKeyPress.add(function(i,m){g(m)});l.onKeyDown.add(function(i,m){g(m,true)});if(a.isOpera){l.onClick.add(function(i,m){m.preventDefault()})}}})(tinymce);(function(d){var e=d.each,b,a=true,c=false;d.EditorCommands=function(n){var m=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,q=n.formatter,o;function r(z,y,x){var v;z=z.toLowerCase();if(v=j.exec[z]){v(z,y,x);return a}return c}function l(x){var v;x=x.toLowerCase();if(v=j.state[x]){return v(x)}return -1}function h(x){var v;x=x.toLowerCase();if(v=j.value[x]){return v(x)}return c}function u(v,x){x=x||"exec";e(v,function(z,y){e(y.toLowerCase().split(","),function(A){j[x][A]=z})})}d.extend(this,{execCommand:r,queryCommandState:l,queryCommandValue:h,addCommands:u});function f(y,x,v){if(x===b){x=c}if(v===b){v=null}return n.getDoc().execCommand(y,x,v)}function t(v){return q.match(v)}function s(v,x){q.toggle(v,x?{value:x}:b)}function i(v){o=p.getBookmark(v)}function g(){p.moveToBookmark(o)}u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(z){var y=n.getDoc(),v;try{f(z)}catch(x){v=a}if(v||!y.queryCommandSupported(z)){if(d.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(A){if(A){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(v){if(p.isCollapsed()){p.select(p.getNode())}f(v);p.collapse(c)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){var x=v.substring(7);e("left,center,right,full".split(","),function(y){if(x!=y){q.remove("align"+y)}});s("align"+x);r("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(y){var v,x;f(y);v=m.getParent(p.getNode(),"ol,ul");if(v){x=v.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)){i();m.split(x,v);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){s(v)},"ForeColor,HiliteColor,FontName":function(y,x,v){s(y,v)},FontSize:function(z,y,x){var v,A;if(x>=1&&x<=7){A=d.explode(k.font_size_style_values);v=d.explode(k.font_size_classes);if(v){x=v[x-1]||x}else{x=A[x-1]||x}}s(z,x)},RemoveFormat:function(v){q.remove(v)},mceBlockQuote:function(v){s("blockquote")},FormatBlock:function(y,x,v){return s(v||"p")},mceCleanup:function(){var v=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(v)},mceRemoveNode:function(z,y,x){var v=x||p.getNode();if(v!=n.getBody()){i();n.dom.remove(v,a);g()}},mceSelectNodeDepth:function(z,y,x){var v=0;m.getParent(p.getNode(),function(A){if(A.nodeType==1&&v++==x){p.select(A);return c}},n.getBody())},mceSelectNode:function(y,x,v){p.select(v)},mceInsertContent:function(B,I,K){var y,J,E,z,F,G,D,C,L,x,A,M,v,H;y=n.parser;J=new d.html.Serializer({},n.schema);v='<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>';G={content:K,format:"html"};p.onBeforeSetContent.dispatch(p,G);K=G.content;if(K.indexOf("{$caret}")==-1){K+="{$caret}"}K=K.replace(/\{\$caret\}/,v);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}E=p.getNode();G={context:E.nodeName.toLowerCase()};F=y.parse(K,G);A=F.lastChild;if(A.attr("id")=="mce_marker"){D=A;for(A=A.prev;A;A=A.walk(true)){if(A.type==3||!m.isBlock(A.name)){A.parent.insert(D,A,A.name==="br");break}}}if(!G.invalid){K=J.serialize(F);A=E.firstChild;M=E.lastChild;if(!A||(A===M&&A.nodeName==="BR")){m.setHTML(E,K)}else{p.setContent(K)}}else{p.setContent(v);E=p.getNode();z=n.getBody();if(E.nodeType==9){E=A=z}else{A=E}while(A!==z){E=A;A=A.parentNode}K=E==z?z.innerHTML:m.getOuterHTML(E);K=J.serialize(y.parse(K.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return J.serialize(F)})));if(E==z){m.setHTML(z,K)}else{m.setOuterHTML(E,K)}}D=m.get("mce_marker");C=m.getRect(D);L=m.getViewPort(n.getWin());if((C.y+C.h>L.y+L.h||C.y<L.y)||(C.x>L.x+L.w||C.x<L.x)){H=d.isIE?n.getDoc().documentElement:n.getBody();H.scrollLeft=C.x;H.scrollTop=C.y-L.h+25}x=m.createRng();A=D.previousSibling;if(A&&A.nodeType==3){x.setStart(A,A.nodeValue.length)}else{x.setStartBefore(D);x.setEndBefore(D)}m.remove(D);p.setRng(x);p.onSetContent.dispatch(p,G);n.addVisual()},mceInsertRawHTML:function(y,x,v){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return v}))},mceToggleFormat:function(y,x,v){s(v)},mceSetContent:function(y,x,v){n.setContent(v)},"Indent,Outdent":function(z){var x,v,y;x=k.indentation;v=/[a-z%]+$/i.exec(x);x=parseInt(x);if(!l("InsertUnorderedList")&&!l("InsertOrderedList")){if(!k.forced_root_block&&!m.getParent(p.getNode(),m.isBlock)){q.apply("div")}e(p.getSelectedBlocks(),function(A){if(z=="outdent"){y=Math.max(0,parseInt(A.style.paddingLeft||0)-x);m.setStyle(A,"paddingLeft",y?y+v:"")}else{m.setStyle(A,"paddingLeft",(parseInt(A.style.paddingLeft||0)+x)+v)}})}else{f(z)}},mceRepaint:function(){var x;if(d.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(v){}}},mceToggleFormat:function(y,x,v){q.toggle(v)},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(y,x,v){n.execCommand("mceInsertContent",false,v.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(z,y,x){var v;if(typeof(x)=="string"){x={href:x}}v=m.getParent(p.getNode(),"a");x.href=x.href.replace(" ","%20");if(!v||!x.href){q.remove("link")}if(x.href){q.apply("link",x,v)}},selectAll:function(){var x=m.getRoot(),v=m.createRng();if(p.getRng().setStart){v.setStart(x,0);v.setEnd(x,x.childNodes.length);p.setRng(v)}else{f("SelectAll")}}});u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(z){var x="align"+z.substring(7);var v=p.isCollapsed()?[m.getParent(p.getNode(),m.isBlock)]:p.getSelectedBlocks();var y=d.map(v,function(A){return !!q.matchNode(A,x)});return d.inArray(y,a)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){return t(v)},mceBlockQuote:function(){return t("blockquote")},Outdent:function(){var v;if(k.inline_styles){if((v=m.getParent(p.getStart(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}if((v=m.getParent(p.getEnd(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}}return l("InsertUnorderedList")||l("InsertOrderedList")||(!k.inline_styles&&!!m.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(x){var v=m.getParent(p.getNode(),"ul,ol");return v&&(x==="insertunorderedlist"&&v.tagName==="UL"||x==="insertorderedlist"&&v.tagName==="OL")}},"state");u({"FontSize,FontName":function(y){var x=0,v;if(v=m.getParent(p.getNode(),"span")){if(y=="fontsize"){x=v.style.fontSize}else{x=v.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return x}},"value");u({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(h){var l,i=0,e=[],g,k,j,f;function c(){return b.trim(h.getContent({format:"raw",no_events:1}).replace(/<span[^>]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>/g,""))}function d(){l.typing=false;l.add()}onBeforeAdd=new a(l);k=new a(l);j=new a(l);f=new a(l);k.add(function(m,n){if(m.hasUndo()){return h.onChange.dispatch(h,n,m)}});j.add(function(m,n){return h.onUndo.dispatch(h,n,m)});f.add(function(m,n){return h.onRedo.dispatch(h,n,m)});h.onInit.add(function(){l.add()});h.onBeforeExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.beforeChange()}});h.onExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.add()}});h.onSaveContent.add(d);h.dom.bind(h.dom.getRoot(),"dragend",d);h.dom.bind(h.getBody(),"focusout",function(m){if(!h.removed&&l.typing){d()}});h.onKeyUp.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45||n==13||o.ctrlKey){d()}});h.onKeyDown.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45){if(l.typing){d()}return}if((n<16||n>20)&&n!=224&&n!=91&&!l.typing){l.beforeChange();l.typing=true;l.add()}});h.onMouseDown.add(function(m,n){if(l.typing){d()}});h.addShortcut("ctrl+z","undo_desc","Undo");h.addShortcut("ctrl+y","redo_desc","Redo");l={data:e,typing:false,onBeforeAdd:onBeforeAdd,onAdd:k,onUndo:j,onRedo:f,beforeChange:function(){g=h.selection.getBookmark(2,true)},add:function(p){var m,n=h.settings,o;p=p||{};p.content=c();l.onBeforeAdd.dispatch(l,p);o=e[i];if(o&&o.content==p.content){return null}if(e[i]){e[i].beforeBookmark=g}if(n.custom_undo_redo_levels){if(e.length>n.custom_undo_redo_levels){for(m=0;m<e.length-1;m++){e[m]=e[m+1]}e.length--;i=e.length}}p.bookmark=h.selection.getBookmark(2,true);if(i<e.length-1){e.length=i+1}e.push(p);i=e.length-1;l.onAdd.dispatch(l,p);h.isNotDirty=0;return p},undo:function(){var n,m;if(l.typing){l.add();l.typing=false}if(i>0){n=e[--i];h.setContent(n.content,{format:"raw"});h.selection.moveToBookmark(n.beforeBookmark);l.onUndo.dispatch(l,n)}return n},redo:function(){var m;if(i<e.length-1){m=e[++i];h.setContent(m.content,{format:"raw"});h.selection.moveToBookmark(m.bookmark);l.onRedo.dispatch(l,m)}return m},clear:function(){e=[];i=0;l.typing=false},hasUndo:function(){return i>0||this.typing},hasRedo:function(){return i<e.length-1&&!this.typing}};return l}})(tinymce);tinymce.ForceBlocks=function(c){var b=c.settings,e=c.dom,a=c.selection,d=c.schema.getBlockElements();function f(){var j=a.getStart(),h=c.getBody(),g,k,o,s,q,i,l,m=-16777215,p,r;if(!j||j.nodeType!==1||!b.forced_root_block){return}while(j&&j!=h){if(d[j.nodeName]){return}j=j.parentNode}g=a.getRng();if(g.setStart){k=g.startContainer;o=g.startOffset;s=g.endContainer;q=g.endOffset}else{if(g.item){j=g.item(0);g=c.getDoc().body.createTextRange();g.moveToElementText(j)}r=g.parentElement().ownerDocument===c.getDoc();tmpRng=g.duplicate();tmpRng.collapse(true);o=tmpRng.move("character",m)*-1;if(!tmpRng.collapsed){tmpRng=g.duplicate();tmpRng.collapse(false);q=(tmpRng.move("character",m)*-1)-o}}j=h.firstChild;while(j){if(j.nodeType===3||(j.nodeType==1&&!d[j.nodeName])){if(j.nodeType===3&&j.nodeValue.length==0){l=j;j=j.nextSibling;e.remove(l);continue}if(!i){i=e.create(b.forced_root_block);j.parentNode.insertBefore(i,j);p=true}l=j;j=j.nextSibling;i.appendChild(l)}else{i=null;j=j.nextSibling}}if(p){if(g.setStart){g.setStart(k,o);g.setEnd(s,q);a.setRng(g)}else{if(r){try{g=c.getDoc().body.createTextRange();g.moveToElementText(h);g.collapse(true);g.moveStart("character",o);if(q>0){g.moveEnd("character",q)}g.select()}catch(n){}}}c.nodeChanged()}}if(b.forced_root_block){c.onKeyUp.add(f);c.onNodeChange.add(f)}};(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(j){var o,k,g,h=this,m=h.editor,n,f;if(!h.controlFactories){h.controlFactories=[];d(m.plugins,function(i){if(i.createControl){h.controlFactories.push(i)}})}n=h.controlFactories;for(k=0,g=n.length;k<g;k++){o=n[k].createControl(j,h);if(o){return h.add(o)}}if(j==="|"||j==="separator"){return h.createSeparator()}if(m.buttons&&(o=m.buttons[j])){return h.createButton(j,o)}return h.add(o)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}n["class"]+=i.settings.directionality=="rtl"?" mceRtl":"";f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(f,n,h){var l=this,j=l.editor,i,k,m;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,scope:n.scope,control_manager:l},n);f=l.prefix+f;function g(o){return o.settings.use_accessible_selects&&!c.isGecko}if(j.settings.use_native_selects||g(j)){k=new c.ui.NativeListBox(f,n)}else{m=h||l._cls.listbox||c.ui.ListBox;k=new m(f,n,j)}l.controls[f]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){j.bookmark=j.selection.getBookmark(1)});a.add(o,"focus",function(){j.selection.moveToBookmark(j.bookmark);j.bookmark=null})})}if(k.hideMenu){j.onMouseDown.add(k.hideMenu,k)}return l.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i,g);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i,g)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i,g));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n,j);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createToolbarGroup:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||this._cls.toolbarGroup||c.ui.ToolbarGroup;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){a.Formatter=function(aa){var Q={},T=a.each,c=aa.dom,r=aa.selection,t=a.dom.TreeWalker,N=new a.dom.RangeUtils(c),d=aa.schema.isValidChild,A=a.isArray,H=c.isBlock,m=aa.settings.forced_root_block,s=c.nodeIndex,G="\uFEFF",e=/^(src|href|style)$/,X=false,C=true,P,D,x=c.getContentEditable;function I(ab){if(ab.nodeType){ab=ab.nodeName}return !!aa.schema.getTextBlockElements()[ab.toLowerCase()]}function n(ac,ab){return c.getParents(ac,ab,c.getRoot())}function b(ab){return ab.nodeType===1&&ab.id==="_mce_caret"}function j(){l({alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,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:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},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"},link:{inline:"a",selector:"a",remove:"all",split:true,deep:true,onmatch:function(ab){return true},onformat:function(ad,ab,ac){T(ac,function(af,ae){c.setAttrib(ad,ae,af)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});T("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(ab){l(ab,{block:ab,remove:"all"})});l(aa.settings.formats)}function W(){aa.addShortcut("ctrl+b","bold_desc","Bold");aa.addShortcut("ctrl+i","italic_desc","Italic");aa.addShortcut("ctrl+u","underline_desc","Underline");for(var ab=1;ab<=6;ab++){aa.addShortcut("ctrl+"+ab,"",["FormatBlock",false,"h"+ab])}aa.addShortcut("ctrl+7","",["FormatBlock",false,"p"]);aa.addShortcut("ctrl+8","",["FormatBlock",false,"div"]);aa.addShortcut("ctrl+9","",["FormatBlock",false,"address"])}function V(ab){return ab?Q[ab]:Q}function l(ab,ac){if(ab){if(typeof(ab)!=="string"){T(ab,function(ae,ad){l(ad,ae)})}else{ac=ac.length?ac:[ac];T(ac,function(ad){if(ad.deep===D){ad.deep=!ad.selector}if(ad.split===D){ad.split=!ad.selector||ad.inline}if(ad.remove===D&&ad.selector&&!ad.inline){ad.remove="none"}if(ad.selector&&ad.inline){ad.mixed=true;ad.block_expand=true}if(typeof(ad.classes)==="string"){ad.classes=ad.classes.split(/\s+/)}});Q[ab]=ac}}}var i=function(ac){var ab;aa.dom.getParent(ac,function(ad){ab=aa.dom.getStyle(ad,"text-decoration");return ab&&ab!=="none"});return ab};var L=function(ab){var ac;if(ab.nodeType===1&&ab.parentNode&&ab.parentNode.nodeType===1){ac=i(ab.parentNode);if(aa.dom.getStyle(ab,"color")&&ac){aa.dom.setStyle(ab,"text-decoration",ac)}else{if(aa.dom.getStyle(ab,"textdecoration")===ac){aa.dom.setStyle(ab,"text-decoration",null)}}}};function Y(ae,al,ag){var ah=V(ae),am=ah[0],ak,ac,aj,ai=r.isCollapsed();function ab(aq,ap){ap=ap||am;if(aq){if(ap.onformat){ap.onformat(aq,ap,al,ag)}T(ap.styles,function(at,ar){c.setStyle(aq,ar,q(at,al))});T(ap.attributes,function(at,ar){c.setAttrib(aq,ar,q(at,al))});T(ap.classes,function(ar){ar=q(ar,al);if(!c.hasClass(aq,ar)){c.addClass(aq,ar)}})}}function af(){function ar(ay,aw){var ax=new t(aw);for(ag=ax.current();ag;ag=ax.prev()){if(ag.childNodes.length>1||ag==ay||ag.tagName=="BR"){return ag}}}var aq=aa.selection.getRng();var av=aq.startContainer;var ap=aq.endContainer;if(av!=ap&&aq.endOffset===0){var au=ar(av,ap);var at=au.nodeType==3?au.length:au.childNodes.length;aq.setEnd(au,at)}return aq}function ad(at,ay,aw,av,aq){var ap=[],ar=-1,ax,aA=-1,au=-1,az;T(at.childNodes,function(aC,aB){if(aC.nodeName==="UL"||aC.nodeName==="OL"){ar=aB;ax=aC;return false}});T(at.childNodes,function(aC,aB){if(aC.nodeName==="SPAN"&&c.getAttrib(aC,"data-mce-type")=="bookmark"){if(aC.id==ay.id+"_start"){aA=aB}else{if(aC.id==ay.id+"_end"){au=aB}}}});if(ar<=0||(aA<ar&&au>ar)){T(a.grep(at.childNodes),aq);return 0}else{az=c.clone(aw,X);T(a.grep(at.childNodes),function(aC,aB){if((aA<ar&&aB<ar)||(aA>ar&&aB>ar)){ap.push(aC);aC.parentNode.removeChild(aC)}});if(aA<ar){at.insertBefore(az,ax)}else{if(aA>ar){at.insertBefore(az,ax.nextSibling)}}av.push(az);T(ap,function(aB){az.appendChild(aB)});return az}}function an(aq,at,aw){var ap=[],av,ar,au=true;av=am.inline||am.block;ar=c.create(av);ab(ar);N.walk(aq,function(ax){var ay;function az(aA){var aF,aD,aB,aC,aE;aE=au;aF=aA.nodeName.toLowerCase();aD=aA.parentNode.nodeName.toLowerCase();if(aA.nodeType===1&&x(aA)){aE=au;au=x(aA)==="true";aC=true}if(g(aF,"br")){ay=0;if(am.block){c.remove(aA)}return}if(am.wrapper&&y(aA,ae,al)){ay=0;return}if(au&&!aC&&am.block&&!am.wrapper&&I(aF)){aA=c.rename(aA,av);ab(aA);ap.push(aA);ay=0;return}if(am.selector){T(ah,function(aG){if("collapsed" in aG&&aG.collapsed!==ai){return}if(c.is(aA,aG.selector)&&!b(aA)){ab(aA,aG);aB=true}});if(!am.inline||aB){ay=0;return}}if(au&&!aC&&d(av,aF)&&d(aD,av)&&!(!aw&&aA.nodeType===3&&aA.nodeValue.length===1&&aA.nodeValue.charCodeAt(0)===65279)&&!b(aA)&&(!am.inline||!H(aA))){if(!ay){ay=c.clone(ar,X);aA.parentNode.insertBefore(ay,aA);ap.push(ay)}ay.appendChild(aA)}else{if(aF=="li"&&at){ay=ad(aA,at,ar,ap,az)}else{ay=0;T(a.grep(aA.childNodes),az);if(aC){au=aE}ay=0}}}T(ax,az)});if(am.wrap_links===false){T(ap,function(ax){function ay(aC){var aB,aA,az;if(aC.nodeName==="A"){aA=c.clone(ar,X);ap.push(aA);az=a.grep(aC.childNodes);for(aB=0;aB<az.length;aB++){aA.appendChild(az[aB])}aC.appendChild(aA)}T(a.grep(aC.childNodes),ay)}ay(ax)})}T(ap,function(az){var ax;function aA(aC){var aB=0;T(aC.childNodes,function(aD){if(!f(aD)&&!K(aD)){aB++}});return aB}function ay(aB){var aD,aC;T(aB.childNodes,function(aE){if(aE.nodeType==1&&!K(aE)&&!b(aE)){aD=aE;return X}});if(aD&&h(aD,am)){aC=c.clone(aD,X);ab(aC);c.replace(aC,aB,C);c.remove(aD,1)}return aC||aB}ax=aA(az);if((ap.length>1||!H(az))&&ax===0){c.remove(az,1);return}if(am.inline||am.wrapper){if(!am.exact&&ax===1){az=ay(az)}T(ah,function(aB){T(c.select(aB.inline,az),function(aD){var aC;if(aB.wrap_links===false){aC=aD.parentNode;do{if(aC.nodeName==="A"){return}}while(aC=aC.parentNode)}Z(aB,al,aD,aB.exact?aD:null)})});if(y(az.parentNode,ae,al)){c.remove(az,1);az=0;return C}if(am.merge_with_parents){c.getParent(az.parentNode,function(aB){if(y(aB,ae,al)){c.remove(az,1);az=0;return C}})}if(az&&am.merge_siblings!==false){az=u(E(az),az);az=u(az,E(az,C))}}})}if(am){if(ag){if(ag.nodeType){ac=c.createRng();ac.setStartBefore(ag);ac.setEndAfter(ag);an(p(ac,ah),null,true)}else{an(ag,null,true)}}else{if(!ai||!am.inline||c.select("td.mceSelected,th.mceSelected").length){var ao=aa.selection.getNode();if(!m&&ah[0].defaultBlock&&!c.getParent(ao,c.isBlock)){Y(ah[0].defaultBlock)}aa.selection.setRng(af());ak=r.getBookmark();an(p(r.getRng(C),ah),ak);if(am.styles&&(am.styles.color||am.styles.textDecoration)){a.walk(ao,L,"childNodes");L(ao)}r.moveToBookmark(ak);R(r.getRng(C));aa.nodeChanged()}else{U("apply",ae,al)}}}}function B(ad,am,af){var ag=V(ad),ao=ag[0],ak,aj,ac,al=true;function ae(av){var au,at,ar,aq,ax,aw;if(av.nodeType===3){return}if(av.nodeType===1&&x(av)){ax=al;al=x(av)==="true";aw=true}au=a.grep(av.childNodes);if(al&&!aw){for(at=0,ar=ag.length;at<ar;at++){if(Z(ag[at],am,av,av)){break}}}if(ao.deep){if(au.length){for(at=0,ar=au.length;at<ar;at++){ae(au[at])}if(aw){al=ax}}}}function ah(aq){var ar;T(n(aq.parentNode).reverse(),function(at){var au;if(!ar&&at.id!="_start"&&at.id!="_end"){au=y(at,ad,am);if(au&&au.split!==false){ar=at}}});return ar}function ab(au,aq,aw,az){var aA,ay,ax,at,av,ar;if(au){ar=au.parentNode;for(aA=aq.parentNode;aA&&aA!=ar;aA=aA.parentNode){ay=c.clone(aA,X);for(av=0;av<ag.length;av++){if(Z(ag[av],am,ay,ay)){ay=0;break}}if(ay){if(ax){ay.appendChild(ax)}if(!at){at=ay}ax=ay}}if(az&&(!ao.mixed||!H(au))){aq=c.split(au,aq)}if(ax){aw.parentNode.insertBefore(ax,aw);at.appendChild(aw)}}return aq}function an(aq){return ab(ah(aq),aq,aq,true)}function ai(at){var ar=c.get(at?"_start":"_end"),aq=ar[at?"firstChild":"lastChild"];if(K(aq)){aq=aq[at?"firstChild":"lastChild"]}c.remove(ar,true);return aq}function ap(aq){var at,au,ar;aq=p(aq,ag,C);if(ao.split){at=M(aq,C);au=M(aq);if(at!=au){if(/^(TR|TD)$/.test(at.nodeName)&&at.firstChild){at=(at.nodeName=="TD"?at.firstChild:at.firstChild.firstChild)||at}at=S(at,"span",{id:"_start","data-mce-type":"bookmark"});au=S(au,"span",{id:"_end","data-mce-type":"bookmark"});an(at);an(au);at=ai(C);au=ai()}else{at=au=an(at)}aq.startContainer=at.parentNode;aq.startOffset=s(at);aq.endContainer=au.parentNode;aq.endOffset=s(au)+1}N.walk(aq,function(av){T(av,function(aw){ae(aw);if(aw.nodeType===1&&aa.dom.getStyle(aw,"text-decoration")==="underline"&&aw.parentNode&&i(aw.parentNode)==="underline"){Z({deep:false,exact:true,inline:"span",styles:{textDecoration:"underline"}},null,aw)}})})}if(af){if(af.nodeType){ac=c.createRng();ac.setStartBefore(af);ac.setEndAfter(af);ap(ac)}else{ap(af)}return}if(!r.isCollapsed()||!ao.inline||c.select("td.mceSelected,th.mceSelected").length){ak=r.getBookmark();ap(r.getRng(C));r.moveToBookmark(ak);if(ao.inline&&k(ad,am,r.getStart())){R(r.getRng(true))}aa.nodeChanged()}else{U("remove",ad,am)}}function F(ac,ae,ad){var ab=V(ac);if(k(ac,ae,ad)&&(!("toggle" in ab[0])||ab[0].toggle)){B(ac,ae,ad)}else{Y(ac,ae,ad)}}function y(ac,ab,ah,af){var ad=V(ab),ai,ag,ae;function aj(an,ap,aq){var am,ao,ak=ap[aq],al;if(ap.onmatch){return ap.onmatch(an,ap,aq)}if(ak){if(ak.length===D){for(am in ak){if(ak.hasOwnProperty(am)){if(aq==="attributes"){ao=c.getAttrib(an,am)}else{ao=O(an,am)}if(af&&!ao&&!ap.exact){return}if((!af||ap.exact)&&!g(ao,q(ak[am],ah))){return}}}}else{for(al=0;al<ak.length;al++){if(aq==="attributes"?c.getAttrib(an,ak[al]):O(an,ak[al])){return ap}}}}return ap}if(ad&&ac){for(ag=0;ag<ad.length;ag++){ai=ad[ag];if(h(ac,ai)&&aj(ac,ai,"attributes")&&aj(ac,ai,"styles")){if(ae=ai.classes){for(ag=0;ag<ae.length;ag++){if(!c.hasClass(ac,ae[ag])){return}}}return ai}}}}function k(ad,af,ae){var ac;function ab(ag){ag=c.getParent(ag,function(ah){return !!y(ah,ad,af,true)});return y(ag,ad,af)}if(ae){return ab(ae)}ae=r.getNode();if(ab(ae)){return C}ac=r.getStart();if(ac!=ae){if(ab(ac)){return C}}return X}function v(ai,ah){var af,ag=[],ae={},ad,ac,ab;af=r.getStart();c.getParent(af,function(al){var ak,aj;for(ak=0;ak<ai.length;ak++){aj=ai[ak];if(!ae[aj]&&y(al,aj,ah)){ae[aj]=true;ag.push(aj)}}},c.getRoot());return ag}function z(af){var ah=V(af),ae,ad,ag,ac,ab;if(ah){ae=r.getStart();ad=n(ae);for(ac=ah.length-1;ac>=0;ac--){ab=ah[ac].selector;if(!ab){return C}for(ag=ad.length-1;ag>=0;ag--){if(c.is(ad[ag],ab)){return C}}}}return X}function J(ab,ae,ac){var ad;if(!P){P={};ad={};aa.onNodeChange.addToTop(function(ag,af,ai){var ah=n(ai),aj={};T(P,function(ak,al){T(ah,function(am){if(y(am,al,{},ak.similar)){if(!ad[al]){T(ak,function(an){an(true,{node:am,format:al,parents:ah})});ad[al]=ak}aj[al]=ak;return false}})});T(ad,function(ak,al){if(!aj[al]){delete ad[al];T(ak,function(am){am(false,{node:ai,format:al,parents:ah})})}})})}T(ab.split(","),function(af){if(!P[af]){P[af]=[];P[af].similar=ac}P[af].push(ae)});return this}a.extend(this,{get:V,register:l,apply:Y,remove:B,toggle:F,match:k,matchAll:v,matchNode:y,canApply:z,formatChanged:J});j();W();function h(ab,ac){if(g(ab,ac.inline)){return C}if(g(ab,ac.block)){return C}if(ac.selector){return c.is(ab,ac.selector)}}function g(ac,ab){ac=ac||"";ab=ab||"";ac=""+(ac.nodeName||ac);ab=""+(ab.nodeName||ab);return ac.toLowerCase()==ab.toLowerCase()}function O(ac,ab){var ad=c.getStyle(ac,ab);if(ab=="color"||ab=="backgroundColor"){ad=c.toHex(ad)}if(ab=="fontWeight"&&ad==700){ad="bold"}return""+ad}function q(ab,ac){if(typeof(ab)!="string"){ab=ab(ac)}else{if(ac){ab=ab.replace(/%(\w+)/g,function(ae,ad){return ac[ad]||ae})}}return ab}function f(ab){return ab&&ab.nodeType===3&&/^([\t \r\n]+|)$/.test(ab.nodeValue)}function S(ad,ac,ab){var ae=c.create(ac,ab);ad.parentNode.insertBefore(ae,ad);ae.appendChild(ad);return ae}function p(ab,am,ae){var ap,an,ah,al,ad=ab.startContainer,ai=ab.startOffset,ar=ab.endContainer,ak=ab.endOffset;function ao(aA){var au,ax,az,aw,av,at;au=ax=aA?ad:ar;av=aA?"previousSibling":"nextSibling";at=c.getRoot();function ay(aB){return aB.nodeName=="BR"&&aB.getAttribute("data-mce-bogus")&&!aB.nextSibling}if(au.nodeType==3&&!f(au)){if(aA?ai>0:ak<au.nodeValue.length){return au}}for(;;){if(!am[0].block_expand&&H(ax)){return ax}for(aw=ax[av];aw;aw=aw[av]){if(!K(aw)&&!f(aw)&&!ay(aw)){return ax}}if(ax.parentNode==at){au=ax;break}ax=ax.parentNode}return au}function ag(at,au){if(au===D){au=at.nodeType===3?at.length:at.childNodes.length}while(at&&at.hasChildNodes()){at=at.childNodes[au];if(at){au=at.nodeType===3?at.length:at.childNodes.length}}return{node:at,offset:au}}if(ad.nodeType==1&&ad.hasChildNodes()){an=ad.childNodes.length-1;ad=ad.childNodes[ai>an?an:ai];if(ad.nodeType==3){ai=0}}if(ar.nodeType==1&&ar.hasChildNodes()){an=ar.childNodes.length-1;ar=ar.childNodes[ak>an?an:ak-1];if(ar.nodeType==3){ak=ar.nodeValue.length}}function aq(au){var at=au;while(at){if(at.nodeType===1&&x(at)){return x(at)==="false"?at:au}at=at.parentNode}return au}function aj(au,ay,aA){var ax,av,az,at;function aw(aC,aE){var aF,aB,aD=aC.nodeValue;if(typeof(aE)=="undefined"){aE=aA?aD.length:0}if(aA){aF=aD.lastIndexOf(" ",aE);aB=aD.lastIndexOf("\u00a0",aE);aF=aF>aB?aF:aB;if(aF!==-1&&!ae){aF++}}else{aF=aD.indexOf(" ",aE);aB=aD.indexOf("\u00a0",aE);aF=aF!==-1&&(aB===-1||aF<aB)?aF:aB}return aF}if(au.nodeType===3){az=aw(au,ay);if(az!==-1){return{container:au,offset:az}}at=au}ax=new t(au,c.getParent(au,H)||aa.getBody());while(av=ax[aA?"prev":"next"]()){if(av.nodeType===3){at=av;az=aw(av);if(az!==-1){return{container:av,offset:az}}}else{if(H(av)){break}}}if(at){if(aA){ay=0}else{ay=at.length}return{container:at,offset:ay}}}function af(au,at){var av,aw,ay,ax;if(au.nodeType==3&&au.nodeValue.length===0&&au[at]){au=au[at]}av=n(au);for(aw=0;aw<av.length;aw++){for(ay=0;ay<am.length;ay++){ax=am[ay];if("collapsed" in ax&&ax.collapsed!==ab.collapsed){continue}if(c.is(av[aw],ax.selector)){return av[aw]}}}return au}function ac(au,at,aw){var av;if(!am[0].wrapper){av=c.getParent(au,am[0].block)}if(!av){av=c.getParent(au.nodeType==3?au.parentNode:au,I)}if(av&&am[0].wrapper){av=n(av,"ul,ol").reverse()[0]||av}if(!av){av=au;while(av[at]&&!H(av[at])){av=av[at];if(g(av,"br")){break}}}return av||au}ad=aq(ad);ar=aq(ar);if(K(ad.parentNode)||K(ad)){ad=K(ad)?ad:ad.parentNode;ad=ad.nextSibling||ad;if(ad.nodeType==3){ai=0}}if(K(ar.parentNode)||K(ar)){ar=K(ar)?ar:ar.parentNode;ar=ar.previousSibling||ar;if(ar.nodeType==3){ak=ar.length}}if(am[0].inline){if(ab.collapsed){al=aj(ad,ai,true);if(al){ad=al.container;ai=al.offset}al=aj(ar,ak);if(al){ar=al.container;ak=al.offset}}ah=ag(ar,ak);if(ah.node){while(ah.node&&ah.offset===0&&ah.node.previousSibling){ah=ag(ah.node.previousSibling)}if(ah.node&&ah.offset>0&&ah.node.nodeType===3&&ah.node.nodeValue.charAt(ah.offset-1)===" "){if(ah.offset>1){ar=ah.node;ar.splitText(ah.offset-1)}}}}if(am[0].inline||am[0].block_expand){if(!am[0].inline||(ad.nodeType!=3||ai===0)){ad=ao(true)}if(!am[0].inline||(ar.nodeType!=3||ak===ar.nodeValue.length)){ar=ao()}}if(am[0].selector&&am[0].expand!==X&&!am[0].inline){ad=af(ad,"previousSibling");ar=af(ar,"nextSibling")}if(am[0].block||am[0].selector){ad=ac(ad,"previousSibling");ar=ac(ar,"nextSibling");if(am[0].block){if(!H(ad)){ad=ao(true)}if(!H(ar)){ar=ao()}}}if(ad.nodeType==1){ai=s(ad);ad=ad.parentNode}if(ar.nodeType==1){ak=s(ar)+1;ar=ar.parentNode}return{startContainer:ad,startOffset:ai,endContainer:ar,endOffset:ak}}function Z(ah,ag,ae,ab){var ad,ac,af;if(!h(ae,ah)){return X}if(ah.remove!="all"){T(ah.styles,function(aj,ai){aj=q(aj,ag);if(typeof(ai)==="number"){ai=aj;ab=0}if(!ab||g(O(ab,ai),aj)){c.setStyle(ae,ai,"")}af=1});if(af&&c.getAttrib(ae,"style")==""){ae.removeAttribute("style");ae.removeAttribute("data-mce-style")}T(ah.attributes,function(ak,ai){var aj;ak=q(ak,ag);if(typeof(ai)==="number"){ai=ak;ab=0}if(!ab||g(c.getAttrib(ab,ai),ak)){if(ai=="class"){ak=c.getAttrib(ae,ai);if(ak){aj="";T(ak.split(/\s+/),function(al){if(/mce\w+/.test(al)){aj+=(aj?" ":"")+al}});if(aj){c.setAttrib(ae,ai,aj);return}}}if(ai=="class"){ae.removeAttribute("className")}if(e.test(ai)){ae.removeAttribute("data-mce-"+ai)}ae.removeAttribute(ai)}});T(ah.classes,function(ai){ai=q(ai,ag);if(!ab||c.hasClass(ab,ai)){c.removeClass(ae,ai)}});ac=c.getAttribs(ae);for(ad=0;ad<ac.length;ad++){if(ac[ad].nodeName.indexOf("_")!==0){return X}}}if(ah.remove!="none"){o(ae,ah);return C}}function o(ad,ae){var ab=ad.parentNode,ac;function af(ah,ag,ai){ah=E(ah,ag,ai);return !ah||(ah.nodeName=="BR"||H(ah))}if(ae.block){if(!m){if(H(ad)&&!H(ab)){if(!af(ad,X)&&!af(ad.firstChild,C,1)){ad.insertBefore(c.create("br"),ad.firstChild)}if(!af(ad,C)&&!af(ad.lastChild,X,1)){ad.appendChild(c.create("br"))}}}else{if(ab==c.getRoot()){if(!ae.list_block||!g(ad,ae.list_block)){T(a.grep(ad.childNodes),function(ag){if(d(m,ag.nodeName.toLowerCase())){if(!ac){ac=S(ag,m)}else{ac.appendChild(ag)}}else{ac=0}})}}}}if(ae.selector&&ae.inline&&!g(ae.inline,ad)){return}c.remove(ad,1)}function E(ac,ab,ad){if(ac){ab=ab?"nextSibling":"previousSibling";for(ac=ad?ac:ac[ab];ac;ac=ac[ab]){if(ac.nodeType==1||!f(ac)){return ac}}}}function K(ab){return ab&&ab.nodeType==1&&ab.getAttribute("data-mce-type")=="bookmark"}function u(af,ae){var ab,ad,ac;function ah(ak,aj){if(ak.nodeName!=aj.nodeName){return X}function ai(am){var an={};T(c.getAttribs(am),function(ao){var ap=ao.nodeName.toLowerCase();if(ap.indexOf("_")!==0&&ap!=="style"){an[ap]=c.getAttrib(am,ap)}});return an}function al(ap,ao){var an,am;for(am in ap){if(ap.hasOwnProperty(am)){an=ao[am];if(an===D){return X}if(ap[am]!=an){return X}delete ao[am]}}for(am in ao){if(ao.hasOwnProperty(am)){return X}}return C}if(!al(ai(ak),ai(aj))){return X}if(!al(c.parseStyle(c.getAttrib(ak,"style")),c.parseStyle(c.getAttrib(aj,"style")))){return X}return C}function ag(aj,ai){for(ad=aj;ad;ad=ad[ai]){if(ad.nodeType==3&&ad.nodeValue.length!==0){return aj}if(ad.nodeType==1&&!K(ad)){return ad}}return aj}if(af&&ae){af=ag(af,"previousSibling");ae=ag(ae,"nextSibling");if(ah(af,ae)){for(ad=af.nextSibling;ad&&ad!=ae;){ac=ad;ad=ad.nextSibling;af.appendChild(ac)}c.remove(ae);T(a.grep(ae.childNodes),function(ai){af.appendChild(ai)});return af}}return ae}function M(ac,ag){var ab,af,ad,ae;ab=ac[ag?"startContainer":"endContainer"];af=ac[ag?"startOffset":"endOffset"];if(ab.nodeType==1){ad=ab.childNodes.length-1;if(!ag&&af){af--}ab=ab.childNodes[af>ad?ad:af]}if(ab.nodeType===3&&ag&&af>=ab.nodeValue.length){ab=new t(ab,aa.getBody()).next()||ab}if(ab.nodeType===3&&!ag&&af===0){ab=new t(ab,aa.getBody()).prev()||ab}return ab}function U(ak,ab,ai){var al="_mce_caret",ac=aa.settings.caret_debug;function ad(ap){var ao=c.create("span",{id:al,"data-mce-bogus":true,style:ac?"color:red":""});if(ap){ao.appendChild(aa.getDoc().createTextNode(G))}return ao}function aj(ap,ao){while(ap){if((ap.nodeType===3&&ap.nodeValue!==G)||ap.childNodes.length>1){return false}if(ao&&ap.nodeType===1){ao.push(ap)}ap=ap.firstChild}return true}function ag(ao){while(ao){if(ao.id===al){return ao}ao=ao.parentNode}}function af(ao){var ap;if(ao){ap=new t(ao,ao);for(ao=ap.current();ao;ao=ap.next()){if(ao.nodeType===3){return ao}}}}function ae(aq,ap){var ar,ao;if(!aq){aq=ag(r.getStart());if(!aq){while(aq=c.get(al)){ae(aq,false)}}}else{ao=r.getRng(true);if(aj(aq)){if(ap!==false){ao.setStartBefore(aq);ao.setEndBefore(aq)}c.remove(aq)}else{ar=af(aq);if(ar.nodeValue.charAt(0)===G){ar=ar.deleteData(0,1)}c.remove(aq,1)}r.setRng(ao)}}function ah(){var aq,ao,av,au,ar,ap,at;aq=r.getRng(true);au=aq.startOffset;ap=aq.startContainer;at=ap.nodeValue;ao=ag(r.getStart());if(ao){av=af(ao)}if(at&&au>0&&au<at.length&&/\w/.test(at.charAt(au))&&/\w/.test(at.charAt(au-1))){ar=r.getBookmark();aq.collapse(true);aq=p(aq,V(ab));aq=N.split(aq);Y(ab,ai,aq);r.moveToBookmark(ar)}else{if(!ao||av.nodeValue!==G){ao=ad(true);av=ao.firstChild;aq.insertNode(ao);au=1;Y(ab,ai,ao)}else{Y(ab,ai,ao)}r.setCursorLocation(av,au)}}function am(){var ao=r.getRng(true),ap,at,aw,av,aq,az,ay=[],au,ax;ap=ao.startContainer;at=ao.startOffset;aq=ap;if(ap.nodeType==3){if(at!=ap.nodeValue.length||ap.nodeValue===G){av=true}aq=aq.parentNode}while(aq){if(y(aq,ab,ai)){az=aq;break}if(aq.nextSibling){av=true}ay.push(aq);aq=aq.parentNode}if(!az){return}if(av){aw=r.getBookmark();ao.collapse(true);ao=p(ao,V(ab),true);ao=N.split(ao);B(ab,ai,ao);r.moveToBookmark(aw)}else{ax=ad();aq=ax;for(au=ay.length-1;au>=0;au--){aq.appendChild(c.clone(ay[au],false));aq=aq.firstChild}aq.appendChild(c.doc.createTextNode(G));aq=aq.firstChild;var ar=c.getParent(az,I);if(ar&&c.isEmpty(ar)){az.parentNode.replaceChild(ax,az)}else{c.insertAfter(ax,az)}r.setCursorLocation(aq,1);if(c.isEmpty(az)){c.remove(az)}}}function an(){var ap,ao,aq;ao=ag(r.getStart());if(ao&&!c.isEmpty(ao)){a.walk(ao,function(ar){if(ar.nodeType==1&&ar.id!==al&&!c.isEmpty(ar)){c.setAttrib(ar,"data-mce-bogus",null)}},"childNodes")}}if(!self._hasCaretEvents){aa.onBeforeGetContent.addToTop(function(){var ao=[],ap;if(aj(ag(r.getStart()),ao)){ap=ao.length;while(ap--){c.setAttrib(ao[ap],"data-mce-bogus","1")}}});a.each("onMouseUp onKeyUp".split(" "),function(ao){aa[ao].addToTop(function(){ae();an()})});aa.onKeyDown.addToTop(function(ao,aq){var ap=aq.keyCode;if(ap==8||ap==37||ap==39){ae(ag(r.getStart()))}an()});r.onSetContent.add(an);self._hasCaretEvents=true}if(ak=="apply"){ah()}else{am()}}function R(ac){var ab=ac.startContainer,ai=ac.startOffset,ae,ah,ag,ad,af;if(ab.nodeType==3&&ai>=ab.nodeValue.length){ai=s(ab);ab=ab.parentNode;ae=true}if(ab.nodeType==1){ad=ab.childNodes;ab=ad[Math.min(ai,ad.length-1)];ah=new t(ab,c.getParent(ab,c.isBlock));if(ai>ad.length-1||ae){ah.next()}for(ag=ah.current();ag;ag=ah.next()){if(ag.nodeType==3&&!f(ag)){af=c.create("a",null,G);ag.parentNode.insertBefore(af,ag);ac.setStart(ag,0);r.setRng(ac);c.remove(af);return}}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}if(c.inline_styles){h=e.explode(c.font_size_legacy_values);d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size,10)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}});(function(b){var a=b.dom.TreeWalker;b.EnterKey=function(f){var i=f.dom,e=f.selection,d=f.settings,h=f.undoManager,c=f.schema.getNonEmptyElements();function g(B){var v=e.getRng(true),G,j,A,u,p,M,C,o,k,n,t,J,x,D;function E(N){return N&&i.isBlock(N)&&!/^(TD|TH|CAPTION|FORM)$/.test(N.nodeName)&&!/^(fixed|absolute)/i.test(N.style.position)&&i.getContentEditable(N)!=="true"}function F(O){var N;if(b.isIE&&!b.isIE11&&i.isBlock(O)){N=e.getRng();O.appendChild(i.create("span",null,"\u00a0"));e.select(O);O.lastChild.outerHTML="";e.setRng(N)}}function z(P){var O=P,Q=[],N;while(O=O.firstChild){if(i.isBlock(O)){return}if(O.nodeType==1&&!c[O.nodeName.toLowerCase()]){Q.push(O)}}N=Q.length;while(N--){O=Q[N];if(!O.hasChildNodes()||(O.firstChild==O.lastChild&&O.firstChild.nodeValue==="")){i.remove(O)}else{if(O.nodeName=="A"&&(O.innerText||O.textContent)===" "){i.remove(O)}}}}function m(O){var T,R,N,U,S,Q=O,P;N=i.createRng();if(O.hasChildNodes()){T=new a(O,O);while(R=T.current()){if(R.nodeType==3){N.setStart(R,0);N.setEnd(R,0);break}if(c[R.nodeName.toLowerCase()]){N.setStartBefore(R);N.setEndBefore(R);break}Q=R;R=T.next()}if(!R){N.setStart(Q,0);N.setEnd(Q,0)}}else{if(O.nodeName=="BR"){if(O.nextSibling&&i.isBlock(O.nextSibling)){if(!M||M<9){P=i.create("br");O.parentNode.insertBefore(P,O)}N.setStartBefore(O);N.setEndBefore(O)}else{N.setStartAfter(O);N.setEndAfter(O)}}else{N.setStart(O,0);N.setEnd(O,0)}}e.setRng(N);i.remove(P);S=i.getViewPort(f.getWin());U=i.getPos(O).y;if(U<S.y||U+25>S.y+S.h){f.getWin().scrollTo(0,U<S.y?U:U-S.h+25)}}function r(O){var P=A,R,Q,N;R=O||t=="TABLE"?i.create(O||x):p.cloneNode(false);N=R;if(d.keep_styles!==false){do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(P.nodeName)){if(P.id=="_mce_caret"){continue}Q=P.cloneNode(false);i.setAttrib(Q,"id","");if(R.hasChildNodes()){Q.appendChild(R.firstChild);R.appendChild(Q)}else{N=Q;R.appendChild(Q)}}}while(P=P.parentNode)}if(!b.isIE||b.isIE11){N.innerHTML='<br data-mce-bogus="1">'}return R}function q(Q){var P,O,N;if(A.nodeType==3&&(Q?u>0:u<A.nodeValue.length)){return false}if(A.parentNode==p&&D&&!Q){return true}if(Q&&A.nodeType==1&&A==p.firstChild){return true}if(A.nodeName==="TABLE"||(A.previousSibling&&A.previousSibling.nodeName=="TABLE")){return(D&&!Q)||(!D&&Q)}P=new a(A,p);if(A.nodeType==3){if(Q&&u==0){P.prev()}else{if(!Q&&u==A.nodeValue.length){P.next()}}}while(O=P.current()){if(O.nodeType===1){if(!O.getAttribute("data-mce-bogus")){N=O.nodeName.toLowerCase();if(c[N]&&N!=="br"){return false}}}else{if(O.nodeType===3&&!/^[ \t\r\n]*$/.test(O.nodeValue)){return false}}if(Q){P.prev()}else{P.next()}}return true}function l(N,T){var U,S,P,R,Q,O=x||"P";S=i.getParent(N,i.isBlock);if(!S||!E(S)){S=S||j;if(!S.hasChildNodes()){U=i.create(O);S.appendChild(U);v.setStart(U,0);v.setEnd(U,0);return U}R=N;while(R.parentNode!=S){R=R.parentNode}while(R&&!i.isBlock(R)){P=R;R=R.previousSibling}if(P){U=i.create(O);P.parentNode.insertBefore(U,P);R=P;while(R&&!i.isBlock(R)){Q=R.nextSibling;U.appendChild(R);R=Q}v.setStart(N,T);v.setEnd(N,T)}}return N}function H(){function N(P){var O=n[P?"firstChild":"lastChild"];while(O){if(O.nodeType==1){break}O=O[P?"nextSibling":"previousSibling"]}return O===p}o=x?r(x):i.create("BR");if(N(true)&&N()){i.replace(o,n)}else{if(N(true)){n.parentNode.insertBefore(o,n)}else{if(N()){i.insertAfter(o,n);F(o)}else{G=v.cloneRange();G.setStartAfter(p);G.setEndAfter(n);k=G.extractContents();i.insertAfter(k,n);i.insertAfter(o,n)}}}i.remove(p);m(o);h.add()}function y(){var O=new a(A,p),N;while(N=O.next()){if(c[N.nodeName.toLowerCase()]||N.length>0){return true}}}function L(){var P,O,N;if(A&&A.nodeType==3&&u>=A.nodeValue.length){if((!b.isIE||b.isIE11)&&!y()){P=i.create("br");v.insertNode(P);v.setStartAfter(P);v.setEndAfter(P);O=true}}P=i.create("br");v.insertNode(P);if((b.isIE&&!b.isIE11)&&t=="PRE"&&(!M||M<8)){P.parentNode.insertBefore(i.doc.createTextNode("\r"),P)}N=i.create("span",{},"&nbsp;");P.parentNode.insertBefore(N,P);e.scrollIntoView(N);i.remove(N);if(!O){v.setStartAfter(P);v.setEndAfter(P)}else{v.setStartBefore(P);v.setEndBefore(P)}e.setRng(v);h.add()}function s(N){do{if(N.nodeType===3){N.nodeValue=N.nodeValue.replace(/^[\r\n]+/,"")}N=N.firstChild}while(N)}function K(P){var N=i.getRoot(),O,Q;O=P;while(O!==N&&i.getContentEditable(O)!=="false"){if(i.getContentEditable(O)==="true"){Q=O}O=O.parentNode}return O!==N?Q:N}function I(O){var N;if(!b.isIE||b.isIE11){O.normalize();N=O.lastChild;if(!N||(/^(left|right)$/gi.test(i.getStyle(N,"float",true)))){i.add(O,"br")}}}if(!v.collapsed){f.execCommand("Delete");return}if(B.isDefaultPrevented()){return}A=v.startContainer;u=v.startOffset;x=(d.force_p_newlines?"p":"")||d.forced_root_block;x=x?x.toUpperCase():"";M=i.doc.documentMode;C=B.shiftKey;if(A.nodeType==1&&A.hasChildNodes()){D=u>A.childNodes.length-1;A=A.childNodes[Math.min(u,A.childNodes.length-1)]||A;if(D&&A.nodeType==3){u=A.nodeValue.length}else{u=0}}j=K(A);if(!j){return}h.beforeChange();if(!i.isBlock(j)&&j!=i.getRoot()){if(!x||C){L()}return}if((x&&!C)||(!x&&C)){A=l(A,u)}p=i.getParent(A,i.isBlock);n=p?i.getParent(p.parentNode,i.isBlock):null;t=p?p.nodeName.toUpperCase():"";J=n?n.nodeName.toUpperCase():"";if(J=="LI"&&!B.ctrlKey){p=n;t=J}if(t=="LI"){if(!x&&C){L();return}if(i.isEmpty(p)){if(/^(UL|OL|LI)$/.test(n.parentNode.nodeName)){return false}H();return}}if(t=="PRE"&&d.br_in_pre!==false){if(!C){L();return}}else{if((!x&&!C&&t!="LI")||(x&&C)){L();return}}x=x||"P";if(q()){if(/^(H[1-6]|PRE)$/.test(t)&&J!="HGROUP"){o=r(x)}else{o=r()}if(d.end_container_on_empty_block&&E(n)&&i.isEmpty(p)){o=i.split(n,p)}else{i.insertAfter(o,p)}m(o)}else{if(q(true)){o=p.parentNode.insertBefore(r(),p);F(o)}else{G=v.cloneRange();G.setEndAfter(p);k=G.extractContents();s(k);o=k.firstChild;i.insertAfter(k,p);z(o);I(p);m(o)}}i.setAttrib(o,"id","");h.add()}f.onKeyDown.add(function(k,j){if(j.keyCode==13){if(g(j)!==false){j.preventDefault()}}})}})(tinymce);
\ No newline at end of file
index bb8e58c88a6b86169d25a1b15ea6be5a8031d6f0..0808f8f9b23fe2497c23d051047dd8271f11302b 100644 (file)
@@ -2,4 +2,4 @@
 // Uncomment and change this document.domain value if you are loading the script cross subdomains
 // document.domain = 'moxiecode.com';
 
 // Uncomment and change this document.domain value if you are loading the script cross subdomains
 // document.domain = 'moxiecode.com';
 
-var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document,{ownEvents:true,proxy:tinyMCEPopup._eventProxy});b.dom.bind(window,"ready",b._onDOMLoaded,b);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(){var a=window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}if(!b.editor.getParam("browser_preferred_colors",false)||!b.isWindow){b.dom.addClass(document.body,"forceColors")}document.body.style.display="";if(tinymce.isIE){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}b.restoreSelection();b.resizeToInnerSize();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){b.dom.bind(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){var b=a.target||a.srcElement;if(b.onchange){b.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_eventProxy:function(a){return function(b){tinyMCEPopup.dom.events.callNativeHandler(a,b)}}};tinyMCEPopup.init();
\ No newline at end of file
+var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document,{ownEvents:true,proxy:tinyMCEPopup._eventProxy});b.dom.bind(window,"ready",b._onDOMLoaded,b);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(a){var a=(a&&a.target)||window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}if(!b.editor.getParam("browser_preferred_colors",false)||!b.isWindow){b.dom.addClass(document.body,"forceColors")}document.body.style.display="";if(tinymce.isIE&&!tinymce.isIE11){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}else{if(tinymce.isIE11){document.addEventListener("mouseup",tinyMCEPopup._restoreSelection,false)}}b.restoreSelection();b.resizeToInnerSize();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){b.dom.bind(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){var b=a.target||a.srcElement;if(b.onchange){b.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_eventProxy:function(a){return function(b){tinyMCEPopup.dom.events.callNativeHandler(a,b)}}};tinyMCEPopup.init();
\ No newline at end of file
index 88c728b447df7982562a6a137320559993cc79f5..befcf9473ea0552f3ebecdf74bae15f72069dc86 100644 (file)
@@ -6,7 +6,7 @@
  */
 
 /** @ignore */
  */
 
 /** @ignore */
-require_once('../../../wp-load.php');
+require_once( dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/wp-load.php' );
 header('Content-Type: text/html; charset=' . get_bloginfo('charset'));
 ?>
 <!DOCTYPE html>
 header('Content-Type: text/html; charset=' . get_bloginfo('charset'));
 ?>
 <!DOCTYPE html>
index 453b8da66a6173251984be2c14b78e386188ca7a..99cab128c1e40034fcb6e0fb25dd89e3c75c442c 100644 (file)
Binary files a/wp-includes/js/tinymce/wp-tinymce.js.gz and b/wp-includes/js/tinymce/wp-tinymce.js.gz differ
index d1b5561e5050e027c04b35afe577df84bd6ca434..abebe3999ae949a199d666611445fbd4e5802f05 100644 (file)
@@ -1 +1 @@
-function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2)};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){}};this.reset=function(){this.resetFunctions();this.resetData()};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(e2){this.xmlhttp=null}}if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest()}else{this.failed=true}}};this.setVar=function(name,value){this.vars[name]=Array(value,false)};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value))}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true)}};this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1])}else{this.setVar(urlVars[0],urlVars[1])}}};this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true)}if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring}else{this.URLString=urlstring}}this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0]}urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0]}if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator)}else{this.URLString+=urlstringtemp.join(this.argumentSeparator)}};this.runResponse=function(){eval(this.response)};this.runAJAX=function(urlstring){if(this.failed){this.onFail()}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element)}if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true)}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse()}if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response}else{self.elementObj.innerHTML=self.response}}if(self.responseStatus[0]=="200"){self.onCompletion()}else{self.onError()}self.URLString="";break}};this.xmlhttp.send(this.URLString)}}};this.reset();this.createAJAX()};
\ No newline at end of file
+function sack(file){this.xmlhttp=null,this.resetData=function(){this.method="POST",this.queryStringSeparator="?",this.argumentSeparator="&",this.URLString="",this.encodeURIString=!0,this.execute=!1,this.element=null,this.elementObj=null,this.requestFile=file,this.vars=new Object,this.responseStatus=new Array(2)},this.resetFunctions=function(){this.onLoading=function(){},this.onLoaded=function(){},this.onInteractive=function(){},this.onCompletion=function(){},this.onError=function(){},this.onFail=function(){}},this.reset=function(){this.resetFunctions(),this.resetData()},this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(a){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){this.xmlhttp=null}}this.xmlhttp||("undefined"!=typeof XMLHttpRequest?this.xmlhttp=new XMLHttpRequest:this.failed=!0)},this.setVar=function(a,b){this.vars[a]=Array(b,!1)},this.encVar=function(a,b,c){return 1==c?Array(encodeURIComponent(a),encodeURIComponent(b)):(this.vars[encodeURIComponent(a)]=Array(encodeURIComponent(b),!0),void 0)},this.processURLString=function(a,b){for(encoded=encodeURIComponent(this.argumentSeparator),regexp=new RegExp(this.argumentSeparator+"|"+encoded),varArray=a.split(regexp),i=0;i<varArray.length;i++)urlVars=varArray[i].split("="),1==b?this.encVar(urlVars[0],urlVars[1]):this.setVar(urlVars[0],urlVars[1])},this.createURLString=function(a){this.encodeURIString&&this.URLString.length&&this.processURLString(this.URLString,!0),a&&(this.URLString.length?this.URLString+=this.argumentSeparator+a:this.URLString=a),this.setVar("rndval",(new Date).getTime()),urlstringtemp=new Array;for(key in this.vars)0==this.vars[key][1]&&1==this.encodeURIString&&(encoded=this.encVar(key,this.vars[key][0],!0),delete this.vars[key],this.vars[encoded[0]]=Array(encoded[1],!0),key=encoded[0]),urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];this.URLString+=a?this.argumentSeparator+urlstringtemp.join(this.argumentSeparator):urlstringtemp.join(this.argumentSeparator)},this.runResponse=function(){eval(this.response)},this.runAJAX=function(a){if(this.failed)this.onFail();else if(this.createURLString(a),this.element&&(this.elementObj=document.getElementById(this.element)),this.xmlhttp){var b=this;if("GET"==this.method)totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString,this.xmlhttp.open(this.method,totalurlstring,!0);else{this.xmlhttp.open(this.method,this.requestFile,!0);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(c){}}this.xmlhttp.onreadystatechange=function(){switch(b.xmlhttp.readyState){case 1:b.onLoading();break;case 2:b.onLoaded();break;case 3:b.onInteractive();break;case 4:b.response=b.xmlhttp.responseText,b.responseXML=b.xmlhttp.responseXML,b.responseStatus[0]=b.xmlhttp.status,b.responseStatus[1]=b.xmlhttp.statusText,b.execute&&b.runResponse(),b.elementObj&&(elemNodeName=b.elementObj.nodeName,elemNodeName.toLowerCase(),"input"==elemNodeName||"select"==elemNodeName||"option"==elemNodeName||"textarea"==elemNodeName?b.elementObj.value=b.response:b.elementObj.innerHTML=b.response),"200"==b.responseStatus[0]?b.onCompletion():b.onError(),b.URLString=""}},this.xmlhttp.send(this.URLString)}},this.reset(),this.createAJAX()}
\ No newline at end of file
index 941ac2ef6f80d3363ba9f3e2c7474094c0998631..b41ef8404589cfe96b91ef4c200bcb09e2dd80b4 100644 (file)
@@ -1 +1 @@
-var wpCookies={each:function(d,a,c){var e,b;if(!d){return 0}c=c||d;if(typeof(d.length)!="undefined"){for(e=0,b=d.length;e<b;e++){if(a.call(c,d[e],e,d)===false){return 0}}}else{for(e in d){if(d.hasOwnProperty(e)){if(a.call(c,d[e],e,d)===false){return 0}}}}return 1},getHash:function(b){var c=this.get(b),a;if(c){this.each(c.split("&"),function(d){d=d.split("=");a=a||{};a[d[0]]=d[1]})}return a},setHash:function(b,c,a,f,d,e){var g="";this.each(c,function(i,h){g+=(!g?"":"&")+h+"="+i});this.set(b,g,a,f,d,e)},get:function(c){var d=document.cookie,g,f=c+"=",a;if(!d){return}a=d.indexOf("; "+f);if(a==-1){a=d.indexOf(f);if(a!=0){return null}}else{a+=2}g=d.indexOf(";",a);if(g==-1){g=d.length}return decodeURIComponent(d.substring(a+f.length,g))},set:function(b,e,a,g,c,f){var h=new Date();if(typeof(a)=="object"&&a.toGMTString){a=a.toGMTString()}else{if(parseInt(a,10)){h.setTime(h.getTime()+(parseInt(a,10)*1000));a=h.toGMTString()}else{a=""}}document.cookie=b+"="+encodeURIComponent(e)+((a)?"; expires="+a:"")+((g)?"; path="+g:"")+((c)?"; domain="+c:"")+((f)?"; secure":"")},remove:function(a,b){this.set(a,"",-1000,b)}};function getUserSetting(a,b){var c=getAllUserSettings();if(c.hasOwnProperty(a)){return c[a]}if(typeof b!="undefined"){return b}return""}function setUserSetting(c,f,b){if("object"!==typeof userSettings){return false}var d="wp-settings-"+userSettings.uid,e=wpCookies.getHash(d)||{},g=userSettings.url,h=c.toString().replace(/[^A-Za-z0-9_]/,""),a=f.toString().replace(/[^A-Za-z0-9_]/,"");if(b){delete e[h]}else{e[h]=a}wpCookies.setHash(d,e,31536000,g);wpCookies.set("wp-settings-time-"+userSettings.uid,userSettings.time,31536000,g);return c}function deleteUserSetting(a){return setUserSetting(a,"",1)}function getAllUserSettings(){if("object"!==typeof userSettings){return{}}return wpCookies.getHash("wp-settings-"+userSettings.uid)||{}};
\ 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="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
index bdfa53ab06cde95349f1c20d1b5abb8576ca6235..c4648cc04747cda00bf97b50fecc7b67c8526956 100644 (file)
@@ -1 +1 @@
-var wpAjax=jQuery.extend({unserialize:function(c){var d={},e,a,b,f;if(!c){return d}e=c.split("?");if(e[1]){c=e[1]}a=c.split("&");for(b in a){if(jQuery.isFunction(a.hasOwnProperty)&&!a.hasOwnProperty(b)){continue}f=a[b].split("=");d[f[0]]=f[1]}return d},parseAjaxResponse:function(a,f,g){var b={},c=jQuery("#"+f).html(""),d="";if(a&&typeof a=="object"&&a.getElementsByTagName("wp_ajax")){b.responses=[];b.errors=false;jQuery("response",a).each(function(){var h=jQuery(this),i=jQuery(this.firstChild),e;e={action:h.attr("action"),what:i.get(0).nodeName,id:i.attr("id"),oldId:i.attr("old_id"),position:i.attr("position")};e.data=jQuery("response_data",i).text();e.supplemental={};if(!jQuery("supplemental",i).children().each(function(){e.supplemental[this.nodeName]=jQuery(this).text()}).size()){e.supplemental=false}e.errors=[];if(!jQuery("wp_error",i).each(function(){var j=jQuery(this).attr("code"),m,l,k;m={code:j,message:this.firstChild.nodeValue,data:false};l=jQuery('wp_error_data[code="'+j+'"]',a);if(l){m.data=l.get()}k=jQuery("form-field",l).text();if(k){j=k}if(g){wpAjax.invalidateForm(jQuery("#"+g+' :input[name="'+j+'"]').parents(".form-field:first"))}d+="<p>"+m.message+"</p>";e.errors.push(m);b.errors=true}).size()){e.errors=false}b.responses.push(e)});if(d.length){c.html('<div class="error">'+d+"</div>")}return b}if(isNaN(a)){return !c.html('<div class="error"><p>'+a+"</p></div>")}a=parseInt(a,10);if(-1==a){return !c.html('<div class="error"><p>'+wpAjax.noPerm+"</p></div>")}else{if(0===a){return !c.html('<div class="error"><p>'+wpAjax.broken+"</p></div>")}}return true},invalidateForm:function(a){return jQuery(a).addClass("form-invalid").find("input:visible").change(function(){jQuery(this).closest(".form-invalid").removeClass("form-invalid")})},validateForm:function(a){a=jQuery(a);return !wpAjax.invalidateForm(a.find(".form-required").filter(function(){return jQuery("input:visible",this).val()==""})).size()}},wpAjax||{noPerm:"You do not have permission to do that.",broken:"An unidentified error has occurred."});jQuery(document).ready(function(a){a("form.validate").submit(function(){return wpAjax.validateForm(a(this))})});
\ No newline at end of file
+var wpAjax=jQuery.extend({unserialize:function(a){var b,c,d,e,f={};if(!a)return f;b=a.split("?"),b[1]&&(a=b[1]),c=a.split("&");for(d in c)(!jQuery.isFunction(c.hasOwnProperty)||c.hasOwnProperty(d))&&(e=c[d].split("="),f[e[0]]=e[1]);return f},parseAjaxResponse:function(a,b,c){var d={},e=jQuery("#"+b).html(""),f="";return a&&"object"==typeof a&&a.getElementsByTagName("wp_ajax")?(d.responses=[],d.errors=!1,jQuery("response",a).each(function(){var b,e=jQuery(this),g=jQuery(this.firstChild);b={action:e.attr("action"),what:g.get(0).nodeName,id:g.attr("id"),oldId:g.attr("old_id"),position:g.attr("position")},b.data=jQuery("response_data",g).text(),b.supplemental={},jQuery("supplemental",g).children().each(function(){b.supplemental[this.nodeName]=jQuery(this).text()}).size()||(b.supplemental=!1),b.errors=[],jQuery("wp_error",g).each(function(){var e,g,h,i=jQuery(this).attr("code");e={code:i,message:this.firstChild.nodeValue,data:!1},g=jQuery('wp_error_data[code="'+i+'"]',a),g&&(e.data=g.get()),h=jQuery("form-field",g).text(),h&&(i=h),c&&wpAjax.invalidateForm(jQuery("#"+c+' :input[name="'+i+'"]').parents(".form-field:first")),f+="<p>"+e.message+"</p>",b.errors.push(e),d.errors=!0}).size()||(b.errors=!1),d.responses.push(b)}),f.length&&e.html('<div class="error">'+f+"</div>"),d):isNaN(a)?!e.html('<div class="error"><p>'+a+"</p></div>"):(a=parseInt(a,10),-1==a?!e.html('<div class="error"><p>'+wpAjax.noPerm+"</p></div>"):0===a?!e.html('<div class="error"><p>'+wpAjax.broken+"</p></div>"):!0)},invalidateForm:function(a){return jQuery(a).addClass("form-invalid").find("input:visible").change(function(){jQuery(this).closest(".form-invalid").removeClass("form-invalid")})},validateForm:function(a){return a=jQuery(a),!wpAjax.invalidateForm(a.find(".form-required").filter(function(){return""==jQuery("input:visible",this).val()})).size()}},wpAjax||{noPerm:"You do not have permission to do that.",broken:"An unidentified error has occurred."});jQuery(document).ready(function(a){a("form.validate").submit(function(){return wpAjax.validateForm(a(this))})});
\ No newline at end of file
index 0bdbb3f9a95ed9cc619b69a27b18fb027349e26d..99aebd4b9872ac969f10d4202445a9be23af1933 100644 (file)
@@ -1 +1 @@
-(function(f){var e,b,d;function a(){var j=f("#wp-auth-check"),k=f("#wp-auth-check-form"),h=e.find(".wp-auth-fallback-expired"),l,i=false;if(k.length){f(window).on("beforeunload.wp-auth-check",function(m){m.originalEvent.returnValue=window.authcheckL10n.beforeunload});l=f('<iframe id="wp-auth-check-frame" frameborder="0">').attr("title",h.text());l.load(function(o){var n,m;i=true;try{m=f(this).contents().find("body");n=m.height()}catch(o){e.addClass("fallback");j.css("max-height","");k.remove();h.focus();return}if(n){if(m&&m.hasClass("interim-login-success")){c()}else{j.css("max-height",n+40+"px")}}else{if(!m||!m.length){e.addClass("fallback");j.css("max-height","");k.remove();h.focus()}}}).attr("src",k.data("src"));f("#wp-auth-check-form").append(l)}e.removeClass("hidden");if(l){l.focus();setTimeout(function(){if(!i){e.addClass("fallback");k.remove();h.focus()}},10000)}else{h.focus()}}function c(){f(window).off("beforeunload.wp-auth-check");if(typeof adminpage!="undefined"&&(adminpage=="post-php"||adminpage=="post-new-php")&&typeof wp!="undefined"&&wp.heartbeat){wp.heartbeat.interval("fast",1)}e.fadeOut(200,function(){e.addClass("hidden").css("display","");f("#wp-auth-check-frame").remove()})}function g(){var h=parseInt(window.authcheckL10n.interval,10)||180;d=(new Date()).getTime()+(h*1000)}f(document).on("heartbeat-tick.wp-auth-check",function(i,h){if("wp-auth-check" in h){g();if(!h["wp-auth-check"]&&e.hasClass("hidden")){a()}else{if(h["wp-auth-check"]&&!e.hasClass("hidden")){c()}}}}).on("heartbeat-send.wp-auth-check",function(i,h){if((new Date()).getTime()>d){h["wp-auth-check"]=true}}).ready(function(){g();e=f("#wp-auth-check-wrap");e.find(".wp-auth-check-close").on("click",function(h){c()})})}(jQuery));
\ No newline at end of file
+!function(a){function b(){var b,d=a("#wp-auth-check"),f=a("#wp-auth-check-form"),g=e.find(".wp-auth-fallback-expired"),h=!1;f.length&&(a(window).on("beforeunload.wp-auth-check",function(a){a.originalEvent.returnValue=window.authcheckL10n.beforeunload}),b=a('<iframe id="wp-auth-check-frame" frameborder="0">').attr("title",g.text()),b.load(function(){var b,i;h=!0;try{i=a(this).contents().find("body"),b=i.height()}catch(j){return e.addClass("fallback"),d.css("max-height",""),f.remove(),g.focus(),void 0}b?i&&i.hasClass("interim-login-success")?c():d.css("max-height",b+40+"px"):i&&i.length||(e.addClass("fallback"),d.css("max-height",""),f.remove(),g.focus())}).attr("src",f.data("src")),a("#wp-auth-check-form").append(b)),e.removeClass("hidden"),b?(b.focus(),setTimeout(function(){h||(e.addClass("fallback"),f.remove(),g.focus())},1e4)):g.focus()}function c(){a(window).off("beforeunload.wp-auth-check"),"undefined"==typeof adminpage||"post-php"!=adminpage&&"post-new-php"!=adminpage||"undefined"==typeof wp||!wp.heartbeat||wp.heartbeat.interval("fast",1),e.fadeOut(200,function(){e.addClass("hidden").css("display",""),a("#wp-auth-check-frame").remove()})}function d(){var a=parseInt(window.authcheckL10n.interval,10)||180;f=(new Date).getTime()+1e3*a}var e,f;a(document).on("heartbeat-tick.wp-auth-check",function(a,f){"wp-auth-check"in f&&(d(),!f["wp-auth-check"]&&e.hasClass("hidden")?b():f["wp-auth-check"]&&!e.hasClass("hidden")&&c())}).on("heartbeat-send.wp-auth-check",function(a,b){(new Date).getTime()>f&&(b["wp-auth-check"]=!0)}).ready(function(){d(),e=a("#wp-auth-check-wrap"),e.find(".wp-auth-check-close").on("click",function(){c()})})}(jQuery);
\ No newline at end of file
index a96dac9ed43f770bb6ae7cc43bf39db43cdcad04..6f21210da56ca8d2695b026e611ca0ad40f527be 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(a){wp.Backbone={};wp.Backbone.Subviews=function(c,b){this.view=c;this._views=_.isArray(b)?{"":b}:b||{}};wp.Backbone.Subviews.extend=Backbone.Model.extend;_.extend(wp.Backbone.Subviews.prototype,{all:function(){return _.flatten(this._views)},get:function(b){b=b||"";return this._views[b]},first:function(b){var c=this.get(b);return c&&c.length?c[0]:null},set:function(b,c,d){var f,e;if(!_.isString(b)){d=c;c=b;b=""}d=d||{};c=_.isArray(c)?c:[c];f=this.get(b);e=c;if(f){if(d.add){if(_.isUndefined(d.at)){e=f.concat(c)}else{e=f;e.splice.apply(e,[d.at,0].concat(c))}}else{_.each(e,function(g){g.__detach=true});_.each(f,function(g){if(g.__detach){g.$el.detach()}else{g.remove()}});_.each(e,function(g){delete g.__detach})}}this._views[b]=e;_.each(c,function(i){var g=i.Views||wp.Backbone.Subviews,h=i.views=i.views||new g(i);h.parent=this.view;h.selector=b},this);if(!d.silent){this._attach(b,c,_.extend({ready:this._isReady()},d))}return this},add:function(b,c,d){if(!_.isString(b)){d=c;c=b;b=""}return this.set(b,c,_.extend({add:true},d))},unset:function(b,c,d){var e;if(!_.isString(b)){d=c;c=b;b=""}c=c||[];if(e=this.get(b)){c=_.isArray(c)?c:[c];this._views[b]=c.length?_.difference(e,c):[]}if(!d||!d.silent){_.invoke(c,"remove")}return this},detach:function(){a(_.pluck(this.all(),"el")).detach();return this},render:function(){var b={ready:this._isReady()};_.each(this._views,function(d,c){this._attach(c,d,b)},this);this.rendered=true;return this},remove:function(b){if(!b||!b.silent){if(this.parent&&this.parent.views){this.parent.views.unset(this.selector,this.view,{silent:true})}delete this.parent;delete this.selector}_.invoke(this.all(),"remove");this._views=[];return this},replace:function(b,c){b.html(c);return this},insert:function(c,f,e){var b=e&&e.at,d;if(_.isNumber(b)&&(d=c.children()).length>b){d.eq(b).before(f)}else{c.append(f)}return this},ready:function(){this.view.trigger("ready");_.chain(this.all()).map(function(b){return b.views}).flatten().where({attached:true}).invoke("ready")},_attach:function(b,c,d){var f=b?this.view.$(b):this.view.$el,e;if(!f.length){return this}e=_.chain(c).pluck("views").flatten().value();_.each(e,function(g){if(g.rendered){return}g.view.render();g.rendered=true},this);this[d.add?"insert":"replace"](f,_.pluck(c,"el"),d);_.each(e,function(g){g.attached=true;if(d.ready){g.ready()}},this);return this},_isReady:function(){var b=this.view.el;while(b){if(b===document.body){return true}b=b.parentNode}return false}});wp.Backbone.View=Backbone.View.extend({Subviews:wp.Backbone.Subviews,constructor:function(){this.views=new this.Subviews(this,this.views);this.on("ready",this.ready,this);Backbone.View.apply(this,arguments)},remove:function(){var b=Backbone.View.prototype.remove.apply(this,arguments);if(this.views){this.views.remove()}return b},render:function(){var b;if(this.prepare){b=this.prepare()}this.views.detach();if(this.template){b=b||{};this.trigger("prepare",b);this.$el.html(this.template(b))}this.views.render();return this},prepare:function(){return this.options},ready:function(){}})}(jQuery));
\ No newline at end of file
+window.wp=window.wp||{},function(a){wp.Backbone={},wp.Backbone.Subviews=function(a,b){this.view=a,this._views=_.isArray(b)?{"":b}:b||{}},wp.Backbone.Subviews.extend=Backbone.Model.extend,_.extend(wp.Backbone.Subviews.prototype,{all:function(){return _.flatten(this._views)},get:function(a){return a=a||"",this._views[a]},first:function(a){var b=this.get(a);return b&&b.length?b[0]:null},set:function(a,b,c){var d,e;return _.isString(a)||(c=b,b=a,a=""),c=c||{},b=_.isArray(b)?b:[b],d=this.get(a),e=b,d&&(c.add?_.isUndefined(c.at)?e=d.concat(b):(e=d,e.splice.apply(e,[c.at,0].concat(b))):(_.each(e,function(a){a.__detach=!0}),_.each(d,function(a){a.__detach?a.$el.detach():a.remove()}),_.each(e,function(a){delete a.__detach}))),this._views[a]=e,_.each(b,function(b){var c=b.Views||wp.Backbone.Subviews,d=b.views=b.views||new c(b);d.parent=this.view,d.selector=a},this),c.silent||this._attach(a,b,_.extend({ready:this._isReady()},c)),this},add:function(a,b,c){return _.isString(a)||(c=b,b=a,a=""),this.set(a,b,_.extend({add:!0},c))},unset:function(a,b,c){var d;return _.isString(a)||(c=b,b=a,a=""),b=b||[],(d=this.get(a))&&(b=_.isArray(b)?b:[b],this._views[a]=b.length?_.difference(d,b):[]),c&&c.silent||_.invoke(b,"remove"),this},detach:function(){return a(_.pluck(this.all(),"el")).detach(),this},render:function(){var a={ready:this._isReady()};return _.each(this._views,function(b,c){this._attach(c,b,a)},this),this.rendered=!0,this},remove:function(a){return a&&a.silent||(this.parent&&this.parent.views&&this.parent.views.unset(this.selector,this.view,{silent:!0}),delete this.parent,delete this.selector),_.invoke(this.all(),"remove"),this._views=[],this},replace:function(a,b){return a.html(b),this},insert:function(a,b,c){var d,e=c&&c.at;return _.isNumber(e)&&(d=a.children()).length>e?d.eq(e).before(b):a.append(b),this},ready:function(){this.view.trigger("ready"),_.chain(this.all()).map(function(a){return a.views}).flatten().where({attached:!0}).invoke("ready")},_attach:function(a,b,c){var d,e=a?this.view.$(a):this.view.$el;return e.length?(d=_.chain(b).pluck("views").flatten().value(),_.each(d,function(a){a.rendered||(a.view.render(),a.rendered=!0)},this),this[c.add?"insert":"replace"](e,_.pluck(b,"el"),c),_.each(d,function(a){a.attached=!0,c.ready&&a.ready()},this),this):this},_isReady:function(){for(var a=this.view.el;a;){if(a===document.body)return!0;a=a.parentNode}return!1}}),wp.Backbone.View=Backbone.View.extend({Subviews:wp.Backbone.Subviews,constructor:function(){this.views=new this.Subviews(this,this.views),this.on("ready",this.ready,this),Backbone.View.apply(this,arguments)},remove:function(){var a=Backbone.View.prototype.remove.apply(this,arguments);return this.views&&this.views.remove(),a},render:function(){var a;return this.prepare&&(a=this.prepare()),this.views.detach(),this.template&&(a=a||{},this.trigger("prepare",a),this.$el.html(this.template(a))),this.views.render(),this},prepare:function(){return this.options},ready:function(){}})}(jQuery);
\ No newline at end of file
index 417572db4ffa2b55701d5d128f69d2136abe4df6..529f1b324f59f0df59e34310a1e27a20ae0644ba 100644 (file)
@@ -1 +1 @@
-(function(a){var b=function(){var d=document.getElementById("post-revisions"),c=d?d.getElementsByTagName("input"):[];d.onclick=function(){var g,f=0,e;for(g=0;g<c.length;g++){f+=c[g].checked?1:0;e=c[g].getAttribute("name");if(!c[g].checked&&("left"==e&&1>f||"right"==e&&1<f&&(!c[g-1]||!c[g-1].checked))&&!(c[g+1]&&c[g+1].checked&&"right"==c[g+1].getAttribute("name"))){c[g].style.visibility="hidden"}else{if("left"==e||"right"==e){c[g].style.visibility="visible"}}}};d.onclick()};if(a&&a.addEventListener){a.addEventListener("load",b,false)}else{if(a&&a.attachEvent){a.attachEvent("onload",b)}}})(window);
\ No newline at end of file
+!function(a){var b=function(){var a=document.getElementById("post-revisions"),b=a?a.getElementsByTagName("input"):[];a.onclick=function(){var a,c,d=0;for(a=0;a<b.length;a++)d+=b[a].checked?1:0,c=b[a].getAttribute("name"),b[a].checked||!("left"==c&&1>d||"right"==c&&d>1&&(!b[a-1]||!b[a-1].checked))||b[a+1]&&b[a+1].checked&&"right"==b[a+1].getAttribute("name")?("left"==c||"right"==c)&&(b[a].style.visibility="visible"):b[a].style.visibility="hidden"},a.onclick()};a&&a.addEventListener?a.addEventListener("load",b,!1):a&&a.attachEvent&&a.attachEvent("onload",b)}(window);
\ No newline at end of file
index 5decd3a845d22d453f9a50a10c67d563ed62a8f7..f3a2b7885a6093840123eccd3849a22f4d69e5e3 100644 (file)
@@ -208,7 +208,7 @@ wpList = {
                                        s.delAfter( rres, _s );
                                }).dequeue();
                        }
                                        s.delAfter( rres, _s );
                                }).dequeue();
                        }
-               }
+               };
 
                $.ajax( s );
                return false;
 
                $.ajax( s );
                return false;
@@ -308,7 +308,7 @@ wpList = {
        },
 
        add: function( e, s ) {
        },
 
        add: function( e, s ) {
-               e = $(e);
+               e = $( $.trim(e) ); // Trim leading whitespaces
 
                var list = $(this), old = false, _s = { pos: 0, id: 0, oldId: null }, ba, ref, color;
 
 
                var list = $(this), old = false, _s = { pos: 0, id: 0, oldId: null }, ba, ref, color;
 
index 76e6af14d5bd8a63b5f6e87ef85c2aef88720bef..af041510f0fcc7e9cad0ab59867c3d49af080b96 100644 (file)
@@ -1 +1 @@
-(function(b){var a={add:"ajaxAdd",del:"ajaxDel",dim:"ajaxDim",process:"process",recolor:"recolor"},c;c={settings:{url:ajaxurl,type:"POST",response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:null,delColor:null,dimAddColor:null,dimDelColor:null,confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(g,f){var d=wpAjax.unserialize(g.attr("href"));return f.nonce||d._ajax_nonce||b("#"+f.element+' input[name="_ajax_nonce"]').val()||d._wpnonce||b("#"+f.element+' input[name="_wpnonce"]').val()||0},parseData:function(i,g){var j=[],f;try{f=b(i).attr("data-wp-lists")||"";f=f.match(new RegExp(g+":[\\S]+"));if(f){j=f[0].split(":")}}catch(h){}return j},pre:function(i,g,d){var f,h;g=b.extend({},this.wpList.settings,{element:null,nonce:0,target:i.get(0)},g||{});if(b.isFunction(g.confirm)){if("add"!=d){f=b("#"+g.element).css("backgroundColor");b("#"+g.element).css("backgroundColor","#FF9966")}h=g.confirm.call(this,i,g,d,f);if("add"!=d){b("#"+g.element).css("backgroundColor",f)}if(!h){return false}}return g},ajaxAdd:function(h,m){h=b(h);m=m||{};var i=this,g=c.parseData(h,"add"),k,d,f,j,l;m=c.pre.call(i,h,m,"add");m.element=g[2]||h.attr("id")||m.element||null;if(g[3]){m.addColor="#"+g[3]}else{m.addColor=m.addColor||"#FFFF33"}if(!m){return false}if(!h.is('[id="'+m.element+'-submit"]')){return !c.add.call(i,h,m)}if(!m.element){return true}m.action="add-"+m.what;m.nonce=c.nonce(h,m);k=b("#"+m.element+" :input").not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]');d=wpAjax.validateForm("#"+m.element);if(!d){return false}m.data=b.param(b.extend({_ajax_nonce:m.nonce,action:m.action},wpAjax.unserialize(g[4]||"")));f=b.isFunction(k.fieldSerialize)?k.fieldSerialize():k.serialize();if(f){m.data+="&"+f}if(b.isFunction(m.addBefore)){m=m.addBefore(m);if(!m){return true}}if(!m.data.match(/_ajax_nonce=[a-f0-9]+/)){return true}m.success=function(e){j=wpAjax.parseAjaxResponse(e,m.response,m.element);l=e;if(!j||j.errors){return false}if(true===j){return true}jQuery.each(j.responses,function(){c.add.call(i,this.data,b.extend({},m,{pos:this.position||0,id:this.id||0,oldId:this.oldId||null}))});i.wpList.recolor();b(i).trigger("wpListAddEnd",[m,i.wpList]);c.clear.call(i,"#"+m.element)};m.complete=function(e,n){if(b.isFunction(m.addAfter)){var o=b.extend({xml:e,status:n,parsed:j},m);m.addAfter(l,o)}};b.ajax(m);return false},ajaxDel:function(k,h){k=b(k);h=h||{};var j=this,i=c.parseData(k,"delete"),g,f,d;h=c.pre.call(j,k,h,"delete");h.element=i[2]||h.element||null;if(i[3]){h.delColor="#"+i[3]}else{h.delColor=h.delColor||"#faa"}if(!h||!h.element){return false}h.action="delete-"+h.what;h.nonce=c.nonce(k,h);h.data=b.extend({action:h.action,id:h.element.split("-").pop(),_ajax_nonce:h.nonce},wpAjax.unserialize(i[4]||""));if(b.isFunction(h.delBefore)){h=h.delBefore(h,j);if(!h){return true}}if(!h.data._ajax_nonce){return true}g=b("#"+h.element);if("none"!=h.delColor){g.css("backgroundColor",h.delColor).fadeOut(350,function(){j.wpList.recolor();b(j).trigger("wpListDelEnd",[h,j.wpList])})}else{j.wpList.recolor();b(j).trigger("wpListDelEnd",[h,j.wpList])}h.success=function(e){f=wpAjax.parseAjaxResponse(e,h.response,h.element);d=e;if(!f||f.errors){g.stop().stop().css("backgroundColor","#faa").show().queue(function(){j.wpList.recolor();b(this).dequeue()});return false}};h.complete=function(e,l){if(b.isFunction(h.delAfter)){g.queue(function(){var m=b.extend({xml:e,status:l,parsed:f},h);h.delAfter(d,m)}).dequeue()}};b.ajax(h);return false},ajaxDim:function(i,n){if(b(i).parent().css("display")=="none"){return false}i=b(i);n=n||{};var j=this,g=c.parseData(i,"dim"),h,d,f,l,k,m;n=c.pre.call(j,i,n,"dim");n.element=g[2]||n.element||null;n.dimClass=g[3]||n.dimClass||null;if(g[4]){n.dimAddColor="#"+g[4]}else{n.dimAddColor=n.dimAddColor||"#FFFF33"}if(g[5]){n.dimDelColor="#"+g[5]}else{n.dimDelColor=n.dimDelColor||"#FF3333"}if(!n||!n.element||!n.dimClass){return true}n.action="dim-"+n.what;n.nonce=c.nonce(i,n);n.data=b.extend({action:n.action,id:n.element.split("-").pop(),dimClass:n.dimClass,_ajax_nonce:n.nonce},wpAjax.unserialize(g[6]||""));if(b.isFunction(n.dimBefore)){n=n.dimBefore(n);if(!n){return true}}h=b("#"+n.element);d=h.toggleClass(n.dimClass).is("."+n.dimClass);f=c.getColor(h);h.toggleClass(n.dimClass);l=d?n.dimAddColor:n.dimDelColor;if("none"!=l){h.animate({backgroundColor:l},"fast").queue(function(){h.toggleClass(n.dimClass);b(this).dequeue()}).animate({backgroundColor:f},{complete:function(){b(this).css("backgroundColor","");b(j).trigger("wpListDimEnd",[n,j.wpList])}})}else{b(j).trigger("wpListDimEnd",[n,j.wpList])}if(!n.data._ajax_nonce){return true}n.success=function(e){k=wpAjax.parseAjaxResponse(e,n.response,n.element);m=e;if(!k||k.errors){h.stop().stop().css("backgroundColor","#FF3333")[d?"removeClass":"addClass"](n.dimClass).show().queue(function(){j.wpList.recolor();b(this).dequeue()});return false}};n.complete=function(e,o){if(b.isFunction(n.dimAfter)){h.queue(function(){var p=b.extend({xml:e,status:o,parsed:k},n);n.dimAfter(m,p)}).dequeue()}};b.ajax(n);return false},getColor:function(e){var d=jQuery(e).css("backgroundColor");return d||"#ffffff"},add:function(k,g){k=b(k);var i=b(this),d=false,j={pos:0,id:0,oldId:null},l,h,f;if("string"==typeof g){g={what:g}}g=b.extend(j,this.wpList.settings,g);if(!k.size()||!g.what){return false}if(g.oldId){d=b("#"+g.what+"-"+g.oldId)}if(g.id&&(g.id!=g.oldId||!d||!d.size())){b("#"+g.what+"-"+g.id).remove()}if(d&&d.size()){d.before(k);d.remove()}else{if(isNaN(g.pos)){l="after";if("-"==g.pos.substr(0,1)){g.pos=g.pos.substr(1);l="before"}h=i.find("#"+g.pos);if(1===h.size()){h[l](k)}else{i.append(k)}}else{if("comment"!=g.what||0===b("#"+g.element).length){if(g.pos<0){i.prepend(k)}else{i.append(k)}}}}if(g.alt){if((i.children(":visible").index(k[0])+g.altOffset)%2){k.removeClass(g.alt)}else{k.addClass(g.alt)}}if("none"!=g.addColor){f=c.getColor(k);k.css("backgroundColor",g.addColor).animate({backgroundColor:f},{complete:function(){b(this).css("backgroundColor","")}})}i.each(function(){this.wpList.process(k)});return k},clear:function(h){var g=this,f,d;h=b(h);if(g.wpList&&h.parents("#"+g.id).size()){return}h.find(":input").each(function(){if(b(this).parents(".form-no-clear").size()){return}f=this.type.toLowerCase();d=this.tagName.toLowerCase();if("text"==f||"password"==f||"textarea"==d){this.value=""}else{if("checkbox"==f||"radio"==f){this.checked=false}else{if("select"==d){this.selectedIndex=null}}}})},process:function(e){var f=this,d=b(e||document);d.delegate('form[data-wp-lists^="add:'+f.id+':"]',"submit",function(){return f.wpList.add(this)});d.delegate('a[data-wp-lists^="add:'+f.id+':"], input[data-wp-lists^="add:'+f.id+':"]',"click",function(){return f.wpList.add(this)});d.delegate('[data-wp-lists^="delete:'+f.id+':"]',"click",function(){return f.wpList.del(this)});d.delegate('[data-wp-lists^="dim:'+f.id+':"]',"click",function(){return f.wpList.dim(this)})},recolor:function(){var f=this,e,d;if(!f.wpList.settings.alt){return}e=b(".list-item:visible",f);if(!e.size()){e=b(f).children(":visible")}d=[":even",":odd"];if(f.wpList.settings.altOffset%2){d.reverse()}e.filter(d[0]).addClass(f.wpList.settings.alt).end().filter(d[1]).removeClass(f.wpList.settings.alt)},init:function(){var d=this;d.wpList.process=function(e){d.each(function(){this.wpList.process(e)})};d.wpList.recolor=function(){d.each(function(){this.wpList.recolor()})}}};b.fn.wpList=function(d){this.each(function(){var e=this;this.wpList={settings:b.extend({},c.settings,{what:c.parseData(this,"list")[1]||""},d)};b.each(a,function(g,h){e.wpList[g]=function(i,f){return c[h].call(e,i,f)}})});c.init.call(this);this.wpList.process();return this}})(jQuery);
\ No newline at end of file
+!function(a){var b,c={add:"ajaxAdd",del:"ajaxDel",dim:"ajaxDim",process:"process",recolor:"recolor"};b={settings:{url:ajaxurl,type:"POST",response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:null,delColor:null,dimAddColor:null,dimDelColor:null,confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(b,c){var d=wpAjax.unserialize(b.attr("href"));return c.nonce||d._ajax_nonce||a("#"+c.element+' input[name="_ajax_nonce"]').val()||d._wpnonce||a("#"+c.element+' input[name="_wpnonce"]').val()||0},parseData:function(b,c){var d,e=[];try{d=a(b).attr("data-wp-lists")||"",d=d.match(new RegExp(c+":[\\S]+")),d&&(e=d[0].split(":"))}catch(f){}return e},pre:function(b,c,d){var e,f;return c=a.extend({},this.wpList.settings,{element:null,nonce:0,target:b.get(0)},c||{}),a.isFunction(c.confirm)&&("add"!=d&&(e=a("#"+c.element).css("backgroundColor"),a("#"+c.element).css("backgroundColor","#FF9966")),f=c.confirm.call(this,b,c,d,e),"add"!=d&&a("#"+c.element).css("backgroundColor",e),!f)?!1:c},ajaxAdd:function(c,d){c=a(c),d=d||{};var e,f,g,h,i,j=this,k=b.parseData(c,"add");return d=b.pre.call(j,c,d,"add"),d.element=k[2]||c.attr("id")||d.element||null,d.addColor=k[3]?"#"+k[3]:d.addColor||"#FFFF33",d?c.is('[id="'+d.element+'-submit"]')?d.element?(d.action="add-"+d.what,d.nonce=b.nonce(c,d),e=a("#"+d.element+" :input").not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]'),(f=wpAjax.validateForm("#"+d.element))?(d.data=a.param(a.extend({_ajax_nonce:d.nonce,action:d.action},wpAjax.unserialize(k[4]||""))),g=a.isFunction(e.fieldSerialize)?e.fieldSerialize():e.serialize(),g&&(d.data+="&"+g),a.isFunction(d.addBefore)&&(d=d.addBefore(d),!d)?!0:d.data.match(/_ajax_nonce=[a-f0-9]+/)?(d.success=function(c){return h=wpAjax.parseAjaxResponse(c,d.response,d.element),i=c,!h||h.errors?!1:!0===h?!0:(jQuery.each(h.responses,function(){b.add.call(j,this.data,a.extend({},d,{pos:this.position||0,id:this.id||0,oldId:this.oldId||null}))}),j.wpList.recolor(),a(j).trigger("wpListAddEnd",[d,j.wpList]),b.clear.call(j,"#"+d.element),void 0)},d.complete=function(b,c){if(a.isFunction(d.addAfter)){var e=a.extend({xml:b,status:c,parsed:h},d);d.addAfter(i,e)}},a.ajax(d),!1):!0):!1):!0:!b.add.call(j,c,d):!1},ajaxDel:function(c,d){c=a(c),d=d||{};var e,f,g,h=this,i=b.parseData(c,"delete");return d=b.pre.call(h,c,d,"delete"),d.element=i[2]||d.element||null,d.delColor=i[3]?"#"+i[3]:d.delColor||"#faa",d&&d.element?(d.action="delete-"+d.what,d.nonce=b.nonce(c,d),d.data=a.extend({action:d.action,id:d.element.split("-").pop(),_ajax_nonce:d.nonce},wpAjax.unserialize(i[4]||"")),a.isFunction(d.delBefore)&&(d=d.delBefore(d,h),!d)?!0:d.data._ajax_nonce?(e=a("#"+d.element),"none"!=d.delColor?e.css("backgroundColor",d.delColor).fadeOut(350,function(){h.wpList.recolor(),a(h).trigger("wpListDelEnd",[d,h.wpList])}):(h.wpList.recolor(),a(h).trigger("wpListDelEnd",[d,h.wpList])),d.success=function(b){return f=wpAjax.parseAjaxResponse(b,d.response,d.element),g=b,!f||f.errors?(e.stop().stop().css("backgroundColor","#faa").show().queue(function(){h.wpList.recolor(),a(this).dequeue()}),!1):void 0},d.complete=function(b,c){a.isFunction(d.delAfter)&&e.queue(function(){var e=a.extend({xml:b,status:c,parsed:f},d);d.delAfter(g,e)}).dequeue()},a.ajax(d),!1):!0):!1},ajaxDim:function(c,d){if("none"==a(c).parent().css("display"))return!1;c=a(c),d=d||{};var e,f,g,h,i,j,k=this,l=b.parseData(c,"dim");return d=b.pre.call(k,c,d,"dim"),d.element=l[2]||d.element||null,d.dimClass=l[3]||d.dimClass||null,d.dimAddColor=l[4]?"#"+l[4]:d.dimAddColor||"#FFFF33",d.dimDelColor=l[5]?"#"+l[5]:d.dimDelColor||"#FF3333",d&&d.element&&d.dimClass?(d.action="dim-"+d.what,d.nonce=b.nonce(c,d),d.data=a.extend({action:d.action,id:d.element.split("-").pop(),dimClass:d.dimClass,_ajax_nonce:d.nonce},wpAjax.unserialize(l[6]||"")),a.isFunction(d.dimBefore)&&(d=d.dimBefore(d),!d)?!0:(e=a("#"+d.element),f=e.toggleClass(d.dimClass).is("."+d.dimClass),g=b.getColor(e),e.toggleClass(d.dimClass),h=f?d.dimAddColor:d.dimDelColor,"none"!=h?e.animate({backgroundColor:h},"fast").queue(function(){e.toggleClass(d.dimClass),a(this).dequeue()}).animate({backgroundColor:g},{complete:function(){a(this).css("backgroundColor",""),a(k).trigger("wpListDimEnd",[d,k.wpList])}}):a(k).trigger("wpListDimEnd",[d,k.wpList]),d.data._ajax_nonce?(d.success=function(b){return i=wpAjax.parseAjaxResponse(b,d.response,d.element),j=b,!i||i.errors?(e.stop().stop().css("backgroundColor","#FF3333")[f?"removeClass":"addClass"](d.dimClass).show().queue(function(){k.wpList.recolor(),a(this).dequeue()}),!1):void 0},d.complete=function(b,c){a.isFunction(d.dimAfter)&&e.queue(function(){var e=a.extend({xml:b,status:c,parsed:i},d);d.dimAfter(j,e)}).dequeue()},a.ajax(d),!1):!0)):!0},getColor:function(a){var b=jQuery(a).css("backgroundColor");return b||"#ffffff"},add:function(c,d){c=a(a.trim(c));var e,f,g,h=a(this),i=!1,j={pos:0,id:0,oldId:null};return"string"==typeof d&&(d={what:d}),d=a.extend(j,this.wpList.settings,d),c.size()&&d.what?(d.oldId&&(i=a("#"+d.what+"-"+d.oldId)),!d.id||d.id==d.oldId&&i&&i.size()||a("#"+d.what+"-"+d.id).remove(),i&&i.size()?(i.before(c),i.remove()):isNaN(d.pos)?(e="after","-"==d.pos.substr(0,1)&&(d.pos=d.pos.substr(1),e="before"),f=h.find("#"+d.pos),1===f.size()?f[e](c):h.append(c)):("comment"!=d.what||0===a("#"+d.element).length)&&(d.pos<0?h.prepend(c):h.append(c)),d.alt&&((h.children(":visible").index(c[0])+d.altOffset)%2?c.removeClass(d.alt):c.addClass(d.alt)),"none"!=d.addColor&&(g=b.getColor(c),c.css("backgroundColor",d.addColor).animate({backgroundColor:g},{complete:function(){a(this).css("backgroundColor","")}})),h.each(function(){this.wpList.process(c)}),c):!1},clear:function(b){var c,d,e=this;b=a(b),e.wpList&&b.parents("#"+e.id).size()||b.find(":input").each(function(){a(this).parents(".form-no-clear").size()||(c=this.type.toLowerCase(),d=this.tagName.toLowerCase(),"text"==c||"password"==c||"textarea"==d?this.value="":"checkbox"==c||"radio"==c?this.checked=!1:"select"==d&&(this.selectedIndex=null))})},process:function(b){var c=this,d=a(b||document);d.delegate('form[data-wp-lists^="add:'+c.id+':"]',"submit",function(){return c.wpList.add(this)}),d.delegate('a[data-wp-lists^="add:'+c.id+':"], input[data-wp-lists^="add:'+c.id+':"]',"click",function(){return c.wpList.add(this)}),d.delegate('[data-wp-lists^="delete:'+c.id+':"]',"click",function(){return c.wpList.del(this)}),d.delegate('[data-wp-lists^="dim:'+c.id+':"]',"click",function(){return c.wpList.dim(this)})},recolor:function(){var b,c,d=this;d.wpList.settings.alt&&(b=a(".list-item:visible",d),b.size()||(b=a(d).children(":visible")),c=[":even",":odd"],d.wpList.settings.altOffset%2&&c.reverse(),b.filter(c[0]).addClass(d.wpList.settings.alt).end().filter(c[1]).removeClass(d.wpList.settings.alt))},init:function(){var a=this;a.wpList.process=function(b){a.each(function(){this.wpList.process(b)})},a.wpList.recolor=function(){a.each(function(){this.wpList.recolor()})}}},a.fn.wpList=function(d){return this.each(function(){var e=this;this.wpList={settings:a.extend({},b.settings,{what:b.parseData(this,"list")[1]||""},d)},a.each(c,function(a,c){e.wpList[a]=function(a,d){return b[c].call(e,a,d)}})}),b.init.call(this),this.wpList.process(),this}}(jQuery);
\ No newline at end of file
index 65531c84122878123c86672f71e2954cd0511fe4..1e22a524c3989349ba6894b78b0c3c6e16b887ed 100644 (file)
@@ -1 +1 @@
-(function(c){var a=0,b=9999;c.widget("wp.pointer",{options:{pointerClass:"wp-pointer",pointerWidth:320,content:function(f,e,d){return c(this).text()},buttons:function(f,e){var g=(wpPointerL10n)?wpPointerL10n.dismiss:"Dismiss",d=c('<a class="close" href="#">'+g+"</a>");return d.bind("click.pointer",function(h){h.preventDefault();e.element.pointer("close")})},position:"top",show:function(e,d){d.pointer.show();d.opened()},hide:function(e,d){d.pointer.hide();d.closed()},document:document},_create:function(){var e,d;this.content=c('<div class="wp-pointer-content"></div>');this.arrow=c('<div class="wp-pointer-arrow"><div class="wp-pointer-arrow-inner"></div></div>');d=this.element.parents().add(this.element);e="absolute";if(d.filter(function(){return"fixed"===c(this).css("position")}).length){e="fixed"}this.pointer=c("<div />").append(this.content).append(this.arrow).attr("id","wp-pointer-"+a++).addClass(this.options.pointerClass).css({position:e,width:this.options.pointerWidth+"px",display:"none"}).appendTo(this.options.document.body)},_setOption:function(d,f){var g=this.options,e=this.pointer;if(d==="document"&&f!==g.document){e.detach().appendTo(f.body)}else{if(d==="pointerClass"){e.removeClass(g.pointerClass).addClass(f)}}c.Widget.prototype._setOption.apply(this,arguments);if(d==="position"){this.reposition()}else{if(d==="content"&&this.active){this.update()}}},destroy:function(){this.pointer.remove();c.Widget.prototype.destroy.call(this)},widget:function(){return this.pointer},update:function(g){var e=this,h=this.options,d=c.Deferred(),f;if(h.disabled){return}d.done(function(i){e._update(g,i)});if(typeof h.content==="string"){f=h.content}else{f=h.content.call(this.element[0],d.resolve,g,this._handoff())}if(f){d.resolve(f)}return d.promise()},_update:function(f,e){var d,g=this.options;if(!e){return}this.pointer.stop();this.content.html(e);d=g.buttons.call(this.element[0],f,this._handoff());if(d){d.wrap('<div class="wp-pointer-buttons" />').parent().appendTo(this.content)}this.reposition()},reposition:function(){var d;if(this.options.disabled){return}d=this._processPosition(this.options.position);this.pointer.css({top:0,left:0,zIndex:b++}).show().position(c.extend({of:this.element,collision:"fit none"},d));this.repoint()},repoint:function(){var e=this.options,d;if(e.disabled){return}d=(typeof e.position=="string")?e.position:e.position.edge;this.pointer[0].className=this.pointer[0].className.replace(/wp-pointer-[^\s'"]*/,"");this.pointer.addClass("wp-pointer-"+d)},_processPosition:function(e){var f={top:"bottom",bottom:"top",left:"right",right:"left"},d;if(typeof e=="string"){d={edge:e+""}}else{d=c.extend({},e)}if(!d.edge){return d}if(d.edge=="top"||d.edge=="bottom"){d.align=d.align||"left";d.at=d.at||d.align+" "+f[d.edge];d.my=d.my||d.align+" "+d.edge}else{d.align=d.align||"top";d.at=d.at||f[d.edge]+" "+d.align;d.my=d.my||d.edge+" "+d.align}return d},open:function(e){var d=this,f=this.options;if(this.active||f.disabled||this.element.is(":hidden")){return}this.update().done(function(){d._open(e)})},_open:function(e){var d=this,f=this.options;if(this.active||f.disabled||this.element.is(":hidden")){return}this.active=true;this._trigger("open",e,this._handoff());this._trigger("show",e,this._handoff({opened:function(){d._trigger("opened",e,d._handoff())}}))},close:function(e){if(!this.active||this.options.disabled){return}var d=this;this.active=false;this._trigger("close",e,this._handoff());this._trigger("hide",e,this._handoff({closed:function(){d._trigger("closed",e,d._handoff())}}))},sendToTop:function(d){if(this.active){this.pointer.css("z-index",b++)}},toggle:function(d){if(this.pointer.is(":hidden")){this.open(d)}else{this.close(d)}},_handoff:function(d){return c.extend({pointer:this.pointer,element:this.element},d)}})})(jQuery);
\ No newline at end of file
+!function(a){var b=0,c=9999;a.widget("wp.pointer",{options:{pointerClass:"wp-pointer",pointerWidth:320,content:function(){return a(this).text()},buttons:function(b,c){var d=wpPointerL10n?wpPointerL10n.dismiss:"Dismiss",e=a('<a class="close" href="#">'+d+"</a>");return e.bind("click.pointer",function(a){a.preventDefault(),c.element.pointer("close")})},position:"top",show:function(a,b){b.pointer.show(),b.opened()},hide:function(a,b){b.pointer.hide(),b.closed()},document:document},_create:function(){var c,d;this.content=a('<div class="wp-pointer-content"></div>'),this.arrow=a('<div class="wp-pointer-arrow"><div class="wp-pointer-arrow-inner"></div></div>'),d=this.element.parents().add(this.element),c="absolute",d.filter(function(){return"fixed"===a(this).css("position")}).length&&(c="fixed"),this.pointer=a("<div />").append(this.content).append(this.arrow).attr("id","wp-pointer-"+b++).addClass(this.options.pointerClass).css({position:c,width:this.options.pointerWidth+"px",display:"none"}).appendTo(this.options.document.body)},_setOption:function(b,c){var d=this.options,e=this.pointer;"document"===b&&c!==d.document?e.detach().appendTo(c.body):"pointerClass"===b&&e.removeClass(d.pointerClass).addClass(c),a.Widget.prototype._setOption.apply(this,arguments),"position"===b?this.reposition():"content"===b&&this.active&&this.update()},destroy:function(){this.pointer.remove(),a.Widget.prototype.destroy.call(this)},widget:function(){return this.pointer},update:function(b){var c,d=this,e=this.options,f=a.Deferred();if(!e.disabled)return f.done(function(a){d._update(b,a)}),c="string"==typeof e.content?e.content:e.content.call(this.element[0],f.resolve,b,this._handoff()),c&&f.resolve(c),f.promise()},_update:function(a,b){var c,d=this.options;b&&(this.pointer.stop(),this.content.html(b),c=d.buttons.call(this.element[0],a,this._handoff()),c&&c.wrap('<div class="wp-pointer-buttons" />').parent().appendTo(this.content),this.reposition())},reposition:function(){var b;this.options.disabled||(b=this._processPosition(this.options.position),this.pointer.css({top:0,left:0,zIndex:c++}).show().position(a.extend({of:this.element,collision:"fit none"},b)),this.repoint())},repoint:function(){var a,b=this.options;b.disabled||(a="string"==typeof b.position?b.position:b.position.edge,this.pointer[0].className=this.pointer[0].className.replace(/wp-pointer-[^\s'"]*/,""),this.pointer.addClass("wp-pointer-"+a))},_processPosition:function(b){var c,d={top:"bottom",bottom:"top",left:"right",right:"left"};return c="string"==typeof b?{edge:b+""}:a.extend({},b),c.edge?("top"==c.edge||"bottom"==c.edge?(c.align=c.align||"left",c.at=c.at||c.align+" "+d[c.edge],c.my=c.my||c.align+" "+c.edge):(c.align=c.align||"top",c.at=c.at||d[c.edge]+" "+c.align,c.my=c.my||c.edge+" "+c.align),c):c},open:function(a){var b=this,c=this.options;this.active||c.disabled||this.element.is(":hidden")||this.update().done(function(){b._open(a)})},_open:function(a){var b=this,c=this.options;this.active||c.disabled||this.element.is(":hidden")||(this.active=!0,this._trigger("open",a,this._handoff()),this._trigger("show",a,this._handoff({opened:function(){b._trigger("opened",a,b._handoff())}})))},close:function(a){if(this.active&&!this.options.disabled){var b=this;this.active=!1,this._trigger("close",a,this._handoff()),this._trigger("hide",a,this._handoff({closed:function(){b._trigger("closed",a,b._handoff())}}))}},sendToTop:function(){this.active&&this.pointer.css("z-index",c++)},toggle:function(a){this.pointer.is(":hidden")?this.open(a):this.close(a)},_handoff:function(b){return a.extend({pointer:this.pointer,element:this.element},b)}})}(jQuery);
\ No newline at end of file
index d5dbd2ea93ae5709967b8156952edbb1da135dac..be17674006ed638105ee148289a0d9f56c23cba0 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{};(function(b){var a=typeof _wpUtilSettings==="undefined"?{}:_wpUtilSettings;wp.template=_.memoize(function(e){var d,c={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(f){d=d||_.template(b("#tmpl-"+e).html(),null,c);return d(f)}});wp.ajax={settings:a.ajax||{},post:function(d,c){return wp.ajax.send({data:_.isObject(d)?d:_.extend(c||{},{action:d})})},send:function(d,c){if(_.isObject(d)){c=d}else{c=c||{};c.data=_.extend(c.data||{},{action:d})}c=_.defaults(c||{},{type:"POST",url:wp.ajax.settings.url,context:this});return b.Deferred(function(e){if(c.success){e.done(c.success)}if(c.error){e.fail(c.error)}delete c.success;delete c.error;b.ajax(c).done(function(f){if(f==="1"||f===1){f={success:true}}if(_.isObject(f)&&!_.isUndefined(f.success)){e[f.success?"resolveWith":"rejectWith"](this,[f.data])}else{e.rejectWith(this,[f])}}).fail(function(){e.rejectWith(this,arguments)})}).promise()}}}(jQuery));
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(b){var c,d={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(e){return c=c||_.template(a("#tmpl-"+b).html(),null,d),c(e)}}),wp.ajax={settings:b.ajax||{},post:function(a,b){return wp.ajax.send({data:_.isObject(a)?a:_.extend(b||{},{action:a})})},send:function(b,c){return _.isObject(b)?c=b:(c=c||{},c.data=_.extend(c.data||{},{action:b})),c=_.defaults(c||{},{type:"POST",url:wp.ajax.settings.url,context:this}),a.Deferred(function(b){c.success&&b.done(c.success),c.error&&b.fail(c.error),delete c.success,delete c.error,a.ajax(c).done(function(a){("1"===a||1===a)&&(a={success:!0}),_.isObject(a)&&!_.isUndefined(a.success)?b[a.success?"resolveWith":"rejectWith"](this,[a.data]):b.rejectWith(this,[a])}).fail(function(){b.rejectWith(this,arguments)})}).promise()}}}(jQuery);
\ No newline at end of file
index 232fd4e2f93f2d4bab79868ab5994c77c8edaa67..1e20215531feaf6694e7cc0eff5c0aa36d6afa54 100644 (file)
@@ -121,8 +121,6 @@ var wpLink;
                        } else {
                                wpLink.setDefaultValues();
                        }
                        } else {
                                wpLink.setDefaultValues();
                        }
-
-                       tinyMCEPopup.storeSelection();
                },
 
                close : function() {
                },
 
                close : function() {
@@ -226,7 +224,6 @@ var wpLink;
                        // If the values are empty, unlink and return
                        if ( ! attrs.href || attrs.href == 'http://' ) {
                                if ( e ) {
                        // If the values are empty, unlink and return
                        if ( ! attrs.href || attrs.href == 'http://' ) {
                                if ( e ) {
-                                       tinyMCEPopup.execCommand("mceBeginUndoLevel");
                                        b = ed.selection.getBookmark();
                                        ed.dom.remove(e, 1);
                                        ed.selection.moveToBookmark(b);
                                        b = ed.selection.getBookmark();
                                        ed.dom.remove(e, 1);
                                        ed.selection.moveToBookmark(b);
@@ -236,8 +233,6 @@ var wpLink;
                                return;
                        }
 
                                return;
                        }
 
-                       tinyMCEPopup.execCommand("mceBeginUndoLevel");
-
                        if (e == null) {
                                ed.getDoc().execCommand("unlink", false, null);
                                tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1});
                        if (e == null) {
                                ed.getDoc().execCommand("unlink", false, null);
                                tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1});
@@ -252,7 +247,7 @@ var wpLink;
                                // Sometimes WebKit lets a user create a link where
                                // they shouldn't be able to. In this case, CreateLink
                                // injects "#mce_temp_url#" into their content. Fix it.
                                // Sometimes WebKit lets a user create a link where
                                // they shouldn't be able to. In this case, CreateLink
                                // injects "#mce_temp_url#" into their content. Fix it.
-                               if ( $(e).text() == '#mce_temp_url#' ) {
+                               if ( tinymce.isWebKit && $(e).text() == '#mce_temp_url#' ) {
                                        ed.dom.remove(e);
                                        e = null;
                                }
                                        ed.dom.remove(e);
                                        e = null;
                                }
@@ -260,16 +255,16 @@ var wpLink;
                                ed.dom.setAttribs(e, attrs);
                        }
 
                                ed.dom.setAttribs(e, attrs);
                        }
 
-                       // Don't move caret if selection was image
+                       // Move the caret if selection was not an image.
                        if ( e && (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') ) {
                        if ( e && (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') ) {
-                               ed.focus();
                                ed.selection.select(e);
                                ed.selection.collapse(0);
                                tinyMCEPopup.storeSelection();
                        }
 
                                ed.selection.select(e);
                                ed.selection.collapse(0);
                                tinyMCEPopup.storeSelection();
                        }
 
-                       tinyMCEPopup.execCommand("mceEndUndoLevel");
+                       ed.execCommand("mceEndUndoLevel");
                        wpLink.close();
                        wpLink.close();
+                       ed.focus();
                },
 
                updateFields : function( e, li, originalEvent ) {
                },
 
                updateFields : function( e, li, originalEvent ) {
index 9c9cf839ab79a2fa27cd97eb6d55f66cc32e7bac..0db2cd2aa78efdb3b845e4fba2f5cc5ed097803c 100644 (file)
@@ -1 +1 @@
-var wpLink;(function(f){var b={},e={},d,a,c;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){b.dialog=f("#wp-link");b.submit=f("#wp-link-submit");b.url=f("#url-field");b.nonce=f("#_ajax_linking_nonce");b.title=f("#link-title-field");b.openInNewTab=f("#link-target-checkbox");b.search=f("#search-field");e.search=new a(f("#search-results"));e.recent=new a(f("#most-recent-results"));e.elements=f(".query-results",b.dialog);b.dialog.keydown(wpLink.keydown);b.dialog.keyup(wpLink.keyup);b.submit.click(function(g){g.preventDefault();wpLink.update()});f("#wp-link-cancel").click(function(g){g.preventDefault();wpLink.close()});f("#internal-toggle").click(wpLink.toggleInternalLinking);e.elements.bind("river-select",wpLink.updateFields);b.search.keyup(wpLink.searchInternalLinks);b.dialog.bind("wpdialogrefresh",wpLink.refresh);b.dialog.bind("wpdialogbeforeopen",wpLink.beforeOpen);b.dialog.bind("wpdialogclose",wpLink.onClose)},beforeOpen:function(){wpLink.range=null;if(!wpLink.isMCE()&&document.selection){wpLink.textarea.focus();wpLink.range=document.selection.createRange()}},open:function(){if(!wpActiveEditor){return}this.textarea=f("#"+wpActiveEditor).get(0);if(!b.dialog.data("wpdialog")){b.dialog.wpdialog({title:wpLinkL10n.title,width:480,height:"auto",modal:true,dialogClass:"wp-dialog"})}b.dialog.wpdialog("open")},isMCE:function(){return tinyMCEPopup&&(d=tinyMCEPopup.editor)&&!d.isHidden()},refresh:function(){e.search.refresh();e.recent.refresh();if(wpLink.isMCE()){wpLink.mceRefresh()}else{wpLink.setDefaultValues()}b.url.focus()[0].select();if(!e.recent.ul.children().length){e.recent.ajax()}},mceRefresh:function(){var g;d=tinyMCEPopup.editor;tinyMCEPopup.restoreSelection();if(g=d.dom.getParent(d.selection.getNode(),"A")){b.url.val(d.dom.getAttrib(g,"href"));b.title.val(d.dom.getAttrib(g,"title"));b.openInNewTab.prop("checked",("_blank"==d.dom.getAttrib(g,"target")));b.submit.val(wpLinkL10n.update)}else{wpLink.setDefaultValues()}tinyMCEPopup.storeSelection()},close:function(){if(wpLink.isMCE()){tinyMCEPopup.close()}else{b.dialog.wpdialog("close")}},onClose:function(){if(!wpLink.isMCE()){wpLink.textarea.focus();if(wpLink.range){wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select()}}},getAttrs:function(){return{href:b.url.val(),title:b.title.val(),target:b.openInNewTab.prop("checked")?"_blank":""}},update:function(){if(wpLink.isMCE()){wpLink.mceUpdate()}else{wpLink.htmlUpdate()}},htmlUpdate:function(){var i,j,k,h,l,g=wpLink.textarea;if(!g){return}i=wpLink.getAttrs();if(!i.href||i.href=="http://"){return}j='<a href="'+i.href+'"';if(i.title){j+=' title="'+i.title+'"'}if(i.target){j+=' target="'+i.target+'"'}j+=">";if(document.selection&&wpLink.range){g.focus();wpLink.range.text=j+wpLink.range.text+"</a>";wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select();wpLink.range=null}else{if(typeof g.selectionStart!=="undefined"){k=g.selectionStart;h=g.selectionEnd;selection=g.value.substring(k,h);j=j+selection+"</a>";l=k+j.length;if(k==h){l-="</a>".length}g.value=g.value.substring(0,k)+j+g.value.substring(h,g.value.length);g.selectionStart=g.selectionEnd=l}}wpLink.close();g.focus()},mceUpdate:function(){var h=tinyMCEPopup.editor,i=wpLink.getAttrs(),j,g;tinyMCEPopup.restoreSelection();j=h.dom.getParent(h.selection.getNode(),"A");if(!i.href||i.href=="http://"){if(j){tinyMCEPopup.execCommand("mceBeginUndoLevel");g=h.selection.getBookmark();h.dom.remove(j,1);h.selection.moveToBookmark(g);tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()}return}tinyMCEPopup.execCommand("mceBeginUndoLevel");if(j==null){h.getDoc().execCommand("unlink",false,null);tinyMCEPopup.execCommand("mceInsertLink",false,"#mce_temp_url#",{skip_undo:1});tinymce.each(h.dom.select("a"),function(k){if(h.dom.getAttrib(k,"href")=="#mce_temp_url#"){j=k;h.dom.setAttribs(j,i)}});if(f(j).text()=="#mce_temp_url#"){h.dom.remove(j);j=null}}else{h.dom.setAttribs(j,i)}if(j&&(j.childNodes.length!=1||j.firstChild.nodeName!="IMG")){h.focus();h.selection.select(j);h.selection.collapse(0);tinyMCEPopup.storeSelection()}tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()},updateFields:function(i,h,g){b.url.val(h.children(".item-permalink").val());b.title.val(h.hasClass("no-title")?"":h.children(".item-title").text());if(g&&g.type=="click"){b.url.focus()}},setDefaultValues:function(){b.url.val("http://");b.title.val("");b.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var h=f(this),i,g=h.val();if(g.length>2){e.recent.hide();e.search.show();if(wpLink.lastSearch==g){return}wpLink.lastSearch=g;i=h.parent().find(".spinner").show();e.search.change(g);e.search.ajax(function(){i.hide()})}else{e.search.hide();e.recent.show()}},next:function(){e.search.next();e.recent.next()},prev:function(){e.search.prev();e.recent.prev()},keydown:function(i){var h,g=f.ui.keyCode;switch(i.which){case g.UP:h="prev";case g.DOWN:h=h||"next";clearInterval(wpLink.keyInterval);wpLink[h]();wpLink.keyInterval=setInterval(wpLink[h],wpLink.keySensitivity);break;default:return}i.preventDefault()},keyup:function(h){var g=f.ui.keyCode;switch(h.which){case g.ESCAPE:h.stopImmediatePropagation();if(!f(document).triggerHandler("wp_CloseOnEscape",[{event:h,what:"wplink",cb:wpLink.close}])){wpLink.close()}return false;break;case g.UP:case g.DOWN:clearInterval(wpLink.keyInterval);break;default:return}h.preventDefault()},delayedCallback:function(i,g){var l,k,j,h;if(!g){return i}setTimeout(function(){if(k){return i.apply(h,j)}l=true},g);return function(){if(l){return i.apply(this,arguments)}j=arguments;h=this;k=true}},toggleInternalLinking:function(h){var g=f("#search-panel"),i=b.dialog.wpdialog("widget"),k=!g.is(":visible"),j=f(window);f(this).toggleClass("toggle-arrow-active",k);b.dialog.height("auto");g.slideToggle(300,function(){setUserSetting("wplink",k?"1":"0");b[k?"search":"url"].focus();var l=j.scrollTop(),o=i.offset().top,m=o+i.outerHeight(),n=m-j.height();if(n>l){i.animate({top:n<o?o-n:l},200)}});h.preventDefault()}};a=function(i,h){var g=this;this.element=i;this.ul=i.children("ul");this.waiting=i.find(".river-waiting");this.change(h);this.refresh();i.scroll(function(){g.maybeLoad()});i.delegate("li","click",function(j){g.select(f(this),j)})};f.extend(a.prototype,{refresh:function(){this.deselect();this.visible=this.element.is(":visible")},show:function(){if(!this.visible){this.deselect();this.element.show();this.visible=true}},hide:function(){this.element.hide();this.visible=false},select:function(h,k){var j,i,l,g;if(h.hasClass("unselectable")||h==this.selected){return}this.deselect();this.selected=h.addClass("selected");j=h.outerHeight();i=this.element.height();l=h.position().top;g=this.element.scrollTop();if(l<0){this.element.scrollTop(g+l)}else{if(l+j>i){this.element.scrollTop(g+l-i+j)}}this.element.trigger("river-select",[h,k,this])},deselect:function(){if(this.selected){this.selected.removeClass("selected")}this.selected=false},prev:function(){if(!this.visible){return}var g;if(this.selected){g=this.selected.prev("li");if(g.length){this.select(g)}}},next:function(){if(!this.visible){return}var g=this.selected?this.selected.next("li"):f("li:not(.unselectable):first",this.element);if(g.length){this.select(g)}},ajax:function(j){var h=this,i=this.query.page==1?0:wpLink.minRiverAJAXDuration,g=wpLink.delayedCallback(function(k,l){h.process(k,l);if(j){j(k,l)}},i);this.query.ajax(g)},change:function(g){if(this.query&&this._search==g){return}this._search=g;this.query=new c(g);this.element.scrollTop(0)},process:function(h,l){var i="",j=true,g="",k=l.page==1;if(!h){if(k){i+='<li class="unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"}}else{f.each(h,function(){g=j?"alternate":"";g+=this["title"]?"":" no-title";i+=g?'<li class="'+g+'">':"<li>";i+='<input type="hidden" class="item-permalink" value="'+this["permalink"]+'" />';i+='<span class="item-title">';i+=this["title"]?this["title"]:wpLinkL10n.noTitle;i+='</span><span class="item-info">'+this["info"]+"</span></li>";j=!j})}this.ul[k?"html":"append"](i)},maybeLoad:function(){var h=this,i=this.element,g=i.scrollTop()+i.height();if(!this.query.ready()||g<this.ul.height()-wpLink.riverBottomThreshold){return}setTimeout(function(){var j=i.scrollTop(),k=j+i.height();if(!h.query.ready()||k<h.ul.height()-wpLink.riverBottomThreshold){return}h.waiting.show();i.scrollTop(j+h.waiting.outerHeight());h.ajax(function(){h.waiting.hide()})},wpLink.timeToTriggerRiver)}});c=function(g){this.page=1;this.allLoaded=false;this.querying=false;this.search=g};f.extend(c.prototype,{ready:function(){return !(this.querying||this.allLoaded)},ajax:function(i){var g=this,h={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:b.nonce.val()};if(this.search){h.search=this.search}this.querying=true;f.post(ajaxurl,h,function(j){g.page++;g.querying=false;g.allLoaded=!j;i(j,h)},"json")}});f(document).ready(wpLink.init)})(jQuery);
\ No newline at end of file
+var wpLink;!function(a){var b,c,d,e={},f={};wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){e.dialog=a("#wp-link"),e.submit=a("#wp-link-submit"),e.url=a("#url-field"),e.nonce=a("#_ajax_linking_nonce"),e.title=a("#link-title-field"),e.openInNewTab=a("#link-target-checkbox"),e.search=a("#search-field"),f.search=new c(a("#search-results")),f.recent=new c(a("#most-recent-results")),f.elements=a(".query-results",e.dialog),e.dialog.keydown(wpLink.keydown),e.dialog.keyup(wpLink.keyup),e.submit.click(function(a){a.preventDefault(),wpLink.update()}),a("#wp-link-cancel").click(function(a){a.preventDefault(),wpLink.close()}),a("#internal-toggle").click(wpLink.toggleInternalLinking),f.elements.bind("river-select",wpLink.updateFields),e.search.keyup(wpLink.searchInternalLinks),e.dialog.bind("wpdialogrefresh",wpLink.refresh),e.dialog.bind("wpdialogbeforeopen",wpLink.beforeOpen),e.dialog.bind("wpdialogclose",wpLink.onClose)},beforeOpen:function(){wpLink.range=null,!wpLink.isMCE()&&document.selection&&(wpLink.textarea.focus(),wpLink.range=document.selection.createRange())},open:function(){wpActiveEditor&&(this.textarea=a("#"+wpActiveEditor).get(0),e.dialog.data("wpdialog")||e.dialog.wpdialog({title:wpLinkL10n.title,width:480,height:"auto",modal:!0,dialogClass:"wp-dialog"}),e.dialog.wpdialog("open"))},isMCE:function(){return tinyMCEPopup&&(b=tinyMCEPopup.editor)&&!b.isHidden()},refresh:function(){f.search.refresh(),f.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():wpLink.setDefaultValues(),e.url.focus()[0].select(),f.recent.ul.children().length||f.recent.ajax()},mceRefresh:function(){var a;b=tinyMCEPopup.editor,tinyMCEPopup.restoreSelection(),(a=b.dom.getParent(b.selection.getNode(),"A"))?(e.url.val(b.dom.getAttrib(a,"href")),e.title.val(b.dom.getAttrib(a,"title")),e.openInNewTab.prop("checked","_blank"==b.dom.getAttrib(a,"target")),e.submit.val(wpLinkL10n.update)):wpLink.setDefaultValues()},close:function(){wpLink.isMCE()?tinyMCEPopup.close():e.dialog.wpdialog("close")},onClose:function(){wpLink.isMCE()||(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select()))},getAttrs:function(){return{href:e.url.val(),title:e.title.val(),target:e.openInNewTab.prop("checked")?"_blank":""}},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f=wpLink.textarea;f&&(a=wpLink.getAttrs(),a.href&&"http://"!=a.href&&(b='<a href="'+a.href+'"',a.title&&(b+=' title="'+a.title+'"'),a.target&&(b+=' target="'+a.target+'"'),b+=">",document.selection&&wpLink.range?(f.focus(),wpLink.range.text=b+wpLink.range.text+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof f.selectionStart&&(c=f.selectionStart,d=f.selectionEnd,selection=f.value.substring(c,d),b=b+selection+"</a>",e=c+b.length,c==d&&(e-="</a>".length),f.value=f.value.substring(0,c)+b+f.value.substring(d,f.value.length),f.selectionStart=f.selectionEnd=e),wpLink.close(),f.focus()))},mceUpdate:function(){var b,c,d=tinyMCEPopup.editor,e=wpLink.getAttrs();return tinyMCEPopup.restoreSelection(),b=d.dom.getParent(d.selection.getNode(),"A"),e.href&&"http://"!=e.href?(null==b?(d.getDoc().execCommand("unlink",!1,null),tinyMCEPopup.execCommand("mceInsertLink",!1,"#mce_temp_url#",{skip_undo:1}),tinymce.each(d.dom.select("a"),function(a){"#mce_temp_url#"==d.dom.getAttrib(a,"href")&&(b=a,d.dom.setAttribs(b,e))}),tinymce.isWebKit&&"#mce_temp_url#"==a(b).text()&&(d.dom.remove(b),b=null)):d.dom.setAttribs(b,e),!b||1==b.childNodes.length&&"IMG"==b.firstChild.nodeName||(d.selection.select(b),d.selection.collapse(0),tinyMCEPopup.storeSelection()),d.execCommand("mceEndUndoLevel"),wpLink.close(),d.focus(),void 0):(b&&(c=d.selection.getBookmark(),d.dom.remove(b,1),d.selection.moveToBookmark(c),tinyMCEPopup.execCommand("mceEndUndoLevel"),wpLink.close()),void 0)},updateFields:function(a,b,c){e.url.val(b.children(".item-permalink").val()),e.title.val(b.hasClass("no-title")?"":b.children(".item-title").text()),c&&"click"==c.type&&e.url.focus()},setDefaultValues:function(){e.url.val("http://"),e.title.val(""),e.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(f.recent.hide(),f.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").show(),f.search.change(d),f.search.ajax(function(){b.hide()})}else f.search.hide(),f.recent.show()},next:function(){f.search.next(),f.recent.next()},prev:function(){f.search.prev(),f.recent.prev()},keydown:function(b){var c,d=a.ui.keyCode;switch(b.which){case d.UP:c="prev";case d.DOWN:c=c||"next",clearInterval(wpLink.keyInterval),wpLink[c](),wpLink.keyInterval=setInterval(wpLink[c],wpLink.keySensitivity);break;default:return}b.preventDefault()},keyup:function(b){var c=a.ui.keyCode;switch(b.which){case c.ESCAPE:return b.stopImmediatePropagation(),a(document).triggerHandler("wp_CloseOnEscape",[{event:b,what:"wplink",cb:wpLink.close}])||wpLink.close(),!1;case c.UP:case c.DOWN:clearInterval(wpLink.keyInterval);break;default:return}b.preventDefault()},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):(c=!0,void 0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,d=!0,void 0)}):a},toggleInternalLinking:function(b){var c=a("#search-panel"),d=e.dialog.wpdialog("widget"),f=!c.is(":visible"),g=a(window);a(this).toggleClass("toggle-arrow-active",f),e.dialog.height("auto"),c.slideToggle(300,function(){setUserSetting("wplink",f?"1":"0"),e[f?"search":"url"].focus();var a=g.scrollTop(),b=d.offset().top,c=b+d.outerHeight(),h=c-g.height();h>a&&d.animate({top:b>h?b-h:a},200)}),b.preventDefault()}},c=function(b,c){var d=this;this.element=b,this.ul=b.children("ul"),this.waiting=b.find(".river-waiting"),this.change(c),this.refresh(),b.scroll(function(){d.maybeLoad()}),b.delegate("li","click",function(b){d.select(a(this),b)})},a.extend(c.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 d(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.ul.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.ul.height()-wpLink.riverBottomThreshold||(a.waiting.show(),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.hide()}))},wpLink.timeToTriggerRiver)}}),d=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(d.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:e.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/js/zxcvbn-async.js b/wp-includes/js/zxcvbn-async.js
new file mode 100644 (file)
index 0000000..5654583
--- /dev/null
@@ -0,0 +1,17 @@
+(function() {
+  var async_load = function() {
+    var first, s;
+    s = document.createElement('script');
+    s.src = _zxcvbnSettings.src;
+    s.type = 'text/javascript';
+    s.async = true;
+    first = document.getElementsByTagName('script')[0];
+    return first.parentNode.insertBefore(s, first);
+  };
+
+  if (window.attachEvent != null) {
+    window.attachEvent('onload', async_load);
+  } else {
+    window.addEventListener('load', async_load, false);
+  }
+}).call(this);
diff --git a/wp-includes/js/zxcvbn-async.min.js b/wp-includes/js/zxcvbn-async.min.js
new file mode 100644 (file)
index 0000000..b8687b7
--- /dev/null
@@ -0,0 +1 @@
+(function(){var a=function(){var a,b;return b=document.createElement("script"),b.src=_zxcvbnSettings.src,b.type="text/javascript",b.async=!0,a=document.getElementsByTagName("script")[0],a.parentNode.insertBefore(b,a)};null!=window.attachEvent?window.attachEvent("onload",a):window.addEventListener("load",a,!1)}).call(this);
\ No newline at end of file
diff --git a/wp-includes/js/zxcvbn.min.js b/wp-includes/js/zxcvbn.min.js
new file mode 100644 (file)
index 0000000..2a94520
--- /dev/null
@@ -0,0 +1,43 @@
+(function(){var x,o,r,y,K,L,M,N,O,P,Q,R,z,q,A,S,T,U,u,V,W,X;u=function(b){return b.replace(/[a-zA-Z]/g,function(a){return String.fromCharCode(("Z">=a?90:122)>=(a=a.charCodeAt(0)+13)?a:a-26)})};Q=function(b){var a,d;d=[];for(a in b)d.push(a);return 0===d.length};z=function(b,a){return b.push.apply(b,a)};W=function(b,a){var d,c,e,f,g;f=b.split("");g=[];c=0;for(e=f.length;c<e;c++)d=f[c],g.push(a[d]||d);return g.join("")};S=function(b){var a,d,c,e;d=[];c=0;for(e=B.length;c<e;c++)a=B[c],z(d,a(b));return d.sort(function(a,
+b){return a.i-b.i||a.j-b.j})};O=function(b,a){var d,c,e,f,g,h,i,j,k;h=[];e=b.length;f=b.toLowerCase();f=u(f);for(d=j=0;0<=e?j<e:j>e;d=0<=e?++j:--j)for(c=k=d;d<=e?k<e:k>e;c=d<=e?++k:--k)if(f.slice(d,+c+1||9E9)in a)i=f.slice(d,+c+1||9E9),g=a[i],h.push({pattern:"dictionary",i:d,j:c,token:b.slice(d,+c+1||9E9),matched_word:u(i),rank:g});return h};r=function(b){var a,d,c,e,f;d={};a=1;e=0;for(f=b.length;e<f;e++)c=b[e],d[c]=a,a+=1;return d};o=function(b,a){return function(d){var c,e,f;c=O(d,a);e=0;for(f=
+c.length;e<f;e++)d=c[e],d.dictionary_name=b;return c}};A={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]};T=function(b){var a,d,c,e,f;d={};f=b.split("");c=0;for(e=f.length;c<e;c++)b=f[c],d[b]=!0;b={};for(a in A){e=A[a];var g=f=void 0,h=void 0,h=[];f=0;for(g=e.length;f<g;f++)c=e[f],c in d&&h.push(c);c=h;0<c.length&&(b[a]=c)}return b};R=function(b){var a,d,c,e,f,g,h,i,j,k,l,m,p;f=function(){var a;a=[];for(e in b)a.push(e);
+return a}();j=[[]];d=function(a){var b,c,d,f,g,i,h,j;c=[];f={};h=0;for(j=a.length;h<j;h++)g=a[h],b=function(){var a,b,c;c=[];i=a=0;for(b=g.length;a<b;i=++a)e=g[i],c.push([e,i]);return c}(),b.sort(),d=function(){var a,c,d;d=[];i=a=0;for(c=b.length;a<c;i=++a)e=b[i],d.push(e+","+i);return d}().join("-"),d in f||(f[d]=!0,c.push(g));return c};c=function(a){var f,e,g,i,h,k,l,p,m,n,o,r,q;if(a.length){e=a[0];h=a.slice(1);i=[];r=b[e];l=0;for(n=r.length;l<n;l++){a=r[l];p=0;for(o=j.length;p<o;p++){k=j[p];f=
+-1;g=m=0;for(q=k.length;0<=q?m<q:m>q;g=0<=q?++m:--m)if(k[g][0]===a){f=g;break}-1===f?(f=k.concat([[a,e]]),i.push(f)):(g=k.slice(0),g.splice(f,1),g.push([a,e]),i.push(k),i.push(g))}}j=d(i);return c(h)}};c(f);i=[];k=0;for(m=j.length;k<m;k++){g=j[k];h={};l=0;for(p=g.length;l<p;l++)a=g[l],f=a[0],a=a[1],h[f]=a;i.push(h)}return i};V=function(b,a,d){var c,e,f,g,h,i,j,k,l,m,p,s,n;l=[];for(i=0;i<b.length-1;){j=i+1;k=null;for(m=p=0;;){c=b.charAt(j-1);h=!1;g=-1;e=a[c]||[];if(j<b.length){f=b.charAt(j);s=0;for(n=
+e.length;s<n;s++)if(c=e[s],g+=1,c&&-1!==c.indexOf(f)){h=!0;1===c.indexOf(f)&&(m+=1);k!==g&&(p+=1,k=g);break}}if(h)j+=1;else{2<j-i&&l.push({pattern:"spatial",i:i,j:j-1,token:b.slice(i,j),graph:d,turns:p,shifted_count:m});i=j;break}}}return l};x={lower:"abcdefghijklmnopqrstuvwxyz",upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",digits:"01234567890"};U=function(b,a){var d,c;c=[];for(d=1;1<=a?d<=a:d>=a;1<=a?++d:--d)c.push(b);return c.join("")};q=function(b,a){var d,c;for(c=[];;){d=b.match(a);if(!d)break;d.i=d.index;
+d.j=d.index+d[0].length-1;c.push(d);b=b.replace(d[0],U(" ",d[0].length))}return c};P=/\d{3,}/;X=/19\d\d|200\d|201\d/;N=function(b){var a,d,c,e,f,g,h,i,j,k,l,m,p,s;e=[];s=q(b,/\d{4,8}/);k=0;for(m=s.length;k<m;k++){g=s[k];h=[g.i,g.j];g=h[0];h=h[1];c=b.slice(g,+h+1||9E9);a=c.length;d=[];6>=c.length&&(d.push({daymonth:c.slice(2),year:c.slice(0,2),i:g,j:h}),d.push({daymonth:c.slice(0,a-2),year:c.slice(a-2),i:g,j:h}));6<=c.length&&(d.push({daymonth:c.slice(4),year:c.slice(0,4),i:g,j:h}),d.push({daymonth:c.slice(0,
+a-4),year:c.slice(a-4),i:g,j:h}));c=[];l=0;for(p=d.length;l<p;l++)switch(a=d[l],a.daymonth.length){case 2:c.push({day:a.daymonth[0],month:a.daymonth[1],year:a.year,i:a.i,j:a.j});break;case 3:c.push({day:a.daymonth.slice(0,2),month:a.daymonth[2],year:a.year,i:a.i,j:a.j});c.push({day:a.daymonth[0],month:a.daymonth.slice(1,3),year:a.year,i:a.i,j:a.j});break;case 4:c.push({day:a.daymonth.slice(0,2),month:a.daymonth.slice(2,4),year:a.year,i:a.i,j:a.j})}l=0;for(p=c.length;l<p;l++)a=c[l],f=parseInt(a.day),
+i=parseInt(a.month),j=parseInt(a.year),f=y(f,i,j),d=f[0],j=f[1],f=j[0],i=j[1],j=j[2],d&&e.push({pattern:"date",i:a.i,j:a.j,token:b.slice(g,+h+1||9E9),separator:"",day:f,month:i,year:j})}return e};L=/(\d{1,2})(\s|-|\/|\\|_|\.)(\d{1,2})\2(19\d{2}|200\d|201\d|\d{2})/;K=/(19\d{2}|200\d|201\d|\d{2})(\s|-|\/|\\|_|\.)(\d{1,2})\2(\d{1,2})/;M=function(b){var a,d,c,e,f,g,h,i,j,k;e=[];j=q(b,L);g=0;for(i=j.length;g<i;g++)c=j[g],k=function(){var a,b,f,e;f=[1,3,4];e=[];a=0;for(b=f.length;a<b;a++)d=f[a],e.push(parseInt(c[d]));
+return e}(),c.day=k[0],c.month=k[1],c.year=k[2],c.sep=c[2],e.push(c);j=q(b,K);g=0;for(i=j.length;g<i;g++)c=j[g],k=function(){var a,b,f,e;f=[4,3,1];e=[];a=0;for(b=f.length;a<b;a++)d=f[a],e.push(parseInt(c[d]));return e}(),c.day=k[0],c.month=k[1],c.year=k[2],c.sep=c[2],e.push(c);k=[];i=0;for(j=e.length;i<j;i++)c=e[i],a=y(c.day,c.month,c.year),g=a[0],h=a[1],a=h[0],f=h[1],h=h[2],g&&k.push({pattern:"date",i:c.i,j:c.j,token:b.slice(c.i,+c.j+1||9E9),separator:c.sep,day:a,month:f,year:h});return k};y=function(b,
+a,d){12<=a&&31>=a&&12>=b&&(a=[a,b],b=a[0],a=a[1]);return 31<b||12<a||!(1900<=d&&2019>=d)?[!1,[]]:[!0,[b,a,d]]};var Y,Z,$,aa,D,ba,ca,da,ea,fa,ga,ha,ia,ja,n,ka,t,la,E,ma,na,oa;t=function(b,a){var d,c,e;if(a>b)return 0;if(0===a)return 1;for(d=e=c=1;1<=a?e<=a:e>=a;d=1<=a?++e:--e)c*=b,c/=d,b-=1;return c};n=function(b){return Math.log(b)/Math.log(2)};ka=function(b,a){var d,c,e,f,g,h,i,j,k,l,m;c=D(b);k=[];d=[];f=i=0;for(m=b.length;0<=m?i<m:i>m;f=0<=m?++i:--i){k[f]=(k[f-1]||0)+n(c);d[f]=null;j=0;for(l=a.length;j<
+l;j++)h=a[j],h.j===f&&(g=[h.i,h.j],e=g[0],g=g[1],e=(k[e-1]||0)+ba(h),e<k[g]&&(k[g]=e,d[g]=h))}i=[];for(f=b.length-1;0<=f;)(h=d[f])?(i.push(h),f=h.i-1):f-=1;i.reverse();d=function(a,d){return{pattern:"bruteforce",i:a,j:d,token:b.slice(a,+d+1||9E9),entropy:n(Math.pow(c,d-a+1)),cardinality:c}};f=0;j=[];l=0;for(m=i.length;l<m;l++)h=i[l],g=[h.i,h.j],e=g[0],g=g[1],0<e-f&&j.push(d(f,e-1)),f=g+1,j.push(h);f<b.length&&j.push(d(f,b.length-1));i=j;h=k[b.length-1]||0;f=ha(h);return{password:b,entropy:E(h,3),
+match_sequence:i,crack_time:E(f,3),crack_time_display:ga(f),score:ca(f)}};E=function(b,a){return Math.round(b*Math.pow(10,a))/Math.pow(10,a)};ha=function(b){return 5.0E-5*Math.pow(2,b)};ca=function(b){return b<Math.pow(10,2)?0:b<Math.pow(10,4)?1:b<Math.pow(10,6)?2:b<Math.pow(10,8)?3:4};ba=function(b){var a;if(null!=b.entropy)return b.entropy;a=function(){switch(b.pattern){case "repeat":return la;case "sequence":return ma;case "digits":return fa;case "year":return oa;case "date":return da;case "spatial":return na;
+case "dictionary":return ea}}();return b.entropy=a(b)};la=function(b){var a;a=D(b.token);return n(a*b.token.length)};ma=function(b){var a;a=b.token.charAt(0);a="a"===a||"1"===a?1:a.match(/\d/)?n(10):a.match(/[a-z]/)?n(26):n(26)+1;b.ascending||(a+=1);return a+n(b.token.length)};fa=function(b){return n(Math.pow(10,b.token.length))};oa=function(){return n(119)};da=function(b){var a;a=100>b.year?n(37200):n(44268);b.separator&&(a+=2);return a};na=function(b){var a,d,c,e,f,g,h,i,j,k;"qwerty"===(c=b.graph)||
+"dvorak"===c?(h=pa,d=qa):(h=ra,d=sa);f=0;a=b.token.length;i=b.turns;for(c=j=2;2<=a?j<=a:j>=a;c=2<=a?++j:--j){g=Math.min(i,c-1);for(e=k=1;1<=g?k<=g:k>=g;e=1<=g?++k:--k)f+=t(c-1,e-1)*h*Math.pow(d,e)}d=n(f);if(b.shifted_count){a=b.shifted_count;b=b.token.length-b.shifted_count;c=e=f=0;for(g=Math.min(a,b);0<=g?e<=g:e>=g;c=0<=g?++e:--e)f+=t(a+b,c);d+=n(f)}return d};ea=function(b){b.base_entropy=n(b.rank);b.uppercase_entropy=ja(b);b.l33t_entropy=ia(b);return b.base_entropy+b.uppercase_entropy+b.l33t_entropy};
+aa=/^[A-Z][^A-Z]+$/;$=/^[^A-Z]+[A-Z]$/;Z=/^[^a-z]+$/;Y=/^[^A-Z]+$/;ja=function(b){var a,d,c,e,f,g,h;f=b.token;if(f.match(Y))return 0;e=[aa,$,Z];a=0;for(c=e.length;a<c;a++)if(b=e[a],f.match(b))return 1;a=function(){var a,b,c,e;c=f.split("");e=[];a=0;for(b=c.length;a<b;a++)d=c[a],d.match(/[A-Z]/)&&e.push(d);return e}().length;b=function(){var a,b,c,e;c=f.split("");e=[];a=0;for(b=c.length;a<b;a++)d=c[a],d.match(/[a-z]/)&&e.push(d);return e}().length;c=g=e=0;for(h=Math.min(a,b);0<=h?g<=h:g>=h;c=0<=h?
+++g:--g)e+=t(a+b,c);return n(e)};ia=function(b){var a,d,c,e,f,g,h,i,j,k;if(!b.l33t)return 0;f=0;j=b.sub;for(g in j){h=j[g];a=function(){var a,d,e,f;e=b.token.split("");f=[];a=0;for(d=e.length;a<d;a++)c=e[a],c===g&&f.push(c);return f}().length;d=function(){var a,d,e,f;e=b.token.split("");f=[];a=0;for(d=e.length;a<d;a++)c=e[a],c===h&&f.push(c);return f}().length;e=i=0;for(k=Math.min(d,a);0<=k?i<=k:i>=k;e=0<=k?++i:--i)f+=t(d+a,e)}return n(f)||1};D=function(b){var a,d,c,e,f,g,h,i;f=[!1,!1,!1,!1,!1];c=
+f[0];g=f[1];d=f[2];e=f[3];f=f[4];i=b.split("");b=0;for(h=i.length;b<h;b++)a=i[b],a=a.charCodeAt(0),48<=a&&57>=a?d=!0:65<=a&&90>=a?g=!0:97<=a&&122>=a?c=!0:127>=a?e=!0:f=!0;b=0;d&&(b+=10);g&&(b+=26);c&&(b+=26);e&&(b+=33);f&&(b+=100);return b};ga=function(b){return 60>b?"instant":3600>b?""+(1+Math.ceil(b/60))+" minutes":86400>b?""+(1+Math.ceil(b/3600))+" hours":2678400>b?""+(1+Math.ceil(b/86400))+" days":32140800>b?""+(1+Math.ceil(b/2678400))+" months":321408E4>b?""+(1+Math.ceil(b/32140800))+" years":
+"centuries"};var F={"!":["`~",null,null,"2@","qQ",null],'"':[";:","[{","]}",null,null,"/?"],"#":["2@",null,null,"4$","eE","wW"],$:["3#",null,null,"5%","rR","eE"],"%":["4$",null,null,"6^","tT","rR"],"&":["6^",null,null,"8*","uU","yY"],"'":[";:","[{","]}",null,null,"/?"],"(":["8*",null,null,"0)","oO","iI"],")":["9(",null,null,"-_","pP","oO"],"*":["7&",null,null,"9(","iI","uU"],"+":["-_",null,null,null,"]}","[{"],",":["mM","kK","lL",".>",null,null],"-":["0)",null,null,"=+","[{","pP"],".":[",<","lL",
+";:","/?",null,null],"/":[".>",";:","'\"",null,null,null],"0":["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],":":"lL,pP,[{,'\",/?,.>".split(","),";":"lL,pP,[{,'\",/?,.>".split(","),"<":["mM","kK","lL",".>",null,
+null],"=":["-_",null,null,null,"]}","[{"],">":[",<","lL",";:","/?",null,null],"?":[".>",";:","'\"",null,null,null],"@":["1!",null,null,"3#","wW","qQ"],A:[null,"qQ","wW","sS","zZ",null],B:["vV","gG","hH","nN",null,null],C:["xX","dD","fF","vV",null,null],D:"sS,eE,rR,fF,cC,xX".split(","),E:"wW,3#,4$,rR,dD,sS".split(","),F:"dD,rR,tT,gG,vV,cC".split(","),G:"fF,tT,yY,hH,bB,vV".split(","),H:"gG,yY,uU,jJ,nN,bB".split(","),I:"uU,8*,9(,oO,kK,jJ".split(","),J:"hH,uU,iI,kK,mM,nN".split(","),K:"jJ iI oO lL ,< mM".split(" "),
+L:"kK oO pP ;: .> ,<".split(" "),M:["nN","jJ","kK",",<",null,null],N:["bB","hH","jJ","mM",null,null],O:"iI,9(,0),pP,lL,kK".split(","),P:"oO,0),-_,[{,;:,lL".split(","),Q:[null,"1!","2@","wW","aA",null],R:"eE,4$,5%,tT,fF,dD".split(","),S:"aA,wW,eE,dD,xX,zZ".split(","),T:"rR,5%,6^,yY,gG,fF".split(","),U:"yY,7&,8*,iI,jJ,hH".split(","),V:["cC","fF","gG","bB",null,null],W:"qQ,2@,3#,eE,sS,aA".split(","),X:["zZ","sS","dD","cC",null,null],Y:"tT,6^,7&,uU,hH,gG".split(","),Z:[null,"aA","sS","xX",null,null],
+"[":"pP,-_,=+,]},'\",;:".split(","),"\\":["]}",null,null,null,null,null],"]":["[{","=+",null,"\\|",null,"'\""],"^":["5%",null,null,"7&","yY","tT"],_:["0)",null,null,"=+","[{","pP"],"`":[null,null,null,"1!",null,null],a:[null,"qQ","wW","sS","zZ",null],b:["vV","gG","hH","nN",null,null],c:["xX","dD","fF","vV",null,null],d:"sS,eE,rR,fF,cC,xX".split(","),e:"wW,3#,4$,rR,dD,sS".split(","),f:"dD,rR,tT,gG,vV,cC".split(","),g:"fF,tT,yY,hH,bB,vV".split(","),h:"gG,yY,uU,jJ,nN,bB".split(","),i:"uU,8*,9(,oO,kK,jJ".split(","),
+j:"hH,uU,iI,kK,mM,nN".split(","),k:"jJ iI oO lL ,< mM".split(" "),l:"kK oO pP ;: .> ,<".split(" "),m:["nN","jJ","kK",",<",null,null],n:["bB","hH","jJ","mM",null,null],o:"iI,9(,0),pP,lL,kK".split(","),p:"oO,0),-_,[{,;:,lL".split(","),q:[null,"1!","2@","wW","aA",null],r:"eE,4$,5%,tT,fF,dD".split(","),s:"aA,wW,eE,dD,xX,zZ".split(","),t:"rR,5%,6^,yY,gG,fF".split(","),u:"yY,7&,8*,iI,jJ,hH".split(","),v:["cC","fF","gG","bB",null,null],w:"qQ,2@,3#,eE,sS,aA".split(","),x:["zZ","sS","dD","cC",null,null],y:"tT,6^,7&,uU,hH,gG".split(","),
+z:[null,"aA","sS","xX",null,null],"{":"pP,-_,=+,]},'\",;:".split(","),"|":["]}",null,null,null,null,null],"}":["[{","=+",null,"\\|",null,"'\""],"~":[null,null,null,"1!",null,null]},G={"*":["/",null,null,null,"-","+","9","8"],"+":["9","*","-",null,null,null,null,"6"],"-":["*",null,null,null,null,null,"+","9"],".":["0","2","3",null,null,null,null,null],"/":[null,null,null,null,"*","9","8","7"],"0":[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".",
+"0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:"4,7,8,9,6,3,2,1".split(","),6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"]},v,H,qa,pa,sa,ra,B,w,I,J;I={};v=[o("passwords",r("cnffjbeq,123456,12345678,1234,djregl,12345,qentba,chffl,onfronyy,sbbgonyy,yrgzrva,zbaxrl,696969,nop123,zhfgnat,funqbj,znfgre,111111,2000,wbeqna,fhcrezna,uneyrl,1234567,shpxzr,uhagre,shpxlbh,gehfgab1,enatre,ohfgre,gvttre,fbppre,shpx,ongzna,grfg,cnff,xvyyre,ubpxrl,puneyvr,ybir,fhafuvar,nffubyr,6969,crccre,npprff,123456789,654321,znttvr,fgnejnef,fvyire,qnyynf,lnaxrrf,123123,666666,uryyb,benatr,ovgrzr,serrqbz,pbzchgre,frkl,guhaqre,tvatre,unzzre,fhzzre,pbeirggr,shpxre,nhfgva,1111,zreyva,121212,tbysre,purrfr,cevaprff,puryfrn,qvnzbaq,lryybj,ovtqbt,frperg,nfqstu,fcnexl,pbjobl,pnzneb,zngevk,snypba,vybirlbh,thvgne,checyr,fpbbgre,cubravk,nnnnnn,gvtref,cbefpur,zvpxrl,znirevpx,pbbxvr,anfpne,crnahg,131313,zbarl,ubeal,fnznagun,cnagvrf,fgrryref,fabbcl,obbzre,jungrire,vprzna,fzbxrl,tngrjnl,qnxbgn,pbjoblf,rntyrf,puvpxra,qvpx,oynpx,mkpioa,sreenev,xavtug,uneqpber,pbzcnd,pbssrr,obbobb,ovgpu,ohyyqbt,kkkkkk,jrypbzr,cynlre,app1701,jvmneq,fpbbol,whavbe,vagrearg,ovtqvpx,oenaql,graavf,oybjwbo,onanan,zbafgre,fcvqre,ynxref,enoovg,ragre,zreprqrf,sraqre,lnznun,qvnoyb,obfgba,gvtre,znevar,puvpntb,enatref,tnaqnys,jvagre,ovtgvgf,onearl,envqref,cbea,onqobl,oybjzr,fcnaxl,ovtqnqql,purfgre,ybaqba,zvqavtug,oyhr,svfuvat,000000,unaanu,fynlre,11111111,frkfrk,erqfbk,guk1138,nfqs,zneyobeb,cnagure,mkpioaz,nefrany,dnmjfk,zbgure,7777777,wnfcre,jvaare,tbyqra,ohggurnq,ivxvat,vjnagh,natryf,cevapr,pnzreba,tveyf,znqvfba,ubbgref,fgnegerx,pncgnva,znqqbt,wnfzvar,ohggre,obbtre,tbys,ebpxrg,gurzna,yvirecbb,sybjre,sberire,zhssva,ghegyr,fbcuvr,erqfxvaf,gblbgn,fvreen,jvafgba,tvnagf,cnpxref,arjlbex,pnfcre,ohoon,112233,ybiref,zbhagnva,havgrq,qevire,uryczr,shpxvat,cbbxvr,yhpxl,znkjryy,8675309,orne,fhpxvg,tngbef,5150,222222,fuvgurnq,shpxbss,wnthne,ubgqbt,gvgf,trzvav,ybire,kkkkkkkk,777777,pnanqn,sybevqn,88888888,ebfrohq,zrgnyyvp,qbpgbe,gebhoyr,fhpprff,fghcvq,gbzpng,jneevbe,crnpurf,nccyrf,svfu,djreglhv,zntvp,ohqql,qbycuvaf,envaobj,thaare,987654,serqql,nyrkvf,oenirf,pbpx,2112,1212,pbpnpbyn,knivre,qbycuva,grfgvat,obaq007,zrzore,ibbqbb,7777,fnzfba,ncbyyb,sver,grfgre,ornivf,iblntre,cbeab,ehfu2112,orre,nccyr,fpbecvb,fxvccl,flqarl,erq123,cbjre,ornire,fgne,wnpxnff,sylref,obbof,232323,mmmmmm,fpbecvba,qbttvr,yrtraq,bh812,lnaxrr,oynmre,ehaare,oveqvr,ovgpurf,555555,gbctha,nfqsnfqs,urnira,ivcre,navzny,2222,ovtobl,4444,cevingr,tbqmvyyn,yvsrunpx,cunagbz,ebpx,nhthfg,fnzzl,pbby,cyngvahz,wnxr,oebapb,urxn6j2,pbccre,phzfubg,tnesvryq,jvyybj,phag,fyhg,69696969,xvggra,fhcre,wbeqna23,rntyr1,furyol,nzrevpn,11111,serr,123321,puril,ohyyfuvg,oebapbf,ubearl,fhesre,avffna,999999,fnghea,nveobear,ryrcunag,fuvg,npgvba,nqvqnf,djreg,1313,rkcybere,cbyvpr,puevfgva,qrprzore,jbys,fjrrg,gurebpx,bayvar,qvpxurnq,oebbxyla,pevpxrg,enpvat,cravf,0000,grraf,erqjvatf,qernzf,zvpuvtna,uragnv,zntahz,87654321,qbaxrl,gevavgl,qvtvgny,333333,pnegzna,thvaarff,123nop,fcrrql,ohssnyb,xvggl,cvzcva,rntyr,rvafgrva,aveinan,inzcver,kkkk,cynlobl,chzcxva,fabjonyy,grfg123,fhpxre,zrkvpb,orngyrf,snagnfl,prygvp,pureel,pnffvr,888888,favcre,trarfvf,ubgebq,erqqbt,nyrknaqr,pbyyrtr,wrfgre,cnffj0eq,ovtpbpx,ynfirtnf,fyvcxabg,3333,qrngu,1d2j3r,rpyvcfr,1d2j3r4e,qehzzre,zbagnan,zhfvp,nnnn,pnebyvan,pbybenqb,perngvir,uryyb1,tbbore,sevqnl,obyybpxf,fpbggl,nopqrs,ohooyrf,unjnvv,syhssl,ubefrf,guhzcre,5555,chffvrf,qnexarff,nfqstuwx,obbovrf,ohqqun,fnaqzna,anhtugl,ubaqn,nmregl,6666,fubegl,zbarl1,ornpu,ybirzr,4321,fvzcyr,cbbuorne,444444,onqnff,qrfgval,ivxvatf,yvmneq,nffzna,avagraqb,123djr,abirzore,kkkkk,bpgbore,yrngure,onfgneq,101010,rkgerzr,cnffjbeq1,chffl1,ynpebffr,ubgznvy,fcbbxl,nzngrhe,nynfxn,onqtre,cnenqvfr,znelwnar,cbbc,zbmneg,ivqrb,intvan,fcvgsver,purebxrr,pbhtne,420420,ubefr,ravtzn,envqre,oenmvy,oybaqr,55555,qhqr,qebjffnc,ybiryl,1dnm2jfk,obbgl,favpxref,avccyrf,qvrfry,ebpxf,rzvarz,jrfgfvqr,fhmhxv,cnffvba,uhzzre,ynqvrf,nycun,fhpxzr,147147,cvengr,frzcresv,whcvgre,erqehz,serrhfre,jnaxre,fgvaxl,qhpngv,cnevf,onoltvey,jvaqbjf,fcvevg,cnagren,zbaqnl,cngpurf,oehghf,fzbbgu,crathva,zneyrl,sberfg,pernz,212121,synfu,znkvzhf,avccyr,ivfvba,cbxrzba,punzcvba,sverzna,vaqvna,fbsgonyy,cvpneq,flfgrz,pboen,rawbl,yhpxl1,obbtvr,znevarf,frphevgl,qvegl,nqzva,jvyqpngf,cvzc,qnapre,uneqba,shpxrq,nopq1234,nopqrst,vebazna,jbyireva,serrcnff,ovterq,fdhveg,whfgvpr,uboorf,crneywnz,zrephel,qbzvab,9999,enfpny,uvgzna,zvfgerff,oooooo,crrxnobb,anxrq,ohqyvtug,ryrpgevp,fyhgf,fgnetngr,fnvagf,obaqntr,ovtzna,mbzovr,fjvzzvat,qhxr,djregl1,onorf,fpbgynaq,qvfarl,ebbfgre,zbbxvr,fjbeqsvf,uhagvat,oyvax182,8888,fnzfhat,ohoon1,juber,trareny,cnffcbeg,nnnnnnnn,rebgvp,yvoregl,nevmban,nopq,arjcbeg,fxvccre,ebyygvqr,onyyf,unccl1,tnyber,puevfg,jrnfry,242424,jbzong,qvttre,pynffvp,ohyyqbtf,cbbcbb,nppbeq,cbcpbea,ghexrl,ohaal,zbhfr,007007,gvgnavp,yvirecbby,qernzre,riregba,puriryyr,cflpub,arzrfvf,cbagvnp,pbaabe,rngzr,yvpxzr,phzzvat,verynaq,fcvqrezn,cngevbgf,tboyhr,qrivyf,rzcver,nfqst,pneqvany,funttl,sebttl,djre,xnjnfnxv,xbqvnx,cucoo,54321,pubccre,ubbxre,julabg,yrfovna,fanxr,grra,app1701q,dddddd,nvecynar,oevgarl,ninyba,fhtne,fhoyvzr,jvyqpng,enira,fpnesnpr,ryvmnorg,123654,gehpxf,jbyscnpx,creireg,erqurnq,nzrevpna,onzonz,jbbql,funirq,fabjzna,gvtre1,puvpxf,encgbe,1969,fgvatenl,fubbgre,senapr,fgnef,znqznk,fcbegf,789456,fvzcfbaf,yvtugf,puebavp,ununun,cnpxneq,uraqevk,freivpr,fcevat,fevavinf,fcvxr,252525,ovtznp,fhpx,fvatyr,cbcrlr,gnggbb,grknf,ohyyrg,gnhehf,fnvybe,jbyirf,cnaguref,wncna,fgevxr,chfflpng,puevf1,ybireobl,oreyva,fgvpxl,gneurryf,ehffvn,jbystnat,grfggrfg,zngher,pngpu22,whvpr,zvpunry1,avttre,159753,nycun1,gebbcre,unjxrlr,sernxl,qbqtref,cnxvfgna,znpuvar,clenzvq,irtrgn,xngnan,zbbfr,gvaxre,pblbgr,vasvavgl,crcfv,yrgzrva1,onat,urephyrf,wnzrf1,gvpxyr,bhgynj,oebjaf,ovyylobo,cvpxyr,grfg1,fhpxf,cnivyvba,punatrzr,pnrfne,ceryhqr,qnexfvqr,objyvat,jhgnat,fhafrg,nynonzn,qnatre,mrccryva,cccccc,2001,cvat,qnexfgne,znqbaan,djr123,ovtbar,pnfvab,puneyvr1,zzzzzz,vagrten,jenatyre,ncnpur,gjrrgl,djregl12,obonsrgg,genafnz,2323,frnggyr,ffffff,bcrahc,cnaqben,chfflf,gehpxre,vaqvtb,fgbez,znyvoh,jrrq,erivrj,onolqbyy,qbttl,qvyoreg,crtnfhf,wbxre,pngsvfu,syvccre,shpxvg,qrgebvg,purlraar,oehvaf,fzbxr,znevab,srgvfu,ksvyrf,fgvatre,cvmmn,onor,fgrnygu,znahgq,thaqnz,prffan,ybatubea,cerfnevb,zaoipkm,jvpxrq,zhfgnat1,ivpgbel,21122112,njrfbzr,nguran,d1j2r3e4,ubyvqnl,xavpxf,erqarpx,12341234,tvmzb,fphyyl,qentba1,qrivyqbt,gevhzcu,oyhroveq,fubgtha,crrjrr,natry1,zrgnyyvpn,znqzna,vzcnyn,yraaba,bzrtn,npprff14,ragrecev,frnepu,fzvggl,oyvmmneq,havpbea,gvtug,nfqs1234,gevttre,gehpx,ornhgl,gunvynaq,1234567890,pnqvyynp,pnfgyr,obopng,ohqql1,fhaal,fgbarf,nfvna,ohgg,ybirlbh,uryysver,ubgfrk,vaqvnan,cnamre,ybarjbys,gehzcrg,pbybef,oynfgre,12121212,sveronyy,cerpvbhf,whatyr,ngynagn,tbyq,pbeban,cbynevf,gvzore,gurbar,onyyre,puvccre,fxlyvar,qentbaf,qbtf,yvpxre,ratvarre,xbat,crapvy,onfxrgon,ubearg,oneovr,jrgchffl,vaqvnaf,erqzna,sbbone,geniry,zbecurhf,gnetrg,141414,ubgfghss,cubgbf,ebpxl1,shpx_vafvqr,qbyyne,gheob,qrfvta,ubggvr,202020,oybaqrf,4128,yrfgng,ningne,tbsbevg,enaqbz,noteglh,wwwwww,pnapre,d1j2r3,fzvyrl,rkcerff,ivetva,mvccre,jevaxyr1,onolyba,pbafhzre,zbaxrl1,freravgl,fnzhenv,99999999,ovtobbof,fxrrgre,wbrwbr,znfgre1,nnnnn,pubpbyng,puevfgvn,fgrcunav,gnat,1234djre,98765432,frkhny,znkvzn,77777777,ohpxrlr,uvtuynaq,frzvabyr,erncre,onffzna,ahttrg,yhpvsre,nvesbepr,anfgl,jneybpx,2121,qbqtr,puevffl,ohetre,fangpu,cvax,tnat,znqqvr,uhfxref,cvtyrg,cubgb,qbqtre,cnynqva,puhool,ohpxrlrf,unzyrg,nopqrstu,ovtsbbg,fhaqnl,znafba,tbyqsvfu,tneqra,qrsgbarf,vprpernz,oybaqvr,fcnegna,punetre,fgbezl,whiraghf,tnynkl,rfpbeg,mkpio,cynarg,oyhrf,qnivq1,app1701r,1966,51505150,pninyvre,tnzovg,evccre,bvph812,alybaf,nneqinex,juvfxrl,ovat,cynfgvp,nany,onolyba5,ybfre,enprpne,vafnar,lnaxrrf1,zrzrzr,unafbyb,puvrsf,serqserq,sernx,sebt,fnyzba,pbapergr,mkpi,funzebpx,ngynagvf,jbeqcnff,ebzzry,1010,cerqngbe,znffvir,pngf,fnzzl1,zvfgre,fghq,znenguba,ehoore,qvat,gehaxf,qrfver,zbagerny,whfgzr,snfgre,vevfu,1999,wrffvpn1,nycvar,qvnzbaqf,00000,fjvatre,funa,fgnyyvba,cvgohyy,yrgzrva2,zvat,funqbj1,pyvgbevf,shpxref,wnpxbss,oyhrfxl,fhaqnapr,erartnqr,ubyyljbb,151515,jbyszna,fbyqvre,yvat,tbqqrff,znantre,fjrrgl,gvgnaf,snat,svpxra,avaref,ohooyr,uryyb123,vonarm,fjrrgcrn,fgbpxvat,323232,gbeanqb,pbagrag,nentbea,gebwna,puevfgbc,ebpxfgne,trebavzb,cnfpny,pevzfba,tbbtyr,sngpng,ybirybir,phagf,fgvzcl,svatre,jurryf,ivcre1,yngva,terraqnl,987654321,pernzcvr,uvcubc,fanccre,shagvzr,qhpx,gebzobar,nqhyg,pbbxvrf,zhyqre,jrfgunz,yngvab,wrrc,eniraf,qevmmg,znqarff,raretl,xvaxl,314159,fyvpx,ebpxre,55555555,zbatbbfr,fcrrq,qqqqqq,pngqbt,purat,tubfg,tbtbtb,gbggraun,phevbhf,ohggresy,zvffvba,wnahnel,funex,grpuab,ynapre,ynynyn,puvpuv,bevba,gevkvr,qrygn,oboobo,obzore,xnat,1968,fchaxl,yvdhvq,orntyr,tenaal,argjbex,xxxxxx,1973,ovttvr,orrgyr,grnpure,gbebagb,nanxva,travhf,pbpxf,qnat,xnengr,fanxrf,onatxbx,shpxlbh2,cnpvsvp,qnlgban,vasnagel,fxljnyxr,fnvyvat,envfgyva,inaunyra,uhnat,oynpxvr,gnemna,fgevqre,fureybpx,tbat,qvrgpbxr,hygvzngr,funv,fcevgr,gvat,negvfg,punv,punb,qrivy,clguba,avawn,lgerjd,fhcresyl,456789,gvna,wvat,wrfhf1,serrqbz1,qecrccre,pubh,uboovg,fura,abyvzvg,zlybir,ovfphvg,lnubb,funfgn,frk4zr,fzbxre,crooyrf,cvpf,cuvyyl,gbat,gvagva,yrfovnaf,pnpghf,senax1,gggggg,puha,qnaav,rzrenyq,fubjzr,cvengrf,yvna,qbtt,kvnb,kvna,gnmzna,gnaxre,gbfuvon,tbgpun,enat,xrat,wnmm,ovtthl,lhna,gbzgbz,punbf,sbffvy,enprek,pernzl,obob,zhfvpzna,jnepensg,oynqr,fuhnat,fuha,yvpx,wvna,zvpebfbsg,ebat,srat,trgfbzr,dhnyvgl,1977,orat,jjjjjj,lblblb,munat,frat,uneqre,dnmkfj,dvna,pbat,puhna,qrat,anat,obrvat,xrrcre,jrfgrea,1963,fhoneh,furat,guhtyvsr,grat,wvbat,zvnb,znat,znavnp,chffvr,n1o2p3,mubh,muhnat,kvat,fgbarpby,fclqre,yvnat,wvnat,zrzcuvf,prat,zntvp1,ybtvgrpu,puhnat,frfnzr,funb,cbvfba,gvggl,xhna,xhnv,zvna,thna,unzfgre,thnv,sreerg,trat,qhna,cnat,znvqra,dhna,iryirg,abat,arat,abbxvr,ohggbaf,ovna,ovatb,ovnb,mubat,mrat,muha,lvat,mbat,khna,mnat,0.0.000,fhna,furv,fuhv,funexf,funat,fuhn,crat,cvna,cvnb,yvnb,zrat,zvnzv,erat,thnat,pnat,ehna,qvnb,yhna,dvat,puhv,puhb,phna,ahna,avat,urat,uhna,xnafnf,zhfpyr,jrat,1cnffjbe,oyhrzbba,muhv,muhn,kvnat,murat,mura,murv,munb,muna,lbznzn,munv,muhb,mhna,gneurry,fubh,fuhb,gvnb,yrat,xhnat,wvnb,13579,onfxrg,dvnb,dvbat,dvnat,puhnv,avna,avnb,avnat,uhnv,22222222,muhna,muhnv,fuhna,fuhnv,fgneqhfg,whzcre,66666666,puneybgg,djregm,obarf,jngreybb,2002,11223344,byqzna,genvaf,iregvtb,246810,oynpx1,fjnyybj,fzvyrf,fgnaqneq,nyrknaqe,cneebg,hfre,1976,fhesvat,cvbarre,nccyr1,nfqnfq,nhohea,unaavony,sebagvre,cnanzn,jrypbzr1,irggr,oyhr22,furznyr,111222,onttvaf,tebbil,tybony,181818,1979,oynqrf,fcnaxvat,olgrzr,ybofgre,qnjt,wncnarfr,1970,1964,2424,cbyb,pbpb,qrrqrr,zvxrl,1972,171717,1701,fgevc,wrefrl,terra1,pncvgny,chggre,inqre,frira7,onafurr,teraqry,qvpxf,uvqqra,vybirh,1980,yrqmrc,147258,srznyr,ohttre,ohssrgg,zbyfba,2020,jbbxvr,fcevag,wrevpub,102030,enatre1,gerobe,qrrcguebng,obarurnq,zbyyl1,zventr,zbqryf,1984,2468,fubjgvzr,fdhveery,cragvhz,navzr,tngbe,cbjqre,gjvfgre,pbaarpg,arcghar,ratvar,rngfuvg,zhfgnatf,jbbql1,fubtha,frcgrzor,cbbu,wvzob,ehffvna,fnovar,iblrhe,2525,363636,pnzry,treznal,tvnag,dddd,ahqvfg,obar,fyrrcl,grdhvyn,svtugre,bovjna,znxniryv,inpngvba,jnyahg,1974,ynqloht,pnagban,ppovyy,fngna,ehfgl1,cnffjbe1,pbyhzovn,xvffzr,zbgbebyn,jvyyvnz1,1967,mmmm,fxngre,fzhg,znggurj1,inyyrl,pbbyvb,qnttre,obare,ohyy,ubeaqbt,wnfba1,crathvaf,erfphr,tevssrl,8w4lr3hm,pnyvsbea,punzcf,djreglhvbc,cbegynaq,pbyg45,kkkkkkk,knanqh,gnpbzn,pnecrg,tttttt,fnsrgl,cnynpr,vgnyvn,cvpghef,cvpnffb,gubatf,grzcrfg,nfq123,unvel,sbkgebg,avzebq,ubgobl,343434,1111111,nfqstuwxy,tbbfr,bireybeq,fgenatre,454545,funbyva,fbbaref,fbpengrf,fcvqrezna,crnahgf,13131313,naqerj1,svygul,bulrnu,nsevpn,vagercvq,cvpxyrf,nffnff,sevtug,cbgngb,uuuuuu,xvatqbz,jrrmre,424242,crcfv1,guebng,ybbxre,chccl,ohgpu,fjrrgf,zrtnqrgu,nanyfrk,alzrgf,qqqqqqq,ovtonyyf,bnxynaq,bbbbbb,djrnfq,puhpxl,pneebg,punetref,qvfpbire,qbbxvr,pbaqbe,ubeal1,fhaevfr,fvaare,wbwb,zrtncnff,znegvav,nffshpx,ssssss,zhfuebbz,wnznvpn,7654321,77777,pppppp,tvmzbqb,genpgbe,zlcnff,ubatxbat,1975,oyhr123,cvffvat,gubznf1,erqerq,onfxrgonyy,fngna666,qhoyva,obyybk,xvatxbat,1971,22222,272727,frkk,oooo,tevmmyl,cnffng,qrsvnag,objyre,xavpxref,zbavgbe,jvfqbz,fynccl,gube,yrgftb,eboreg1,oebjavr,098765,cynlgvzr,yvtugava,ngbzvp,tbxh,yyyyyy,djnfmk,pbfzbf,obfpb,xavtugf,ornfg,fyncfubg,nffjbeq,sebfgl,qhzonff,znyyneq,qqqq,159357,gvgyrvfg,nhffvr,tbysvat,qbbovr,ybirvg,jrerjbys,ivcref,1965,oynoyn,fhes,fhpxvat,gneqvf,gurtnzr,yrtvba,eroryf,fnenu1,barybir,ybhybh,gbgb,oynpxpng,0007,gnpboryy,fbppre1,wrqv,zrgubq,cbbcvr,obbo,oernfg,xvgglpng,oryyl,cvxnpuh,guhaqre1,gunaxlbh,prygvpf,sebttre,fpbbolqb,fnoongu,pbygenar,ohqzna,wnpxny,mmmmm,yvpxvat,tbcure,trurvz,ybarfgne,cevzhf,cbbcre,arjcnff,oenfvy,urngure1,uhfxre,ryrzrag,zbbzbb,orrspnxr,mmmmmmmm,fuvggl,fzbxva,wwww,nagubal1,nahovf,onpxhc,tbevyyn,shpxsnpr,ybjevqre,chaxebpx,genssvp,qrygn1,nznmba,sngnff,qbqtrenz,qvatqbat,dddddddd,oernfgf,obbgf,ubaqn1,fcvqrl,cbxre,grzc,wbuawbua,147852,nffubyr1,qbtqbt,gevpxl,pehfnqre,flenphfr,fcnaxzr,fcrnxre,zrevqvna,nznqrhf,uneyrl1,snypbaf,ghexrl50,xrajbbq,xrlobneq,vybirfrk,1978,funmnz,funybz,yvpxvg,wvzobo,ebyyre,sngzna,fnaqvrtb,zntahf,pbbyqhqr,pybire,zbovyr,cyhzore,grknf1,gbby,gbccre,znevaref,erory,pnyvragr,pryvpn,bksbeq,bfvevf,betnfz,chaxva,cbefpur9,ghrfqnl,oerrmr,obffzna,xnatnebb,yngvanf,nfgebf,fpehssl,djreglh,urnegf,wnzzre,wnin,1122,tbbqgvzr,puryfrn1,serpxyrf,sylobl,qbbqyr,aroenfxn,obbgvr,xvpxre,jroznfgre,ihypna,191919,oyhrrlrf,321321,snefvqr,ehtol,qverpgbe,chffl69,cbjre1,urefurl,urezrf,zbabcbyl,oveqzna,oyrffrq,oynpxwnp,fbhgurea,crgrecna,guhzof,shpxlbh1,eeeeee,n1o2p3q4,pbxr,obuvpn,ryivf1,oynpxl,fragvary,fanxr1,evpuneq1,1234nopq,thneqvna,pnaqlzna,svfgvat,fpneyrg,qvyqb,cnapub,znaqvatb,yhpxl7,pbaqbz,zhapuxva,ovyylobl,fhzzre1,fjbeq,fxvvat,fvgr,fbal,gubat,ebbgorre,nffnffva,sssss,svgarff,qhenatb,cbfgny,npuvyyrf,xvffrf,jneevbef,cylzbhgu,gbcqbt,nfgrevk,unyyb,pnzrygbr,shpxshpx,rrrrrr,fvguybeq,gurxvat,niratre,onpxqbbe,puriebyr,genapr,pbfjbegu,ubhfrf,ubzref,rgreavgl,xvatcva,ireongvz,vaphohf,1961,oybaq,mncubq,fuvybu,fchef,zvtugl,nyvraf,puneyl,qbtzna,bzrtn1,cevagre,nttvrf,qrnqurnq,ovgpu1,fgbar55,cvarnccy,gurxvq,ebpxrgf,pnzryf,sbezhyn,benpyr,chffrl,cbexpubc,nopqr,pynapl,zlfgvp,vasreab,oynpxqbt,fgrir1,nysn,tehzcl,synzrf,chssl,cebkl,inyunyyn,haerny,ureovr,ratntr,llllll,010101,cvfgby,pryro,tttt,cbeghtny,n12345,arjovr,zzzz,1dnmkfj2,mbeeb,jevgre,fgevccre,fronfgvn,fcernq,yvaxf,zrgny,1221,565656,shasha,gebwnaf,plore,uheevpna,zbarlf,1k2mxt8j,mrhf,gbzngb,yvba,ngynagvp,hfn123,genaf,nnnnnnn,ubzreha,ulcrevba,xriva1,oynpxf,44444444,fxvggyrf,sneg,tnatonat,shone,fnvyobng,bvyref,ohfgre1,uvgurer,vzzbegny,fgvpxf,cvybg,yrkznex,wrexbss,znelynaq,purref,cbffhz,phggre,zhccrg,fjbeqsvfu,fcbeg,fbavp,crgre1,wrgueb,ebpxba,nfqstuw,cnff123,cbeabf,app1701n,obbglf,ohggzna,obawbhe,1960,ornef,362436,fcnegnaf,gvazna,guerrfbz,znkznk,1414,ooooo,pnzrybg,purjvr,tbtb,shfvba,fnvag,qvyyvtns,abcnff,uhfgyre,uhagre1,juvgrl,ornfg1,lrflrf,fcnax,fzhqtr,cvaxsybl,cngevbg,yrfcnhy,unzzref,sbezhyn1,fnhfntr,fpbbgre1,bevbyrf,bfpne1,pbybzovn,penzcf,rkbgvp,vthnan,fhpxref,fynir,gbcpng,ynaprybg,zntryna,enpre,pehapu,oevgvfu,fgrcu,456123,fxvaal,frrxvat,ebpxuneq,svygre,sernxf,fnxhen,cnpzna,cbbagnat,arjyvsr,ubzre1,xyvatba,jngpure,jnyyrlr,gnfgl,fvangen,fgnefuvc,fgrry,fgneohpx,cbapub,nzore1,tbamb,pngureva,pnaqyr,sversyl,tboyva,fpbgpu,qvire,hfzp,uhfxvrf,xraghpxl,xvgxng,orpxunz,ovplpyr,lbhezbz,fghqvb,33333333,fcynfu,wvzzl1,12344321,fnccuver,znvyzna,envqref1,qqqqq,rkpnyvoh,vyyvav,vzcrevny,ynafvat,znkk,tbguvp,tbysonyy,snpvny,sebag242,znpqnqql,djre1234,irpgen,pbjoblf1,penml1,qnaalobl,ndhnevhf,senaxl,ssss,fnffl,cccc,cccccccc,cebqvtl,abbqyr,rngchffl,ibegrk,jnaxvat,ovyyl1,fvrzraf,cuvyyvrf,tebhcf,puril1,pppp,tttttttt,qbhtuobl,qenphyn,ahefrf,ybpb,ybyyvcbc,hgbcvn,puebab,pbbyre,arinqn,jvooyr,fhzzvg,1225,pncbar,shtnmv,cnaqn,dnmjfkrq,chccvrf,gevgba,9876,aaaaaa,zbzbarl,vsbetbg,jbysvr,fghqyl,unzohet,81shxxp,741852,pngzna,puvan,tnttvat,fpbgg1,bertba,djrdjr,penmlono,qnavry1,phgynff,ubyrf,zbguref,zhfvp1,jnyehf,1957,ovtgvzr,kgerzr,fvzon,ffff,ebbxvr,onguvat,ebggra,znrfgeb,gheob1,99999,ohggubyr,uuuu,lbqn,funavn,cuvfu,gurpng,evtugabj,onqqbt,terngbar,tngrjnl1,nofge,ancfgre,oevna1,obtneg,uvgyre,jvyqsver,wnpxfba1,1981,ornare,lblb,0.0.0.000,fhcre1,fryrpg,fahttyrf,fyhggl,cubravk1,grpuavpf,gbba,enira1,enlenl,123789,1066,nyovba,terraf,trfcreeg,oehpryrr,ururur,xryyl1,zbwb,1998,ovxvav,jbbsjbbs,llll,fgenc,fvgrf,prageny,s**x,alwrgf,chavfure,hfreanzr,inavyyn,gjvfgrq,ohatubyr,ivnten,irevgnf,cbal,gvggf,ynogrp,wraal1,znfgreongr,znlurz,erqohyy,tbibyf,terzyva,505050,tzbarl,ebiref,qvnzbaq1,gevqrag,noabezny,qrfxwrg,phqqyrf,oevfgby,zvynab,iu5150,wneurnq,1982,ovtoveq,ovmxvg,fvkref,fyvqre,fgne69,fgnesvfu,crargengvba,gbzzl1,wbua316,pnyvthyn,syvpxf,svyzf,envyebnq,pbfzb,pguhyuh,oe0q3e,orneorne,fjrqvfu,fcnja,cngevpx1,erqf,nanepul,tebbir,shpxure,bbbb,nveohf,pboen1,pyvcf,qryrgr,qhfgre,xvggl1,zbhfr1,zbaxrlf,wnmmzna,1919,262626,fjvatvat,fgebxr,fgbpxf,fgvat,cvccra,ynoenqbe,wbeqna1,whfgqbvg,zrngonyy,srznyrf,irpgbe,pbbgre,qrsraqre,avxr,ohoonf,obaxref,xnuhan,jvyqzna,4121,fvevhf,fgngvp,cvrepvat,greebe,grrantr,yrryrr,zvpebfbs,zrpunavp,ebobgrpu,engrq,punfre,fnyfreb,znpebff,dhnaghz,gfhanzv,qnqql1,pehvfr,arjcnff6,ahqrf,uryylrnu,1959,mnd12jfk,fgevxre,fcvpr,fcrpgehz,fzrtzn,guhzo,wwwwwwww,zryybj,pnapha,pnegbba,fnoerf,fnzvnz,benatrf,bxynubzn,yhfg,qranyv,ahqr,abbqyrf,oerfg,ubbgre,zzzzzzzz,jnegubt,oyhroyhr,mnccn,jbyirevar,favssvat,wwwww,pnyvpb,serrr,ebire,cbbgre,pybfrhc,obafnv,rzvyl1,xrlfgbar,vvvv,1955,lmrezna,gurobff,gbyxvra,zrtnzna,enfgn,oooooooo,uny9000,tbbsl,tevatb,tbsvfu,tvmzb1,fnzfnz,fphon,baylzr,gggggggg,pbeenqb,pybja,pyncgba,ohyyf,wnlunjx,jjjj,funexl,frrxre,ffffffff,cvyybj,gurfvzf,yvtugre,yxwuts,zryvffn1,znepvhf2,thvarff,tlzanfg,pnfrl1,tbnyvr,tbqfznpx,ybyb,enatref1,cbccl,pyrzfba,pyvccre,qrrmahgf,ubyyl1,rrrr,xvatfgba,lbfrzvgr,fhpxrq,frk123,frkl69,cvp\\'f,gbzzlobl,znfgreongvat,tergmxl,uncclqnl,sevfpb,bepuvq,benatr1,znapurfg,noreqrra,ar1469,obkvat,xbea,vagrepbhefr,161616,1985,mvttl,fhcrefgn,fgbarl,nzngher,onolobl,opsvryqf,tbyvngu,unpx,uneqebpx,sebqb,fpbhg,fpenccl,dnmdnm,genpxre,npgvir,penivat,pbzznaqb,pbuvon,plpybar,ohoon69,xngvr1,zcrtf,ifrtqn,vevfu1,frkl1,fzryyl,fdhregvat,yvbaf,wbxref,wbwbwb,zrngurnq,nfuyrl1,tebhpub,purrgnu,punzc,sversbk,tnaqnys1,cnpxre,ybir69,glyre1,glcubba,ghaqen,obool1,xrajbegu,ivyyntr,ibyyrl,jbys359,0420,000007,fjvzzre,fxlqvir,fzbxrf,crhtrbg,cbzcrl,yrtbynf,erqubg,ebqzna,erqnyreg,tencrf,4ehaare,pneeren,sybccl,bh8122,dhnggeb,pybhq9,qnivqf,absrne,ohfgl,ubzrznqr,zzzzz,juvfcre,irezbag,jroznfgr,jvirf,vafregvba,wnlwnl,cuvyvcf,gbcure,grzcgerff,zvqtrg,evcxra,unirsha,pnaba,pryroevgl,turggb,entanebx,hfanil,pbabire,pehvfre,qnyfur,avpbyr1,ohmmneq,ubggrfg,xvatsvfu,zvfsvg,zvysarj,jneybeq,jnffhc,ovtfrkl,oynpxunj,mvccl,gvtugf,xhatsh,ynovn,zrngybns,nern51,ongzna1,onananf,636363,ttttt,cnenqbk,dhrraf,nqhygf,nvxvqb,pvtnef,ubbfvre,rrlber,zbbfr1,jnerm,vagrenpvny,fgernzvat,313131,cregvanag,cbby6123,znlqnl,navzngrq,onaxre,onqqrfg,tbeqba24,ppppp,snagnfvrf,nvfna,qrnqzna,ubzrcntr,rwnphyngvba,jubpnerf,vfpbby,wnzrfoba,1956,1chffl,jbznz,fjrqra,fxvqbb,fcbpx,fffff,crccre1,cvaurnq,zvpeba,nyyfbc,nzfgreqn,thaane,666999,sroehnel,syrgpu,trbetr1,fnccre,fnfun1,yhpxlqbt,ybire1,zntvpx,cbcbcb,hygvzn,plcerff,ohfvarffonor,oenaqba1,ihyin,iiii,wnoebav,ovtorne,lhzzl,010203,frnenl,frperg1,fvaonq,frkkkk,fbyrvy,fbsgjner,cvppbyb,guvegrra,yrbcneq,yrtnpl,zrzberk,erqjvat,enfchgva,134679,nasvryq,terraonl,pngpng,srngure,fpnaare,cn55jbeq,pbagbegvbavfg,qnamvt,qnvfl1,uberf,rkbqhf,vvvvvv,1001,fhojnl,fanccyr,farnxref,fbalshpx,cvpxf,cbbqyr,grfg1234,yyyy,wharoht,znexre,zryyba,ebanyqb,ebnqxvyy,nznaqn1,nfqswxy,ornpurf,terng1,purreyrnref,qbvgabj,bmml,obkfgre,oevtugba,ubhfrjvsrf,xxxx,zaoipk,zbbpbj,ivqrf,1717,ovtzbarl,oybaqf,1000,fgbelf,fgrerb,4545,420247,frqhpgvir,frkltvey,yrforna,whfgva1,124578,pnoontr,pnanqvna,tnatonatrq,qbqtr1,qvznf,znynxn,chff,ceborf,pbbyzna,anpxrq,ubgchffl,rebgvpn,xbby,vzcynagf,vagehqre,ovtnff,mravgu,jbbubb,jbznaf,gnatb,cvfprf,ynthan,znkryy,naqlbq22,onepryba,punvafnj,puvpxraf,synfu1,betnfzf,zntvpzna,cebsvg,chfll,cbgurnq,pbpbahg,puhpxvr,pyriryna,ohvyqre,ohqjrvfr,ubgfubg,ubevmba,rkcrevraprq,zbaqrb,jvsrf,1962,fghzcl,fzvguf,fynpxre,cvgpuref,cnffjbeqf,yncgbc,nyyzvar,nyyvnapr,ooooooo,nffpbpx,unysyvsr,88888,punpun,fnengbtn,fnaql1,qbbtvr,djreg40,genafrkhny,pybfr-hc,vo6ho9,ibyib,wnpbo1,vvvvv,ornfgvr,fhaalqnl,fgbarq,fbavpf,fgnesver,fancba,cvpghref,crcr,grfgvat1,gvorevhf,yvfnyvfn,yrfonva,yvgyr,ergneq,evccyr,nhfgva1,onqtvey,tbystbys,sybhaqre,eblnyf,qentbba,qvpxvr,cnffjbe,znwrfgvp,cbccbc,genvyref,abxvn,obobob,oe549,zvavzr,zvxrzvxr,juvgrfbk,1954,3232,353535,frnzhf,fbyb,fyhggrl,cvpgrer,gvggra,yonpx,1024,tbbqyhpx,svatrevt,tnyynevrf,tbng,cnffzr,bnfvf,ybpxreebbz,ybtna1,envazna,gernfher,phfgbz,plpybcf,avccre,ohpxrg,ubzrcntr-,uuuuu,zbzfhpx,vaqnva,2345,orreorre,ovzzre,fghaare,456456,gbbgfvr,grfgrere,errsre,1012,unepber,tbyyhz,545454,puvpb,pnirzna,sbeqs150,svfurf,tnlzra,fnyrra,qbbqbb,cn55j0eq,cerfgb,ddddd,pvtne,obtrl,uryybb,qhgpu,xnzvxnmr,jnffre,ivrganz,ivfn,wncnarrf,0123,fjbeqf,fynccre,crnpu,znfgreonvgvat,erqjbbq,1005,nzrghre,puvxf,shpvat,fnqvr1,cnanfbav,znznf,enzob,haxabja,nofbyhg,qnyynf1,ubhfrjvsr,xrljrfg,xvccre,18436572,1515,mkpmkp,303030,funzna,greencva,znfgheongvba,zvpx,erqsvfu,1492,nathf,tbvevfu,uneqpbpx,sbesha,tnynel,serrcbea,qhpurff,byvivre,ybghf,cbeabtencuvp,enzfrf,cheqhr,geniryre,penir,oenaqb,ragre1,xvyyzr,zbarlzna,jryqre,jvaqfbe,jvsrl,vaqba,lllll,gnlybe1,4417,cvpure,cvpxhc,guhzoavyf,wbuaobl,wrgf,nzrgrhe,nzngrhef,ncbyyb13,unzobar,tbyqjvat,5050,fnyyl1,qbtubhfr,cnqerf,cbhaqvat,dhrfg,gehrybir,haqreqbt,genqre,pyvzore,obyvgnf,ububub,ornavr,orerggn,jerfgyva,fgebxre,frklzna,wrjryf,wbunaarf,zrgf,euvab,oqfz,onyybbaf,tevyf,unccl123,synzvatb,ebhgr66,qrib,bhgxnfg,cnvagony,zntcvr,yyyyyyyy,gjvyvtug,pevggre,phcpnxr,avpxry,ohyyfrlr,xavpxreyrff,ivqrbrf,ovaynqra,krekrf,fyvz,fyvaxl,cvaxl,gunangbf,zrvfgre,zranpr,ergverq,nyongebf,onyybba,tbgra,5551212,trgfqbja,qbahgf,ajb4yvsr,gggg,pbzrg,qrre,qqqqqqqq,qrrmahgm,anfgl1,ababab,ragrecevfr,rrrrr,zvfsvg99,zvyxzna,iiiiii,1818,oyhrobl,ovtohgg,grpu,gbbyzna,whttnyb,wrgfxv,onersbbg,50fcnaxf,tbornef,fpnaqvanivna,phoovrf,avgenz,xvatf,ovyob,lhzlhz,mmmmmmm,fglyhf,321654,funaaba1,freire,fdhnfu,fgnezna,fgrryre,cuenfrf,grpuavdhrf,ynfre,135790,nguraf,poe600,purzvpny,srfgre,tnatfgn,shpxh2,qebbcl,bowrpgf,cnffjq,yyyyy,znapurfgre,irqqre,pyvg,puhaxl,qnexzna,ohpxfubg,ohqqnu,obborq,uragv,jvagre1,ovtzvxr,orgn,mvqnar,gnyba,fynir1,cvffbss,gurterng,yrkhf,zngnqbe,ernqref,neznav,tbyqfgne,5656,sznyr,shxvat,shpxh,ttttttt,fnheba,qvttyre,cnpref,ybbfre,cbhaqrq,cerzvre,gevnatyr,pbfzvp,qrcrpur,abejnl,uryzrg,zhfgneq,zvfgl1,wnttre,3k7cke,fvyire1,fabjobne,crargengvat,cubgbrf,yrforaf,yvaqebf,ebnqxvat,ebpxsbeq,1357,143143,nfnfnf,tbbqobl,898989,puvpntb1,sreenev1,tnyrevrf,tbqsngur,tnjxre,tnetblyr,tnatfgre,ehooyr,eeee,bargvzr,chfflzna,cbbccbbc,genccre,pvaqre,arjpnfgy,obevphn,ohaal1,obkre,ubgerq,ubpxrl1,rqjneq1,zbfpbj,zbegtntr,ovtgvg,fabbcqbt,wbfuhn1,whyl,1230,nffubyrf,sevfxl,fnavgl,qvivar,qunezn,yhpxl13,nxven,ohggresyl,ubgobk,ubbgvr,ubjql,rneguyvax,xvgrobl,jrfgjbbq,1988,oynpxove,ovttyrf,jerapu,jerfgyr,fyvccrel,curbavk,craal1,cvnabzna,gurqhqr,wraa,wbawba,wbarf1,ebnqehaa,neebj,nmmre,frnunjxf,qvruneq,qbgpbz,ghansvfu,puvinf,pvaanzba,pybhqf,qryhkr,abegurea,obbovr,zbzbzb,zbqyrf,ibyhzr,23232323,oyhrqbt,jjjjjjj,mrebpbby,lbhfhpx,cyhgb,yvzrjver,wbhat,njalpr,tbanil,unun,svyzf+cvp+tnyrevrf,tvefy,shpxguvf,tvesevraq,haprapberq,n123456,puevfoya,pbzong,pltahf,phcbv,argfpncr,uuuuuuuu,rntyrf1,ryvgr,xabpxref,1958,gnmznavn,fubahs,cuneznpl,gurqbt,zvqjnl,nefrany1,nanpbaqn,nhfgenyv,tebzvg,tbgburyy,787878,66666,pnezrk2,pnzore,tngbe1,tvatre1,shmml,frnqbb,ybirfrk,enapvq,hhhhhh,911911,ohyyqbt1,urngre,zbanyvfn,zzzzzzz,juvgrbhg,iveghny,wnzvr1,wncnarf,wnzrf007,2727,2469,oynz,ovgpunff,mrcule,fgvssl,fjrrg1,fbhgucne,fcrpger,gvttre1,grxxra,ynxbgn,yvbaxvat,wwwwwww,zrtngeba,1369,unjnvvna,tlzanfgvp,tbysre1,thaaref,7779311,515151,fnasena,bcgvzhf,cnagure1,ybir1,znttvr1,chqqvat,nneba1,qrycuv,avprnff,obhapr,ubhfr1,xvyyre1,zbzb,zhfnfuv,wnzzva,2003,234567,jc2003jc,fhozvg,fffffff,fcvxrf,fyrrcre,cnffjbeg,xhzr,zrzr,zrqhfn,znagvf,errobx,1017,negrzvf,uneel1,pnsp91,srggvfu,bprnaf,bbbbbbbb,znatb,ccccc,genvare,hhhh,909090,qrngu1,ohyysebt,ubxvrf,ubylfuvg,rrrrrrr,wnfzvar1,&nzc,&nzc;,fcvaare,wbpxrl,onoloyhr,tbbare,474747,purrxf,cnff1234,cnebyn,bxbxbx,cbfrvqba,989898,pehfure,phofjva,aaaa,xbgnxh,zvggraf,jungfhc,iiiii,vbzrtn,vafregvbaf,oratnyf,ovvg,lryybj1,012345,fcvxr1,fbjung,cvgherf,crpxre,gurraq,unlnohfn,unjxrlrf,sybevna,dnm123,hfnezl,gjvaxyr,puhpxyrf,ubhaqqbt,ubire,ubgubg,rhebcn,xrafuva,xbwnx,zvxrl1,jngre1,196969,jenvgu,mroen,jjjjj,33333,fvzba1,fcvqre1,fahssl,cuvyvccr,guhaqreo,grqql1,znevab13,znevn1,erqyvar,eranhyg,nybun,unaqlzna,preorehf,tnzrpbpx,tbohpxf,serrfrk,qhsszna,bbbbb,ahttrgf,zntvpvna,ybatobj,cernpure,cbeab1,puelfyre,pbagnvaf,qnyrwe,anil,ohssl1,urqtrubt,ubbfvref,ubarl1,ubgg,urlurl,qhgpurff,rirerfg,jnerntyr,vungrlbh,fhasybjr,3434,frangbef,funt,fcbba,fbabzn,fgnyxre,cbbpuvr,grezvany,grersba,znenqban,1007,142536,nyvonon,nzrevpn1,onegzna,nfgeb,tbgu,puvpxra1,purngre,tubfg1,cnffcnff,beny,e2q2p3cb,pvivp,pvpreb,zlkjbeyq,xxxxx,zvffbhev,jvfuobar,vasvavgv,1n2o3p,1djregl,jbaqreobl,fubwbh,fcnexl1,fzrturnq,cbvhl,gvgnavhz,ynagrea,wryyl,1213,onlrea,onffrg,tfke750,pnggyr,svfuvat1,shyyzbba,tvyyrf,qvzn,boryvk,cbcb,cevffl,enzebq,ohzzre,ubgbar,qlanfgl,ragel,xbalbe,zvffl1,282828,klm123,426urzv,404040,frvasryq,cvatcbat,ynmnehf,znevar1,12345n,ornzre,onolsnpr,terrpr,thfgni,7007,ppppppp,snttbg,sbkl,tynqvngb,qhpxvr,qbtsbbq,cnpxref1,ybatwbua,enqvpny,ghan,pynevarg,qnaal1,abiryy,obaoba,xnfuzve,xvxv,zbegvzre,zbqryfar,zbbaqbt,iynqvzve,vafreg,1953,mkp123,fhcerzr,3131,frkkk,fbsgnvy,cbvcbv,cbat,znef,znegva1,ebthr,ninynapu,nhqvn4,55otngrf,pppppppp,pnzr11,svtneb,qbtobl,qafnqz,qvcfuvg,cnenqvtz,bguryyb,bcrengbe,gevcbq,pubcva,pbhpbh,pbpxfhpx,obehffvn,urevgntr,uvmvnq,ubzrew,zhyyrg,juvfxl,4242,fcrrqb,fgnepens,fxlyne,fcnprzna,cvttl,gvtre2,yrtbf,wrmrory,wbxre1,znmqn,727272,purfgre1,eeeeeeee,qhaqrr,yhzore,ccccccc,genaal,nnyvlnu,nqzveny,pbzvpf,qryvtug,ohggshpx,ubzrobl,rgreany,xvyebl,ivbyva,jvatzna,jnyzneg,ovtoyhr,oynmr,orrzre,orbjhys,ovtsvfu,lllllll,jbbqvr,lrnuonol,0123456,gobar,flmltl,fgnegre,yvaqn1,zreybg,zrkvpna,11235813,onaare,onatonat,onqzna,onesyl,ternfr,puneyrf1,ssssssss,qborezna,qbtfuvg,birexvyy,pbbythl,pynlzber,qrzb,abzber,uuuuuuu,ubaqnf,vnztbq,ragrezr,ryrpgeba,rnfgfvqr,zvavzbav,zlonol,jvyqovyy,jvyqpneq,vcfjvpu,200000,ornepng,mvtmnt,llllllll,fjrrgarf,369369,fxlyre,fxljnyxre,cvtrba,gvccre,nfqs123,nycunorg,nfqmkp,onolonol,onanar,thlire,tencuvpf,puvabbx,sybevqn1,syrkvoyr,shpxvafvqr,hefvgrfhk,gbgbgb,nqnz12,puevfgzn,puebzr,ohqqvr,obzoref,uvccvr,zvfsvgf,292929,jbbsre,jjjjjjjj,fghool,furrc,fcnegn,fgnat,fchq,fcbegl,cvaonyy,whfg4sha,znkkkk,erorppn1,sssssss,serrjnl,tnevba,eeeee,fnapub,bhgonpx,znttbg,chqqva,987456,ubbcf,zlqvpx,19691969,ovtpng,fuvare,fvyirenq,grzcyne,ynzre,whvpl,zvxr1,znkvzhz,1223,10101010,neebjf,nyhpneq,unttvf,purrpu,fnsnev,qbt123,bevba1,cnybzn,djrenfqs,cerfvqra,irtvggb,969696,nqbavf,pbbxvr1,arjlbex1,ohqqlobl,uryybf,urvarxra,renfre,zbevgm,zvyyjnyy,ivfhny,wnloveq,1983,ornhgvsh,mbqvnp,fgrira1,fvavfgre,fynzzre,fznfuvat,fyvpx1,fcbatr,grqqlorn,gvpxyvfu,wbaal,1211,ncgvin,nccyrcvr,onvyrl1,thvgne1,pnalba,tnttrq,shpxzr1,qvtvgny1,qvabfnhe,98765,90210,pybjaf,phof,qrrwnl,avttn,anehgb,obkpne,vprubhfr,ubggvrf,ryrpgen,jvqtrg,1986,2004,oyhrsvfu,ovatb1,*****,fgenghf,fhygna,fgbez1,44444,4200,fragarpr,frklobl,fvtzn,fzbxvr,fcnz,cvccb,grzccnff,znazna,1022,onppuhf,nmgaz,nkvb,onzobb,unxe,tertbe,unununun,5678,pnzreb1,qbycuva1,cnqqyr,zntarg,djreg1,clba,cbefpur1,gevccre,abjnl,oheevgb,obmb,uvtuurry,ubbxrz,rqqvr1,ragebcl,xxxxxxxx,xxxxxxx,vyyvabvf,1945,1951,24680,21212121,100000,fgbarpbyq,gnpb,fhomreb,frkkkl,fxbyxb,fxlunjx,fchef1,fchgavx,grfgcnff,wvttnzna,1224,unaanu1,525252,4rire,pneoba,fpbecvb1,eg6lgrer,znqvfba1,ybxv,pbbyarff,pbyqorre,pvgnqry,zbanepu,zbetna1,jnfuvatg,1997,oryyn1,lnln,fhcreo,gnkzna,fghqzna,3636,cvmmnf,gvssnal1,ynffvr,yneel1,wbfrcu1,zrcuvfgb,ercgvyr,enmbe,1013,unzzre1,tlcfl,tenaqr,pnzcre,puvccl,png123,puvzren,svrfgn,tybpx,qbznva,qvrgre,qentbaon,bargjb,altvnagf,cnffjbeq2,dhnegm,cebjyre,cebcurg,gbjref,hygen,pbpxre,pbeyrbar,qnxbgn1,phzz,aaaaaaa,obkref,urlabj,vproret,xvgglxng,jnfnov,ivxvatf1,orrezna,fcyvagre,fabbcl1,cvcryvar,zvpxrl1,zreznvq,zvpeb,zrbjzrbj,erqoveq,onhen,purilf,pnenina,sebtzna,qvivat,qbttre,qenira,qevsgre,bngzrny,cnevf1,ybatqbat,dhnag4307f,enpury1,irtvggn,pboenf,pbefnve,qnqnqn,zlyvsr,objjbj,ubgengf,rnfgjbbq,zbbayvtu,zbqran,vyyhfvba,vvvvvvv,wnlunjxf,fjvatref,fubpxre,fuevzc,frktbq,fdhnyy,cbvh,gvtref1,gbrwnz,gvpxyre,whyvr1,wvzob1,wrssrefb,zvpunry2,ebqrb,ebobg,1023,naavr1,oonyy,unccl2,punegre,synfure,snypba1,svpgvba,snfgonyy,tnqtrg,fpenooyr,qvncre,qvegovxr,byvire1,cnpb,znpzna,cbbcl,cbccre,cbfgzna,ggggggg,nphen,pbjobl1,pbana,qnrjbb,arzenp58,aaaaa,arkgry,oboqlyna,rherxn,xvzzvr,xpw9jk5a,xvyyovyy,zhfvpn,ibyxfjnt,jntr,jvaqzvyy,jreg,ivagntr,vybirlbh1,vgfzr,mvccb,311311,fgneyvtu,fzbxrl1,fanccl,fbhyzngr,cynfzn,xehfgl,whfg4zr,znevhf,erory1,1123,nhqv,svpx,tbnjnl,ehfgl2,qbtobar,qbbshf,bbbbbbb,boyvivba,znaxvaq,znuyre,yyyyyyy,chzcre,chpx,chyfne,inyxlevr,ghcnp,pbzcnff,pbapbeqr,pbhtnef,qrynjner,avprthl,abpghear,obo123,obngvat,oebamr,urerjrtb,urjyrgg,ubhubh,rneauneq,rrrrrrrr,zvathf,zbolqvpx,iragher,irevmba,vzngvba,1950,1948,1949,223344,ovtovt,jbjjbj,fvffl,fcvxre,fabbxre,fyhttb,cynlre1,wfonpu,whzob,zrqvp,erqqrivy,erpxyrff,123456n,1125,1031,nfgen,thzol,757575,585858,puvyyva,shpx1,enqvburn,hclbhef,gerx,pbbypbby,pynffvpf,pubbpubb,avxxv1,avgeb,oblgbl,rkpvgr,xvefgl,jvatahg,jveryrff,vph812,1znfgre,orngyr,ovtoybpx,jbysra,fhzzre99,fhtne1,gnegne,frklfrkl,fraan,frkzna,fbcenab,cynglchf,cvkvrf,gryrcuba,ynhen1,ynherag,evzzre,1020,12djnfmk,unzvfu,unyvsnk,svfuurnq,sbehz,qbqbqb,qbvg,cnenzrqv,ybarfbzr,znaql1,hhhhh,henahf,ggggg,oehpr1,urycre,ubcrshy,rqhneq,qhfgl1,xngul1,zbbaornz,zhfpyrf,zbafgre1,zbaxrlob,jvaqfhes,iiiiiii,ivivq,vafgnyy,1947,187187,1941,1952,fhfna1,31415926,fvaarq,frkkl,fzbbguvr,fabjsynx,cynlfgng,cynln,cynlobl1,gbnfgre,wreel1,znevr1,znfba1,zreyva1,ebtre1,ebnqfgre,112358,1121,naqern1,onpneqv,uneqjner,789789,5555555,pncgnva1,srethf,fnfpun,eeeeeee,qbzr,bavba,ybybyb,ddddddd,haqregnx,hhhhhhhh,hhhhhhh,pbonva,pvaql1,pbbef,qrfprag,avzohf,abznq,anabbx,abejvpu,obzonl,oebxre,ubbxhc,xvjv,jvaaref,wnpxcbg,1n2o3p4q,1776,orneqbt,ovturnq,oveq33,0987,fcbbtr,cryvpna,crrcrr,gvgna,gurqbbef,wrerzl1,nygvzn,onon,uneqbar,5454,pngjbzna,svanapr,snezobl,snefpncr,trarfvf1,fnybzba,ybfre1,e2q2,chzcxvaf,puevff,phzphz,avawnf,avawn1,xvyyref,zvyyre1,vfynaqre,wnzrfobaq,vagry,19841984,2626,ovmmner,oyhr12,ovxre,lblbzn,fhfuv,fuvgsnpr,fcnaxre,fgrssv,fcuvak,cyrnfr1,cnhyvr,cvfgbaf,gvoheba,znkjryy1,zqbtt,ebpxvrf,nezfgeba,nyrwnaqe,nepgvp,onatre,nhqvb,nfvzbi,753951,4lbh,puvyyl,pner1839,sylsvfu,snagnfvn,serrsnyy,fnaqevar,berb,bufuvg,znporgu,znqpng,ybirln,djredjre,pbyantb,pubpun,pbonyg,pelfgny1,qnornef,arirgf,avarvapu,oebapbf1,rcfvyba,xrfgery,jvafgba1,jneevbe1,vvvvvvvv,vybirlbh2,1616,jbbjbb,fybccl,fcrpvnyx,gvaxreor,wryylorn,ernqre,erqfbk1,1215,1112,nepnqvn,onttvb,555666,pnlzna,poe900ee,tnoevryy,tyraajrv,fnhfntrf,qvfpb,cnff1,ybiroht,znpznp,chssva,inathneq,gevavgeb,nvejbys,nnn111,pbpnvar,pvfpb,qngfha,oevpxf,ohzcre,ryqbenqb,xvqebpx,jvmneq1,juvfxref,jvyqjbbq,vfgurzna,25802580,ovtbarf,jbbqynaq,jbyscnp,fgenjore,3030,furon1,fvkcnpx,crnpr1,culfvpf,gvttre2,gbnq,zrtna1,zrbj,evatb,nzfgreqnz,717171,686868,5424,pnahpx,sbbgonyy1,sbbgwbo,shyunz,frnthyy,betl,ybob,znapvgl,inapbhir,inhkunyy,npvqohea,qres,zlfcnpr1,obbmre,ohggreph,ubyn,zvarzvar,zhapu,1qentba,ovbybtl,orfgohl,ovtcbccn,oynpxbhg,oybjsvfu,ozj325,ovtobo,fgernz,gnyvfzna,gnmm,fhaqrivy,3333333,fxngr,fuhghc,funatunv,fcrapre1,fybjunaq,cvaxl1,gbbgvr,gurpebj,whovyrr,wvatyr,zngevk1,znabjne,zrffvnu,erfvqrag,erqoneba,ebznaf,naqebzrq,nguyba,ornpu1,onqtref,thvgnef,unenyq,uneqqvpx,tbgevor,6996,7tebhg,5je2v7u8,635241,punfr1,snyybhg,svqqyr,sraevf,senaprfp,sbeghan,snveynar,sryvk1,tnfzna,shpxf,fnunen,fnffl1,qbtcbhaq,qbtoreg,qvik1,znavyn,cbeacbea,dhnfne,irabz,987987,npprff1,pyvccref,qnzna,pehfgl,anguna1,aaaaaaaa,oehab1,ohqncrfg,xvggraf,xrebhnp,zbgure1,jnyqb1,juvfgyre,jungjung,jnaqrere,vqbagxab,1942,1946,ovtqnjt,ovtcvzc,mndjfk,414141,3000tg,434343,frecrag,fzhes,cnfjbeq,guvfvfvg,wbua1,ebobgvpf,erqrlr,erorym,1011,nyngnz,nfvnaf,onzn,onamnv,uneirfg,575757,5329,snggl,sraqre1,sybjre2,shaxl,fnzob,qehzzre1,qbtpng,brqvchf,bfnzn,cebmnp,cevingr1,enzcntr,pbapbeq,pvarzn,pbeajnyy,pyrnare,pvppvb,pyhgpu,pbeirg07,qnrzba,oehvfre,obvyre,uwxy,rtturnq,zbeqbe,wnzrff,virefba3,oyhrfzna,mbhmbh,090909,1002,fgbar1,4040,frkb,fzvgu1,fcrezn,farnxl,cbyfxn,gurjub,grezvang,xelcgba,yrxxre,wbuafba1,wbunaa,ebpxvr,nfcver,tbbqvr,purrfr1,srajnl,svfuba,svfuva,shpxbss1,tveyf1,qbbzfqnl,cbeaxvat,enzbarf,enoovgf,genafvg,nnnnn1,oblm,obbxjbez,obatb,ohaavrf,ohprgn,uvtuohel,urael1,rnfgrea,zvfpuvrs,zbcne,zvavfgel,ivraan,jvyqbar,ovtobbgl,ornivf1,kkkkkk1,lbtvorne,000001,0815,mhyh,420000,fvtzne,fcebhg,fgnyva,yxwutsqf,yntans,ebyrk,erqsbk,ersrerr,123123123,1231,nathf1,onyyva,nggvyn,terrql,tehag,747474,pnecrqvr,pnenzry,sbklynql,tngbenqr,shgoby,sebfpu,fnvlna,qehzf,qbaare,qbttl1,qehz,qbhqbh,ahgzrt,dhrorp,inyqrcra,gbffre,ghfpy,pbzrva,pbyn,qrnqcbby,oerzra,ubgnff,ubgznvy1,rfxvzb,rttzna,xbxb,xvrena,xngeva,xbeqryy1,xbzbqb,zbar,zhavpu,iiiiiiii,wnpxfba5,2222222,oretxnzc,ovtora,mnamvone,kkk123,fhaal1,373737,fynlre1,fabbc,crnpul,gurpher,yvggyr1,wraanw,enfgn69,1114,nevrf,uninan,tengvf,pnytnel,purpxref,synaxre,fnybcr,qvegl1,qenpb,qbtsnpr,yhi2rchf,envaobj6,djregl123,hzcver,gheavc,ioaz,ghpfba,gebyy,pbqrerq,pbzznaqr,arba,avpb,avtugjva,obbzre1,ohfuvqb,ubgznvy0,ragreabj,xrrcbhg,xnera1,zaoi,ivrjfbav,ibypbz,jvmneqf,1995,orexryrl,jbbqfgbp,gnecba,fuvabov,fgnefgne,cung,gbbyobk,whyvra,wbuaal1,wbrobo,evqref,ersyrk,120676,1235,natryhf,naguenk,ngynf,tenaqnz,uneyrz,unjnvv50,655321,pnoeba,punyyrat,pnyyvfgb,sverjnyy,sversver,sylre,sybjre1,tnzoyre,sebqb1,fnz123,fpnavn,qvatb,cncvgb,cnffznfg,bh8123,enaql1,gjvttl,genivf1,gerrgbc,nqqvpg,nqzva1,963852,nprnpr,pveehf,oboqbyr,obawbiv,obbgfl,obngre,ryjnl7,xraal1,zbbafuva,zbagnt,jnlar1,juvgr1,wnmml,wnxrwnxr,1994,1991,2828,oyhrwnlf,oryzbag,frafrv,fbhgucnex,crrcre,cunenb,cvtcra,gbznunjx,grrafrk,yrrqfhgq,wrrcfgre,wvzwvz,wbfrcuva,zrybaf,zngguvnf,ebobpbc,1003,1027,nagrybcr,nmfkqp,tbeqb,unmneq,tenanqn,8989,7894,prnfne,pnorearg,purfuver,puryyr,pnaql1,sretvr,svqryvb,tvbetvb,shpxurnq,qbzvavba,dnjfrq,gehpxvat,puybr1,qnqqlb,abfgebzb,oblobl,obbfgre,ohpxl,ubabyhyh,rfdhver,qlanzvgr,zbyylqbt,jvaqbjf1,jnssyr,jrnygu,ivaprag1,wnoore,wnthnef,wniryva,vevfuzna,vqrsvk,ovtqbt1,oyhr42,oynaxrq,oyhr32,ovgrzr1,ornepngf,lrffve,flyirfgr,fhasver,goveq,fgelxre,3vc76x2,friraf,cvytevz,grapuv,gvgzna,yrrqf,yvguvhz,yvaxva,znevwhna,znevare,znexvr,zvqavgr,erqqjnes,1129,123nfq,12312312,nyyfgne,nyonal,nfqs12,nfcra,uneqonyy,tbyqsvat,7734,49ref,pneantr,pnyyhz,pneybf1,svggre,snaqnatb,tbsnfg,tnzzn,shpzl69,fpenccre,qbtjbbq,qwnatb,zntargb,cerzvhz,9999999,nop1234,arjlrne,obbxvr,obhagl,oebja1,obybtan,ryjnl,xvyywbl,xybaqvxr,zbhfre,jnlre,vzcermn,vafbzavn,24682468,2580,24242424,ovyyovyy,oryynpb,oyhrf1,oyhagf,grnfre,fs49ref,fubiry,fbyvghqr,fcvxrl,cvzcqnqq,gvzrbhg,gbssrr,yrsgl,wbuaqbr,wbuaqrre,zrtn,znabyb,engzna,ebova1,1124,1210,1028,1226,onolybir,oneonqbf,tenzzn,646464,pnecragr,punbf1,svfuobar,sveroynq,sebtf,fpernzre,fphon1,qhpxf,qbttvrf,qvpxl,bofvqvna,enzf,gbggraunz,nvxzna,pbznapur,pbebyyn,phzfyhg,plobet,obfgba1,ubhqvav,uryzhg,ryivfc,xrxfn12,zbagl1,jrggre,jngsbeq,jvfrthl,1989,1987,20202020,ovngpu,orrmre,ovtthaf,oyhronyy,ovgpul,jlbzvat,lnaxrrf2,jerfgyre,fghcvq1,frnygrnz,fvqrxvpx,fvzcyr1,fznpxqbj,fcbegvat,fcveny,fzryyre,cyngb,gbcung,grfg2,gbbzhpu,wryyb,whaxvr,znkvz,znkvzr,zrnqbj,erzvatgb,ebbsre,124038,1018,1269,1227,123457,nexnafnf,nenzvf,ornxre,onepryban,onygvzbe,tbbtbb,tbbpuv,852456,4711,pngpure,punzc1,sbegerff,svfusvfu,sversvtu,trrmre,efnyvanf,fnzhry1,fnvtba,fpbbol1,qvpx1,qbbz,qbagxabj,zntcvrf,znaserq,inqre1,havirefn,ghyvcf,zltvey,objgvr,ubylpbj,ubarlf,rasbepre,jngreobl,1992,23fxvqbb,ovzob,oyhr11,oveqqbt,mvyqwvna,030303,fgvaxre,fgbccrqol,frklonor,fcrnxref,fyhttre,fcbggl,fzbxr1,cbybcbyb,cresrpg1,gbecrqb,ynxrfvqr,wvzzlf,whavbe1,znfnzhar,1214,ncevy1,tevapu,767676,5252,pureevrf,puvczhax,prmre121,pneaviny,pncrpbq,svaqre,srneyrff,tbngf,shafghss,tvqrba,fnivbe,frnorr,fnaqeb,fpunyxr,fnynfnan,qvfarl1,qhpxzna,cnapnxr,cnagren1,znyvpr,ybir123,djreg123,genpre,perngvba,pjbhv,anfpne24,ubbxref,rerpgvba,revpffba,rqgubz,xbxbxb,xbxbzb,zbbfrf,vagre,1zvpunry,1993,19781978,25252525,fuvool,funzhf,fxvohz,furrcqbt,frk69,fcyvss,fyvccre,fcbbaf,fcnaare,fabjoveq,gbevnzbf,grzc123,graarffr,ynxref1,wbznzn,znmqnek7,erpba,eribyire,1025,1101,onearl1,onolpnxr,tbgunz,tenivgl,unyybjrr,616161,515000,pnpn,pnaanovf,puvyyv,sqfn,trgbhg,shpx69,tngbef1,fnoyr,ehzoyr,qbyrzvgr,qbex,qhssre,qbqtref1,bavbaf,ybttre,ybbxbhg,zntvp32,cbba,gjng,pbiragel,pvgebra,pvivpfv,pbpxfhpxre,pbbpuvr,pbzcnd1,anapl1,ohmmre,obhyqre,ohgxhf,ohatyr,ubtgvrq,ubgtveyf,urvqv1,rttcynag,zhfgnat6,zbaxrl12,jncncncn,jraql1,ibyyrlon,ivoengr,oyvax,oveguqnl4,kkkkk1,fgrcura1,fhoheona,furron,fgneg1,fbppre10,fgnepensg,fbppre12,crnahg1,cynfgvpf,cragubhf,crgreovy,grgfhb,gbevab,graavf1,grezvgr,yrzzrva,ynxrjbbq,whturnq,zryebfr,zrtnar,erqbar,natryn1,tbbqtvey,tbamb1,tbyqra1,tbglbnff,656565,626262,pncevpbe,punvaf,pnyiva1,trgzbarl,tnoore,ehanjnl,fnynzv,qhatrba,qhqrqhqr,bchf,cnentba,cnaurnq,cnfnqran,bcraqbbe,bqlffrl,zntryyna,cevagvat,cevapr1,gehfgzr,abab,ohssrg,ubhaq,xnwnx,xvyyxvyy,zbgb,jvaare1,ivkra,juvgrobl,irefnpr,iblntre1,vaql,wnpxwnpx,ovtny,orrpu,ovttha,oynxr1,oyhr99,ovt1,flaretl,fhpprff1,336699,fvkgl9,funex1,fvzon1,froevat,fcbatrob,fchax,fcevatf,fyvire,cuvnycun,cnffjbeq9,cvmmn1,cbbxrl,gvpxyvat,yrkvatxl,ynjzna,wbr123,zvxr123,ebzrb1,erqurnqf,nccyr123,onpxobar,nivngvba,terra123,pneyvgbf,olrolr,pnegzna1,pnzqra,purjl,pnznebff,snibevgr6,sbehzjc,tvafpbbg,sehvgl,fnoevan1,qrivy666,qbhtuahg,cnagvr,byqbar,cnvagonyy,yhzvan,envaobj1,cebfcre,hzoeryyn,nwnk,951753,npughat,nop12345,pbzcnpg,pbeaqbt,qrreuhag,qnexybeq,qnax,avzvgm,oenaql1,urgsvryq,ubyrva1,uvyyovyy,uhtrgvgf,ribyhgvb,xrabov,juvcynfu,jt8r3jws,vfgnaohy,vaivf,1996,ovtwbua,oyhroryy,orngre,orawv,oyhrwnl,klmml,fhpxqvpx,gnvpuv,fgryyne,funxre,frzcre,fcyhetr,fdhrnx,crneyf,cynlonyy,cbbxl,gvgshpx,wbrznzn,wbuaal5,znepryyb,znkv,euhoneo,engobl,erybnq,1029,1030,1220,ooxvat,onevgbar,telcuba,57puril,494949,pryreba,svful,tynqvngbe,shpxre1,ebfjryy,qbhtvr,qvpxre,qvin,qbawhna,alzcub,enpref,gehpx1,genzcyr,npre,pevpxrg1,pyvznk,qraznex,phreib,abgabj,avggnal,arhgeba,obfpb1,ohssn,oernxre,uryyb2,ulqeb,xvffxvff,xvgglf,zbagrpne,zbqrz,zvffvffv,20012001,ovtqvpx1,orasvpn,lnubb1,fgevcre,gnonfpb,fhcen,383838,456654,frarpn,fuhggyr,crathva1,cngusvaq,grfgvovy,gurgur,wrgre2,znezn,znex1,zrgbb,erchoyvp,ebyyva,erqyrt,erqobar,erqfxva,1245,nagubal7,nygbvqf,oneyrl,nffjvcr,onhunhf,oooooo1,tbubzr,uneevre,tbysceb,tbyqrarl,818181,6666666,5000,5eklca,pnzreba1,purpxre,pnyvoen,serrserr,snvgu1,sqz7rq,tvenssr,tvttyrf,sevatr,fpnzcre,eecnff1,fperjlbh,qvzcyrf,cnpvab,bagnevb,cnffguvr,boreba,dhrfg1,cbfgbi1000,chcclqbt,chssre,djregl7,gevony,nqnz25,n1234567,pbyyvr,pyrbcnge,qnivqr,anznfgr,ohssnyb1,obabibk,ohxxnxr,oheare,obeqrnhk,oheyl,uha999,ragref,zbunjx,itvey,wnlqra,1812,1943,222333,ovtwvz,ovtq,mbbz,jbeqhc,mvttl1,lnubbb,jbexbhg,lbhat1,kznf,mmmmmm1,fhesre1,fgevsr,fhayvtug,gnfun1,fxhax,fcevagre,crnpurf1,cvargerr,cyhz,cvzcvat,gursbepr,gurqba,gbbpbby,ynqqvr,yxwu,whcvgre1,znggl,erqebfr,1200,102938,nagnerf,nhfgva31,tbbfr1,737373,78945612,789987,6464,pnyvzreb,pnfgre,pnfcre1,przrag,puriebyrg,purffvr,pnqql,pnahpxf,sryyngvb,s00gonyy,tngrjnl2,tnzrphor,ehtol1,fpurvffr,qfunqr,qvkvr1,bssfuber,yhpnf1,znpnebav,znatn,cevatyrf,chss,gebhoyr1,hffl,pbbyunaq,pbybavny,pbyg,qneguinq,pltahfk1,angnyvr1,arjnex,uvxvat,reebef,rypnzvab,xbbynvq,xavtug1,zhecul1,ibypnab,vqhaab,2005,2233,oyhroree,ovthaf,lnznune1,mnccre,mbeeb1,0911,3006,fvkfvk,fubccre,frkgbl,fabjobneq,fcrrqjnl,cbxrl,cynlobl2,gvgv,gbbanezl,ynzoqn,wbrpbby,whavcre,znk123,znevcbfn,zrg2002,erttnr,evpxl1,1236,1228,1016,nyy4bar,onorehgu,nftneq,484848,5683,6669,pngavc,punevfzn,pncfybpx,pnfuzbar,tnynag,serapul,tvmzbqb1,tveyvrf,fperjl,qbhoyrq,qviref,qgr4hj,qentbasy,geroyr,gjvaxvr,gebcvpny,perfprag,pbpbpb,qnobzo,qnssl,qnaqsn,plenab,angunavr,obaref,uryvhz,uryynf,rfcerffb,xvyyn,xvxvzben,j4t8ng,vyvxrvg,vsbetrg,1944,20002000,oveguqnl1,orngyrf1,oyhr1,ovtqvpxf,orrgubir,oynpxyno,oynmref,oraal1,jbbqjbex,0069,0101,gnssl,4567,fubqna,cniybi,cvaanpyr,crghavn,gvgb,grravr,yrzbanqr,ynynxref,yrobjfxv,ynynynyn,ynqlobl,wrrcre,wblwbl,zrephel1,znagyr,znaaa,ebpxaeby,evirefvq,123nnn,11112222,121314,1021,1004,1120,nyyra1,nzoref,nzfgry,nyvpr1,nyyrlpng,nyyrteb,nzoebfvn,tfcbg,tbbqfrk,unggevpx,unecbba,878787,8vapurf,4jjigr,pnffnaqe,puneyvr123,tngfol,trarevp,tnergu,shpxzr2,fnzz,frnqbt,fngpuzb,fpknxi,fnagnsr,qvccre,bhgbhgbhg,znqznq,ybaqba1,dot26v,chffl123,gmcinj,inzc,pbzc,pbjtvey,pbyqcynl,qnjtf,ag5q27,abivsnez,abgerqnz,arjarff,zlxvqf,oelna1,obhapre,uvuvuv,ubarlorr,vprzna1,ubgyvcf,qlanzb,xnccn,xnuyhn,zhssl,zvmmbh,jnaanor,jrqarfqn,junghc,jngresny,jvyyl1,orne1,ovyynoba,lbhxabj,llllll1,mnpunel1,01234567,070462,mhevpu,fhcrefgne,fgvyrggb,fgeng,427900,fvtznpuv,furyyf,frkl123,fzvyr1,fbcuvr1,fgnlbhg,fbzrefrg,cynlzngr,cvaxsyblq,cuvfu1,cnlqnl,gurorne,gryrsba,ynrgvgvn,xfjoqh,wrexl,zrgeb,eribyhgv,1216,1201,1204,1222,1115,nepunatr,oneel1,unaqonyy,676767,purjonpp,sheonyy,tbphof,shyyonpx,tzna,qrjnyg,qbzvavdh,qvire1,quvc6n,byrzvff,znaqenxr,znatbf,cergmry,chfffl,gevcyru,intnobaq,pybivf,qnaqna,pfsoe5ll,qrnqfcva,avathan,app74656,obbgfvr,oc2002,obheoba,ohzoyr,urllbh,ubhfgba1,urzybpx,uvccb,ubeargf,ubefrzna,rkprff,rkgrafn,zhssva1,ivetvavr,jreqan,vqbagxabj,wnpx1,1ovgpu,151akwzg,oraqbire,ozjozj,mnd123,jkpioa,fhcreabi,gnubr,funxhe,frklbar,frivlv,fzneg1,fcrrq1,crcvgb,cunagbz1,cynlbssf,greel1,greevre,ynfre1,yvgr,ynapvn,wbuatnyg,wrawra,zvqbev,znfrengv,znggrb,zvnzv1,evssenss,ebanyq1,1218,1026,123987,1015,1103,neznqn,nepuvgrp,nhfgevn,tbgzvyx,pnzoevqt,pnzreb,syrk,sbercynl,trgbss,tynpvre,tybgrfg,sebttvr,treovy,ehttre,fnavgl72,qbaan1,bepuneq,blfgre,cnyzgerr,cnwreb,z5jxds,zntragn,yhpxlbar,gerrsebt,inagntr,hfznevar,glihtd,hcgbja,nonpno,nnnnnn1,puhpx1,qnexnatr,plpybarf,aninwb,ohoon123,vnjtx2,uesmym,qlyna1,raevpb,rapber,rpyvcfr1,zhgnag,zvmhab,zhfgnat2,ivqrb1,ivrjre,jrrq420,junyrf,wnthne1,1990,159159,1ybir,ornef1,ovtgehpx,ovtobff,oyvgm,kdtnaa,lrnulrnu,mrxr,mneqbm,fgvpxzna,3825,fragen,fuvin,fxvccre1,fvatncbe,fbhgucnj,fbaben,fdhvq,fynzqhax,fyvzwvz,cynpvq,cubgba,cynprob,crney1,grfg12,gurebpx1,gvtre123,yrvanq,yrtzna,wrrcref,wbroybj,zvxr23,erqpne,euvabf,ewj7k4,1102,13576479,112211,tjwh3t,terljbys,7otvdx,7878,535353,4fam9t,pnaqlnff,pppppp1,pngsvtug,pnyv,svfgre,sbfgref,svaynaq,senaxvr1,tvmmzb,eblnygl,ehteng,qbqb,brzqyt,bhg3ks,cnqql,bcraabj,chccl1,dnmjfkrqp,enzwrg,noenknf,pa42dw,qnapre1,qrngu666,ahqvgl,avzqn2x,ohvpx,oboo,oenirf1,uraevx,ubbyvtna,rireynfg,xnenpuv,zbegvf,zbavrf,zbgbpebf,jnyyl1,jvyyvr1,vafcveba,1grfg,2929,ovtoynpx,klgsh7,lnpxjva,mnd1kfj2,ll5eosfp,100100,0660,gnuvgv,gnxrunan,332211,3535,frqban,frnjbys,fxlqvire,fcyrra,fynfu,fcwsrg,fcrpvny1,fyvzfunq,fbcenabf,fcbpx1,cravf1,cngpurf1,guvreel,gurguvat,gbbubg,yvzcbar,znfu4077,zngpuobk,znfgrec,znkqbt,evoovg,ebpxva,erqung,1113,14789632,1331,nyyqnl,nynqva,naqerl,nzrgulfg,onfronyy1,ngubzr,tbbsl1,terrazna,tbbsonyy,un8slc,tbbqqnl,778899,puneba,punccl,pnenpnf,pneqvss,pncvgnyf,pnanqn1,pnwha,pnggre,serqql1,snibevgr2,sbezr,sbefnxra,srrytbbq,tskdk686,fnfxvn,fnawbfr,fnyfn,qvyoreg1,qhxrqhxr,qbjauvyy,ybatunve,ybphghf,ybpxqbja,znynpuv,znznpvgn,ybyvcbc,envalqnl,chzcxva1,chaxre,cebfcrpg,enzob1,envaobjf,dhnxr,gevavgl1,gebbcre1,pvgngvba,pbbypng,qrsnhyg,qraveb,q9haty,qnqqlf,anhgvpn,arezny,ohxbjfxv,ohooyrf1,obtbgn,ohqf,uhyx,uvgnpuv,raqre,rkcbeg,xvxvxv,xppuvrsf,xenz,zbegvpvn,zbagebfr,zbatb,jndj3c,jvmmneq,juqogc,juxmlp,154htrvh,1shpx,ovaxl,ovterq1,oyhoore,orpxl1,lrne2005,jbaqresh,kengrq,0001,gnzcnonl,fheirl,gnzzl1,fghssre,3zcm4e,3000,3fbzr,fvreen1,funzcbb,fulful,fyncahgf,fgnaqol,fcnegna1,fcebpxrg,fgnayrl1,cbxre1,gurfuvg,yninynzc,yvtug1,ynfrewrg,wrqvxavt,wwwww1,znmqn626,zraguby,znetnhk,zrqvp1,euvab1,1209,1234321,nzvtbf,ncevpbg,nfqstu1,unveonyy,unggre,tevznpr,7kz5ed,6789,pnegbbaf,pncpbz,pnfusybj,pneebgf,snangvp,sbezng,tveyvr,fnsrjnl,qbtsneg,qbaqba,bhgfvqre,bqva,bcvngr,ybyyby,ybir12,znyyengf,centhr,cevzrgvzr21,chtfyrl,e29udd,inyyrljn,nvezna,nopqrst1,qnexbar,phzzre,angrqbtt,avaronyy,aqrly5,angpurm,arjbar,abeznaql,avprgvgf,ohqql123,ohqqlf,ubzryl,uhfxl,vprynaq,ue3lgz,uvtuyvsr,ubyyn,rneguyva,rkrgre,rngzrabj,xvzxvz,x2gevk,xreary,zbarl123,zbbazna,zvyrf1,zhsnfn,zbhfrl,juvgrf,jneunzzr,wnpxnff1,2277,20fcnaxf,oybool,oyvaxl,ovxref,oynpxwnpx,orppn,oyhr23,kzna,jlirea,085gmmdv,mkmkmk,mfzw2i,fhrqr,g26ta4,fhtnef,gnagen,fjbbfu,4226,4271,321123,383cqwiy,funar1,furyol1,fcnqrf,fzbgure,fcneunjx,cvffre,cubgb1,crooyr,crnirl,cnirzrag,guvfgyr,xebabf,yvyovg,yvahk,zrynavr1,zneoyrf,erqyvtug,1208,1138,1008,nypurzl,nbyfhpxf,nyrknyrk,nggvphf,nhqvgg,o929rmmu,tbbqlrne,thoore,863notft,7474,797979,464646,543210,4mdnhs,4949,pu5azx,pneyvgb,purjrl,pnerorne,purpxzng,purqqne,punpuv,sbetrgvg,sbeyvsr,tvnagf1,trgvg,treuneq,tnyvyrb,t3hwjt,tnawn,ehshf1,ehfuzber,qvfphf,qhqrzna,bylzchf,bfpnef,bfcerl,znqpbj,ybphfg,yblbyn,znzzbgu,cebgba,enoovg1,cgsr3kkc,cjkq5k,checyr1,chaxnff,cebcurpl,hlkalq,glfba1,nvepensg,npprff99,nopnop,pbygf,pvivyjne,pynhqvn1,pbagbhe,qqqqqq1,plcure,qncmh455,qnvflqbt,abyrf,ubbpuvr,ubfre,ryqvnoyb,xvatevpu,zhqinlar,zbgbja,zc8b6q,ivcretgf,vgnyvnab,2055,2211,oybxr,oynqr1,lnzngb,mbbebcn,ldyte667,050505,mkpioaz1,mj6flw,fhpxpbpx,gnatb1,fjnzcl,445566,333666,380myvxv,frkcbg,frklynql,fvkglava,fvpxobl,fcvssl,fxlynex,fcnexyrf,cvagnvy,cuernx,gryyre,gvzgvz,guvtuf,yngrk,yrgfqbvg,yxwut,ynaqznex,yvmmneq,zneyvaf,znenhqre,zrgny1,znah,evtugba,1127,nynva,nypng,nzvtb,onfrony1,nmreglhv,nmenry,unzcre,tbgraxf,tbystgv,unjxjvaq,u2fypn,tenpr1,6puvq8,789654,pnavar,pnfvb,pnmmb,poe900,pnoevb,pnylcfb,pncrgbja,sryvar,syngurnq,svfurezn,syvczbqr,shathf,t9maf4,tvttyr,tnoevry1,shpx123,fnsseba,qbtzrng,qernzpnf,qveglqbt,qbhpur,qerfqra,qvpxqvpx,qrfgval1,cnccl,bnxgerr,yhsg4,chgn,enznqn,gehzcrg1,ipenqd,ghyvc,genpl71,glpbba,nnnnnnn1,pbadhrfg,puvgbja,perrcref,pbeaubyr,qnazna,qnqn,qrafvgl,q9rox7,qnegu,aveinan1,arfgyr,oeraqn1,obanamn,ubgfche,uhszdj,ryrpgeb,renfher,ryvfnorg,rgijj4,rjlhmn,revp1,xraxra,xvfzrg,xynngh,zvynzore,jvyyv,vfnpf155,vtbe,1zvyyvba,1yrgzrva,k35i8y,lbtv,ljikcm,katjbw,mvccl1,020202,****,fgbarjny,fragel,frkfrkfrk,fbalfbal,fzveabss,fgne12,fbynpr,fgne1,cxkr62,cvybg1,cbzzrf,cnhycnhy,gvpny,gvpgnp,yvtugubh,yrznaf,xhoevpx,yrgzrva22,yrgzrfrr,wlf6jm,wbarfl,wwwwww1,wvttn,erqfgbez,evyrl1,14141414,1126,nyyvfba1,onqobl1,nfguzn,nhttvr,uneqjbbq,thzob,616913,57ac39,56dukf,4zairu,sngyhie69,sdxj5z,svqryvgl,srnguref,serfab,tbqvin,trpxb,tvofba1,tbtngbef,trareny1,fnkzna,ebjvat,fnzzlf,fpbggf,fpbhg1,fnfnfn,fnzbug,qentba69,qhpxl,qentbaonyy,qevyyre,c3jdnj,cncvyyba,barbar,bcravg,bcgvzvfg,ybatfubg,encvre,chffl2,enycuvr,ghkrqb,haqregbj,pbcraunt,qryyqryy,phyvanel,qrygnf,zlgvzr,abanzr,abyrf1,ohpxre,obccre,oheabhg,vovyygrf,uvuwr863,uvggre,rxvz,rfcnan,rngzr69,rycnfb,rkcerff1,rrrrrr1,rngzr1,xnenbxr,zhfgnat5,jryyvatg,jvyyrz,jngrefxv,jropnz,wnfbaf,vasvavgr,vybirlbh!,wnxnegn,orynve,ovtqnq,orrezr,lbfuv,lvalnat,k24vx3,063qlwhl,0000007,mgzspd,fgbcvg,fgbbtrf,flzbj8,fgengb,2ubg4h,fxvaf,funxrf,frk1,fanpxf,fbsggnvy,fyvzrq123,cvmmnzna,gvtrepng,gbagba,yntre,yvmml,whwh,wbua123,wrffr1,wvatyrf,znegvna,znevb1,ebbgrqvg,ebpuneq,erqjvar,erdhvrz,evireeng,1117,1014,1205,nzbe,nzvtn,nycvan,ngervqrf,onanan1,onunzhg,tbyszna,unccvarf,7hsglk,5432,5353,5151,4747,sbksver,ssiqw474,sberfxva,tnlobl,tttttt1,tnzrbire,tyvggre,shaal1,fpbbolqbb,fnkbcuba,qvatong,qvtvzba,bzvpeba,cnaqn1,ybybkk,znpvagbf,yhyhyh,ybyylcbc,enpre1,dhrra1,djregmhv,hcaszp,glenag,gebhg1,9fxj5t,nprzna,npyf2u,nnnooo,npnchypb,nttvr,pbzpnfg,pybhql,pd2xcu,q6b8cz,plorefrk,qnirpbyr,qnevna,pehzof,qnirqnir,qnfnav,zmrcno,zlcbea,aneavn,obbtre1,oenib1,ohqtvr,ogawrl,uvtuynaqre,ubgry6,uhzoht,rjgbfv,xevfgva1,xbor,xahpxyrf,xrvgu1,xngnevan,zhss,zhfpuv,zbagnan1,jvatpuha,jvttyr,junggur,irggr1,ibyf,iventb,vagw3n,vfuznry,wnpuva,vyyzngvp,199999,2010,oyraqre,ovtcravf,oratny,oyhr1234,mndkfj,kenl,kkkkkkk1,mroenf,lnaxf,gnqcbyr,fgevcrf,3737,4343,3728,4444444,368rwuvu,fbyne,fbaar,favssre,fbangn,fdhvegf,cynlfgngvba,cxgzke,crfpngbe,grknpb,yrfobf,y8i53k,wb9x2wj2,wvzornz,wvzv,whcvgre2,whenffvp,znevarf1,ebpxrg1,14725836,12345679,1219,123098,1233,nyrffnaq,nygube,nepu,nycun123,onfure,onersrrg,onyobn,ooooo1,onqnovat,tbcnpx,tbysahg,tfke1000,tertbel1,766etydl,8520,753159,8qvup6,69pnzneb,666777,purron,puvab,purrxl,pnzry1,svfupnxr,syhoore,tvnaav,tanfure23,sevforr,shmml1,shmmonyy,fnir13gk,ehffryy1,fnaqen1,fpebghz,fphzont,fnoer,fnzqbt,qevccvat,qentba12,qentfgre,bejryy,znvaynaq,znvar,da632b,cbbcurnq,enccre,cbea4yvsr,enchamry,irybpvgl,inarffn1,gehroyhr,inzcver1,nonphf,902100,pevfcl,pubbpu,q6jaeb,qnohyyf,qruclr,anilfrny,awdpj4,abjabj,avttre1,avtugbjy,abarabar,avtugzne,ohfgyr,ohqql2,obvatb,ohtzna,obffubt,uloevq,uvyyfvqr,uvyygbc,ubgyrtf,ummr929o,uuuuu1,uryybury,rivybar,rqtrjvfr,r5csgh,rqrq,rzonyzre,rkpnyvohe,ryrsnag,xramvr,xvyynu,xyrrark,zbhfrf,zbhagn1a,zbgbef,zhgyrl,zhssqvir,ivivgeba,j00g88,vybirvg,wnewne,vaprfg,vaqlpne,17171717,1664,17011701,222777,2663,orrypu,oraora,lvgobf,lllll1,mmmmm1,fgbbtr,gnatreva,gnmgnm,fgrjneg1,fhzzre69,flfgrz1,fheirlbe,fgveyvat,3didbq,3jnl,456321,fvmmyr,fvzued,fcnegl,ffcgk452,fcurer,crefvna,cybccl,ca5wij,cbborne,cvnabf,cynfgre,grfgzr,gvss,guevyyre,znfgre12,ebpxrl,1229,1217,1478,1009,nanfgnfv,nzbaen,netragva,nyovab,nmnmry,tevaqre,6hyqi8,83l6ci,8888888,4gyirq,515051,pnefgra,sylref88,ssssss1,sverunjx,sverqbt,synfuzna,ttttt1,tbqfcrrq,tnyjnl,tvirvghc,shagvzrf,tbuna,tvirzr,trelsr,serapuvr,fnlnat,ehqrobl,fnaqnyf,qbhtny,qent0a,qtn9yn,qrfxgbc,baylbar,bggre,cnaqnf,znsvn,yhpxlf,ybiryvsr,znaqref,ddu92e,dpzsq454,enqne1,chanav,cgoquj,ghegyrf,haqregnxre,gef8s7,htrwic,noon,911gheob,npqp,nopq123,penfu1,pbybal,qryobl,qnivapv,abgrobbx,avgebk,obenoben,obamnv,oevfonar,urryrq,ubblnu,ubgtvey,v62tod,ubefr1,ucx2dp,rciwo6,zaoip,zbzzl1,zhafgre,jvppna,2369,orgglobb,oybaql,ovfznex,ornaont,owutsv,oynpxvpr,liggr545,labg,lrff,mymseu,jbyivr,007obaq,******,gnvytngr,gnaln1,fkud65,fgvaxl1,3234412,3xv42k,frivyyr,fuvzzre,fvraan,fuvgfuvg,fxvyyrg,fbbaref1,fbynevf,fznegnff,crqebf,craaljvf,csyblq,gbolqbt,gurgehgu,yrgzr1a,znevb66,zvpxl,ebpxl2,erjd,ervaqrre,1128,1207,1104,1432,ncevyvn,nyyfgngr,ontryf,onttvrf,oneentr,theh,72q5ga,606060,4jpdwa,punapr1,synatr,snegzna,trvy,toups2,shffonyy,shndm4,tnzrobl,trarivri,ebgnel,frnunjx,fnno,fnznqnzf,qriyg4,qvggb,qerivy,qevaxre,qrhpr,qvcfgvpx,bpgbchf,bggnjn,ybfnatry,ybirezna,cbexl,d9hzbm,encgher,chffl4zr,gevcyrk,hr8scj,gheobf,nnn340,puhepuvy,penmlzna,phgvrcvr,qqqqq1,qrwnih,phkyqi,aoivog,avxba,avxb,anfpne1,ohoon2,obborne,obbtref,ohyyjvax,ohyyqnjt,ubefrzra,rfpnynqr,rntyr2,qlanzvp,rslert,zvaarfbg,zbtjnv,zfakov,zjd6dymb,jreqre,ireltbbq,ibbqbb1,vvvvvv1,159951,1624,1911n1,2244,oryyntvb,orqynz,oryxva,ovyy1,kveg2x,??????,fhfvrd,fhaqbja,fhxror,fjvsgl,2snfg4h,frkr,fuebbz,frnjrrq,fxrrgre1,favpxre,fcnaxl1,fcbbx,cunrqehf,cvybgf,crqqyre,guhzcre1,gvtre7,gzwka151,gurzngev,y2t7x3,yrgzrvaa,wrsswrss,wbuazvfu,znagen,zvxr69,znmqn6,evcgvqr,ebobgf,1107,1130,142857,11001001,1134,nezberq,nyyavtug,nznghref,onegbx,nfgeny,onobba,onyyf1,onffbba,upyrro,uncclzna,tenavgr,tenljbys,tbys1,tbzrgf,8iwmhf,7890,789123,8hvnmc,5757,474wqiss,551fpnfv,50prag,pnzneb1,pureel1,purzvfg,sveramr,svfugnax,serrjvyy,tyraqnyr,sebtsebt,tnarfu,fpvebppb,qrivyzna,qbbqyrf,bxvanjn,bylzcvp,becurhf,buzltbq,cnvfyrl,cnyyznyy,yhapuobk,znaunggn,znunyb,znaqneva,djdjdj,dthilg,ckk3rsgc,enzoyre,cbccl1,ghex182,iqykhp,ghtobng,inyvnag,hjey7p,puevf123,pzsach,qrpvzny,qroovr1,qnaql,qnrqnyhf,angnfun1,avffna1,anapl123,arirezva,ancnyz,arjpnfgyr,obatuvg,vokafz,uuuuuu1,ubytre,rqzbagba,rdhvabk,qinqre,xvzzl,xahyyn,zhfgnsn,zbafbba,zvfgeny,zbetnan,zbavpn1,zbwnir,zbagrerl,zeovyy,ixnkpf,ivpgbe1,ivbyngbe,isquvs,jvyfba1,jnicmg,jvyqfgne,jvagre99,vdmmg580,vzonpx,1914,19741974,1zbaxrl,1d2j3r4e5g,2500,2255,ovtfubj,ovtohpxf,oynpxpbp,mbbzre,jgpnpd,jbooyr,kzra,kwmad5,lrfgreqn,lujadp,mmmkkk,393939,2spuot,fxvaurnq,fxvyyrq,funqbj12,frnfvqr,fvashy,fvyvpba,fzx7366,fancfubg,favcre1,fbppre11,fzhggl,crrcref,cybxvw,cqvqql,cvzcqnqql,guehfg,greena,gbcnm,gbqnl1,yvbaurne,yvggyrzn,ynhera1,yvapbya1,ytah9q,wharnh,zrgubf,ebthr1,ebzhyhf,erqfuvsg,1202,1469,12ybpxrq,nevmban1,nysnebzr,ny9ntq,nby123,nygrp,ncbyyb1,nefr,onxre1,ooo747,nkrzna,nfgeb1,unjgubea,tbbqsryy,unjxf1,tfgevat,unaarf,8543852,868686,4at62g,554hmcnq,5401,567890,5232,pngsbbq,sver1,syvcsybc,sssss1,sbmmvr,syhss,smnccn,ehfglqbt,fpneno,fngva,ehtre,fnzfhat1,qrfgva,qvnoyb2,qernzre1,qrgrpgvi,qbdid3,qeljnyy,cnynqva1,cncnorne,bssebnq,cnanfbavp,allnaxrr,yhrgqv,dpszgm,cls8nu,chqqyrf,chfflrng,enycu1,cevaprgb,gevivn,gerjd,gev5n3,nqirag,9898,ntlibep,pynexvr,pbnpu1,pbhevre,puevfgb,pubjqre,plmxuj,qnivqo,qnq2bjah,qnerqriv,qr7zqs,anmthy,obbobb1,obamb,ohgpu1,uhfxref1,utsqfn,ubealzna,ryrxgen,ratynaq1,rybqvr,xrezvg1,xnobbz,zbegra,zbpun,zbaqnl1,zbetbgu,jrrjrr,jrravr,ibeyba,jnubb,vybirtbq,vafvqre,wnlzna,1911,1qnyynf,1900,1enatre,201wrqym,2501,1dnm,ovtahgf,ovtonq,orrorr,ovyybjf,oryvmr,jiw5ac,jh4rgq,lnznun1,jevaxyr5,mroen1,lnaxrr1,mbbzmbbz,09876543,0311,?????,fgwnoa,gnvagrq,3gzarw,fxbbgre,fxrygre,fgneyvgr,fcvpr1,fgnprl1,fzvgul,cbyyhk,crgreabegu,cvkvr,cvfgba,cbrgf,gbbaf,gbcfcva,xhtz7o,yrtraqf,wrrcwrrc,wblfgvpx,whaxznvy,wbwbwbwb,wbaobl,zvqynaq,znlsnve,evpurf,ermabe,ebpxebpx,erobbg,erarr1,ebnqjnl,enfgn220,1411,1478963,1019,nepurel,naqlnaql,onexf,ontchff,nhpxynaq,tbbfrzna,unmzng,thppv,tenzzl,uncclqbt,7xor9q,7676,6owicr,5ylrqa,5858,5291,puneyvr2,p7yejh,pnaqlf,pungrnh,ppppp1,pneqvanyf,svuqsi,sbeghar12,tbpngf,tnryvp,sjfnqa,tbqobl,tyqzrb,sk3ghb,shone1,trarenyf,tsbepr,ekzgxc,ehym,fnvenz,qhauvyy,qbtttt,bmyd6djz,bi3nwl,ybpxbhg,znxnlyn,znptlire,znyybepn,cevzn,ciwrth,dukovw,ceryhqr1,gbgbeb,ghflzb,gebhfref,ghynar,ghegyr1,genpl1,nrebfzvg,noorl1,pygvpvp,pbbcre1,pbzrgf,qrycvreb,plcehf,qnagr1,qnir1,abhabhef,arkhf6,abtneq,abesbyx,oerag1,obblnu,obbgyrt,ohyyf23,ohyyf1,obbcre,urergvp,vprphor,uryyab,ubhaqf,ubarlqrj,ubbgref1,ubrf,uriaz4,uhtbuhtb,rcfba,rinatryv,rrrrr1,rlcurq".split(","))),
+o("english",r("lbh,v,gb,gur,n,naq,gung,vg,bs,zr,jung,vf,va,guvf,xabj,v'z,sbe,ab,unir,zl,qba'g,whfg,abg,qb,or,ba,lbhe,jnf,jr,vg'f,jvgu,fb,ohg,nyy,jryy,ner,ur,bu,nobhg,evtug,lbh'er,trg,urer,bhg,tbvat,yvxr,lrnu,vs,ure,fur,pna,hc,jnag,guvax,gung'f,abj,tb,uvz,ng,ubj,tbg,gurer,bar,qvq,jul,frr,pbzr,tbbq,gurl,ernyyl,nf,jbhyq,ybbx,jura,gvzr,jvyy,bxnl,onpx,pna'g,zrna,gryy,v'yy,sebz,url,jrer,ur'f,pbhyq,qvqa'g,lrf,uvf,orra,be,fbzrguvat,jub,orpnhfr,fbzr,unq,gura,fnl,bx,gnxr,na,jnl,hf,yvggyr,znxr,arrq,tbaan,arire,jr'er,gbb,fur'f,v'ir,fher,gurz,zber,bire,bhe,fbeel,jurer,jung'f,yrg,guvat,nz,znlor,qbja,zna,unf,hu,irel,ol,gurer'f,fubhyq,nalguvat,fnvq,zhpu,nal,yvsr,rira,bss,qbvat,gunax,tvir,bayl,gubhtug,uryc,gjb,gnyx,crbcyr,tbq,fgvyy,jnvg,vagb,svaq,abguvat,ntnva,guvatf,yrg'f,qbrfa'g,pnyy,gbyq,terng,orsber,orggre,rire,avtug,guna,njnl,svefg,oryvrir,bgure,srry,rirelguvat,jbex,lbh'ir,svar,ubzr,nsgre,ynfg,gurfr,qnl,xrrc,qbrf,chg,nebhaq,fgbc,gurl'er,v'q,thl,vfa'g,nyjnlf,yvfgra,jnagrq,ze,thlf,uhu,gubfr,ovt,ybg,unccrarq,gunaxf,jba'g,gelvat,xvaq,jebat,guebhtu,gnyxvat,znqr,arj,orvat,thrff,uv,pner,onq,zbz,erzrzore,trggvat,jr'yy,gbtrgure,qnq,yrnir,cynpr,haqrefgnaq,jbhyqa'g,npghnyyl,urne,onol,avpr,sngure,ryfr,fgnl,qbar,jnfa'g,gurve,pbhefr,zvtug,zvaq,rirel,rabhtu,gel,uryy,pnzr,fbzrbar,lbh'yy,bja,snzvyl,jubyr,nabgure,ubhfr,lbhefrys,vqrn,nfx,orfg,zhfg,pbzvat,byq,ybbxvat,jbzna,juvpu,lrnef,ebbz,yrsg,xarj,gbavtug,erny,fba,ubcr,anzr,fnzr,jrag,hz,uzz,unccl,cerggl,fnj,tvey,fve,fubj,sevraq,nyernql,fnlvat,arkg,guerr,wbo,ceboyrz,zvahgr,sbhaq,jbeyq,guvaxvat,unira'g,urneq,ubarl,znggre,zlfrys,pbhyqa'g,rknpgyl,univat,nu,cebonoyl,unccra,jr'ir,uheg,obl,obgu,juvyr,qrnq,tbggn,nybar,fvapr,rkphfr,fgneg,xvyy,uneq,lbh'q,gbqnl,pne,ernql,hagvy,jvgubhg,jnagf,ubyq,jnaan,lrg,frra,qrny,gbbx,bapr,tbar,pnyyrq,zbeavat,fhccbfrq,sevraqf,urnq,fghss,zbfg,hfrq,jbeel,frpbaq,cneg,yvir,gehgu,fpubby,snpr,sbetrg,gehr,ohfvarff,rnpu,pnhfr,fbba,xabjf,srj,gryyvat,jvsr,jub'f,hfr,punapr,eha,zbir,nalbar,crefba,olr,fbzrobql,qe,urneg,fhpu,zvff,zneevrq,cbvag,yngre,znxvat,zrrg,naljnl,znal,cubar,ernfba,qnza,ybfg,ybbxf,oevat,pnfr,ghea,jvfu,gbzbeebj,xvqf,gehfg,purpx,punatr,raq,yngr,nalzber,svir,yrnfg,gbja,nera'g,un,jbexvat,lrne,znxrf,gnxvat,zrnaf,oebgure,cynl,ungr,ntb,fnlf,ornhgvshy,tnir,snpg,penml,cnegl,fvg,bcra,nsenvq,orgjrra,vzcbegnag,erfg,sha,xvq,jbeq,jngpu,tynq,rirelbar,qnlf,fvfgre,zvahgrf,rirelobql,ovg,pbhcyr,jubn,rvgure,zef,srryvat,qnhtugre,jbj,trgf,nfxrq,haqre,oernx,cebzvfr,qbbe,frg,pybfr,unaq,rnfl,dhrfgvba,gevrq,sne,jnyx,arrqf,zvar,gubhtu,gvzrf,qvssrerag,xvyyrq,ubfcvgny,nalobql,nyevtug,jrqqvat,fuhg,noyr,qvr,cresrpg,fgnaq,pbzrf,uvg,fgbel,ln,zz,jnvgvat,qvaare,ntnvafg,shaal,uhfonaq,nyzbfg,cnl,nafjre,sbhe,bssvpr,rlrf,arjf,puvyq,fubhyqa'g,unys,fvqr,lbhef,zbzrag,fyrrc,ernq,jurer'f,fgnegrq,zra,fbhaqf,fbaal,cvpx,fbzrgvzrf,rz,orq,nyfb,qngr,yvar,cyna,ubhef,ybfr,unaqf,frevbhf,oruvaq,vafvqr,uvtu,nurnq,jrrx,jbaqreshy,svtug,cnfg,phg,dhvgr,ahzore,ur'yy,fvpx,vg'yy,tnzr,rng,abobql,tbrf,nybat,fnir,frrzf,svanyyl,yvirf,jbeevrq,hcfrg,pneyl,zrg,obbx,oebhtug,frrz,fbeg,fnsr,yvivat,puvyqera,jrera'g,yrnivat,sebag,fubg,ybirq,nfxvat,ehaavat,pyrne,svther,ubg,sryg,fvk,cneragf,qevax,nofbyhgryl,ubj'f,qnqql,nyvir,frafr,zrnag,unccraf,fcrpvny,org,oybbq,nva'g,xvqqvat,yvr,shyy,zrrgvat,qrne,frrvat,fbhaq,snhyg,jngre,gra,jbzra,ohl,zbaguf,ubhe,fcrnx,ynql,wra,guvaxf,puevfgznf,obql,beqre,bhgfvqr,unat,cbffvoyr,jbefr,pbzcnal,zvfgnxr,bbu,unaqyr,fcraq,gbgnyyl,tvivat,pbageby,urer'f,zneevntr,ernyvmr,cerfvqrag,hayrff,frk,fraq,arrqrq,gnxra,qvrq,fpnerq,cvpgher,gnyxrq,nff,uhaqerq,punatrq,pbzcyrgryl,rkcynva,cynlvat,pregnvayl,fvta,oblf,eryngvbafuvc,ybirf,unve,ylvat,pubvpr,naljurer,shgher,jrveq,yhpx,fur'yy,ghearq,xabja,gbhpu,xvff,penar,dhrfgvbaf,boivbhfyl,jbaqre,cnva,pnyyvat,fbzrjurer,guebj,fgenvtug,pbyq,snfg,jbeqf,sbbq,abar,qevir,srryvatf,gurl'yy,jbexrq,zneel,yvtug,qebc,pnaabg,frag,pvgl,qernz,cebgrpg,gjragl,pynff,fhecevfr,vgf,fjrrgurneg,cbbe,ybbxrq,znq,rkprcg,tha,l'xabj,qnapr,gnxrf,nccerpvngr,rfcrpvnyyl,fvghngvba,orfvqrf,chyy,uvzfrys,unfa'g,npg,jbegu,furevqna,nznmvat,gbc,tvira,rkcrpg,engure,vaibyirq,fjrne,cvrpr,ohfl,ynj,qrpvqrq,unccravat,zbivr,jr'q,pngpu,pbhagel,yrff,creuncf,fgrc,snyy,jngpuvat,xrcg,qneyvat,qbt,jva,nve,ubabe,crefbany,zbivat,gvyy,nqzvg,ceboyrzf,zheqre,ur'q,rivy,qrsvavgryl,srryf,vasbezngvba,ubarfg,rlr,oebxr,zvffrq,ybatre,qbyynef,gverq,riravat,uhzna,fgnegvat,erq,ragver,gevc,pyho,avyrf,fhccbfr,pnyz,vzntvar,snve,pnhtug,oynzr,fgerrg,fvggvat,snibe,ncnegzrag,pbheg,greevoyr,pyrna,yrnea,jbexf,senfvre,erynk,zvyyvba,nppvqrag,jnxr,cebir,fzneg,zrffntr,zvffvat,sbetbg,vagrerfgrq,gnoyr,aofc,orpbzr,zbhgu,certanag,zvqqyr,evat,pnershy,funyy,grnz,evqr,svtherq,jrne,fubbg,fgvpx,sbyybj,natel,vafgrnq,jevgr,fgbccrq,rneyl,ena,jne,fgnaqvat,sbetvir,wnvy,jrnevat,xvaqn,yhapu,pevfgvna,rvtug,terrayrr,tbggra,ubcvat,cubror,gubhfnaq,evqtr,cncre,gbhtu,gncr,fgngr,pbhag,oblsevraq,cebhq,nterr,oveguqnl,frira,gurl'ir,uvfgbel,funer,bssre,uheel,srrg,jbaqrevat,qrpvfvba,ohvyqvat,barf,svavfu,ibvpr,urefrys,jbhyq'ir,yvfg,zrff,qrfreir,rivqrapr,phgr,qerff,vagrerfgvat,ubgry,dhvrg,pbaprearq,ebnq,fgnlvat,orng,fjrrgvr,zragvba,pybgurf,svavfurq,sryy,arvgure,zzz,svk,erfcrpg,fcrag,cevfba,nggragvba,ubyqvat,pnyyf,arne,fhecevfrq,one,xrrcvat,tvsg,unqa'g,chggvat,qnex,frys,bjr,hfvat,vpr,urycvat,abezny,nhag,ynjlre,ncneg,pregnva,cynaf,wnk,tveysevraq,sybbe,jurgure,rirelguvat'f,cerfrag,rnegu,obk,pbire,whqtr,hcfgnvef,fnxr,zbzzl,cbffvoyl,jbefg,fgngvba,npgvat,npprcg,oybj,fgenatr,fnirq,pbairefngvba,cynar,znzn,lrfgreqnl,yvrq,dhvpx,yngryl,fghpx,ercbeg,qvssrerapr,evq,fgber,fur'q,ont,obhtug,qbhog,yvfgravat,jnyxvat,pbcf,qrrc,qnatrebhf,ohssl,fyrrcvat,puybr,ensr,fuu,erpbeq,ybeq,zbirq,wbva,pneq,pevzr,tragyrzra,jvyyvat,jvaqbj,erghea,jnyxrq,thvygl,yvxrf,svtugvat,qvssvphyg,fbhy,wbxr,snibevgr,hapyr,cebzvfrq,choyvp,obgure,vfynaq,frevbhfyl,pryy,yrnq,xabjvat,oebxra,nqivpr,fbzrubj,cnvq,ybfvat,chfu,urycrq,xvyyvat,hfhnyyl,rneyvre,obff,ortvaavat,yvxrq,vaabprag,qbp,ehyrf,pbc,yrnearq,guvegl,evfx,yrggvat,fcrnxvat,bssvpre,evqvphybhf,fhccbeg,nsgreabba,obea,ncbybtvmr,frng,areibhf,npebff,fbat,punetr,cngvrag,obng,ubj'q,uvqr,qrgrpgvir,cynaavat,avar,uhtr,oernxsnfg,ubeevoyr,ntr,njshy,cyrnfher,qevivat,unatvat,cvpxrq,fryy,dhvg,nccneragyl,qlvat,abgvpr,pbatenghyngvbaf,puvrs,bar'f,zbagu,ivfvg,pbhyq'ir,p'zba,yrggre,qrpvqr,qbhoyr,fnq,cerff,sbejneq,sbby,fubjrq,fzryy,frrzrq,fcryy,zrzbel,cvpgherf,fybj,frpbaqf,uhatel,obneq,cbfvgvba,urnevat,ebm,xvgpura,zn'nz,sbepr,syl,qhevat,fcnpr,fubhyq'ir,ernyvmrq,rkcrevrapr,xvpx,bguref,teno,zbgure'f,qvfphff,guveq,png,svsgl,erfcbafvoyr,sng,ernqvat,vqvbg,lrc,fhqqrayl,ntrag,qrfgebl,ohpxf,genpx,fubrf,fprar,crnpr,nezf,qrzba,ybj,yviivr,pbafvqre,cncref,zrqvpny,vaperqvoyr,jvgpu,qehax,nggbearl,gryyf,xabpx,jnlf,tvirf,qrcnegzrag,abfr,fxlr,gheaf,xrrcf,wrnybhf,qeht,fbbare,pnerf,cyragl,rkgen,grn,jba,nggnpx,tebhaq,jubfr,bhggn,jrrxraq,znggref,jebgr,glcr,sngure'f,tbfu,bccbeghavgl,vzcbffvoyr,obbxf,jnfgr,cergraq,anzrq,whzc,rngvat,cebbs,pbzcyrgr,fyrcg,pnerre,neerfg,oerngur,cresrpgyl,jnez,chyyrq,gjvpr,rnfvre,tbva,qngvat,fhvg,ebznagvp,qehtf,pbzsbegnoyr,svaqf,purpxrq,svg,qvibepr,ortva,bhefryirf,pybfre,ehva,nygubhtu,fzvyr,ynhtu,gerng,tbq'f,srne,jung'q,thl'f,bgurejvfr,rkpvgrq,znvy,uvqvat,pbfg,fgbyr,cnprl,abgvprq,sverq,rkpryyrag,yvirq,oevatvat,cbc,obggbz,abgr,fhqqra,onguebbz,syvtug,ubarfgyl,fvat,sbbg,tnzrf,erzvaq,onax,punetrf,jvgarff,svaqvat,cynprf,gerr,qner,uneqyl,gung'yy,vagrerfg,fgrny,fvyyl,pbagnpg,grnpu,fubc,cyhf,pbybary,serfu,gevny,vaivgrq,ebyy,enqvb,ernpu,uru,pubbfr,rzretrapl,qebccrq,perqvg,boivbhf,pel,ybpxrq,ybivat,cbfvgvir,ahgf,nterrq,cehr,tbbqolr,pbaqvgvba,thneq,shpxva,tebj,pnxr,zbbq,qnq'f,gbgny,penc,pelvat,orybat,ynl,cnegare,gevpx,cerffher,buu,nez,qerffrq,phc,yvrf,ohf,gnfgr,arpx,fbhgu,fbzrguvat'f,ahefr,envfr,ybgf,pneel,tebhc,jubrire,qevaxvat,gurl'q,oernxvat,svyr,ybpx,jvar,pybfrq,jevgvat,fcbg,cnlvat,fghql,nffhzr,nfyrrc,zna'f,gheavat,yrtny,ivxv,orqebbz,fubjre,avxbynf,pnzren,svyy,ernfbaf,sbegl,ovttre,abcr,oerngu,qbpgbef,cnagf,yriry,zbivrf,trr,nern,sbyxf,htu,pbagvahr,sbphf,jvyq,gehyl,qrfx,pbaivapr,pyvrag,guerj,onaq,uhegf,fcraqvat,nyybj,tenaq,nafjref,fuveg,punve,nyybjrq,ebhtu,qbva,frrf,tbireazrag,bhtug,rzcgl,ebhaq,ung,jvaq,fubjf,njner,qrnyvat,cnpx,zrnavat,uhegvat,fuvc,fhowrpg,thrfg,zbz'f,cny,zngpu,neerfgrq,fnyrz,pbashfrq,fhetrel,rkcrpgvat,qrnpba,hasbeghangryl,tbqqnza,yno,cnffrq,obggyr,orlbaq,jurarire,cbby,bcvavba,uryq,pbzzba,fgnegf,wrex,frpergf,snyyvat,cynlrq,arprffnel,oneryl,qnapvat,urnygu,grfgf,pbcl,pbhfva,cynaarq,qel,nurz,gjryir,fvzcyl,grff,fxva,bsgra,svsgrra,fcrrpu,anzrf,vffhr,beqref,anu,svany,erfhygf,pbqr,oryvrirq,pbzcyvpngrq,hzz,erfrnepu,abjurer,rfpncr,ovttrfg,erfgnhenag,tengrshy,hfhny,ohea,nqqerff,jvguva,fbzrcynpr,fperj,rireljurer,genva,svyz,erterg,tbbqarff,zvfgnxrf,qrgnvyf,erfcbafvovyvgl,fhfcrpg,pbeare,ureb,qhzo,greevsvp,shegure,tnf,jubb,ubyr,zrzbevrf,b'pybpx,sbyybjvat,raqrq,abobql'f,grrgu,ehvarq,fcyvg,nvecbeg,ovgr,fgraorpx,byqre,yvne,fubjvat,cebwrpg,pneqf,qrfcrengr,gurzfryirf,cngurgvp,qnzntr,fcbxr,dhvpxyl,fpner,znenu,nssbeq,ibgr,frggyr,zragvbarq,qhr,fgnlrq,ehyr,purpxvat,gvr,uverq,hcba,urnqf,pbaprea,oyrj,angheny,nypnmne,punzcntar,pbaarpgvba,gvpxrgf,unccvarff,sbez,fnivat,xvffvat,ungrq,crefbanyyl,fhttrfg,cercnerq,ohvyq,yrt,bagb,yrnirf,qbjafgnvef,gvpxrg,vg'q,gnhtug,ybbfr,ubyl,fgnss,frn,qhgl,pbaivaprq,guebjvat,qrsrafr,xvffrq,yrtf,nppbeqvat,ybhq,cenpgvpr,fngheqnl,onovrf,nezl,jurer'q,jneavat,zvenpyr,pneelvat,sylvat,oyvaq,htyl,fubccvat,ungrf,fbzrbar'f,fvtug,oevqr,pbng,nppbhag,fgngrf,pyrneyl,pryroengr,oevyyvnag,jnagvat,nqq,sbeerfgre,yvcf,phfgbql,pragre,fperjrq,ohlvat,fvmr,gbnfg,gubhtugf,fghqrag,fgbevrf,ubjrire,cebsrffvbany,ernyvgl,ovegu,yrkvr,nggvghqr,nqinagntr,tenaqsngure,fnzv,fbyq,bcrarq,tenaqzn,ort,punatrf,fbzrqnl,tenqr,ebbs,oebguref,fvtarq,nuu,zneelvat,cbjreshy,tebja,tenaqzbgure,snxr,bcravat,rkcrpgrq,riraghnyyl,zhfg'ir,vqrnf,rkpvgvat,pbirerq,snzvyvne,obzo,obhg,gryrivfvba,unezbal,pbybe,urnil,fpurqhyr,erpbeqf,pncnoyr,cenpgvpnyyl,vapyhqvat,pbeerpg,pyhr,sbetbggra,vzzrqvngryl,nccbvagzrag,fbpvny,angher,qrfreirf,guerng,oybbql,ybaryl,beqrerq,funzr,ybpny,wnpxrg,ubbx,qrfgeblrq,fpnel,vairfgvtngvba,nobir,vaivgr,fubbgvat,cbeg,yrffba,pevzvany,tebjvat,pnhfrq,ivpgvz,cebsrffbe,sbyybjrq,shareny,abguvat'f,pbafvqrevat,oheavat,fgeratgu,ybff,ivrj,tvn,fvfgref,rirelobql'f,frireny,chfurq,jevggra,fbzrobql'f,fubpx,chfuvat,urng,pubpbyngr,terngrfg,zvfrenoyr,pbevagubf,avtugzner,oevatf,mnaqre,punenpgre,orpnzr,snzbhf,rarzl,penfu,punaprf,fraqvat,erpbtavmr,urnygul,obevat,srrq,ratntrq,creprag,urnqrq,yvarf,gerngrq,checbfr,xavsr,evtugf,qent,fna,sna,onqyl,uver,cnvag,cneqba,ohvyg,orunivbe,pybfrg,jnea,tbetrbhf,zvyx,fheivir,sbeprq,bcrengvba,bssrerq,raqf,qhzc,erag,erzrzorerq,yvrhgranag,genqr,gunaxftvivat,enva,eriratr,culfvpny,ninvynoyr,cebtenz,cersre,onol'f,fcner,cenl,qvfnccrnerq,nfvqr,fgngrzrag,fbzrgvzr,zrng,snagnfgvp,oernguvat,ynhtuvat,vgfrys,gvc,fgbbq,znexrg,nssnve,bhef,qrcraqf,znva,cebgrpgvat,whel,angvbany,oenir,ynetr,wnpx'f,vagreivrj,svatref,zheqrerq,rkcynangvba,cebprff,cvpxvat,onfrq,fglyr,cvrprf,oynu,nffvfgnag,fgebatre,nnu,cvr,unaqfbzr,haoryvrinoyr,nalgvzr,arneyl,funxr,rirelbar'f,bnxqnyr,pnef,jurerire,freir,chyyvat,cbvagf,zrqvpvar,snpgf,jnvgrq,ybhfl,pvephzfgnaprf,fgntr,qvfnccbvagrq,jrnx,gehfgrq,yvprafr,abguva,pbzzhavgl,genfu,haqrefgnaqvat,fyvc,pno,fbhaqrq,njnxr,sevraqfuvc,fgbznpu,jrncba,guerngrarq,zlfgrel,bssvpvny,erthyne,evire,irtnf,haqrefgbbq,pbagenpg,enpr,onfvpnyyl,fjvgpu,senaxyl,vffhrf,purnc,yvsrgvzr,qral,cnvagvat,rne,pybpx,jrvtug,tneontr,jul'q,grne,rnef,qvt,fryyvat,frggvat,vaqrrq,punatvat,fvatvat,gval,cnegvphyne,qenj,qrprag,nibvq,zrffrq,svyyrq,gbhpurq,fpber,crbcyr'f,qvfnccrne,rknpg,cvyyf,xvpxrq,unez,erpragyl,sbeghar,cergraqvat,envfrq,vafhenapr,snapl,qebir,pnerq,orybatf,avtugf,funcr,yberynv,onfr,yvsg,fgbpx,fbaal'f,snfuvba,gvzvat,thnenagrr,purfg,oevqtr,jbxr,fbhepr,cngvragf,gurbel,bevtvany,ohearq,jngpurq,urnqvat,frysvfu,bvy,qevaxf,snvyrq,crevbq,qbyy,pbzzvggrq,ryringbe,serrmr,abvfr,rkvfg,fpvrapr,cnve,rqtr,jnfgvat,fng,prerzbal,cvt,hapbzsbegnoyr,crt,thaf,fgnevat,svyrf,ovxr,jrngure,anzr'f,zbfgyl,fgerff,crezvffvba,neevirq,guebja,cbffvovyvgl,rknzcyr,obeebj,eryrnfr,ngr,abgrf,ubb,yvoenel,cebcregl,artngvir,snohybhf,rirag,qbbef,fpernzvat,knaqre,grez,jung'er,zrny,sryybj,ncbybtl,natre,ubarlzbba,jrg,onvy,cnexvat,aba,cebgrpgvba,svkrq,snzvyvrf,puvarfr,pnzcnvta,znc,jnfu,fgbyra,frafvgvir,fgrnyvat,pubfr,yrgf,pbzsbeg,jbeelvat,jubz,cbpxrg,zngrb,oyrrqvat,fghqragf,fubhyqre,vtaber,sbhegu,arvtuobeubbq,sov,gnyrag,gvrq,tnentr,qvrf,qrzbaf,qhzcrq,jvgpurf,genvavat,ehqr,penpx,zbqry,obgurevat,enqne,terj,erznva,fbsg,zrnagvzr,tvzzr,pbaarpgrq,xvaqf,pnfg,fxl,yvxryl,sngr,ohevrq,uht,oebgure'f,pbapragengr,cebz,zrffntrf,rnfg,havg,vagraq,perj,nfunzrq,fbzrguva,znantr,thvyg,jrncbaf,grezf,vagreehcg,thgf,gbathr,qvfgnapr,pbasrerapr,gerngzrag,fubr,onfrzrag,fragrapr,chefr,tynffrf,pnova,havirefr,gbjneqf,ercrng,zveebe,jbhaq,geniref,gnyy,ernpgvba,bqq,ratntrzrag,gurencl,yrggref,rzbgvbany,ehaf,zntnmvar,wrrm,qrpvfvbaf,fbhc,qnhtugre'f,guevyyrq,fbpvrgl,znantrq,fgnxr,purs,zbirf,rkgerzryl,ragveryl,zbzragf,rkcrafvir,pbhagvat,fubgf,xvqanccrq,fdhner,fba'f,pyrnavat,fuvsg,cyngr,vzcerffrq,fzryyf,genccrq,znyr,gbhe,nvqna,xabpxrq,punezvat,nggenpgvir,nethr,chgf,juvc,ynathntr,rzoneenffrq,frggyrq,cnpxntr,ynvq,navznyf,uvggvat,qvfrnfr,ohfg,fgnvef,nynez,cher,anvy,areir,vaperqvoyl,jnyxf,qveg,fgnzc,fvfgre'f,orpbzvat,greevoyl,sevraqyl,rnfvyl,qnzarq,wbof,fhssrevat,qvfthfgvat,fgbccvat,qryvire,evqvat,urycf,srqreny,qvfnfgre,onef,qan,pebffrq,engr,perngr,genc,pynvz,pnyvsbeavn,gnyxf,rttf,rssrpg,puvpx,guerngravat,fcbxra,vagebqhpr,pbasrffvba,rzoneenffvat,ontf,vzcerffvba,tngr,lrne'f,erchgngvba,nggnpxrq,nzbat,xabjyrqtr,cerfragf,vaa,rhebcr,pung,fhssre,nethzrag,gnyxva,pebjq,ubzrjbex,sbhtug,pbvapvqrapr,pnapry,npprcgrq,evc,cevqr,fbyir,ubcrshyyl,cbhaqf,cvar,zngr,vyyrtny,trarebhf,fgerrgf,pba,frcnengr,bhgsvg,znvq,ongu,chapu,znlbe,sernxrq,orttvat,erpnyy,rawblvat,oht,jbzna'f,cercner,cnegf,jurry,fvtany,qverpgvba,qrsraq,fvtaf,cnvashy,lbhefryirf,eng,znevf,nzbhag,gung'q,fhfcvpvbhf,syng,pbbxvat,ohggba,jnearq,fvkgl,cvgl,cnegvrf,pevfvf,pbnpu,ebj,lryyvat,yrnqf,njuvyr,cra,pbasvqrapr,bssrevat,snyyf,vzntr,snez,cyrnfrq,cnavp,uref,trggva,ebyr,ershfr,qrgrezvarq,uryy'f,tenaqcn,cebterff,grfgvsl,cnffvat,zvyvgnel,pubvprf,huu,tlz,pehry,jvatf,obqvrf,zragny,tragyrzna,pbzn,phggvat,cebgrhf,thrfgf,tvey'f,rkcreg,orarsvg,snprf,pnfrf,yrq,whzcrq,gbvyrg,frpergnel,farnx,zvk,svez,unyybjrra,nterrzrag,cevinpl,qngrf,naavirefnel,fzbxvat,erzvaqf,cbg,perngrq,gjvaf,fjvat,fhpprffshy,frnfba,fpernz,pbafvqrerq,fbyvq,bcgvbaf,pbzzvgzrag,fravbe,vyy,ryfr'f,pehfu,nzohynapr,jnyyrg,qvfpbirerq,bssvpvnyyl,gvy,evfr,ernpurq,ryrira,bcgvba,ynhaqel,sbezre,nffher,fgnlf,fxvc,snvy,npphfrq,jvqr,punyyratr,cbchyne,yrneavat,qvfphffvba,pyvavp,cynag,rkpunatr,orgenlrq,oeb,fgvpxvat,havirefvgl,zrzoref,ybjre,oberq,znafvba,fbqn,furevss,fhvgr,unaqyrq,ohfgrq,frangbe,ybnq,unccvre,lbhatre,fghqlvat,ebznapr,cebprqher,bprna,frpgvba,frp,pbzzvg,nffvtazrag,fhvpvqr,zvaqf,fjvz,raqvat,ong,lryy,yynaivrj,yrnthr,punfvat,frngf,cebcre,pbzznaq,oryvrirf,uhzbe,ubcrf,svsgu,jvaavat,fbyhgvba,yrnqre,gurerfn'f,fnyr,ynjlref,abe,zngrevny,yngrfg,uvtuyl,rfpncrq,nhqvrapr,cnerag,gevpxf,vafvfg,qebccvat,purre,zrqvpngvba,uvture,syrfu,qvfgevpg,ebhgvar,praghel,funerq,fnaqjvpu,unaqrq,snyfr,orngvat,nccrne,jneenag,snzvyl'f,njshyyl,bqqf,negvpyr,gerngvat,guva,fhttrfgvat,srire,fjrng,fvyrag,fcrpvsvp,pyrire,fjrngre,erdhrfg,cevmr,znyy,gevrf,zvyr,shyyl,rfgngr,havba,funevat,nffhzvat,whqtzrag,tbbqavtug,qvibeprq,qrfcvgr,fheryl,fgrcf,wrg,pbasrff,zngu,yvfgrarq,pbzva,nafjrerq,ihyarenoyr,oyrff,qernzvat,ebbzf,puvc,mreb,cbgragvny,cvffrq,angr,xvyyf,grnef,xarrf,puvyy,pneyl'f,oenvaf,ntrapl,uneineq,qrterr,hahfhny,jvsr'f,wbvag,cnpxrq,qernzrq,pher,pbirevat,arjfcncre,ybbxva,pbnfg,tenir,rtt,qverpg,purngvat,oernxf,dhnegre,zvkrq,ybpxre,uhfonaq'f,tvsgf,njxjneq,gbl,guhefqnl,ener,cbyvpl,xvq'f,wbxvat,pbzcrgvgvba,pynffrf,nffhzrq,ernfbanoyr,qbmra,phefr,dhnegreznvar,zvyyvbaf,qrffreg,ebyyvat,qrgnvy,nyvra,freirq,qryvpvbhf,pybfvat,inzcverf,eryrnfrq,napvrag,jber,inyhr,gnvy,frpher,fnynq,zheqrere,uvgf,gbjneq,fcvg,fperra,bssrafr,qhfg,pbafpvrapr,oernq,nafjrevat,nqzvggrq,ynzr,vaivgngvba,tevrs,fzvyvat,cngu,fgnaqf,objy,certanapl,ubyyljbbq,cevfbare,qryvirel,thneqf,ivehf,fuevax,vasyhrapr,serrmvat,pbapreg,jerpx,cnegaref,znffvzb,punva,oveqf,yvsr'f,jver,grpuavpnyyl,cerfrapr,oybja,nakvbhf,pnir,irefvba,ubyvqnlf,pyrnerq,jvfurf,fheivirq,pnevat,pnaqyrf,obhaq,eryngrq,punez,lhc,chyfr,whzcvat,wbxrf,senzr,obbz,ivpr,cresbeznapr,bppnfvba,fvyrapr,bcren,abafrafr,sevtugrarq,qbjagbja,nzrevpnaf,fyvccrq,qvzren,oybjvat,jbeyq'f,frffvba,eryngvbafuvcf,xvqanccvat,npghny,fcva,pvivy,ebkl,cnpxvat,rqhpngvba,oynzvat,jenc,bofrffrq,sehvg,gbegher,crefbanyvgl,ybpngvba,rssbeg,qnqql'f,pbzznaqre,gerrf,gurer'yy,bjare,snvel,cre,bgure'f,arprffnevyl,pbhagl,pbagrfg,friragl,cevag,zbgry,snyyra,qverpgyl,haqrejrne,tenzf,rkunhfgrq,oryvrivat,cnegvphyneyl,sernxvat,pnershyyl,genpr,gbhpuvat,zrffvat,pbzzvggrr,erpbirel,vagragvba,pbafrdhraprf,oryg,fnpevsvpr,pbhentr,bssvpref,rawblrq,ynpx,nggenpgrq,nccrnef,onl,lneq,erghearq,erzbir,ahg,pneevrq,gbqnl'f,grfgvzbal,vagrafr,tenagrq,ivbyrapr,urny,qrsraqvat,nggrzcg,hasnve,eryvrirq,cbyvgvpny,yblny,nccebnpu,fybjyl,cynlf,abeznyyl,ohmm,nypbuby,npgbe,fhecevfrf,cflpuvngevfg,cer,cynva,nggvp,jub'q,havsbez,greevsvrq,fbaf,crg,pyrnarq,mnpu,guerngra,grnpuvat,zhz,zbgvba,sryyn,rarzvrf,qrfreg,pbyyrpgvba,vapvqrag,snvyher,fngvfsvrq,vzntvangvba,ubbxrq,urnqnpur,sbetrggvat,pbhafrybe,naqvr,npgrq,bccbfvgr,uvturfg,rdhvczrag,onqtr,vgnyvna,ivfvgvat,anghenyyl,sebmra,pbzzvffvbare,fnxrf,ynobe,nccebcevngr,gehax,nezrq,gubhfnaqf,erprvirq,qhaab,pbfghzr,grzcbenel,fvkgrra,vzcerffvir,mbar,xvpxvat,whax,uba,tenoorq,hayvxr,haqrefgnaqf,qrfpevor,pyvragf,bjaf,nssrpg,jvgarffrf,fgneivat,vafgvapgf,unccvyl,qvfphffvat,qrfreirq,fgenatref,yrnqvat,vagryyvtrapr,ubfg,nhgubevgl,fheirvyynapr,pbj,pbzzrepvny,nqzver,dhrfgvbavat,shaq,qenttrq,onea,bowrpg,qrrcyl,nzc,jenccrq,jnfgrq,grafr,ebhgr,ercbegf,ubcrq,sryynf,ryrpgvba,ebbzzngr,zbegny,snfpvangvat,pubfra,fgbcf,fubja,neenatrq,nonaqbarq,fvqrf,qryvirerq,orpbzrf,neenatrzragf,ntraqn,ortna,gurngre,frevrf,yvgrenyyl,cebcbfr,ubarfgl,haqrearngu,sbeprf,freivprf,fnhpr,cebzvfrf,yrpgher,rvtugl,gbea,fubpxrq,eryvrs,rkcynvarq,pbhagre,pvepyr,ivpgvzf,genafsre,erfcbafr,punaary,vqragvgl,qvssreragyl,pnzchf,fcl,avargl,vagrerfgf,thvqr,qrpx,ovbybtvpny,currof,rnfr,perrc,jvyy'f,jnvgerff,fxvyyf,gryrcubar,evccrq,envfvat,fpengpu,evatf,cevagf,jnir,gurr,nethvat,svtherf,rcuenz,nfxf,erprcgvba,cva,bbcf,qvare,naablvat,ntragf,gnttreg,tbny,znff,novyvgl,fretrnag,whyvna'f,vagreangvbany,tvt,oynfg,onfvp,genqvgvba,gbjry,rnearq,eho,cerfvqrag'f,unovg,phfgbzref,perngher,orezhqn,npgvbaf,fanc,ernpg,cevzr,cnenabvq,jun,unaqyvat,rngra,gurencvfg,pbzzrag,punetrq,gnk,fvax,ercbegre,orngf,cevbevgl,vagreehcgvat,tnva,srq,jnerubhfr,ful,cnggrea,yblnygl,vafcrpgbe,riragf,cyrnfnag,zrqvn,rkphfrf,guerngf,creznarag,thrffvat,svanapvny,qrznaq,nffnhyg,graq,cenlvat,zbgvir,ybf,hapbafpvbhf,genvarq,zhfrhz,genpxf,enatr,anc,zlfgrevbhf,haunccl,gbar,fjvgpurq,enccncbeg,njneq,fbbxvr,arvtuobe,ybnqrq,thg,puvyqubbq,pnhfvat,fjber,cvff,uhaqerqf,onynapr,onpxtebhaq,gbff,zbo,zvfrel,inyragvar'f,guvrs,fdhrrmr,ybool,unu,tbn'hyq,trrm,rkrepvfr,rtb,qenzn,ny'f,sbegu,snpvat,obbxrq,obb,fbatf,fnaqohet,rvtugrra,q'lbh,ohel,cresbez,rirelqnl,qvttvat,perrcl,pbzcnerq,jbaqrerq,genvy,yvire,uzzz,qenja,qrivpr,zntvpny,wbhearl,svgf,qvfphffrq,fhccyl,zbeny,urycshy,nggnpurq,gvzzl'f,frnepuvat,syrj,qrcerffrq,nvfyr,haqretebhaq,ceb,qnhtugref,pevf,nzra,ibjf,cebcbfny,cvg,arvtuobef,qnea,pragf,neenatr,naahyzrag,hfrf,hfryrff,fdhnq,ercerfrag,cebqhpg,wbvarq,nsgrejneqf,nqiragher,erfvfg,cebgrpgrq,arg,sbhegrra,pryroengvat,cvnab,vapu,synt,qrog,ivbyrag,gnt,fnaq,thz,qnzzvg,grny'p,uvc,pryroengvba,orybj,erzvaqrq,pynvzf,gbavtug'f,ercynpr,cubarf,cncrejbex,rzbgvbaf,glcvpny,fghoobea,fgnoyr,furevqna'f,cbhaq,cncn,ync,qrfvtarq,pheerag,ohz,grafvba,gnax,fhssrerq,fgrnql,cebivqr,bireavtug,zrnajuvyr,puvcf,orrs,jvaf,fhvgf,obkrf,fnyg,pnffnqvar,pbyyrpg,obl'f,gentrql,gurersber,fcbvy,ernyz,cebsvyr,qrterrf,jvcr,fhetrba,fgergpu,fgrccrq,arcurj,arng,yvzb,pbasvqrag,nagv,crefcrpgvir,qrfvtare,pyvzo,gvgyr,fhttrfgrq,chavfuzrag,svarfg,rguna'f,fcevatsvryq,bppheerq,uvag,sheavgher,oynaxrg,gjvfg,fheebhaqrq,fhesnpr,cebprrq,yvc,sevrf,jbeevrf,ershfrq,avrpr,tybirf,fbnc,fvtangher,qvfnccbvag,penjy,pbaivpgrq,mbb,erfhyg,cntrf,yvg,syvc,pbhafry,qbhogf,pevzrf,npphfvat,jura'f,funxvat,erzrzorevat,cunfr,unyyjnl,unysjnl,obgurerq,hfrshy,znxrhc,znqnz,tngure,pbapreaf,pvn,pnzrenf,oynpxznvy,flzcgbzf,ebcr,beqvanel,vzntvarq,pbaprcg,pvtnerggr,fhccbegvir,zrzbevny,rkcybfvba,lnl,jbb,genhzn,bhpu,yrb'f,shevbhf,purng,nibvqvat,jurj,guvpx,bbbu,obneqvat,nccebir,hetrag,fuuu,zvfhaqrefgnaqvat,zvavfgre,qenjre,fva,cubal,wbvavat,wnz,vagresrer,tbireabe,puncgre,pngpuvat,onetnva,gentvp,fpubbyf,erfcbaq,chavfu,cragubhfr,ubc,gubh,erznvaf,enpu,buuu,vafhyg,qbpgbe'f,ohtf,orfvqr,orttrq,nofbyhgr,fgevpgyl,fgrsnab,fbpxf,frafrf,hcf,farnxvat,lnu,freivat,erjneq,cbyvgr,purpxf,gnyr,culfvpnyyl,vafgehpgvbaf,sbbyrq,oybjf,gnool,vagreany,ovggre,nqbenoyr,l'nyy,grfgrq,fhttrfgvba,fgevat,wrjryel,qrongr,pbz,nyvxr,cvgpu,snk,qvfgenpgrq,furygre,yrffbaf,sbervta,nirentr,gjva,sevraq'f,qnzavg,pbafgnoyr,pvephf,nhqvgvba,ghar,fubhyqref,zhq,znfx,urycyrff,srrqvat,rkcynvaf,qngrq,eboorel,bowrpgvba,orunir,inyhnoyr,funqbjf,pbhegebbz,pbashfvat,gho,gnyragrq,fgehpx,fznegre,zvfgnxra,vgnyl,phfgbzre,ovmneer,fpnevat,chax,zbgureshpxre,ubyqf,sbphfrq,nyreg,npgvivgl,irppuvb,erireraq,uvtujnl,sbbyvfu,pbzcyvzrag,onfgneqf,nggraq,fpurzr,nvq,jbexre,jurrypunve,cebgrpgvir,cbrgel,tragyr,fpevcg,erirefr,cvpavp,xarr,vagraqrq,pbafgehpgvba,pntr,jrqarfqnl,ibvprf,gbrf,fgvax,fpnerf,cbhe,rssrpgf,purngrq,gbjre,gvzr'f,fyvqr,ehvavat,erprag,wrjvfu,svyyvat,rkvg,pbggntr,pbecbengr,hcfvqr,fhccyvrf,cebirf,cnexrq,vafgnapr,tebhaqf,qvnel,pbzcynvavat,onfvf,jbhaqrq,guvat'f,cbyvgvpf,pbasrffrq,cvcr,zreryl,znffntr,qngn,pubc,ohqtrg,oevrs,fcvyy,cenlre,pbfgf,orgenl,ortvaf,neenatrzrag,jnvgre,fpnz,engf,senhq,syh,oehfu,nalbar'f,nqbcgrq,gnoyrf,flzcngul,cvyy,crr,jro,friragrra,ynaqrq,rkcerffvba,ragenapr,rzcyblrr,qenjvat,pnc,oenpryrg,cevapvcny,cnlf,wra'f,snveyl,snpvyvgl,qeh,qrrcre,neevir,havdhr,genpxvat,fcvgr,furq,erpbzzraq,bhtugn,anaal,anvir,zrah,tenqrf,qvrg,pbea,nhgubevgvrf,frcnengrq,ebfrf,cngpu,qvzr,qrinfgngrq,qrfpevcgvba,gnc,fhogyr,vapyhqr,pvgvmra,ohyyrgf,ornaf,evp,cvyr,ynf,rkrphgvir,pbasvez,gbr,fgevatf,cnenqr,uneobe,punevgl'f,obj,obeebjrq,gblf,fgenvtugra,fgrnx,fgnghf,erzbgr,cerzbavgvba,cbrz,cynagrq,ubaberq,lbhgu,fcrpvsvpnyyl,zrrgvatf,rknz,pbairavrag,geniryvat,zngpurf,ynlvat,vafvfgrq,nccyl,havgf,grpuabybtl,qvfu,nvgbeb,fvf,xvaqyl,tenaqfba,qbabe,grzcre,grrantre,fgengrtl,evpuneq'f,cebira,veba,qravny,pbhcyrf,onpxjneqf,grag,fjryy,abba,unccvrfg,rcvfbqr,qevirf,guvaxva,fcvevgf,cbgvba,srapr,nssnvef,npgf,jungfbrire,erurnefny,cebirq,bireurneq,ahpyrne,yrzzr,ubfgntr,snprq,pbafgnag,orapu,gelva,gnkv,fubir,frgf,zbeba,yvzvgf,vzcerff,ragvgyrq,arrqyr,yvzvg,ynq,vagryyvtrag,vafgnag,sbezf,qvfnterr,fgvaxf,evnaan,erpbire,cnhy'f,ybfref,tebbz,trfgher,qrirybcrq,pbafgnagyl,oybpxf,onegraqre,ghaary,fhfcrpgf,frnyrq,erzbirq,yrtnyyl,vyyarff,urnef,qerffrf,nlr,iruvpyr,gul,grnpuref,furrg,erprvir,cflpuvp,avtug'f,qravrq,xabpxvat,whqtvat,ovoyr,orunys,nppvqragnyyl,jnxvat,gba,fhcrevbe,frrx,ehzbe,angnyvr'f,znaaref,ubzryrff,ubyybj,qrfcrengryl,pevgvpny,gurzr,gncrf,ersreevat,crefbaary,vgrz,trabn,trne,znwrfgl,snaf,rkcbfrq,pevrq,gbaf,fcryyf,cebqhpre,ynhapu,vafgvapg,oryvrs,dhbgr,zbgbeplpyr,pbaivapvat,nccrny,nqinapr,terngre,snfuvbarq,nvqf,nppbzcyvfurq,zbzzl'f,tevc,ohzc,hcfrggvat,fbyqvref,fpurqhyrq,cebqhpgvba,arrqvat,vaivfvoyr,sbetvirarff,srqf,pbzcyrk,pbzcner,obguref,gbbgu,greevgbel,fnperq,zba,wrffvpn'f,vaivgvat,vaare,rnea,pbzcebzvfr,pbpxgnvy,genzc,grzcrengher,fvtavat,ynaqvat,wnobg,vagvzngr,qvtavgl,qrnyg,fbhyf,vasbezrq,tbqf,ragregnvazrag,qerffvat,pvtnerggrf,oyrffvat,ovyyvba,nyvfgnve,hccre,znaare,yvtugavat,yrnx,urnira'f,sbaq,pbexl,nygreangvir,frqhpr,cynlref,bcrengr,zbqrea,yvdhbe,svatrecevagf,rapunagzrag,ohggref,fghssrq,fgniebf,ebzr,svyrq,rzbgvbanyyl,qvivfvba,pbaqvgvbaf,huz,genafcynag,gvcf,cnffrf,bkltra,avpryl,yhangvp,uvq,qevyy,qrfvtaf,pbzcynva,naabhaprzrag,ivfvgbef,hasbeghangr,fync,cenlref,cyht,betnavmngvba,bcraf,bngu,b'arvyy,zhghny,tenqhngr,pbasvezrq,oebnq,lnpug,fcn,erzrzoref,sevrq,rkgenbeqvanel,onvg,nccrnenapr,nohfr,jnegba,fjbea,fgner,fnsryl,erhavba,cybg,ohefg,nun,zvtug'ir,rkcrevzrag,qvir,pbzzvffvba,pryyf,nobneq,ergheavat,vaqrcraqrag,rkcbfr,raivebazrag,ohqqvrf,gehfgvat,fznyyre,zbhagnvaf,obbmr,fjrrc,fber,fphqqre,cebcreyl,cnebyr,znaunggna,rssrpgvir,qvgpu,qrpvqrf,pnapryrq,oen,nagbavb'f,fcrnxf,fcnavfu,ernpuvat,tybj,sbhaqngvba,jbzra'f,jrnef,guvefgl,fxhyy,evatvat,qbez,qvavat,oraq,harkcrpgrq,flfgrzf,fbo,cnapnxrf,zvpunry'f,unefu,synggrerq,rkvfgrapr,nuuu,gebhoyrf,cebcbfrq,svtugf,snibhevgr,rngf,qevira,pbzchgref,entr,yhxr'f,pnhfrf,obeqre,haqrepbire,fcbvyrq,fybnar,fuvar,eht,vqragvsl,qrfgeblvat,qrchgl,qryvorengryl,pbafcvenpl,pybguvat,gubhtugshy,fvzvyne,fnaqjvpurf,cyngrf,anvyf,zvenpyrf,vairfgzrag,sevqtr,qenax,pbagenel,orybirq,nyyretvp,jnfurq,fgnyxvat,fbyirq,fnpx,zvffrf,ubcr'f,sbetvira,revpn'f,phm,orag,nccebiny,cenpgvpny,betnavmrq,znpvire,vaibyir,vaqhfgel,shry,qenttvat,pbbxrq,cbffrffvba,cbvagvat,sbhy,rqvgbe,qhyy,orarngu,ntrf,ubeebe,urryf,tenff,snxvat,qrns,fghag,cbegenvg,cnvagrq,wrnybhfl,ubcryrff,srnef,phgf,pbapyhfvba,ibyhagrre,fpranevb,fngryyvgr,arpxynpr,zra'f,penfurq,puncry,npphfr,erfgenvavat,wnfba'f,uhznaf,ubzvpvqr,uryvpbcgre,sbezny,svevat,fubegyl,fnsre,qribgrq,nhpgvba,ivqrbgncr,gber,fgberf,erfreingvbaf,cbcf,nccrgvgr,nalobql'f,jbhaqf,inadhvfu,flzoby,cerirag,cngeby,vebavp,sybj,snguref,rkpvgrzrag,nalubj,grnevat,fraqf,fnz'f,encr,ynhturq,shapgvba,pber,punezrq,jungrire'f,fho,yhpl'f,qrnyre,pbbcrengr,onpurybe,nppbzcyvfu,jnxrf,fgehttyr,fcbggrq,fbegf,erfreingvba,nfurf,lneqf,ibgrf,gnfgrf,fhccbfrqyl,ybsg,vagragvbaf,vagrtevgl,jvfurq,gbjryf,fhfcrpgrq,fyvtugyl,dhnyvsvrq,ybt,vairfgvtngvat,vanccebcevngr,vzzrqvngr,pbzcnavrf,onpxrq,cna,bjarq,yvcfgvpx,ynja,pbzcnffvba,pnsrgrevn,orybatrq,nssrpgrq,fpnes,cerpvfryl,bofrffvba,znantrzrag,ybfrf,yvtugra,wnxr'f,vasrpgvba,tenaqqnhtugre,rkcybqr,purzvfgel,onypbal,guvf'yy,fgbentr,fclvat,choyvpvgl,rkvfgf,rzcyblrrf,qrcraq,phr,penpxrq,pbafpvbhf,njj,nyyl,npr,nppbhagf,nofheq,ivpvbhf,gbbyf,fgebatyl,enc,vairagrq,sbeovq,qverpgvbaf,qrsraqnag,oner,naabhapr,nypnmne'f,fperjvat,fnyrfzna,eboorq,yrnc,ynxrivrj,vafnavgl,vawhel,trargvp,qbphzrag,jul'f,erirny,eryvtvbhf,cbffvovyvgvrf,xvqanc,tbja,ragrevat,punvef,jvfuvat,fgnghr,frghc,frevny,chavfurq,qenzngvp,qvfzvffrq,pevzvanyf,friragu,ertergf,encrq,dhnegref,cebqhpr,ynzc,qragvfg,naljnlf,nabalzbhf,nqqrq,frzrfgre,evfxf,ertneqvat,bjrf,zntnmvarf,znpuvarf,yhatf,rkcynvavat,qryvpngr,puvyq'f,gevpxrq,byqrfg,yvi,rntre,qbbzrq,pnsr,ohernh,nqbcgvba,genqvgvbany,fheeraqre,fgno,fvpxarff,fphz,ybbc,vaqrcraqrapr,trarengvba,sybngvat,rairybcr,ragrerq,pbzovangvba,punzore,jbea,inhyg,fbery,cergraqrq,cbgngbrf,cyrn,cubgbtencu,cnlonpx,zvfhaqrefgbbq,xvqqb,urnyvat,pnfpnqr,pncrfvqr,nccyvpngvba,fgnoorq,erznexnoyr,pnovarg,oeng,jerfgyvat,fvkgu,fpnyr,cevivyrtr,cnffvbangr,areirf,ynjfhvg,xvqarl,qvfgheorq,pebffvat,pbml,nffbpvngr,gver,fuvegf,erdhverq,cbfgrq,bira,beqrevat,zvyy,wbheany,tnyyrel,qrynl,pyhof,evfxl,arfg,zbafgref,ubabenoyr,tebhaqrq,snibhe,phygher,pybfrfg,oeraqn'f,oernxqbja,nggrzcgrq,gbal'f,cynprq,pbasyvpg,onyq,npgerff,nonaqba,fgrnz,fpne,cbyr,qhu,pbyyne,jbeguyrff,fgnaqneqf,erfbheprf,cubgbtencuf,vagebqhprq,vawherq,tenqhngvba,rabezbhf,qvfgheovat,qvfgheo,qvfgenpg,qrnyf,pbapyhfvbaf,ibqxn,fvghngvbaf,erdhver,zvq,zrnfher,qvfurf,penjyvat,pbaterff,puvyqera'f,oevrspnfr,jvcrq,juvfgyr,fvgf,ebnfg,eragrq,cvtf,terrx,syvegvat,rkvfgrq,qrcbfvg,qnzntrq,obggyrf,inarffn'f,glcrf,gbcvp,evbg,bireernpgvat,zvavzhz,ybtvpny,vzcnpg,ubfgvyr,rzoneenff,pnfhny,ornpba,nzhfvat,nygne,inyhrf,erpbtavmrq,znvagnva,tbbqf,pbiref,pynhf,onggrel,fheiviny,fxveg,funir,cevfbaref,cbepu,zrq,tubfgf,snibef,qebcf,qvmml,puvyv,ortha,orngra,nqivfr,genafsreerq,fgevxrf,eruno,enj,cubgbtencure,crnprshy,yrrel,urniraf,sbeghangryl,sbbyvat,rkcrpgngvbaf,qensg,pvgvmraf,jrnxarff,fxv,fuvcf,enapu,cenpgvpvat,zhfvpny,zbirzrag,vaqvivqhny,ubzrf,rkrphgrq,rknzvar,qbphzragf,penarf,pbyhza,oevor,gnfx,fcrpvrf,fnvy,ehz,erfbeg,cerfpevcgvba,bcrengvat,uhfu,sentvyr,sberafvpf,rkcrafr,qehttrq,qvssreraprf,pbjf,pbaqhpg,pbzvp,oryyf,nirahr,nggnpxvat,nffvtarq,ivfvgbe,fhvgpnfr,fbheprf,fbegn,fpna,cnlzrag,zbgbe,zvav,znagvpber,vafcverq,vafrpher,vzntvavat,uneqrfg,pyrex,lrn,jevfg,jung'yy,ghor,fgnegref,fvyx,chzc,cnyr,avpre,unhy,syvrf,qrznaqf,obbg,negf,nsevpna,gurer'q,yvzvgrq,ubj'er,ryqref,pbaarpgvbaf,dhvrgyl,chyyf,vqvbgf,snpgbe,renfr,qralvat,nggnpxf,naxyr,nzarfvn,npprcgvat,bbb,urnegorng,tny,qrinar,pbasebag,onpxvat,cuenfr,bcrengvbaf,zvahf,zrrgf,yrtvgvzngr,uheevpnar,svkvat,pbzzhavpngvba,obngf,nhgb,neebtnag,fhccre,fghqvrf,fyvtugrfg,fvaf,fnlva,erpvcr,cvre,cngreavgl,uhzvyvngvat,trahvar,pngubyvp,fanpx,engvbany,cbvagrq,zvaqrq,thrffrq,tenpr'f,qvfcynl,qvc,oebbxr'f,nqinaprq,jrqqvatf,hau,ghzbe,grnzf,ercbegrq,uhzvyvngrq,qrfgehpgvba,pbcvrf,pybfryl,ovq,nfcveva,npnqrzl,jvt,guebhtubhg,fcenl,bpphe,ybtvp,rlrq,rdhny,qebjavat,pbagnpgf,funxrfcrner,evghny,creshzr,xryyl'f,uvevat,ungvat,trarenyyl,reebe,ryrpgrq,qbpxf,perngherf,ivfvbaf,gunaxvat,gunaxshy,fbpx,ercynprq,avargrra,avpx'f,sbex,pbzrql,nanylfvf,lnyr,guebjf,grrantref,fghqvrq,fgerffrq,fyvpr,ebyyf,erdhverf,cyrnq,ynqqre,xvpxf,qrgrpgvirf,nffherq,nyvfba'f,jvqbj,gbzbeebj'f,gvffhr,gryyva,funyybj,erfcbafvovyvgvrf,ercnl,erwrpgrq,creznaragyl,tveysevraqf,qrnqyl,pbzsbegvat,prvyvat,obahf,ireqvpg,znvagranapr,wne,vafrafvgvir,snpgbel,nvz,gevcyr,fcvyyrq,erfcrpgrq,erpbirerq,zrffl,vagreehcgrq,unyyvjryy,pne'f,oyrrq,orarsvgf,jneqebor,gnxva,fvtavsvpnag,bowrpgvir,zheqref,qbb,puneg,onpxf,jbexref,jnirf,haqrerfgvzngr,gvrf,ertvfgrerq,zhygvcyr,whfgvsl,unezyrff,sehfgengrq,sbyq,ramb,pbairagvba,pbzzhavpngr,ohttvat,nggenpgvba,nefba,junpx,fnynel,ehzbef,erfvqrapr,cnegl'f,boyvtngvba,zrqvhz,yvxvat,ynhen'f,qrirybczrag,qrirybc,qrnerfg,qnivq'f,qnaal'f,pbatenghyngr,iratrnapr,fjvgmreynaq,frirer,enpx,chmmyr,chregb,thvqnapr,sverf,pbhegrfl,pnyyre,oynzrq,gbcf,ercnve,dhvm,cerc,abj'f,vaibyirf,urnqdhnegref,phevbfvgl,pbqrf,pvepyrf,oneorphr,gebbcf,fhaalqnyr,fcvaavat,fpberf,chefhr,cflpubgvp,pbhtu,pynvzrq,npphfngvbaf,funerf,erfrag,zbarl'f,ynhtuf,tngurerq,serfuzna,rail,qebja,pevfgvna'f,onegyrg,nffrf,fbsn,fpvragvfg,cbfgre,vfynaqf,uvtuarff,qbpx,ncbybtvrf,jrysner,ivpgbe'f,gurvef,fgng,fgnyy,fcbgf,fbzrjung,elna'f,ernyvmrf,cflpu,sbbyf,svavfuvat,nyohz,jrr,haqrefgnaqnoyr,hanoyr,gerngf,gurnger,fhpprrq,fgve,erynkrq,znxva,vapurf,tengvghqr,snvgushy,ova,npprag,mvc,jvggre,jnaqrevat,ertneqyrff,dhr,ybpngr,varivgnoyr,tergry,qrrq,pehfurq,pbagebyyvat,gnkrf,fzryyrq,frggyrzrag,ebor,cbrg,bccbfrq,znexrq,terrayrr'f,tbffvc,tnzoyvat,qrgrezvar,phon,pbfzrgvpf,prag,nppvqragf,fhecevfvat,fgvss,fvaprer,fuvryq,ehfurq,erfhzr,ercbegvat,ersevtrengbe,ersrerapr,cercnevat,avtugznerf,zvwb,vtabevat,uhapu,sbt,sverjbexf,qebjarq,pebja,pbbcrengvba,oenff,npphengr,juvfcrevat,fbcuvfgvpngrq,eryvtvba,yhttntr,vairfgvtngr,uvxr,rkcyber,rzbgvba,perrx,penfuvat,pbagnpgrq,pbzcyvpngvbaf,prb,npvq,fuvavat,ebyyrq,evtugrbhf,erpbafvqre,vafcvengvba,tbbql,trrx,sevtugravat,srfgviny,rguvpf,perrcf,pbhegubhfr,pnzcvat,nffvfgnapr,nssrpgvba,ibj,fzlgur,cebgrfg,ybqtr,unvephg,sbepvat,rffnl,punvezna,onxrq,ncbybtvmrq,ivor,erfcrpgf,erprvcg,znzv,vapyhqrf,ungf,rkpyhfvir,qrfgehpgvir,qrsvar,qrsrng,nqber,nqbcg,ibgrq,genpxrq,fvtanyf,fubegf,ebel'f,erzvaqvat,eryngvir,avagu,sybbef,qbhtu,perngvbaf,pbagvahrf,pnapryyrq,pnobg,oneery,nqnz'f,fahpx,fyvtug,ercbegref,erne,cerffvat,abiry,arjfcncref,zntavsvprag,znqnzr,ynml,tybevbhf,svnaprr,pnaqvqngr,oevpx,ovgf,nhfgenyvn,npgvivgvrf,ivfvgngvba,fpubynefuvc,fnar,cerivbhf,xvaqarff,vil'f,fubhyqn,erfphrq,znggerff,znevn'f,ybhatr,yvsgrq,ynory,vzcbegnagyl,tybir,ragrecevfrf,qevire'f,qvfnccbvagzrag,pbaqb,przrgrel,orvatf,nqzvggvat,lryyrq,jnivat,fperrpu,fngvfsnpgvba,erdhrfgrq,ernqf,cynagf,aha,anvyrq,qrfpevorq,qrqvpngrq,pregvsvpngr,praghevrf,naahny,jbez,gvpx,erfgvat,cevznel,cbyvfu,zneirybhf,shff,shaqf,qrsrafvir,pbegynaqg,pbzcrgr,punfrq,cebivqrq,cbpxrgf,yhpxvyl,yvyvgu,svyvat,qrcerffvba,pbairefngvbaf,pbafvqrengvba,pbafpvbhfarff,jbeyqf,vaabprapr,vaqvpngr,tenaqzbgure'f,sberurnq,onz,nccrnerq,ntterffvir,genvyre,fynz,ergverzrag,dhvggvat,cel,crefba'f,aneebj,yriryf,xnl'f,vasbez,rapbhentr,qht,qryvtugrq,qnlyvtug,qnaprq,pheeragyl,pbasvqragvny,ovyyl'f,ora'f,nhagf,jnfuvat,ivp,gbffrq,fcrpgen,evpx'f,crezvg,zneebj,yvarq,vzcylvat,ungerq,tevyy,rssbegf,pbecfr,pyhrf,fbore,eryngvirf,cebzbgvba,bssraqrq,zbethr,ynetre,vasrpgrq,uhznavgl,rjj,rzvyl'f,ryrpgevpvgl,ryrpgevpny,qvfgenpgvba,pneg,oebnqpnfg,jverq,ivbyngvba,fhfcraqrq,cebzvfvat,unenffzrag,tyhr,tngurevat,q'natryb,phefrq,pbagebyyrq,pnyraqne,oehgny,nffrgf,jneybpxf,jntba,hacyrnfnag,cebivat,cevbevgvrf,bofreingvba,zhfga'g,yrnfr,tebjf,synzr,qbzrfgvp,qvfnccrnenapr,qrcerffvat,guevyy,fvggre,evof,bssref,anj,syhfu,rkprcgvba,rneevatf,qrnqyvar,pbecbeny,pbyyncfrq,hcqngr,fanccrq,fznpx,beyrnaf,bssvprf,zryg,svthevat,qryhfvbany,pbhyqn,oheag,npgbef,gevcf,graqre,fcrez,fcrpvnyvfg,fpvragvsvp,ernyvfr,cbex,cbccrq,cynarf,xri,vagreebtngvba,vafgvghgvba,vapyhqrq,rfgrrz,pbzzhavpngvbaf,pubbfvat,pubve,haqb,cerf,cenlrq,cynthr,znavchyngr,yvsrfglyr,vafhygvat,ubabhe,qrgragvba,qryvtugshy,pbssrrubhfr,purff,orgenlny,ncbybtvmvat,nqwhfg,jerpxrq,jbag,juvccrq,evqrf,erzvaqre,cflpubybtvpny,cevapvcyr,zbafvrhe,vawhevrf,snzr,snvag,pbashfvba,puevfg'f,oba,onxr,arnerfg,xbern,vaqhfgevrf,rkrphgvba,qvfgerff,qrsvavgvba,perngvat,pbeerpgyl,pbzcynvag,oybpxrq,gebcul,gbegherq,fgehpgher,ebg,evfxvat,cbvagyrff,ubhfrubyq,urve,unaqvat,rvtugu,qhzcvat,phcf,puybr'f,nyvov,nofrapr,ivgny,gbxlb,guhf,fgehttyvat,fuval,evfxrq,ersre,zhzzl,zvag,wbrl'f,vaibyirzrag,ubfr,ubool,sbeghangr,syrvfpuzna,svggvat,phegnva,pbhafryvat,nqqvgvba,jvg,genafcbeg,grpuavpny,ebqr,chccrg,bccbeghavgvrf,zbqryvat,zrzb,veerfcbafvoyr,uhzvyvngvba,uvln,sernxva,srm,srybal,pubxr,oynpxznvyvat,nccerpvngrq,gnoybvq,fhfcvpvba,erpbirevat,enyyl,cflpubybtl,cyrqtr,cnavpxrq,ahefrel,ybhqre,wrnaf,vairfgvtngbe,vqragvsvrq,ubzrpbzvat,uryran'f,urvtug,tenqhngrq,sehfgengvat,snoevp,qvfgnag,ohlf,ohfgvat,ohss,jnk,fyrrir,cebqhpgf,cuvybfbcul,vebal,ubfcvgnyf,qbcr,qrpyner,nhgbcfl,jbexva,gbepu,fhofgvghgr,fpnaqny,cevpx,yvzo,yrns,ynql'f,ulfgrevpny,tebjgu,tbqqnzavg,srgpu,qvzrafvba,qnl'f,pebjqrq,pyvc,pyvzovat,obaqvat,nccebirq,lru,jbnu,hygvzngryl,gehfgf,ergheaf,artbgvngr,zvyyraavhz,znwbevgl,yrguny,yratgu,vprq,qrrqf,ober,onolfvggre,dhrfgvbarq,bhgentrbhf,zrqny,xvevnxvf,vafhygrq,tehqtr,rfgnoyvfurq,qevirjnl,qrfregrq,qrsvavgr,pncgher,orrc,jverf,fhttrfgvbaf,frnepurq,bjrq,bevtvanyyl,avpxanzr,yvtugvat,yraq,qehaxra,qrznaqvat,pbfgnamn,pbaivpgvba,punenpgref,ohzcrq,jrvtu,gbhpurf,grzcgrq,fubhg,erfbyir,eryngr,cbvfbarq,cvc,cubror'f,crgr'f,bppnfvbanyyl,zbyyl'f,zrnyf,znxre,vaivgngvbaf,unhagrq,she,sbbgntr,qrcraqvat,obthf,nhgbtencu,nssrpgf,gbyrengr,fgrccvat,fcbagnarbhf,fyrrcf,cebongvba,cerfragngvba,cresbezrq,znaal,vqragvpny,svfg,plpyr,nffbpvngrf,nneba'f,fgernx,fcrpgnphyne,frpgbe,ynfgrq,vfnnp'f,vapernfr,ubfgntrf,urebva,univa,unovgf,rapbhentvat,phyg,pbafhyg,ohetref,oblsevraqf,onvyrq,onttntr,nffbpvngvba,jrnygul,jngpurf,irefhf,gebhoyrq,gbeghevat,grnfvat,fjrrgrfg,fgngvbaf,fvc,funja'f,ent,dhnyvgvrf,cbfgcbar,cnq,birejuryzrq,znyxbivpu,vzchyfr,uhg,sbyybjf,pynffl,punetvat,oneonen'f,natry'f,nznmrq,fprarf,evfvat,erirnyrq,ercerfragvat,cbyvprzna,bssrafvir,zht,ulcbpevgr,uhzvyvngr,uvqrbhf,svanyf,rkcrevraprf,q'ln,pbhegf,pbfghzrf,pncgherq,oyhssvat,orggvat,orva,orqgvzr,nypbubyvp,irtrgnoyr,genl,fhfcvpvbaf,fcernqvat,fcyraqvq,fubhgvat,ebbgf,cerffrq,abbb,yvmn'f,wrj,vagrag,tevrivat,tynqyl,syvat,ryvzvangr,qvfbeqre,pbhegarl'f,prerny,neevirf,nnnu,lhz,grpuavdhr,fgngrzragf,fbabsnovgpu,freinag,ebnqf,erchoyvpna,cnenylmrq,beo,ybggn,ybpxf,thnenagrrq,rhebcrna,qhzzl,qvfpvcyvar,qrfcvfr,qragny,pbecbengvba,pneevrf,oevrsvat,oyhss,onggrevrf,ngzbfcurer,junggn,ghk,fbhaqvat,freinagf,evsyr,cerfhzr,xriva'f,unaqjevgvat,tbnyf,tva,snvagrq,ryrzragf,qevrq,pncr,nyyevtug,nyybjvat,npxabjyrqtr,junpxrq,gbkvp,fxngvat,eryvnoyr,dhvpxre,cranygl,cnary,birejuryzvat,arneol,yvavat,vzcbegnapr,unenffvat,sngny,raqyrff,ryfrjurer,qbyyf,pbaivpg,obyq,onyyrg,jungpun,hayvxryl,fcvevghny,fuhggvat,frcnengvba,erpbeqvat,cbfvgviryl,birepbzr,tbqqnz,snvyvat,rffrapr,qbfr,qvntabfvf,pherq,pynvzvat,ohyyl,nveyvar,nubyq,lrneobbx,inevbhf,grzcgvat,furys,evt,chefhvg,cebfrphgvba,cbhevat,cbffrffrq,cnegarefuvc,zvthry'f,yvaqfnl'f,pbhagevrf,jbaqref,gfx,gubebhtu,fcvar,engu,cflpuvngevp,zrnavatyrff,ynggr,wnzzrq,vtaberq,svnapr,rkcbfher,rkuvovg,rivqragyl,qhgvrf,pbagrzcg,pbzcebzvfrq,pncnpvgl,pnaf,jrrxraqf,hetr,gursg,fhvat,fuvczrag,fpvffbef,erfcbaqvat,ershfrf,cebcbfvgvba,abvfrf,zngpuvat,ybpngrq,vax,ubezbarf,uvi,unvy,tenaqpuvyqera,tbqsngure,tragyl,rfgnoyvfu,penar'f,pbagenpgf,pbzcbhaq,ohssl'f,jbeyqjvqr,fznfurq,frkhnyyl,fragvzragny,frabe,fpberq,cngvrag'f,avprfg,znexrgvat,znavchyngrq,wnj,vagrea,unaqphssf,senzrq,reenaqf,ragregnvavat,qvfpbirel,pevo,pneevntr,onetr,njneqf,nggraqvat,nzonffnqbe,ivqrbf,gno,fcraqf,fyvccvat,frngrq,ehoovat,eryl,erwrpg,erpbzzraqngvba,erpxba,engvatf,urnqnpurf,sybng,rzoenpr,pbearef,juvavat,fjrngvat,fbyr,fxvccrq,erfgber,erprvivat,cbchyngvba,crc,zbhagvr,zbgvirf,znzn'f,yvfgraf,xberna,urebrf,urneg'f,pevfgbory,pbagebyf,purreyrnqre,onyfbz,haarprffnel,fghaavat,fuvccvat,fprag,fnagn'f,dhnegreznvarf,cenvfr,cbfr,zbagrtn,yhkhel,ybbfra,xlyr'f,xrev'f,vasb,uhz,unhag,tenpvbhf,tvg,sbetvivat,syrrg,reenaq,rzcrebe,pnxrf,oynzrf,nobegvba,jbefuvc,gurbevrf,fgevpg,fxrgpu,fuvsgf,cybggvat,culfvpvna,crevzrgre,cnffntr,cnyf,zrer,znggrerq,ybavtna,ybatrfg,wrjf,vagresrerapr,rlrjvgarff,raguhfvnfz,rapbhagre,qvncref,penvt'f,negvfgf,fgebatrfg,funxra,freirf,chapurq,cebwrpgf,cbegny,bhgre,anmv,uny'f,pbyyrnthrf,pngpurf,ornevat,onpxlneq,npnqrzvp,jvaqf,greebevfgf,fnobgntr,crn,betnaf,arrql,zragbe,zrnfherf,yvfgrq,yrk,phss,pvivyvmngvba,pnevoorna,negvpyrf,jevgrf,jbbs,jub'yy,ivxv'f,inyvq,eneryl,enoov,cenax,cresbezvat,boabkvbhf,zngrf,vzcebir,urerol,tnool,snxrq,pryyne,juvgryvtugre,ibvq,fhofgnapr,fgenatyr,fbhe,fxvyy,frangr,chepunfr,angvir,zhssvaf,vagresrevat,ubu,tvan'f,qrzbavp,pbyberq,pyrnevat,pvivyvna,ohvyqvatf,obhgvdhr,oneevatgba,genqvat,greenpr,fzbxrq,frrq,evtugl,eryngvbaf,dhnpx,choyvfurq,ceryvzvanel,crgrl,cnpg,bhgfgnaqvat,bcvavbaf,xabg,xrgpuhc,vgrzf,rknzvarq,qvfnccrnevat,pbeql,pbva,pvephvg,nffvfg,nqzvavfgengvba,jnyg,hcgvtug,gvpxvat,greevslvat,grnfr,gnovgun'f,flq,fjnzc,frpergyl,erwrpgvba,ersyrpgvba,ernyvmvat,enlf,craaflyinavn,cnegyl,zragnyyl,znebar,whevfqvpgvba,senfvre'f,qbhogrq,qrprcgvba,pehpvny,pbaterffzna,purrfl,neeviny,ivfvgrq,fhccbegvat,fgnyyvat,fpbhgf,fpbbc,evooba,erfreir,envq,abgvba,vapbzr,vzzhar,tenaqzn'f,rkcrpgf,rqvgvba,qrfgvarq,pbafgvghgvba,pynffebbz,orgf,nccerpvngvba,nccbvagrq,nppbzcyvpr,juvgarl'f,jnaqre,fubirq,frjre,fpebyy,ergver,cnvagvatf,ynfgf,shtvgvir,serrmre,qvfpbhag,penaxl,penax,pyrnenapr,obqlthneq,nakvrgl,nppbhagnag,nool'f,jubbcf,ibyhagrrerq,greebevfg,gnyrf,gnyragf,fgvaxvat,erfbyirq,erzbgryl,cebgbpby,yviivr'f,tneyvp,qrprapl,pbeq,orqf,nfn'f,nernf,nygbtrgure,havsbezf,gerzraqbhf,erfgnhenagf,enax,cebsrffvba,cbccvat,cuvynqrycuvn,bhgn,bofreir,yhat,ynetrfg,unatf,srryva,rkcregf,rasbeprzrag,rapbhentrq,rpbabzl,qhqrf,qbangvba,qvfthvfr,qvnar'f,pheo,pbagvahrq,pbzcrgvgvir,ohfvarffzna,ovgrf,nagvdhr,nqiregvfvat,nqf,gbbguoehfu,ergerng,ercerfragf,ernyvfgvp,cebsvgf,cerqvpg,aben'f,yvq,ynaqybeq,ubhetynff,urfvgngr,senax'f,sbphfvat,rdhnyyl,pbafbyngvba,oblsevraq'f,onooyvat,ntrq,gebl'f,gvccrq,fgenaqrq,fznegrfg,fnoevan'f,eulguz,ercynprzrag,ercrngvat,chxr,cffg,cnlpurpx,bireernpgrq,znpub,yrnqrefuvc,xraqnyy'f,whiravyr,wbua'f,vzntrf,tebprel,serfura,qvfcbfny,phssf,pbafrag,pnssrvar,nethzragf,nterrf,novtnvy'f,inavfurq,hasvavfurq,gbonppb,gva,flaqebzr,evccvat,cvapu,zvffvyrf,vfbyngrq,synggrevat,rkcrafrf,qvaaref,pbf,pbyyrnthr,pvnb,ohu,orygunmbe,oryyr'f,nggbearlf,nzore'f,jbhyqn,jurernobhgf,jnef,jnvgva,ivfvgf,gehpr,gevccrq,grr,gnfgrq,fgh,fgrre,ehyvat,cbvfbavat,ahefvat,znavchyngvir,vzzngher,uhfonaqf,urry,tenaqqnq,qryvirevat,qrnguf,pbaqbzf,nhgbzngvpnyyl,napube,genfurq,gbheanzrag,guebar,envavat,cevprf,cnfgn,arrqyrf,yrnavat,yrnqref,whqtrf,vqrny,qrgrpgbe,pbbyrfg,pnfgvat,ongpu,nccebkvzngryl,nccbvagzragf,nyzvtugl,npuvrir,irtrgnoyrf,fhz,fcnex,ehyrq,eribyhgvba,cevapvcyrf,cresrpgvba,cnvaf,zbzzn,zbyr,vagreivrjf,vavgvngvir,unvef,trgnjnl,rzcyblzrag,qra,penpxvat,pbhagrq,pbzcyvzragf,orubyq,iretr,gbhture,gvzre,gnccrq,gncrq,fgnxrf,fcrpvnygl,fabbcvat,fubbgf,frzv,eraqrmibhf,cragntba,cnffratre,yrirentr,wrbcneqvmr,wnavgbe,tenaqcneragf,sbeovqqra,rknzvangvba,pbzzhavfg,pyhryrff,pvgvrf,ovqqvat,neevivat,nqqvat,hatengrshy,hanpprcgnoyr,ghgbe,fbivrg,funcrq,frehz,fphfr,fnivatf,cho,cnwnznf,zbhguf,zbqrfg,zrgubqf,yher,veengvbany,qrcgu,pevrf,pynffvsvrq,obzof,ornhgvshyyl,neerfgvat,nccebnpuvat,irffry,inevrgl,genvgbe,flzcngurgvp,fzht,fznfu,eragny,cebfgvghgr,cerzbavgvbaf,zvyq,whzcf,vairagbel,vat,vzcebirq,tenaqsngure'f,qrirybcvat,qneyva,pbzzvggvat,pnyro'f,onatvat,nfnc,nzraqzrag,jbezf,ivbyngrq,irag,genhzngvp,genprq,gbj,fjvff,fjrngl,funsg,erpbzzraqrq,bireobneq,yvgrengher,vafvtug,urnyrq,tenfc,syhvq,rkcrevrapvat,penccl,peno,pbaarpgvphg,puhax,punaqyre'f,njjj,nccyvrq,jvgarffrq,geniryrq,fgnva,funpx,ernpgrq,cebabhapr,cerfragrq,cbherq,bpphcvrq,zbzf,zneevntrf,wnorm,vairfgrq,unaqshy,tbo,tnt,syvccrq,svercynpr,rkcregvfr,rzoneenffzrag,qvfnccrnef,pbaphffvba,oehvfrf,oenxrf,nalguvat'f,jrrx'f,gjvfgvat,gvqr,fjrcg,fhzzba,fcyvggvat,frggyvat,fpvragvfgf,erfpurqhyr,ertneq,checbfrf,buvb,abgpu,zvxr'f,vzcebirzrag,ubbenl,tenoovat,rkgraq,rkdhvfvgr,qvferfcrpg,pbzcynvagf,pbyva'f,nezbe,ibgvat,gubeauneg,fhfgnvarq,fgenj,fynccrq,fvzba'f,fuvccrq,funggrerq,ehguyrff,erin'f,ersvyy,erpbeqrq,cnlebyy,ahzo,zbheavat,znevwhnan,znayl,wreel'f,vaibyivat,uhax,ragregnva,rnegudhnxr,qevsg,qernqshy,qbbefgrc,pbasvezngvba,pubcf,oevqtrg'f,nccerpvngrf,naabhaprq,inthr,gverf,fgerffshy,fgrz,fgnfurq,fgnfu,frafrq,cerbpphcvrq,cerqvpgnoyr,abgvpvat,znqyl,unyyf,thafubg,rzonffl,qbmraf,qvaare'f,pbashfr,pyrnaref,punenqr,punyx,pncchppvab,oerrq,obhdhrg,nzhyrg,nqqvpgvba,jub'ir,jnezvat,haybpx,genafvgvba,fngvfsl,fnpevsvprq,erynkvat,ybar,vachg,unzcfuver,tveysevraq'f,rynobengr,pbapreavat,pbzcyrgrq,punaaryf,pngrtbel,pny,oybpxvat,oyraq,oynaxrgf,nzrevpn'f,nqqvpgrq,lhpx,ibgref,cebsrffvbanyf,cbfvgvbaf,zbavpn'f,zbqr,vavgvny,uhatre,unzohetre,terrgvat,terrg,tenil,tenz,qernzg,qvpr,qrpynerq,pbyyrpgvat,pnhgvba,oenql'f,onpxcnpx,nterrvat,jevgref,junyr,gevor,gnyyre,fhcreivfbe,fnpevsvprf,enqvngvba,cbb,curj,bhgpbzr,bhapr,zvffvyr,zrgre,yvxrjvfr,veeryrinag,tena,sryba,srngher,snibevgrf,snegure,snqr,rkcrevzragf,renfrq,rnfvrfg,qvfx,pbairavrapr,pbaprvirq,pbzcnffvbangr,punyyratrq,pnar,oynve'f,onpxfgntr,ntbal,nqberf,irvaf,gjrrx,guvrirf,fhetvpny,fgenatryl,fgrgfba,erpvgny,cebcbfvat,cebqhpgvir,zrnavatshy,znepuvat,vzzhavgl,unffyr,tbqqnzarq,sevtugra,qverpgbef,qrneyl,pbzzragf,pybfher,prnfr,nzovgvba,jvfpbafva,hafgnoyr,fjrrgarff,fnyintr,evpure,ershfvat,entvat,chzcvat,cerffhevat,crgvgvba,zbegnyf,ybjyvsr,whf,vagvzvqngrq,vagragvbanyyl,vafcver,sbetnir,revp'f,qribgvba,qrfcvpnoyr,qrpvqvat,qnfu,pbzsl,oernpu,ob'f,onex,nygreangr,nnnnu,fjvgpuvat,fjnyybjrq,fgbir,fybg,fpernzrq,fpnef,ehffvnaf,eryrinag,cbbs,cvcrf,crefbaf,cnja,ybffrf,yrtvg,vairfg,trarengvbaf,snerjryy,rkcrevzragny,qvssvphygl,phegnvaf,pvivyvmrq,punzcvbafuvc,pnivne,obbfg,gbxra,graqf,grzcbenevyl,fhcrefgvgvba,fhcreangheny,fhax,fnqarff,erqhprq,erpbeqre,cflpurq,cerfvqragvny,bjaref,zbgvingrq,zvpebjnir,ynaqf,xnera'f,unyyryhwnu,tnc,sengreavgl,ratvarf,qelre,pbpbn,purjvat,nqqvgvbany,npprcgnoyr,haoryvrinoyl,fheivibe,fzvyrq,fzryyvat,fvmrq,fvzcyre,fragraprq,erfcrpgnoyr,erznexf,ertvfgengvba,cerzvfrf,cnffratref,betna,bppnfvbany,xunfvanh,vaqvpngvba,thggre,tenof,tbb,shysvyy,synfuyvtug,ryyrabe,pbhefrf,oybbqrq,oyrffvatf,orjner,orgu'f,onaqf,nqivfrq,jngre'f,huuu,ghes,fjvatf,fyvcf,fubpxvat,erfvfgnapr,cevingryl,byvivn'f,zveebef,ylevpf,ybpxvat,vafgehzrag,uvfgbevpny,urnegyrff,senf,qrpnqrf,pbzcnevfba,puvyqvfu,pnffvr'f,pneqvnp,nqzvffvba,hggreyl,ghfpnal,gvpxrq,fhfcrafvba,fghaarq,fgngrfivyyr,fnqyl,erfbyhgvba,erfreirq,cheryl,bccbarag,abgrq,ybjrfg,xvqqva,wrexf,uvgpu,syveg,sner,rkgrafvba,rfgnoyvfuzrag,rdhnyf,qvfzvff,qrynlrq,qrpnqr,puevfgravat,pnfxrg,p'zrer,oernxhc,oenq'f,ovgvat,nagvovbgvpf,npphfngvba,noqhpgrq,jvgpupensg,jubrire'f,genqrq,guernq,fcryyvat,fb'f,fpubby'f,ehaava,erznvavat,chapuvat,cebgrva,cevagrq,cnenzrqvpf,arjrfg,zheqrevat,zvar'f,znfxf,ynjaqnyr,vagnpg,vaf,vavgvnyf,urvtugf,tenzcn,qrzbpenpl,qrprnfrq,pbyyrra'f,pubxvat,punezf,pneryrff,ohfurf,ohaf,ohzzrq,nppbhagvat,geniryf,gnlybe'f,fuerq,fnirf,fnqqyr,erguvax,ertneqf,ersreraprf,cerpvapg,crefhnqr,cnggreaf,zrqf,znavchyngvat,yynasnve,yrnfu,xraal'f,ubhfvat,urnegrq,thnenagrrf,sybja,srnfg,rkgrag,rqhpngrq,qvftenpr,qrgrezvangvba,qrcbfvgvba,pbirentr,pbeevqbe,ohevny,obbxfgber,obvy,novyvgvrf,ivgnyf,irvy,gerfcnffvat,grnpurf,fvqrjnyx,frafvoyr,chavfuvat,biregvzr,bcgvzvfgvp,bppnfvbaf,bofrffvat,bnx,abgvsl,zbeava,wrbcneql,wnssn,vawrpgvba,uvynevbhf,qvfgvapg,qverpgrq,qrfverf,pheir,pbasvqr,punyyratvat,pnhgvbhf,nygre,lnqn,jvyqrearff,jurer'er,ivaqvpgvir,ivny,gbzo,grral,fhowrpgf,fgebyy,fvggva,fpeho,erohvyq,enpury'f,cbfgref,cnenyyry,beqrny,beovg,b'oevra,ahaf,znk'f,wraavsre'f,vagvznpl,vaurevgnapr,snvyf,rkcybqrq,qbangr,qvfgenpgvat,qrfcnve,qrzbpengvp,qrsraqrq,penpxref,pbzzrepvnyf,oelnag'f,nzzhavgvba,jvyqjvaq,iveghr,gubebhtuyl,gnvyf,fcvpl,fxrgpurf,fvtugf,furre,funivat,frvmr,fpnerpebj,erserfuvat,cebfrphgr,cbffrff,cynggre,cuvyyvc'f,ancxva,zvfcynprq,zrepunaqvfr,zrzorefuvc,ybbal,wvak,urebvp,senaxrafgrva,snt,rssvpvrag,qrivy'f,pbecf,pyna,obhaqnevrf,nggenpg,nzovgvbhf,iveghnyyl,flehc,fbyvgnel,erfvtangvba,erfrzoynapr,ernpgvat,chefhvat,cerzngher,cbq,yvm'f,ynirel,wbheanyvfg,ubabef,uneirl'f,trarf,synfurf,rez,pbagevohgvba,pbzcnal'f,pyvrag'f,purdhr,punegf,pnetb,njevtug,npdhnvagrq,jenccvat,hagvr,fnyhgr,ehvaf,erfvta,ernyvfrq,cevpryrff,cneglvat,zlgu,zbbayvtug,yvtugyl,yvsgvat,xnfabss,vafvfgvat,tybjvat,trarengbe,sybjvat,rkcybfvirf,rzcyblre,phgvr,pbasebagrq,pynhfr,ohgf,oernxguebhtu,oybhfr,onyyvfgvp,nagvqbgr,nanylmr,nyybjnapr,nqwbhearq,irg,hagb,haqrefgngrzrag,ghpxrq,gbhpul,gbyy,fhopbafpvbhf,frdhrapr,fperjf,fnetr,ebbzzngrf,ernpurf,enzonyqv,cebtenzf,bssraq,areq,xavirf,xva,veerfvfgvoyr,vaurevgrq,vapncnoyr,ubfgvyvgl,tbqqnzzvg,shfr,seng,rdhngvba,phesrj,pragrerq,oynpxznvyrq,nyybjf,nyyrtrq,jnyxva,genafzvffvba,grkg,fgneir,fyrvtu,fnepnfgvp,erprff,erobhaq,cebprqherf,cvaarq,cneybe,bhgsvgf,yviva,vffhrq,vafgvghgr,vaqhfgevny,urnegnpur,urnq'f,unverq,shaqenvfre,qbbezna,qbphzragnel,qvfperrg,qvyhppn,qrgrpg,penpxf,penpxre,pbafvqrengr,pyvzorq,pngrevat,nhgube,ncbcuvf,mbrl,inphhz,hevar,ghaaryf,gbqq'f,gnaxf,fgehat,fgvgpurf,fbeqvq,fnex,ersreerq,cebgrpgbe,cbegvba,cubarq,crgf,cnguf,zng,yratguf,xvaqretnegra,ubfgrff,synj,synibe,qvfpunetr,qrirenhk,pbafhzrq,pbasvqragvnyvgl,nhgbzngvp,nzbatfg,ivxgbe,ivpgvz'f,gnpgvpf,fgenvtugrarq,fcrpvnyf,fcnturggv,fbvy,cerggvre,cbjreyrff,cbe,cbrzf,cynlva,cynltebhaq,cnexre'f,cnenabvn,afn,znvayl,znp'f,wbr'f,vafgnagyl,unibp,rknttrengvat,rinyhngvba,rnirfqebccvat,qbhtuahgf,qvirefvba,qrrcrfg,phgrfg,pbzcnavba,pbzo,oryn,orunivat,nibvqrq,nalcynpr,ntu,npprffbel,mnc,jurernf,genafyngr,fghssvat,fcrrqvat,fyvzr,cbyyf,crefbanyvgvrf,cnlzragf,zhfvpvna,znevgny,yhexvat,ybggrel,wbheanyvfz,vagrevbe,vzntvanel,ubt,thvarn,terrgvatf,tnzr'f,snvejvaqf,rguvpny,rdhvccrq,raivebazragny,ryrtnag,ryobj,phfgbzf,phona,perqvovyvgl,perqragvnyf,pbafvfgrag,pbyyncfr,pybgu,pynjf,pubccrq,punyyratrf,oevqny,obneqf,orqfvqr,onolfvggvat,nhgubevmrq,nffhzcgvba,nag,lbhatrfg,jvggl,infg,hasbetvinoyr,haqrejbeyq,grzcg,gnof,fhpprrqrq,fbcubzber,frysyrff,frperpl,ehajnl,erfgyrff,cebtenzzvat,cebsrffvbanyyl,bxrl,zbiva,zrgncube,zrffrf,zrygqbja,yrpgre,vapbzvat,urapr,tnfbyvar,tnvarq,shaqvat,rcvfbqrf,qvrsraonxre,pbagnva,pbzrqvna,pbyyrpgrq,pnz,ohpxyr,nffrzoyl,naprfgbef,nqzverq,nqwhfgzrag,npprcgnapr,jrrxyl,jnezgu,guebngf,frqhprq,evqtr'f,ersbez,erorppn'f,dhrre,cbyy,cneragvat,abfrf,yhpxvrfg,tenirlneq,tvsgrq,sbbgfgrcf,qvzrenf,plavpny,nffnffvangvba,jrqqrq,iblntr,ibyhagrref,ireony,hacerqvpgnoyr,gharq,fgbbc,fyvqrf,fvaxvat,fubj'f,evb,evttrq,erthyngvbaf,ertvba,cebzbgrq,cyhzovat,yvatrevr,ynlre,xngvr'f,unaxrl,terrq,rirejbbq,rffragvny,rybcr,qerffre,qrcnegher,qng,qnaprf,pbhc,punhssrhe,ohyyrgva,ohttrq,obhapvat,jrofvgr,ghorf,grzcgngvba,fhccbegrq,fgenatrfg,fbery'f,fynzzrq,fryrpgvba,fnepnfz,evo,cevzvgvir,cyngsbez,craqvat,cnegvny,cnpxntrf,beqreyl,bofrffvir,arireguryrff,aop,zheqreref,zbggb,zrgrbe,vapbairavrapr,tyvzcfr,sebmr,svore,rkrphgr,rgp,rafher,qeviref,qvfchgr,qnzntrf,pebc,pbhentrbhf,pbafhyngr,pybfrf,obffrf,orrf,nzraqf,jhff,jbysenz,jnpxl,harzcyblrq,genprf,gbja'f,grfgvslvat,graqrapl,flevatr,flzcubal,fgrj,fgnegyrq,fbeebj,fyrnml,funxl,fpernzf,efdhb,erznex,cbxr,cubar'f,cuvyvc'f,ahggl,abory,zragvbavat,zraq,znlbe'f,vbjn,vafcvevat,vzchyfvir,ubhfrxrrcre,treznaf,sbezrq,sbnz,svatreanvyf,rpbabzvp,qvivqr,pbaqvgvbavat,onxvat,juvar,guht,fgneirq,frqngvir,ebfr'f,erirefrq,choyvfuvat,cebtenzzrq,cvpxrg,cntrq,abjnqnlf,arjzna'f,zvarf,znetb'f,vainfvba,ubzbfrkhny,ubzb,uvcf,sbetrgf,syvccvat,syrn,synggre,qjryy,qhzcfgre,pbafhygnag,pubb,onaxvat,nffvtazragf,ncnegzragf,nagf,nssrpgvat,nqivfbe,ivyr,haernfbanoyr,gbffvat,gunaxrq,fgrnyf,fbhirave,fperravat,fpengpurq,erc,cflpubcngu,cebcbegvba,bhgf,bcrengvir,bofgehpgvba,borl,arhgeny,yhzc,yvyl'f,vafvfgf,vna'f,unenff,tybng,syvtugf,svygu,rkgraqrq,ryrpgebavp,rqtl,qvfrnfrf,qvqa,pbebare,pbasrffvat,pbybtar,prqne,oehvfr,orgenlvat,onvyvat,nggrzcgvat,nccrnyvat,nqrovfv,jengu,jnaqrerq,jnvfg,inva,gencf,genafcbegngvba,fgrcsngure,choyvpyl,cerfvqragf,cbxvat,boyvtngrq,znefuny,yrkvr'f,vafgehpgrq,urnirayl,unyg,rzcyblrq,qvcybzngvp,qvyrzzn,penmrq,pbagntvbhf,pbnfgre,purrevat,pneirq,ohaqyr,nccebnpurq,nccrnenaprf,ibzvg,guvatl,fgnqvhz,fcrrpurf,eboovat,ersyrpg,ensg,dhnyvsl,chzcrq,cvyybjf,crrc,cntrnag,cnpxf,arb,artyrpgrq,z'xnl,ybaryvarff,yvoreny,vagehqr,vaqvpngrf,uryyhin,tneqrare,serryl,sbeerfgref,ree,qebbyvat,pbagvahvat,orgpun,nyna'f,nqqerffrq,npdhverq,infr,fhcreznexrg,fdhng,fcvggvat,fcnprf,fynirf,eulzr,eryvrir,erprvcgf,enpxrg,chepunfrq,cerfreir,cvpgherq,cnhfr,bireqhr,bssvpvnyf,abq,zbgvingvba,zbetraqbessre,yhpxl'f,ynpxvat,xvqanccre,vagebqhpgvba,vafrpg,uhagref,ubeaf,srzvavar,rlronyyf,qhzcf,qvfp,qvfnccbvagvat,qvssvphygvrf,pebpx,pbairegvoyr,pbagrkg,pynj,pynzc,pnaarq,pnzovnf,ongugho,ninaln,negrel,jrrc,jnezre,iraqrggn,gragu,fhfcrafr,fhzzbarq,fghss'f,fcvqref,fvatf,ervore,enivat,chful,cebqhprq,cbiregl,cbfgcbarq,buuuu,abbbb,zbyq,zvpr,ynhtugre,vapbzcrgrag,uhttvat,tebprevrf,serdhrapl,snfgrfg,qevc,qvssre,qncuar'f,pbzzhavpngvat,obql'f,oryvrsf,ongf,onfrf,nhagvr,nqvbf,jencf,jvyyvatyl,jrveqrfg,ibvyn,gvzzvu,guvaare,fjryyvat,fjng,fgrebvqf,frafvgvivgl,fpencr,erurnefr,dhnegreonpx,betnavp,zngpurq,yrqtr,whfgvsvrq,vafhygf,vapernfrq,urnivyl,ungrshy,unaqyrf,srnerq,qbbejnl,qrpbengvbaf,pbybhe,punggvat,ohlre,ohpxnebb,orqebbzf,onggvat,nfxva,nzzb,ghgbevat,fhocbran,fcna,fpengpuvat,erdhrfgf,cevivyrtrf,cntre,zneg,xry,vagevthvat,vqvbgvp,ubgryf,tencr,rayvtugra,qhz,qbbe'f,qvkvr'f,qrzbafgengr,qnvel,pbeehcg,pbzovarq,oehapu,oevqrfznvq,onexvat,nepuvgrpg,nccynhfr,nybatfvqr,nyr,npdhnvagnapr,lhu,jergpurq,fhcresvpvny,fhssvpvrag,fhrq,fbnx,fzbbguyl,frafvat,erfgenvag,dhb,cbj,cbfvat,cyrnqvat,cvggfohetu,creh,cnlbss,cnegvpvcngr,betnavmr,bcenu,arzb,zbenyf,ybnaf,ybns,yvfgf,ynobengbel,whzcl,vagreiragvba,vtabenag,ureony,unatva,trezf,trarebfvgl,synfuvat,pbhagel'f,pbairag,pyhzfl,pubpbyngrf,pncgvir,ovnapn'f,orunirq,ncbybtvfr,inavgl,gevnyf,fghzoyrq,erchoyvpnaf,ercerfragrq,erpbtavgvba,cerivrj,cbvfbabhf,crewhel,cneragny,baobneq,zhttrq,zvaqvat,yvara,yrneaf,xabgf,vagreivrjvat,vazngrf,vaterqvragf,uhzbhe,tevaq,ternfl,tbbaf,rfgvzngr,ryrzragnel,rqzhaq'f,qenfgvp,qngnonfr,pbbc,pbzcnevat,pbpxl,pyrnere,oehvfrq,oent,ovaq,nkr,nffrg,nccnerag,naa'f,jbegujuvyr,jubbc,jrqqvat'f,inadhvfuvat,gnoybvqf,fheivibef,fgraorpx'f,fcehat,fcbgyvtug,fubcf,fragrapvat,fragraprf,erirnyvat,erqhpr,enz,enpvfg,cebibxr,cvcre'f,cvavat,bireyl,bhv,bcf,zbc,ybhvfvnan,ybpxrg,xvat'f,wno,vzcyl,vzcngvrag,ubirevat,ubggre,srfg,raqher,qbgf,qbera,qvz,qvntabfrq,qrogf,phygherf,penjyrq,pbagnvarq,pbaqrzarq,punvarq,oevg,oernguf,nqqf,jrveqb,jnezrq,jnaq,hgnu,gebhoyvat,gbx'en,fgevccrq,fgenccrq,fbnxrq,fxvccvat,funeba'f,fpenzoyrq,enggyr,cebsbhaq,zhfgn,zbpxvat,zau,zvfhaqrefgnaq,zrevg,ybnqvat,yvaxrq,yvzbhfvar,xnpy,vairfgbef,vagreivrjrq,uhfgyr,sberafvp,sbbqf,raguhfvnfgvp,qhpg,qenjref,qrinfgngvat,qrzbpengf,pbadhre,pbapragengvba,pbzronpx,pynevsl,puberf,purreyrnqref,purncre,puneyvr'f,pnyyva,oyhfuvat,onetvat,nohfrq,lbtn,jerpxvat,jvgf,jnssyrf,ivetvavgl,ivorf,havaivgrq,hasnvgushy,haqrejngre,gevohgr,fgenatyrq,fgngr'f,fpurzvat,ebcrf,erfcbaqrq,erfvqragf,erfphvat,enir,cevrfgf,cbfgpneq,birefrnf,bevragngvba,batbvat,b'ervyl,arjyl,arvy'f,zbecuvar,ybgvba,yvzvgngvbaf,yrffre,yrpgherf,ynqf,xvqarlf,whqtrzrag,wbt,vgpu,vagryyrpghny,vafgnyyrq,vasnag,vaqrsvavgryl,teranqr,tynzbebhf,trargvpnyyl,serhq,snphygl,ratvarrevat,qbu,qvfpergvba,qryhfvbaf,qrpynengvba,pengr,pbzcrgrag,pbzzbajrnygu,pngnybt,onxrel,nggrzcgf,nflyhz,netu,nccylvat,nuuuu,lrfgreqnl'f,jrqtr,jntre,hasvg,gevccvat,gerngzragf,gbezrag,fhcreureb,fgveevat,fcvany,fbebevgl,frzvane,fprarel,ercnvef,enooyr,carhzbavn,crexf,bjy,bireevqr,bbbbu,zbb,zvwn,znafynhtugre,znvyrq,ybir'f,yvzr,yrgghpr,vagvzvqngr,vafgehpgbe,thneqrq,tevrir,tenq,tybor,sehfgengvba,rkgrafvir,rkcybevat,rkrepvfrf,rir'f,qbbeoryy,qrivprf,qrny'f,qnz,phygheny,pgh,perqvgf,pbzzrepr,puvangbja,purzvpnyf,onygvzber,nhguragvp,neenvtazrag,naahyyrq,nygrerq,nyyretvrf,jnagn,irevsl,irtrgnevna,gharf,gbhevfg,gvtugre,gryrtenz,fhvgnoyr,fgnyx,fcrpvzra,fcnerq,fbyivat,fubb,fngvfslvat,fnqqnz,erdhrfgvat,choyvfure,craf,birecebgrpgvir,bofgnpyrf,abgvsvrq,arteb,anfrqb,whqtrq,wvyy'f,vqragvsvpngvba,tenaqpuvyq,trahvaryl,sbhaqrq,syhfurq,syhvqf,sybff,rfpncvat,qvgpurq,qrzba'f,qrpbengrq,pevgvpvfz,penzc,pbeal,pbagevohgr,pbaarpgvat,ohax,obzovat,ovggra,ovyyvbaf,onaxehcg,lvxrf,jevfgf,hygenfbhaq,hygvznghz,guvefg,fcryyrq,favss,fpbcr,ebff'f,ebbz'f,ergevrir,eryrnfvat,ernffhevat,chzcf,cebcregvrf,cerqvpgrq,arhebgvp,artbgvngvat,arrqa'g,zhygv,zbavgbef,zvyyvbanver,zvpebcubar,zrpunavpny,ylqrpxre,yvzc,vapevzvangvat,ungpurg,tenpvnf,tbeqvr,svyyf,srrqf,rtlcg,qbhogvat,qrqvpngvba,qrpns,qnjfba'f,pbzcrgvat,pryyhyne,ovbcfl,juvm,ibyhagnevyl,ivfvoyr,iragvyngbe,hacnpx,haybnq,havirefny,gbzngbrf,gnetrgf,fhttrfgf,fgenjoreel,fcbbxrq,favgpu,fpuvyyvatre,fnc,ernffher,cebivqvat,cerl,cerffher'f,crefhnfvir,zlfgvpny,zlfgrevrf,zev,zbzrag'f,zvkvat,zngevzbal,znel'f,znvyf,yvtugubhfr,yvnovyvgl,xto,wbpx,urnqyvar,senaxvr'f,snpgbef,rkcybfvir,rkcynangvbaf,qvfcngpu,qrgnvyrq,pheyl,phcvq,pbaqbyraprf,pbzenqr,pnffnqvarf,ohyo,oevggnal'f,oenttvat,njnvgf,nffnhygrq,nzohfu,nqbyrfprag,nqwhfgrq,nobeg,lnax,juvg,irefr,inthryl,haqrezvar,glvat,gevz,fjnzcrq,fgvgpu,fgna'f,fgnoovat,fyvccref,fxlr'f,fvapreryl,fvtu,frgonpx,frpbaqyl,ebggvat,eri,ergnvy,cebprrqvatf,cercnengvba,cerpnhgvba,cbk,cpcq,abarguryrff,zrygvat,zngrevnyf,zne,yvnvfba,ubgf,ubbxvat,urnqyvarf,unt,tnam,shel,sryvpvgl,snatf,rkcryyrq,rapbhentrzrag,rneevat,qervqry,qenjf,qbel,qbahg,qbt'f,qvf,qvpgngr,qrcraqrag,qrpbengvat,pbbeqvangrf,pbpxgnvyf,ohzcf,oyhroreel,oryvrinoyr,onpxsverq,onpxsver,nceba,nagvpvcngrq,nqwhfgvat,npgvingrq,ibhf,ibhpu,ivgnzvaf,ivfgn,hea,hapregnva,hzzz,gbhevfgf,gnggbbf,fheebhaqvat,fcbafbe,fyvzl,fvatyrf,fvoyvat,fuuuu,erfgberq,ercerfragngvir,eragvat,ervta,choyvfu,cynargf,crphyvne,cnenfvgr,cnqqvatgba,abb,zneevrf,znvyobk,zntvpnyyl,ybiroveqf,yvfgraref,xabpxf,xnar'f,vasbeznag,tenva,rkvgf,rys,qenmra,qvfgenpgvbaf,qvfpbaarpgrq,qvabfnhef,qrfvtavat,qnfujbbq,pebbxrq,pbairavragyl,pbagragf,nethrq,jvax,jnecrq,haqrerfgvzngrq,grfgvsvrq,gnpxl,fhofgnagvny,fgrir'f,fgrrevat,fgntrq,fgnovyvgl,fubivat,frvmher,erfrg,ercrngrqyl,enqvhf,chfurf,cvgpuvat,cnvef,bcrare,zbeavatf,zvffvffvccv,znggurj'f,znfu,vairfgvtngvbaf,vairag,vaqhytr,ubeevoyl,unyyhpvangvat,srfgvir,rlroebjf,rkcnaq,rawblf,qvpgvbanel,qvnybthr,qrfcrengvba,qrnyref,qnexrfg,qncu,pevgvp,pbafhygvat,pnegzna'f,pnany,obentben,orygf,ontry,nhgubevmngvba,nhqvgvbaf,nffbpvngrq,ncr,nzl'f,ntvgngrq,nqiragherf,jvguqenj,jvfushy,jvzc,iruvpyrf,inavfu,haornenoyr,gbavp,gbz'f,gnpxyr,fhssvpr,fhpgvba,fynlvat,fvatncber,fnsrfg,ebfnaan'f,ebpxvat,eryvir,engrf,chggva,cerggvrfg,biny,abvfl,arjyljrqf,anhfrbhf,zbv,zvfthvqrq,zvyqyl,zvqfg,zncf,yvnoyr,xevfgvan'f,whqtzragny,vagebqhpvat,vaqvivqhnyf,uhagrq,ura,tviva,serdhrag,svfurezna,snfpvangrq,ryrcunagf,qvfyvxr,qvcybzn,qryhqrq,qrpbengr,pehzzl,pbagenpgvbaf,pneir,pnerref,obggyrq,obaqrq,onunznf,haninvynoyr,gjragvrf,gehfgjbegul,genafyngvba,genqvgvbaf,fheivivat,fhetrbaf,fghcvqvgl,fxvrf,frpherq,fnyingvba,erzbefr,ensr'f,cevaprgba,cersrenoyl,cvrf,cubgbtencul,bcrengvbany,ahu,abegujrfg,anhfrn,ancxvaf,zhyr,zbhea,zrygrq,zrpunavfz,znfurq,whyvn'f,vaurevg,ubyqvatf,ury,terngarff,tbyyl,rkphfrq,rqtrf,qhzob,qevsgvat,qryvevbhf,qnzntvat,phovpyr,pbzcryyrq,pbzz,pbyyrtrf,pbyr'f,pubbfrf,purpxhc,punq'f,pregvsvrq,pnaqvqngrf,oberqbz,obo'f,onaqntrf,onyqjva'f,onu,nhgbzbovyr,nguyrgvp,nynezf,nofbeorq,nofrag,jvaqfuvryq,jub'er,junqqln,ivgnzva,genafcnerag,fhecevfvatyl,fhatynffrf,fgneevat,fyvg,fvqrq,fpurzrf,ebne,eryngviryl,ernqr,dhneel,cebfrphgbe,cebtabfvf,cebor,cbgragvnyyl,cvgvshy,crefvfgrag,creprcgvba,crepragntr,crnf,bjj,abfl,arvtuobheubbq,anttvat,zbebaf,zbyrphyne,zrgref,znfgrecvrpr,znegvavf,yvzob,yvnef,wnk'f,veevgngvat,vapyvarq,uhzc,ublarf,unj,tnhtr,shapgvbaf,svnfpb,rqhpngvbany,rngva,qbangrq,qrfgvangvba,qrafr,phonaf,pbagvarag,pbapragengvat,pbzznaqvat,pbybeshy,pynz,pvqre,oebpuher,orunivbhe,onegb,onetnvavat,njr,negvfgvp,jrypbzvat,jrvtuvat,ivyynva,irva,inadhvfurq,fgevxvat,fgnvaf,fbbb,fzrne,fver,fvzbar'f,frpbaqnel,ebhtuyl,evghnyf,erfragzrag,cflpubybtvfg,cersreerq,cvag,crafvba,cnffvir,bireurne,bevtva,bepurfgen,artbgvngvbaf,zbhagrq,zbenyvgl,ynaqvatunz,ynof,xvffre,wnpxfba'f,vpl,ubbg,ubyyvat,unaqfunxr,tevyyrq,shapgvbavat,sbeznyvgl,ryringbef,rqjneq'f,qrcguf,pbasvezf,pvivyvnaf,olcnff,oevrsyl,obngubhfr,ovaqvat,nperf,nppvqragny,jrfgoevqtr,jnpxb,hygrevbe,genafsreevat,gvf,guhtf,gnatyrq,fgveerq,fgrsnab'f,fbhtug,fant,fznyyrfg,fyvat,fyrnmr,frrqf,ehzbhe,evcr,erzneevrq,eryhpgnag,erthyneyl,chqqyr,cebzbgr,cerpvfr,cbchynevgl,cvaf,creprcgvir,zvenphybhf,zrzbenoyr,zngreany,yhpvaqn'f,ybatvat,ybpxhc,ybpnyf,yvoenevna,wbo'f,vafcrpgvba,vzcerffvbaf,vzzbeny,ulcbgurgvpnyyl,thneqvat,tbhezrg,tnor,svtugref,srrf,srngherf,snkrq,rkgbegvba,rkcerffrq,rffragvnyyl,qbjaevtug,qvtrfg,qre,pebffrf,penaoreel,pvgl'f,pubehf,pnfhnygvrf,oltbarf,ohmmvat,ohelvat,ovxrf,nggraqrq,nyynu,nyy'f,jrnel,ivrjvat,ivrjref,genafzvggre,gncvat,gnxrbhg,fjrrcvat,fgrczbgure,fgngvat,fgnyr,frngvat,frnobea,erfvtarq,engvat,cehr'f,cebf,crccrebav,bjarefuvc,bpphef,avpbyr'f,arjobea,zretre,znaqngbel,znypbyz'f,yhqvpebhf,wna'f,vawrpgrq,ubyqra'f,urael'f,urngvat,trrxf,sbetrq,snhygf,rkcerffvat,rqqvr'f,qehr,qver,qvrs,qrfv,qrprvivat,prager,pryroevgvrf,pngrere,pnyzrq,ohfvarffrf,ohqtr,nfuyrl'f,nccyvpngvbaf,naxyrf,iraqvat,glcvat,gevoovnav,gurer'er,fdhnerq,fcrphyngvba,fabjvat,funqrf,frkvfg,fphqqre'f,fpnggrerq,fnapghnel,erjevgr,erterggrq,ertnva,envfrf,cebprffvat,cvpxl,becuna,zheny,zvfwhqtrq,zvfpneevntr,zrzbevmr,znefunyy'f,znex'f,yvprafrq,yraf,yrnxvat,ynhapurq,yneel'f,ynathntrf,whqtr'f,wvggref,vainqr,vagreehcgvba,vzcyvrq,vyyrtnyyl,unaqvpnccrq,tyvgpu,tvggrf,svare,srjre,ratvarrerq,qvfgenhtug,qvfcbfr,qvfubarfg,qvtf,qnuyvn'f,qnqf,pehrygl,pbaqhpgvat,pyvavpny,pvepyvat,punzcvbaf,pnapryvat,ohggresyvrf,orybatvatf,oneoenql,nzhfrzrag,nyyrtngvbaf,nyvnf,ntvat,mbzovrf,jurer'ir,haobea,gev,fjrnevat,fgnoyrf,fdhrrmrq,fcnhyqvat'f,fynirel,frj,frafngvbany,eribyhgvbanel,erfvfgvat,erzbivat,enqvbnpgvir,enprf,dhrfgvbanoyr,cevivyrtrq,cbegbsvab,cne,bjavat,bireybbx,bireurnq,befba,bqqyl,anmvf,zhfvpvnaf,vagreebtngr,vafgehzragf,vzcrengvir,vzcrppnoyr,vph,uhegshy,ubef,urnc,uneyrl'f,tenqhngvat,tenqref,tynapr,raqnatrerq,qvfthfg,qrivbhf,qrfgehpg,qrzbafgengvba,perngrf,penmvre,pbhagqbja,pbssrr'f,puhzc,purrfrohetre,png'f,ohetyne,oebgureubbq,oreevrf,onyyebbz,nffhzcgvbaf,nex,naablrq,nyyvrf,nyyretl,nqinagntrf,nqzvere,nqzvenoyr,nqqerffrf,npgvingr,nppbzcnal,jrq,ivpgbevn'f,inyir,haqrecnagf,gjvg,gevttrerq,grnpure'f,gnpx,fgebxrf,fgbby,fgnee'f,funz,frnfbaf,fphycgher,fpenc,fnvyrq,ergneqrq,erfbheprshy,erznexnoyl,erserfu,enaxf,cerffherq,cerpnhgvbaf,cbvagl,boyvtngvbaf,avtugpyho,zhfgnpur,zbagu'f,zvabevgl,zvaq'f,znhv,ynpr,vfnoryyn'f,vzcebivat,vvv,uhau,uhool,syner,svrepr,snezref,qbag,qbxrl,qvivqrq,qrzvfr,qrznaqrq,qnatrebhfyl,pehfuvat,pbafvqrenoyr,pbzcynvarq,pyvatvat,pubxrq,purz,purreyrnqvat,purpxobbx,pnfuzrer,pnyzyl,oyhfu,oryvrire,nfcrpg,nznmvatyl,nynf,nphgr,n'f,lnx,juberf,jung'ir,ghvgvba,gerl'f,gbyrenapr,gbvyrgf,gnpgvpny,gnpbf,fgnvejryy,fche,fcvevgrq,fybjre,frjvat,frcnengryl,ehoorq,erfgevpgrq,chapurf,cebgrpgf,cnegvnyyl,byr,ahvfnapr,avntnen,zbgureshpxref,zvatyr,zvn'f,xlanfgba,xanpx,xvaxyr,vzcbfr,ubfgvat,uneel'f,thyyvoyr,tevq,tbqzbgure,shaavrfg,sevttva,sbyqvat,svanapvnyyl,svyzvat,snfuvbaf,rngre,qlfshapgvbany,qebby,qvfgvathvfurq,qrsrapr,qrsrngrq,pehvfvat,pehqr,pevgvpvmr,pbeehcgvba,pbagenpgbe,pbaprvir,pybar,pvephyngvba,prqnef,pnyvore,oevtugre,oyvaqrq,oveguqnlf,ovb,ovyy'f,onadhrg,negvsvpvny,nagvpvcngr,naabl,npuvrirzrag,juvz,juvpurire,ibyngvyr,irgb,irfgrq,hapyr'f,fhccbegf,fhpprffshyyl,fuebhq,frireryl,erfgf,ercerfragngvba,dhnenagvar,cerzvrer,cyrnfrf,cnerag'f,cnvayrff,cnqf,becunaf,becunantr,bssrapr,boyvtrq,avc,avttref,artbgvngvba,anepbgvpf,ant,zvfgyrgbr,zrqqyvat,znavsrfg,ybbxvg,ybb,yvynu,vairfgvtngrq,vagevthrq,vawhfgvpr,ubzvpvqny,unljneq'f,tvtnagvp,rkcbfvat,ryirf,qvfgheonapr,qvfnfgebhf,qrcraqrq,qrzragrq,pbeerpgvba,pbbcrq,pbyol'f,purreshy,ohlref,oebjavrf,orirentr,onfvpf,nggbearl'f,ngz,neiva,nepnqr,jrvtuf,hcfrgf,harguvpny,gvql,fjbyyra,fjrngref,fjnc,fghcvqrfg,frafngvba,fpnycry,envy,cebgbglcr,cebcf,cerfpevorq,cbzcbhf,cbrgvp,cybl,cnjf,bcrengrf,bowrpgvbaf,zhfuebbzf,zhyjenl,zbavgbevat,znavchyngvba,yherq,ynlf,ynfgvat,xhat,xrt,wryy,vagreafuvc,vafvtavsvpnag,vazngr,vapragvir,tnaquv,shysvyyrq,sybbqrq,rkcrqvgvba,ribyhgvba,qvfpunetrq,qvfnterrzrag,qvar,qrna'f,pelcg,pbebare'f,pbearerq,pbcvrq,pbasebagngvba,pqf,pngnybthr,oevtugrfg,orrgubira,onaarq,nggraqnag,nguyrgr,nznmr,nveyvarf,lbtheg,jlaqrzrer,jbby,ibpnohynel,ipe,ghyfn,gntf,gnpgvp,fghssl,fyht,frkhnyvgl,fravbef,frtzrag,eriryngvba,erfcvengbe,chyc,cebc,cebqhpvat,cebprffrq,cergraqf,cbyltencu,crec,craavrf,beqvanevyl,bccbfvgvba,byvirf,arpxf,zbenyyl,znegle,znegvny,yvfn'f,yrsgbiref,wbvagf,wvzzl'f,vef,vainqrq,vzcbegrq,ubccvat,ubzrl,uvagf,uryvpbcgref,urrq,urngrq,urnegoebxra,thys,terngyl,sbetr,sybevfg,svefgunaq,svraq,rkcnaqvat,rzzn'f,qrsrafrf,pevccyrq,pbhfva'f,pbeerpgrq,pbaavivat,pbaqvgvbare,pyrnef,purzb,ohooyl,oynqqre,orrcre,oncgvfz,nco,nafjre'f,naan'f,natyrf,npur,jbzo,jvevat,jrapu,jrnxarffrf,ibyhagrrevat,ivbyngvat,haybpxrq,harzcyblzrag,ghzzl,gvorg,guerfubyq,fheebtngr,fhoznevar,fhovq,fgenl,fgngrq,fgnegyr,fcrpvsvpf,fabo,fybjvat,fyrq,fpbbg,ebooref,evtugshy,evpurfg,dhvq,dskzwevr,chssf,cebonoyr,cvgpurq,cvreprq,crapvyf,cnenylfvf,ahxr,znantvat,znxrbire,yhapurba,ybeqf,yvaxflaretl,whel'f,wnphmmv,vfu,vagrefgngr,uvgpurq,uvfgbevp,unatbire,tnfc,senpgher,sybpx,sverzra,qenjvatf,qvfthfgrq,qnearq,pbny,pynzf,purm,pnoyrf,oebnqpnfgvat,oerj,obeebjvat,onatrq,npuvrirq,jvyqrfg,jrveqre,hanhgubevmrq,fghagf,fyrrirf,fvkgvrf,fuhfu,funyg,fraben,evfrf,ergeb,dhvgf,chcvyf,cbyvgvpvnaf,crttrq,cnvashyyl,cntvat,bhgyrg,bzryrg,bofreirq,arq'f,zrzbevmrq,ynjshyyl,wnpxrgf,vagrecergngvba,vagreprcg,vaterqvrag,tebjahc,tyhrq,tnvavat,shysvyyvat,syrr,rapunagrq,qiq,qryhfvba,qnevat,pbafreingvir,pbaqhpgrq,pbzcryyvat,punevgnoyr,pnegba,oebak,oevqrfznvqf,oevorq,obvyvat,onguebbzf,onaqntr,njnerarff,njnvgvat,nffvta,neebtnapr,nagvdhrf,nvafyrl,ghexrlf,geniryyvat,genfuvat,gvp,gnxrbire,flap,fhcreivfvba,fgbpxvatf,fgnyxrq,fgnovyvmrq,fcnprpensg,fybo,fxngrf,fvef,frqngrq,eborf,erivrjf,erfcrpgvat,eng'f,cflpur,cebzvarag,cevmrf,cerfhzcghbhf,cerwhqvpr,cyngbba,crezvggrq,cnentencu,zhfu,zhz'f,zbirzragf,zvfg,zvffvbaf,zvagf,zngvat,znagna,ybear,ybeq'f,ybnqf,yvfgrare,yrtraqnel,vgvarenel,uhtf,urcngvgvf,urnir,thrffrf,traqre,syntf,snqvat,rknzf,rknzvavat,ryvmnorgu'f,rtlcgvna,qhzorfg,qvfujnfure,qvzren'f,qrfpevovat,qrprvir,phaavat,pevccyr,pbir,pbaivpgvbaf,pbaterffvbany,pbasvqrq,pbzchyfvir,pbzcebzvfvat,ohetynel,oha,ohzcl,oenvajnfurq,orarf,neavr,nyil,nssvezngvir,nqeranyvar,nqnznag,jngpuva,jnvgerffrf,hapbzzba,gerngl,genaftravp,gbhturfg,gbol'f,fheebhaq,fgbezrq,fcerr,fcvyyvat,fcrpgnpyr,fbnxvat,fvtavsvpnapr,fuerqf,frjref,frirerq,fpnepr,fpnzzvat,fpnyc,fnzv'f,fnyrz'f,erjvaq,erurnefvat,cergragvbhf,cbgvbaf,cbffrffvbaf,cynaare,cynpvat,crevbqf,bireengrq,bofgnpyr,abgvprf,areqf,zrrzf,zrqvriny,zpzhecul,znghevgl,zngreavgl,znffrf,znarhire,ylva,ybngur,ynjlre'f,vei,vairfgvtngbef,urc,teva,tbfcry,tnyf,sbezngvba,sregvyvgl,snpvyvgvrf,rkgrevbe,rcvqrzvp,rybcvat,rpfgngvp,rpfgnfl,qhyl,qvibepvat,qvfgevohgvba,qvtana,qrohg,pbfgvat,pbnpuvat,pyhoubhfr,pybg,pybpxf,pynffvpny,pnaqvq,ohefgvat,oerngure,oenprf,oraargg'f,oraqvat,nhfgenyvna,nggraqnapr,nefbavfg,nccyvrf,nqberq,npprcgf,nofbeo,inpnag,hhu,hcubyq,hanezrq,gheq,gbcbyfxl,guevyyvat,guvtu,grezvangr,grzcb,fhfgnva,fcnprfuvc,faber,farrmr,fzhttyvat,fuevar,fren,fpbgg'f,fnygl,fnyba,enzc,dhnvag,cebfgvghgvba,cebs,cbyvpvrf,cngebavmr,cngvb,anfn,zbeovq,zneyb'f,znzzn,ybpngvbaf,yvprapr,xrggyr,wblbhf,vaivapvoyr,vagrecerg,vafrphevgvrf,vafrpgf,vadhvel,vasnzbhf,vzchyfrf,vyyhfvbaf,ubyrq,tyra'f,sentzragf,sbeerfgre'f,rkcybvg,rpbabzvpf,qeviva,qrf,qrsl,qrsrafryrff,qrqvpngr,penqyr,pce,pbhcba,pbhagyrff,pbawher,pbasvarq,pryroengrq,pneqobneq,obbxvat,oyhe,oyrnpu,ona,onpxfrng,nhfgva'f,nygreangvirf,nsgrejneq,nppbzcyvfuzrag,jbeqfjbegu,jvfryl,jvyqyvsr,inyrg,inppvar,hetrf,haangheny,hayhpxl,gehguf,genhzngvmrq,gvg,graarffrr,gnfgvat,fjrnef,fgenjoreevrf,fgrnxf,fgngf,fxnax,frqhpvat,frpergvir,fperjqevire,fpurqhyrf,ebbgvat,evtugshyyl,enggyrq,dhnyvsvrf,chccrgf,cebivqrf,cebfcrpgf,cebagb,ceriragrq,cbjrerq,cbffr,cbbeyl,cbyyvat,crqrfgny,cnyzf,zhqql,zbegl,zvavngher,zvpebfpbcr,zrepv,znetva,yrpghevat,vawrpg,vapevzvangr,ultvrar,ubfcvgny'f,tencrsehvg,tnmrob,shaavre,servtug,sybbqvat,rdhvinyrag,ryvzvangrq,rynvar'f,qvbf,qrnpba'f,phgre,pbagvaragny,pbagnvare,pbaf,pbzcrafngvba,pync,pof,pnivgl,pnirf,pncevpbea,pnainf,pnyphyngvbaf,obffl,obbol,onpgrevn,nvqrf,mraqr,jvaguebc,jvqre,jneenagf,inyragvarf,haqerffrq,haqrentr,gehgushyyl,gnzcrerq,fhssref,fgberq,fgnghgr,fcrrpuyrff,fcnexyvat,fbq,fbpvnyyl,fvqryvarf,fuerx,fnax,ebl'f,enhy'f,envyvat,choregl,cenpgvprf,crfxl,cnenpuhgr,bhgentr,bhgqbbef,bcrengrq,bcrayl,abzvangrq,zbgvbaf,zbbqf,yhapurf,yvggre,xvqanccref,vgpuvat,vaghvgvba,vaqrk,vzvgngvba,vpxl,uhzvyvgl,unffyvat,tnyybaf,svezyl,rkprffvir,ribyirq,rzcybl,ryvtvoyr,ryrpgvbaf,ryqreyl,qehtfgber,qbfntr,qvfehcg,qverpgvat,qvccvat,qrenatrq,qrongvat,phpxbb,perzngrq,penmvarff,pbbcrengvat,pbzcngvoyr,pvephzfgnagvny,puvzarl,obaavr'f,oyvaxvat,ovfphvgf,orytvhz,nevfr,nanylmrq,nqzvevat,npdhver,nppbhagrq,jvyybj'f,jrrcvat,ibyhzrf,ivrjf,gevnq,genful,genafnpgvba,gvyg,fbbguvat,fyhzore,fynlref,fxvegf,fvera,fuvc'f,fuvaqvt,fragvzrag,fnyyl'f,ebfpb,evqqnapr,erjneqrq,dhnvq,chevgl,cebprrqvat,cergmryf,cenpgvprq,cbyvgvpvna,cbyne,cnavpxvat,birenyy,bpphcngvba,anzvat,zvavzny,zpxrpuavr,znffnper,znenu'f,ybiva,yrnxrq,ynlref,vfbyngvba,vagehqvat,vzcrefbangvat,vtabenapr,ubbc,unzohetref,tjra'f,sehvgf,sbbgcevagf,syhxr,syrnf,srfgvivgvrf,sraprf,srvfgl,rinphngr,rzretrapvrf,qvnorgrf,qrgnvarq,qrzbpeng,qrprvirq,perrcvat,penmvrfg,pbecfrf,pbaarq,pbvapvqraprf,puneyrfgba,ohzf,oehffryf,obhaprq,obqlthneqf,oynfgrq,ovggrearff,onybarl,nfugenl,ncbpnylcfr,nqinaprf,mvyyvba,jngretngr,jnyycncre,ivnoyr,gbel'f,granagf,gryrfnir,flzcnguvmr,fjrrgre,fjnz,fhc,fgnegva,fgntrf,fcrapre'f,fbqnf,fabjrq,fyrrcbire,fvtabe,frrva,erivrjvat,erhavgrq,ergnvare,erfgebbz,erfgrq,ercynpvat,ercrephffvbaf,eryvivat,errs,erpbapvyvngvba,erpbapvyr,erpbtavfr,cerinvy,cernpuvat,cynagvat,bireernpg,bbs,bzra,b'arvy,ahzrebhf,abbfr,zbhfgnpur,zbeavat'f,znavpher,znvqf,znu,yberyrv'f,ynaqynql,ulcbgurgvpny,ubccrq,ubzrfvpx,uvirf,urfvgngvba,ureof,urpgvp,urnegoernx,unhagvat,tnatf,sebja,svatrecevag,rkgenpg,rkcverq,rkunhfgvat,rkpunatrq,rkprcgvbany,rirelgvzr,rapbhagrerq,qvfertneq,qnlgvzr,pbbcrengvir,pbafgvghgvbany,pyvat,purieba,puncrebar,ohrabf,oyvaqvat,ovggl,ornqf,onggyvat,onqtrevat,nagvpvcngvba,nqibpngr,mnaqre'f,jngresebag,hcfgnaqvat,hacebsrffvbany,havgl,haurnygul,haqrnq,ghezbvy,gehgushy,gbbgucnfgr,gvccva,gubhtugyrff,gntngnln,fgergpuvat,fgengrtvp,fcha,fubegntr,fubbgref,furevss'f,funql,frafryrff,fnvybef,erjneqvat,ershtr,encvq,enu,cha,cebcnar,cebabhaprq,cercbfgrebhf,cbggrel,cbegnoyr,cvtrbaf,cnfgel,bireurnevat,bter,bofprar,abiryf,artbgvnoyr,zgi,zbetna'f,zbaguyl,ybare,yrvfher,yrnthrf,wbttvat,wnjf,vgpul,vafvahngvat,vafvqrf,vaqhprq,vzzvtengvba,ubfcvgnyvgl,ubezbar,uvyqn'f,urnefg,tenaqcn'f,serdhragyl,sbegupbzvat,svfgf,svsgvrf,rgvdhrggr,raqvatf,ryringrq,rqvgvat,qhax,qvfgvapgvba,qvfnoyrq,qvof,qrfgeblf,qrfcvfrf,qrfverq,qrfvtaref,qrcevirq,qnapref,qnu,phqql,pehfg,pbaqhpgbe,pbzzhavfgf,pybnx,pvephzfgnapr,purjrq,pnffrebyr,oben,ovqqre,ornere,nffrffzrag,negbb,nccynhq,nccnyyvat,nzbhagf,nqzvffvbaf,jvguqenjny,jrvtugf,ibjrq,ivetvaf,ivtvynagr,ingvpna,haqbar,gerapu,gbhpuqbja,guebggyr,gunj,gun,grfgbfgrebar,gnvybe,flzcgbz,fjbbc,fhvgrq,fhvgpnfrf,fgbzc,fgvpxre,fgnxrbhg,fcbvyvat,fangpurq,fzbbpul,fzvggra,funzryrff,erfgenvagf,erfrnepuvat,erarj,erynl,ertvbany,ershaq,erpynvz,encvqf,enbhy,entf,chmmyrf,checbfryl,chaxf,cebfrphgrq,cynvq,cvarnccyr,cvpghevat,cvpxva,cof,cnenfvgrf,bssfcevat,alnu,zlfgrevbhfyl,zhygvcyl,zvareny,znfphyvar,znfpnen,yncf,xenzre'f,whxrobk,vagreehcgvbaf,ubnk,thasver,tnlf,sheanpr,rkprcgvbaf,ratenirq,ryobjf,qhcyvpngr,qencrf,qrfvtangrq,qryvorengr,qryv,qrpbl,pho,pelcgvp,pebjqf,pevgvpf,pbhcyn,pbaireg,pbairagvbany,pbaqrza,pbzcyvpngr,pbzovar,pbybffny,pyrexf,pynevgl,pnffnqvar'f,olrf,oehfurq,oevqr'f,onavfurq,neerfgf,netba,naql'f,nynezrq,jbefuvcf,irefn,hapnaal,gebbc,gernfhel,genafsbezngvba,grezvangrq,gryrfpbcr,grpuavpnyvgl,flqarl'f,fhaqnr,fghzoyr,fgevccvat,fuhgf,frcnengvat,fpuzhpx,fnyvin,eboore,ergnva,erznvarq,eryragyrff,erpbaarpg,erpvcrf,erneenatr,enl'f,enval,cflpuvngevfgf,cebqhpref,cbyvprzra,cyhatr,cyhttrq,cngpurq,bireybnq,bsp,bognvarq,bofbyrgr,b'znyyrl,ahzorerq,ahzore'f,anl,zbgu,zbqhyr,zxnl,zvaqyrff,zrahf,yhyynol,ybggr,yrniva,ynlbhg,xabo,xvyyva,xnevafxl,veerthyne,vainyvq,uvqrf,tebjahcf,tevss,synjf,synful,synzvat,srggrf,rivpgrq,rcvp,rapbqrq,qernq,qvy,qrtenffv,qrnyvatf,qnatref,phfuvba,pbafbyr,pbapyhqrq,pnfrl'f,objry,ortvaavatf,onetrq,ncrf,naabhapvat,nznaqn'f,nqzvgf,noebnq,novqr,nonaqbavat,jbexfubc,jbaqreshyyl,jbnx,jnesner,jnvg'yy,jnq,ivbyngr,ghexvfu,gvz'f,gre,gnetrgrq,fhfna'f,fhvpvqny,fgnlva,fbegrq,fynzzvat,fxrgpul,fubcyvsgvat,funcrf,fryrpgrq,fnenu'f,ergvevat,envfre,dhvmznfgre,chefhrq,chcxva,cebsvgnoyr,cersref,cbyvgvpnyyl,curabzraba,cnyzre'f,bylzcvpf,arrqyrff,angher'f,zhgg,zbgureubbq,zbzragnevyl,zvtenvar,yvmmvr'f,yvyb,yvsgf,yrhxrzvn,yrsgbire,ynj'f,xrrcva,vqby,uvaxf,uryyubyr,u'zz,tbjaf,tbbqvrf,tnyyba,shgherf,sevpgvba,svanyr,snezf,rkgenpgvba,ragregnvarq,ryrpgebavpf,rvtugvrf,rnegu'f,qzi,qnexre,qnavry'f,phz,pbafcvevat,pbafrdhrapr,purrel,pncf,pnys,pnqrg,ohvyqf,oravta,onearl'f,nfcrpgf,negvyyrel,ncvrpr,nyyvfba'f,ntterffvba,nqwhfgzragf,nohfvir,noqhpgvba,jvcvat,juvccvat,jryyrf,hafcrnxnoyr,hayvzvgrq,havqragvsvrq,gevivny,genafpevcgf,guerngraf,grkgobbx,granag,fhcreivfr,fhcrefgvgvbhf,fgevpxra,fgergpurq,fgbel'f,fgvzhyngvat,fgrrc,fgngvfgvpf,fcvryoret,fbqvhz,fyvprf,furyirf,fpengpurf,fnhqv,fnobgntrq,ebkl'f,ergevriny,ercerffrq,eryngvba,erwrpgvat,dhvpxvr,cebzbgvat,cbavrf,crrxvat,cnj,cnbyb,bhgentrq,bofreire,b'pbaaryy,zbcvat,zbnavat,znhfbyrhz,znyrf,yvpxrq,xbivpu,xyhgm,vend,vagreebtngvat,vagresrerq,vagrafvir,vafhyva,vasrfgrq,vapbzcrgrapr,ulcre,ubeevsvrq,unaqrqyl,unpxrq,thvqvat,tynzbhe,trbss,trxxb,senvq,senpgherq,sbezreyl,sybhe,svernezf,sraq,rkrphgvirf,rknzvare,rinyhngr,rybcrq,qhxr'f,qvfbevragrq,qryviref,qnfuvat,pelfgnyf,pebffebnqf,penfuqbja,pbheg'f,pbapyhqr,pbssrrf,pbpxebnpu,pyvzngr,puvccrq,pnzcf,oehfuvat,obhyrineq,obzorq,obygf,ortf,onguf,oncgvmrq,nfgebanhg,nffhenapr,narzvn,nyyrtvnapr,nvzvat,nohryn,novqvat,jbexcynpr,jvguubyqvat,jrnir,jrneva,jrnxre,jneavatf,hfn,gbhef,gurfvf,greebevfz,fhssbpngvat,fgenjf,fgenvtugsbejneq,fgrapu,fgrnzrq,fgneobneq,fvqrjnlf,fuevaxf,fubegphg,frna'f,fpenz,ebnfgrq,ebnzvat,evivren,erfcrpgshyyl,erchyfvir,erpbtavmrf,erprvire,cflpuvngel,cebibxrq,cravgragvnel,crrq,cnf,cnvaxvyyref,bvax,abez,avabgpuxn,zhfyvz,zbagtbzrel'f,zvgminu,zvyyvtenzf,zvy,zvqtr,znefuznyybjf,znexrgf,znpl'f,ybbxl,yncfr,xhoryvx,xavg,wro,vairfgzragf,vagryyrpg,vzcebivfr,vzcynag,ubzrgbja,unatrq,unaqvpnc,unyb,tbireabe'f,tbn'hyqf,tvqql,tvn'f,travhfrf,sehvgpnxr,sbbgvat,sybc,svaqvatf,svtugva,svo,rqvgbevny,qevaxva,qbbex,qvfpbirevat,qrgbhe,qnavfu,phqqyr,penfurf,pbbeqvangr,pbzob,pbybaanqr,pbyyrpgbe,purngf,prgren,pnanqvnaf,ovc,onvyvss,nhqvgvbavat,nffrq,nzhfrq,nyvrangr,nytroen,nyrkv,nvqvat,npuvat,jbr,jnu,hajnagrq,glcvpnyyl,ght,gbcyrff,gbathrf,gvavrfg,gurz'f,flzobyf,fhcrevbef,fbl,fbsgra,furyqenxr,frafbef,fryyre,frnf,ehyre,eviny,evcf,erabjarq,erpehvgvat,ernfbavat,enjyrl,envfvaf,enpvny,cerffrf,cerfreingvba,cbegsbyvb,birefvtug,betnavmvat,bognva,bofreivat,arffn,aneebjrq,zvavbaf,zvqjrfg,zrgu,zrepvshy,znantrf,zntvfgengr,ynjfhvgf,ynobhe,vairagvba,vagvzvqngvat,vasveznel,vaqvpngrq,vapbairavrag,vzcbfgre,uhttrq,ubabevat,ubyqva,unqrf,tbqsbefnxra,shzrf,sbetrel,sberzbfg,sbbycebbs,sbyqre,sbyqrq,synggrel,svatregvcf,svanapvat,svsgrragu,rkgrezvangbe,rkcybqrf,rppragevp,qenvarq,qbqtvat,qbphzragrq,qvfthvfrq,qrirybczragf,pheerapl,pensgf,pbafgehpgvir,pbaprnyrq,pbzcnegzrag,puhgr,puvacbxbzba,pncgnvaf,pncvgby,pnyphyngrq,ohfrf,obqvyl,nfgebanhgf,nyvzbal,npphfgbzrq,npprffbevrf,noqbzvany,mra,mnpu'f,jevaxyr,jnyybj,ivi,ivpvavgl,irahr,inyhrq,inyvhz,inyrevr'f,hctenqr,hcpbzvat,hagehr,hapbire,gjvt,gjrysgu,gerzoyvat,gernfherf,gbepurq,gbranvyf,gvzrq,grezvgrf,gryyl,gnhagvat,gnenafxl,gne,gnyxre,fhpphohf,fgnghrf,fznegf,fyvqvat,fvmrf,fvtugvat,frzra,frvmherf,fpneerq,fniil,fnhan,fnqqrfg,fnpevsvpvat,ehoovfu,evyrq,evpxl'f,evpna,erivir,erpehvg,enggrq,engvbanyyl,cebiranapr,cebsrffbef,cerfgvtvbhf,czf,cubafr,crexl,crqny,bireqbfr,betnavfz,anfny,anavgrf,zhful,zbiref,zbbg,zvffhf,zvqgrez,zrevgf,zrybqenzngvp,znaher,zntargvp,xabpxbhg,xavggvat,wvt,vainqvat,vagrecby,vapncnpvgngrq,vqyr,ubgyvar,ubefr'f,uvtuyvtug,unhyvat,unve'f,thacbvag,terrajvpu,tenvy,tnamn,senzvat,sbeznyyl,syrrvat,sync,synaary,sva,svoref,snqrq,rkvfgvat,rznvy,rnirfqebc,qjryyvat,qjnes,qbangvbaf,qrgrpgrq,qrffregf,qne,pbecbengvbaf,pbafgryyngvba,pbyyvfvba,puvp,pnybevrf,ohfvarffzra,ohpunana'f,oerngugnxvat,oyrnx,oynpxrq,onggre,onynaprq,nagr,ntteningrq,ntrapvrf,noh,lnaxrq,jhu,jvguqenja,jvtnaq,jubnu,junz,ibpny,hajvaq,haqbhogrqyl,hanggenpgvir,gjvgpu,gevzrfgre,gbeenapr,gvzrgnoyr,gnkcnlref,fgenvarq,fgngvbarq,fgnerq,fynccvat,fvaprevgl,fvtangherf,fvqvat,fvoyvatf,fuvg'f,furanavtnaf,funpxvat,frre,fngryyvgrf,fnccl,fnznevgna,ehar,ertnvarq,eroryyvba,cebprrqf,cevil,cbjre'f,cbbere,cbyvgryl,cnfgr,blfgref,bireehyrq,byns,avtugpnc,argjbexf,arprffvgl,zbfdhvgb,zvyyvzrgre,zvpuryyr'f,zreevre,znffnpuhfrggf,znahfpevcg,znahsnpgher,znaubbq,yhane,yht,yhpxrq,ybnarq,xvybf,vtavgvba,uhey,unhyrq,unezrq,tbbqjvyy,serfuzra,sbezvat,srazber,snfgra,snepr,snvyherf,rkcybqvat,reengvp,ryz,qehaxf,qvgpuvat,q'negntana,pebcf,penzcrq,pbagnpgvat,pbnyvgvba,pybfrgf,pyvragryr,puvzc,pninyel,pnfn,pnof,oyrq,onetnvarq,neenatvat,nepuvirf,narfgurfvn,nzhfr,nygrevat,nsgreabbaf,nppbhagnoyr,norggvat,jevaxyrf,jbyrx,jnirq,havgr,harnfl,hanjner,hsb,gbbg,gbqql,graf,gnggbbrq,gnq'f,fjnl,fgnvarq,fcnhyqvatf,fbyryl,fyvprq,fveraf,fpuvorggn,fpnggre,ehzbhef,ebtre'f,eboovr'f,evafr,erzb,erzrql,erqrzcgvba,dhrra'f,cebterffvir,cyrnfherf,cvpgher'f,cuvybfbcure,cnprl'f,bcgvzvfz,boyvtr,angvirf,zhl,zrnfhevat,zrnfherq,znfxrq,znfpbg,znyvpvbhf,znvyvat,yhpn,yvsrybat,xbfure,xbwv,xvqqvrf,whqnf,vfbyngr,vagreprcgrq,vafrphevgl,vavgvnyyl,vasrevbe,vapvqragnyyl,vsf,uha,urnyf,urnqyvtugf,thvqrq,tebjy,tevyyvat,tynmrq,trz,try,tncf,shaqnzragny,syhax,sybngf,svrel,snvearff,rkrepvfvat,rkpryyrapl,riravatf,rer,raebyyrq,qvfpybfher,qrg,qrcnegzrag'f,qnzc,pheyvat,phcobneq,pbhagresrvg,pbbyvat,pbaqrfpraqvat,pbapyhfvir,pyvpxrq,pyrnaf,pubyrfgreby,punc,pnfurq,oebj,oebppbyv,oengf,oyhrcevagf,oyvaqsbyq,ovm,ovyyvat,oneenpxf,nggnpu,ndhnevhz,nccnyyrq,nygvghqr,nyevtugl,nvzrq,lnja,knaqre'f,jlanag,jvafybj'f,jrypbzrq,ivbyngvbaf,hcevtug,hafbyirq,haeryvnoyr,gbbgf,gvtugra,flzobyvp,fjrngfuveg,fgrvaoeraare,fgrnzl,fcbhfr,fbk,fbabtenz,fybjrq,fybgf,fyrrcyrff,fxryrgba,fuvarf,ebyrf,ergnyvngr,ercerfragngvirf,ercuenfr,ercrngrq,eranvffnapr,erqrrz,encvqyl,enzoyvat,dhvyg,dhneery,celvat,cebireovny,cevprq,cerfvqvat,cerfvqrapl,cerfpevor,cerccrq,cenaxf,cbffrffvir,cynvagvss,cuvybfbcuvpny,crfg,crefhnqrq,crex,crqvngevpf,cnvtr'f,bireybbxrq,bhgpnfg,bbc,bqbe,abgbevbhf,avtugtbja,zlgubybtl,zhzob,zbavgberq,zrqvbper,znfgre'f,znqrzbvfryyr,yhapugvzr,yvsrfnire,yrtvfyngvba,yrnarq,ynzof,ynt,xvyyvatf,vagreaf,vagrafvgl,vapernfvat,vqragvgvrf,ubhaqvat,urz,uryyzbhgu,tbba,tbare,tubhy,trez,tneqravat,seraml,sblre,sbbq'f,rkgenf,rkgvapg,rkuvovgvba,rknttrengr,rireynfgvat,rayvtugrarq,qevyyvat,qbhoyrf,qvtvgf,qvnyrq,qribgr,qrsvarq,qrprvgshy,q'brhierf,pfv,pbfzrgvp,pbagnzvangrq,pbafcverq,pbaavat,pbybavrf,preroeny,pnirea,pngurqeny,pneivat,ohggvat,obvyrq,oyheel,ornzf,ones,onolfvg,nffvfgnagf,nfprafvba,nepuvgrpgher,nccebnpurf,nyohzf,nyonavna,nnnnnu,jvyqyl,jubbcrr,juval,jrvfxbcs,jnyxvr,ihygherf,irgrena,inpngvbaf,hcsebag,haerfbyirq,gvyr,gnzcrevat,fgehttyrq,fgbpxubyqref,fcrpvnyyl,fancf,fyrrcjnyxvat,fuehax,frezba,frrxf,frqhpgvba,fpranevbf,fpnzf,evqqra,eribyir,ercnverq,erthyngvba,ernfbanoyl,ernpgbe,dhbgrf,cerfreirq,curabzrany,cngebyyvat,cnenabezny,bhaprf,bzvtbq,bssf,abafgbc,avtugsnyy,ang,zvyvgvn,zrrgvat'f,ybtf,yvarhc,yvool'f,ynin,ynfuvat,ynoryf,xvybzrgref,xngr'f,vaivgrf,vairfgvtngvir,vaabpragf,vasvreab,vapvfvba,vzcbeg,vzcyvpngvbaf,uhzzvat,uvtuyvtugf,unhagf,terrxf,tybff,tybngvat,trareny'f,senaavr,syhgr,syrq,svggrq,svavfurf,svwv,srgny,srral,ragenczrag,rqvg,qlva,qbjaybnq,qvfpbzsbeg,qvzrafvbaf,qrgbangbe,qrcraqnoyr,qrxr,qrperr,qnk,pbg,pbasvfpngrq,pbapyhqrf,pbaprqr,pbzcyvpngvba,pbzzbgvba,pbzzrapr,puhynx,pnhpnfvna,pnfhnyyl,pnanel,oenvare,obyvr,onyycnex,nez'f,najne,nangbzl,nanylmvat,nppbzzbqngvbaf,lhxba,lbhfr,jevat,junes,jnyybjvat,henavhz,hapyrne,gernfba,genaftravpf,guevir,guvax'f,gurezny,greevgbevrf,grqvbhf,fheivirf,fglyvfu,fgevccref,fgrevyr,fdhrrmvat,fdhrnxl,fcenvarq,fbyrza,fabevat,fvp,fuvsgvat,funggrevat,funool,frnzf,fpenjal,ebgngvba,evfra,eribxrq,erfvqhr,errxf,erpvgr,ernc,enagvat,dhbgvat,cevzny,cerffherf,cerqvpnzrag,cerpvfvba,cyhtf,cvgf,cvacbvag,crgevsvrq,crgvgr,crefban,cngubybtvpny,cnffcbegf,bhtuggn,abqf,avtugre,anivtngr,anfuivyyr,anzryl,zhfrhzf,zbenyr,zvyjnhxrr,zrqvgngvba,zngurzngvpf,znegva'f,znygn,ybtna'f,ynggre,xvccvr,wnpxvr'f,vagevthr,vagragvbany,vafhssrenoyr,vapbzcyrgr,vanovyvgl,vzcevfbarq,uhc,uhaxl,ubj'ir,ubeevslvat,urnegl,urnqznfgre,ungu,une,unax'f,unaqobbx,unzcgbaf,tenmvr,tbbs,trbetr'f,sharenyf,shpx'f,senpgvba,sbexf,svanaprf,srgpurq,rkpehpvngvat,rawblnoyr,raunaprq,raunapr,raqnatre,rssvpvrapl,qhzore,qelvat,qvnobyvpny,qrfgeblre,qrfvenoyr,qrsraqnagf,qroevf,qnegf,phvfvar,phphzore,phor,pebffjbeq,pbagrfgnag,pbafvqref,pbzceruraq,pyho'f,pyvccrq,pynffzngrf,pubccref,pregvsvpngrf,pnezra'f,pnabr,pnaqyryvtug,ohvyqvat'f,oehgnyyl,oehgnyvgl,obneqrq,onguebor,onpxjneq,nhgubevmr,nhqerl'f,ngbz,nffrzoyr,nccrnyf,nvecbegf,nrebovpf,nqb,noobgg'f,jubyrfbzr,juvss,irffryf,irezva,inefvgl,gebcuvrf,genvg,gentvpnyyl,gblvat,gvgyrf,gvffhrf,grfgl,grnz'f,gnfgrshy,fhetr,fha'f,fghqvbf,fgevcf,fgbpxrq,fgrcura'f,fgnvepnfr,fdhnerf,fcvanpu,fbj,fbhgujrfg,fbhgurnfg,fbbxvr'f,fynlre'f,fvccvat,fvatref,fvqrgenpxrq,fryqbz,fpehoovat,fpencvat,fnapgvgl,ehffryy'f,ehfr,eboorevrf,evax,evqva,ergevohgvba,ervafgngrq,ersenva,erp,ernyvgvrf,ernqvatf,enqvnag,cebgrfgvat,cebwrpgbe,cbfrq,cyhgbavhz,cyndhr,cvyne'f,cnlva,cnegvat,cnaf,b'ervyyl,abbbbb,zbgbeplpyrf,zbgureshpxvat,zrva,zrnfyl,znei,znavp,yvar'f,yvpr,yvnz,yrafrf,ynzn,ynyvgn,whttyvat,wrexvat,wnzvr'f,vageb,varivgnoyl,vzcevfbazrag,ulcabfvf,uhqqyr,ubeeraqbhf,uboovrf,urnivre,urnegsryg,uneyva,unveqerffre,teho,tenzcf,tbabeeurn,tneqraf,shffvat,sentzrag,syrrgvat,synjyrff,synfurq,srghf,rkpyhfviryl,rhybtl,rdhnyvgl,rasbepr,qvfgvapgyl,qvferfcrpgshy,qravrf,pebffobj,perfg,pertt,penof,pbjneqyl,pbhagrff,pbagenfg,pbagenpgvba,pbagvatrapl,pbafhygrq,pbaarpgf,pbasvezvat,pbaqbar,pbssvaf,pyrnafvat,purrfrpnxr,pregnvagl,pncgnva'f,pntrf,p'rfg,oevrsrq,oerjvat,oenirfg,obfbz,obvyf,ovabphynef,onpuryberggr,nhag'f,nggn,nffrff,nccrgvmre,nzohfurq,nyregrq,jbbml,jvguubyq,jrvturq,ihytne,iveny,hgzbfg,hahfhnyyl,hayrnfurq,haubyl,haunccvarff,haqrejnl,hapbirerq,hapbaqvgvbany,glcrjevgre,glcrq,gjvfgf,fjrrcf,fhcreivfrq,fhcrezbqry,fhoheof,fhocbranrq,fgevatvat,falqre'f,fabg,fxrcgvpny,fxngrobneq,fuvsgrq,frperg'f,fpbggvfu,fpubbytvey,ebznagvpnyyl,ebpxrq,eribve,erivrjrq,erfcvengbel,erbcra,ertvzrag,ersyrpgf,ersvarq,chapgher,cgn,cebar,cebqhprf,cernpu,cbbyf,cbyvfurq,cbqf,cynargnevhz,cravpvyyva,crnprshyyl,cnegare'f,aheghevat,angvba'f,zber'a,zbanfgrel,zzuzz,zvqtrgf,znexyne,znpuvarel,ybqtrq,yvsryvar,wbnaan'f,wre,wryylsvfu,vasvygengr,vzcyvrf,vyyrtvgvzngr,uhgpu,ubefronpx,uraev,urvfg,tragf,sevpxva,serrmrf,sbesrvg,sbyybjref,synxrf,synve,sngurerq,snfpvfg,rgreanyyl,rgn,rcvcunal,rayvfgrq,ryriragu,ryrpg,rssrpgviryl,qbf,qvftehagyrq,qvfpevzvangvba,qvfpbhentrq,qryvadhrag,qrpvcure,qnairef,qno,phorf,perqvoyr,pbcvat,pbaprffvba,paa,pynfu,puvyyf,purevfurq,pngnfgebcur,pnergnxre,ohyx,oenf,oenapurf,obzofuryy,oveguevtug,ovyyvbanver,njby,nzcyr,nyhzav,nssrpgvbaf,nqzvengvba,noobggf,mryqn'f,jungabg,jngrevat,ivartne,ivrganzrfr,haguvaxnoyr,hafrra,hacercnerq,habegubqbk,haqreunaqrq,hapbby,genafzvggrq,genvgf,gvzryrff,guhzc,gurezbzrgre,gurbergvpnyyl,gurbergvpny,grfgnzrag,gnccvat,gnttrq,gnp,flagurgvp,flaqvpngr,fjhat,fhecyhf,fhccyvre,fgnerf,fcvxrq,fbivrgf,fbyirf,fzhttyr,fpurqhyvat,fpnevre,fnhpre,ervasbeprzragf,erpehvgrq,enag,dhvggre,cehqrag,cebwrpgvba,cerivbhfyl,cbjqrerq,cbxrq,cbvagref,cynprzrag,crevy,crargengr,cranapr,cngevbgvp,cnffvbaf,bcvhz,ahqtr,abfgevyf,arirezvaq,arhebybtvpny,zhfyvzf,zbj,zbzraghz,zbpxrel,zbofgre,zvavat,zrqvpnyyl,zntavghqr,znttvr'f,ybhqyl,yvfgvat,xvyyre'f,xne,wvz'f,vafvtugf,vaqvpgrq,vzcyvpngr,ulcbpevgvpny,uhznayl,ubyvarff,urnyguvre,unzzrerq,unyqrzna,thazna,tencuvp,tybbz,trbtencul,tnel'f,serfuyl,senapf,sbezvqnoyr,syhaxrq,synjrq,srzvavfg,snhk,rjjj,rfpbegrq,rfpncrf,rzcgvarff,rzretr,qehttvat,qbmre,qbp'f,qverpgbengr,qvnan'f,qrerixb,qrcevir,qrbqbenag,pelva,pehfnqr,pebpbqvyr,perngvivgl,pbagebirefvny,pbzznaqf,pbybevat,pbyqre,pbtanp,pybpxrq,pyvccvatf,puevfgvar'f,puvg,punenqrf,punagvat,pregvsvnoyr,pngreref,oehgr,oebpuherf,oevrsf,oena,obgpurq,oyvaqref,ovgpuva,onhre'f,onagre,onoh,nccrnevat,nqrdhngr,nppbzcnavrq,noehcg,noqbzra,mbarf,jbbb,jbxra,jvaqvat,ivc,irarmhryn,hanavzbhf,hypre,gernq,guvegrragu,gunaxshyyl,gnzr,gnool'f,fjvar,fjvzfhvg,fjnaf,fhi,fgerffvat,fgrnzvat,fgnzcrq,fgnovyvmr,fdhvez,fcbxrfzna,fabbmr,fuhssyr,fuerqqrq,frbhy,frvmrq,frnsbbq,fpengpul,fnibe,fnqvfgvp,ebfgre,evpn,eurgbevpny,eriyba,ernyvfg,ernpgvbaf,cebfrphgvat,cebcurpvrf,cevfbaf,cerprqrag,cbylrfgre,crgnyf,crefhnfvba,cnqqyrf,b'yrnel,ahguva,arvtuobhe,artebrf,aniny,zhgr,zhfgre,zhpx,zvaarfbgn,zravatvgvf,zngeba,znfgrerq,znexref,znevf'f,znahsnpgherq,ybg'f,ybpxref,yrggrezna,yrttrq,ynhapuvat,ynarf,wbheanyf,vaqvpgzrag,vaqvpngvat,ulcabgvmrq,ubhfrxrrcvat,ubcryrffyl,uzcu,unyyhpvangvbaf,tenqre,tbyqvybpxf,tveyl,shegurezber,senzrf,synfx,rkcnafvba,rairybcrf,ratntvat,qbjafvqr,qbirf,qbbexabo,qvfgvapgvir,qvffbyir,qvfpbhentr,qvfnccebir,qvnorgvp,qrcnegrq,qryvirevrf,qrpbengbe,qrnd,pebffsver,pevzvanyyl,pbagnvazrag,pbzenqrf,pbzcyvzragnel,pbzzvgzragf,puhz,punggre,puncgref,pngpul,pnfuvre,pnegry,pnevobh,pneqvbybtvfg,ohyy'f,ohssre,oenjy,objyf,obbgrq,obng'f,ovyyobneq,ovoyvpny,oneorefubc,njnxravat,nelna,natfg,nqzvavfgre,npdhvggrq,npdhvfvgvba,nprf,nppbzzbqngr,mryyvr,lvryq,jernx,jvgpu'f,jvyyvnz'f,juvfgyrf,jneg,inaqnyvfz,inzcf,hgrehf,hcfgngr,hafgbccnoyr,haeryngrq,haqrefghql,gevfgva,genafcbegvat,genafpevcg,genadhvyvmre,genvyf,genssvpxvat,gbkvaf,gbafvyf,gvzvat'f,gurencrhgvp,grk,fhofpevcgvba,fhozvggrq,fgrcunavr'f,fgrzcry,fcbggvat,fcrpgngbe,fcnghyn,fbub,fbsgre,fabggl,fyvatvat,fubjrerq,frkvrfg,frafhny,fpbevat,fnqqre,ebnz,evzonhq,evz,erjneqf,erfgenva,erfvyvrag,erzvffvba,ervafgngr,erunfu,erpbyyrpgvba,enovrf,dhvaa'f,cerfragvat,cersrerapr,cenvevr,cbcfvpyr,cynhfvoyr,cynagngvba,cuneznprhgvpny,crqvngevp,cngebavmvat,cngrag,cnegvpvcngvba,bhgqbbe,bfgevpu,begbynav,bbbbbu,bzryrggr,arvtuobe'f,artyrpg,anpubf,zbivr'f,zvkgher,zvfgevny,zvb,zptvagl'f,znefrvyyrf,zner,znaqngr,znyg,yhi,ybbcubyr,yvgrenel,yvorengvba,ynhtuva,ynprl'f,xriil,wnu,veevgngrq,vagraqf,vavgvngvba,vavgvngrq,vavgvngr,vasyhraprq,vasvqryvgl,vaqvtrabhf,vap,vqnub,ulcbgurezvn,ubeevsvp,uvir,urebvar,tebhcvr,tevaqvat,tenprshy,tbireazrag'f,tbbqfcrrq,trfgherf,tnu,senagvp,rkgenqvgvba,rivy'f,ratvarref,rpuryba,rneavat,qvfxf,qvfphffvbaf,qrzbyvgvba,qrsvavgvir,qnjavr,qnir'f,qngr'f,qnerq,qna'f,qnzfry,pheyrq,pbheglneq,pbafgvghgrf,pbzohfgvba,pbyyrpgvir,pbyyngreny,pbyyntr,pby,punag,pnffrggr,pneby'f,pney'f,pnyphyngvat,ohzcvat,oevgnva,oevorf,obneqjnyx,oyvaqf,oyvaqyl,oyrrqf,oynxr'f,ovpxrevat,ornfgf,onggyrsvryq,onaxehcgpl,onpxfvqr,niratr,ncceruraqrq,naavr'f,nathvfu,nstunavfgna,npxabjyrqtrq,nohfvat,lbhgushy,lryyf,lnaxvat,jubzrire,jura'q,jngresnyy,ibzvgvat,ivar,iratrshy,hgvyvgl,hacnpxvat,hasnzvyvne,haqlvat,ghzoyr,gebyyf,gernpurebhf,gbqb,gvccvat,gnagehz,gnaxrq,fhzzbaf,fgengrtvrf,fgencf,fgbzcrq,fgvaxva,fgvatf,fgnapr,fgnxrq,fdhveeryf,fcevaxyrf,fcrphyngr,fcrpvnyvfgf,fbegvat,fxvaarq,fvpxb,fvpxre,fubbgva,furc,funggre,frrln,fpuanccf,f'cbfrq,ebjf,ebhaqrq,ebarr,evgr,eribyirf,erfcrpgshy,erfbhepr,ercyl,eraqrerq,ertebhc,erterggvat,erryvat,erpxbarq,erohvyqvat,enaql'f,enzvsvpngvbaf,dhnyvsvpngvbaf,chyvgmre,chqql,cebwrpgvbaf,cerfpubby,cbgf,cbgnffvhz,cyvffxra,cyngbavp,crgre'f,creznynfu,cresbezre,crnfnag,bhgqbar,bhgohefg,btu,bofpher,zhgnagf,zhttvat,zbyrphyrf,zvfsbeghar,zvfrenoyl,zvenphybhfyl,zrqvpngvbaf,zrqnyf,znetnevgnf,znacbjre,ybirznxvat,ybat'f,ybtb,ybtvpnyyl,yrrpurf,yngevar,ynzcf,ynpxf,xarry,wbuaal'f,wraal'f,vasyvpg,vzcbfgbe,vpba,ulcbpevfl,ulcr,ubfgf,uvccvrf,urgrebfrkhny,urvtugrarq,urphon'f,urphon,urnyre,unovgng,thaarq,tebbzvat,tebb,tebva,tenf,tbel,tbbrl,tybbzl,selvat,sevraqfuvcf,serqb,sbvy,svfurezra,svercbjre,srff,sngubz,rkunhfgvba,rivyf,rcv,raqrnibe,ruu,rttabt,qernqrq,qensgrq,qvzrafvbany,qrgnpurq,qrsvpvg,q'nepl,pebgpu,pbhtuvat,pbebanel,pbbxva,pbagevohgrq,pbafhzzngr,pbatengf,pbapregf,pbzcnavbafuvc,pnirq,pnfcne,ohyyrgcebbs,oevf,oevyyvnapr,oernxva,oenfu,oynfgvat,ornx,nenovn,nanylfg,nyhzvahz,nybhq,nyyvtngbe,nvegvtug,nqivfvat,nqiregvfr,nqhygrel,nqzvavfgrerq,npurf,nofgenpg,nnuu,jebatrq,jny,ibyhagnel,iragvyngvba,hcorng,hapregnvagl,gebg,gevyyvba,gevpvn'f,genqrf,gbgf,gby,gvtugyl,guvatvrf,graqvat,grpuavpvna,gnegf,fheerny,fhzzre'f,fgeratguf,fcrpf,fcrpvnyvmr,fcng,fcnqr,fybtna,fybnar'f,fuerj,funcvat,frgu'f,fryirf,frrzvatyl,fpubbyjbex,ebbzvr,erdhverzragf,erqhaqnag,erqb,erphcrengvat,erpbzzraqngvbaf,engvb,enovq,dhneg,cfrhqb,cebibpngvir,cebhqyl,cevapvcny'f,cergrafrf,cerangny,cvyyne,cubgbtencuref,cubgbtencurq,cuneznprhgvpnyf,cngeba,cnpvat,birejbexrq,bevtvanyf,avpbgvar,arjfyrggre,arvtuobhef,zheqrebhf,zvyyre'f,zvyrntr,zrpunavpf,znlbaanvfr,znffntrf,znebba,yhpengvir,ybfva,yvy,yraqvat,yrtvfyngvir,xng,whab,vena,vagreebtngrq,vafgehpgvba,vawhapgvba,vzcnegvny,ubzvat,urnegoernxre,unez'f,unpxf,tynaqf,tvire,senvmu,sybjf,syvcf,synhag,rkpryyrapr,rfgvzngrq,rfcvbantr,ratyvfuzna,ryrpgebphgrq,rvfraubjre,qhfgvat,qhpxvat,qevsgrq,qbaan'f,qbangvat,qbz,qvfgevohgr,qvrz,qnlqernz,plyba,pheirf,pehgpurf,pengrf,pbjneqf,pbiranag,pbairegrq,pbagevohgvbaf,pbzcbfrq,pbzsbegnoyl,pbq,pbpxcvg,puhzzl,puvgpung,puvyqovegu,punevgvrf,ohfvarffjbzna,oebbq,oerjrel,oc'f,oyngnag,orgul,oneevat,onttrq,njnxrarq,nffhzrf,nffrzoyrq,nforfgbf,negl,negjbex,nep,nagubal'f,nxn,nvecynarf,nppryrengrq,jbefuvccrq,jvaavatf,jul'er,juvyfg,jrfyrl'f,ibyyrlonyy,ivfhnyvmr,hacebgrpgrq,hayrnfu,harkcrpgrqyl,gjragvrgu,gheacvxr,genlf,genafyngrq,gbarf,guerr'f,guvpxre,gurencvfgf,gnxrbss,fhzf,fgho,fgervfnaq,fgbez'f,fgberebbz,fgrgubfpbcr,fgnpxrq,fcbafbef,fcvgrshy,fbyhgvbaf,farnxf,fanccvat,fynhtugrerq,fynfurq,fvzcyrfg,fvyirejner,fuvgf,frpyhqrq,fpehcyrf,fpehof,fpencf,fpubyne,ehcgherq,ehof,ebnevat,erylvat,ersyrpgrq,ersref,erprcgvbavfg,erpnc,erobea,envfva,envasberfg,enr'f,enqvgpu,enqvngbe,chfubire,cbhg,cynfgrerq,cuneznpvfg,crgebyrhz,creirefr,crecrgengbe,cnffntrf,beanzrag,bvagzrag,bpphcl,avargvrf,anccvat,anaavrf,zbhffr,zbeg,zbebppb,zbbef,zbzragnel,zbqvsvrq,zvgpu'f,zvfhaqrefgnaqvatf,znevan'f,znepl'f,znepurq,znavchyngbe,znyshapgvba,ybbg,yvzof,yngvghqr,yncq,ynprq,xvine,xvpxva,vagresnpr,vashevngvat,vzcerffvbanoyr,vzcbfvat,ubyqhc,uverf,uvpx,urfvgngrq,uroerj,urnevatf,urnqcubarf,unzzrevat,tebhaqjbex,tebgrfdhr,terraubhfr,tenqhnyyl,tenprf,trargvpf,tnhmr,tnegre,tnatfgref,t'f,sevibybhf,serrynapr,serrvat,sbhef,sbejneqvat,srhq,sreenef,snhygl,snagnfvmvat,rkgenpheevphyne,rkunhfg,rzcngul,rqhpngr,qvibeprf,qrgbangr,qrcenirq,qrzrnavat,qrpynevat,qrnqyvarf,qrn,qnevn'f,qnynv,phefvat,phssyvax,pebjf,pbhcbaf,pbhagelfvqr,pbb,pbafhygngvba,pbzcbfre,pbzcyl,pbzsbegrq,pyvir,pynhfgebcubovp,purs'f,pnfvabf,pnebyvar'f,pncfhyr,pnzcrq,pnveb,ohfobl,oerq,oenirel,oyhgu,ovbtencul,orefrex,oraarggf,onfxrgf,nggnpxre,ncynfgvp,natevre,nssrpgvbangr,mvg,mnccrq,lbexre,lnea,jbezubyr,jrnxra,ing,haernyvfgvp,haeniry,havzcbegnag,hasbetrggnoyr,gjnva,gi'f,ghfu,gheabhg,gevb,gbjrq,gbsh,grkgobbxf,greevgbevny,fhfcraq,fhccyvrq,fhcreobjy,fhaqnlf,fghggre,fgrjneqrff,fgrcfba,fgnaqva,ffuu,fcrpvnyvmrf,fcnaqrk,fbhiravef,fbpvbcngu,fanvyf,fybcr,fxryrgbaf,fuvirevat,frkvre,frdhry,frafbel,frysvfuarff,fpencobbx,ebznavn,evirefvqr,evgrf,evgnyva,evsg,evoobaf,erhavgr,erzneel,erynkngvba,erqhpgvba,ernyvmngvba,enggyvat,encvfg,dhnq,chc,cflpubfvf,cebzbgvbaf,cerfhzrq,cerccvat,cbfgher,cbfrf,cyrnfvat,cvffrf,cvyvat,cubgbtencuvp,cssg,crefrphgrq,crne,cneg'f,cnaglubfr,cnqqrq,bhgyvar,betnavmngvbaf,bcrengvirf,bbuu,bovghnel,abegurnfg,avan'f,arheny,artbgvngbe,aon,anggl,anguna'f,zvavzvmr,zrey,zrabcnhfr,zraavuna,znegl'f,znegvzzlf,znxref,yblnygvrf,yvgreny,yrfg,ynlavr,ynaqb,whfgvsvrf,wbfu'f,vagvzngryl,vagrenpg,vagrtengrq,vaavat,varkcrevraprq,vzcbgrag,vzzbegnyvgl,vzzvarag,vpu,ubeebef,ubbxl,ubyqref,uvatrf,urnegoernxvat,unaqphssrq,tlcfvrf,thnpnzbyr,tebiry,tenmvryyn,tbttyrf,trfgncb,shffl,shapgvbany,svyzznxre,sreentnzb,srroyr,rlrfvtug,rkcybfvbaf,rkcrevzragvat,ramb'f,raqbefrzrag,rapunagvat,rrr,rq'f,qhengvba,qbhogshy,qvmmvarff,qvfznagyr,qvfpvcyvanel,qvfnovyvgl,qrgrpgbef,qrfreivat,qrcbg,qrsrpgvir,qrpbe,qrpyvar,qnatyvat,qnapva,pehzoyr,pevgrevn,pernzrq,penzcvat,pbbyrq,pbaprny,pbzcbarag,pbzcrgvgbef,pybpxjbex,pynex'f,pvephvgf,puevffnxrf,puevffnxr,pubccvat,pnovargf,ohggrephc,oebbqvat,obasver,oyheg,oyhrfgne,oybngrq,oynpxznvyre,orsberunaq,ongurq,ongur,onepbqr,onawb,onavfu,onqtrf,onooyr,njnvg,nggragvir,negvsnpgf,nebhfrq,nagvobqvrf,navzbfvgl,nqzvavfgengbe,nppbzcyvfuzragf,ln'yy,jevaxyrq,jbaqreynaq,jvyyrq,juvfx,jnygmvat,jnvgerffvat,ivf,iva,ivyn,ivtvynag,hcoevatvat,hafrysvfu,hacbchyne,hazneevrq,hapyrf,geraql,genwrpgbel,gnetrgvat,fheebhaqvatf,fgha,fgevcrq,fgneohpxf,fgnzvan,fgnyyrq,fgnxvat,fgnt,fcbvyf,fahss,fabbgl,favqr,fuevaxvat,frabevgn,frphevgvrf,frpergnevrf,fpehgval,fpbhaqery,fnyvar,fnynqf,fnvyf,ehaqbja,ebm'f,ebbzzngr'f,evqqyrf,erfcbafrf,erfvfgnag,erdhverzrag,eryncfr,ershtrrf,erpbzzraqvat,enfcoreel,enprq,cebfcrevgl,cebtenzzr,cerfhznoyl,cercnengvbaf,cbfgf,cbz,cyvtug,cyrnqrq,cvybg'f,crref,crpna,cnegvpyrf,cnagel,bireghearq,birefyrcg,beanzragf,bccbfvat,avare,asy,artyvtrag,artyvtrapr,anvyvat,zhghnyyl,zhpub,zbhgurq,zbafgebhf,zbanepul,zvafx,zngg'f,zngrb'f,znexvat,znahsnpghevat,znantre'f,znycenpgvpr,znvagnvavat,ybjyl,ybvgrevat,ybttrq,yvatrevat,yvtug'f,yrggva,ynggrf,xvz'f,xnzny,whfgvsvpngvba,whebe,whapgvba,whyvr'f,wblf,wbuafba'f,wvyyrsfxl,wnpxrq,veevgngr,vagehfvba,vafpevcgvba,vafngvnoyr,vasrpg,vanqrdhngr,vzcebzcgh,vpvat,uzzzz,ursgl,tenzzne,trarengr,tqp,tnfxrg,sevtugraf,synccvat,svefgobea,sver'f,svt,snhprg,rknttrengrq,rfgenatrq,raivbhf,rvtugrragu,rqvoyr,qbjajneq,qbcrl,qbrfa,qvfcbfvgvba,qvfcbfnoyr,qvfnfgref,qvfnccbvagzragf,qvccrq,qvzvavfurq,qvtavsvrq,qvnevrf,qrcbegrq,qrsvpvrapl,qrprvg,qrnyrefuvc,qrnqorng,phefrf,pbira,pbhafrybef,pbairl,pbafhzr,pbapvretr,pyhgpurf,puevfgvnaf,pqp,pnfonu,pnerserr,pnyybhf,pnubbgf,pns,oebgureyl,oevgpurf,oevqrf,obc,oban,orguvr,orvtr,oneeryf,onyybg,nir,nhgbtencurq,nggraqnagf,nggnpuzrag,nggnobl,nfgbavfuvat,nfuber,nccerpvngvir,nagvovbgvp,narhelfz,nsgreyvsr,nssvqnivg,mhxb,mbavat,jbex'f,jungf,junqqnln,jrnxrarq,jngrezryba,infrpgbzl,hafhfcrpgvat,gevny'f,genvyvat,gbhyn,gbcnatn,gbavb,gbnfgrq,gvevat,gurerol,greebevmrq,graqrearff,gpu,gnvyvat,flyynoyr,fjrngf,fhssbpngrq,fhpxl,fhopbafpvbhfyl,fgneiva,fgntvat,fcebhgf,fcvaryrff,fbeebjf,fabjfgbez,fzvex,fyvprel,fyrqqvat,fynaqre,fvzzre,fvtaben,fvtzhaq,fvrtr,fvorevn,friragvrf,frqngr,fpragrq,fnzcyvat,fny'f,ebjql,ebyyref,ebqrag,erirahr,ergenpgvba,erfheerpgvba,erfvtavat,erybpngr,eryrnfrf,ershfny,ersreraqhz,erphcrengr,erprcgvir,enaxvat,enpxrgrrevat,dhrnfl,cebkvzvgl,cebibxvat,cebzcgyl,cebonovyvgl,cevbef,cevaprf,cerebtngvir,cerzrq,cbeabtencul,cbeprynva,cbyrf,cbqvhz,cvapurq,cvt'f,craqnag,cnpxrg,bjare'f,bhgfvqref,bhgcbfg,beovat,bccbeghavfg,bynabi,bofreingvbaf,ahefr'f,abovyvgl,arhebybtvfg,angr'f,anabobg,zhfphyne,zbzzvrf,zbyrfgrq,zvfernq,zryba,zrqvgreenarna,zrn,znfgrezvaq,znaarerq,znvagnvarq,znpxramvr'f,yvorengrq,yrfvbaf,yrr'f,ynhaqebzng,ynaqfpncr,yntbba,ynoryrq,wbyg,vagrepbz,vafcrpg,vafnaryl,vasenerq,vasnghngvba,vaqhytrag,vaqvfpergvba,vapbafvqrengr,vapvqragf,vzcnverq,uheenu,uhatnevna,ubjyvat,ubabenel,urecrf,unfgn,unenffrq,unahxxnu,thvqrf,tebiryvat,tebbfnyht,trbtencuvp,tnmr,tnaqre,tnynpgvpn,shgvyr,sevqnlf,syvre,svkrf,svqr,sre,srrqonpx,rkcybvgvat,rkbepvfz,rkvyr,rinfvir,rafrzoyr,raqbefr,rzcgvrq,qernel,qernzl,qbjaybnqrq,qbqtrq,qbpgberq,qvfcynlrq,qvfborlrq,qvfarlynaq,qvfnoyr,qvrtb'f,qrulqengrq,qrsrpg,phfgbznel,pfp,pevgvpvmvat,pbagenpgrq,pbagrzcyngvat,pbafvfgf,pbaprcgf,pbzcrafngr,pbzzbayl,pbybhef,pbvaf,pbpbahgf,pbpxebnpurf,pybttrq,pvapvaangv,puhepurf,puebavpyr,puvyyvat,puncreba,prerzbavrf,pngnyvan'f,pnag,pnzrenzna,ohyof,ohpxynaqf,oevovat,oenin,oenpryrgf,objryf,obool'f,ozj,oyhrcbvag,ongba,oneerq,onyz,nhqvg,nfgebabzl,nehon,nccrgvmref,nccraqvk,nagvpf,nabvagrq,nanybtl,nyzbaqf,nyohdhredhr,noehcgyl,lber,lnzzrevat,jvapu,juvgr'f,jrfgba'f,jrveqarff,jnatyre,ivoengvbaf,iraqbe,haznexrq,hanaabhaprq,gjrec,gerfcnff,gerf,genirfgl,genafcbegrq,genafshfvba,genvarr,gbjryvr,gbcvpf,gbpx,gverfbzr,gueh,gurngevpny,greenva,fhfcrpg'f,fgenvtugravat,fgnttrevat,fcnprq,fbane,fbpvnyvmvat,fvgpbz,fvahf,fvaaref,funzoyrf,frerar,fpencrq,fpbarf,fprcgre,fneevf,fnoreuntra,ebhtr,evtvq,evqvphybhfyl,evqvphyr,erirnyf,eragf,ersyrpgvat,erpbapvyrq,engr'f,enqvbf,dhbgn,dhvkbgr,choyvpvfg,chorf,cehar,cehqr,cebivqre,cebcntnaqn,cebybatrq,cebwrpgvat,cerfgvtr,cerpevzr,cbfgcbavat,cyhpx,crecrghny,crezvgf,crevfu,crccrezvag,crryrq,cnegvpyr,cneyvnzrag,bireqb,bevragrq,bcgvbany,ahgfuryy,abger,abgvbaf,abfgnytvp,abzvangvba,zhyna,zbhguvat,zbaxrl'f,zvfgbbx,zvf,zvyubhfr,zry'f,zrqqyr,znlobhear,znegvzzl,ybba,ybobgbzl,yviryvubbq,yvgvtngvba,yvcczna,yvxrarff,ynhevr'f,xvaqrfg,xner,xnssrr,wbpxf,wrexrq,wrbcneqvmvat,wnmmrq,vairfgvat,vafherq,vadhvfvgvba,vaunyr,vatravbhf,vasyngvba,vapbeerpg,vtol,vqrnyf,ubyvre,uvtujnlf,urerqvgnel,uryzrgf,urveybbz,urvabhf,unfgr,unezfjnl,uneqfuvc,unaxl,thggref,tehrfbzr,tebcvat,tbireazragf,tbbsvat,tbqfba,tyner,tnezrag,sbhaqvat,sbegharf,sbr,svarffr,svthengviryl,sreevr,sqn,rkgreany,rknzcyrf,rinphngvba,rguavp,rfg,raqnatrezrag,rapybfrq,rzcunfvf,qlrq,qhq,qernqvat,qbmrq,qbexl,qzvgev,qvireg,qvffregngvba,qvfperqvg,qverpgbe'f,qvnyvat,qrfpevorf,qrpxf,phssyvaxf,pehgpu,perngbe,pencf,pbeehcgrq,pbebangvba,pbagrzcbenel,pbafhzcgvba,pbafvqrenoyl,pbzcerurafvir,pbpbba,pyrnintr,puvyr,pneevref,pnepnff,pnaarel,olfgnaqre,oehfurf,oehvfvat,oevorel,oenvafgbez,obygrq,ovatr,oneg'f,oneenphqn,onebarff,onyyvfgvpf,o'f,nfghgr,neebjnl,nenovna,nzovgvbaf,nyrknaqen'f,nsne,nqiraghebhf,nqbcgvir,nqqvpgf,nqqvpgvir,npprffvoyr,lnqqn,jvyfba'f,jvtf,juvgryvtugref,jrzngnalr,jrrqf,jrqybpx,jnyyrgf,jnyxre'f,ihyarenovyvgl,iebbz,ivoenag,iregvpny,iragf,hhhu,hetu,hccrq,hafrggyvat,habssvpvny,haunezrq,haqreylvat,gevccva,gevsyr,genpvat,gbk,gbezragvat,gvzbgul'f,guernqf,gurngref,gungf,gnirea,gnvjna,flcuvyvf,fhfprcgvoyr,fhzznel,fhvgrf,fhogrkg,fgvpxva,fcvprf,fberf,fznpxrq,fyhzzvat,fvkgrragu,fvaxf,fvtaber,fuvggvat,funzrshy,funpxrq,fretrv,frcgvp,frrql,frphevgl'f,frnepurf,evtugrbhfarff,erzbiny,eryvfu,eryrinapr,erpgvsl,erpehvgf,erpvcvrag,enivfuvat,dhvpxrfg,chcvy,cebqhpgvbaf,cerprqrapr,cbgrag,cbbpu,cyrqtrq,cubrof,creiregrq,crrvat,crqvpher,cnfgenzv,cnffvbangryl,bmbar,bireybbxvat,bhgahzorerq,bhgybbx,bertnab,bssraqre,ahxrf,abirygl,abfrq,avtugl,avsgl,zhtf,zbhagvrf,zbgvingr,zbbaf,zvfvagrecergrq,zvaref,zrepranel,zragnyvgl,znf,znefryyhf,znccrq,znyyf,yhchf,yhzone,ybirfvpx,ybatvghqr,ybofgref,yvxryvubbq,yrnxl,ynhaqrevat,yngpu,wncf,wnsne,vafgvapgviryl,vafcverf,vasyvpgrq,vasynzzngvba,vaqbbef,vapneprengrq,vzntrel,uhaqerqgu,uhyn,urzvfcurer,unaqxrepuvrs,unaq'f,tlarpbybtvfg,thvggvrerm,tebhaqubt,tevaavat,tenqhngrf,tbbqolrf,trbetrgbja,trrfr,shyyrfg,sgy,sybeny,synfuonpx,rlrynfurf,rlrynfu,rkpyhqrq,riravat'f,rinphngrq,radhvere,raqyrffyl,rapbhagref,ryhfvir,qvfnez,qrgrfg,qryhqvat,qnatyr,penool,pbgvyyvba,pbefntr,pbcrauntra,pbawhtny,pbasrffvbany,pbarf,pbzznaqzrag,pbqrq,pbnyf,puhpxyr,puevfgznfgvzr,puevfgvan'f,purrfrohetref,puneqbaanl,prerzbavny,prcg,pryyb,pryrel,pnegre'f,pnzcsver,pnyzvat,oheevgbf,ohec,ohttl,oehaqyr,oebsybifxv,oevtugra,objf,obeqreyvar,oyvaxrq,oyvat,ornhgvrf,onhref,onggrerq,nguyrgrf,nffvfgvat,negvphyngr,nybg,nyvrangrq,nyrxfnaqe,nuuuuu,nterrzragf,ntnzrzaba,nppbhagnagf,mng,l'frr,jebatshy,jevgre'f,jenccre,jbexnubyvp,jbx,jvaarontb,juvfcrerq,jnegf,ivxxv'f,irevsvrq,inpngr,hcqngrq,hajbegul,hacerprqragrq,hanafjrerq,geraq,genafsbezrq,genafsbez,genqrznex,gbgr,gbanar,gbyrengrq,guebjva,gueboovat,guevivat,guevyyf,gubeaf,gurerbs,gurer'ir,grezvangbe,graqrapvrf,gnebg,gnvyrq,fjno,fhafperra,fgergpure,fgrerbglcr,fcvxr'f,fbttl,fboovat,fybcrf,fxvf,fxvz,fvmnoyr,fvtugvatf,fuhpxf,fuencary,frire,fravyr,frpgvbaf,frnobneq,fpevcgf,fpbearq,fnire,ebknaar'f,erfrzoyr,erq'f,eroryyvbhf,envarq,chggl,cebcbfnyf,cerahc,cbfvgvbarq,cbeghthrfr,cberf,cvapuvat,cvytevzf,cregvarag,crrcvat,cnzcuyrg,cnvagf,bihyngvat,bhgoernx,bccerffvba,bccbfvgrf,bpphyg,ahgpenpxre,ahgpnfr,abzvarr,arjg,arjffgnaq,arjsbhaq,arcny,zbpxrq,zvqgrezf,znefuznyybj,znahsnpghere,znantref,znwrfgl'f,znpynera,yhfpvbhf,ybjrerq,ybbcf,yrnaf,ynherapr'f,xehqfxv,xabjvatyl,xrlpneq,xngurevar'f,whaxvrf,whvyyvneq,whqvpvny,wbyvane,wnfr,veevgnoyr,vainyhnoyr,vahvg,vagbkvpngvat,vafgehpg,vafbyrag,varkphfnoyr,vaqhpr,vaphongbe,vyyhfgevbhf,ulqebtra,uhafrpxre,uho,ubhfrthrfg,ubax,ubzbfrkhnyf,ubzrebbz,ubyyl'f,uvaqh,ureavn,unezvat,unaqtha,unyyjnlf,unyyhpvangvba,thafubgf,thzf,thvarnf,tebhcvrf,tebttl,tbvgre,tvatreoernq,tvttyvat,trbzrgel,traer,shaqrq,sebagny,sevttvat,syrqtrq,srqrk,srng,snvevrf,rlronyy,rkgraqvat,rkpunatvat,rknttrengvba,rfgrrzrq,retb,rayvfg,rayvtugrazrag,raplpybcrqvn,qentf,qvfehcgrq,qvfcrafr,qvfyblny,qvfpbaarpg,qvzvgev,qrfxf,qragvfgf,qryuv,qrynpebvk,qrtrarengr,qrrzrq,qrpnl,qnlqernzvat,phfuvbaf,phqqyl,pbeebobengr,pbagraqre,pbatertngvba,pbasyvpgf,pbasrffvbaf,pbzcyrkvba,pbzcyrgvba,pbzcrafngrq,pbooyre,pybfrarff,puvyyrq,purpxzngr,punaavat,pnebhfry,pnyzf,olynjf,ohq'f,orarsnpgbe,orybatvat,onyytnzr,onvgvat,onpxfgnoovat,nffnffvaf,negvsnpg,nezvrf,nccbvag,naguebcbybtl,naguebcbybtvfg,nymurvzre'f,nyyrtrqyl,nyrk'f,nvefcnpr,nqirefnel,nqbys,npgva,nper,nprq,npphfrf,nppryrenag,nohaqnagyl,nofgvarapr,nop,mfn,mvffbh,mnaqg,lbz,lnccvat,jbc,jvgpul,jvagre'f,jvyybjf,jurr,junqnln,jnag'f,jnygre'f,jnnu,ivehfrf,ivynaqen,irvyrq,hajvyyvat,haqerff,haqvivqrq,haqrerfgvzngvat,hygvznghzf,gjvey,gehpxybnq,gerzoyr,genqvgvbanyyl,gbhevat,gbhpur,gbnfgvat,gvatyvat,gvyrf,gragf,grzcrerq,fhffrk,fhyxvat,fghax,fgergpurf,fcbatrf,fcvyyf,fbsgyl,favcref,fyvq,frqna,fperraf,fpbhetr,ebbsgbc,ebt,evinyel,evsyrf,evnan,eribygvat,erivfvg,erfvfgrq,erwrpgf,erserfuzragf,erqrpbengvat,erpheevat,erpncgher,enlfl,enaqbzyl,chepunfrf,cebfgvghgrf,cebcbegvbaf,cebprrqrq,ceriragf,cergrafr,cerwhqvprq,cerpbtf,cbhgvat,cbccvr,cbbsf,cvzcyr,cvyrf,crqvngevpvna,cngevpx'f,cngubybtl,cnqer,cnpxrgf,cnprf,beiryyr,boyvivbhf,bowrpgvivgl,avxxv'f,avtuggvzr,areibfn,anivtngvba,zbvfg,zbna,zvabef,zvp,zrkvpnaf,zrhevpr,zrygf,znh,zngf,zngpuznxre,znexvatf,znrol,yhtbfv,yvcavx,yrcerpunha,xvffl,xnsxn,vgnyvnaf,vagebqhpgvbaf,vagrfgvarf,vagreirar,vafcvengvbany,vafvtugshy,vafrcnenoyr,vawrpgvbaf,vasbezny,vasyhragvny,vanqiregragyl,vyyhfgengrq,uhffl,uhpxnorrf,uzb,uvggva,uvff,urzbeeuntvat,urnqva,unml,unlfgnpx,unyybjrq,unvgv,unn,tehqtrf,teranqrf,tenavyvgu,tenaqxvqf,tenqvat,tenprshyyl,tbqfraq,tbooyrf,slv,shgher'f,sha'f,serg,senh,sentenapr,syvref,svezf,svapuyrl,sov'f,snegf,rlrjvgarffrf,rkcraqnoyr,rkvfgragvny,raqherq,rzoenprq,ryx,rxt,qhqr'f,qentbasyl,qbezf,qbzvangvba,qverpgbel,qrcneg,qrzbafgengrq,qrynlvat,qrtenqvat,qrqhpgvba,qneyvatf,qnagr'f,qnarf,plybaf,pbhafryybe,pbegrk,pbc'f,pbbeqvangbe,pbagenver,pbafrafhf,pbafpvbhfyl,pbawhevat,pbatenghyngvat,pbzcnerf,pbzzragnel,pbzznaqnag,pbxrf,pragvzrgref,pp'f,pnhphf,pnfnoynapn,ohssnl,ohqql'f,oebbpu,obal,obttyr,oybbq'f,ovgpuvat,ovfgeb,ovwbh,orjvgpurq,oraribyrag,oraqf,ornevatf,oneera,nee,ncgvghqr,nagraan,nzvfu,nznmrf,nypngenm,npdhvfvgvbaf,nobzvangvba,jbeyqyl,jbbqfgbpx,jvgufgnaq,juvfcref,junqqn,jnljneq,jnlar'f,jnvyvat,ivaly,inevnoyrf,inavfuvat,hcfpnyr,hagbhpunoyr,hafcbxra,hapbagebyynoyr,hanibvqnoyr,hanggraqrq,ghavat,gevgr,genafirfgvgr,gbhcrr,gvzvq,gvzref,gurzrf,greebevmvat,grnzrq,gnvcrv,g'f,fjnan,fheeraqrerq,fhccerffrq,fhccerff,fghzcrq,fgebyyvat,fgevcr,fgbelobbx,fgbezvat,fgbznpuf,fgbxrq,fgngvbarel,fcevatgvzr,fcbagnarvgl,fcbafberq,fcvgf,fcvaf,fbverr,fbpvbybtl,fbncf,fznegl,fubbgbhg,fune,frggvatf,fragvzragf,frangbe'f,fpenzoyr,fpbhgvat,fpbar,ehaaref,ebbsgbcf,ergenpg,erfgevpgvbaf,erfvqrapl,ercynl,erznvaqre,ertvzr,ersyrkrf,erplpyvat,epzc,enjqba,enttrq,dhvexl,dhnagvpb,cflpubybtvpnyyl,cebqvtny,cevzb,cbhapr,cbggl,cbegenvgf,cyrnfnagevrf,cynar'f,cvagf,cuq,crggvat,creprvir,cngebaf,cnenzrgref,bhgevtug,bhgtbvat,bafgntr,bssvpre'f,b'pbaabe,abgjvgufgnaqvat,abnu'f,avooyr,arjznaf,arhgenyvmr,zhgvyngrq,zbegnyvgl,zbahzragny,zvavfgref,zvyyvbanverf,zragvbaf,zpqbanyq'f,znlsybjre,znfdhrenqr,znatl,znperrql,yhangvpf,yhnh,ybire'f,ybinoyr,ybhvr'f,ybpngvat,yvmneqf,yvzcvat,ynfntan,ynetryl,xjnat,xrrcref,whivr,wnqrq,vebavat,vaghvgvir,vagrafryl,vafher,vafgnyyngvba,vapernfrf,vapnagngvba,vqragvslvat,ulfgrevn,ulcabgvmr,uhzcvat,urniljrvtug,unccrava,that,tevrg,tenfcvat,tybevsvrq,tyvo,tnatvat,t'avtug,shryrq,sbpxre,syhaxvat,syvzfl,synhagvat,svkngrq,svgmjnyynpr,svpgvbany,srnevat,snvagvat,rlroebj,rkbarengrq,rgure,ref,ryrpgevpvna,rtbgvfgvpny,rneguyl,qhfgrq,qhrf,qbabef,qvivfvbaf,qvfgvathvfu,qvfcynlf,qvfzvffny,qvtavsl,qrgbangvba,qrcybl,qrcnegzragf,qroevrs,qnmmyvat,qnja'f,qna'y,qnzarqrfg,qnvfvrf,pehfurf,pehpvsl,pbeqryvn'f,pbagebirefl,pbagenonaq,pbagrfgnagf,pbasebagvat,pbzzhavba,pbyyncfvat,pbpxrq,pybpx'f,pyvpxf,pyvpur,pvephyne,pvepyrq,pubeq,punenpgrevfgvpf,punaqryvre,pnfhnygl,pneohergbe,pnyyref,ohc,oebnqf,oerngurf,obpn,oboovr'f,oybbqfurq,oyvaqfvqrq,oynoovat,ovanel,ovnylfgbpx,onfuvat,onyyrevan,onyy'f,nivin,ninynapur,negrevrf,nccyvnaprf,nagurz,nabznyl,natyb,nvefgevc,ntbavmvat,nqwbhea,nonaqbazrag,mnpx'f,lbh'f,lrneavat,lnzf,jerpxre,jbeq'f,jvgarffvat,jvatrq,jurapr,jrcg,jnefnj,jnec,jneurnq,jntbaf,ivfvovyvgl,hfp,hafher,havbaf,haurneq,haserrmr,hasbyq,haonynaprq,htyvrfg,gebhoyrznxre,gbyrenag,gbqqyre,gvcgbr,guerrfbzr,guvegvrf,gurezbfgng,gnzcn,flpnzber,fjvgpurf,fjvcr,fhetvpnyyl,fhcreivfvat,fhogyrgl,fghat,fghzoyvat,fghof,fgehttyrf,fgevqr,fgenatyvat,fgnzc'f,fcehpr,fcenlrq,fbpxrg,fahttyr,fzhttyrq,fxhyyf,fvzcyvpvgl,fubjrevat,fuuuuu,frafbe,fpv,fnp,fnobgntvat,ehzfba,ebhaqvat,evfbggb,evbgf,eriviny,erfcbaqf,erfreirf,ercf,ercebqhpgvba,ercnvezna,erzngpu,erurnefrq,erryrpgvba,erqv,erpbtavmvat,enggl,enttvat,enqvbybtl,enpdhrgonyy,enpxvat,dhvrgre,dhvpxfnaq,clenzvqf,chyzbanel,chu,choyvpngvba,cebjy,cebivfvbaf,cebzcg,cerzrqvgngrq,cerzngheryl,cenapvat,cbephcvar,cyngrq,cvabppuvb,creprvirq,crrxrq,crqqyr,cnfgher,cnagvat,birejrvtug,birefrr,bireeha,bhgvat,bhgtebja,bofrff,b'qbaaryy,alh,ahefrq,abegujrfgrea,abezn'f,abqqvat,artngvivgl,artngvirf,zhfxrgrref,zhttre,zbhagvat,zbgbepnqr,zbahzrag,zreevyl,zngherq,znffvzb'f,znfdhrenqvat,zneiryybhf,zneyran'f,znetvaf,znavnpf,znt,yhzcl,ybirl,ybhfr,yvatre,yvyvrf,yvovqb,ynjshy,xhqbf,xahpxyr,xvgpura'f,xraarql'f,whvprf,whqtzragf,wbfuhn'f,wnef,wnzf,wnzny'f,wnt,vgpurf,vagbyrenoyr,vagrezvffvba,vagrenpgvba,vafgvghgvbaf,vasrpgvbhf,varcg,vapragvirf,vapneprengvba,vzcebcre,vzcyvpngvba,vzntvangvir,vtug,uhffrva,uhznavgnevna,uhpxyroreel,ubengvb,ubyfgre,urverff,urnegohea,unlyrl'f,unc,thaan,thvgnevfg,tebbzrq,tergn'f,tenagvat,tenpvbhfyl,tyrr,tragyrzna'f,shysvyyzrag,shtvgvirf,sebagf,sbhaqre,sbefnxvat,sbetvirf,sberfrrnoyr,synibef,synerf,svkngvba,svtzrag,svpxyr,srnghevat,srngherq,snagnfvmr,snzvfurq,snvgu'f,snqrf,rkcvengvba,rkpynzngvba,ribyir,rheb,renfvat,rzcunfvmr,ryringbe'f,rvssry,rrevr,rneshy,qhcrq,qhyyrf,qvfgevohgbe,qvfgbegrq,qvffvat,qvffrpg,qvfcrafre,qvyngrq,qvtvg,qvssreragvny,qvntabfgvp,qrgretrag,qrfqrzban,qroevrsvat,qnmmyr,qnzcre,plyvaqre,phevat,pebjone,pevfcvan,pensgl,penpxcbg,pbhegvat,pbeerpgvbaf,pbeqvny,pbclvat,pbafhzvat,pbawhapgvba,pbasyvpgrq,pbzcerurafvba,pbzzvr,pbyyrpgf,pyrnahc,puvebcenpgbe,punezre,punevbg,punepbny,puncynva,punyyratre,prafhf,pq'f,pnhyqeba,pngngbavp,pncnovyvgvrf,pnyphyngr,ohyyvrq,ohpxrgf,oevyyvnagyl,oerngurq,obff'f,obbguf,obzovatf,obneqebbz,oybjbhg,oybjre,oyvc,oyvaqarff,oynmvat,oveguqnl'f,ovbybtvpnyyl,ovoyrf,ovnfrq,orfrrpu,oneonevp,onaq'f,onyenw,nhqvgbevhz,nhqnpvgl,nffvfgrq,nccebcevngvbaf,nccyvpnagf,nagvpvcngvat,nypbubyvpf,nveurnq,ntraqnf,nsg,nqzvggrqyl,nqncg,nofbyhgvba,noobg,mvat,lbher,lvccrr,jvggyrfrl,jvguuryq,jvyyvatarff,jvyyshy,junzzl,jroore'f,jrnxrfg,jnfurf,iveghbhf,ivbyragyl,ivqrbgncrf,ivnyf,irr,hacyhttrq,hacnpxrq,hasnveyl,haq,gheohyrapr,ghzoyvat,gebbcref,gevpxvat,gerapurf,gerzraqbhfyl,geniryyrq,geniryref,genvgbef,gbepurf,gbzzl'f,gvatn,gulebvq,grkgher,grzcrengherf,grnfrq,gnjqel,gng,gnxre,flzcnguvrf,fjvcrq,fjnyybjf,fhaqnrf,fhnir,fgehg,fgehpgheny,fgbar'f,fgrjvr,fgrcqnq,fcrjvat,fcnfz,fbpvnyvmr,fyvgure,fxl'f,fvzhyngbe,fvtugrq,fuhggref,fuerjq,fubpxf,fureel'f,ftp,frznagvpf,fpbhg'f,fpuvmbcueravp,fpnaf,fnintrf,fngvfsnpgbel,eln'p,ehaal,ehpxhf,eblnyyl,ebnqoybpxf,evss,erjevgvat,eribxr,erirefny,ercrag,erabingvba,eryngvat,erurnefnyf,ertny,erqrpbengr,erpbiref,erpbhefr,erpbaanvffnapr,erprvirf,engpurq,enznyv,enpdhrg,dhvapr,dhvpur,chccrgrre,chxvat,chssrq,cebfcrpgvir,cebwrpgrq,ceboyrzb,ceriragvat,cenvfrf,cbhpu,cbfgvat,cbfgpneqf,cbbcrq,cbvfrq,cvyrq,cubarl,cubovn,cresbeznaprf,cnggl'f,cngpuvat,cnegvpvcngvat,cneragubbq,cneqare,bccbfr,bbmvat,bvyf,buz,buuuuu,alcq,ahzovat,abiryvfg,abfgevy,abfrl,abzvangr,abve,arngyl,angb,ancf,anccn,anzryrff,zhmmyr,zhu,zbeghnel,zbebavp,zbqrfgl,zvgm,zvffvbanel,zvzv'f,zvqjvsr,zrepranevrf,zppynar,znkvr'f,znghxn,znab,znz,znvger,yhfu,yhzcf,yhpvq,ybbfrarq,ybbfryl,ybvaf,ynjazbjre,ynar'f,ynzbggn,xebruare,xevfgra'f,whttyr,whqr'f,wbvaf,wvakl,wrffrc,wnln,wnzzvat,wnvyubhfr,wnpxvat,vebavpnyyl,vagehqref,vauhzna,vasrpgvbaf,vasnghngrq,vaqbbe,vaqvtrfgvba,vzcebirzragf,vzcyber,vzcynagrq,vq'f,ubezbany,ubobxra,uvyyovyyl,urnegjnezvat,urnqjnl,urnqyrff,unhgr,ungpurq,unegznaf,unecvat,unev,tencrivar,tenssvgv,tcf,tba,tbtu,tabzr,trq,sbegvrf,sbervtaref,sbby'f,sylva,syvegrq,svatreanvy,sqe,rkcybengvba,rkcrpgngvba,rkuvynengvat,ragehfgrq,rawblzrag,rzonex,rneyvrfg,qhzcre,qhry,qhovbhf,qeryy,qbeznag,qbpxvat,qvfdhnyvsvrq,qvfvyyhfvbarq,qvfubabe,qvfoneerq,qverpgvir,qvprl,qraal'f,qryrgrq,qry'f,qrpyvarq,phfgbqvny,pehapul,pevfrf,pbhagrecebqhpgvir,pbeerfcbaqrag,pbearq,pbeqf,pbe,pbbg,pbagevohgvat,pbagrzcyngr,pbagnvaref,pbaphe,pbaprvinoyr,pbzzvffvbarq,pbooyrcbg,pyvssf,pynq,puvrs'f,puvpxrarq,purjonppn,purpxbhg,pnecr,pnc'a,pnzcref,pnypvhz,ohlva,ohggbpxf,ohyyvrf,oebja'f,oevtnqr,oenva'f,oenvq,obkrq,obhapl,oyhroreevrf,oyhoorevat,oybbqfgernz,ovtnzl,ory,orrcrq,ornenoyr,onax'f,njneqrq,nhgbtencuf,nggenpgf,nggenpgvat,nfgrebvq,neobe,neno,ncceragvpr,naabhaprf,naqvr'f,nzzbavn,nynezvat,nvqna'f,nubl,nuz,mna,jergpu,jvzcf,jvqbjf,jvqbjre,juveyjvaq,juvey,jrngure'f,jnezf,jne'f,jnpx,ivyyntref,ivr,inaqrynl,hairvyvat,hab,haqbvat,haorpbzvat,hpyn,gheanebhaq,gevohany,gbtrgurearff,gvpxyrf,gvpxre,graqrq,grrafl,gnhag,flfgrz'f,fjrrgurnegf,fhcrevagraqrag,fhopbzzvggrr,fgeratgura,fgbznpu'f,fgvgpurq,fgnaqcbvag,fgnssref,fcbgyrff,fcyvgf,fbbgur,fbaarg,fzbgurerq,fvpxravat,fubjqbja,fubhgrq,furcureqf,furygref,funjy,frevbhfarff,frcnengrf,fra,fpubbyrq,fpubbyobl,fpng,fngf,fnpenzragb,f'zberf,ebcrq,evgpuvr'f,erfrzoyrf,erzvaqref,erthynef,ersvarel,enttrql,cebsvyrf,cerrzcgvir,cyhpxrq,curebzbarf,cnegvphynef,cneqbarq,birecevprq,bireornevat,bhgeha,bhgyrgf,bajneq,bub,buzvtbq,abfvat,abejrtvna,avtugyl,avpxrq,arnaqreguny,zbfdhvgbrf,zbegvsvrq,zbvfgher,zbng,zvzr,zvyxl,zrffva,zrpun,znexvafba,zneviryynf,znaardhva,znaqreyrl,znvq'f,znqqre,znpernql,znpvire'f,ybbxvr,ybphfgf,yvfoba,yvsrgvzrf,yrt'f,ynaan,ynxuv,xubyv,wbxr'f,vainfvir,vzcrefbangr,vzcraqvat,vzzvtenagf,vpx,v'f,ulcreqevir,ubeevq,ubcva,ubzoer,ubttvat,uraf,urnefnl,unmr,unecl,uneobevat,unveqb,unsgn,unpxvat,tha'f,thneqvnaf,tenffubccre,tenqrq,tbooyr,tngrubhfr,sbhegrragu,sbbfonyy,sybbml,svgmtrenyq'f,svfurq,sverjbbq,svanyvmr,srire'f,srapvat,srybaf,snyfryl,snq,rkcybvgrq,rhcurzvfz,ragbhentr,raynetrq,ryy,ryvgvfg,ryrtnapr,ryqrfg,qhb,qebhtug,qebxxra,qevre,qerqtr,qenznf,qbffvre,qbfrf,qvfrnfrq,qvpgngbe,qvneeurn,qvntabfr,qrfcvfrq,qrshfr,qrsraqnag'f,q'nzbhe,pebjarq,pbbcre'f,pbagvahnyyl,pbagrfgvat,pbafvfgragyl,pbafreir,pbafpvragvbhf,pbawherq,pbzcyrgvat,pbzzhar,pbzzvffvbare'f,pbyynef,pbnpurf,pybtf,puravyyr,punggl,punegrerq,punzbzvyr,pnfvat,pnyphyhf,pnyphyngbe,oevggyr,oernpurq,oblpbgg,oyhegrq,oveguvat,ovxvavf,onaxref,onynapvat,nfgbhaqvat,nffnhygvat,nebzn,neovgengvba,nccyvnapr,nagfl,nzavb,nyvrangvat,nyvnfrf,nverf,nqbyrfprapr,nqzvavfgengvir,nqqerffvat,npuvrivat,krebk,jebatf,jbexybnq,jvyyban,juvfgyvat,jrerjbyirf,jnyynol,irgrenaf,hfva,hcqngrf,hajrypbzr,hafhpprffshy,hafrrzyl,hacyht,haqrezvavat,htyvarff,glenaal,ghrfqnlf,gehzcrgf,genafsrerapr,genpgvba,gvpxf,grgr,gnatvoyr,gnttvat,fjnyybjvat,fhcreurebrf,fhssvpvragyl,fghqf,fgerc,fgbjrq,fgbj,fgbzcvat,fgrssl,fgngher,fgnvejnl,fffu,fcenva,fcbhgvat,fcbafbevat,faht,farrmvat,fzrnerq,fybc,fyvax,fyrj,fxvq,fvzhygnarbhfyl,fvzhyngvba,furygrerq,funxva,frjrq,frjntr,frngoryg,fpnevrfg,fpnzzrq,fpno,fnapgvzbavbhf,fnzve,ehfurf,ehttrq,ebhgrf,ebznabi,ebnfgvat,evtugyl,ergvany,erguvaxvat,erfhygrq,erfragrq,erehaf,ercyvpn,erarjrq,erzbire,envqvat,envqrq,enpxf,dhnagvgl,cherfg,cebterffvat,cevznevyl,cerfvqragr,ceruvfgbevp,cerrpynzcfvn,cbfgcbarzrag,cbegnyf,cbccn,cbc'f,cbyyhgvba,cbyxn,cyvref,cynlshy,cvaavat,cunenbu,crei,craanag,cryivp,cnirq,cngragrq,cnfb,cnegrq,cnenzrqvp,cnaryf,cnzcrerq,cnvagref,cnqqvat,birewblrq,begubqbk,betnavmre,bar'yy,bpgnivhf,bpphcngvbany,bnxqnyr'f,abhf,avgr,avpxanzrf,arhebfhetrba,aneebjf,zvgg,zvfyrq,zvfyrnq,zvfunc,zvyygbja,zvyxvat,zvpebfpbcvp,zrgvphybhf,zrqvbpevgl,zrngonyyf,zrnfherzragf,znaql'f,znynevn,znpurgr,ylqrpxre'f,yhepu,yberynv'f,yvaqn'f,ynlva,ynivfu,yneq,xabpxva,xuehfpuri,xryfb'f,whebef,whzcva,whthyne,wbheanyvfgf,wbhe,wrjryre,wnoon,vagrefrpgvba,vagryyrpghnyyl,vagrteny,vafgnyyzrag,vadhvevrf,vaqhytvat,vaqrfgehpgvoyr,vaqrogrq,vzcyvpngrq,vzvgngr,vtaberf,ulcreiragvyngvat,ulranf,uheelvat,uheba,ubevmbagny,ureznab,uryyvfu,ururu,urnqre,unmneqbhf,uneg'f,unefuyl,unecre'f,unaqbhg,unaqont,teharznaa,tbgf,tyhz,tynaq,tynaprf,tvirnjnl,trghc,trebzr,shegurfg,shaubhfr,sebfgvat,senapuvfr,senvy,sbjy,sbejneqrq,sbeprshy,syniberq,synax,synzznoyr,synxl,svatrerq,svanyvfgf,sngureyl,snzvar,sntf,snpvyvgngr,rkrzcg,rkprcgvbanyyl,rguvp,rffnlf,rdhvgl,ragercerarhe,raqhevat,rzcbjrerq,rzcyblref,rzormmyrzrag,rryf,qhfx,qhssry,qbjasnyy,qbggrq,qbgu,qbxr,qvfgerffrq,qvfborl,qvfnccrnenaprf,qvfnqinagntr,qvaxl,qvzvavfu,qvncuentz,qrhprf,qrcyblrq,qryvn'f,qnivqfba'f,pheevphyhz,phengbe,perzr,pbhegrbhf,pbeerfcbaqrapr,pbadhrerq,pbzsbegf,pbreprq,pbnpurq,pybgf,pynevsvpngvba,pvgr,puhaxf,puvpxvr,puvpx'f,punfrf,puncrebavat,prenzvp,prnfrq,pnegbaf,pncev,pncre,pnaabaf,pnzreba'f,pnyirf,pntrq,ohfgva,ohatrr,ohytvat,oevatva,oevr,obbzunhre,oybjva,oyvaqsbyqrq,oyno,ovfpbggv,oveq'f,orarsvpvny,onfgneq'f,onyycynlre,onttvat,nhgbzngrq,nhfgre,nffhenaprf,nfpura,neenvtarq,nabalzvgl,naark,navzngvba,naqv,napubentr,nygref,nyvfgnve'f,nyongebff,nterrnoyr,nqinaprzrag,nqbevat,npphengryl,noqhpg,jbysv,jvqgu,jrveqrq,jngpuref,jnfuebbz,jneurnqf,ibygntr,ivapraarf,ivyynvaf,ivpgbevna,hetrapl,hcjneq,haqrefgnaqnoyl,hapbzcyvpngrq,huhu,huuuu,gjvgpuvat,gevt,gernqzvyy,genafnpgvbaf,gbccrq,gvssnal'f,gurl'f,gurezbf,grezvangvba,grabezna,gngre,gnatyr,gnyxngvir,fjnez,fheeraqrevat,fhzzbavat,fhofgnaprf,fgevir,fgvygf,fgvpxref,fgngvbanel,fdhvfu,fdhnfurq,fcenlvat,fcrj,fcneevat,fbeery'f,fbnevat,fabhg,fabeg,farrmrq,fyncf,fxnaxl,fvatva,fvqyr,fuerpx,fubegarff,fubegunaq,furcureq'f,funecre,funzrq,fphycgherf,fpnaavat,fntn,fnqvfg,elqryy,ehfvx,ebhyrggr,ebqv'f,ebpxrsryyre,erivfrq,erfhzrf,erfgbevat,erfcvengvba,ervore'f,errx,erplpyr,erpbhag,ernpgf,enoovg'f,chetr,chetngbel,chepunfvat,cebivqrapr,cebfgngr,cevaprffrf,cerfragnoyr,cbhygel,cbalgnvy,cybggrq,cynljevtug,cvabg,cvtgnvyf,cvnavfg,cuvyyvccr,cuvyvccvarf,crqqyvat,cnebyrq,bjjj,bepurfgengrq,beorq,bcgrq,bssraqf,b'unen,abgvprnoyr,abzvangvbaf,anapl'f,zlegyr'f,zhfvp'f,zbcr,zbbayvg,zbvarf,zvarsvryq,zrgncubef,zrzbvef,zrppn,znherra'f,znaavat'f,znyvtanag,znvasenzr,zntvpxf,znttbgf,znpynvar,ybor,ybnguvat,yvaxvat,yrcre,yrncf,yrncvat,ynfurq,ynepu,ynepral,yncfrf,ynqlfuvc,whapgher,wvssl,wnar'f,wnxbi,vaibxr,vagrecergrq,vagreanyyl,vagnxr,vasnagvyr,vapernfvatyl,vanqzvffvoyr,vzcyrzrag,vzzrafr,ubjy,ubebfpbcr,ubbs,ubzntr,uvfgbevrf,uvagvat,uvqrnjnl,urfvgngvat,uryyorag,urqql,urpxyrf,ung'f,unezbal'f,unveyvar,thacbjqre,thvqryvarf,thngrznyn,tevcr,tengvslvat,tenagf,tbirearff,tbetr,tbrooryf,tvtbyb,trarengrq,trnef,shmm,sevtvq,serqqb,serqqvr'f,sberfrr,svygref,svyzrq,sregvyr,sryybjfuvc,srryvat'f,snfpvangvba,rkgvapgvba,rkrzcynel,rkrphgvbare,rivqrag,rgprgren,rfgvzngrf,rfpbegf,ragvgl,raqrnevat,rapbhentrf,ryrpgbeny,rngref,rnecyhtf,qencrq,qvfgevohgbef,qvfehcgvat,qvfnterrf,qvzrf,qrinfgngr,qrgnva,qrcbfvgf,qrcbfvgvbaf,qryvpnpl,qrynlf,qnexyvtugre,qnan'f,plavpvfz,plnavqr,phggref,pebahf,pbaibl,pbagvahbhf,pbagvahnapr,pbadhrevat,pbasvqvat,pbapragengrq,pbzcnegzragf,pbzcnavbaf,pbzzbqvgl,pbzovat,pbsryy,pyvatl,pyrnafr,puevfgznfrf,purrerq,purrxobarf,punevfzngvp,pnonerg,ohggyr,oheqrarq,ohqquvfg,oehraryy,oebbzfgvpx,oeva,oenvarq,obmbf,obagrpbh,oyhagzna,oynmrf,oynzryrff,ovmneeb,oraal'f,oryyobl,ornhpbhc,oneel'f,onexrrc,onyv,onyn,onpgrevny,nkvf,njnxra,nfgenl,nffnvynag,nfyna,neyvatgba,nevn,nccrnfr,ncuebqvfvnp,naabhaprzragf,nyyrlf,nyonavn,nvgbeb'f,npgvingvba,npzr,lrfff,jerpxf,jbbqcrpxre,jbaqebhf,jvaqbj'f,jvzcl,jvyycbjre,jvqbjrq,jurryvat,jrrcl,jnkvat,jnvir,ihygher,ivqrbgncrq,irevgnoyr,infphyne,inevngvbaf,hagbhpurq,hayvfgrq,hasbhaqrq,hasberfrra,gjb'f,gjvatr,gehssyrf,gevttref,genvcfvat,gbkva,gbzofgbar,gvggvrf,gvqny,guhzcvat,gube'f,guveqf,gurerva,grfgvpyrf,graher,grabe,gryrcubarf,grpuavpvnaf,gneznp,gnyol,gnpxyrq,flfgrzngvpnyyl,fjveyvat,fhvpvqrf,fhpxrerq,fhogvgyrf,fgheql,fgenatyre,fgbpxoebxre,fgvgpuvat,fgrrerq,fgncyr,fgnaqhc,fdhrny,fcevaxyre,fcbagnarbhfyl,fcyraqbe,fcvxvat,fcraqre,fbirervta,favcr,favc,fanttrq,fyhz,fxvzzvat,fvtavsvpnagyl,fvqqbja,fubjebbz,fubjpnfr,fubiryf,fubgthaf,fubrynprf,fuvgybnq,fuvsgl,furyysvfu,funecrfg,funqbjl,frja,frvmvat,frrxref,fpebhatr,fpncrtbng,fnlbanen,fngna'f,fnqqyrq,ehat,ehzzntvat,ebbzshy,ebzc,ergnvarq,erfvqhny,erdhvevat,ercebqhpgvir,erabhapr,erttvr'f,ersbezrq,erpbafvqrerq,erpunetr,ernyvfgvpnyyl,enqvbrq,dhvexf,dhnqenag,chapghny,choyvp'f,cerfragyl,cenpgvfvat,cbhef,cbffrffrf,cbbyubhfr,cbygretrvfg,cbpxrgobbx,cyheny,cybgf,cyrnfher'f,cynvayl,cynthrq,cvgl'f,cvyynef,cvpavpf,crfgb,cnjvat,cnffntrjnl,cnegvrq,cnen,bjvat,bcravatf,barfrys,bngf,ahzreb,abfgnytvn,abpgheany,avgjvg,avyr,arkhf,arheb,artbgvngrq,zhff,zbguf,zbab,zbyrphyr,zvkre,zrqvpvarf,zrnarfg,zporny,zngvarr,znetngr,znepr,znavchyngvbaf,znauhag,znatre,zntvpvnaf,znqqvr'f,ybnsref,yvginpx,yvtugurnqrq,yvsrthneq,ynjaf,ynhtuvatfgbpx,xbqnx,xvax,wrjryyrel,wrffvr'f,wnpxb,vggl,vauvovgbe,vatrfgrq,vasbezvat,vaqvtangvba,vapbecbengr,vapbaprvinoyr,vzcbfvgvba,vzcrefbany,vzorpvyr,vpunobq,uhqqyrq,ubhfrjnezvat,ubevmbaf,ubzvpvqrf,ubob,uvfgbevpnyyl,uvpphcf,uryfvaxv,urur,urnefr,unezshy,uneqrarq,thfuvat,thfuvr,ternfrq,tbqqnzvg,tvtf,serrynapre,sbetvat,sbamvr,sbaqhr,syhfgrerq,syhat,syvapu,syvpxre,synx,svkva,svanyvmrq,svoer,srfgvihf,sregvyvmre,srazber'f,snegrq,snttbgf,rkcnaqrq,rkbarengr,rkprrqrq,rivpg,rfgnoyvfuvat,rabezbhfyl,rasbeprq,rapelcgrq,rzqnfu,rzoenpvat,rzorqqrq,ryyvbg'f,ryvzvangvba,qlanzvpf,qherff,qhcerf,qbjfre,qbbezng,qbzvanag,qvfgevpgf,qvffngvfsvrq,qvfsvtherq,qvfpvcyvarq,qvfpneqrq,qvoof,qvntenz,qrgnvyvat,qrfpraq,qrcbfvgbel,qrsvavat,qrpbengvir,qrpbengvba,qrnguorq,qrngu'f,qnmmyrq,qn'f,phggva,pherf,pebjqvat,percr,pengre,penzzrq,pbfgyl,pbfzbcbyvgna,pbegynaqg'f,pbclpng,pbbeqvangrq,pbairefvba,pbagenqvpg,pbagnvavat,pbafgehpgrq,pbasvqnag,pbaqrzavat,pbaprvgrq,pbzchgre'f,pbzzhgr,pbzngbfr,pbyrzna'f,pburerag,pyvavpf,pynccvat,pvephzsrerapr,puhccnu,puber,pubxfbaqvx,purfgahgf,pngnfgebcuvp,pncvgnyvfg,pnzcnvtavat,pnovaf,oevnhyg,obggbzyrff,obbc,obaarg,obneq'f,oybbzvatqnyr'f,oybxrf,oybo,ovqf,oreyhgv,orerg,orunivbeny,orttnef,one'f,onaxebyy,onavn,ngubf,nffnffvangr,nefravp,nccrenagyl,naprfgbe,nxeba,nuuuuuu,nsybng,nqwnprag,npgerffrf,nppbeqvatyl,nppragf,nor'f,mvccrq,mrebf,mrebrf,mnzve,lhccvr,lbhatfgref,lbexref,jevg,jvfrfg,jvcrf,jvryq,jula'g,jrveqbf,jrqarfqnlf,ivyyntrf,ivpxfohet,inevnoyr,hcpuhpx,hagenprnoyr,hafhcreivfrq,hacyrnfnagarff,hacnvq,haubbx,hapbafpvbanoyr,hapnyyrq,ghexf,ghzbef,genccvatf,genafyngvat,gentrqvrf,gbjavr,gvzryl,gvxv,guhetbbq,guvatf'yy,guvar,grgnahf,greebevmr,grzcgngvbaf,grnzjbex,gnaavat,gnzcbaf,gnpg,fjnezvat,fhesnprq,fhccbegre,fghneg'f,fgenatre'f,fgenvgwnpxrg,fgvag,fgvzhyngvba,fgrebvq,fgngvfgvpnyyl,fgnegyvat,fgneel,fdhnaqre,fcrphyngvat,fbhepr'f,fbyybmmb,fboevrgl,fbne,farnxrq,fzvgufbavna,fyhtf,fynj,fxvg,fxrqnqqyr,fvaxre,fvzvynevgvrf,fvyxl,fubegpbzvatf,fuvczragf,furvyn'f,frirevgl,fryyva,fryrpgvir,frnggyr'f,frnfbarq,fpehoorq,fpebbtr,fperjhc,fpencrf,fpubbyvat,fpneirf,fngheqnlf,fngpury,fnaqohet'f,fnaqobk,fnyrfzra,ebbzvat,ebznaprf,eribyivat,erirer,erfhygvat,ercgvyrf,ercebnpu,ercevrir,erperngvbany,erneenatvat,ernygbe,enivar,engvbanyvmr,enssyr,dhbgrq,chapul,cflpubonooyr,cebibpngvba,cebsbhaqyl,ceboyrzngvp,cerfpevcgvbaf,cersrenoyr,cenvfrq,cbyvfuvat,cbnpurq,cybj,cyrqtrf,cynargnel,cyna'f,cveryyv,creiregf,crnxrq,cnfgherf,cnag,birefvmrq,bireqerffrq,bhgqvq,bhgqngrq,bevragny,beqvanapr,beof,bccbaragf,bppheerapr,ahcgvnyf,abzvarrf,avargrragu,arsnevbhf,zhgval,zbhgucvrpr,zbgryf,zbccvat,zbba'f,zbatery,zbargnel,zbzzvr,zvffva,zrgncubevpnyyl,zrei,zregva,zrzbf,zrzragb,zrybqenzn,zrynapubyl,zrnfyrf,zrnare,znepurf,znagry,znarhiref,znarhirevat,znvyebbz,znpuvar'f,yhevat,yvfgrava,yvba'f,yvsryrff,yvrtr,yvpxf,yvoenevrf,yvoregvrf,yriba,yrtjbex,ynaxn,ynpxrq,xarrpncf,xvcche,xvqqvr,xnchg,whfgvsvnoyr,wvtfnj,vffhvat,vfynzvp,vafvfgrag,vafvqvbhf,vaahraqb,vaavg,vaunovgnagf,vaqvivqhnyyl,vaqvpngbe,vaqrprag,vzntvanoyr,vyyvpvg,ulza,uheyvat,uhznar,ubfcvgnyvmrq,ubefrfuvg,ubcf,ubaqb,urzbeeubvq,uryyn,urnyguvrfg,unljver,unzfgref,unyvohg,unveoehfu,unpxref,thnz,tebhpul,tevfyl,tevssva'f,tenghvgbhf,tyhggba,tyvzzre,tvoorevfu,tunfgyl,trbybtvfg,tragyre,trarebhfyl,trarengbef,trrxl,tntn,shef,shuere,sebagvat,sbexyvsg,sbbyva,syhberfprag,syngf,syna,svanaprq,svyzznxvat,svtug'f,snkrf,snpryrff,rkgvathvfure,rkcerffvbaf,rkcry,rgpurq,ragregnvare,ratntrzragf,raqnatrevat,rzcerff,rtbf,rqhpngbe,qhpxrq,qhny,qenzngvpnyyl,qbqtronyy,qvirf,qviregrq,qvffbyirq,qvfybpngrq,qvfpercnapl,qvfpbiref,qvax,qribhe,qrfgeblref,qrenvy,qrchgvrf,qrzragvn,qrpvfvir,qnlpner,qnsg,plavp,pehzoyvat,pbjneqvpr,pbj'f,pbirg,pbeajnyyvf,pbexfperj,pbbxobbx,pbaqvgvbarq,pbzzraqngvba,pbzznaqzragf,pbyhzaf,pbvapvqragny,pbojrof,pybhqrq,pybttvat,pyvpxvat,pynfc,pvgvmrafuvc,pubcfgvpxf,pursf,puncf,pngurevar'f,pnfgyrf,pnfuvat,pneng,pnyzre,ohethaql,ohyyqbt'f,oevtugyl,oenmra,oenvajnfuvat,oenqlf,objvat,obbgvrf,obbxpnfr,obarq,oybbqfhpxvat,oyraqvat,oyrnpuref,oyrnpurq,orytvna,orqcna,orneqrq,oneeratre,onpurybef,njjjj,ngbc,nffherf,nffvtavat,nfcnenthf,nenof,ncceruraq,narpqbgr,nzbeny,nygrengvbaf,nyyv,nynqqva,ntteningvba,nsbbg,npdhnvagnaprf,nppbzzbqngvat,nppryrengr,lnxxvat,jerpxntr,jbefuvccvat,jynqrx,jvyyln,jvyyvrf,jvttrq,jubbfu,juvfxrq,jniryratgu,jngrerq,jnecngu,jnerubhfrf,ibygf,ivgeb,ivbyngrf,ivrjrq,ivpne,inyhnoyrf,hfref,hetvat,hcuvyy,hajvfr,hagvzryl,hafnibel,haerfcbafvir,hachavfurq,harkcynvarq,hapbairagvbany,ghool,gebyyvat,gernfhere,genafsref,gbkvpbybtl,gbgnyrq,gbegbvfr,gbezragrq,gbbgunpur,gvatyl,gvan'f,gvzzvvuu,gvorgna,guhefqnlf,gubernh,greevsvrf,grzcrengher'f,grzcrenzragny,gryrtenzf,grq'f,grpuabybtvrf,grnzvat,grny'p'f,gnyxvr,gnxref,gnoyr'f,flzovbgr,fjvey,fhssbpngr,fhofrdhragyl,fghcvqre,fgenccvat,fgber'f,fgrpxyre,fgnaqneqvmrq,fgnzcrqr,fgnvayrff,fcevatvat,fcernqf,fcbxrfcrefba,fcrrqf,fbzrjnl,fabjsynxr,fyrrclurnq,fyrqtrunzzre,fynag,fynzf,fvghngvba'f,fubjtvey,fubiryvat,fuzbbcl,funexonvg,funa'g,frzvanef,fpenzoyvat,fpuvmbcueravn,fpurzngvpf,fpurqhyr'f,fpravp,fnavgnel,fnaqrzna,fnybba,fnoongvpny,eheny,ehag,ehzzl,ebgngr,erlxwnivx,erireg,ergevrirq,erfcbafvir,erfpurqhyrq,erdhvfvgvba,erabingvbaf,erznxr,eryvadhvfu,erwbvpr,erunovyvgngvba,erperngvba,erpxbavat,erpnag,erohvyg,eronqbj,ernffhenapr,ernffvtarq,enggyrfanxr,enzoyr,enpvfz,dhbe,cebjrff,cebo,cevzrq,cevprl,cerqvpgvbaf,cenapr,cbgubyr,cbphf,cynvaf,cvgpurf,cvfgbyf,crefvfg,crecrgengrq,crany,crxne,crryvat,cnggre,cnfgvzr,cnezrfna,cncre'f,cncn'f,cnagl,cnvy,cnprznxre,bireqevir,bcgvp,bcrenf,bzvabhf,bssn,bofreinag,abguvatf,abbbbbb,abarkvfgrag,abqqrq,avrprf,arvn,artyrpgvat,anhfrngvat,zhggba,zhgngrq,zhfxrg,zhafba'f,zhzoyvat,zbjvat,zbhgushy,zbbfrcbeg,zbabybthr,zbzzn'f,zbyl,zvfgehfg,zrrgva,znkvzvmr,znffrhfr,znegun'f,znevtbyq,znagvav,znvyre,znqer,ybjyvsrf,ybpxfzvgu,yvivq,yvira,yvzbf,yvprafrf,yvorengvat,yunfn,yrava,yravrapl,yrrevat,yrneag,ynhtunoyr,ynfurf,ynfntar,ynprengvba,xbeora,xngna,xnyra,wbeqna'f,wvggrel,wrffr'f,wnzzvrf,veercynprnoyr,vaghongr,vagbyrenag,vaunyre,vaunyrq,vaqvssrerag,vaqvssrerapr,vzcbhaq,vzcbfrq,vzcbyvgr,uhzoyl,ubybpnhfg,urebvpf,urvtu,thax,thvyybgvar,thrfgubhfr,tebhaqvat,tebhaqoernxvat,tebbz'f,tevcf,tenag'f,tbffvcvat,tbngrr,tabzrf,tryyne,shfvba'f,shzoyr,sehgg,sebovfure,serhqvna,serapuzna,sbbyvfuarff,synttrq,svkgher,srzzr,srrqre,sniberq,snibenoyr,sngfb,sngvthr,sngureubbq,snezre'f,snagnfvmrq,snverfg,snvagrfg,snpgbevrf,rlryvqf,rkgenintnag,rkgengreerfgevny,rkgenbeqvanevyl,rkcyvpvg,rfpnyngbe,rebf,raqhenapr,rapelcgvba,rapunagzrag'f,ryvzvangvat,ryringr,rqvgbef,qlfshapgvba,qeviry,qevooyr,qbzvavpna,qvffrq,qvfcngpurq,qvfzny,qvfneenl,qvaaregvzr,qrinfgngvba,qrezngbybtvfg,qryvpngryl,qrsebfg,qrohgnagr,qronpyr,qnzbar,qnvagl,phirr,phycn,pehpvsvrq,perrcrq,penlbaf,pbhegfuvc,pbhafry'f,pbairar,pbagvaragf,pbafcvphbhf,pbaterffjbzna,pbasvarzrag,pbasreraprf,pbasrqrengr,pbapbpgrq,pbzcebzvfrf,pbzceraqr,pbzcbfvgvba,pbzzhavfz,pbzzn,pbyyrpgbef,pbyrfynj,pybgurq,pyvavpnyyl,puht,puvpxrafuvg,purpxva,punbgvp,prffcbby,pnfxrgf,pnapryyngvba,pnymbar,oebgury,obbzrenat,obqrtn,oybbqf,oynfcurzl,oynpx'f,ovgfl,ovax,ovss,ovpragraavny,oreyvav,orngva,orneqf,oneonf,oneonevnaf,onpxcnpxvat,nhqvraprf,negvfg'f,neeulguzvn,neenl,nebhfvat,neovgengbe,ndhv,nccebcevngryl,nagntbavmr,natyvat,narfgurgvp,nygrepngvba,nyvpr'f,ntterffbe,nqirefvgl,nqbcgvat,npar,nppbeqnapr,npnguyn,nnnuuu,jernxvat,jbexhc,jbexvatf,jbaqreva,jbys'f,jvgure,jvryqvat,jubccre,jung'z,jung'pun,jnkrq,ivoengvat,irgrevanevna,irefvbaf,iragvat,infrl,inybe,inyvqngr,hetrq,hcubyfgrel,hctenqrq,hagvrq,hafpngurq,hafnsr,haynjshy,havagreehcgrq,hasbetvivat,haqvrf,haphg,gjvaxvrf,ghpxvat,ghon,gehssyr,gehpx'f,gevcyrgf,gerngnoyr,gernfherq,genafzvg,genadhvyvgl,gbjafcrbcyr,gbefb,gbzrv,gvcfl,gvafry,gvzryvar,gvqvatf,guvegvrgu,grafvbaf,grncbg,gnfxf,gnagehzf,gnzcre,gnyxl,fjnlrq,fjnccvat,fira,fhyx,fhvgbe,fhowrpgrq,fglyvfg,fgebyyre,fgbevat,fgvef,fgngvfgvpny,fgnaqbss,fgnssrq,fdhnqeba,fcevaxyref,fcevatfgrra,fcrpvzraf,fcnexyl,fbat'f,fabjl,fabool,fangpure,fzbbgure,fzvgu'f,fyrrcva,fueht,fubegrfg,fubrobk,fury,furrfu,furr,funpxyrf,frgonpxf,frqngvirf,fperrpuvat,fpbepurq,fpnaarq,fngle,fnzzl'f,fnuvo,ebfrznel'f,ebbgrq,ebqf,ebnqoybpx,evireonax,evinyf,evqvphyrq,erfragshy,ercryyrag,eryngrf,ertvfgel,ertneqrq,ershtrr,erperngr,erpbairar,erpnyyrq,erohggny,ernyzrqvn,dhvmmrf,dhrfgvbaanver,dhnegrg,chfure,chapgherq,chpxre,cebchyfvba,cebzb,cebybat,cebsrffvbanyvfz,cevmrq,cerzvfr,cerqngbef,cbegvbaf,cyrnfnagyl,cynarg'f,cvtfgl,culfvpvfg,cuvy'f,craavyrff,crqrfgevna,cnlpurpxf,cngvragyl,cngreany,cnenqvat,cn'f,birenpgvir,binevrf,beqreyvrf,benpyrf,bznun,bvyrq,bssraqvat,ahqvr,arbangny,arvtuobeyl,arpgne,anhgvpny,anhtug,zbbcf,zbbayvtugvat,zbovyvmr,zvgr,zvfyrnqvat,zvyxfunxr,zvpxrl'f,zrgebcbyvgna,zravny,zrngf,znlna,znkrq,znexrgcynpr,znatyrq,znthn,yhanpl,yhpxvre,yynaivrj'f,yvirfgbpx,yvgref,yvgre,yvpbevpr,yvolna,yrtvfyngher,ynfref,ynafohel,xerzyva,xbernaf,xbbxl,xabjva,xvyg,whaxlneq,wvttyr,wrfg,wrbcneqvmrq,wntf,vagraqvat,vaxyvat,vaunyngvba,vasyhraprf,vasyngrq,vasynzzngbel,vasrpgvat,vaprafr,vaobhaq,vzcenpgvpny,vzcrargenoyr,vssl,vqrnyvfgvp,v'zzn,ulcbpevgrf,uhegva,uhzoyrq,ubfgrq,ubzbfrkhnyvgl,ubybtenz,ubxrl,ubphf,uvgpuuvxvat,urzbeeubvqf,urnquhagre,unffyrq,unegf,uneqjbexvat,unvephgf,unpxfnj,threevyyn,travgnyf,tnmvyyvba,tngurevatf,tnamn'f,tnzzl,tnzrfcurer,shthr,shryf,sberfgf,sbbgjrne,sbyyl,sbyqf,syrkvovyvgl,synggrarq,synfuyvtugf,svirf,svyrg,svryq'f,snzbhfyl,rkgrahngvat,rkcyberq,rkprrq,rfgebtra,raivfvbarq,ragnvyf,rzretrq,rzormmyrq,rybdhrag,rtbznavnp,qhzzvrf,qhqf,qhpgf,qebjfl,qebarf,qentba'f,qensgf,qberr,qbabiba,qbaal'f,qbpxrq,qvkba'f,qvfgevohgrq,qvfbeqref,qvfthvfrf,qvfpybfr,qvttva,qvpxvr'f,qrgnpuzrag,qrfregvat,qrcevivat,qrzbtencuvp,qryrtngvba,qrslvat,qrqhpgvoyr,qrpbehz,qrpxrq,qnlyvtugf,qnloernx,qnfuobneq,qnevra,qnzangvba,q'natryb'f,phqqyvat,pehapuvat,pevpxrgf,penmvrf,penlba,pbhapvyzna,pbhturq,pbbeqvangvba,pbahaqehz,pbagenpgbef,pbagraq,pbafvqrengvbaf,pbzcbfr,pbzcyvzragrq,pbzcyvnapr,pbunntra,pyhgpuvat,pyhfgre,pyhrq,pyvzof,pynqre,puhpx'f,puebzbfbzr,purdhrf,purpxcbvag,pungf,punaaryvat,prnfrf,pngubyvpf,pnffvhf,pneire'f,pnenfpb,pnccrq,pncvfpr,pnagnybhcr,pnapryyvat,pnzcfvgr,pnzbhsyntr,pnzobqvn,ohetynef,ohernhpenpl,oernxsnfgf,oenaqvat,oen'gnp,obbx'f,oyhrcevag,oyrrqva,oynmr'f,oynoorq,ovfrkhny,ovyr,ovt'f,orirentrf,orarsvpvnel,onggrel'f,onfvat,nireg,ninvy,nhgbovbtencul,ngbar,nezl'f,neyla,nerf,nepuvgrpgheny,nccebirf,ncbgurpnel,nahf,nagvfrcgvp,nanylgvpny,nzarfgl,nycunorgvpny,nyvtazrag,nyvtarq,nyrvxhhz,nqivfbel,nqivfbef,nqivfrzrag,nqhygubbq,npdhvevat,npprffrq,mbzovr'f,mnqve,jerfgyrq,jbooyl,jvguanvy,jurryrq,junggnln,junpxvat,jrqtrq,jnaqref,jnyxzna,ivfvbanel,iveghrf,ivaprag'f,irtn'f,intvany,hfntr,haanzrq,havdhryl,havzntvanoyr,haqravnoyr,hapbaqvgvbanyyl,hapunegrq,haoevqyrq,gjrrmref,gizrtnfvgr,gehzcrq,gevhzcunag,gevzzvat,gevorf,gernqvat,genafyngrf,genadhvyvmref,gbjvat,gbhg,gbbagbja,guhax,gncf,gnobb,fhgher,fhccerffvat,fhpprrqvat,fhozvffvba,fgenlf,fgbarjnyy,fgbtvr,fgrcqnhtugre,fgnyyf,fgnpr,fdhvag,fcbhfrf,fcynfurq,fcrnxva,fbhaqre,fbeevre,fbeery,fbeprere,fbzoereb,fbyrzayl,fbsgrarq,fbpvnyvfg,fabof,favccl,faner,fzbbguvat,fyhzc,fyvzronyy,fynivat,fvcf,fvathyne,fvyragyl,fvpvyl,fuvyyre,funlar'f,funerubyqref,funxrqbja,frafngvbaf,frnthyyf,fpelvat,fpehzcgvbhf,fpernzva,fnhpl,fnagbfrf,fnagbf'f,fnapgvbaf,ebhaqhc,ebhturq,ebfnel,eborpunhk,ebnqfvqr,evyrl'f,ergebfcrpg,erfheerpgrq,erfgbengvba,erfvqr,erfrnepurq,erfpvaq,ercebqhpr,ercerurafvoyr,ercry,eraqrevat,erzbqryvat,eryvtvbaf,erpbafvqrevat,erpvcebpngr,engpurg,enzonyqv'f,envyebnqrq,enppbba,dhnfv,cflpuvpf,cfng,cebzbf,cebpynzngvba,ceboyrz'f,cebo'yl,cevfgvar,cevagbhg,cevrfgrff,cerahcgvny,cerqvpgvba,cerprqrf,cbhgl,cbggre'f,cubavat,crgrefohet,crccl,cnevnu,cnepurq,cnepry,cnarf,bireybnqrq,bireqbvat,bcrengbef,byqvrf,borfvgl,alzcuf,abgure,abgrobbxf,abbx,avxbynv,arnevat,arnere,zhgngvba,zhavpvcny,zbafgebfvgl,zvavfgre'f,zvynql,zvrxr,zrcurfgb,zrzbel'f,zryvffn'f,zrqvpngrq,znefunyf,znavybj,znzzbtenz,znvafgernz,znqubhfr,z'ynql,yhkhevbhf,yhpx'f,yhpnf'f,ybgfn,ybbcl,ybttvat,yvdhvqf,yvsrobng,yrfvba,yravrag,yrneare,yngreny,ynfmyb,ynein,xebff,xvaxf,wvakrq,vaibyhagnel,vairagbe,vagrevz,vafhobeqvangvba,vaurerag,vatengr,vasyngnoyr,vaqrcraqragyl,vapneangr,vanar,vzntvat,ulcbtylprzvn,uhagva,uhzbebhf,uhzbatbhf,ubbqyhz,ubabherq,ubaxvat,uvgyre'f,urzbeeuntr,urycva,urnevat'f,ungube,ungpuvat,unatne,unysgvzr,thvfr,thttraurvz,teee,tebggb,tenaqfba'f,tenaqznzn,tbevyynf,tbqyrff,tveyvfu,tubhyf,trefujva,sebfgrq,sevqnl'f,sbejneqf,syhggre,sybhevfu,syntcbyr,svaryl,svaqre'f,srgpuvat,snggre,sngrq,snvgushyyl,snpgvba,snoevpf,rkcbfvgvba,rkcb,rkcybvgf,rkreg,rkpyhqr,rivpgvba,rirejbbq'f,rinfvba,rfca,rfpbegvat,rfpnyngr,ragvpvat,raebyy,raunaprzrag,raqbjrq,rapunagerff,rzretvat,rybcrzrag,qevyyf,qeng,qbjagvzr,qbjaybnqvat,qbexf,qbbejnlf,qbpgbengr,qvihytr,qvffbpvngvir,qvff,qvftenprshy,qvfpbapregvat,qvegont,qrgrevbengvat,qrgrevbengr,qrfgvavrf,qrcerffvir,qragrq,qravz,qrsrngvat,qrpehm,qrpvqrqyl,qrnpgvingr,qnlqernzf,pmne,pheyf,phycevg,phrf,pelonol,pehryrfg,pevgvdhr,pevccyvat,pergva,penaoreevrf,pbhf,pbhcyrq,pbeivf,pbccrq,pbaivpgf,pbairegf,pbagvatrag,pbagrfgf,pbzcyrzrag,pbzzraq,pbzzrzbengr,pbzovangvbaf,pbnfgthneq,pybavat,pvedhr,puheavat,pubpx,puvinyel,purzbgurencl,puneybggr'f,punapryybe'f,pngnybthrf,pnegjurryf,pnecrgf,pnebyf,pnavfgre,pnzren'f,ohggrerq,ohernhpengvp,ohaqg,ohywnabss,ohooyvat,oebxref,oebnqra,oevzfgbar,oenvayrff,obearb,oberf,obvat,obqvrq,ovyyvr'f,ovprcf,orvwvat,ornq,onqzbhguvat,onq'f,nirp,nhgbcvybg,nggenpgvbaf,nggver,ngbzf,ngurvfg,nfpregnva,negvsvpvnyyl,nepuovfubc,nbegn,nzcf,nzcngn,nzbx,nyybl,nyyvrq,nyyraol,nyvta,nyorvg,nverq,nvag,nqwbvavat,nppbfgrq,nolff,nofbyir,nobegrq,nnntu,nnnnnnu,lbhe'f,lbaqre,lryyva,lrneyl,jlaqunz,jebatqbvat,jbbqfobeb,jvttvat,juhc,jnfgrynaq,jneenagl,jnygmrq,jnyahgf,jnyynpr'f,ivivqyl,ivoengvba,irefrf,irttvr,inevngvba,inyvqngvba,haarprffnevyl,haybnqrq,havpbeaf,haqrefgngrq,haqrsrngrq,hapyrna,hzoeryynf,glxr,gjveyvat,ghecragvar,gheabire,ghccrejner,ghttre,gevnatyrf,gevntr,gerrubhfr,genpg,gbvy,gvqovg,gvpxyrq,guhq,guerrf,gubhfnaqgu,guvatvr,grezvanyyl,grzcbeny,grrguvat,gnffry,gnyxvrf,flaqvpngvba,flyynoyrf,fjbba,fjvgpuobneq,fjreirq,fhfcvpvbhfyl,fhcrevbevgl,fhpprffbe,fhofrdhragylar,fhofrdhrag,fhofpevor,fgehqry,fgebxvat,fgevpgrfg,fgrira'f,fgrafynaq,fgrsna'f,fgnefxl,fgneva,fgnaaneg,fdhvezvat,fdhrnyvat,fberyl,fbyvqnevgl,fbsgvr,fabbxhzf,faviryvat,fanvy,fzvqtr,fznyycbk,fybgu,fyno,fxhyxvat,fvatyrq,fvzvna,fvyb,fvtugfrrvat,fvnzrfr,fuhqqre,fubccref,funk,funecra,funaara,frzgrk,fryybhg,frpbaqunaq,frnfba'f,frnapr,fperracynl,fpbjy,fpbea,fpnaqnyf,fnagvntb'f,fnsrxrrcvat,fnpxrq,ehffr,ehzzntr,ebfvr'f,ebfuzna,ebbzvrf,ebnpurf,evaqf,ergenpr,ergverf,erfhfpvgngr,erfgenvarq,erfvqragvny,erfreibve,ereha,erchgngvbaf,erxnyy,erwbva,erserfuzrag,erranpgzrag,erpyhfr,enivbyv,enirf,enaxrq,enzcnag,enzn,enyyvrf,enxvat,chefrf,chavfunoyr,chapuyvar,chxrq,cebivapvny,cebfxl,cebzcgrq,cebprffbe,cerivrjf,cercnerf,cbhtuxrrcfvr,cbccvaf,cbyyhgrq,cynpragn,cvffl,crghynag,crgrefba'f,crefrirenapr,crefrphgvba,crag,crnfnagf,crnef,cnjaf,cngebyf,cnfgevrf,cnegnxr,cnenzbhag,cnaxl,cnyngr,biremrnybhf,bireguebj,biref,bfjnyq'f,bfxne,bevtvangrq,bepuvqf,bcgvpny,bafrg,bssrafrf,bofgehpgvat,bowrpgviryl,bovghnevrf,borqvrag,borqvrapr,abivpr,abguvatarff,avgengr,arjre,argf,zjnu,zhfgl,zhat,zbgureyl,zbbavat,zbavdhr'f,zbzragbhf,zbol,zvfgnxvat,zvfgnxrayl,zvahgrzra,zvybf,zvpebpuvc,zrfrys,zrepvyrff,zrarynhf,znmry,znhfre,znfgheongr,znefu'f,znahsnpgheref,znubtnal,ylfvfgengn,yvyyvrasvryq,yvxnoyr,yvtugjrvtug,yvorengr,yriryrq,yrgqbja,yrre,yrrybb,ynelak,yneqnff,ynvarl,ynttrq,yno'f,xybery,xyna,xvqanccvatf,xrlrq,xnezvp,wvir,wvttl,wrrovrf,vfnory'f,vengr,vendv,vbgn,vbqvar,vaihyarenoyr,vairfgbe,vagehfvir,vagevpngr,vagvzvqngvba,vagrerfgvatyl,vafregrq,vafrzvangvba,vadhver,vaangr,vawrpgvat,vaunovgrq,vasbezngvir,vasbeznagf,vapbecbengvba,vapyvangvba,vzcher,vzcnffr,vzonynapr,vyyvgrengr,v'zn,v'vv,uheyrq,uhagf,uvfcnavp,urzngbzn,uryc'f,uryra'f,urnqfgebat,unezbavpn,unex,unaqznqr,unaqvjbex,tlzanfvhz,tebjyvat,tbireabef,tbirea,tbexl,tbbx,tveqyr,trgpun,trfhaqurvg,tnmvat,tnmrggr,tneqr,tnyyrl,shaary,serq'f,sbffvyf,sbbyvfuyl,sbaqarff,syhfuvat,sybevf,svernez,srebpvbhf,srngurerq,sngrshy,snapvrf,snxrf,snxre,rkcerffjnl,rkcver,rkrp,rire'obql,rfgngrf,rffragvnyf,rfxvzbf,rdhngvbaf,rbaf,rayvtugravat,raretrgvp,rapuvynqn,rzzv,rzvffnel,rzobyvfz,ryfvaber,rpxyvr,qerapurq,qenmv,qbcrq,qbttvat,qbphzragngvba,qbnoyr,qvirefr,qvfcbfrq,qvfyvxrf,qvfubarfgl,qvfratntr,qvfpbhentvat,qvcybzng,qvcybznpl,qrivnag,qrfpraqrq,qrenvyrq,qrcyrgrq,qrzv,qrsbezrq,qrsyrpg,qrsvarf,qrsre,qrspba,qrnpgvingrq,pevcf,perqvgbef,pbhagref,pbeevqbef,pbeql'f,pbairefngvba'f,pbafgryyngvbaf,pbaterffzra,pbatb,pbzcyvzragvat,pbybzovna,pyhoovat,pybt,pyvag'f,pynjvat,puebzvhz,puvzrf,puvpxra'f,purjf,purngva,punfgr,prerzbal'f,pryyoybpx,prvyvatf,prpr,pnivat,pngrerq,pngnpbzof,pnynznev,pnoovr,ohefgf,ohyylvat,ohpxvat,oehyrr,oevgf,oevfx,oerrmrf,oenaqba'f,obhaprf,obhqbve,oybpxohfgre,ovaxf,orggre'a,oryhtn,oryyvrq,oruenav,orunirf,orqqvat,onggnyvba,oneevref,onaqrenf,onyzl,onxrefsvryq,onqzbhgu,onpxref,niratvat,ngng,nfcvevat,nebzngurencl,nezcvg,nezbver,nalguva,nabgure'f,nabalzbhfyl,naavirefnevrf,nybamb'f,nsgrefunir,nssbeqnoyr,nssyvpgvba,nqevsg,nqzvffvoyr,nqvrh,npgvivfg,npdhvggny,lhpxl,lrnea,jebatyl,jvab,juvggre,juveycbby,jraqvtb,jngpuqbt,jnaanorf,jnyxref,jnxrl,ibzvgrq,ibvprznvy,ireo,inaf,inyrqvpgbevna,inpnapl,hggrerq,hc'f,hajrq,haerdhvgrq,haabgvprq,haareivat,haxvaq,hawhfg,havsbezrq,hapbasvezrq,hanqhygrengrq,hanppbhagrq,htyvre,glyre'f,gjvk,gheabss,gebhtu,gebyyrl,genzcyrq,genzryy,genpv'f,gbeg,gbnqf,gvgyrq,gvzohxgh,gujnegrq,guebjonpx,guba,guvaxre,guvzoyr,gnfgryrff,gnenaghyn,gnzzl'f,gnznyr,gnxrbiref,flzcbfvhz,flzzrgel,fjvfu,fhccbfvat,fhccbegref,fhaf,fhyyl,fgernxvat,fgenaqf,fgnghgbel,fgneyvtug,fgneture,fgnepu,fgnamv,fgnof,fdhrnzvfu,fcbxnar,fcynggrerq,fcvevghnyyl,fcvyg,fcrq,fcrpvnyvgl,fcnpvbhf,fbhaqgenpx,fznpxvat,fynva,fynt,fynpxvat,fxljver,fxvcf,fxrrg,fxnnen,fvzcngvpb,fuerqqvat,fubjva,fubegphgf,fuvgr,fuvryqvat,furrc'f,funzryrffyl,frensvar,fragvzragnyvgl,frpg,frpergnel'f,frnfvpx,fpvragvsvpnyyl,fpubynef,fpurzre,fpnaqnybhf,fngheqnl'f,fnygf,fnxf,fnvagrq,ehfgvp,ehtf,evrqrafpuarvqre,evp'f,eulzvat,eurgbevp,eribyg,erirefvat,eriry,ergenpgbe,ergneqf,ergnyvngvba,erfheerpg,erzvff,erzvavfpvat,erznaqrq,eryhpgnapr,erybpngvat,eryvrq,ervora,ertvbaf,ertnvaf,ershry,erserfure,erqbvat,erqurnqrq,erqrrzrq,erplpyrq,ernffherq,erneenatrq,enccbeg,dhzne,cebjyvat,cebzbgvbany,cebzbgre,cerfreivat,cerwhqvprf,cerpnevbhf,cbjjbj,cbaqrevat,cyhatre,cyhatrq,cyrnfnagivyyr,cynlcra,cynlonpx,cvbarref,culfvpvnaf,cuyrtz,cresrpgrq,cnapernf,cnxvfgnav,bkvqr,binel,bhgchg,bhgohefgf,bccerffrq,bcny'f,bbbuuu,bzbebpn,bssrq,b'gbbyr,ahegher,ahefrznvq,abfroyrrq,avkba'f,arpxgvr,zhggrevat,zhapuvrf,zhpxvat,zbthy,zvgbfvf,zvfqrzrnabe,zvfpneevrq,zvak,zvyyvbagu,zvtenvarf,zvqyre,zrgunar,zrgnobyvfz,zrepunagf,zrqvpvany,znetnerg'f,znavsrfgngvba,znavphevfg,znaqryonhz,znantrnoyr,znzob,znyshapgvbarq,znvf,zntarfvhz,zntanavzbhf,ybhqzbhgu,ybatrq,yvsrfglyrf,yvqql,yvpxrgl,yrcerpunhaf,yratgul,xbznxb,xbwv'f,xyhgr,xraary,xngul'f,whfgvslvat,wrehfnyrz,vfenryvf,vfyr,veerirefvoyr,vairagvat,vainevnoyl,vagreinyf,vagretnynpgvp,vafgehzragny,vafgnovyvgl,vafvahngr,vadhvevat,vatrahvgl,vapbapyhfvir,vaprffnag,vzcebi,vzcrefbangvba,vzcrnpuzrag,vzzvtenag,vq'q,ulran,uhzcreqvapx,uhzz,uhoon,ubhfrjbex,ubzrynaq,ubyvfgvp,ubssn,uvgure,uvffl,uvccl,uvwnpxrq,ureb'f,urcneva,uryybbb,urng'f,urnegu,unffyrf,unaqphss,unvefglyr,unqqn,tlzanfgvpf,thlf'yy,thggrq,thyc,thyyf,thneq'f,tevggl,tevribhf,tenivgngvbany,tensg,tbffnzre,tbbqre,tybel'f,trer,tnfu,tnzvat,tnzoyrq,tnynkvrf,tnqtrgf,shaqnzragnyf,sehfgengvbaf,sebyvpxvat,sebpx,sevyyl,senfre'f,senapnvf,sberfrra,sbbgybbfr,sbaqyl,syhrag,syvegngvba,syvapurq,syvtug'f,synggra,svfpny,svrepryl,sryvpvn'f,snfuvbanoyr,snegvat,snegurfg,snezvat,snpnqr,rkgraqf,rkcbfre,rkrepvfrq,rinqvat,rfpebj,reee,ramlzrf,raretvrf,rzcnguvmr,rzoelbf,rzobqvzrag,ryyforet,ryrpgebzntargvp,robyn,rneavatf,qhypvarn,qernzva,qenjonpxf,qenvaf,qblyr'f,qbhoyvat,qbgvat,qbbfr'f,qbbfr,qbbsl,qbzvangrq,qvivqvat,qvirefvgl,qvfgheof,qvfbeqreyl,qvfyvxrq,qvfthfgf,qribvq,qrgbk,qrfpevcgvbaf,qrabzvangbe,qrzbafgengvat,qrzrnabe,qryvevbhfyl,qrpbqr,qronhpurel,qnegzbhgu,q'bu,pebvffnag,penivatf,penaxrq,pbjbexref,pbhapvybe,pbhapvy'f,pbairetrapr,pbairagvbaf,pbafvfgrapl,pbafvfg,pbadhrfgf,pbatybzrengr,pbashfrf,pbasvfpngr,pbasvarf,pbasrffrf,pbaqhvg,pbzcerff,pbzzvggrr'f,pbzznaqrq,pbzorq,pbybary'f,pbngrq,pybhqvat,pynzcf,pvephyngvat,pvepn,pvapu,puvaarel,pryroengbel,pngnybtf,pnecragref,pneany,pneyn'f,pncgherf,pncvgna,pncnovyvgl,pnava,pnarf,pnvgyva'f,pnqrgf,pnqnire,pnoyr'f,ohaqlf,ohyyqbmre,ohttref,ohryyre,oehab'f,oernxref,oenmvyvna,oenaqrq,oenval,obbzvat,obbxfgberf,oybbqongu,oyvfgre,ovggrefjrrg,ovbybtvfg,ovyyrq,orggl'f,oryyubc,orrcvat,ornhg,ornafgnyx,ornql,onhqrynver,onegraqref,onetnvaf,onyynq,onpxtebhaqf,niregrq,ningne'f,ngzbfcurevp,nffreg,nffnffvangrq,neznqvyyb,nepuvir,nccerpvngvat,nccenvfrq,nagyref,nagrevbe,nycf,nybbs,nyybjnaprf,nyyrljnl,ntevphygher,ntrag'f,nssyrpx,npxabjyrqtvat,npuvrirzragf,nppbeqvba,nppryrengbe,noenpnqnoen,nowrpg,mvap,mvypu,lhyr,lrzra,knank,jerapuvat,jerngu,jbhyqa,jvggrq,jvqryl,jvppn,juberubhfr,jubbb,juvcf,jrfgpurfgre,jrofvgrf,jrncbael,jnfa,jnyfu'f,ibhpuref,ivtbebhf,ivrg,ivpgvzvmrq,ivpbqva,hagrfgrq,hafbyvpvgrq,habssvpvnyyl,hasbphfrq,hasrggrerq,hasrryvat,harkcynvanoyr,harira,haqrefgnssrq,haqreoryyl,ghgbevny,ghorephybfvf,gelfg,gebvf,gevk,genafzvggvat,genzcbyvar,gbjrevat,gbcrxn,gvenqr,guvrivat,gunat,gragnpyrf,grsyba,grnpuvatf,gnoyrgf,fjvzzva,fjvsgyl,fjnlmnx,fhfcrpgvat,fhccylvat,fhccyvref,fhcrefgvgvbaf,fhcreuhzna,fhof,fghoobeaarff,fgehpgherf,fgernzref,fgenggzna,fgbarjnyyvat,fgvzhyngr,fgvssf,fgngvba'f,fgnpxvat,fdhvful,fcbhg,fcyvpr,fcrp,fbaevfn,fznezl,fybjf,fyvpvat,fvfgreyl,fvreen'f,fvpvyvna,fuevyy,fuvarq,fuvsg'f,fravbevgl,frvar,frrzvat,frqyrl,frngorygf,fpbhe,fpbyq,fpubbylneq,fpneevat,fnfu,fnex'f,fnyvrev,ehfgyvat,ebkohel,evpuyl,erkl,erk'f,erjver,eriirq,ergevrire,erfcrpgvir,erchgnoyr,erchyfrq,ercrngf,eraqvgvba,erzbqry,erybpngrq,ervaf,ervapneangvba,erterffvba,erpbafgehpgvba,ernqvarff,engvbanyr,enapr,ensgref,enqvburnq,enqvb'f,enpxrgf,dhnegreyl,dhnqehcyr,chzonn,cebfcrebhf,cebcryyre,cebpynvz,cebovat,cevingrf,cevrq,cerjrqqvat,cerzrqvgngvba,cbfghevat,cbfgrevgl,cbfu,cyrnfhenoyr,cvmmrevn,cvfu,cvenaun,cvzcf,craznafuvc,crapunag,cranygvrf,cryivf,cngevbgvfz,cnfn,cncnln,cnpxntvat,bireghea,biregher,birefgrccrq,birepbng,biraf,bhgfzneg,bhgrq,bevrag,beqnvarq,bbbuu,bapbybtvfg,bzvffvba,byyl,bssunaq,bqbhe,bppheevat,alnmvna,abgnevmrq,abobql'yy,avtugvr,avtugpyhof,arjfjrrx,arfgvat,aniry,angvbajvqr,anoorq,annu,zlfgvdhr,zhfx,zbire,zbegvpvna,zbebfr,zbengbevhz,zbafgre'f,zbqrengr,zbpxvatoveq,zbofgref,zvfpbaqhpg,zvatyvat,zvxrl'f,zrguvaxf,zrgnculfvpny,zrffratrerq,zretr,zreqr,zrqnyyvba,zngurzngvpny,zngre,znfba'f,znfbpuvfg,znegbhs,znegvnaf,znevanen,znaenl,znaarq,znzzny,znwbeyl,zntavslvat,znpxrery,znory'f,ylzr,yhevq,yhttvat,ybaartna,ybngufbzr,yynagnab,yvfmg,yvfgvatf,yvzvgvat,yvorenpr,yrcebfl,yngvabf,ynagreaf,ynzrfg,ynsrerggr,ynqloveq,xenhg,xbbx,xvgf,xvcyvat,wblevqr,vajneq,vagrfgvar,vaabprapvn,vauvovgvbaf,varssrpghny,vaqvfcbfrq,vaphenoyr,vaphzorag,vapbecbengrq,vapbairavraprq,vanavzngr,vzcebonoyr,vzcybqr,vqrn'f,ulcbgurfvf,ulqenag,uhfgyvat,uhfgyrq,uhribf,ubj'z,ubefrfubr,ubbrl,ubbqf,ubapub,uvatr,uvwnpx,urebvfz,urezvg,urvzyvpu,uneirfgvat,unzhancgen,unynqxv,unvxh,unttyr,unnn,thgfl,tehagvat,tehryvat,tevg,tevsgre,tevrinaprf,tevoof,terril,terrgrq,terra'f,tenaqfgnaqvat,tbqcneragf,tybjf,tyvfgravat,tyvqre,tvzzvpx,trabpvqr,tncvat,senvfre,sbeznyvgvrf,sbervtare,sberpnfg,sbbgcevag,sbyqref,sbttl,syncf,svggl,svraqf,srzzrf,srneshy,sr'abf,snibhef,snovb,rlrvat,rkgbeg,rkcrevzragngvba,rkcrqvgr,rfpnyngvat,rerpg,rcvarcuevar,ragvgyrf,ragvpr,raevpurq,ranoyr,rzvffvbaf,rzvarapr,rvtugf,ruuu,rqhpngvat,rqra'f,rnegudhnxrf,rneguyvatf,rntreyl,qhaivyyr,qhtbhg,qenvavat,qbhoyrzrng,qbyvat,qvfcrefr,qvfcrafvat,qvfcngpurf,qvfcngpure,qvfpbybengvba,qvfnccebiny,qvaref,qvrh,qvqqyl,qvpgngrf,qvnmrcnz,qrfpraqnagf,qrebtngbel,qrcbfvgrq,qryvtugf,qrsvrf,qrpbqre,qrongrf,qrnyvb,qnafba,phgguebng,pehzoyrf,pehq,pebvffnagf,perzngbevhz,pensgfznafuvc,pensgrq,pbhyq'n,pbeerpgvbany,pbeqyrff,pbbyf,pbagenqvpgvba,pbafgvghgr,pbaxrq,pbasvar,pbaprnyvat,pbzcbfvgr,pbzcyvpngrf,pbzzhavdhr,pbyhzovna,pbpxnznzvr,pbnfgref,pyhfgref,pyboorerq,pyvccvat,pyvcobneq,pyretl,pyrzramn,pyrnafre,pvephzpvfvba,pvaql'f,puvfry,punenpgre'f,punahxnu,pregnvanyl,pragrecvrpr,pryyzngr,pnegbbavfg,pnapryf,pnqzvhz,ohmmrq,ohfvrfg,ohzfgrnq,ohpxb,oebjfvat,oebgu,oebnqre,oernx'f,oenire,obhaqnel,obttyvat,oboovat,oyheerq,ovexurnq,orgurfqn,orarg,oryirqrer,oryyvrf,ortehqtr,orpxjbegu,oror'f,onaxl,onyqarff,ontcvcrf,onttl,onolfvggref,nirefvba,nhkvyvnel,nggevohgrf,nggnva,nfgbavfurq,nfgn,nffbegrq,nfcvengvbaf,neabyq'f,nern'f,nccrgvgrf,nccnery,ncbpnylcgvp,ncnegzrag'f,naabhapre,natvan,nzvff,nzohynaprf,nyyb,nyyrivngr,nyvovf,nytrevn,nynfxna,nvejnl,nssvyvngrq,nrevny,nqibpngvat,nqeranyva,nqzverf,nqurfvir,npgviryl,nppbzcnalvat,mrgn,lblbh,lbxr,lnpugf,jernxrq,jenpxvat,jbbbb,jbbvat,jvfrq,jvaavr'f,jvaq'f,jvyfuver,jrqtvr,jngfba'f,jneqra'f,jntvat,ivbyrgf,ivaprl,ivpgbevbhf,ivpgbevrf,irypeb,infgyl,inyirf,inyyrl'f,hcyvsgvat,hagehfgjbegul,hazvgvtngrq,havirefvgvrf,hariragshy,haqerffvat,haqrecevivyrtrq,haoheqra,hzovyvpny,gjvtf,gjrrg,gjrnxvat,ghedhbvfr,gehfgrrf,gehpxref,gevzzrq,gevttrevat,gernpurel,genccvat,gbhevfz,gbffrf,gbepuvat,gbbgucvpx,gbtn,gbnfgl,gbnfgf,gvnzng,guvpxraf,gure,grermn,granpvbhf,grzcrenzrag,gryrivfrq,gryqne,gnkvf,gnvag,fjvyy,fjrngva,fhfgnvavat,fhetrel'f,fhetrevrf,fhpprrqf,fhogyl,fhogreenarna,fhowrpg'f,fhoqheny,fgerrc,fgbcjngpu,fgbpxubyqre,fgvyyjngre,fgrnzre,fgnat'f,fgnyxref,fdhvfurq,fdhrrtrr,fcyvagref,fcyvprq,fcyng,fcvrq,fcrpvnyvmrq,fcnm,fcnpxyr,fbcuvfgvpngvba,fancfubgf,fzbxl,fzvgr,fyhttvfu,fyvgurerq,fxva'f,fxrrgref,fvqrjnyxf,fvpxyl,fuehtf,fuehoorel,fuevrxvat,fuvgyrff,fuvgubyr,frggva,freiref,fretr,fragvaryf,frysvfuyl,frtzragf,fpnepryl,fnjqhfg,fnavgngvba,fnatevn,fnapghz,fnznagun'f,fnuwuna,fnpenzrag,fnore,ehfgyr,ehcgher,ehzc,ebivat,ebhfvat,ebfbzbes,ebfnevb'f,ebqragf,ebohfg,evtf,evqqyrq,eulguzf,eriryngvbaf,erfgneg,erfcbafvoyl,ercerffvba,ercbegre'f,ercyvrq,ercnvevat,erabve,erzbenl,erzrqvny,erybpngvba,eryvrf,ervasbeprzrag,ershaqnoyr,erqverpg,erpurpx,enirajbbq,engvbanyvmvat,enzhf,enzfrl'f,enzryyr,envyf,enqvfu,dhvirevat,clwnznf,chal,cflpubf,cehffvna,cebibpngvbaf,cebhqre,cebgrfgbef,cebgrfgref,cebuvovgrq,cebuvovg,cebterffvba,cebqqrq,cebpgbybtvfg,cebpynvzrq,cevzbeqvny,cevpxf,cevpxyl,cerqngbel,cerprqragf,cenvfvat,centzngvp,cbjreubhfr,cbfgrevbe,cbfgntr,cbegubf,cbchyngrq,cbyl,cbvagr,cvibgny,cvangn,crefvfgrapr,cresbezref,cragnatryv,cryr,crpf,cngurgvpnyyl,cnexn,cnenxrrg,cnavpxl,cnaqben'f,cnzcuyrgf,cnverq,bireguehfgre,bhgfznegrq,bggbzna,begubcrqvp,bapbzvat,bvyl,bssvat,ahgevgvbhf,ahgubhfr,abhevfuzrag,avrgmfpur,avooyvat,arjyljrq,arjpbzref,arrq'f,anhgvyhf,anepvffvfg,zlguf,zlguvpny,zhgvyngvba,zhaqnar,zhzzl'f,zhzzvrf,zhzoyr,zbjrq,zbeirea,zbegrz,zbegny'f,zbcrf,zbatbyvna,zbynffrf,zbqvsvpngvba,zvfcynpr,zvfpbzzhavpngvba,zvarl,zvyvgnag,zvqyvsr,zraf,zranpvat,zrzbevmvat,zrzbenovyvn,zrzoenar,znffntvat,znfxvat,znevgvzr,znccvat,znahnyyl,zntargf,zn'f,yhkhevrf,ybjf,ybjrevat,ybjqbja,ybhatvat,ybgunevb,ybatgvzr,yvcbfhpgvba,yvrhgranag'f,yvqbpnvar,yvoorgf,yrjq,yrivgngr,yrfyvr'f,yrrjnl,yrpgherq,ynhera'f,ynhapure,ynhaprybg,yngrag,ynerx,yntbf,ynpxrlf,xhzonln,xelcgbavgr,xancfnpx,xrlubyr,xrafvatgba,xngnenathen,xnaa,whavbe'f,whvprq,whtf,wblshy,wvunq,wnavgbe'f,wnxrl,vebapynq,vaibvpr,vagregjvarq,vagreyhqr,vagresrerf,vafheerpgvba,vawher,vavgvngvat,vasreany,vaqvn'f,vaqrrql,vaphe,vapbeevtvoyr,vapnagngvbaf,vzcevag,vzcrqvzrag,vzzrefvba,vzzrafryl,vyyhfgengr,vxr'f,vtybb,vqyl,vqrnyyl,ulfgrerpgbzl,ulnu,ubhfr'f,ubhe'f,ubhaqrq,ubbpu,ubarlzbba'f,ubyyrevat,ubtf,uvaqfvtug,uvtuf,uvtu'f,uvnghf,uryvk,urvef,urrovr,unirfunz,unffna'f,unfrashff,unaxrevat,unatref,unxhan,thgyrff,thfgb,tehoovat,teeee,tert'f,tenmrq,tengvsvpngvba,tenaqrhe,tbenx,tbqnzzvg,tanjvat,tynaprq,tynqvngbef,trarengvat,tnynunq,tnvhf,sheavfurq,shareny'f,shaqnzragnyyl,sebfgovgr,serrf,senmmyrq,senhyrva,sengreavmvat,sbeghargryyre,sbeznyqrulqr,sbyybjhc,sbttvrfg,syhaxl,syvpxrevat,synfuonpxf,svkgherf,sverpenpxref,svarf,svyyl,svttre,srghfrf,sryyn'f,srnfvoyr,sngrf,rlryvare,rkgerzvgvrf,rkgenqvgrq,rkcverf,rkcrevzragrq,rkvgvat,rkuvovgf,rkuvovgrq,rkrf,rkphefvba,rkprrqvatyl,rincbengr,rehcg,rdhvyvoevhz,rcvyrcgvp,rcuenz'f,ragenvyf,ragvgvrf,rzcbevhz,rtertvbhf,rttfuryyf,rnfvat,qhjnlar,qebar,qebyy,qerlshff,qenfgvpnyyl,qbirl,qbhoyl,qbbml,qbaxrlf,qbaqr,qbzvangr,qvfgehfg,qvfgevohgvat,qvfgerffvat,qvfvagrtengr,qvfperrgyl,qvfnterrzragf,qvss,qvpx'f,qrivfrq,qrgrezvarf,qrfpraqvat,qrcevingvba,qryrtngr,qryn,qrtenqngvba,qrpvfvba'f,qrpncvgngrq,qrnyva,qrnqre,qnfurq,qnexebbz,qnerf,qnqqvrf,qnooyr,plpyrf,phful,pheeragf,phcpnxrf,phssrq,pebhcvre,pebnx,pevgvpvmrq,penccrq,pbhefvat,pbearefgbar,pbclevtug,pbbyref,pbagvahhz,pbagnzvangr,pbag,pbafhzzngrq,pbafgehrq,pbafgehpg,pbaqbf,pbapbpgvba,pbzchyfvba,pbzzvggrrf,pbzzvfu,pbyhzavfg,pbyyncfrf,pbrepvba,pbrq,pbnfgny,pyrzrapl,pynveiblnag,pvephyngr,pubeqf,purfgregba,purpxrerq,puneyngna,puncrebarf,pngrtbevpnyyl,pngnenpgf,pnenab,pncfhyrf,pncvgnyvmr,pnpur,ohgpure'f,oheqba,ohyyfuvggvat,ohytr,ohpx'f,oerjrq,oerguera,oera,oernguyrff,oernfgrq,oenvafgbezvat,obffvat,obernyvf,obafbve,oboxn,obnfg,oyvzc,oyrh,oyrrc,oyrrqre,oynpxbhgf,ovfdhr,ovasbeq'f,ovyyobneqf,oreavr'f,orrpure'f,orngvatf,onloreel,onfurq,onegyrg'f,onch,onzobbmyrq,onyyba,onyqvat,onxynin,onssyrq,onpxsverf,ononx,njxjneqarff,nggevohgrq,nggrfg,nggnpuzragf,nffrzoyvat,nffnhygf,nfcunyg,neguhe'f,neguevgvf,nezravna,neovgenel,ncbybtvmrf,nalubb,nagvdhngrq,nypnagr,ntrapl'f,nqivfnoyr,nqiregvfrzrag,nqiraghere,nohaqnapr,nnuuu,nnnuu,mngnep,lbhf,lbex'f,lrgv,lryybjfgbar,lrneobbxf,lnxhmn,jhqqln,jevatvat,jbbtvr,jbznaubbq,jvgyrff,jvatvat,jungfn,jrggvat,jrffrk,jraql'f,jnl'f,jngrecebbs,jnfgva,jnfuvatgba'f,jnel,ibbz,ibyvgvba,ibypnavp,ibtryzna,ibpngvba,ivfhnyyl,ivbyvavfg,ivaqvpngrq,ivtvynapr,ivrjcbvag,ivpnevbhfyl,iramn,infvyl,inyvqvgl,inphhzvat,hgrafvyf,hcyvax,hairvy,haybirq,haybnqvat,havauvovgrq,hanggnpurq,hxenvar,glcb,gjrnxrq,gjnf,gheavcf,ghavfvn,gfpu,gevaxrgf,gevohar,genafzvggref,genafyngbe,genva'f,gbherq,gbhtura,gbgvat,gbcfvqr,gbcvpny,gbbgurq,gvccl,gvqrf,gurbybtl,greebef,greevsl,gragngvir,grpuabybtvpnyyl,gneavfu,gnetrg'f,gnyyrfg,gnvyberq,gntyvngv,fmcvyzna,fjvzzref,fjnaxl,fhfvr'f,fheyl,fhccyr,fhaxra,fhzzngvba,fhqf,fhpxva,fhofgnagvnyyl,fgehpgherq,fgbpxubyz,fgrczbz,fdhrnxvat,fcevatsvryq'f,fcbbxf,fcynfuzber,fcnaxrq,fbhssyr,fbyvgnver,fbyvpvgngvba,fbynevhz,fzbbpu,fzbxref,fzbt,fyhttrq,fyboorevat,fxlyvtug,fxvzcl,fvghngrq,fvahfrf,fvzcyvsl,fvyraprq,fvqroheaf,fvq'f,fuhgqbja,fuevaxntr,fubqql,fuuuuuu,furyyvat,furyyrq,funerrs,funatev,funxrl'f,frhff,freivpvat,freranqr,frphevat,fphssyr,fpebyyf,fpbss,fpubynefuvcf,fpnaaref,fnhrexenhg,fngvfsvrf,fngnavp,fnef,fneqvarf,fnepbcunthf,fnagvab,fnaqv'f,fnyil,ehfgrq,ehffryyf,ehol'f,ebjobng,ebhgvarf,ebhgrq,ebgngvat,ebysfxl,evatfvqr,evttvat,erirerq,ergerngrq,erfcrpgnovyvgl,erfbanapr,erfrzoyvat,ercnengvbaf,erbcrarq,erarjny,erartbgvngr,erzvavfpr,eryhpgnagyl,ervzohefr,ertvzra,ertnvavat,erpghz,erpbzzraqf,erpbtavmnoyr,ernyvfz,ernpgvir,enjuvqr,enccncbeg'f,envapbng,dhvooyr,chmmyrq,chefhvgf,checbfrshyyl,chaf,chovp,cflpubgurencl,cebfrphgvba'f,cebbsf,cebbsvat,cebsrffbe'f,ceriragvba,cerfpevovat,ceryvz,cbfvgvbavat,cber,cbvfbaf,cbnpuvat,cvmmn'f,cregnvavat,crefbanyvmrq,crefbanoyr,crebkvqr,cresbezf,cragbaivyyr,crargengrq,crttl'f,cnlcubar,cnlbssf,cnegvpvcngrq,cnex'f,cnevfvna,cnyc,cnyrbagbybtl,bireunhy,biresybjvat,betnavfrq,bbzcn,bwnv,bssraqref,bqqrfg,bowrpgvat,b'uner,b'qnavry,abgpurf,abttva,abobql'q,avgebtra,avtugfgnaq,avrpr'f,avpxl'f,arhgenyvmrq,areibhfarff,areql,arrqyrffyl,anivtngvbany,aneengvir,anep,andhnqnu,anccl,anaghpxrg,anzoyn,zlevnq,zhffbyvav,zhyoreel,zbhagnvarre,zbhaq,zbgureshpxva,zbeevr,zbabcbyvmvat,zbury,zvfgerngrq,zvfernqvat,zvforunir,zvenznk,zvafgery,zvavina,zvyyvtenz,zvyxfunxrf,zvyrfgbar,zvqqyrjrvtug,zvpurynatryb,zrgnzbecubfvf,zrfu,zrqvpf,zpxvaaba'f,znggerffrf,zngurfne,zngpuobbx,zngngn,znelf,znepb'f,znyhppv,znwberq,zntvyyn,zntvp'f,ylzcubzn,ybjref,ybeql,ybtvfgvpf,yvaraf,yvarntr,yvaqrazrlre,yvzryvtug,yvory,yrrel'f,yrnfrq,yrncg,ynkngvir,yngure,yncry,ynzccbfg,ynthneqvn,ynolevagu,xvaqyvat,xrl'f,xrtf,xrttre,xnjnyfxl,whevrf,whqb,wbxva,wrfzvaqre,wnavar'f,vmml,vfenryv,vagreavat,vafhyngvba,vafgvghgvbanyvmrq,vafcrpgrq,vaavatf,vaarezbfg,vawha,vasnyyvoyr,vaqhfgevbhf,vaqhytrapr,vaqbarfvn,vapvarengbe,vzcbffvovyvgl,vzcbegf,vzcneg,vyyhzvangr,vthnanf,ulcabgvp,ulcrq,uhaf,ubhfrq,ubfgvyvgvrf,ubfcvgnoyr,ubfrf,ubegba'f,ubzrznxre,uvfgbel'f,uvfgbevna,uvefpuzhyyre,uvtuyvtugrq,uvqrbhg,urycref,urnqfrg,thneqvnafuvc,thncb,thnagnanzb,tehool,terlubhaq,tenmvat,tenabyn,tenaqqnqql,tbgunz'f,tbera,tboyrg,tyhggbal,tyhpbfr,tyborf,tvbeab,tvyyvna'f,trggre,trevgby,tnffrq,tnat'f,tnttyr,servtugre,serrovr,serqrevpx'f,senpgherf,sbkubyr,sbhaqngvbaf,sbhyrq,sbergbyq,sbepvoyl,sbyxyber,sybbeobneqf,sybbqf,sybngrq,syvccref,synibhe,synxrq,svefgyl,sversyvrf,srrqvatf,snfuvbanoyl,snfpvfz,sneenthg,snyyonpx,snpgvbaf,snpvnyf,rkgrezvangr,rkvgrq,rkvfgrag,rkvyrq,rkuvovgvat,rkpvgrf,rirelguvat'yy,rirava,rinyhngrq,rguvpnyyl,ragerr,ragvergl,rafhr,rarzn,rzcngu,rzoelb,ryhqrq,rybdhragyl,ryyr,ryvzvangrf,rwrpg,rqvgrq,rqrzn,rpubrf,rneaf,qhzcyvat,qehzzvat,qebccvatf,qenmra'f,qeno,qbyyrq,qbyy'f,qbpgevar,qvfgnfgrshy,qvfchgvat,qvfchgrf,qvfcyrnfher,qvfqnva,qvfpvcyrf,qvnzbaq'f,qrirybcf,qrgreerag,qrgrpgvba,qrulqengvba,qrsvrq,qrsvnapr,qrpbzcbfvat,qrongrq,qnjarq,qnexra,qnerqrivy,qnvyvrf,plfg,phfgbqvna,pehfgf,pehpvsvk,pebjavat,pevre,percg,perqvgrq,penmr,penjyf,pbirgrq,pbhcyr'f,pbhyqa,pbeerfcbaqvat,pbeerpgvat,pbexznfgre,pbccresvryq,pbbgvrf,pbbcref,pbbcrengrq,pbagebyyre,pbagencgvba,pbafhzrf,pbafgvghragf,pbafcver,pbafragvat,pbafragrq,pbadhref,pbatravnyvgl,pbzchgrevmrq,pbzchgr,pbzcyrgrf,pbzcynvaf,pbzzhavpngbe,pbzzhany,pbzzvgf,pbzzraqnoyr,pbybaryf,pbyyvqr,pbynqnf,pbynqn,pybhg,pybbarl,pynffzngr,pynffvsvrqf,pynzzl,pynver'f,pvivyvgl,pveeubfvf,puvax,purzvpnyyl,punenpgrevmr,prafbe,pngfxvyyf,pngu,pngrecvyyne,pngnylfg,pneiref,pnegf,pnecbby,pneryrffarff,pnerre'f,pneqvb,pneof,pncgvivgl,pncrfvqr'f,pncnqrf,ohgnov,ohfznyvf,ohfury,ohecvat,ohera,oheqraf,ohaxf,ohapun,ohyyqbmref,oebjfr,oebpxbivpu,oevn,oerrml,oerrqf,oernxguebhtuf,oeninqb,oenaql'f,oenpxrg,obbtrgl,obyfurivx,oybffbzf,oybbzvatgba,oybbzvat,oybbqfhpxre,oybpxnqr,oyvtug,oynpxfzvgu,orggregba,orgenlre,orfgfryyre,oraavtna'f,oryvggyr,orrcf,onjyvat,onegf,onegraqvat,oneorq,onaxobbxf,onpx'f,onof,onovfu,nhgubef,nhguragvpvgl,ngebcvar,nfgebabzvpny,nffregvir,negrevny,nezoehfg,nezntrqqba,nevfgbgyr,nepurf,nalnaxn,naablnapr,narzvp,napx,nantb,nyv'f,nytvref,nvejnlf,nvejnirf,nve'f,nvzyrffyl,nvyf,nuno,nssyvpgrq,nqirefr,nqurer,npphenpl,nnnetu,nnnaq,mrfg,lbtuheg,lrnfg,jlaqunz'f,jevgvatf,jevguvat,jbira,jbexnoyr,jvaxvat,jvaqrq,jvqra,jubbcvat,juvgre,juvc'f,jungln,junpxb,jr'f,jnmbb,jnfc,jnvirq,iynq,ivevyr,ivab,ivp'f,irgrevanel,irfgf,irfgvohyr,irefrq,irargvna,inhtua'f,inavfurf,inpnapvrf,hexry,hcjneqf,hcebbg,hajneenagrq,hafpurqhyrq,hacnenyyryrq,haqregnxvat,haqretenq,gjrrqyr,ghegyrarpx,gheona,gevpxrel,genibygn,genaflyinavn,genafcbaqre,gblrq,gbjaubhfr,gbagb,gbrq,gvba,gvre,gulfrys,guhaqrefgbez,guax,guvaavat,guvaxref,gurngerf,gunjrq,grgure,grzchf,gryrtencu,grpuavpnyvgvrf,gnh'ev,gnec,gneavfurq,gnen'f,gnttreg'f,gnssrgn,gnqn,gnpxrq,flfgbyvp,flzobyvmr,fjreir,fjrrcfgnxrf,fjnzv,fjnof,fhfcraqref,fhesref,fhcrejbzna,fhafrgf,fhzb,fhzzregvzr,fhpphyrag,fhpprffrf,fhocbranf,fghzcre,fgbfu,fgbznpunpur,fgrjrq,fgrccva,fgrcngrpu,fgngrfvqr,fgneingvba,fgnss'f,fdhnqf,fcvpbyv,fcvp,fcnevat,fbhyyrff,fbhy'f,fbaargf,fbpxrgf,favg,farnxre,fangpuvat,fzbgurevat,fyhfu,fybzna,fynfuvat,fvggref,fvzcfba'f,fvzcyrgba,fvtavsl,fvtany'f,fvtuf,fvqen,fvqrfubj,fvpxraf,fuhaarq,fuehaxra,fubjovm,fubccrq,fubbgvatf,fuvzzrevat,funxrfcrner'f,funttvat,friragrragu,frzoynapr,frthr,frqngvba,fphmmyrohgg,fphzontf,fpevooyr,fperjva,fpbhaqeryf,fpnefqnyr,fpnzc,fpnof,fnhpref,fnapgvbarq,fnvagyl,fnqqrarq,ehanjnlf,ehanebhaq,ehzberq,ehqvzragnel,ehovrf,efic,ebgf,ebzna'f,evcyrl'f,eurln,erivirq,erfvqvat,erfragvat,erfrnepure,ercregbver,erunfuvat,erunovyvgngrq,erterggnoyr,ertvzragny,erserfurq,errfr'f,erqvny,erpbaarpgvat,erovegu,enirabhf,encvat,enycu'f,envyebnqf,ensgvat,enpur,dhnaqnel,clyrn,chgevq,chavgvir,chssvat,cflpubcnguvp,ceharf,cebgrfgf,cebgrfgnag,cebfrphgbef,cebcbegvbany,cebterffrq,cebq,cebongr,cevapr'f,cevzngr,cerqvpgvat,cenlva,cenpgvgvbare,cbffrffvat,cbzrtenangr,cbytnen,cyhzzrgvat,cynaaref,cynavat,cynvagvssf,cynthrf,cvgg'f,cvgul,cubgbtencure'f,cuvyunezbavp,crgeby,creirefvba,crefbanyf,crecrgengbef,crez,crevcureny,crevbqvp,cresrpgb,crepurq,crrf,crrcf,crqvterr,crpxvfu,cninebggv,cnegarerq,cnyrggr,cnwnzn,cnpxva,cnpvsvre,blrm,birefgrccvat,bhgcngvrag,bcgvzhz,bxnzn,bofgrgevpvna,ahgfb,ahnapr,abha,abgvat,abeznypl,abezny'f,abaartbgvnoyr,abznx,aboyrzna,avaal,avarf,avprl,arjfsynfu,arirezber,arhgrerq,argure,arcurj'f,artyvtrr,arpebfvf,arohyn,anivtngvat,anepvffvfgvp,anzrfnxr,zlyvr,zhfrf,zhavgvbaf,zbgvingvbany,zbzragb,zbvfghevmre,zbqrengvba,zzcu,zvfvasbezrq,zvfpbaprcgvba,zvaavsvryq,zvxxbf,zrgubqvpny,zrpunavfzf,zroor,zrntre,znlorf,zngpuznxvat,znfel,znexbivp,znavsrfgb,znynxnv,znqntnfpne,z'nz,yhmuva,yhfgvat,yhzorewnpx,ybhier,ybbcubyrf,ybnavat,yvtugravat,yvorenyf,yrfob,yrbgneq,yrnsf,yrnqre'f,ynlzna'f,ynhaqre,ynznmr,xhoyn,xarryvat,xvyb,xvobfu,xryc,xrvgu'f,whzcfhvg,wbl'f,wbiv,wbyvrg,wbttre,wnabire,wnxbinfnhef,veercnenoyr,vagreirarq,vafcrpgbef,vaabingvba,vaabpragyl,vavtb,vasbzrepvny,varkcyvpnoyr,vaqvfcrafnoyr,vaqvpngvir,vapbtavgb,vzcertangrq,vzcbffvoyl,vzcresrpg,vzznphyngr,vzvgngvat,vyyarffrf,vpnehf,uhapurf,uhzzhf,uhzvqvgl,ubhfrjvirf,ubhzsbeg,ubgurnq,ubfgvyrf,ubbirf,ubbcyn,ubbyvtnaf,ubzbf,ubzvr,uvffrys,uvznynlnf,uvql,uvpxbel,urlll,urfvgnag,unatbhg,unaqfbzrfg,unaqbhgf,unvgvna,unveyrff,tjraavr,thmmyvat,thvarirer,tehatl,tehatr,teranqn,tbhg,tbeqba'f,tbnqvat,tyvqref,tynevat,trbybtl,trzf,tniry,tnezragf,tneqvab,tnaaba'f,tnaterar,tnss,tnoevryyr'f,shaqenvfvat,sehvgshy,sevraqyvre,serdhrapvrf,serpxyr,sernxvfu,sbeguevtug,sbernez,sbbgabgr,sbbgre,sbbg'f,sybcf,synzrapb,svkre,svez'f,sverpenpxre,svavgb,svttrerq,srmmvx,snibhevgrf,snfgrarq,snesrgpurq,snapvshy,snzvyvnevmr,snver,snvyfnsr,snueraurvg,snoevpngvba,rkgenintnamn,rkgenpgrq,rkchyfvba,rkcybengbel,rkcybvgngvba,rkcynangbel,rkpyhfvba,ribyhgvbanel,riretynqrf,rirayl,rhahpu,rfgnf,rfpncnqr,renfref,ragevrf,rasbepvat,raqbefrzragf,ranoyvat,rzcglvat,rzcrebe'f,rzoyrz,rzonenffvat,rpbflfgrz,rool,ronl,qjrro,qhgvshy,qhzcyvatf,qevyyrq,qensgl,qbht'f,qbyg,qbyyubhfr,qvfcynprq,qvfzvffvat,qvftenprq,qvfpercnapvrf,qvforyvrs,qvfnterrvat,qvfnterrq,qvtrfgvba,qvqag,qrivyrq,qrivngrq,qrgrevbengvba,qrcnegzragny,qrcnegvat,qrzbgrq,qrzreby,qryrpgnoyr,qrpb,qrpnlvat,qrpnqrag,qrnef,qnmr,qngryrff,q'nytbhg,phygherq,phygvingvat,pelgb,pehfnqrf,pehzcyrq,pehzoyrq,pebavrf,pevggref,perj'f,pernfr,penirf,pbmlvat,pbegynaq,pbeqhebl,pbbx'f,pbafhzref,pbatenghyngrq,pbasyvpgvat,pbasvqnagr,pbaqrafrq,pbaprffvbaf,pbzcerffbe,pbzcerffvbaf,pbzcerffvba,pbzcyvpngvat,pbzcyrkvgl,pbzcnqer,pbzzhavpngrq,pbrepr,pbqvat,pbngvat,pbnefr,pybja'f,pybpxjvfr,pyrex'f,pynffvre,pynaqrfgvar,puhzf,puhznfu,puevfgbcure'f,puberbtencul,pubvef,puvinyebhf,puvacbxb,puvyrna,puvuhnuhn,purrevb,puneerq,punsvat,pryvonpl,pnfgf,pnfgr,pnfuvre'f,pnegrq,pneelva,pnecrgvat,pnec,pnebgvq,pnaavonyf,pnaqbe,pnra,pno'f,ohggrefpbgpu,ohfgf,ohfvre,ohyypenc,ohttva,ohqqvat,oebbxfvqr,oebqfxv,oevfgbj'f,oevt,oevqrfznvq'f,oenffvrer,oenvajnfu,oenvavnp,obgeryyr,obngybnq,oyvzrl,oynevat,oynpxarff,ovcbyne,ovcnegvfna,ovaf,ovzobf,ovtnzvfg,ovror,ovqvat,orgenlnyf,orfgbj,oryyrebcuba,orrsl,orqcnaf,onggyrfuvc,onguebbz'f,onffvarg,onfxvat,onfva,onemvav,onealneq,onesrq,oneonevna,onaqvg,onynaprf,onxre'f,onpxhcf,nivq,nhtu,nhqvgrq,nggevohgr,nggvghqrf,ng'f,nfgbe,nfgrebvqf,nffbegzrag,nffbpvngvbaf,nfvavar,nfnynnz,nebhfr,nepuvgrpgf,ndhn,nccyrwnpx,nccnenghf,nagvdhvgvrf,naablf,natryn'f,narj,napubivrf,napubef,nanylfgf,nzchyr,nycunorgvpnyyl,nybr,nyyher,nynzrvqn,nvfyrf,nvesvryq,nunu,ntterffviryl,ntteningr,nsgrezngu,nssvyvngvba,nrfgurgvp,nqiregvfrq,nqinapvat,nqrcg,nqntr,nppbzcyvprf,npprffvat,npnqrzvpf,nntu,mbarq,mbrl'f,mrny,lbxry,l'rire,jlanag'f,jevatre,jvgjre,jvguqerj,jvguqenjvat,jvguqenjnyf,jvaqjneq,jvzoyrqba,jvyl,jvyyshyyl,jubesva,juvzfvpny,juvzcrevat,jryqvat,jrqqva,jrngurerq,jrnyguvrfg,jrnxravat,jnezrfg,jnagba,jnvs,ibynag,ivib,ivir,ivfpreny,ivaqvpngvba,ivxenz,ivtbebhfyl,irevsvpngvba,irttvrf,hevangr,hcebne,hcybnq,hajevggra,hajenc,hafhat,hafhofgnagvngrq,hafcrnxnoyl,hafpehchybhf,haeniryvat,hadhbgr,hadhnyvsvrq,hashysvyyrq,haqrgrpgnoyr,haqreyvarq,hapbafgvghgvbany,hanggnvanoyr,hanccerpvngrq,hzzzz,hypref,glyraby,gjrnx,ghgh,gheava,ghex'f,ghpxre'f,ghngun,gebcrm,geraqf,geryyvf,genssvp'f,gbedhr,gbccvatf,gbbgva,gbbqyrf,gbbqyr,gvib,gvaxrevat,guhefqnl'f,guevirf,gubear'f,gurfcvf,gurernsgre,gurngevpf,gunguregba,grkgf,grfgvpyr,gree,grzcref,grnzzngrf,gnkcnlre,gnivatgba,gnzcba,gnpxyvat,flfgrzngvp,flaqvpngrq,flantbthr,fjryyrq,fjrrarl'f,fhgherf,fhfgranapr,fhesnprf,fhcrefgnef,fhasybjref,fhzngen,fhoyrg,fhowrpgvir,fghoovaf,fgehggvat,fgerja,fgernzf,fgbjnjnl,fgbvp,fgreava,fgrerbglcrf,fgrnqvyl,fgne'f,fgnyxre'f,fgnovyvmvat,fcenat,fcbggre,fcvenyvat,fcvafgre,fcryy'f,fcrrqbzrgre,fcrpvsvrq,fcrnxrnfl,fcnexrq,fbbbb,fbatjevgre,fbvyrq,farnxva,fzvgurerraf,fzryg,fznpxf,fybna'f,fynhtugreubhfr,fynat,fynpxf,fxvqf,fxrgpuvat,fxngrobneqf,fvmmyvat,fvkrf,fveerr,fvzcyvfgvp,fvsg,fvqr'f,fubhgf,fubegrq,fubrynpr,furrvg,funj'f,funeqf,funpxyrq,frdhrfgrerq,fryznx,frqhprf,frpyhfvba,frnfbany,frnzfgerff,frnornf,fpel,fpevcgrq,fpbgvn,fpbbcf,fpbbcrq,fpuvyyvatre'f,fpniratre,fnghengvba,fngpu,fnynevrf,fnsrgl'f,f'zber,f'vy,ehqrarff,ebfgbi,ebznavna,ebznapvat,ebob,eboreg'f,evbwn,evsxva,evrcre,erivfr,erhavbaf,erchtanag,ercyvpngvat,ercynprzragf,ercnvq,erarjvat,erzrzoenapr,eryvp,erynkrf,erxvaqyr,erthyngr,erterggnoyl,ertvfgrevat,ertrarengr,ersreraprq,erryf,erqhpvat,erpbafgehpg,erpvgvat,ernerq,ernccrne,ernqva,enggvat,encrf,enapub,enapure,enzzrq,envafgbez,envyebnqvat,dhrref,chakfhgnjarl,chavfurf,cfffg,cehql,cebhqrfg,cebgrpgbef,cebuvovgf,cebsvyvat,cebqhpgvivgl,cebpenfgvangvat,cebprffvba,cebnpgvir,cevff,cevznevrf,cbgbznp,cbfgzbegrz,cbzcbzf,cbyvb,cbvfr,cvcvat,cvpxhcf,cvpxvatf,culfvbybtl,cuvynaguebcvfg,curabzran,curnfnag,cresrpgvbavfg,crerggv,crbcyr'yy,cravafhyn,crpxvat,crnxf,cnir,cngebyzna,cnegvpvcnag,cnenyrtny,cnentencuf,cncnenmmv,cnaxbg,cnzcrevat,cnva'f,birefgrc,birecbjre,bingvba,bhgjrvtu,bhgynjrq,bevba'f,bcraarff,bzavcbgrag,byrt,bxen,bxvr,bqvbhf,ahjnaqn,ahegherq,avyrf'f,arjfebbz,argureynaqf,arcurjf,arrfba,arrqyrcbvag,arpxynprf,arngb,angvbanyf,zhttref,zhssyre,zbhfl,zbhearq,zbfrl,zbea,zbezba,zbcrl,zbatbyvnaf,zbyql,zbqrengryl,zbqryyvat,zvfvagrecerg,zvaarncbyvf,zvavba,zvavone,zvyyravhz,zvpebsvyz,zrgnyf,zraqbyn,zraqrq,zryvffnaqr,zr'f,zngurzngvpvna,znfgheongvat,znffnperq,znfongu,zneyre'f,znavchyngrf,znavsbyq,znyc,znvzrq,znvyobkrf,zntargvfz,zntan,z'ybeq,z'ubarl,ylzcu,yhatr,yhyy,yhxn,yg'f,ybiryvre,ybfre'f,ybavtna'f,ybqr,ybpnyyl,yvgrenpl,yvaref,yvarne,yrssregf,yrrmnx,yrqtref,yneenol,ynzobetuvav,ynybbfu,xhaqha,xbmvafxv,xabpxbss,xvffva,xvbfx,xunfvanh'f,xraarqlf,xryyzna,xneyb,xnyrvqbfpbcr,whzoyr,whttreanhg,wbfrcu'f,wvzval,wrfhvgf,wrssl,wnljnyxvat,wnvyoveq,vgfl,veerthynevgvrf,vairagvir,vagebqhprf,vagrecergre,vafgehpgvat,vafgnyyvat,vadhrfg,vaunovg,vasenpgvba,vasbezre,vasnepgvba,vapvqrapr,vzchyfviryl,vzcerffvat,vzcbegvat,vzcrefbangrq,vzcrnpu,vqvbpl,ulcreobyr,ulqen,uheenl,uhatnel,uhzcrq,uhuhu,ufvat,ubgfcbg,ubefrcbjre,ubeqrf,ubbqyhzf,ubaxl,uvgpuuvxre,uvaq,uvqrbhfyl,urapuzra,urnivat,urnguebj,urngure'f,urngupyvss,urnygupner,urnqtrne,urnqobneq,unmvat,unjxvat,unerz,unaqcevag,unyirf,unvefcenl,thgvheerm,terrare,tenaqfgnaq,tbbfrohzcf,tbbq'f,tbaqbyn,tanj,tang,tyvgpurf,tyvqr,trrf,tnfcvat,tnfrf,tneevfba'f,sebyvp,serfpn,serrjnlf,senlrq,sbegavtug,sbegvghqr,sbetrgshy,sbersnguref,sbyrl'f,sbvyrq,sbphfrf,sbnzvat,sybffvat,synvyvat,svgmtrenyqf,sverubhfr,svaqref,svyzznxref,svsgvrgu,svqqyre,sryynu,srngf,snjavat,snedhnnq,snenjnl,snapvrq,rkgerzvfgf,rkgerzrf,rkcerffrf,rkbepvfg,rkunyr,rkpry,rinyhngvbaf,rguebf,rfpnyngrq,rcvyrcfl,ragehfg,raentrq,raahv,raretvmrq,raqbjzrag,raprcunyvgvf,rzcgvrf,rzormmyvat,ryfgre,ryyvr'f,ryyra'f,ryvkve,ryrpgebylgrf,ryrpgvir,rynfgvp,rqtrq,rpba,rpyrpgvp,rntyr'f,qhcyrk,qelref,qerky,qerqtvat,qenjonpx,qensgvat,qba'gf,qbpf,qbovfpu,qvibeprr,qvgpurf,qvfgvathvfuvat,qvfgnaprf,qvferfcrpgrq,qvfcebir,qvfborlvat,qvfborqvrapr,qvfvasrpgnag,qvfpf,qvfpbirevrf,qvcf,qvcybznf,qvatl,qvterff,qvtavgnevrf,qvtrfgvir,qvrgvat,qvpgngbefuvc,qvpgngvat,qribherq,qrivfr,qrinar'f,qrgbangbef,qrgrpgvat,qrfvfg,qrfregre,qreevrer,qreba,qrevir,qrevingvir,qryrtngrf,qrsrpgf,qrsrngf,qrprcgvir,qrovyvgngvat,qrngujbx,qng'f,qneely'f,qntb,qnssbqvyf,phegfl,phefbel,phccn,phzva,phygvingr,phwb,phovp,pebaxvgr,perzngvba,perqrapr,penaxvat,pbirehc,pbhegrq,pbhagva,pbhafryyvat,pbeaonyy,pbairegvat,pbagragzrag,pbagragvba,pbagnzvangvba,pbafbegvhz,pbafrdhragyl,pbafrafhny,pbafrphgvir,pbzcerffrq,pbzcbhaqf,pbzcbfg,pbzcbaragf,pbzcnengvir,pbzcnenoyr,pbzzragvat,pbybe'f,pbyyrpgvbaf,pbyrevqtr,pbvapvqragnyyl,pyhrgg,pyrireyl,pyrnafrq,pyrnayvarff,pyrn,pyner'f,pvgvmra'f,pubcrp,pubzc,pubyren,puvaf,puvzr,purfjvpx,purffyre,purncrfg,punggrq,pnhyvsybjre,pngunefvf,pngrtbevrf,pngpuva,pnerff,pneqvtna,pncvgnyvfz,pnabcl,pnan,pnzpbeqre,pnybevr,pnpxyvat,pnobg'f,olfgnaqref,ohggbarq,ohggrevat,ohggrq,ohevrf,ohetry,ohyycra,ohssbba,oebtan,oenu,oenttrq,obhgebf,obbfgrq,oburzvna,obtrlzna,obne,oyhegvat,oyheo,oybjhc,oybbqubhaq,oyvffshy,oveguznex,ovbgrpu,ovtbg,orfgrfg,orarsvgrq,orygrq,oryyvtrerag,oryy'f,orttva,orsnyy,orrfjnk,orre'f,orpxl'f,orngavx,ornzvat,onmnne,onfushy,oneevpnqr,onaaref,onatref,onwn,onttbyv,onqarff,njel,njbxr,nhgbabzl,nhgbzbovyrf,nggvpn,nfgbevn,nffrffvat,nfuenz,negfl,negshy,nebha,nezcvgf,nezvat,nevguzrgvp,naavuvyngr,navfr,natvbtenz,naqer'f,nanrfgurgvp,nzbebhf,nzovthbhf,nzovnapr,nyyvtngbef,nssbeqrq,nqbengvba,nqzvggnapr,nqzvavfgrevat,nqnzn,npyh,nolqbf,nofbecgvba,mbaxrq,muvintb,mrnynaq,mnmh,lbhatfgre,lbexva,jebatshyyl,jevgva,jenccref,jbeeljneg,jbbcf,jbaqresnyyf,jbznayl,jvpxrqarff,jvpuvgn,jubbcvr,jubyrfnyr,jubyrurnegrqyl,juvzcre,juvpu'yy,jurerva,jurrypunvef,jung'ln,jrfg'f,jryyarff,jrypbzrf,jnil,jneera'f,jneenagrq,jnaxref,jnygunz,jnyybc,jnqvat,jnqr'f,jnpxrq,ibthr,ivetvany,ivyy,irgf,irezbhgu,irezrvy,iretre,ireof,ireonyyl,iragevff,irarre,irppuvb'f,inzcven,hgreb,hfuref,hetragyl,hagbjneq,hafunxnoyr,hafrggyrq,haehyl,haerfg,haznaarq,haybpxf,havsvrq,hatbqyl,haqhr,haqrezvarq,haqretbvat,haqretb,hapbbcrengvir,hapbagebyynoyl,haorngnoyr,gjvgpul,ghau,ghzoyre,ghof,gehrfg,gebhoyrfbzr,gevhzcuf,gevcyvpngr,gevoorl,gerag'f,genafzvffvbaf,gbegherf,gbecrqbrf,gbenu,gbatnerr,gbzzv,gvtugravat,guhaqreobyg,guhaqreoveq,gubenmvar,guvayl,gurgn,gurerf,grfgvsvrf,greer,grrantrq,grpuabybtvpny,grneshy,gnkvat,gnyqbe,gnxnfuv,gnpu,flzobyvmrf,flzobyvfz,flyynohf,fjbbcf,fjvatva,fjrqr,fhgen,fhfcraqvat,fhccyrzrag,fhaqnl'f,fhaohea,fhpphzorq,fhogvgyrq,fhofgvghgvat,fhofvqvnel,fhoqhrq,fghggrevat,fghcbe,fghzcf,fgehzzre,fgevqrf,fgengrtvmr,fgenathyngvba,fgbbcrq,fgvchyngvba,fgvatl,fgvtzn,fgrjneg'f,fgngvfgvp,fgneghc,fgneyrg,fgncyrq,fdhrnxf,fdhnjxvat,fcbvyfcbeg,fcyvpvat,fcvry,fcrapref,fcrpvsvpngvbaf,fcnjarq,fcnfzf,fcnavneq,fbhf,fbsgrare,fbqqvat,fbncobk,fabj'f,fzbyqrevat,fzvguonhre,fybtnaf,fyvpxre,fynfure,fxvggvfu,fxrcgvpvfz,fvzhyngrq,fvzvynevgl,fvyivb,fvtavsvrf,fvtanyvat,fvsgvat,fvpxrfg,fvpvyvnaf,fuhssyvat,fueviry,fubegfgbc,frafvovyvgl,fraqre,frzvanel,fryrpgvat,frterggv,frrcvat,frpheryl,fpheelvat,fpehapu,fpebgr,fperjhcf,fpubbygrnpure,fpuvorggn'f,fpuraxzna,fnjvat,fniva,fngvar,fncf,fncvraf,fnyintvat,fnyzbaryyn,fnsrthneq,fnpevyrtr,ehzchf,ehssyr,ehor,ebhgvat,ebhtuvat,ebggrq,ebfuzna'f,ebaqnyy,ebnq'f,evqqvat,evpxfunj,evnygb,euvarfgbar,erirefvoyr,erirahrf,ergvan,erfgebbzf,erfvqrf,erebhgr,erdhvfvgr,ercerff,ercyvpngr,ercrgvgvba,erzbirf,eryngvbafuvc'f,ertrag,ertnggn,ersyrpgvir,erqarpxf,erqrrzvat,erpgbel,erpbeqvatf,ernfbarq,enlrq,eniryy,enxrq,envafgbez'f,envapurpx,envqf,enssv,enpxrq,dhrel,dhnagvgvrf,chfuva,cebgbglcrf,cebcevrgbe,cebzbgrf,cebzrgurhf,cebzranqr,cebwrpgvyr,cebtral,cebsrff,cebqqvat,cebpher,cevzrgvzr,cerfhzvat,cerccl,cerqavfbar,cerqrprffbe,cbggrq,cbfggenhzngvp,cbccvrf,cbbeubhfr,cbby'f,cbynebvq,cbqvngevfg,cyhpxl,cybjrq,cyrqtvat,cynlebbz,cynlubhfr,cynl'f,cynvg,cynpngr,cvgpusbex,cvffnag,cvaonpx,cvpxrgvat,cubgbtencuvat,cunebnu,crgenx,crgny,crefrphgvat,crepunapr,craal'f,cryyrgf,crrirq,crreyrff,cnlnoyr,cnhfrf,cngujnlf,cngubybtvfg,cng'f,cnepuzrag,cncv,cntyvnppv,bjyf,birejebhtug,birejuryzvatyl,bireernpgvba,biredhnyvsvrq,bireurngrq,bhgjneq,bhgyvarf,bhgpnfgf,bgurejbeyqyl,bevtvanyvgl,betnavfzf,bcvavbangrq,bbqyrf,bsgragvzrf,bpgnar,bppherq,bofgvangr,bofreingbel,b're,ahgevgvbavfg,ahgevgvba,ahzoarff,ahovyr,abgvsvpngvba,abgnel,abbbbbbb,abqrf,abobqvrf,arcbgvfz,arvtuobeubbqf,arnaqregunyf,zhfvpnyf,zhfuh,zhecul'f,zhygvzrqvn,zhphf,zbgurevat,zbguonyyf,zbabtenzzrq,zbax'f,zbyrfgvat,zvffcbxr,zvffcryyrq,zvfpbafgehrq,zvfpryynarbhf,zvfpnyphyngrq,zvavzhzf,zvapr,zvyqrj,zvtugn,zvqqyrzna,zrgnobyvp,zrffratref,zrzragbf,zryybjrq,zrqvgngr,zrqvpner,znlby,znkvzvyvna,znhyrq,znffntrq,zneznynqr,zneqv,znaavr,znaqngrf,znzznyf,znynlfvn,znxvatf,znwbe'f,znvz,yhaqrtnneq,ybivatyl,ybhg,ybhvfivyyr,ybhqrfg,ybggb,ybbfvat,ybbzcn,ybbzvat,ybatf,ybqtvat,ybngurf,yvggyrfg,yvggrevat,yvaronpxre,yvsryvxr,yv'y,yrtnyvgvrf,ynirel'f,ynhaqrerq,yncqbt,ynprengvbaf,xbcnyfxv,xabof,xavggrq,xvggevqtr,xvqancf,xrebfrar,xngln,xneenf,whatyrf,whxr,wbrf,wbpxrlf,wrerzl'f,wrsr,wnarveb,wnpdhryvar'f,vgunpn,veevtngvba,venabss,vaibvprf,vaivtbengvat,vagrfgvany,vagrenpgvir,vagrtengvba,vafbyrapr,vafvaprer,vafrpgbcvn,vauhznar,vaunyvat,vatengrf,vasenfgehpgher,vasrfgngvba,vasnagf,vaqvivqhnyvgl,vaqvnancbyvf,vaqrgrezvangr,vaqrsvavgr,vapbafvfgrag,vapbzcerurafvoyr,vanhtheny,vanqrdhnpl,vzcebcevrgl,vzcbegre,vzntvangvbaf,vyyhzvangvat,vtavgrq,vtavgr,vttl,v'qn,ulfgrevpf,ulcbqrezvp,ulcreiragvyngr,ulcregrafvba,ulcrenpgvir,uhzbevat,ubgqbtf,ubarlzbbavat,ubarq,ubvfg,ubneqvat,uvgpuvat,uvagrq,uvyy'f,uvxre,uvwb,uvtugnvy,uvtuynaqf,urzbtybova,uryb,uryy'q,urvavr,unabv,untf,thfu,threevyynf,tebjva,tebt,tevffbz'f,tertbel'f,tenfcrq,tenaqcnerag,tenaqqnhtugref,tbhtrq,tboyvaf,tyrnz,tynqrf,tvtnagbe,trg'rz,trevngevp,trnerq,tnjx,tnjq,tngrxrrcre,tnetblyrf,tneqravnf,tnepba,tneob,tnyybjf,tnor'f,tnool'f,tnoovat,shgba,shyyn,sevtugshy,serfurare,serrqbzf,sbhagnvaf,sbeghvgbhf,sbezhynf,sbeprcf,sbttrq,sbqqre,sbnzl,sybttvat,synha,synerq,svercynprf,sversvtugref,svaf,svygrerq,srirevfu,sniryy,snggrfg,snggravat,sngr'f,snyybj,snphygvrf,snoevpngrq,rkgenbeqvanver,rkcerffyl,rkcerffvir,rkcyberef,rinqr,rinphngvat,rhpyvq,rgunaby,reenag,raivrq,rapunag,ranzberq,ranpg,rzonexvat,ryrpgvba'f,rtbpragevp,rral,qhffnaqre,qhajvggl,qhyyrfg,qeh'f,qebcbhg,qerqtrq,qbefvn,qbezvgbel,qbbg,qbbeanvy,qbatf,qbttrq,qbqtl,qb'f,qvggl,qvfubabenoyr,qvfpevzvangvat,qvfpbagvahr,qvatf,qvyyl,qvsshfr,qvrgf,qvpgngvba,qvnylfvf,qrgrevbengrq,qryyl,qryvtugshyyl,qrsvavgvbaf,qrpernfrq,qrpyvavat,qrnqyvrfg,qnelyy,qnaqehss,plaguvn'f,phfu,pehqql,pebdhrg,pebpbqvyrf,pevatr,pevzc,perqb,penavny,penpxyvat,pblbgrf,pbhegfvqr,pbhcyvat,pbhagrebssre,pbhagresrvgvat,pbeehcgvat,pbeerpgvir,pbcgre,pbccvat,pbajnl'f,pbairlbe,pbaghfvbaf,pbaghfvba,pbafcvengbe,pbafbyvat,pbaabvffrhe,pbawrpgher,pbasrggv,pbzcbfher,pbzcrgvgbe,pbzcry,pbzznaqref,pbybherq,pbyyrpgbe'f,pbyvp,pbyqrfg,pbvapvqr,pbqqyr,pbpxfhpxref,pbnk,pbnggnvyf,pybarq,pyvss'f,pyrevpny,pynhfgebcubovn,pynffebbzf,pynzbevat,pvivpf,puhea,puhttn,puebzbfbzrf,puevfgrarq,pubccre'f,puvecvat,punfva,punenpgrevmrq,punccrq,punyxobneq,pragvzrgre,pnlznaf,pngurgre,pnfcvna,pnfvatf,pnegvyntr,pneygba'f,pneq'f,pncevpn,pncryyv,pnaabyvf,pnaabyv,pnanyf,pnzcnvtaf,pnzbtyv,pnzrzoreg,ohgpuref,ohgpurerq,ohfoblf,ohernhpengf,ohatnybj,ohvyqhc,ohqjrvfre,ohpxyrq,ohoor,oebjafgbar,oeniryl,oenpxyrl,obhdhrgf,obgbk,obbmvat,obbfgref,obquv,oyhaqref,oyhaqre,oybpxntr,oyraqrq,oynpxoreel,ovgpu'f,ovegucynpr,ovbplgr,ovxvat,ovxr'f,orgenlf,orfgbjrq,orfgrq,orelyyvhz,orurnqvat,ortvaare'f,orttne,ortovr,ornzrq,onlbh,onfgvyyr,onfx,onefgbby,oneevpnqrf,oneba'f,oneorphrf,oneorphrq,oneo'f,onaqjntba,onaqvgf,onyybgf,onyynqf,onpxsvevat,onpneen,nibvqnapr,niratrq,nhgbcfvrf,nhfgevna,nhagvrf,nggnpur,ngevhz,nffbpvngvat,negvpubxr,neebjurnq,neevinyf,nebfr,nezbel,nccraqntr,ncbfgebcur,ncbfgyrf,ncngul,nagnpvq,nafry,naba,naahy,naavuvyngvba,naqerj'f,naqrefba'f,nanfgnfvn'f,nzhfrf,nzcrq,nzvpnoyr,nzraqzragf,nzoret,nyyhevat,nyybggrq,nysnysn,nypbubyvfz,nvef,nvyvat,nssvavgl,nqirefnevrf,nqzveref,nqynv,nqwrpgvir,nphchapgher,npbea,noabeznyvgl,nnnnuuuu,mbbzvat,mvccvgl,mvccvat,mrebrq,lhyrgvqr,lblbqlar,lratrrfr,lrnuuu,kran,jevaxyl,jenpxrq,jbeqvat,jvgurerq,jvaxf,jvaqzvyyf,jvqbj'f,jubccvat,jubyyl,jraqyr,jrvtneg,jrrxraq'f,jngrejbexf,jngresbeq,jngreorq,jngpushy,jnagva,jnyyl'f,jnvy,jnttvat,jnny,jnnnu,ilvat,ibgre,ivyyr,iregroenr,irefngvyr,iragherf,iragevpyr,ineavfu,inphhzrq,hhtu,hgvyvgvrf,hcgnxr,hcqngvat,haernpunoyr,hacebibxrq,hazvfgnxnoyr,haxl,hasevraqyl,hasbyqvat,haqrfvenoyr,haqregnxr,haqrecnvq,haphss,hapunatrq,hanccrnyvat,hanobzore,hsbf,glerf,glcubvq,gjrrx'f,ghkrqbf,ghfuvr,gheerg,gheqf,ghzahf,ghqr,gehzna'f,gebhonqbhe,gebcvp,gevavhz,gerngref,gernqf,genafcverq,genafvrag,genafterffvba,gbheanzragf,gbhtug,gbhpuqbjaf,gbgrz,gbyfgbl,guernql,guvaf,guvaaref,gunf,greevoyr'f,gryrivfvba'f,grpuf,grnel,gnggntyvn,gnffryf,gnemnan,gncr'f,gnaxvat,gnyynunffrr,gnoyrpybguf,flabalzbhf,flapuebavmr,flzcgbzngvp,flzzrgevpny,flpbcunag,fjvzzvatyl,fjrngfubc,fheebhaqf,fhesobneq,fhcrecbjref,fhaebbz,fhasybjre,fhaoybpx,fhtnecyhz,fhqna,fhofvqvrf,fghcvqyl,fgehzcrg,fgerrgpne,fgengrtvpnyyl,fgencyrff,fgenvgf,fgbbcvat,fgbbyf,fgvsyre,fgrzf,fgrnygul,fgnyxf,fgnveznfgre,fgnssre,ffuuu,fdhnggvat,fdhnggref,fcberf,fcryg,fcrpgnphyneyl,fcnavry,fbhyshy,fbeorg,fbpxrq,fbpvrgl'f,fbpvnoyr,fahoorq,faho,fabegvat,favssyrf,fanmml,fanxrovgr,fzhttyre,fzbetnfobeq,fzbbpuvat,fyhecvat,fyhqtr,fybhpu,fyvatfubg,fyvpre,fynirq,fxvzzrq,fxvre,fvfgreubbq,fvyyvrfg,fvqryvar,fvqneguhe,fuevax'f,fuvcjerpx,fuvzzl,furengba,furonat,funecravat,funatunvrq,funxref,fraqbss,fpheil,fpbyvbfvf,fpnerql,fpnyrq,fpntarggv,fnkbcubar,fnjpuhx,fnivbhe,fnhthf,fnghengrq,fnfdhngpu,fnaqont,fnygvarf,f'cbfr,eblnygvrf,ebhgvaryl,ebhaqnobhg,ebfgba,ebfgyr,evirgvat,evfgyr,evtu,evsyvat,erihyfvba,erireragyl,ergebtenqr,erfgevpgvba,erfgshy,erfbyivat,erfragf,erfpvaqrq,ercgvyvna,ercbfvgbel,erbetnavmr,eragnyf,erag'f,erabingvat,erany,erzrqvrf,ervgrengr,ervairag,ervazne,ervoref,errpuneq,erphfr,erpbeqref,erpbeq'f,erpbapvyvat,erpbtavmnapr,erpbtavfrq,erpynvzvat,erpvgngvba,erpvrirq,erongr,ernpdhnvagrq,engvbaf,enfpnyf,encgbef,envyyl,dhvaghcyrgf,dhnubt,cltzvrf,chmmyvat,chapghnyvgl,cflpubnanylfvf,cfnyz,cebfgurgvp,cebcbfrf,cebzf,cebyvsrengvba,cebuvovgvba,cebovr,cevagref,cerlf,cergrkg,cerfreire,cerccvr,cent,cenpgvfr,cbfgznfgre,cbegenlrq,cbyyra,cbyyrq,cbnpuref,cyhzzrg,cyhzoref,cyrq,cynaava,cvglvat,cvgsnyyf,cvdhrq,cvarperfg,cvapurf,cvyyntr,cvturnqrq,cvrq,culfvdhr,crffvzvfgvp,crefrphgr,crewher,crepu,crepragvyr,cragbguny,crafxl,cravfrf,crxvat,crvav,crnprgvzr,cnmmv,cnfgryf,cnegvfna,cneybhe,cnexjnl,cnenyyryf,cncrejrvtug,cnzcre,cnyfl,cnynprf,cnvarq,birejuryz,bireivrj,birenyyf,binevna,bhgenax,bhgcbhevat,bhgubhfr,bhgntr,bhvwn,beovgny,byq'f,bssfrg,bssre'f,bpphclvat,bofgehpgrq,bofrffvbaf,bowrpgvirf,borlvat,borfr,b'evyrl,b'arny,b'uvttvaf,alyba,abgbevbhfyl,abfroyrrqf,abezna'f,abenq,abbbbbbbb,abababab,abapunynag,abzvany,abzr,avgebhf,avccl,arhebfvf,arxubeivpu,arpebabzvpba,angvivgl,andhnqn,anab,anav,a'rfg,zlfgvx,zlfgvsvrq,zhzf,zhzcf,zhygvangvbany,zhqqyr,zbgurefuvc,zbcrq,zbahzragnyyl,zbabtnzbhf,zbaqrfv,zbyqrq,zvkrf,zvfbtlavfgvp,zvfvagrecergvat,zvenaqn'f,zvaqybpx,zvzvp,zvqgbja,zvpebcubarf,zraqvat,zrtncubar,zrral,zrqvpngvat,zrnavatf,zrnavr,znffrhe,zneh,znefuny'f,znexfgebz,znexynef,znevnpuv,znethrevgnf,znavsrfgvat,znvagnvaf,znvy'f,znunenwnu,yhex,yhyh'f,yhxrjnez,ybiryvrfg,ybirnoyr,ybeqfuvc,ybbgvat,yvmneqb,yvdhberq,yvccrq,yvatref,yvzrl,yvzrfgbar,yvrhgranagf,yrzxva,yrvfheryl,ynherngr,yngur,yngpurq,ynef,ynccvat,ynqyr,xhnyn,xeriybearfjngu,xbfltva,xunxvf,xraneh,xrngf,xngu,xnvgyna,whfgva'f,whyyvneq,whyvrg'f,wbhearlf,wbyyvrf,wvss,wnhaqvpr,wnetba,wnpxnyf,wnobg'f,vaibxrq,vaivfvovyvgl,vagrenpgvat,vafgvghgrq,vafvcvq,vaabingvir,vasynzrq,vasvavgryl,vasrevbevgl,varkcrevrapr,vaqverpgyl,vaqvpngvbaf,vapbzcngvoyr,vapvarengrq,vapvarengr,vapvqragny,vapraqvnel,vapna,vaoerq,vzcyvpvgyl,vzcyvpngvat,vzcrefbangbe,vzcnpgrq,vqn'f,vpuveb,vntb,ulcb,uheevpnarf,uhaxf,ubfg'f,ubfcvpr,ubefvat,ubbqrq,ubarl'f,ubzrfgrnq,uvccbcbgnzhf,uvaqhf,uvxrq,urgfba,urgreb,urffvna,urafybjr,uraqyre,uryyfgebz,urpngr,urnqfgbar,unlybsg,ungre,unfg,unebyq'f,uneohpxf,unaqthaf,unyyhpvangr,unyyvjryy'f,unyqby,unvyvat,unttyvat,unqw,tlanrpbybtvfg,thzonyy,thynt,thvyqre,thnenagrrvat,tebhaqfxrrcre,tebhaq'f,tevaqfgbar,tevzbve,tevrinapr,tevqqyr,tevoovg,terlfgbar,tenprynaq,tbbqref,tbrgu,tybffl,tynz,tvqqlhc,tragyrznayl,tryf,tryngva,tnmryyr,tnjxvat,tnhyyr,tngr'f,tnatrq,shfrq,shxrf,sebzol,serapuzra,senaal,sbhefbzr,sbefyrl,sberzna'f,sbeovqf,sbbgjbex,sbbgubyq,sbam,sbvf,sbvr,sybngre,syvatvat,syvpxvat,svggrfg,svfgsvtug,sveronyyf,svygengvba,svyyvatf,svqqyvat,srfgvinyf,sregvyvmngvba,sraalzna,srybavbhf,srybavrf,srprf,snibevgvfz,snggra,snasner,snangvpf,snprzna,rkgrafvbaf,rkrphgvbaf,rkrphgvat,rkphfvat,rkprcgrq,rknzvare'f,rk'f,rinyhngvat,rhtu,reebarbhf,ramlzr,raibl,ragjvarq,ragenaprf,rafpbaprq,raebyyzrag,ratynaq'f,rarzl'f,rzvg,rzretrf,rzonaxzrag,rz'f,ryyvfba'f,ryrpgebaf,rynqvb,rueyvpuzna,rnfgreynaq,qlyna'f,qjryyref,qhryvat,qhoorq,qevooyvat,qencr,qbmr,qbjagebqqra,qbhfrq,qbfrq,qbeyrra,qbcnzvar,qbzrfgvpngrq,qbxvr,qbttbar,qvfgheonaprf,qvfgbeg,qvfcyrnfrq,qvfbja,qvfzbhag,qvfvaurevgrq,qvfnezrq,qvfnccebirf,qvfnovyvgvrf,qvcrean,qvbkvqr,qvarq,qvyvtrag,qvpncevb,qvnzrgre,qvnyrpg,qrgbangrq,qrfgvghgr,qrfvtangr,qrcerff,qrzbyvfu,qrzbtencuvpf,qrtenqrq,qrsvpvrag,qrpbqrq,qrongnoyr,qrnyrl,qnefu,qnccre,qnzfryf,qnzavat,qnvfl'f,qnq'yy,q'brhier,phggre'f,pheyref,phevr,phorq,pelb,pevgvpnyyl,pevxrl,percrf,penpxurnq,pbhagelzra,pbhag'f,pbeeryngvba,pbeasvryq,pbccref,pbcvybg,pbcvre,pbbeqvangvat,pbbvat,pbairetr,pbagevohgbe,pbafcvenpvrf,pbafbyvqngrq,pbafvtyvrer,pbafrpengrq,pbasvthengvba,pbaqhpgf,pbaqbavat,pbaqrzangvba,pbzzhavgvrf,pbzzbare,pbzzvrf,pbzzragrq,pbzvpny,pbzohfg,pbznf,pbyqf,pybq,pyvdhr,pynl'f,pynjrq,pynzcrq,pvpv,puevfgvnavgl,pubbfl,pubzcvat,puvzcf,puvtbeva,puvnagv,puriny,purg'f,purrc,purpxhcf,purpx'f,purngref,punfr'f,punegrq,pryvongr,pnhgvbhfyl,pnhgvbanel,pnfgryy,pnecragel,pnebyvat,pnewnpxvat,pnevgnf,pnertvire,pneqvbybtl,pneo,pncghevat,pnagrra,pnaqyrfgvpxf,pnaqvrf,pnaqvqnpl,pnanfgn,pnyraqnef,pnva'g,pnobbfr,ohfgre'f,oheeb,oheava,ohba,ohaxvat,ohzzvat,ohyyjvaxyr,ohqtrgf,oehzzry,oebbzf,oebnqpnfgf,oevgg'f,oerjf,oerrpu,oernguva,oenfybj,oenpvat,obhgf,obghyvfz,obfavn,obbevfu,oyhrabgr,oybbqyrff,oynlar,oyngnagyl,oynaxvr,oveql,orar,orrgyrf,orqohtf,orphnfr,orpxf,orneref,onmbbxn,onljngpu,oninevna,onfrzna,onegraqre'f,oneevfgre,oneznvq,onetrf,onerq,onenphf,onany,onzovab,onygvp,onxh,onxrf,onqzvagba,onpba'f,onpxcnpxf,nhgubevmvat,nheryvhf,nggragvbaf,ngebpvbhf,ngvina,ngunzr,nfhaqre,nfgbhaq,nffhevat,nfcvevaf,nfculkvngvba,nfugenlf,nelnaf,negvfgel,neaba,nera,nccebkvzngr,nccerurafvba,nccenvfny,nccynhqvat,naln'f,naivy,nagvdhvat,nagvqrcerffnagf,naablvatyl,nzchgngr,nygehvfgvp,nybggn,nyyrtngvba,nyvrangvba,nytrevna,nytnr,nyregvat,nvecbeg'f,nvqrq,ntevphygheny,nsgregubhtug,nssebag,nssvez,nqncgrq,npghnyvgl,npbhfgvpf,npbhfgvp,npphzhyngr,nppbhagnovyvgl,nolfzny,nofragrr,mvzz,lirf,lbbubb,lzpn,lryyre,lnxhfubin,jhmml,jevttyr,jbeevre,jbexzra,jbbtlzna,jbznavmre,jvaqcvcr,jvaqrk,jvaqont,jvyyl'f,jvyyva,jvqravat,juvfxvat,juvzfl,jraqnyy,jrral,jrrafl,jrnfryf,jngrel,jngpun,jnfgrshy,jnfxv,jnfupybgu,jnegvzr,jnnnl,ibjry,ibhpurq,ibyxfjntra,ivmavpx,ivfhnyf,ivfvgbe'f,irgrena'f,iragevybdhvfg,irabzbhf,iraqbef,iraqrggnf,irvyf,iruvphyne,inluhr,inel,inevrf,ina'f,inznabf,inqvzhf,hhuu,hcfgntr,hccvgl,hcurniny,hafnvq,haybpxvat,havirefnyyl,havagragvbanyyl,haqvfchgrq,haqrgrpgrq,haqretenqhngr,haqretbar,haqrpvqrq,hapnevat,haornenoyl,gjbf,gjrra,ghfpna,ghexrl'f,ghzbe'f,gelbhg,gebggvat,gebcvpf,gevav,gevzzvatf,gevpxvre,gerr'f,gerngva,gernqfgbar,genfupna,genafcbegf,genafvfgbe,genafpraqrag,genzcf,gbkvpvgl,gbjafsbyx,gbeghebhf,gbeevq,gbbgucvpxf,gbzof,gbyrenoyr,gbranvy,gveryrff,gvcgbrvat,gvaf,gvaxreoryy,gvax,gvzznl,gvyyvatubhfr,gvqlvat,gvovn,guhzovat,guehfgref,guenfuvat,gubzcfba'f,gurfr'yy,grfgvphyne,grezvabybtl,grevlnxv,grabef,granpvgl,gryyref,gryrzrgel,grnf,grn'f,gneentba,gnyvona,fjvgpuoynqr,fjvpxre,fjryyf,fjrngfuvegf,fjngpurf,fjngpu,fjnccrq,fhmnaar'f,fhetvat,fhcerzryl,fhagna,fhzc'a,fhtn,fhpphzo,fhofvqvmr,fhobeqvangr,fghzoyrf,fghssf,fgebatubyq,fgbccva,fgvchyngr,fgrjvr'f,fgrabtencure,fgrnzebyy,fgqf,fgngryl,fgnfvf,fgnttre,fdhnaqrerq,fcyvag,fcyraqvqyl,fcynggre,fcynful,fcynfuvat,fcrpgen'f,fcrpgre,fbeel'f,fbepreref,fbbg,fbzrjurerf,fbzore,fbyirag,fbyqvre'f,fbve,fahttyrq,fabjzbovyr,fabjonyy'f,favssrq,fanxr'f,fantf,fzhttyref,fzhqtrq,fzvexvat,fzrnevat,fyvatf,fyrrg,fyrrcbiref,fyrrx,fynpxref,fxvezvfu,fverr,fvcubavat,fvatrq,fvaprerfg,fvtavslvat,fvqarl'f,fvpxrarq,fuhssyrq,fueviryrq,fubegunaqrq,fuvggva,fuvfu,fuvcjerpxrq,fuvaf,fuvatyr,furrgebpx,funjfunax,funzh,fun'er,freivghqr,frdhvaf,frvasryq'f,frng'f,frnfpncr,frnz,fphycgbe,fpevcgher,fpencvatf,fpbherq,fpberobneq,fpbepuvat,fpvraprf,fnen'f,fnaqcncre,fnyintrq,fnyhgvat,fnyhq,fnynznaqre,ehtengf,ehssyrf,ehssyrq,ehqbycu'f,ebhgre,ebhtuarpxf,ebhture,ebffyla,ebffrf,ebfpb'f,ebbfg,ebbzl,ebzcvat,ebzrb'f,ebof,ebnqvr,evqr'f,evqqyre,evnaan'f,eribyhgvbavmr,erivfvbaf,erhavgvat,ergnxr,ergnvavat,erfgvghgvba,erfgnhenag'f,erfbegf,erchgrq,ercevznaqrq,ercyvrf,erabingr,erzanagf,ershgr,ersevtrengrq,ersbezf,erryrq,errsf,errq'f,erqhaqnapvrf,erpgnatyr,erpgny,erpxyrffyl,erprqvat,ernffvtazrag,ernevat,erncref,ernyzf,ernqbhg,engvba,enevat,enzoyvatf,enprgenpx,enppbbaf,dhbv,dhryy,dhnenagvarq,dhnxre,chefhnag,chee,chetvat,chagref,chycvg,choyvfuref,choyvpngvbaf,cflpubybtvfgf,cflpuvpnyyl,cebivaprf,cebhfg,cebgbpbyf,cebfr,cebcurgf,cebwrpg'f,cevrfgubbq,cerinvyrq,cerznevgny,certanapvrf,cerqvfcbfrq,cerpnhgvbanel,cbccva,cbyyhgr,cbyyb,cbqhax,cyhzf,cynlguvat,cyngrnh,cvkvyngrq,cvibg,cvggvat,cvenaunf,cvrprq,cvqqyrf,cvpxyrq,cvpxre,cubgbtravp,cubfcubebhf,cunfrf,csssg,crgrl'f,crfgf,crfgvyrapr,crffvzvfg,crfbf,crehivna,crefcvengvba,crecf,cragvpbss,crqnyf,cnlybnq,cnffntrjnlf,cneqbaf,cncevxn,cncreobl,cnavpf,cnapnzb,cnz'f,cnyrbagbybtvfg,cnvagvat'f,cnpvsvfg,bmmvr,birejuryzf,birefgngvat,birefrrvat,birecnvq,bireync,biresybj,bireqvq,bhgfcbxra,bhgyvir,bhgynjf,begubqbagvfg,beva,betvrf,berbf,beqbire,beqvangrf,bbbbbbu,bbbbuuu,bzryrggrf,bssvpvngr,boghfr,bovgf,bnxjbbq,alzcu,ahgevgvbany,aherzoret,abmmyr,abibpnvar,abgnoyr,abbbbbbbbbb,abqr,avccvat,avyyl,avxxb,avtugfgvpx,avpnenthn,arhebybtl,aryfba'f,artngr,arngarff,angherq,aneebjyl,anepbgvp,anepvffvfz,ancbyrba'f,anan'f,anzha,anxngbzv,zhexl,zhpunpub,zbhgujnfu,zbgmnu,zbgureshpxre'f,zbegne,zbefry,zbeevfba'f,zbecu,zbeybpxf,zberbire,zbbpu,zbabkvqr,zbybpu,zbyrfg,zbyqvat,zbuen,zbqhf,zbqvphz,zbpxbyngr,zbovyvgl,zvffvbanevrf,zvfqrzrnabef,zvfpnyphyngvba,zvabevgvrf,zvqqvrf,zrgevp,zreznvqf,zrevathr,zrepvyrffyl,zrepunaqvfvat,zrag,zrqvgngvat,zr'a,znlnxbifxl,znkvzvyyvna,znegvavdhr,zneyrr,znexbifxv,znevffn'f,znetvany,znafvbaf,znavgbon,znavnpny,znarhirerq,zntf,zntavsvprapr,znqqravat,ylevpny,yhgmr,yhatrq,ybiryvrf,ybh'f,ybeel,ybbfravat,ybbxrr,yvire'f,yvin,yvggrerq,yvynp,yvtugrarq,yvtugrq,yvprafvat,yrkvatgba,yrggrevat,yrtnyvgl,ynhapurf,yneinr,ynerqb,ynaqvatf,ynaprybg'f,ynxre,ynqlfuvc'f,ynprf,xhemba,xhegmjrvy,xbob,xabjyrqtrnoyr,xvafuvc,xvaq'ir,xvzbab,xrawv,xrzoh,xrnah,xnmhb,xnlnxvat,whavbef,wbarfvat,wbnq,wvygrq,wvttyvat,wrjryref,wrjovyrr,wrsserl'f,wnzrl'f,wnpdabhq,wnpxfbaf,wnof,vibevrf,vfag,veevgngvba,vendvf,vagryyrpghnyf,vafhezbhagnoyr,vafgnaprf,vafgnyyzragf,vaabphbhf,vaaxrrcre,vaan,vasyhrapvat,vasnagrel,vaqhytrq,vaqrfpevonoyr,vapbeerpgyl,vapburerag,vanpgvir,vanpphengr,vzcebcreyl,vzcreivbhf,vzcregvarag,vzcresrpgvbaf,vzubgrc,vqrbybtl,vqragvsvrf,v'vy,ulzaf,uhgf,uheqyrf,uhaareg,uhzcgl,uhssl,ubheyl,ubefvrf,ubefrenqvfu,ubbb,ubabhef,ubaqhenf,ubyybjrq,ubtjnfu,ubpxyrl,uvffvat,uvebzvgfh,uvrenepul,uvqva,urernsgre,urycznaa,unhtugl,unccravatf,unaxvr,unaqfbzryl,unyyvjryyf,unxyne,unvfr,thafvtugf,thaa'f,tebffyl,tebffrq,tebcr,tebpre,tevgf,tevccvat,terracrnpr,tenaqqnq'f,tenool,tybevsvphf,tvmmneq,tvyneqv,tvonevna,trzvaba,tnffrf,tneavfu,tnyybcvat,tnynpgvp,tnvejla,tnvy'f,shggrezna,shgvyvgl,shzvtngrq,sehvgyrff,sevraqyrff,serba,sengreavgvrf,senap,senpgvbaf,sbkrf,sbertbar,sbertb,sbyvntr,syhk,sybberq,syvtugl,syrful,syncwnpxf,svmmyrq,svggvatf,svfurezna'f,svanyvfg,svphf,srfgrevat,sreentnzb'f,srqrengvba,sngnyvgvrf,sneozna,snzvyvny,snzrq,snpghny,snoevpngr,rltuba,rkgevpngr,rkpunatrf,rknygrq,ribyivat,riragshy,rfbcunthf,rehcgvba,raivfvba,rager,ragrecevfvat,ragnvy,rafhevat,raebyyvat,raqbe,rzcungvpnyyl,rzvarag,rzoneenffrf,ryrpgebfubpx,ryrpgebavpnyyl,ryrpgebqrf,rssvpvragyl,rqvaohetu,rpfgnpl,rpbybtvpny,rnfry,qjneirf,qhssyr,qehzfgvpxf,qenxr'f,qbjafgernz,qbjarq,qbyysnpr,qvinf,qvfgbegvba,qvffrag,qvffrpgvba,qvffrpgrq,qvfehcgvir,qvfcbfvat,qvfcnentvat,qvfbevragngvba,qvfvagrtengrq,qvfpbhagf,qvfnezvat,qvpgngrq,qribgvat,qrivngvba,qrgrpgvir'f,qrffnyvar,qrcerpngvat,qrcybenoyr,qryir,qrvgl,qrtrarengvir,qrsvpvrapvrf,qrqhpg,qrpbzcbfrq,qrprnfrq'f,qroovr'f,qrnguyl,qrnevr,qnhagvat,qnaxbin,pmrpubfybinxvn,plpybgeba,plorefcnpr,phgonpxf,phfc,phycnoyr,phqqyrq,pelcgb,pehzcrgf,pehvfrf,pehvfref,pehryyl,pebjaf,pebhpuvat,pevfgb,pevc,pevzvabybtl,penavhz,penzzvat,pbjrevat,pbhevp,pbhagvrf,pbfl,pbexl'f,pbeqrfu,pbairefngvbany,pbafreingbel,pbaxyva'f,pbaqhpvir,pbapyhfviryl,pbzcrgvgvbaf,pbzcngvovyvgl,pbrhe,pyhat,pybhq'f,pybggvat,pyrnarfg,pynffvsl,pynzonxr,pvivyvmngvbaf,pvgrq,pvcure,pvarzngvp,puybevar,puvccvat,puvan'f,puvzcnamrr,purfgf,purpxcbvagf,purncra,punvafnjf,prafher,prafbefuvc,przrgrevrf,pryroengrf,prrw,pnivgvrf,pngnchyg,pnffrggrf,pnegevqtr,pneninttvb,pnengf,pncgvingvat,pnapref,pnzchfrf,pnzcoryy'f,pnyevffvna,pnyvoer,pnyphggn,pnynzvgl,ohgg'f,ohgyref,ohflobql,ohffvat,ohernh'f,ohavba,ohaql'f,ohyvzvp,ohytnevn,ohqtvat,oehat,oebjorng,oebxrentr,oebxraurnegrq,oerpure,oernxqbjaf,oenha'f,oenproevqtr,oblubbq,obgnavpny,obahfrf,obavat,oybjuneq,oybp,oyvfgref,oynpxobneq,oynpxoveq,oveguf,oveqvrf,ovtbgel,ovttl,ovoyvbtencul,ovnyl,ounzen,orguyrurz,org'f,oraqrq,orytenqr,ortng,onlbarg,onjy,onggrevat,onfgr,onfdhvng,oneelzber,oneevatgba'f,oneevpnqrq,onebzrgre,onyfbz'f,onyyrq,onyynfg,onvgrq,onqrajrvyre,onpxunaq,nmgrp,nkyr,nhfpujvgm,nfgebculfvpf,nfprafpvba,nethzragngvir,nethnoyl,neol'f,neoberghz,nenznvp,nccraqvpvgvf,nccnevgvba,ncuebqvgr,nakvbhfyl,nagntbavfgvp,nabznyvrf,naar'f,natben,narpqbgrf,nanaq,nanpbgg,nzavbgvp,nzravgvrf,nzovrapr,nybaan,nyrpx,nyoreg'f,nxnfuvp,nvevat,ntryrff,nseb,nssvyvngrf,nqiregvfref,nqbor,nqwhfgnoyr,npebong,nppbzzbqngvba,nppryrengvat,nofbeovat,nobhgf,nobegvbaf,noabeznyvgvrf,nnjjjj,nnnnneeeeeetttuuu,mhxb'f,mbybsg,mraqv,mnzobav,lhccvrf,lbqry,l'urne,jlpx,jenatyr,jbhaqvat,jbefuvccref,jbexre'f,jbes,jbzobfv,jvggyr,jvgufgnaqvat,jvfrpenpxf,jvyyvnzfohet,jvyqre'f,jvttyl,jvttyvat,jvreq,juvggyrfyrl,juvccre,junggln,jungfnznggre,jungpunznpnyyvg,junffhc,junq'ln,jrvtugrq,jrnxyvat,jnkl,jnireyl,jnfcf,jneuby,jnesneva,jncbavf,jnzchz,jnyyrq,jnqa'g,jnpb,ibenfu,ibtyre'f,ivmmvav,ivfnf,iveghpba,ivevqvnan,irir,irgbrq,iregvpnyyl,irenpvgl,iragevphyne,iragvyngrq,inevpbfr,inepba,inaqnyvmrq,inzcver'f,inzbf,inzbbfr,iny'f,inppvangrq,inpngvbavat,hfgrq,hevany,hccref,hcxrrc,hajvggvatyl,hafvtarq,hafrnyrq,hacynaarq,hauvatrq,haunaq,hasngubznoyr,hardhvibpnyyl,harnegurq,haoernxnoyr,hanavzbhfyl,hanqivfrqyl,hqnyy,glanpbec,gjvfgl,ghkrf,ghffyr,ghengv,ghavp,ghovat,gfnib,gehffrq,gebhoyrznxref,gebyybc,gevc'f,gevaxrg,gevybtl,gerzbef,gerxxvr,genaffrkhny,genafvgvbany,genafshfvbaf,genpgbef,gbbguoehfurf,gbarq,gbxr,gbqqyref,gvgna'f,gvgn,gvagrq,gvzba,gvzrfybg,gvtugrarq,guhaqrevat,gubecrl,gubenpvp,guvf'q,gurfcvna,gurencvfg'f,gurberz,gunqqvhf,grkna,grahbhf,graguf,grarzrag,gryrguba,gryrcebzcgre,grpuavpbybe,grnfcbba,grnzzngr,grnphc,gnhagrq,gnggyr,gneqvarff,gnenxn,gnccl,gncvbpn,gncrjbez,gnavgu,gnaqrz,gnybaf,gnyphz,gnvf,gnpxf,flapuebavmrq,fjviry,fjvt,fjnlvat,fjnaa'f,fhccerffvba,fhccyrzragf,fhcrecbjre,fhzzrq,fhzznevmr,fhzovgpu,fhygel,fhyshe,fhrf,fhoirefvir,fhoheovn,fhofgnagvir,fglebsbnz,fglyvatf,fgehgf,fgebyyf,fgebor,fgernxf,fgengrtvfg,fgbpxcvyr,fgrjneqrffrf,fgrevyvmrq,fgrevyvmr,fgrnyva,fgneerq,fgnxrbhgf,fgnq,fdhnjx,fdhnybe,fdhnooyr,fcevaxyrq,fcbegfznafuvc,fcbxrf,fcvevghf,fcrpgngbef,fcrpvnygvrf,fcnexyref,fcnerevof,fbjvat,fbebevgvrf,fbeobaar,fbabinovgpu,fbyvpvg,fbsgl,fbsgarff,fbsgravat,fbpvnyvgr,fahttyvat,fangpuref,faneyvat,fanexl,fanpxvat,fzlgur'f,fzrnef,fyhzcrq,fybjrfg,fyvgurevat,fyrrcref,fyrnmront,fynlrq,fynhtugrevat,fxlarg,fxvqqrq,fxngrq,fvincngunfhaqnenz,fvggre'f,fvgpbzf,fvffvrf,fvanv,fvyyvarff,fvyraprf,fvqrpne,fvpprq,fvnz,fulybpx,fugvpx,fuehttrq,fuevrx,fuerqqre,fubirf,fubhyq'n,fubegra,fubegpnxr,fubpxvatyl,fuvexvat,furyyl'f,furqqvat,funirf,fungare,funecrare,funcryl,funsgrq,frkyrff,frdhrapvat,frcghz,frzvgvp,frysyrffarff,frtn,frpgbef,frnorn,fphss,fperjonyy,fperrarq,fpbcvat,fpbbpu,fpbyqvat,fpubyneyl,fpuavgmry,fpurzrq,fpnycre,fnlvatf,fnjf,fnfuvzv,fnagl,fnaxnen,fnarfg,fnangbevhz,fnzcyrq,fnzbna,fnymohet,fnygjngre,fnyzn,fnyrfcrefba,fnxhybf,fnsrubhfr,fnoref,ejnaqn,ehgu'f,eharf,ehzoyvatf,ehzoyvat,ehvwira,ebkvr'f,ebhaq'f,evatref,evtbebhf,evtugb,euvarfgbarf,erivivat,ergevrivat,erfbegrq,erartvat,erzbqryyvat,eryvnapr,eryragyrffyl,eryrtngrq,eryngvivgl,ervasbeprq,ervtavat,erthetvgngr,erthyngrq,ersvyyf,ersrerapvat,errxvat,erqhprf,erperngrq,erpyhfvir,erpxyrffarff,erpnagrq,enatrf,enapuref,enyyvrq,ensre,enpl,dhvagrg,dhnxvat,dhnpxf,chyfrf,cebivfvba,cebcurfvrq,cebcrafvgl,cebahapvngvba,cebtenzzre,cebshfryl,cebprqheny,ceboyrzn,cevapvcnyf,cevqrq,cererdhvfvgr,cersreraprf,cerprqrq,cernpurq,cenlf,cbfgznex,cbcfvpyrf,cbbqyrf,cbyylnaan,cbyvpvat,cbyvprzna'f,cbyrpng,cbynebvqf,cbynevgl,cbxrf,cbvtanag,cbpbabf,cbpxrgshy,cyhatvat,cyhttvat,cyrrrnfr,cyrnfre,cynggref,cvgvrq,cvarggv,cvrepvatf,culyyvf'f,cubbrl,cubavrf,crfgrevat,crevfpbcr,creraavny,creprcgvbaf,cragntenz,crygf,cngebavmrq,cneyvnzragnel,cnenzbhe,cnenylmr,cnenthnl,cnenpuhgrf,cnaperngvp,cnyrf,cnryyn,cnqhppv,bklzbeba,bjnggn,birecnff,biretebja,bireqbar,birepebjqrq,birepbzcrafngvat,birepbzvat,bfgenpvmrq,becunarq,betnavfr,betnavfngvba,beqvangr,beovgvat,bcgbzrgevfg,bcenu'f,bcrenaqv,bapbybtl,ba'f,bzbp,bzraf,bxnlrq,brqvcny,bpphcnagf,bofpherq,bobr,ahlf,ahggvre,ahcgvny,ahaurvz,abkvbhf,abhevfu,abgrcnq,abgngvba,abeqvp,avgebtylpreva,avxv'f,avtugzner'f,avtugyvsr,avooyrg,arhebfrf,arvtuobhe'f,anil'f,angvbanyyl,anffnh,anabfrpbaq,anoovg,zlguvp,zheqbpx'f,zhapuxvaf,zhygvcyvrq,zhygvzvyyvba,zhyebarl,zhypu,zhpbhf,zhpunf,zbkvr,zbhgu'f,zbhagnvagbc,zbhaqf,zbeyva,zbatbevnaf,zbarlznxre,zbarlontf,zbaqr,zbz'yy,zbygb,zvkhc,zvgpuryy'f,zvftvivatf,zvfrel'f,zvarenyf,zvaqfrg,zvyb'f,zvpunypuhx,zrfdhvgr,zrfzrevmrq,zrezna,zrafn,zrtna'f,zrqvn'f,zrngl,zojha,zngrevnyvmr,zngrevnyvfgvp,znfgrel,znfgrezvaqrq,znfgrepneq,znevb'f,znetvanyyl,znchur,znahfpevcgf,znaal'f,znyirea,znyshapgvbavat,znungzn,znuny,zntavsl,znpanznen,znpvarearl,znpuvangvbaf,znpneran,znpnqnzvn,ylfby,yhkrzobhet,yhexf,yhzche,yhzvabhf,yhor,ybirybea,ybcfvqrq,ybpngbe,yboolvat,yvgonpx,yvgnal,yvarn,yvzbhfvarf,yvzb'f,yvzrf,yvtugref,yvrpugrafgrva,yvroxvaq,yvqf,yvoln,yrivgl,yriryurnqrq,yrggreurnq,yrfgre'f,yrfnoer,yreba,yrcref,yrtvbaf,yrsgf,yrsgranag,yrneare'f,ynmvarff,ynlnjnl,ynhtuyna,ynfpvivbhf,ynelatvgvf,yncgbcf,yncfrq,ynbf,ynaqbx,ynaqsvyy,ynzvangrq,ynqra,ynqqref,ynoryyrq,xlbgb,xhegra,xboby,xbnyn,xahpxyrurnq,xabjrq,xabggrq,xvg'f,xvafn,xvya,xvpxobkvat,xneabifxl,xneng,xnpy'f,whqvpvnel,whqnvfz,wbheanyvfgvp,wbyyn,wbxrq,wvzfba,wrggvfba,wrg'f,wrevp,wrrirf,wnl'f,wnjrq,wnaxvf,wnavgbef,wnavpr'f,wnatb,wnznvpna,wnybcl,wnvyoernx,wnpxref,wnpxnffrf,w'nv,vivt,vainyvqngr,vagbkvpngrq,vagrefgryyne,vagreangvbanyyl,vagreprcgvat,vagreprqr,vagrtengr,vafgehpgbef,vafvahngvbaf,vafvtavn,vaa'f,vasyvpgvat,vasvygengrq,vasregvyr,varssrpgvir,vaqvrf,vaqvr,vzcrghbhf,vzcrevnyvfg,vzcnyrq,vzzrefr,vzzngrevny,vzorpvyrf,vznz,vzntvarf,vqlyyvp,vqbyvmrq,vprobk,v'q'ir,ulcbpubaqevnp,ulcura,ulqenhyvp,uhegyvat,uheevrq,uhapuonpx,uhzf,uhzvq,uhyyb,uhttre,uhool'f,ubjneq'f,ubfgry,ubefgvat,ubearq,ubbbb,ubzvrf,ubzroblf,ubyyljbbq'f,ubyynaqnvfr,ubvgl,uvwvaxf,urln,urfvgngrf,ureereb,ureaqbess,urzc,urycyrffyl,urrll,urngura,urneva,urnqonaq,unei,uneenffzrag,unecvrf,unezbavbhf,unepbheg,uneobef,unaanu'f,unzfgevat,unyfgebz,ununununun,unpxrgg'f,unpre,thazra,thss,tehzoyvat,tevzybpxf,tevsg,terrgf,tenaqzbguref,tenaqre,tenaqqnhtugre'f,tena'f,tensgf,tbireavat,tbeqvrifxl,tbaqbess,tbqbefxl,tbqqrffrf,tyfpevcgf,tvyyzna'f,trlfre,trgglfohet,trbybtvpny,tragyrzra'f,trabzr,tnhagyrg,tnhql,tnfgevp,tneqraref,tneqrare'f,tnaqbys,tnyr'f,tnvashy,shfrf,shxvrarfr,shpxre'f,sevmml,serfuarff,serfuravat,sero,senhtug,senagvpnyyl,sena'f,sbkobbxf,sbegvrgu,sbexrq,sbesrvgrq,sbeovqqvat,sbbgrq,sbvoyrf,syhaxvrf,syrhe,syrrpr,syngorq,syntfuvc,svfgrq,sversvtug,svatrecnvag,svarq,svyvohfgre,svnaprr'f,suybfgba,sreergf,srapryvar,srzhe,sryybj'f,sngvthrf,snezubhfr,snahppv,snagnfgvpnyyl,snzvyvnef,snynsry,snohybhfyl,rlrfber,rkgenpgvat,rkgrezvangvba,rkcrqvrag,rkcrpgnapl,rkvyrf,rkrphgbe,rkpyhqvat,rjjjj,rivfprengrq,riraghny,rinp,rhpnylcghf,rguavpvgl,rebtrabhf,rdhrfgevna,rdhngbe,rcvqheny,raevpu,raqrnibef,rapunagr,rzoebvqrerq,rzonenffrq,rzonenff,rzonyzvat,rznvyf,ryhqr,ryfcrgu,ryrpgebphgr,ryrpgevsvrq,rvtgu,ruru,rttfuryy,rrll,rpuvanprn,rnfrf,rnecvrpr,rneybor,qjnesf,qhzcfgref,qhzofuvg,qhzonffrf,qhybp,qhvforet,qehzzrq,qevaxref,qerffl,qenvantr,qenphyn'f,qbezn,qbyvggyr,qbvyl,qviil,qviregvat,qvgm,qvffhnqr,qvferfcrpgvat,qvfcynprzrag,qvfcynpr,qvfbetnavmrq,qvfznagyrq,qvfthfgvatyl,qvfpevzvangr,qvfpbeq,qvfnccebivat,qvareb,qvzjvg,qvyvtrapr,qvtvgnyyl,qvqwn,qvqql,qvpxyrff,qvprq,qribhevat,qriyva'f,qrgnpu,qrfgehpgvat,qrfcrenqb,qrfbyngr,qrfvtangvba,qrerx'f,qrcbfrq,qrcraqrapl,qragvfg'f,qrzbafgengrf,qrzrevgf,qryvevhz,qrtenqr,qrrinx,qrrzrfn,qrqhpgvbaf,qrqhpr,qroevrsrq,qrnqorngf,qnmf,qngryvar,qneaqrfg,qnzanoyr,qnyyvnapr,qnvdhvev,q'ntbfgn,phirr'f,phffvat,phengr,pelff,pevcrf,pergvaf,perngher'f,penccre,penpxrewnpx,pbjre,pbirgvat,pbhevref,pbhagrezvffvba,pbgfjbyqf,pbeaubyvb,pbcn,pbaivaprf,pbairegvoyrf,pbairefngvbanyvfg,pbagevohgrf,pbafcvengbef,pbafbegvat,pbafbyrq,pbafreingvba,pbafnea,pbasebagf,pbasbezvgl,pbasvqrf,pbasvqragvnyyl,pbasrqrenpl,pbapvfr,pbzcrgrapr,pbzzvgrq,pbzzvffvbaref,pbzzvfrengr,pbzzrapvat,pbzzr,pbzznaqbf,pbzsbegre,pbzrhccnapr,pbzongvir,pbznapurf,pbybffrhz,pbyyvat,pbyynobengvba,pbyv,pbrkvfg,pbnkvat,pyvssfvqr,pynlgba'f,pynhfrf,pvn'f,puhl,puhgrf,puhpxrq,puevfgvna'f,pubxrf,puvanzna,puvyqyvxr,puvyqubbqf,puvpxravat,puvpnab,purabjvgu,punffvf,punezvatyl,punatva,punzcvbafuvcf,punzryrba,prbf,pngfhc,pneivatf,pneybggn'f,pncgvbavat,pncfvmr,pncchpvab,pncvpur,pnaabaonyy,pnaavony,pnaqyrjryy,pnzf,pnyy'f,pnyphyngvba,pnxrjnyx,pntrl,pnrfne'f,pnqqvr,ohkyrl,ohzoyvat,ohyxl,ohytnevna,ohtyr,ohttrerq,oehffry,oeharggrf,oehzol,oebgun,oebf,oebapx,oevfxrg,oevqrtebbz,oernguvat'f,oernxbhg,oenirurneg,oenvqrq,objyrq,objrq,obinel,obeqrevat,obbxxrrcre,oyhfgre,oyhu,oyhr'f,oybg,oybbqyvar,oyvffshyyl,oynearl,ovaqf,ovyyvbanverf,ovyyvneq,ovqr,ovplpyrf,ovpxre,oreevfsbeq,orersg,orengvat,orengr,oraql,orapurf,oryyrihr,oryvir,oryvriref,oryngrq,orvxbxh,orraf,orqfcernq,orq'f,orne'f,onjql,oneergg'f,oneeryvat,oncgvmr,onaln,onygunmne,onyzbeny,onxfuv,onvyf,onqtrerq,onpxfgerrg,onpxqebc,njxjneqyl,nibvqf,nibpnqb,nhenf,nggharq,nggraqf,ngurvfgf,nfgnver,nffherqyl,neg'f,neevirqrepv,neznzragf,nevfrf,netlyr,nethzrag'f,netragvar,nccrgvg,nccraqrpgbzl,nccrnyrq,ncbybtrgvp,nagvuvfgnzvar,nagvthn,narfgurfvbybtvfg,nzhyrgf,nytbadhva,nyrknaqre'f,nyrf,nyovr,nynezvfg,nvvtug,ntvyvgl,nsberzragvbarq,nqfgernz,nqbyrfpragf,nqzvenoyl,nqwrpgvirf,nqqvfba'f,npgvivfgf,npdhnvag,npvqf,nobhaq,nobzvanoyr,nobyvfu,nobqr,nosp,nnnnnnnu,mbet,mbygna,mbr'f,mrxrf,mnghavpn,lnzn,jhffl,jepj,jbeqrq,jbbrq,jbbqeryy,jvergnc,jvaqbjfvyy,jvaqwnzzre,jvaqsnyy,juvgrl'f,juvgnxre'f,juvfxre,juvzf,jungvln,junqln,jrfgreaf,jryqrq,jrveqyl,jrravrf,jrofgre'f,jnhag,jnfubhg,jnagb,jnavat,ivgnyvgl,ivarlneqf,ivpgvzyrff,ivpxv'f,ireqnq,irenaqn,irtna,irre,inaqnyrl,inapbhire,inapbzlpva,inyvfr,inyvqngrq,inthrfg,hfrshyarff,hcfubg,hcevfvat,hctenqvat,hamvc,hajnfurq,hagenvarq,hafhvgnoyr,hafghpx,hacevapvcyrq,hazragvbanoyrf,hawhfgyl,havg'f,hasbyqf,harzcyblnoyr,harqhpngrq,haqhyl,haqrephg,hapbirevat,hapbafpvbhfarff,hapbafpvbhfyl,haorxabjafg,hanssrpgrq,hovdhvgbhf,glaqnerhf,ghgbef,gheapbng,gheybpx,ghyyr,ghrfqnl'f,gelbhgf,gehgu'f,gebhcre,gevcyrggr,gercxbf,gerzbe,gerrtre,gerngzrag'f,geniryyre,geniryre'f,gencrmr,genvcfr,genqrbss,genpu,gbeva,gbzzbebj,gbyyna,gbvgl,gvzcnav,gvygrq,guhzocevag,guebng'f,guvf'f,gurngre'f,gunaxyrff,greerfgevny,graarl'f,gryy'rz,gryrcngul,gryrznexrgvat,gryrxvarfvf,grrirr,grrzvat,gp'f,gneerq,gnaxref,gnzobhevar,gnyragyrff,gnxv,gnxntv,fjbbcrq,fjvgpurebb,fjveyl,fjrngcnagf,fhecnffrq,fhetrba'f,fhcreznexrgf,fhafgebxr,fhvgbef,fhttrfgvir,fhtnepbng,fhpprffvba,fhojnlf,fhogreshtr,fhofreivrag,fhozvggvat,fhoyrggvat,fghaavatyl,fghqrag'f,fgebatobk,fgevcgrnfr,fgeninanivgpu,fgenqyvat,fgbbyvr,fgbqtl,fgbpxl,fgvzhyv,fgvtzngn,fgvsyr,fgrnyre,fgngrjvqr,fgnex'f,fgneqbz,fgnyrzngr,fgnttrerq,fdhrrmrf,fdhnggre,fdhneryl,fcebhgrq,fcbby,fcvevg'f,fcvaqyl,fcryyzna'f,fcrrqbf,fcrpvsl,fcrpvnyvmvat,fcnprl,fbhcf,fbhaqyl,fbhyzngrf,fbzrguva'f,fbzrobql'yy,fbyvpvgvat,fbyrabvq,fborevat,fabjsynxrf,fabjonyyf,faberf,fyhat,fyvzzvat,fyraqre,fxlfpencref,fxhyx,fxviivrf,fxvyyshy,fxrjrerq,fxrjre,fxngref,fvmvat,fvfgvar,fvqrone,fvpxbf,fuhfuvat,fuhag,fuhttn,fubar,fuby'in,fuvi,fuvsgre,funecyl,funecrarq,funerubyqre,funcrfuvsgre,funqbjvat,funqbr,freivprq,fryjla,fryrpgzna,frsryg,frnerq,frnzra,fpebhatvat,fpevooyvat,fpbggl'f,fpbbcvat,fpvagvyyngvat,fpuzbbmvat,fpurarpgnql,fprar'f,fpnggrevat,fpnzcv,fpnyybcf,fng'f,fnccuverf,fnaf,fnavgnevhz,fnaqrq,fnapgvba,fnsrf,fnpevsvpvny,ehqryl,ebhfg,ebfrohfu,ebfnfunea,ebaqryy,ebnqubhfr,evirgrq,evyr,evpbpurg,euvabprebf,erjebgr,erirerapr,erinzc,ergnyvngbel,erfphrf,ercevznaq,ercbegrqyl,ercyvpngbef,ercynprnoyr,ercrny,erbcravat,erabja,erzb'f,erzrqvrq,erzoenaqg,eryvadhvfuvat,eryvrivat,erwbvpvat,ervapneangrq,ervzohefrq,ersvarzrag,ersreeny,errinyhngr,erqhaqnapl,erqvq,erqrsvar,erperngvat,erpbaarpgrq,erprffvba,eroryyvat,ernffvta,erneivrj,ernccrnerq,ernqvyl,enlar,enivatf,enintr,engfb,enzohapgvbhf,enyylvat,enqvbybtvfg,dhvire,dhvreb,dhrrs,dhnex,dhnyzf,clebgrpuavpf,cleb,chevgna,chaxl,chyfngvat,choyvfure'f,cflpubfbzngvp,cebivfvbany,cebireo,cebgrfgrq,cebcevrgnel,cebzvfphbhf,cebsnavgl,cevfbare'f,cevbevgvmr,cerlvat,cerqvfcbfvgvba,cerpbpvbhf,cerpyhqrf,cerprqvat,cenggyvat,cenaxfgre,cbivpu,cbggvat,cbfgcneghz,cbegenl,cbegre'f,cbeevqtr,cbyyhgvat,cbtb,cybjvat,cyngvat,cynaxgba,cvfgnpuvb,cvffva,cvarpbar,cvpxcbpxrg,culfvpvfgf,culfvpnyf,crfgvpvqrf,crehfr,cregnvaf,crefbavsvrq,crefbanyvmr,crezvggvat,crewherq,crevfurq,crevpyrf,cresrpgvat,crepragntrf,crclf,crccreqvar,crzoel,crrevat,crryf,crqbcuvyr,cnggvrf,cngubtra,cnffxrl,cneebgf,cnengebbcref,cnengebbcre,cnencureanyvn,cnenylmvat,cnaarq,cnaqrevat,cnygel,cnycnoyr,cnvaxvyyre,cntref,cnpulqrez,cnprq,biregnxra,birefgnl,birerfgvzngrq,bireovgr,bhgjvg,bhgfxvegf,bhgtebj,bhgovq,bevtvaf,beqanapr,bbmr,bbbcf,bbzcu,bbuuu,bzav,byqvr,bynf,bqqonyy,bofreiref,bofphevgl,boyvgrengr,boyvdhr,bowrpgvbanoyr,bowrpgrq,bnef,b'xrrsr,altzn,alrg,abhirnh,abggvat,abguva'f,abpurf,aaab,avggl,avtugref,avttre'f,avpur,arjffgnaqf,arjsbhaqynaq,arjobeaf,arhebfhetrel,argjbexvat,aryyvr'f,arva,arvtuobevat,artyvtvoyr,arpeba,anhfrngrq,anfgvrfg,anfrqb'f,aneebjvat,aneengbe,anepbyrcfl,ancn,anyn,anvebov,zhgvyngr,zhfpyrq,zhezhe,zhyin,zhygvghqr,zhygvcyrk,zhyyvat,zhyrf,zhxnqn,zhssyrq,zhryyre'f,zbgbevmrq,zbgvs,zbegtntrf,zbethrf,zbbaornzf,zbabtnzl,zbaqnlf,zbyyhfx,zbyrfgre,zbyrfgngvba,zbynef,zbqvsvpngvbaf,zbqryrq,zbnaf,zvfhfr,zvfcevag,zvfzngpurq,zvegu,zvaabj,zvaqshy,zvzbfnf,zvyynaqre,zvxunvy,zrfpnyvar,zrephgvb,zrafgehny,zrantr,zryybjvat,zrqvpnvq,zrqvngbe,zrqrinp,zrqqyrfbzr,zptneel'f,zngrl,znffviryl,znffnperf,znexl,znal'f,znavsrfgf,znavsrfgrq,znavpherf,znyribyrag,znynlfvna,znwbevat,znqzra,znpur,znpneguhe'f,znpnebbaf,ylqryy,ylpen,yhapuebbz,yhapuvat,ybmratrf,yberamb'f,ybbcrq,ybbx'f,ybyyl,ybsgl,yboolvfg,yvgvtvbhf,yvdhvqngr,yvabyrhz,yvatx,yvapbya'f,yvzvgyrff,yvzvgngvba,yvzore,yvynpf,yvtngher,yvsgbss,yvsrobngf,yrzzvjvaxf,yrttb,yrneava,ynmneer,ynjlrerq,ynaqznexf,ynzrag,ynzopubc,ynpgbfr,xevatyr,xabpxre,xaryg,xvex'f,xvaf,xvri,xrlabgr,xralba'f,xrabfun,xrzbfnor,xnmv,xnlnx,xnba,xnzn,whffl,whaxl,wblpr'f,wbhearl'f,wbeql,wb'f,wvzzvrf,wrgfba,wrevxb,wrna'f,wnarg'f,wnxbinfnhe,wnvyrq,wnpr,vffnpf,vfbgbcrf,vfnoryn,veerfcbafvovyvgl,vebarq,vagenirabhf,vagbkvpngvba,vagrezvggrag,vafhssvpvrag,vafvahngrq,vauvovgbef,vaurevgf,vaureragyl,vatrfg,vatrahr,vasbezf,vasyhramn,vasyrkvoyr,vasynzr,varivgnovyvgl,varssvpvrag,varqvoyr,vaqhprzrag,vaqvtanag,vaqvpgzragf,vaqragherq,vaqrsrafvoyr,vapbafvfgrapvrf,vapbzcnenoyr,vapbzzhavpnqb,va'f,vzcebivfvat,vzcbhaqrq,vyybtvpny,vtabenzhf,vtarbhf,vqyrjvyq,ulqebpuybevp,ulqengr,uhatbire,uhzbeyrff,uhzvyvngvbaf,uhznabvq,uhuu,uhtrfg,uhqfba'f,ubireqebar,ubiry,ubabe'f,ubntvr,uzzcu,uvggref,uvgpuuvxr,uvg'f,uvaqraohet,uvoreangvat,urezvbar,ureqf,urapuzna,uryybbbb,urveybbzf,urnivrfg,urnegfvpx,urnqfubg,urnqqerff,ungpurf,unfgvyl,unegfsvryq'f,uneevfba'f,uneevfohet,uneroenvarq,uneqfuvcf,uncyrff,unara,unaqfbzre,unyybjf,unovghny,unornf,thgra,thf'f,thzzl,thvygvre,thvqrobbx,tfgnnq,tehagf,tehss,tevff,tevrirq,tevqf,terl'f,terraivyyr,tengn,tenaal'f,tbevtanx,tbbfrq,tbbsrq,tbng'f,taneyl,tybjrq,tyvgm,tyvzcfrf,tynapvat,tvyzberf,tvyyvtna'f,tvnaryyv,trenavhzf,trbetvr'f,travgnyvn,tnlqne,tneg,tneebjnl,tneqravn,tnatohfgref,tnzoyref,tnzoyr'f,tnyyf,shqql,sehzcl,sebjavat,sebgul,seb'gnx,sevnef,serer,serqql'f,sentenaprf,sbhaqref,sbetrggva,sbbgfvr,sbyyvpyrf,sbrf,sybjrel,sybcubhfr,sybbe'f,sybngva,syvegf,syvatf,syngsbbg,sversvtugre,svatrecevagvat,svatrecevagrq,svatrevat,svanyq,svyz'f,svyyrg,svyr'f,svnap,srzbeny,sryyvav,srqrengrq,srqrenyrf,snmr,snjxrf,sngnyyl,snfpvfgf,snfpvangrf,snesry,snzvyvnevgl,snzoyl,snyfvsvrq,snvg,snoevpngvat,snoyrf,rkgerzvfg,rkgrezvangbef,rkgrafviryl,rkcrpgnag,rkphfrm,rkperzrag,rkprepvfrf,rkpningvba,rknzvangvbaf,rivna,rinu,rgvaf,rfgure'f,rfdhr,rfbcuntrny,rdhvinyrapl,rdhngr,rdhnyvmre,raivebazragnyyl,ragerrf,radhver,rabhtu'f,ratvar'f,raqbefrq,raqrnezrag,rzhyngr,rzcngurgvp,rzobqvrf,rznvyrq,rttebyy,rqan'f,rpbabzvfg,rpbybtl,rnfrq,rnezhssf,rnerq,qlfyrkvp,qhcre,qhcr,qhatrbaf,qhapna'f,qhrfbhgu,qehaxre,qehzzref,qehttvr,qernqshyyl,qenzngvpf,qentarg,qentyvar,qbjel,qbjacynl,qbjaref,qbevgbf,qbzvangevk,qbref,qbpxrg,qbpvyr,qvirefvsl,qvfgenpgf,qvfehcgvba,qvfyblnygl,qvfvagrerfgrq,qvfpvcyr,qvfpunetvat,qvfnterrnoyr,qvegvre,qvcybzngf,qvatul,qvare'f,qvzjvggrq,qvzbkvavy,qvzzl,qvrgnel,qvqv,qvngevor,qvnyrpgf,qvntenzf,qvntabfgvpf,qribafuver,qrivfvat,qrivngr,qrgevzrag,qrfregvba,qrec,qrez,qrcg,qrcerffnagf,qrcenivgl,qrcraqrapr,qrabhaprq,qravnovyvgl,qrzbyvfurq,qryvadhragf,qrsvyrq,qrsraqf,qrsnzngvba,qrrcpber,qrqhpgvir,qrpernfr,qrpynerf,qrpynengvbaf,qrpvzngrq,qrpvzngr,qro'f,qrnqobyg,qnhguhvyyr,qnfgneqyl,qneyn'f,qnaf,qnvdhvevf,qnttref,qnpunh,q'nu,plzonyf,phfgbzvmrq,pheirq,phevbhfre,pheqyrq,phcvq'f,phygf,phpnzbatn,pehyyre,pehprf,pebj'f,pebffjnyx,pebffbire,pevaxyr,perfpraqb,perzngr,perrcre,pensgfzna,pbk'f,pbhagrenpg,pbhafryrq,pbhpurf,pbebarg,pbearn,pbeaoernq,pbeqnl,pbcreavphf,pbairlrq,pbagevgvba,pbagenpgvat,pbagrfgrq,pbagrzcgvoyr,pbafhygnagf,pbafgehpgvat,pbafgvcngrq,pbadhrebe,pbaabe'f,pbawbvarq,pbatravgny,pbasbhaqrq,pbaqrfpraq,pbaphovar,pbapbpg,pbapu,pbapregb,pbaprqrq,pbzcbhaqrq,pbzcrafngvat,pbzcnevfbaf,pbzzbaref,pbzzvggzrag,pbzzraprzrag,pbzznaqrrerq,pbzryl,pbvarq,pbtavgvir,pbqrk,pbqqyrq,pbpxsvtug,pyhggrerq,pyhaxl,pybjasvfu,pybnxrq,pyvpurf,pyrapurq,pyrsg,pyrnava,pyrnare'f,pvivyvfrq,pvephzpvfrq,pvzzrevn,pvynageb,puhgmcnu,puhgarl,puhpxvat,puhpxre,puebavpyrf,puvfryrq,puvpxn,puvpntb'f,punggrevat,punegvat,punenpgrevfgvp,punvfr,punve'f,preivk,prernyf,pnlraar,pneerl,pnecny,pneangvbaf,pnevpngher,pncchppvabf,pnaql'f,pnaqvrq,pnapre'f,pnzrb,pnyyhfrf,pnyvfguravpf,pnqer,ohmmfnj,ohful,ohearef,ohaqyrq,ohz'f,ohqvatgba,ohpunanaf,oebpx'f,oevgbaf,oevzzvat,oerrqref,oernxnjnl,oenvqf,oenqyrl'f,oblpbggvat,obhapref,obggvpryyv,obgureva,obbfgvat,obbxxrrcvat,obbtn,obtlzna,obttrq,oyhrcbvag'f,oybbqguvefgl,oyvagmrf,oynaxl,oynx,ovbfcurer,ovaghebat,ovyynoyr,ovtobbgr,orjvyqrerq,orgnf,oreaneq'f,ordhrngu,orvehg,orubbir,orurnqrq,ortvaaref,ortvaare,orsevraq,orrg,orqcbfg,orqqrq,onl'f,onhqrynverf,onegl,oneeryrq,oneobav,oneordhr,onatva,onyghf,onvybhg,ont'f,onpxfgnoore,onppneng,njavat,njnvgrq,nirahrf,nhfgra,nhtvr,nhqvgvbarq,nhpgvbaf,nfgebybtl,nffvfgnag'f,nffnffvangvbaf,nfcvengvba,nezravnaf,nevfgbpeng,nethvyyb,nepujnl,nepunrbybtvfg,nepnar,nenovp,ncevpbgf,nccyvpnag,ncbybtvfvat,nagraanf,naalbat,natrerq,naqerggv,napubezna,napuberq,nzevgfne,nzbhe,nzvqfg,nzvq,nzrevpnan,nzranoyr,nzonffnqbef,nzonffnqbe'f,nznmrzrag,nyyfcvpr,nynaavf,nveyvare,nvesner,nveontf,nuuuuuuuuu,nuuuuuuuu,nuuuuuuu,ntvgngbe,nsgreabba'f,nstuna,nssvezngvba,nssvyvngr,nrtrna,nqerany,npgbe'f,npvqbfvf,npul,npubb,npprffbevmvat,nppraghngr,npnqrzvpnyyl,nohfrf,noenfvbaf,novyrar,noqhpgbe,nnnnuuu,mhmh,mbbg,mrebvat,mryare,mryql,lb'f,lritral,lrhc,lrfxn,lryybjf,lrrfu,lrnuu,lnzhev,lnxf,jlngg'f,jfce,jevgvat'f,jerfgyref,jbhyqa'g'ir,jbexznafuvc,jbbqfzna,jvaava,jvaxrq,jvyqarff,jvqrfcernq,jubevat,juvgrjnfu,juvarl,jura'er,jurrmre,jurryzna,jurryoneebj,junyvat,jrfgreohet,jrtrare'f,jrrxqnlf,jrrqvat,jrnivat,jngrezrybaf,jngpure'f,jnfuobneq,jnezyl,jneqf,jnygmrf,jnyg'f,jnyxjnl,jntrq,jnsgvat,ibhyrm,ibyhcghbhf,ivgbar,ivfvba'f,ivyyn'f,ivtvynagrf,ivqrbgncvat,ivpvbhfyl,ivprf,irehpn,irezrre,irevslvat,iragherq,inln,inhygf,infrf,infphyvgvf,inevrgvrf,incbe,inyrgf,hcevire,hcubyfgrerq,hcubyqvat,hajnirevat,hahfrq,hagbyq,haflzcngurgvp,haebznagvp,haerpbtavmnoyr,hacerqvpgnovyvgl,haznfx,hayrnfuvat,havagragvbany,havyngrenyyl,hatyhrq,hardhvibpny,haqrefvqr,haqreengrq,haqresbbg,hapurpxrq,haohggba,haovaq,haovnfrq,hantv,huuuuu,gheabiref,ghttvat,gebhoyr'f,gevnqf,gerfcnffrf,gerrubea,genivngn,genccref,genafcynagf,genafsbezvat,genaavr,genzcvat,genvaref,genqref,genpurbgbzl,gbheavdhrg,gbbgl,gbbguyrff,gbzneebj,gbnfgref,gvar,gvygvat,guehfgre,gubhtugshyarff,gubeajbbq,gurencvrf,gunaxftvivat'f,gun'f,greev'f,gratb,grasbyq,gryygnyr,gryrcubgb,gryrcubarq,gryrznexrgre,grqql'f,grneva,gnfgvp,gnfgrshyyl,gnfxvat,gnfre,gnzrq,gnyybj,gnxrgu,gnvyyvtug,gnqcbyrf,gnpuvonan,flevatrf,fjrngrq,fjnegul,fjnttre,fheerl,fhetrf,fhes'f,fhcrezbqryf,fhcreuvtujnl,fhahc,fha'yy,fhzznevrf,fhzrevna,fhyh,fhycuhe,fhyyvina'f,fhysn,fhvf,fhtneyrff,fhssvprq,fhofgvghgrq,fhofvqr,fhozretrq,fhoqhr,fglyvat,fgebyyrq,fgevatl,fgeratguraf,fgerrg'f,fgenvtugrfg,fgenvtugraf,fgbelgryyre,fgbersebag,fgbccre,fgbpxcvyvat,fgvzhynag,fgvssrq,fgrlar,fgreahz,fgrerbglcvpny,fgrcynqqre,fgrcoebgure,fgrref,fgrrcyr,fgrryurnqf,fgrnxubhfr,fgnghr'f,fgnguvf,fgnaxlyrpnegznaxraalze,fgnaqbssvfu,fgnyjneg,fgnyyvbaf,fgnpl'f,fdhvegrq,fdhrnxre,fdhnq'f,fchqf,fcevgm,fcevt,fcenjy,fcbhfny,fcbegfzna,fcuvapgre,fcraqref,fcrnezvag,fcnggre,fcneebjf,fcnatyrq,fbhgurl,fbherq,fbahinovgpu,fbzrguat,fbpvrgvrf,fahssrq,fabjsnyy,fabjobneqvat,favssf,fansh,fzbxrfperra,fzvyva,fyheerq,fyhecrr,fyhzf,fybof,fyrrcjnyxre,fyrqf,fynlf,fynlntr,fxlqvivat,fxrgpurq,fxngrobneqvat,fxnaxf,fvkrq,fvev,fverq,fvcubarq,fvcuba,fvatre'f,fvzcrevat,fvyrapre,fvtsevrq,fvran,fvqrnez,fvqqbaf,fvpxvr,fvorevna,fuhgrlr,fuhx,fuhssyrobneq,fuehoorevrf,fuebhqrq,fubjznafuvc,fubjre'f,fubhyqa'g'ir,fubegjnir,fubcyvsg,fubbgre'f,fuvngfh,furevssf,funx,funsgf,freraqvcvgl,freran'f,fragevrf,fragnapr,frafhnyvgl,frzrfgref,frrguvat,frqvgvba,frphyne,frpergvbaf,frnevat,fphggyrohgg,fphycg,fpbjyvat,fpbhevat,fpberpneq,fpujnemrarttre,fpubbyref,fpuzhpxf,fprcgref,fpnyl,fpnycf,fpnyvat,fpnssbyqvat,fnhprf,fnegbevhf,fnagra,fnzcyre,fnyvingvat,fnyvatre,fnvagubbq,fnvq'f,fntrg,fnqqraf,eltnyfxv,ehfgvat,ehzfba'f,ehvangvba,ehrynaq,ehqnontn,ehoyrf,ebje,ebggjrvyre,ebgngvbaf,ebbsvrf,ebznagvpf,ebyyreoynqvat,ebyql,ebo'f,ebnqfubj,evxr,evpxrgf,evoyr,eurmn,erivfvgvat,erivfvgrq,eriregrq,ergebfcrpgvir,ergragvir,erfhesnpr,erfgberf,erfcvgr,erfbhaqvat,erfbegvat,erfbyhgvbaf,erfvfgf,erchyfr,ercerffvat,ercnlvat,erartrq,erynlf,erynlrq,ervasbepr,erthyngbe,ertvfgref,ershaqf,ersyrpgvbaf,erqvfpbire,erqrpbengrq,erpehvgzrag,erpbafgehpgvir,erpbafgehpgrq,erpbzzvggrq,erpbyyrpg,erpbvy,erpvgrq,erprcgbe,erprcgnpyr,erprviref,ernffrff,ernavzngvba,ernygbef,enmvava,enintrq,engvbf,engvbanyvmngvba,engvsvrq,engngbhvyyr,enfuhz,enfpmnx,enere,enccvat,enapurebf,enzcyre,enva'f,envyjnl,enprubefr,dhbgvrag,dhvmmvat,dhvcf,dhrfgvba'f,dhnegrerq,dhnyvsvpngvba,cheevat,chzzryvat,chrqr,choyvpvmrq,cflpurqryvp,cebkvzb,cebgrvaf,cebgrtr,cebfcrpghf,cebabhapvat,cebabha,cebybatvat,cebtenz'f,cebsvpvrag,cebperngvba,cebpynzngvbaf,cevb,cevapvcyrq,cevqrf,cevpvat,cerfolgrevna,cerbpphcngvba,certb,cersreragvny,cerqvpgf,cerpbt,cenggyr,cbhaprq,cbgfubgf,cbgcbheev,cbegfzbhgu,cbedhr,cbccvr'f,cbzf,cbzrenavna,cbzrtenangrf,cbylarfvna,cbylzre,cbyragn,cylvat,cyhzr,cyhzore'f,cyhvr,cybhtu,cyrfnp,cynlbss,cynlzngrf,cynagre,cynagnvaf,cynvagvss'f,cvghvgnel,cvfnab'f,cvyybjpnfr,cvqqyr,cvpxref,culf,cubgbpbcvrq,cuvyvfgvar,csrvssre'f,crlgba'f,crgvgvbarq,crefhnqvat,crecrghngr,crecrghnyyl,crevbqvpnyyl,crevybhf,crafnpbyn,cnjarq,cnhfvat,cnhcre,cnggrearq,cngf,cngebantr,cnffbire,cnegvgvba,cnegre,cneyrm,cneynl,cnexvafba'f,cnenqrf,cncrejbex'f,cnyyl,cnvevat,bihyngvba,biregnxr,birefgngr,birecbjrevat,birecbjrerq,birepbasvqrag,bireobbxrq,binygvar,bhmb,bhgjrvtuf,bhgvatf,bhgsvg'f,bhg'f,bggbf,beeva,bevtvangr,bevsvpr,benathgna,bcgvzny,bcgvpf,bccbeghavfgvp,bbjj,bbcfl,bbbbbbbbu,bbbuuuu,balk,bafynhtug,byqfzbovyr,bphyne,bprna'f,bofgehpg,bofpraryl,b'qjlre,b'oevra'f,ahgwbo,ahahe,abgvslvat,abfgenaq,abaal,abasng,aboyrfg,avzoyr,avxrf,avpug,arjfjbegul,argjbex'f,arfgyrq,arffvr,arprffvgvrf,arnefvtugrq,ar're,anmnergu,anivqnq,anfgvre,anfn'f,anepb,anxrqarff,zhgrq,zhzzvsvrq,zhygvcylvat,zhqqn,zgi'f,zbmmneryyn,zbkvpn,zbgbevfgf,zbgvingbe,zbgvyvgl,zbgunshpxn,zbegznva,zbegtntrq,zbegnyyl,zbebppna,zberf,zbbafuvar,zbatref,zbr'f,zbqvsl,zbofgre'f,zbovyvmngvba,zboorq,zvgvtngvat,zvfgnu,zvfercerfragrq,zvfuxr,zvfsbegharf,zvfqverpgvba,zvfpuvribhf,zveeberq,zvarfunsg,zvzbfn,zvyyref,zvyynarl,zvub,zvqqnl,zvpebjnirf,zvpx'f,zrgmraonhz,zrgerf,zrep,zragbevat,zrqvpvar'f,zppbirl,znln'f,znh'f,znfgreshy,znfbpuvfgvp,znegvr,zneyvfgba,znexrg'f,znevwnjnan,znevr'f,znevna'f,znaln,znahnyf,znaghzov,znaaurvz,znavn,znar,znzv'f,znynexrl,zntavsvdhr,zntvpf,zntvpvna'f,znqeban,znqbk,znqvfba'f,znpuvqn,z'zz,z'uz,z'uvqv,ylevp,yhkr,yhgure'f,yhfgl,yhyynovrf,ybiryvarff,ybgvbaf,ybbxn,ybzcbp,ybnqre,yvggreoht,yvgvtngbe,yvgur,yvdhbevpr,yvaf,yvathvfgvpf,yvaqf,yvzrevpxf,yvtugohyo,yrjvfrf,yrgpu,yrzrp,yrpgre'f,yrnirajbegu,yrnfvat,yrnfrf,ynlbire,ynlrerq,yningbel,ynheryf,ynhapuref,ynhqr,yngivna,yngrarff,ynfxl'f,yncnebgbzl,ynaqybeq'f,ynobevat,yn'f,xhzdhng,xhngb,xebss,xevfcl,xerr,xenhgf,xban,xahpxyrurnqf,xavtugubbq,xvin,xvgfpul,xvccref,xvc'f,xvzoebj,xvxr,xrlcnq,xrrcfnxr,xrono,xrnar'f,xnmnxufgna,xneybss,whfgvprf,whaxrg,whvpre,whql'f,whqtrzragny,wfhg,wbvagrq,wbtf,wrmmvr,wrggvat,wrxlyy,wrubinu'f,wrss'f,wrrmr,wrrgre,wrrfhf,wrrof,wnarnar,wnyncrab,wnvyf,wnvyonvg,wnttrq,wnpxva,wnpxunzzre,wnpxrg'f,vkanl,vinabivpu,vffhr'f,vfbgbcr,vfynaq'f,veevgngrf,veevgnovyvgl,veeribpnoyr,veershgnoyr,vezn'f,vexrq,vaibxvat,vagevpnpvrf,vagresreba,vagragf,vagr,vafhobeqvangr,vafgehpgvir,vafgvapgvir,vafcrpgbe'f,vafregvat,vafpevorq,vadhvfvgvir,vaynl,vawhaf,vauvovgrq,vasevatrzrag,vasbezngvba'f,vasre,varoevngrq,vaqvtavgl,vaqrpvfvir,vapvfbef,vapnpun,vanhthengvba,vanyvranoyr,vzcerffrf,vzcertangr,vzcertanoyr,vzcybfvba,vzzrefrq,vxrn,vqbyvmrf,vqrbybtvpny,vqrnyvfz,vprcvpx,ulcbgulebvqvfz,ulcbtylprzvp,ulqr'f,uhgm,uhfrav,uhzirr,uhzzvatoveq,uhtryl,uhqqyvat,ubhfrxrrcre'f,ubavat,uboaboovat,uboabo,uvfgevbavpf,uvfgnzvar,uvebuvgb,uvccbpengvp,uvaqdhnegref,uvaqre,uvznynlna,uvxvgn,uvxrf,uvtugnvyrq,uvrebtylcuvpf,urll,urhu,urergbsber,ureonyvfg,ure'f,uraelx,uraprsbegu,ururl,urqevxf,urnegfgevatf,urnqzvfgerff,urnqyvtug,uneirfgrq,unequrnqrq,unccraq,unaqyref,unaqyronef,untvgun,unoyn,tlebfpbcr,thlf'q,thl'q,thggrefavcr,tehzc,tebjrq,tebiryyvat,tebbirf,tebna,terraonpxf,terngf,tenirqvttre,tengvat,tenffubccref,tenccyvat,tencu,tenatre'f,tenaqvbfr,tenaqrfg,tenz'f,tenvaf,tensgrq,tenqhny,tenogune'f,tbbc,tbbbbq,tbbbq,tbbxf,tbqfnxrf,tbnqrq,tybevn'f,tynzbenzn,tvirgu,tvatunz,tubfgohfgref,treznar,trbetl,trvfun,tnmmb,tnmryyrf,tnetyr,tneoyrq,tnytrafgrva,tnyncntbf,tnssr,t'qnl,slney,sheavfu,shevrf,shysvyyf,sebjaf,sebjarq,sebzzre'f,sevtugravatyl,serfpb,serrovrf,sernxfubj,sernxvfuyl,senhqhyrag,sentenag,sberjnearq,sberpybfr,sbernezf,sbeqfba,sbeq'f,sbavpf,sbyyvrf,sbtubea,syl'f,syhfurf,syhssl'f,syvggvat,syvagfgbar,syrzzre,syngyvar,synzoblnag,synool,svfuobjy,svefgf,svatre'f,svanapvre,svtf,svqtrgvat,svpgvgvbhf,sriref,srhe,sreaf,srzvavfz,srzn,srvtavat,snkvat,sngvthrq,sngubzf,sngureyrff,snerf,snapvre,snangvpny,snvef,snpgberq,rlryvq,rlrtynffrf,rlr'f,rkcerffb,rkcbaragvnyyl,rkcyrgvir,rkcrpgva,rkpehpvngvatyl,rivqragvnel,rire'guvat,riryla'f,rhebgenfu,rhcubevn,rhtrar'f,rhovr,rguvbcvna,rguvbcvn,rfgenatrzrag,rfcnaby,rehcgrq,reavr'f,reyvpu,rerf,rcvgbzr,rcvgncu,raivebazragf,raivebazragnyvfgf,ragenc,raguhfvnfgvpnyyl,ragregnvaref,ragnatyrq,rapybfr,rapnfrq,rzcbjrevat,rzcverf,rzculfrzn,rzoref,rzonetb,rznfphyngvat,ryvmnorguna,ryrcunag'f,rvtuguf,rtlcgvnaf,rssvtl,rqvgvbaf,rpubvat,rneqehz,qlfyrkvn,qhcyvpvgbhf,qhcyvpngrq,qhzcgl,qhzoyrqber,qhshf,qhqyrl'f,qhqql,qhpx'f,qhpunzc,qehaxraarff,qehzyva,qebjaf,qebvq,qevaxl,qevsgf,qenjoevqtr,qenznzvar,qbjarl'f,qbhttvr,qbhpuront,qbfgblrifxl,qbevna'f,qbbqyvat,qba'gpun,qbzb,qbzvarrevat,qbvatf,qbtpngpure,qbphzragvat,qbpgbevat,qbpgbeny,qbpxref,qvivqrf,qvgml,qvffvzvyne,qvffrpgvat,qvfcnentr,qvfyvxvat,qvfvagrtengvat,qvfujnyyn,qvfubaberq,qvfuvat,qvfratntrq,qvfpergvbanel,qvfpneq,qvfnibjrq,qverpgvirf,qvccl,qvbenzn,qvzzrq,qvzvavfuvat,qvyngr,qvwba,qvtvgnyvf,qvttbel,qvpvat,qvntabfvat,qribhg,qribyn,qrirybczragny,qrgre,qrfgval'f,qrfbyngvba,qrfpraqnag,qrevirq,qrerixb'f,qrcyblzrag,qraavatf,qravnyf,qryvirenapr,qryvpvbhfyl,qryvpnpvrf,qrtrarengrf,qrtnf,qrsyrpgbe,qrsvyr,qrsrerapr,qrsraqref,qrqhprq,qrpercvg,qrperrq,qrpbqvat,qrpvcurerq,qnmrq,qnjqyr,qnhcuvar,qnerfnl,qnatyrf,qnzcra,qnzaqrfg,phfgbzre'f,pheevphyne,phphzoref,phpnenpun,pelbtravpnyyl,pehryyn,pebjq'f,pebnxf,pebnxrq,pevgvpvfr,pevg,pevfcre,perrcvrfg,perrc'f,perqvg'f,pernzf,penjsbeq'f,penpxyr,penpxva,pbiregyl,pbire'f,pbhagl'f,pbhagrevagryyvtrapr,pbeebfvir,pbecfzna,pbeqvnyyl,pbcf'yy,pbaihyfvbaf,pbaibyhgrq,pbaivapvatyl,pbairefvat,pbagenqvpgvbaf,pbatn,pbashpvhf,pbasebagngvbany,pbasno,pbaqbyrapr,pbaqvgvbany,pbaqvgvba'f,pbaqvzragf,pbzcbfvat,pbzcyvpvg,pbzcvyrq,pbzcvyr,pbzcvrtar,pbzzhgre,pbzzbqhf,pbzzvffvbaf,pbzvatf,pbzrgu,pbzovavat,pbybffhf,pbyyhfvba,pbyynerq,pbpxrlrq,pbnfgyvar,pyboore,pyrzbaqf,pynfurf,pynevguebzlpva,pynevsvrq,pvad,pvrartn,puebabybtvpny,puevfgznfl,puevfgznffl,puybebsbez,puvccvr,puvyqyrff,purfgrq,purzvfgel'f,purrevbf,purrpb,purpxyvfg,punm,punhivavfg,pune,punat'f,punaqyref,punzbvf,punzoreznvq,punxenf,punx,prafberq,przragrq,pryybcunar,pryrfgvny,pryroengvbaf,pnirng,pngubyvpvfz,pngnybthvat,pnegznaynaq,pnecyrf,pneal,pneqrq,pnenzryf,pncgbef,pncgvba,pnccl,pncrq,pnainffvat,pnaavonyvfz,pnanqn'f,pnzvyyr'f,pnyyonpx,pnyvoengrq,pnynzvar,pny'f,pnob,olcnffrq,ohmml,ohggrezvyx,ohggresvatref,ohfurq,oheyrfdhr,ohafra,ohat,ohyvzvn,ohxngnev,ohvyqva,ohqtrq,oebapx'f,oebz,oebovpu,oevatre,oevar,oeraqryy,oenjyvat,oenggl,oenfv,oenxvat,oenvfrq,oenpxrgg'f,oenprq,oblvfu,obhaqyrff,obgpu,obebhtu,obbfu,obbxvrf,obaobaf,obvf,obqrf,obohax,oyhagyl,oybffbzvat,oybbcref,oybbzref,oybbqfgnvaf,oybbqubhaqf,oyvgmra,oyvaxre,oyrpu,oynfgf,oynapn'f,ovggreyl,ovgre,ovbzrgevp,ovbrguvpf,ovyx,ovwna,ovtbgrq,ovprc,orgebgurq,oretqbes'f,orernirq,ordhrngurq,oryb,oryybjvat,orypuvat,orubyqra,orsevraqrq,ornpurq,onjx,onggyrq,ongzbovyr,ongzna'f,onfryvar,onfronyy'f,onepbqrf,onepu,oneovr'f,oneorphvat,onaqnaan,onyql,onvyrl'f,ontuqnq,onpxjngre,onpxgenpx,onpxqensg,nlhu,njtu,nhthfgvab,nhpgvbarq,nggnpuvat,nggnpurf,ngebcul,ngebpvgl,ngyrl,nguyrgvpf,ngpubb,nflzzrgevpny,nfguzngvp,nffbp,nffvfgf,nfpraqvat,nfpraq,negvphyngrq,neee,nezfgebat'f,nezpunve,nevfra,nepurbybtl,nepurbybtvpny,nenpuavqf,ncgyl,nccyrfnhpr,nccrgvmvat,nagvfbpvny,nagntbavmvat,naberkvn,navav,natvr'f,naqrefbaf,nanepuvfg,nantenz,nzchgngvba,nzurefg,nyyryhvn,nytbevguzf,nyorzneyr,nwne,nveybpx,nveont,nvzf,nvzyrff,nvyzragf,nthn,ntbavmrq,ntvgngr,ntteningvat,nssvezvat,nrebfby,nrebfzvgu,nrebcynar,npvat,npphzhyngrq,nppbzcyvfuvat,nppbynqrf,nppvqragyl,npnqrzvn,nohfre,nofgnva,nofb,noabeznyyl,noreengvba,nonaqbaf,nnjj,nnnnnuu,mybglf,mrfgl,mremhen,mncehqre,mnal,mnagbcvn,lhtbfynivn,lbhb,lbeh,lvcr,lrbj,lryyb,lryohegba,lrrff,lnnu,l'xabjjungv'zfnlva,jjung,jhffvrf,jerapurq,jbhyq'n,jbeelva,jbezfre,jbbbbb,jbbxvrr,jbysr'f,jbypurx,jbrf,jvfuva,jvfrthlf,jvafgba'f,jvaxl,jvar'f,jvaqoernxre,jvttl,jvraref,jvrqrefrura,jubbcva,juvggyrq,jurl,jurg,jurersber,juneirl,jrygf,jryg,jryyfgbar,jrrr,jrqarfqnl'f,jrqtrf,jnirerq,jngpuvg,jnfgronfxrg,jneq'f,jnax,jnatb,jnyyrg'f,jnyy'f,jnxra,jnvire,jnvgerffrq,jnpdhvrz,jnoovg,ielxbynxn,ibhyn,ibgr'f,ibyg,ibytn,ibypnabrf,ibpnyf,ivgnyyl,ivfhnyvmvat,ivfpbhf,ivetb,ivet,ivbyrg'f,ivpvbhfarff,irjl,irfcref,iregrf,irevyl,irtrgnevnaf,ingre,infryvar,inevrq,incbevmr,inaanphgg,inyyraf,inyragv'f,inpngrq,hgrevar,hfgn,hffure,heaf,hevangvat,hepuva,hccvat,hcuryq,hajvggvat,hagerngrq,hagnatyr,hagnzrq,hafnavgnel,haeniryrq,habcrarq,havfrk,havaibyirq,havagrerfgvat,havagryyvtvoyr,havzntvangvir,haqvfpybfrq,haqrfreivat,haqrezvarf,haqretnezragf,hapbaprearq,haoebxra,hxenvavna,glenagf,glcvfg,glxrf,glonyg,gjbfbzr,gjvgf,ghggv,gheaqbja,ghynerzvn,ghorephybzn,gfvzfuvna,gehssnhg,gehre,gehnag,gebir,gevhzcurq,gevcr,gevtbabzrgel,gevsyrq,gevsrpgn,gevplpyr,gevpxyr,gevohyngvbaf,geribe'f,gerzbag,gerzbvyyr,gerngvrf,genjyre,genafyngbef,genafpraqf,genssvpxre,gbhpuva,gbaantr,gbzsbbyrel,gbyyf,gbxraf,gvaxrerq,gvasbvy,gvtugebcr,gvpxrg'f,gugu,gubhfna,gubenpbgbzl,gurfrf,gurfnhehf,gurbybtvna,gurzrq,gunjvat,gunggn,gune,grkgvyrf,grfgvzbavrf,grffvb,grezvangvat,grzcf,gnkvqrezvfg,gngbe,gnexva,gnatrag,gnpgvyr,gnpulpneqvn,g'nxnln,flagurfvmr,flzobyvpnyyl,fjrypb,fjrrgoernqf,fjrqrf,fjnggvat,fjnfgvxn,fjnzcf,fhmr,fhcreabin,fhcrepbyyvqre,fhaonguvat,fhzznevyl,fhssbpngvba,fhryrra,fhppvapg,fhogvgyr,fhofvqrq,fhozvffvir,fhowrpgvat,fhoovat,fhongbzvp,fghcraqbhf,fghagrq,fghooyr,fghoorq,fgevivat,fgerrgjnyxre,fgengrtvmvat,fgenvavat,fgenvtugnjnl,fgbelyvar,fgbyv,fgbpx'f,fgvchyngrq,fgvzhyhf,fgvssre,fgvpxhc,fgraf,fgrnzebyyre,fgrnqjryy,fgrnqsnfg,fgnir,fgnghgrf,fgngrebbz,fgnaf,fgnprl'f,ffuuuu,fdhvfuvat,fdhvagvat,fdhrnyrq,fcebhgvat,fcevzc,fcernqfurrgf,fcenjyrq,fcbgyvtugf,fcbbavat,fcbvyre,fcvenyf,fcvaare'f,fcrrqobng,fcrpgnpyrf,fcrnxrecubar,fcne,fcnavneqf,fcnpvat,fbirervtagl,fbhgutyra,fbhfr,fbhaqcebbs,fbbgufnlre,fbba'f,fbzzrf,fbzrguvatf,fbyvqvsl,fbnef,fabegrq,fabexryvat,favgpurf,favcvat,favcre'f,favsgre,favssva,favpxrevat,farre,faney,fzvyn,fyvaxvat,fyrhgu,fyngre'f,fyngrq,fynagrq,fynaqrebhf,fynzzva,fxlfpencre,fxvzc,fxvybfu,fxryrgny,fxnt,fvgrvq,fveybva,fvatr,fvzhyngr,fvtanyrq,fvtuvat,fvqrxvpxf,fvpxra,fuehof,fueho,fubjfgbccre,fubg'f,fubfgnxbivpu,fuberyvar,fubccva,fubcyvsgre,fubc'f,fubr'f,fubny,fuvggre,fuveg'f,fuvzbxnjn,fureobear,furqf,funjan'f,funinqnv,funecfubbgref,funexvat,funar'f,funxrfcrnerna,funttrq,funqqhc,frkvfz,frkrf,frfgreprf,frebgbava,frdhraprf,fragvrag,frafhbhf,frzvany,fryrpgvbaf,frvfzvp,frnfuryy,frncynar,frnyvat,frnunira,frntenir,fphggyrq,fphyyrel,fpbj,fpbgf,fpbepure,fpbepu,fpubgmvr,fpuabm,fpuzbbmr,fpuyrc,fpuvmb,fpuvaqyre'f,fpragf,fpnycvat,fpnycrq,fpnyybc,fpnyqvat,fnlrgu,fnloebbxr,fnjrq,fnibevat,fneqvar,fnaql'f,fnaqfgbez,fnaqnyjbbq,fnzbn,fnzb,fnyhgngvbaf,fnynq'f,fnxv,fnvybe'f,fntzna,f'bxnl,ehql'f,efic'q,eblnyr,ebhfgrq,ebbgva,ebbsf,ebzcre,ebznabif,ebyyrepbnfgre,ebysvr,ebpxref,ebpx'f,ebovafbaf,evgml,evghnyvfgvp,evatjnyq,eulzrq,eurvatbyq,erjevgrf,eribyirq,eribyhgvbanevrf,eribxvat,erivrjre,eriregf,ergebsvg,ergbeg,ergvanf,erfhesnprq,erfcvengvbaf,erfcrpgviryl,erfbyhgr,erfva,ercebongr,ercynlvat,ercnlzrag,ercnvag,eradhvfg,erartr,eraqref,eranzr,erznexrq,eryncfvat,erxvaqyrq,erwhirangvat,erwhirangrq,ervafgngvat,ervafgngrzrag,ervtaf,ersreraqhzf,erpevzvangvbaf,erpvgnyf,erpurpxrq,erprcgvba'f,erpncgherq,erobhaqf,ernffrzoyr,ernef,ernzrq,ernygl,ernqre'f,ernpdhnvag,enlnaar,enivfu,enin,engubyr,enfcnvy,enerfg,encvfgf,enagf,enzbar,entane,enqvngvat,enqvny,enpxrgrre,dhbgngvba,dhvggva,dhvggref,dhvagrffragvny,dhvapl'f,dhrerzbf,dhryyrx,dhryyr,dhnfvzbqb,dhnegreonpxf,dhnegre'f,clebznavnp,chggnarfpn,chevgnavpny,chetrq,chere,cherr,chavfuzragf,chatrag,chzzry,chrqb,chqtr,chpr,cflpubgurencvfg,cflpub'f,cebfrphgbevny,cebfpvhggb,cebcbfvgvbavat,cebcryyref,cebabhaf,cebterffrf,cebpherq,cebpenfgvangvba,cebprffrf,cebongvbanel,cevzcvat,cevzngrf,cevrfg'f,ceriragngvir,cerinvyf,cerfvqrq,cerfreirf,cerfreingvirf,cersvk,cerqrprffbef,cernpul,cenapre,cenrgbevnaf,cenpgvpnyvgl,cbjqref,cbghf,cbg'f,cbfgbc,cbfvgvirf,cbfre,cbegbynab,cbegbxnybf,cbbyfvqr,cbygretrvfgf,cbpxrgrq,cbnpu,cyhaqre,cyhzzrgrq,cyhpxvat,cybc,cyvzcgba,cyrguben,cynlguvatf,cynlre'f,cynloblf,cynfgvdhr,cynvapybgurf,cvbhf,cvacbvagrq,cvaxhf,cvaxf,cvytevzntr,cvtfxva,cvssyr,cvpgvbanel,cvppngn,cubgbpbcl,cubovnf,crefvn,crezvffvoyr,crevyf,crevtaba,creshzrf,crba,craarq,cranyvmrq,crt'f,crpxf,crpxrq,cnivat,cngevnepu,cngragf,cngragyl,cnffnoyr,cnegvpvcnagf,cnenfvgvp,cnenfnvyvat,cnenzhf,cnenzvyvgnel,cnenobyvp,cnenoyr,cncvre,cncreonpx,cnvagoehfu,cnpre,cnnvvag,bkra,bjra'f,biregherf,bireguvax,birefgnlrq,bireehyr,bireynccvat,birerfgvzngr,birepbbxrq,bhgynaqvfu,bhgterj,bhgqbbefl,bhgqb,bhgobhaq,bfgrafvoyl,bevtvangvat,bepurfgengr,benyyl,bccerff,bccbfnoyr,bccbarag'f,bcrengvba'f,bbbbuu,bbzhcjnu,bzvggrq,bxrlqbxrl,bxnnnl,bunfuv,bssrevatf,bs'rz,bq'q,bppheeraprf,bpphcnag,bofreinoyr,bofpravgvrf,boyvtngbel,bnxvr,b'znyyrl'f,b'tne,alnu'f,aherpgvba,aha'f,abhtng,abfgenqnzhf,abegure,abepbz,abbpu,abaivbyrag,abafrafvpny,abzvangvat,abznqvp,abry'f,axnl,avccrq,avzonyn,avtrevn,avtry'f,avpxynhf,arjfpnfg,areibhfyl,aryy'f,arueh,arpxyvar,arooyrzna,anivtngbe,anfqnd,anejuny,anzrgnt,a'a'g,zlpranr,zlnazne,zhmnx,zhhzhh,zheqrere'f,zhzoyrq,zhyiruvyy,zhygvcyvpngvba,zhygvcyrf,zhttvatf,zhssrg,zbmneg'f,zbhgul,zbgbeovxr,zbgvingvbaf,zbgvingrf,zbgnon,zbegnef,zbeqerq,zbcf,zbbpure,zbavxre,zbatv,zbaqb,zbaqnl'f,zbyrl,zbyqf,zbvfghevmr,zbunve,zbpxl,zzxnl,zvfghu,zvffvf,zvffvba'f,zvfqrrqf,zvahfphyr,zvagl,zvarq,zvaprzrng,zvygba'f,zvyg,zvyyraavn,zvxrf,zvttf,zvssrq,zvrxr'f,zvqjrfgrea,zrgunqbar,zrgnculfvpf,zrffvrhe,zretvat,zretref,zrabcnhfny,zrantrevr,zrrr,zpxraan'f,zptvyyvphqql,znlsybjref,znkvz'f,zngevzbavny,zngvffr,zngvpx,znfphyvavgl,znfpbgf,znfnv,znemvcna,znevxn,zncyrjbbq,znamryyr,znahsnpgherf,znagvpber'f,znaardhvaf,znaubyr,znaunaqyr,znangrr,znyybel'f,znyshapgvbaf,znvayvar,znthn'f,znqjbzna,znqryvar'f,znpuvniryyv,ylayrl,ylapuvat,ylapurq,yhepbavf,yhwnpx,yhoevpnag,ybbbir,ybbaf,ybbz,ybbsnu,ybatrivgl,ybarylurnegf,ybyyvcbcf,ybpn,yynzn,yvdhvqngvba,yvarfjbzna,yvaqfrl'f,yvaqoretu,yvyvgu'f,yvyn'f,yvsref,yvpura,yvoregl'f,yvnf,yrkgre,yrirr,yrggre'f,yrffra,yrcare,yrbaneq'f,yrzbal,yrttl,yrnsl,yrnsyrgf,yrnqrgu,ynmrehf,ynmner,ynjsbeq,ynathvfuvat,ynatsbeq'f,ynaqfyvqr,ynaqybeqf,yntbqn,ynqzna,ynq'f,xhjnvg,xhaqren,xevfg'f,xevaxyr,xeraqyre,xervtry,xbjbyfxv,xbfbib,xabpxqbja,xavsrq,xarrq,xarrpnc,xvqf'yy,xriyne,xraavr,xrryrq,xnmbbgvr,xnhszna'f,xngmrazblre,xnfqna,xney'f,xnenx,xncbjfxv,xnxvfgbf,whzcref,whylna,whnavgb,wbpxfgenc,wboyrff,wvttyl,wrfhvg,wnhag,wneevat,wnoorevat,vfenryvgrf,veevtngr,veeribpnoyl,veengvbanyyl,vebavrf,vbaf,vaivgeb,vairagvbaf,vagevthrf,vagvzngrq,vagreivrj'f,vagreiravat,vagrepunatrnoyr,vagragyl,vagragvbarq,vagryyvtragyl,vafhyngrq,vafgvghgvbany,vafgvyy,vafgvtngbe,vafgvtngrq,vafgrc,vabccbeghar,vaahraqbrf,vaurevgvat,vasyngr,vasvygengvba,vasrpgf,vasnzl,vaqhpvat,vaqvfpergvbaf,vaqvfperrg,vaqvb,vaqvtavgvrf,vaqvpg,vaqrpvfvba,vapheerq,vaphongvba,vapbafcvphbhf,vanccebcevngryl,vzchavgl,vzchqrag,vzcebirf,vzcbgrapr,vzcyvpngrf,vzcynhfvoyr,vzcresrpgvba,vzcngvrapr,vzzhgnoyr,vzzbovyvmr,vyyhfgengvba,vyyhzvangvba,vqvbg'f,vqrnyvmrq,vqrnyvfg,vprynaqvp,vnzovp,ulfgrevpnyyl,ulcrefcnpr,ultvravfg,ulqenhyvpf,ulqengrq,uhmmnu,uhfxf,uheevpnar'f,uhag'f,uhapurq,uhssrq,uhoevf,uhooho,ubirepensg,ubhatna,ubgry'f,ubfrq,ubebfpbcrf,ubccl,ubcryrffarff,ubbqjvaxrq,ubabhenoyr,ubabenoyl,ubarlfhpxyr,ubzrbjaref,ubzrtvey,ubyvrfg,ubvfgrq,ubub,ub'f,uvccvgl,uvyqvr,uvxref,uvrebtylcuf,urkgba,urerva,uryvpbcgre'f,urpxyr,urngf,urnegorng'f,urncvat,urnyguvyvmre,urnqznfgre'f,urnqsvefg,unjx'f,univynaq'f,ungfhr,uneybg,uneqjverq,unaab'f,unzf,unzvygba'f,unybgunar,unvefglyrf,unvyf,unvyrq,unntra,unnnnn,tlab,thggvat,they,thzfubr,thzzv,thyy,threvyyn,tggx,tebire'f,tebhcvat,tebhaqyrff,tebnavat,tevfgyr,tevyyf,tenlanzber,tenffl,tenunz'f,tenoova,tbireazragny,tbbqrf,tbttyr,tbqyvxr,tyvggrevat,tyvag,tyvqvat,tyrnzvat,tynffl,tvegu,tvzony,tvyzber'f,tvofba'f,tvoyrgf,treg,trbzrgevp,trbtencuvpny,trarnybtl,tryyref,tryyre'f,trrmref,trrmr,tnefunj,tnetnaghna,tneshaxry,tneqare'f,tnepvn'f,tneo,tnatjnl,tnaqnevhz,tnzhg,tnybfurf,tnyyvinagvat,tnyyrevrf,tnvashyyl,tnpx,tnpuane,shfvbayvcf,shfvyyv,shevbhfyl,shysvy,shth,sehtny,seba,sevraqfuvc'f,sevpxvat,serqrevxn,serpxyvat,senhqf,sengreany,sbhagnvaurnq,sbegujvgu,sbetb,sbetrggnoyr,sberfvtug,sberfnj,sbbgabgrf,sbaqyvat,sbaqyrq,sbaqyr,sbyxfl,syhggrevat,syhgvr,syhssvat,sybhaqrevat,sybeva,syberagvar,syvegngvbhf,syrkvat,synggrere,synevat,svmm,svkngvat,svir'f,svfuarg,svef,sverfgbez,svapul,svtherurnq,svsguf,svraqvfu,sregvyvmr,srezrag,sraqvat,sryynuf,srral'f,srryref,srrqref,sngnyvgl,snfpvangr,snagnohybhf,snyfvsl,snyybcvna,snvguyrff,snvel'f,snvere,snve'f,snvagre,snvyvatf,snpgb,snprgf,snprgvbhf,rlrcngpu,rkkba,rkgengreerfgevnyf,rkgenqvgr,rkgenpheevphynef,rkgvathvfu,rkchatrq,rkcbegf,rkcraqvgher,rkcryyvat,rkbeovgnag,rkvtrag,rkuvynengrq,rkregvba,rkregvat,rkrzcgvba,rkphefvbaf,rkpyhqrf,rkprffviryl,rkprepvfr,rkprrqf,rkprrqvat,rireobql,rincbengrq,rhgunanfvn,rhebf,rhebcrnaf,rfpnetbg,rfpncrr,renfrf,rcvmbbgvpf,rcvguryvnyf,rcuehz,raguhfvnfg,ragnatyrzragf,rafynirq,rafynir,ratebffrq,raqrnibhe,ranoyrf,ranoyrq,rzcbjrezrag,rzcyblre'f,rzcungvp,rzrenyqf,rzoebvyrq,rzoenprf,rzore,rzoryyvfurq,rznapvcngrq,ryyb,ryvfn'f,ryringrf,rwnphyngr,rtb'f,rssrzvangr,rpbabzvpnyyl,rppragevpvgvrf,rnfltbvat,rnefubg,qhec,qhaxf,qharf,qhyyarff,qhyyv,qhyyrq,qehzfgvpx,qebccre,qevsgjbbq,qertf,qerpx,qernzobng,qenttva,qbjafvmvat,qbfg,qbbsre,qbabjvgm,qbzvabrf,qbzvanapr,qbr'f,qvirefvbaf,qvfgvapgvbaf,qvfgvyyrel,qvfgraqrq,qvffbyivat,qvffvcngr,qvfenryv,qvfdhnyvsl,qvfbjarq,qvfujnfuvat,qvfphffrf,qvfpbagrag,qvfpybfrq,qvfpvcyvavat,qvfpreavat,qvfnccbvagf,qvatrq,qvyhgrq,qvtrfgrq,qvpxvat,qvnoybf,qrhk,qrgbangvat,qrfgvangvbaf,qrfcvfvat,qrfvtare'f,qrfregf,qreryvpg,qrcerffbe,qrcbfr,qrcbeg,qragf,qrzbafgengvbaf,qryvorengvbaf,qrshfrq,qrsyrpgvba,qrsyrpgvat,qrpelcgvba,qrpblf,qrpbhcntr,qrpbzcerff,qrpvory,qrpnqrapr,qrnyre'f,qrnsravat,qrnqybpx,qnjavat,qngre,qnexrarq,qnepl'f,qnccl,qnapvat'f,qnzba'f,qnyylvat,qntba,q'rgng,pmrpubfybinxvnaf,phgvpyrf,phgrarff,phenpnb,phcobneqf,phzhyngvir,phybggrf,phyzvangvba,phyzvangvat,pfv'f,pehvfva,pebffunvef,pebala,pebp,pevzvanyvfgvpf,pevzrna,perngviryl,pernzvat,penccvat,penaal,pbjrq,pbhagrezrnfherf,pbefvpn,pbevaar'f,pberl'f,pbbxre,pbairarq,pbagenqvpgvat,pbagvahvgl,pbafgvghgvbanyyl,pbafgvcngvba,pbafbeg,pbafbyvqngr,pbafvfgrq,pbaarpgvba'f,pbasvavat,pbasvqraprf,pbasrffbe,pbasrqrengrf,pbaqrafngvba,pbapyhqvat,pbaprvivat,pbaprvinoyl,pbaprnyzrag,pbzchyfviryl,pbzcynvava,pbzcynprag,pbzcvyvat,pbzcryf,pbzzhavat,pbzzbacynpr,pbzzbqr,pbzzvffvba'f,pbzzvffnel,pbzzvat,pbzzrafhengr,pbyhzavfgf,pbybabfpbcl,pbybavfgf,pbyyntra,pbyynobengr,pbypuvpvar,pbqqyvat,pyhzc,pyhoorq,pybjavat,pybfrg'f,pybarf,pyvagba'f,pyvavp'f,pyvssunatre,pynffvsvpngvba,pynat,pvgehf,pvffl,pvephvgel,puebabybtl,puevfgbcur,pubbfref,pubxre,puybevqr,puvccrjn,puvc'f,puvssba,purfgl,purfncrnxr,pureaboly,punagf,punaaryrq,punzcntar'f,punyrg,punxn,preivpny,pryycubar,pryyzngrf,pnireaf,pngjnyx,pngunegvp,pngpure'f,pnffnaqen'f,pnfrybnq,pnecragre'f,pnebyla'f,pneavibebhf,pnewnpx,pneobulqengrf,pncg,pncvgnyvfgf,pnainff,pnagbarfr,pnavfgref,pnaqyrfgvpx,pnaqyryvg,pnanevrf,pnzel,pnzry'f,pnymbarf,pnyvgev,pnyql,pnova'f,olyvar,ohggreonyy,ohfgvre,ohezrfr,oheync,ohetrbavat,ohernhpeng,ohssbbaf,ohranf,oelna'f,oebbxyvar,oebamrq,oebvyrq,oebqn,oevff,oevbpur,oevne,oerngunoyr,oern,oenlf,oenffvrerf,oenvyyr,oenuzf,oenqqbpx'f,oblfraoreel,objzna'f,objyvar,obhgvdhrf,obggvpryyv'f,obbbb,obbavrf,obbxyrgf,obbxvfu,obbtrlzna,obbtrl,obzo'f,obyqyl,obtf,obtnf,obneqvatubhfr,oyhhpu,oyhaqrevat,oyhssf,oyhre,oybjrq,oybggb,oybgpul,oybffbzrq,oybbzf,oybbqjbex,oybbqvrq,oyvgurevat,oyvaxf,oyngurevat,oynfcurzbhf,oynpxvat,ovfba,oveqfba,ovatf,ovyngreny,oszvq,osnfg,orefrexre,orexfuverf,ordhrfg,orawnzvaf,oraribyrapr,orapurq,orangne,orygunmbe'f,oryylohggba,orynobe,oryn'f,orubbirf,orqql,ornhwbynvf,ornggyr,onkjbegu,onggrq,onfryrff,onevat,onesvat,oneov,onaavfu,onaxebyyrq,onarx,onyyfl,onyycbvag,onyxnaf,onypbavrf,onxref,onunzn,onssyvat,onqqre,onqqn,onqn,onpgvar,onpxtnzzba,onnxb,nmgerbanz,nmgrpf,njrq,niba,nhgbovbtencuvpny,nhgvfgvp,nhgubevgnu,nhfcvpvbhf,nhthfg'f,nhqvgvat,nhqvoyr,nhpgvbavat,nggvghqr'f,ngebpvgvrf,nguyrgr'f,nfgebabzre,nffrffrq,nfpbg,nevfgbpengvp,nevq,nethrf,nenpugbvqf,nenpuavq,ndhnzna,ncebcbf,ncebaf,nccevfrq,nccerurafvir,ncrk,nalguat,nagvirava,nagvpuevfg,nagraanr,naberkvp,nabvag,naahz,naavuvyngrq,navzny'f,nathvfurq,natvbcynfgl,natvb,nzcyl,nzcvpvyyva,nzcurgnzvarf,nzvab,nzrevpna'f,nzovthvgl,nzovrag,nznevyyb,nylffn'f,nygreangbe,nypbir,nyonpber,nynez'f,nynonfgre,nveyvsgrq,nugn,ntenonu,nssvqnivgf,nqibpnpl,nqivfrf,nqirefryl,nqzbavfurq,nqzbavfu,nqyre'f,nqqyrq,nqqraqhz,npxabjyrqtrzrag,npphfre,nppbzcyv,nppynvz,nppryrengvba,nohg,nohaqnag,nofheqvgl,nofbyirq,noehffb,noernfg,noenfvir,nobbg,noqhpgvbaf,noqhpgvat,noobgf,nonpx,nonojn,nnaq,nnnuuuu,mbeva,mvagune,mvasnaqry,mvzonojr,mvyyvbaf,mrculef,mngnepf,mnpxf,lbhhh,lbhguf,lbxryf,lrpu,lneqfgvpx,lnzzre,l'haqrefgnaq,jlarggr,jehat,jebhtug,jernguf,jbjrq,jbhyqa'gn,jbefuvcrq,jbezvat,jbezrq,jbexqnl,jbcf,jbbyyl,jbbu,jbbqfl,jbbqfurq,jbbqpuhpx,jbwnqhonxbjfxv,jvgurevat,jvgpuvat,jvfrnff,jvergncf,jvaare'f,jvavat,jvyybol,jvppnavat,juhccrq,jubbcv,jubbzc,jubyrfnyre,juvgrarff,juvare,jungpuln,juneirf,junu,jrgynaqf,jrfgjneq,jrahf,jrveqbrf,jrqf,jrof,jrnire'f,jrnere,jrnavat,jnghfv,jnfgrf,jneybpx'f,jnesvryq'f,jncbav,jnvgvat'f,jnvfgonaq,jnug,jnpxbf,ibhpuvat,ibger,ibvtug'f,ibvprq,ivivpn,ivirpn,ivinag,ivinpvbhf,ivfbe,ivfvgva,ivfntr,ivetvy'f,ivbyvaf,ivaal,ivapv'f,ivyynf,ivtbe,ivqrb'f,ivpehz,ivoengbe,irggrq,irefnvyyrf,ireaba'f,irahrf,iragevybdhvfz,iravfba,irarenoyr,ineafra,inevnag,inevnapr,incbevmrq,incvq,inafgbpx,inaqnyf,inqre'f,inppvangvba,hhhhu,hgvyvmr,hfurevat,hfqn,hfnoyr,hehe,hebybtvfg,hevangvba,hevanel,hcfgneg,hcebbgrq,hafhogvgyrq,hafcbvyrq,hafrng,hafrnfbanoyl,hafrny,hafngvfslvat,haareir,hayvxnoyr,hayrnqrq,havirefvgl'f,havirefr'f,havafherq,havafcverq,havsbezvgl,havplpyr,haubbxrq,hatu,hashaal,haserrmvat,hasynggrevat,hasnvearff,harkcerffrq,haraqvat,haraphzorerq,harnegu,haqvfpbirerq,haqvfpvcyvarq,haqregnxra,haqrefgna,haqrefuveg,haqreyvatf,haqreyvar,haqrepheerag,hapbagebyyrq,hapvivyvmrq,hapunenpgrevfgvp,hzcgrragu,htyvrf,h'er,ghg'f,gheare'f,gheovar,ghaary'f,gharl,gehfgrr,gehzcf,gehpxnfnhehf,gehofunj,gebhfre,gevccl,gevatyr,gevsyvat,gevpxfgre,gevnathyne,gerfcnffref,gerfcnffre,genirefr,genhznf,genggbevn,genfurf,genafterffvbaf,genadhvy,genzcyvat,genvarrf,genpl'f,gc'rq,gbkbcynfzbfvf,gbhatr,gbegvyynf,gbeerag,gbecrqbrq,gbcfl,gbccyr,gbcabgpu,gbc'f,gbafvy,gvccva'f,gvbaf,gvzzhu,gvzvguvbhf,gvyarl,gvtugl,gvtugarff,gvtugraf,gvqovgf,gvpxrgrq,gulzr,guebarf,guerrcvb,gubhtugshyyl,gubeauneg'f,gubexry,gubzzb,guvat'yy,gurbybtvpny,gury,guru,gursgf,gung'ir,gunaxftvivatf,grgureonyy,grfgvxbi,greensbezvat,grezvahf,grcvq,graqbavgvf,graobbz,gryrk,gryrcbeg,gryrcnguvp,grralobccre,gnkvpno,gnkrq,gnhg,gnggrerq,gnggntyvnf,gncrerq,gnagevp,gnaarxr,gnxrqbja,gnvyfcva,gnpf,gnpvg,gnoyrg,gnoyrpybgu,flfgrzvp,flevn,flcuba,flagurfvf,flzovbgvp,fjbbcvat,fjvmmyr,fjvcvat,fjvaqyrq,fjvyyvat,fjreivat,fjrngfubcf,fjnlmnx'f,fjnqqyvat,fjnpxunzzre,firgxbss,fhmvr'f,fhecnff,fhcbffrq,fhcreqnq,fhcre'f,fhzcghbhf,fhyn,fhvg'f,fhtnel,fhtne'f,fhtnv,fhrl,fhoireg,fhoheo,fhofgnagvngr,fhofvql,fhozrefvoyr,fhoyvzngvat,fhowhtngvba,fglk,fglzvrq,fghagzna,fghqqrq,fgelpuavar,fgevxvatyl,fgerahbhf,fgerrgyvtugf,fgenffznaf,fgenatyrubyq,fgenatrarff,fgenqqyvat,fgenqqyr,fgbjnjnlf,fgbgpu,fgbpxoebxref,fgvsyvat,fgrcsbeq,fgrcqnq'f,fgrrentr,fgrran,fgnhapu,fgnghnel,fgneyrgf,fgnamn,fgnayrl'f,fgntanag,fgnttrevatyl,fffuuu,fdhnj,fcheg,fchatrba,fcevtugyl,fcenlf,fcbegfjrne,fcbbashy,fcyvggva,fcyvgfivyyr,fcvevghnyvgl,fcval,fcvqre'f,fcrrqvyl,fcrphyngvir,fcrpvnyvfr,fcngvny,fcnfgvp,fcnf,fcneeva,fblorna,fbhiynxv,fbhguvr,fbhgunzcgba,fbhechff,fbhcl,fbhc'f,fbhaqfgntr,fbcuvr'f,fbbgurf,fbzrobql'q,fbyvpvgrq,fbsgrfg,fbpvbcnguvp,fbpvnyvmrq,fbpvnyvfz,falqref,fabjzbovyrf,fabjonyyrq,fangpurf,fzhtarff,fzbbgurfg,fznfurf,fyhec,fyhe,fybfurq,fyrvtug,fxlebpxrg,fxvrq,fxrjrq,fvmrnoyr,fvkcrapr,fvcbjvpm,fvatyvat,fvzhyngvbaf,fvzhyngrf,fvzvyneyl,fvyirel,fvyirefgbar,fvrfgn,fvrzcer,fvqrjvaqre,fularff,fuhinavf,fubjbss,fubegfvtugrq,fubcxrrcre,fubrubea,fuvgubhfr,fuvegyrff,fuvcfuncr,fuvatyrf,fuvsh,furf,furezna'f,furyir,furyolivyyr,furrcfxva,fung,funecraf,fundhvyyr,fund,funafuh,funavn'f,frg'f,freivatf,frecvpb,frdhvarq,frafvovyvgvrf,frvmrf,frrfnj,frrc,frpbaqrq,fronfgvna'f,frnfuryyf,fpenccrq,fpenzoyre,fpbecvbaf,fpbcrf,fpuanhmre,fpuzb,fpuvmbvq,fpnzcrerq,fpnt,fnintryl,fnhqvf,fngver,fnagnf,fnafxevg,fnaqbinyf,fnaqvat,fnaqny,fnyvrag,fnyrfjbzna,fnttvat,f'phfr,ehggvat,ehguyrffyl,ehabss,ehaargu,ehyref,ehssvnaf,ehorf,ebhtuevqref,ebgngrf,ebgngrq,ebfjryy'f,ebfnyvgn,ebbxvrf,eba'f,ebyyreoynqrf,ebulcaby,ebthrf,ebovafba'f,ebnfgf,ebnqvrf,evire'f,evggra,evccyvat,evccyrf,evat'f,evtbe,evtbyrggb,evpuneqb,evoorq,eribyhgvbaf,eriyba'f,erireraq'f,ergerngvat,ergenpgnoyr,ergubhtug,ergnyvngrq,ergnvyref,erfubbg,erfreivat,erfrqn,erfrnepuref,erfphre,erernq,erdhvfvgvbaf,erchgr,ercebtenz,ercerfragngvbaf,ercbeg'f,ercyravfu,ercrgvgvir,ercrgvgvbhf,ercragnapr,erbetnavmvat,eragba,erarr'f,erzbqryrq,eryvtvbhfyl,eryvpf,ervairagvat,ervairagrq,erurng,erunovyvgngr,ertvfgene,ertrarengvba,ershryvat,ersevtrengbef,ersvavat,erragre,erqerff,erpehvgre,erpyvare,erpvcebpny,ernccrnef,enmbef,enjql,enfurf,enevgl,enatvat,enwrfxv,envfba,envfref,envavre,entgvzr,entrf,enqne'f,dhvavar,dhrfgfpncr,dhryyre,dhnegreznvar'f,cler,cltznyvba,chfuref,chfna,cheivrj,chevsvpngvba,chzcva,chyyre,chorfprag,cflpuvngevfg'f,cehqrf,cebibybar,cebgrfgnagf,cebfcreb,cebcevrgl,cebccrq,cebz'f,cebpenfgvangr,cebprffbef,cebprffvbany,cevapryl,cerlrq,ceriragvir,cergevny,cerfvqr,cerzvhzf,cersnpr,cernpuref,cbhaqre,cbegf,cbegenlf,cbegenlny,cbegrag,cbchyngvbaf,cbberfg,cbbyvat,cbbsl,cbagbba,cbzcrvv,cbylzrevmngvba,cbyybv,cbyvpvn,cbnpure,cyhfrf,cyrnfhevat,cyrnqf,cynltebhaqf,cyngvghqrf,cyngsbezf,cyngrnhrq,cyngr'f,cynagngvbaf,cynthvat,cvggnapr,cvgpure'f,cvaxl'f,cvaurnqf,cvaphfuvba,cvzcyl,cvzcrq,cvttlonpx,cvrepr'f,cvrpvat,culfvbybtvpny,culfvpvna'f,cubfcungr,cuvyyvcr,cuvyvcfr,cuvyol,cunfrq,cunenbuf,crgle,crgvgvbare,crfugvtb,crfnenz,crefcrpgvirf,crefavpxrgl,crecrgengr,crepbyngvat,crcgb,crafvbaf,craar,craryy,crzzvpna,crrxf,crqnyvat,crnprznxre,cnjafubc,cnggvat,cngubybtvpnyyl,cngpubhyv,cnfgf,cnfgvrf,cnffva,cneybef,cnaqn'f,cnanpur,cnygebj,cnynzba,cnqybpx,cnqql'f,cnqqyvat,birefyrrc,bireurngvat,bireqbfrq,birepunetr,birepnzr,bireoybja,bhgfrg,bhgentrbhfyl,bhgsvggrq,befvav'f,bearel,bevtnzv,betnfzvp,betn,beqre'f,bccbeghar,bbbj,bbbbbbbbbu,bbuuuu,bylzcvna,bysnpgbel,bxhz,buuuuuu,bterf,bqlffrhf,bqbeyrff,bpphcngvbaf,bpphcnapl,bofpravgl,boyvgrengrq,albat,alzcubznavnp,ahgfnpx,ahzn,agbmnxr,abibpnva,abhtu,abgu,abfu,abejrtvnaf,abegufgne,abaavr,abavffhr,abqhyrf,avtugznevfu,avtugyvar,avtugunjx,avttnf,avph,avpbynr,avpxanzrq,avprgvrf,arjfzna,arireynaq,artngviryl,arrqen,arqel,arpxvat,anibhe,anhfrnz,anhyf,anevz,anaqn,anzngu,anttrq,anqf,anobb,a'flap,zlgubybtvpny,zlfgvpvfz,zlfyrkvn,zhgngbe,zhfgnsv,zhffryf,zhfxvr,zhfxrgrre,zhegnhtu,zheqrerff,zheqre'f,zhenyf,zhapuvat,zhzfl,zhyrl,zbhfrivyyr,zbfdhr,zbfu,zbegvslvat,zbetraqbessref,zbbyn,zbagry,zbatbybvq,zbygra,zbyrfgrerq,zbyqvatf,zbpneovrf,zb'ff,zvkref,zvferyy,zvfabzre,zvfurneq,zvfunaqyrq,zvfpernag,zvfpbaprcgvbaf,zvavfphyr,zvavznyvfg,zvyyvr'f,zvyytngr,zvtengr,zvpurynatryb'f,zrggyr,zrgevppbairegre,zrgubqbybtl,zrgre'f,zrgrbef,zrfbmbvp,zrabenu,zratryr,zraql'f,zrzoenarf,zryqvat,zrnaarff,zparvy'f,zptehss,zpneabyq,zngmbu,znggrq,zngurzngvpnyyl,zngrevnyvmrq,zngrq,znfgrecvrprf,znfgrpgbzl,znffntre,znfbaf,zneiryvat,znegn'f,znedhrr,znebbarq,znebar'f,zneznqhxr,znevpx,znepvr'f,znaunaqyrq,znatbrf,znangrrf,znantrevny,zna'yy,znygva,znyvpvbhfyl,znysrnfnapr,znynuvqr,znxrgu,znxrfuvsg,znxrbiref,znvzvat,zntnmvar'f,znpuvfzb,znnegra,yhgurena,yhzcrpgbzl,yhzorevat,yhvtv'f,yhtr,yhoevpngvba,ybeqvat,ybepn,ybbxbhgf,ybbtvr,ybaref,ybaqba'f,ybva,ybqtvatf,ybpbzbgvir,yborf,ybngurq,yvffra,yvahf,yvtugurnegrq,yvtnzrag,yvsrgvzr'f,yvsre,yvre,yvqb,yvpxva,yrjra,yrivgngvba,yrfgrepbec,yrffrr,yragvyf,yran'f,yrzhe,yrva,yrtvfyngr,yrtnyvmvat,yrqreubfra,ynjzra,ynhaqel'f,ynffxbcs,yneqare,ynaqfpncrf,ynaqsnyy,ynzornh,ynznten,ynttvat,ynqbaa,ynpgvp,ynpdhre,ynoberef,ynongvre,xjna'f,xevg,xenonccry,xckl,xbbxf,xabool,xavpxxanpxf,xyhgml,xyrlanpu,xyraqnguh,xvaebff,xvaxb'f,xvaxnvq,xvaq'n,xvzoreyl'f,xvybzrgre,xuehfpuri'f,xunxv,xrlobneqf,xrjy,xrgpu,xrfure,xra'f,xnevxbf,xneravan,xnanzvgf,whafuv,whab'f,whzoyrq,whwvgfh,whqvgu'f,wg'f,wbhfg,wbhearlrq,wbggrq,wbanguna'f,wvmm,wvatyvat,wvtnybat,wrefrlf,wreevrf,wryylorna,wryyvrf,wrrcf,wrnaavr'f,wnian,wnzrfgbja,wnzrf'f,wnzoberr,wnvy'f,vfynaqref,veerfvfgnoyr,verar'f,vbhf,vairfgvtngvba'f,vairfgvtngrf,vainqref,vahaqngrq,vagebqhpgbel,vagreivrjre,vagreehcgf,vagrecergvat,vagrecynargnel,vagreavfg,vagrepenavny,vafcrpgvbaf,vafcrpgvat,vafrzvangrq,vadhvfvgbe,vaynaq,vashfrq,vashevngr,vasyhk,vasyngvat,vasvqryvgvrf,vasrerapr,varkcrafvir,vaqhfgevnyvfg,vaprffnagyl,vaprcgvba,vaprafrq,vapnfr,vapncnpvgngr,vapn,vanfzhpu,vanpphenpvrf,vzhf,vzcebivfrq,vzcybqvat,vzcrqvat,vzcrqvzragf,vzznghevgl,vyyf,vyyrtvoyr,vqbyf,vqvgnebq,vqragvsvnoyr,vq'a,vpvpyrf,vohcebsra,v'v'z,ulzvr,ulqebynfr,uloevqf,uhafrpxre'f,uhaxre,uhzcf,uhzbaf,uhzvqbe,uhzqvatre,uhzoyvat,uhznaxvaq,uhttva,uhssvat,ubhfrubyqf,ubhfrpyrnavat,ubgubhfr,ubgpnxrf,ubfgl,ubbgranaal,ubbgpuvr,ubbfrtbj,ubabhevat,ubaxf,ubarlzbbaref,ubzbcubovp,ubzvyl,ubzrbcnguvp,ubsszna'f,uaaa,uvgpuuvxref,uvffrq,uvfcnavpf,uvyyavttre,urkninyrag,urjjb,urfgba'f,urefur,urebqbghf,urezrl,uretbgg,urerfl,uraal,uraavtnaf,uraubhfr,urzbylgvp,uryyf,uryvcnq,urvsre,uroerjf,uroovat,urnirq,urnegynaq,urnu,urnqybpx,ungpuonpx,uneineq'f,uneebjvat,unearffrq,uneqvat'f,unccl'f,unaavony'f,unatbiref,unaqv,unaqonfxrg,unaqontf,unyybjrra'f,unyy'f,unyserx,unysonpx,untevq,unprar,tltrf,thlf'er,thg'f,thaqrefbaf,thzcgvba,thneqvn,tehagznfgre,tehof,tebhc'f,tebhpu,tebffvr,tebffre,tebcrq,tevaf,tevzr,tevtvb,tevss'f,ternfronyy,tenirfvgr,tenghvgl,tencuvgr,tenazn,tenaqsnguref,tenaqonol,tenqfxv,tenpvat,tbg'f,tbffvcf,tbbavr,tbboyr,tbboref,tbaref,tbyvgfla,tbsre,tbqfnxr,tbqqnhtugre,tangf,tyhvat,tyho,tybony'f,tynerf,tvmzbf,tviref,tvamn,tvzzvr,tvzzrr,trbetvn'f,traareb,tnmcnpub,tnmrq,tngb,tngrq,tnffl,tnetyvat,tnaquvwv,tnyinavmrq,tnyyrel'f,tnyyoynqqre,tnoevry'f,tnnnu,shegvir,shegurevat,shatny,shzvtngvba,shqq,shpxn,sebaxbafgrra,sebzol'f,sevyyf,serfure,serrmva,serrjnyq,serrybnqre,senaxyva'f,senzrjbex,senvygl,sbegvsvrq,sbetre,sberfgel,sberpybfher,sbeonqr,sbenl,sbbgonyy'f,sbbyuneql,sbaqrfg,sbzva,sbyybjva,sbyybjre,sbyyvpyr,syhr,sybjrevat,sybgngvba,sybccvat,sybbqtngrf,sybttrq,sybt,syvpxrq,syraqref,syrnont,synaxf,svkvatf,svknoyr,svfgshy,sverjngre,sverfgnegre,sveryvtug,svatreonat,svanyvmvat,svyyva,svyvcbi,svqb,svqrere,srzvavfgf,sryyvat,sryqoret,srvta,snibenoyl,snir,snhavn,snha,sngnyr,snfgvat,snexhf,snerq,snyyvoyr,snvgushyarff,snpgbevat,snpvyvgngrq,snoyr,rlrshy,rkgenznevgny,rkgenpgf,rkgvathvfurq,rkgrezvangrq,rkcbfrf,rkcbegre,rkcbaragvny,rkuhzrq,rkuhzr,rknfcrengrq,rivfprengr,rivqraprq,rinafgba,rfgbl,rfgvzngvat,rfzreryqn,rfzr,rfpncnqrf,rebfvba,revr,rdhvgnoyr,rcfbz,rcbkl,ragvprq,raguhfrq,ragraqer,rafhrq,raunaprf,rathysrq,ratebffvat,ratenivat,raqbecuvaf,ranzry,rzcgvir,rzcvevpny,rzzlf,rzvffvba,rzvaragyl,rzobql,rzormmyre,rzoneerffrq,rzoneenffvatyl,rzonyzrq,rznapvcngvba,ryhqrf,ryvat,ryringvba,ryrpgbengr,ryngrq,rvevr,rtbgvgvf,rssrpgvat,rrevyl,rrrj,rrpbz,rqvgbevnyf,rqvpg,rpmrzn,rphzravpny,rpxyvr'f,rnegul,rneyborf,rnyyl,qlrvat,qjryyf,qiqf,qhirg,qhapnaf,qhyprg,qhpxyvat,qebirf,qebccva,qebbyf,qerl'nhp,qernzref,qbjfre'f,qbjaevire,qbjatenqrq,qbcvat,qbbqvr,qbzvavpnaf,qbzvangvat,qbzrfgvpvgl,qbyybc,qbrfag,qbre,qboyre,qvihytrq,qvivfvbany,qvirefvbanel,qvfgnapvat,qvffbyirf,qvffvcngrq,qvfcynlvat,qvfcrafref,qvfcrafngvba,qvfbevragvat,qvfarljbeyq,qvfzvffvir,qvfznagyvat,qvfvatrahbhf,qvfuriryrq,qvfsvthevat,qvfpbhefr,qvfpbagvahrq,qvfnyybjrq,qvaavat,qvzzvat,qvzvahgvir,qvyvtragyl,qvyrggnagr,qvyngvba,qvttvgl,qvttref,qvpxrafvna,qvncuentzf,qvntabfrf,qrjl,qrirybcre,qrinfgngvatyl,qrgrezvavat,qrfgnovyvmr,qrfrpengr,qrevirf,qrcbfvat,qramry,qrabhapvat,qrabzvangvbaf,qrabzvangvbany,qravrpr,qrzbal,qryivat,qryg,qryvpngrf,qrvtarq,qrtenffv'f,qrtrarengvba,qrsenhq,qrsybjre,qrsvoevyyngbe,qrsvnagyl,qrsreerq,qrsrapryrff,qrsnpvat,qrqvpngvat,qrpbafgehpgvba,qrpbzcbfr,qrpvcurevat,qrpvoryf,qrprcgviryl,qrprcgvbaf,qrpncvgngvba,qrohgnagrf,qrobanve,qrnqyvre,qnjqyvat,qnivp,qngnonfrf,qnejvavfz,qneavg,qnexf,qnaxr,qnavrywnpxfba,qnatyrq,qnvzyre,plgbkna,plyvaqref,phgbhg,phgyrel,phff,phfuvat'f,pheironyy,phevbhfyl,phesrjf,phzzreohaq,phpxbb'f,pehapurf,pehpvsvkvba,pebhpurq,pebvk,pevgrevba,pevfcf,pevccyrf,pevyyl,pevof,perjzna,pergnprbhf,perrcva,perrqf,perqramn,pernx,penjyl,penjyva,penjyref,pengrq,penfure,penpxurnqf,pbjbexre,pbhagrecneg,pbhapvyybe,pbha,pbhyqa'g'ir,pbgf,pbfgnamn'f,pbftebir'f,pbejvaf,pbefrg,pbeerfcbaqragf,pbevnaqre,pbcvbhfyl,pbairarf,pbagenprcgvirf,pbagvahbhfyl,pbagvatrapvrf,pbagnzvangvat,pbafhy,pbafgnagvabcyr,pbaavcgvba,pbaavr'f,pbax,pbawhtngr,pbaqvzrag,pbapheeragyl,pbapbpgvat,pbapynir,pbapreg'f,pba'f,pbzceruraqvat,pbzcyvnag,pbzcynprapl,pbzcvyngvba,pbzcrgvgvirarff,pbzzraqngber,pbzrqvrf,pbzrqvnaf,pbzronpxf,pbzovarf,pbz'ba,pbybavmrq,pbybavmngvba,pbyyvqrq,pbyyrpgviryl,pbyyneobar,pbyynobengvat,pbyynobengrq,pbyvgvf,pbyqyl,pbvssher,pbssref,pbrqf,pbqrcraqrag,pbpxfhpxvat,pbpxarl,pbpxyrf,pyhgpurq,pyhrgg'f,pybireyrns,pybfrgrq,pybvfgrerq,pyvapurq,pyvpxre,pyrir,pyretlzna,pyrngf,pynevslvat,pynccrq,pvgngvbaf,pvaanone,pvapb,puhaary,puhzcf,puhpxf,puevfgbs,pubyvarfgrenfr,pubveobl,pubpbyngrl,puynzlqvn,puvyv'f,puvtyvnx,purrfvr,purrfrf,purpualn,punhivavfgvp,punfz,punegerhfr,puneavre,puncvy,puncry'f,punyxrq,punqjnl,preirmn,prehyrna,pregvsvnoyl,pryfvhf,pryyhyvgr,pryyrq,prvyvat'f,pninyel'f,pninypnqr,pnggl,pngref,pngnybtvat,pnfl,pnfgengrq,pnffvb,pnfuzna'f,pnfurjf,pnejnfu,pnegbhpur,pneaviber,pnepvabtraf,pnenfpb'f,pnenab'f,pnchyrg,pncgvirf,pncgvingrq,pncg'a,pncfvmrq,pnabrf,pnaarf,pnaqvqngr'f,pnapryyngvbaf,pnzfunsg,pnzcva,pnyyngr,pnyyne,pnyraqne'f,pnyphyngbef,pnve,pnssrvangrq,pnqniref,pnpbcubal,pnpxyr,olcebqhpg,ojnan,ohmmrf,ohlbhg,ohggbavat,ohfybnq,ohetynevrf,oheof,ohen,ohban,ohavbaf,ohatnybjf,ohaqyrf,ohapurf,ohyyurnqrq,ohssf,ohplx,ohpxyvat,oehfpurggn,oebjorngvat,oebbzfgvpxf,oebbql,oebzyl,oebyva,oevtnqvre,oevrsvatf,oevqtrcbeg,oerjfxvrf,oerngunylmre,oernxhcf,oernqgu,oengjhefg,oenavn,oenapuvat,oenvqvat,oentf,oenttva,oenqljbbq,obmb'f,obggbzrq,obggbz'f,obggyvat,obgnal,obfgba'f,obffn,obeqryyb,obbb,obbxfurys,obbtvqn,obaqfzna,obyfurivxf,obyqre,obttyrf,obneqre,obne'f,oyhqtrbarq,oybjgbepu,oybggre,oyvcf,oyraqf,oyrzvfu,oyrnpuvat,oynvargbybtvfgf,oynqvat,oynoorezbhgu,ovfznepx,ovfubcf,ovfpnlar,oveqfrrq,oveqpntr,ovbavp,ovbtencuvrf,ovbtencuvpny,ovzzry,ovybkv,ovttyl,ovnapuvaav,orggr'f,orgnqvar,oret'f,orerafba,oryhf,oryg'f,oryyl'f,oryybd,oryyn'f,orysnfg,orunivbe'f,ortrgf,orsvggvat,orrgubira'f,orrcref,orrymroho,orrsrq,orqebbz'f,orqebpx,orqevqqra,orqrirer,orpxbaf,orpxrgg'f,ornhgl'f,ornqrq,onhoyrf,onhoyr,onggyrfgne,onggyrtebhaq,onggyr'f,ongueborf,onfxrgonyyf,onfrzragf,oneebbz,oneanpyr,onexva,onexrq,onevhz,onerggn,onatyrf,onatyre,onanyvgl,onzonat,onygne,onyycynlref,onvb,onuenva,ontzna,onssyrf,onpxfgebxr,onpxebbz,onpurybe'f,onolfng,onolybavna,onobbaf,nivi,nirm,nirefr,ninvynovyvgl,nhtzragngvba,nhqvgbel,nhqvgbe,nhqvbgncr,nhpgvbarre,nggra,nggnvarq,nggnpxref,ngpun,nfgbavfuzrag,nffubyr'f,nffrzoyre,nehthyn,nefbavfg'f,neebm,nevtngb,nevs,neqrag,nepunvp,nccebkvzngvba,nccebivat,nccbvagvat,ncnegurvq,nagvuvfgnzvarf,nagnepgvpn,naablnaprf,naanyf,naanoryyr'f,natevyl,natrybh,natryb'f,narfgurfvbybtl,naqebvq,nangbzvpnyyl,nanepuvfgf,nanylfr,nanpuebavfz,nzvnoyr,nzrk,nzovinyrag,nznffrq,nznerggb,nyhzahf,nygreangvat,nygreangrf,nygrengvba,nybsg,nyyhqvat,nyyra'f,nyynuh,nyvtug,nyserq'f,nysvr,nveyvsg,nvzva,nvyzrag,ntebhaq,ntvyr,ntrvat,nsgretybj,nsevpnaf,nssebagr,nssrpgvbangryl,nrebovp,nqivfre,nqivy,nqiragvfg,nqinaprzragf,nqeranyf,nqzveny'f,nqzvavfgengbef,nqwhgnag,nqurerapr,nqrdhngryl,nqqvgvirf,nqqvgvbaf,nqncgvat,nqncgnoyr,npghnyvmngvba,npgvingvat,npebfg,npurq,npphefrq,nppbhgerzragf,nofpbaqrq,nobirobneq,nobh,norggrq,noobg'f,noorl'f,nnetu,nnnnuu,mhmh'f,mhjvpxl,mbyqn,mvgf,mvcybp,mnxnzngnx,lhgm,lhzz,lbhir,lbyx,lvccvr,lvryqf,lvqqvfu,lrfgreqnlf,lryyn,lrneaf,lrneavatf,lrnearq,lnjavat,lnygn,lnugmrr,lnpug'f,l'zrna,l'ner,knaq,jhgurevat,jernxf,jbhy,jbefrarq,jbeevfbzr,jbexfgngvba,jbexvvvat,jbeprfgrefuver,jbbc,jbbbbbbb,jbbqrq,jbaxl,jbznavmvat,jbybqnefxl,jaxj,jang,jvjvgu,jvguqenjf,jvful,jvfug,jvcref,jvcre,jvabf,jvarel,jvaqgubear,jvaqfhesvat,jvaqrezrer,jvttyrf,jvttyrq,jvttra,julf,jujung,juhu,jubf,juber'f,jubqhavg,jubnnn,juvggyvat,juvgrfanxr,juveyvat,jurerbs,jurrmvat,jurrmr,jungyrl'f,jungq'ln,jungnln,junzzb,junpxva,jrgf,jrfgobhaq,jryyyy,jryyrfyrl,jrypu'f,jrveqb'f,jrvtugyrff,jrrivy,jrqtvrf,jroovat,jrnfyl,jrncba'f,jrna,jnlfvqr,jnkrf,jniryratguf,jnghev,jnful,jnfuebbzf,jnegba'f,jnaqryy,jnxrhc,jnvgnzvahgr,jnqqln,jnonfu,jnnnnu,ibeanp,ibve,ibvpvat,ibpngvbany,ibpnyvfg,ivkraf,ivfuabbe,ivfpbhag,ivehyrag,iveghbfb,ivaqvpgvirarff,ivaprerf,ivapr'f,ivyyvre,ivvv,ivtrbhf,ivraarfr,ivprebl,irfgvtvny,ireanphyne,iramn'f,iragvyngr,iragrq,irarerny,iryy,irtrgngvir,irrevat,irrerq,irqql,infybin,inybfxl,invyfohet,intvanf,intnf,inpngvba'f,hhzy,herguen,hcfgntrq,hcybnqvat,hctenqrf,hajenccvat,hajvryql,hagranoyr,hagnccrq,hafngvfsvrq,hafngvfsnpgbel,hadhrapunoyr,haareirq,hazragvbanoyr,haybinoyr,haxabjaf,havirefrf,havasbezrq,havzcerffrq,haunccvyl,hathneqrq,harkcyberq,haqrecnff,haqretnezrag,haqreqrirybcrq,haqravnoyl,hapbzcebzvfvat,hapyrapu,hapynvzrq,hapunenpgrevfgvpnyyl,haohggbarq,haoyrzvfurq,hanf,hzcn,hyhyq,huuuz,gjrrmr,ghgfnzv,ghfx,ghful,ghfpneben,ghexyr,ghetuna,gheohyrag,gheovavhz,ghssl,ghoref,gfha,gehpbng,gebkn,gebh,gebcvpnan,gevdhrgen,gevcyrq,gevzzref,gevprcf,gevorpn,gerfcnffrq,genln,geniryyref,genhzngvmvat,genafirfgvgrf,genafngynagvp,gena'f,genvabef,genqva,genpxref,gbjavrf,gbheryyrf,gbhtuarff,gbhpun,gbgnyf,gbgnyyrq,gbffva,gbegvbhf,gbcfubc,gbcrf,gbavpf,gbatf,gbzfx,gbzbeebjf,gbvyvat,gbqqyr,gbof,gvmml,gvenzvfh,gvccref,gvzzv,gvzoer,gujnc,guhfyl,gugur,guehjnl,guehfgf,guebjref,guebjrq,guebhtujnl,guevpr,gubznf'f,guvpxravat,guvn,gurezbahpyrne,gurencl'f,guryjnyy,gungnjnl,gu'f,grkgvyr,grknaf,greel'f,greevsvpnyyl,grargf,graqbaf,graqba,gryrfpbcvp,gryrcbegngvba,gryrcnguvpnyyl,gryrxvargvp,grrgrevat,grnfcbbaf,grnzfgref,gnhagf,gngbb,gnenaghynf,gncnf,gnamnavn,gnaarq,gnax'f,gnatyvat,gnatrevar,gnznyrf,gnyyvrq,gnvybef,gnv'f,gnuvgvna,gnt'f,gnpgshy,gnpxyrf,gnpul,gnoyrfcbba,gnoyrnh,flenu,flar,flapuebavpvgl,flapu,flancgvp,flancfrf,fjbbavat,fjvgpuzna,fjvzfhvgf,fjvzzre'f,fjrygrevat,fjryyvat'f,fjrrgyl,fjrrcre,fhibygr,fhff,fhfybi,fheanzr,fhesrq,fhcerznpl,fhccbfvgvba,fhccregvzr,fhcreivyynvaf,fhcrezna'f,fhcresyhbhf,fhcrertb,fhafcbgf,fhaalqnyr'f,fhaal'f,fhaavat,fhayrff,fhaqerff,fhzc,fhxv,fhssbyx,fhr'f,fhpxnu,fhppbgnfu,fhofgngvba,fhofpevcgvbaf,fhoznevarf,fhoyriry,fhoonfrzrag,fglyrq,fghqvbhf,fghqvb'f,fgevcvat,fgerffrf,fgerahbhfyl,fgernzyvarq,fgenvaf,fgenvtugf,fgbal,fgbarjnyyrq,fgbaruratr,fgbzcre,fgvchyngrf,fgvatvat,fgvzhyngrq,fgvyyarff,fgvyrggbf,fgrjneqf,fgrirfl,fgrab,fgra,fgrzzrq,fgrrajlpx,fgngrfzra,fgngrubbq,fgnetngrf,fgnaqfgvyy,fgnzzrevat,fgnrqreg,fdhvttyl,fdhvttyr,fdhnfuvat,fdhnevat,fcheerq,fcevagf,fcernqfurrg,fcenzc,fcbggref,fcbegb,fcbbxvat,fcbafbefuvc,fcyraqvqb,fcvggva,fcvehyvan,fcvxl,fcrphyngvbaf,fcrpgeny,fcngr,fcnegnphf,fcnaf,fcnpreha,fbja,fbhguobhaq,fbee,fbeprel,fbbarfg,fbab,fbaqurvz,fbzrguvat'yy,fbzrgu,fbzrcva,fbzrbar'yy,fbyvpvgbe,fbsnf,fbqbzl,fbof,fboreyl,fborerq,fbnerq,fbncl,fabjzra,fabjonax,fabjonyyvat,fabexry,faviryyvat,favssyvat,fanxrfxva,fanttvat,fzhfu,fzbbgre,fzvqtra,fznpxref,fznpxqbja,fyhzybeq,fyhttvat,fybffhz,fyvzzre,fyvtugrq,fyrrcjnyx,fyrnmronyy,fxbxvr,fxvezvfurf,fxvccre'f,fxrcgvp,fvgxn,fvgnevqrf,fvfgnu,fvccrq,fvaqryy,fvzcyrgbaf,fvzc,fvzbal,fvzon'f,fvyxjbbq,fvyxf,fvyxra,fvyvpbar,fvtugyrff,fvqrobneq,fuhggyrf,fuehttvat,fuebhqf,fubjl,fubiryrq,fubhyqa'gn,fubcyvsgref,fuvgfgbez,fuvclneq,fuvryqrq,furyqba'f,furral,funira,funcrglcr,funaxne,funzvat,funyybjf,funyr,funqvat,funpxyr,funoovyl,funoonf,frirehf,frggyrzragf,frcchxh,fravyvgl,frzvgr,frzvnhgbzngvp,frzrfgre'f,frymavpx,frpergnevny,fronpvb,frne,frnzyrff,fphmml,fphzzl,fphq,fpehgvavmrq,fpehapuvr,fpevcgherf,fpevooyrq,fpbhgrq,fpbgpurf,fpbyqrq,fpvffbe,fpubbare,fpuzvqg'f,fpuyho,fpniratvat,fpneva,fpnesvat,fpnerpebj'f,fpnag,fpnyyvbaf,fpnyq,fpnool,fnl'f,fnibhe,fniberq,fnepbvqbfvf,fnaqone,fnyhgrq,fnygrq,fnyvfu,fnvgu,fnvyobngf,fntvggnevhf,fntna,fnsrthneqf,fnper,fnppunevar,fnpnznab,fnor,ehfuqvr,ehzcyrq,ehzon,ehyrobbx,ehooref,ebhtuntr,ebggreqnz,ebgb,ebgvffrevr,ebfrohqf,ebbgvr,ebbfgref,ebbfriryg'f,ebbarl'f,ebbsl,ebbsvr,ebznagvpvmr,ebzn'f,ebybqrk,ebys'f,ebynaq'f,ebqarl'f,ebobgvp,ebova'f,evggyr,evfgbenagr,evccva,evbgvat,evafvat,evatva,evaprff,evpxrgl,erjevggra,erivfvat,eriryvat,ergl,ergerngf,ergrfg,ergnyvngvat,erfhzrq,erfgehpghevat,erfgevpg,erfgbengvir,erfgba,erfgnhengrhe,erfvqraprf,erfubbgf,erfrggvat,erfragzragf,erfphref,erebhgrq,ercebtenzzvat,ercevfnyf,ercevfny,ercbffrff,ercnegrr,eramb,erasvryq,erzber,erzvggvat,erzrore,eryvnovyvgl,erynknagf,erwhirangr,erwrpgvbaf,eruh,erthynevgl,ertvfgene'f,ertvbanyf,ertvzrf,ertrarengrq,ertrapl,ersbphf,ersreenyf,errab,erryrpgrq,erqrirybczrag,erplpyrf,erpevzvangvba,erpbzovanag,erpyvavat,erpnagvat,erpnyyvat,ernggnpu,ernffvtavat,ernyvfrf,ernpgbef,ernpgvbanel,eovf,enmbe'f,enmthy,enirq,enggyrfanxrf,enggyrf,enfuyl,endhrgonyy,enccref,encvqb,enafnpx,enaxvatf,enwnu,envfvarggrf,enurrz,enqvffba,enqvfurf,enqvpnyyl,enqvnapr,enoov'f,enona,dhbgu,dhznev,dhvagf,dhvygf,dhvygvat,dhvra,dhrhr,dhneeryrq,dhnyvslvat,cltzl,chegl,chevgnaf,cheoyvaq,chccl'f,chapghngvba,chapuobjy,chtrg,choyvpnyyl,cflpubgvpf,cflpubcnguf,cflpubnanylmr,cehavat,cebinfvx,cebgehqvat,cebgenpgrq,cebgbaf,cebgrpgvbaf,cebgrpgva,cebfcrpgbe,cebfrphgbe'f,cebccvat,cebcbegvbarq,cebculynpgvp,cebcryyrq,cebbsrq,cebzcgvat,cebzcgre,cebsrffrq,cebperngr,cebpyvivgvrf,cevbevgvmvat,cevamr,cevaprff'f,cevpxrq,cerff'yy,cerfrgf,cerfpevorf,cerbphcr,cerwhqvpvny,cersrk,cerpbaprvirq,cerpvcvpr,cernzoyr,cenz,cenyvarf,centzngvfg,cbjrevat,cbjreone,cbggvr,cbggrefivyyr,cbgfvr,cbgubyrf,cbgrapl,cbffrf,cbfare'f,cbfvrf,cbegxrl,cbegreubhfr,cbeabtencuref,cbevat,cbcclpbpx,cbccrg,cbccref,cbbcfvr,cbzcbav,cbxva,cbvgvre,cbrf,cbqvngel,cyhfu,cyrrmr,cyrnqvatf,cynlobbx,cyngryrgf,cynar'nevhz,cynprobf,cynpr'yy,cw'f,cvkryf,cvggrq,cvfgnpuvbf,cvfn,cvengrq,cvengr'f,cvabpuyr,cvarnccyrf,cvansber,cvzcyrf,cvttyl,cvttvrf,cvr'f,cvqqyvat,cvpba,cvpxcbpxrgf,cvppuh,culfvbybtvpnyyl,culfvp,cubgb'f,cubovp,cuvybfbcuvrf,cuvybfbcuref,cuvyyl'f,cuvynaqrevat,curabzranyyl,curnfnagf,cunfvat,cunagbzf,crjgre,crggvpbng,crgebavf,crgvgvbavat,cregheorq,cregu,crefvfgf,crefvnaf,crecrghngvat,crezhgng,crevfunoyr,crevcurel,crevzrgref,creshzrq,crepbprg,cre'fhf,crccrewnpx,crafvbaref,cranyvmr,crygvat,cryyrg,crvtabve,crqvpherf,crqrfgevnaf,crpxref,crpnaf,cnlonpx'f,cnl'f,cnjavat,cnhyffba,cngglpnxr,cngebyzra,cngebyyrq,cngbvf,cngubf,cnfgrq,cnffre,cnegarefuvcf,cnec,cnevfuvbaref,cnevfuvbare,cnepurrfv,cnenpuhgvat,cnccn,cncrepyvc,cncnlnf,cnbyb'f,cnagurba,cnagnybbaf,cnaunaqyr,cnzcref,cnycvgngvbaf,cnyre,cnynagvar,cnvagonyyvat,cntb,bjbj,biregverq,birefgerff,birefrafvgvir,bireavtugf,birerkpvgrq,birenakvbhf,birenpuvrire,bhgjvggrq,bhgibgrq,bhgahzore,bhgyvirq,bhgyvarq,bhgynfg,bhgynaqre,bhgsvryq,bhg'ir,begbynav'f,becurl,beangr,beanzragny,bevragrrevat,bepurfgengvat,bengbe,bccerffvir,bcrengbe'f,bcraref,bcrp,bbxl,byvire'f,byqr,bxvrf,bxrr,buuuuuuuuu,buuuuuuuu,btyvat,bssyvar,bssorng,bprnabtencuvp,bofrffviryl,borlrq,bnguf,b'yrnel'f,b'unan,b'onaaba,b'onaavba,ahzcpr,ahzzl,ahxrq,ahss,ahnaprf,abhevfuvat,abgvprnoyl,abgnoyl,abfrqvir,abegurnfgrea,abeoh,abzyvrf,abzvar,abznqf,abtr,avkrq,aveb,avuvyvfg,avtugfuvsg,arjzrng,arivf,arzb'f,arvtuobeubbq'f,artyrpgshy,arrqvarff,arrqva,arpebznapre,arpx'f,apvp,angunavry'f,anfuhn,ancugunyrar,anabgrpuabybtl,anabplgrf,anavgr,anvirgr,anpub,a'lrnu,zlfgvslvat,zluartba,zhgngvat,zhfxeng,zhfvat,zhfrhz'f,zhccrgf,zhzoyrf,zhyyrq,zhttl,zhregb,zhpxenxre,zhpunpubf,zevf,zbir'f,zbhearef,zbhagnvafvqr,zbhyva,zbhyq,zbgureyrff,zbgureshpx,zbfdhvgbf,zbecurq,zbccrq,zbbqbb,zbagntr,zbafvtabe,zbapub,zbanepuf,zbyyrz,zbvfghevfre,zbvy,zbuvpnaf,zbqrengbe,zbpxf,zbof,zvmm,zvgrf,zvfgerffrf,zvffcrag,zvfvagrecergngvba,zvfuxn,zvfpneel,zvahfrf,zvabgnhe,zvabna,zvaqrr,zvzvpxvat,zvyyvfrpbaq,zvyxrq,zvyvgnagf,zvtengvba,zvtuga'g,zvtugvre,zvremjvnx,zvqjvirf,zvpebarfvn,zvpebpuvcf,zvpeborf,zvpuryr'f,zuzz,zrmmnavar,zrlreyvat,zrgvphybhfyl,zrgrbevgr,zrgncubevpny,zrfzrevmvat,zrefunj,zrve,zrt'f,zrrpebo,zrqvpngr,zrqrn,zrqqyrq,zpxvaabaf,zptrjna,zpqhaabhtu,zpngf,zovra,znlgnt,znlbef,zngmnu,zngevnepu,zngvp,zngurzngvpvnaf,znfgheongrq,znffryva,znekvfg,zneglef,znegvav'f,znegvnyrq,znegra'f,zneyobebf,znexfznafuvc,znevfuxn,znevba'f,znevangr,znetr'f,znepuva,znavsrfgngvbaf,znavpherq,znaqryn,znzzn'f,znzr,znyabhevfurq,znyx,znyvta,znwberx,znvqraf,znubarl'f,zntaba,zntavsvpragyl,znrfgeb'f,znpxvat,znpuvniryyvna,znpqbhtny,znppuvngb,znpnjf,znpnanj,z'frys,ylak,ylaa'f,ylzna'f,ylqryyf,yhfgf,yherf,yhan'f,yhqjvt'f,yhpvgr,yhoevpnagf,ybhvfr'f,ybccre,ybccrq,ybaryvrfg,ybaryvre,ybzrm,ybwnpx,ybpnyvmrq,ybpnyr,ybngu,yyblq'f,yvgrengr,yvdhvqngrq,yvdhrsl,yvccl,yvathvfgvp,yvzcf,yvyyvna'f,yvxva,yvtugarff,yvrfy,yvropura,yvpvbhf,yvoevf,yvongvba,yunzb,yrjvf'f,yrirentrq,yrgvpvn'f,yrbgneqf,yrbcneqf,yrbavq,yrbaneqb'f,yrzzvatf,yrynaq'f,yrtvgvznpl,yrnava,ynkngvirf,ynivfurq,yngxn,yngre'f,yneiny,ynalneq,ynaf,ynaxl,ynaqfpncvat,ynaqzvarf,ynzrarff,ynxrfuber,ynqqvrf,ynpxyhfgre,ynprengrq,ynoberq,ynobengbevrf,y'nzbhe,xletlmfgna,xerfxva,xenml,xbivgpu,xbheavxbin,xbbgpul,xbabff,xabj'f,xaxabj,xavpxrgl,xanpxrgl,xzneg,xyvpxf,xvjnavf,xvggl'f,xvggvrf,xvgrf,xvffnoyr,xveol'f,xvatqbzf,xvaqretnegaref,xvzbgn,xvzoyr'f,xvygre,xvqarg,xvqzna,xvq'yy,xvpxl,xvpxonpxf,xvpxonpx,xvpxnff,xuehfupuri,xubybxbi,xrjcvr,xrag'f,xrab,xraqb,xryyre'f,xpqz,xngevan'f,xngen,xnerbxr,xnvn,xnsryavxbi,xnobo,xn'f,whawha,whzon,whyrc,wbeqvr,wbaql,wbyfba,wvaanu,wrjryre'f,wrexva,wrabss,wrssrefba'f,wnlr'f,wnjobar,wnavgbevny,wnaveb,wnavr'f,veba'f,vcrpnp,vaivtbengrq,vairegrq,vagehqrq,vagebf,vagenirabhfyl,vagreehcghf,vagreebtngvbaf,vagreenpvny,vagrecergvir,vagreazrag,vagrezrqvngr,vagrezrqvnel,vagrewrpg,vagresnpvat,vagrerfgva,vafhevat,vafgvyyrq,vafgnagnarbhf,vafvfgrapr,vafrafvgvivgl,vafpehgnoyr,vaebnqf,vaaneqf,vaynvq,vawrpgbe,vavgvngvirf,vaur,vatengvghqr,vashevngrf,vasen,vasbezngvbany,vasyvpgvba,vasvtugvat,vaqhpgvba,vaqbarfvna,vaqbpuvan,vaqvfgvathvfunoyr,vaqvpngbef,vaqvna'f,vaqryvpngr,vaphongbef,vapevzvangvba,vaperzragf,vapbairavrapvat,vapbafbynoyr,vapvgr,vaprfghbhf,vapnf,vapneangvba,vapneprengr,vaoerrqvat,vanpprffvoyr,vzchqrapr,vzcerffvbavfgf,vzcyrzragrq,vzcrnpurq,vzcnffvbarq,vzcnpgf,vzvcrarz,vqyvat,vqvbflapenfvrf,vpvpyr,vproernxre,vproretf,v'fr,ulhaqnv,ulcbgrafvir,ulqebpuybevqr,uhhu,uhfurq,uhzhf,uhzcu,uhzzz,uhyxvat,uhopncf,uhonyq,uggc,ubjln,ubjobhg,ubj'yy,ubhfrthrfgf,ubhfroebxra,ubgjver,ubgfcbgf,ubgurnqrq,ubegvphygher,ubeenpr,ubeqr,ubenpr'f,ubcfsvryq,ubagb,ubaxva,ubarlzbbaf,ubzbcubovn,ubzrjerpxre,ubzoerf,ubyybj'f,ubyyref,ubyyreva,ubxxnvqb,ubuu,ubtjnegf,ubrqbja,ubobrf,ubooyvat,ubooyr,ubnefr,uvaxl,uvzzyre,uvyyperfg,uvwnpxvat,uvtuyvtugref,uvpphc,uvoreangvba,urkrf,ureh'he,ureavnf,ureqvat,urccyrzna,uraqrefba'f,uryy'er,urvar'f,urvtugra,urururururu,urururu,urqtvat,urpxyvat,urpxyrq,urnilfrg,urngfuvryq,urnguraf,urnegguebo,urnqcvrpr,urnqyvare,ur'c,unmryahg,unmneqf,unlfrrq,unirb,unhyf,unggvr'f,ungube'f,unfgra,uneevref,uneevqna,unecbbaf,uneyva'f,uneqraf,uneprfvf,uneobhevat,unatbhgf,unatzna,unaquryq,unyxrva,unyru,unyorefgnz,unvecva,unvearg,unveqerffref,unpxl,unnu,unnnn,u'lnu,tlzf,thfgn,thful,thfure,thetyvat,thaarel,thvygrq,thvyg'f,tehry,tehqtvat,teeeeee,tebhfr,tebffvat,tebffrf,tebbzfzra,tevcvat,tergpura'f,tertbevna,tenl'f,tenirfg,tengvsvrq,tengrq,tencuf,tenaqnq,tbhynfu,tbbcl,tbbavrf,tbban,tbbqzna'f,tbbqyl,tbyqjngre,tbqyvarff,tbqnjshy,tbqnza,tbof,tbo'f,tylpreva,tyhgrf,tybjl,tybc,tyborgebggref,tyvzcfrq,tyraivyyr,tynhpbzn,tveyfpbhg,tvenssrf,tvzc,tvyorl,tvy'f,tvttyrchff,tuben,trfgngvat,trbybtvfgf,trbtencuvpnyyl,tryngb,trxxb'f,trvfunf,trrx'f,trnefuvsg,trne'f,tnlarff,tnfcrq,tnfyvtugvat,tneerggf,tneon,tnzf,tntf,tnoylpmlpx,t'urnq,shatv,shzvtngvat,shzoyvat,shygba'f,shqtrq,shpxjnq,shpx'er,shpufvn,sehvgvba,serhq'f,serggvat,serfurfg,serapuvrf,serrmref,serqevpn,senmvref,senaprfpn'f,senvql,sbkubyrf,sbhegl,sbffvyvmrq,sbefnxr,sbezhyngr,sbesrvgf,sberjbeq,sberpybfrq,sberny,sbentvat,sbbgfvrf,sbphffrq,sbpny,sybevfgf,sybccrq,sybbefubj,sybbeobneq,syvapuvat,syrpxf,synibhef,synhoreg,syngjner,synghyrapr,syngyvarq,synfuqnapr,synvy,synttvat,svmmyr,svire,svgml,svfufgvpxf,svafgre,svarggv,svaryyv,svantyr,svyxb,svyvcvab,svthevarf,svthengvir,svsv,svryqfgbar,svoore,svnapr'f,srhqf,srgn,sreevav,srznyr'f,srrqva,srqben,srpg,srnfgvat,sniber,sngurevat,sneebhux,snezva,sne'f,snaal'f,snwvgn,snvelgnyr,snvefreivpr,snvetebhaqf,snqf,snpgbvq,snprg,snprqbja,snoyrq,rlronyyva,rkgbegvbavfg,rkdhvfvgryl,rkcbegvat,rkcyvpvgyl,rkcraqvgherf,rkcrqvgrq,rkcnaqf,rkbepvfr,rkvfgragvnyvfg,rkunhfgvir,rkrpf,rkphycngbel,rkpbzzhavpngrq,rknpreongr,rireguvat,riraghnyvgl,rinaqre,rhfgnpr,rhcubevp,rhcurzvfzf,rgba,rfgb,rfgvzngvba,rfgnzbf,rfgnoyvfurf,reerq,raivebazragnyvfg,ragercerarhevny,ragvgyr,radhvevrf,rabezvgl,ratntrf,rasnagf,rara,raqvir,raq'f,raplpybcrqvnf,rzhyngvat,rzgf,rzcyblrr'f,rzcunfvmrq,rzobffrq,rzovggrerq,rzonffvrf,ryvbg,ryvpvg,ryrpgebylgr,rwrpgvba,rssbegyrff,rssrpgvirarff,rqineq,rqhpngbef,rqzbagba'f,rphnqbe,rpgbcvp,rpvep,rnfryl,rnecubarf,rneznexf,rneznexrq,rney'f,qlfragrel,qjvaqyvat,qjvtug'f,qjryyre,qhfxl,qhefyne,qhearq,qhabvf,qhaxvat,qhaxrq,qhzqhz,qhyyneq,qhqyrlf,qhpr,qehguref,qehttvfg,qeht'f,qebffbf,qebfbcuvyn,qebbyrq,qevirjnlf,qevccl,qernzyrff,qenjfgevat,qenat,qenvacvcr,qentbbaf,qbmvat,qbja'f,qbhe,qbhtvr'f,qbgrf,qbefny,qbexsnpr,qbbexabof,qbbuvpxrl,qbaaryy'f,qbaangryyn,qbapun,qba'f,qbzvangrf,qbzvpvyr,qbxbf,qboreznaf,qwrm,qvmmlvat,qvibyn,qvivqraqf,qvgfl,qvfgnfgr,qvffreivpr,qvfertneqrq,qvfcrafrq,qvfznl,qvfybqtrq,qvfybqtr,qvfvaurevg,qvfvasbezngvba,qvfpergr,qvfpbhagvat,qvfpvcyvarf,qvfnccebirq,qvegonyy,qvaxn,qvzyl,qvyhgr,qvyhppn'f,qvtrfgvat,qvryyb,qvqqyvat,qvpgngbefuvcf,qvpgngbef,qvntbany,qvntabfgvpvna,qribhef,qrivyvfuyl,qrgenpg,qrgbkvat,qrgbhef,qrgragr,qrfgehpgf,qrfrpengrq,qrfpraqf,qreevf,qrcyber,qrcyrgr,qrcvpgf,qrcvpgvba,qrcvpgrq,qraire'f,qrabhapr,qrzher,qrzbyvgvbaf,qrzrna,qryhtr,qryy'f,qryvfu,qryvorengvba,qryoehpx,qrynsbeq,qrvgvrf,qrtnhyyr,qrsgyl,qrsg,qrsbezvgl,qrsyngr,qrsvangyl,qrsrafr'f,qrsrpgbe,qrqhpgrq,qrpelcgrq,qrpbagnzvangvba,qrpxre'f,qrpncvgngr,qrpnagre,qrnqyvar'f,qneqvf,qnatre'f,qnzcrare,qnzzr,qnqql'yy,qnooyvat,qnooyrq,q'rger,q'netrag,q'nyrar,q'ntanfgv,pmrpuf,pmrpubfybinxvna,plevyyvp,plzony,ploreqlar,phgbssf,phgvpyr,phg'f,pheinprbhf,phevbhfvgl,phesrj'f,phyghenyyl,phrq,phool,pehvfrq,pehpvoyr,pebjvat,pebjrq,pebhgbaf,pebccrq,pebnxre,pevfgbory'f,pevzval,perfgrq,perfpragvf,perq,pernz'f,penfuref,pencbyn,penajryy,pbireva,pbhfgrnh,pbhegebbzf,pbhagrenggnpx,pbhagranapr,pbhafrybe'f,pbggntrf,pbfzvpnyyl,pbfvta,pbfn,pbeebobengvba,pbeerfcbaqf,pbeerfcbaq,pbebaref,pbeb,pbeasynxrf,pbeorgg'f,pbcl'f,pbccrecbg,pbccreurnq,pbcnprgvp,pbbeqfvmr,pbaihyfvat,pbagenqvpgrq,pbagenpg'f,pbagvahngvba,pbafhygf,pbafhygngvbaf,pbafgenvagf,pbawherf,pbatravny,pbasyhrapr,pbasreevat,pbasrqrengvba,pbaqbzvavhz,pbapbhefr,pbaprnyre,pbzchyfbel,pbzcyrkvgvrf,pbzcnengviryl,pbzcnpgbe,pbzzbqvgvrf,pbzzrepvnyvfz,pbyyrnthr'f,pbyynobengbe,pbxrl,pbvyrq,pbtavmnag,pbsryy'f,pbojro,pb'f,paop,pylqr'f,pyhaxref,pyhzfvyl,pyhpxvat,pybirf,pybira,pybguf,pybgur,pybc,pybqf,pybpxvat,pyvatf,pyvzoref,pyrs,pyrnenaprf,pynivpyr,pynhqvn'f,pynffyrff,pynfuvat,pynaxvat,pynatvat,pynzcvat,pviivrf,pvgljvqr,pvgvat,pvephyngbel,pvephvgrq,pvep,puhat'f,puebavfgref,puebzvp,pubccl,pubbf,pubatb,puybebsbezrq,puvygba'f,puvyyha,puvy,puvpxl,purrgbf,purrfrq,punggreobk,puneyvrf,puncrebarq,punaahxnu,punzoreynva'f,punvezna'f,punvz,prffngvba,preroryyhz,pragerq,pragrecvrprf,pragresbyq,pryynef,prrprr,pprqvy,pnibegvat,pnirzra,pninyvref,pnhgrevmrq,pnhfgvp,pnhyqjryy,pnggvat,pngul'f,pngrevar,pnfgbe'f,pnffvbcrvn,pnfpnqr'f,pneirf,pnegjurry,pnegevqtrf,pnecrgrq,pnebo,pneyfonq,pnerffvat,pneryrffyl,pnerravat,pnepvabzn,pncevpvbhf,pncvgnyvfgvp,pncvyynevrf,pncrf,pnaqyr'f,pnaqvqyl,pnanna,pnznenqrevr,pnyhzrg,pnyybhfyl,pnyyvtencul,pnysfxva,pnxr'f,pnqqvrf,pnovarg'f,ohmmref,ohggubyrf,ohgyre'f,ohfljbex,ohffrf,ohecf,ohetbzrvfgre,ohbl,ohaal'f,ohaxubhfr,ohatpubj,ohyxurnq,ohvyqref,ohtyre,ohssrgf,ohssrq,ohpxnebb'f,oehgvfu,oehfdhr,oebjfre,oebapuvgvf,oebzqra,oebyyl,oebql'f,oebnpurq,oerjfxvf,oerjfxv,oerjva,oerjref,oerna,oernqjvaare,oenan,oenpxrgf,obmm,obhagvshy,obhaqre,obhapva,obfbzf,obetavar,obccvat,obbgyrtf,obbvat,obaf,obarlneq,obzobfvgl,obygvat,obyvivn,obvyrecyngr,obon,oyhrl,oybjonpx,oybhfrf,oybbqfhpxref,oybbqfgnvarq,oybaqr'f,oybng,oyrrgu,oynmrq,oynvar'f,oynpxunjx,oynpxsnpr,oynpxrfg,oynpxrarq,oynpxra,oynpxonyyrq,oynof,oynoorevat,oveqoenva,ovcnegvfnafuvc,ovbqrtenqnoyr,ovatunzgba,ovygzber,ovyyvneqf,ovyxrq,ovt'haf,ovqjryy'f,ovqrg,orffvr'f,orfbggrq,orfrg,oregu,oreaurvz,orafba'f,orav,orartnf,oraqvtn,oryhfuv,orygjnl,oryyoblf,oryvggyvat,oryvaqn'f,oruvaqf,orurzbgu,ortbar,orryvar,orruvir,orqfurrgf,orpxbavat,ornhgr,ornhqvar,ornfgyl,ornpusebag,or'f,onhx,ongurf,ongnx,onfgvba,onfre,onfronyyf,onexre'f,oneore'f,oneoryyn,onaf,onaxebyyvat,onatynqrfu,onaqntrq,onzon,onyyl'f,ontcvcr,onttre,onreyl,onpxybt,onpxva,onolvat,nmxnona,nlngbyynu,nkrf,njjjjj,njnxraf,nivnel,nirel'f,nhgbabzvp,nhgubevmrf,nhfgreb,nhagl,nhthfgvar'f,nggvpf,ngerhf,nfgebabzref,nfgbhaqrq,nfgbavfu,nffregvba,nffregvat,nffnvynagf,nfun'f,negrzhf,nefrf,nebhfny,nezva,nevagreb,netba'f,neqhbhf,nepuref,nepuqvbprfr,nepunrbybtl,neovgenevyl,neneng,nccebcevngrq,nccenvfre,nccyvpnoyr,ncngurgvp,nalobql'q,nakvrgvrf,najne'f,nagvpyvznpgvp,nagne,naxyr'f,navzn,natybf,natyrzna,narfgurgvfg,naqebfpbttva,naqebzrqn,naqbire,naqbyvav,naqnyr,nana,nzjnl,nzhpx,nzcuvovna,nzavbpragrfvf,nzarfvnp,nzzbavhz,nzrevpnab,nznen,nyjnl,nyinu,nyhz,nygehvfz,nygreancnybbmn,nycunorgvmr,nycnpn,nyznanp,nyyl'f,nyyhf,nyyhqrq,nyybpngvba,nyyvnaprf,nyyretvfg,nyyrtrf,nyrknaqebf,nyrp'f,nynvxhz,nynonz,nxvzob,nvel,nuno'f,ntbencubovn,ntvqrf,ntteuu,ntngun'f,nsgregnfgr,nssvyvngvbaf,nrtvf,nqbcgvbaf,nqwhfgre,nqqvpgvbaf,nqnznagvhz,nphzra,npgvingbe,npgvingrf,npelyvp,nppbzcyvfurf,nppynvzrq,nofbeof,noreenag,nooh,nnec,nnnnnetu,nnnnnnnnnnnnn,n'vtug,mhppuvav,mbbf,mbbxrrcre,mvepbavn,mvccref,mrdhvry,mrcule'f,mryynel,mrvgtrvfg,mnahpx,mnzovn,mntng,lynat,lvryqrq,lrf'z,lragn,lrtt,lrppuu,lrppu,lnlb,lnjc,lnjaf,lnaxva,lnuqnu,lnnnu,l'tbg,krebkrq,jjbbjj,jevfgjngpu,jenatyrq,jbhyqfg,jbeguvarff,jbeg,jbefuvcvat,jbefra,jbezl,jbezgnvy,jbezubyrf,jbbfu,jbbqjbexvat,jbaxn,jbzraf,jbyirevarf,jbyyfgra,jbysvat,jbrshyyl,jbooyvat,jvggre'f,jvfc,jvel,jver'f,jvagel,jvatqvat,jvaqfgbez,jvaqbjgrkg,jvyhan,jvygvat,jvygrq,jvyyvpx,jvyyraubyyl,jvyqsybjref,jvyqrorrfg,jvypb,jvtthz,jvryqf,jvqrarq,julll,jubccref,jubnn,juvmmvat,juvmm,juvgrfg,juvgrsvfu,juvfgyrq,juvfg,juvaal,jurerhcba,jurerol,jurryvrf,jurngvrf,junmmhc,jungjungjunnng,jungb,jungqln,jung'qln,june,junpxf,jrkyre'f,jrjryy,jrjr,jrgfhvg,jrgynaq,jrfgcbeg,jryyhu,jrvtug'f,jrrcf,jrocntr,jnlynaqre,jniva,jngrepbybef,jnffnvy,jnfag,jnefuvcf,jneaf,jnearsbeq,jneohpxf,jnygbaf,jnyyonatre,jnvivat,jnvgjnvg,ibjvat,ibhpure,ibeabss,ibex,ibeurrf,ibyqrzbeg,ivier,ivggyrf,ivfuah,ivcf,ivaqnybb,ivqrbtnzrf,ivpgbef,ivpxl'f,ivpulffbvfr,ivpnevbhf,irg'f,irfhivhf,ireir,irethramn,iraghevat,iraghen'f,irarmhryna,ira'g,iryirgrra,irybhe,irybpvencgbe,irtrgngvba,inhqrivyyr,infgarff,infrpgbzvrf,incbef,inaqreubs,inyzbag,inyvqngrf,inyvnagyl,inyrevna,inphhzf,inppvarf,hmorxvfgna,hfhec,hfreahz,hf'yy,hevanyf,halvryqvat,hajvyyvatarff,haineavfurq,haghearq,hagbhpunoyrf,hagnatyrq,hafrpherq,hafpenzoyr,haerghearq,haerznexnoyr,haertvfgrerq,hachoyvfurq,hacergragvbhf,habccbfrq,haarefgnaq,haznqr,hayvprafrq,havgrf,havba'f,havaunovgrq,havzcrnpunoyr,havyngreny,havprs,hasbyqrq,hasnfuvbanoyr,haqvfgheorq,haqrejevgvat,haqrejevgr,haqreyvavat,haqreyvat,haqrerfgvzngrf,haqrenccerpvngrq,haqnzntrq,hapbhgu,hapbex,hapbagrfgrq,hapbzzbayl,hapybt,hapvephzpvfrq,hapunyyratrq,hapnf,haohggbavat,hanccebirq,hanzrevpna,hansenvq,hzcgrra,hzuzz,hujul,huzz,htuhu,htuu,hsb'f,glcrjevgref,gjvgpurf,gjvgpurq,gjveyl,gjvaxyvat,gjvax,gjvatrf,gjvqqyvat,gjvqqyr,ghgberq,ghgryntr,ghearef,gheanobhg,gher,ghavfvna,ghzhyghbhf,ghzbhe,ghzoyva,gelrq,gehpxva,gehofunj'f,gebjry,gebhffrnh,gevivnyvmr,gevsyrf,gevovnaav,gevo,gevnathyngvba,gerapupbng,gerzoyrq,genhzngvmr,genafcynagrq,genafyngvbaf,genafvgbel,genafvragf,genafshfr,genafsbezf,genafpevovat,genafpraq,genad,genzcl,genvcfrq,genvava,genvy'f,gensnytne,genpurn,genprnoyr,gbhevfgl,gbhtuvr,gbgnyvgl,gbgnyvat,gbfpnavav,gbegbyn,gbegvyyn,gbevrf,gbernqbe,gbbb,gbaxn,gbzzbeebj,gbyyobbgu,gbyynaf,gbvql,gbtf,gbtnf,gbshexrl,gbqqyvat,gbqqvrf,gboehx,gbnfgvrf,gbnqfgbby,gb'ir,gvir,gvatyrf,gvzva,gvzrl,gvzrgnoyrf,gvtugrfg,gvqr'f,gvorgnaf,guhaqrefgbezf,guhttrr,guehfgvat,guebzohf,guebrf,guebngrq,guevsgl,gubebhtuoerq,gubeaunegf,guvaarfg,guvpxrg,gurgnf,gurfhynp,grgurerq,grfgvzbavny,grfgnohetre,grefranqvar,greevs,grerfn'f,greqyvatgba,grchv,graherq,gragnpyr,grzcvat,grzcrenapr,grzc'f,gryyre'f,gryrivfvbaf,gryrsbab,gryr,grqqvrf,grpgbe,gnkvqrezl,gnkv'f,gnkngvba,gnfgrohqf,gnfxre'f,gnegyrgf,gnegnohyy,gneq,gne'q,gnagnzbhag,gnaf,gnatl,gnatyrf,gnzre,gnyzhq,gnvjna'f,gnohyn,gnoyrgbcf,gnovguvn,gnoreanpyr,fmrpujna,flevna,flagurqlar,flabcfvf,flabalzf,fjncf,fjnuvyv,firawbyyl,firatnyv,fhif,fhfu,fheivinyvfgf,fhezvfr,fhesobneqf,fhersver,fhcevfr,fhcerznpvfgf,fhccbfvgbevrf,fhcreivfbef,fhcrefgber,fhcrezra,fhcrepbc,fhcrepvyvbhf,fhagnp,fhaohearq,fhzzrepyvss,fhyyvrq,fhvgr'f,fhtnerq,fhssvpvrapl,fhregr,fhpxyr,fhpxre'f,fhpxn,fhpphzovat,fhogyrgvrf,fhofgnagvngrq,fhofvqvnevrf,fhofvqrf,fhoyvzvany,fhouhzna,fgfg,fgebjzna,fgebxrq,fgebtnabss,fgevxref,fgeratguravat,fgerrgyvtug,fgenlvat,fgenvare,fgenvtugre,fgenvtugrare,fgbelgryyvat,fgbcyvtug,fgbpxnqr,fgveehcf,fgvax'f,fgvat'f,fgvzhyngrf,fgvsyre'f,fgrjvat,fgrgfba'f,fgrerbglcvat,fgre,fgrczbzzl,fgrcunab,fgrrcrq,fgngrfzna,fgnfuvat,fgnefuvar,fgnaq'f,fgnzcvat,fgnzsbeq,fgnvejryyf,fgnovyvmngvba,fdhngfvr,fdhnaqrevat,fdhnyvq,fdhnooyvat,fdhno,fcevaxyvat,fcevat'f,fcernqre,fcbatl,fcbatrobo,fcbxrfjbzna,fcbxrfzra,fcyvagrerq,fcvggyr,fcvggre,fcvprq,fcrjf,fcraqva,fcrpg,fcrpxyrq,fcrnepuhpxre,fcnghynf,fcnefr,fcnexvat,fcnerf,fcnprobl,fblornaf,fbhgugbja,fbhgufvqr,fbhgucbeg,fbhguynaq,fbhfrq,fbgurol'f,fbfuv,fbegre,fbeebjshy,fbeprerff,fbbgu,fbatjevgref,fbzr'va,fbyfgvpr,fbyvybdhl,fbqf,fbqbzvmrq,fbqr,fbpvbybtvfg,fboevxv,fbncvat,fabjf,fabjpbar,fabjpng,favgpuvat,favgpurq,farrevat,fanhfntrf,fanxvat,fzbbgurq,fzbbpuvrf,fzbyrafx,fznegra,fznyyvfu,fyhful,fyheevat,fyhzna,fyboore,fyvguref,fyvccva,fyrhguvat,fyrriryrff,fynqr'f,fxvaare'f,fxvayrff,fxvyyshyyl,fxrgpuobbx,fxntarggv,fvfgn,fvbhk,fvaavat,fvawva,fvathyneyl,fvarjl,fvapynve'f,fvzhygnarbhf,fvyireynxr,fvyin'f,fvthgb,fvtabevan,fvtangher'f,fvtanyyvat,fvrir,fvqf,fvqrnezf,fulfgre,fulvat,fuhaavat,fughq,fuebbzf,fuevrxf,fubegvat,fubegoernq,fubcxrrcref,fuzhpx,fuznapl,fuvmmvg,fuvgurnqf,fuvgsnprq,fuvgont,fuvczngrf,fuvsgyrff,furecn,furyivat,furyyrl'f,furvx,furqybj,furpxl,furngu,funivatf,funggref,funevsn,funzcbbf,funyybgf,funsgre,fun'anhp,frkgnag,frggyref,frggre,frgv,freivprnoyr,freengrq,freovna,frdhragvnyyl,frcfvf,fraberf,fraqva,frzvf,frznafxv,fryyre'f,frysyrffyl,fryrpgf,fryrpgviryl,frvasryqf,frref,frre'f,frrcf,frr'f,frqhpgerff,frqvzragnel,frqvzrag,frpbaq'f,frpnhphf,frngre,frnfuber,frnynag,frnobea'f,fphggyvat,fphfn,fphycgvat,fpehapurq,fpevzzntr,fperrajevgre,fpbgfzna,fpbere,fpyrebfvf,fpvffbeunaqf,fpuerore,fpubynfgvp,fpuznapl,fpuybat,fpnguvat,fpnaqvanivn,fpnzcf,fpnyybcrq,fnibve,fnintrel,fnfun'f,fnebat,fneavn,fnagnatry,fnzbby,fnzon,fnybaf,fnyybj,fnyvab,fnsrpenpxre,fnqvfz,fnqqyrf,fnpevyrtvbhf,fnoevav,fnongu,f'nevtug,ehggurvzre,ehffvn'f,ehqrfg,ehoorel,ebhfgvat,ebgnevna,ebfyva,ebfrl,ebfn'f,ebbzrq,ebznev,ebznagvpvfz,ebznavpn,ebyygbc,ebysfxv,ebq'f,ebpxynaq,ebpxrggrf,ebnerq,eviresebag,evacbpur,evatyrnqre,evzf,evxre'f,evssvat,evpnaf,evopntr,evnan'f,eulguzvp,eunu,erjverq,ergebnpgvir,ergevny,ergvat,ergvphyhz,erfhfpvgngrq,erfhzvat,erfgevpgvat,erfgbengvbaf,erfgbpx,erfvyvrapr,erfreibvef,erfrzoyrq,erfnyr,erdhvfvgvbarq,ercebtenzzrq,ercebqhpvat,ercerffvir,ercyvpnag,ercragnag,ercryynag,ercnlf,ercnvagvat,erbetnavmngvba,erabhaprq,erartbgvngvat,eraqrm,eranzrq,erzvavfprag,erzrz,erznqr,eryvirq,eryvadhvfurf,eryvnag,eryrnea,erynknag,erxvaqyvat,erulqengr,erthyngbel,ertvzragf,ertna'f,ershryrq,ersevtrengvba,erserfuvatyl,ersyrpgbe,ersvar,ersvyyvat,errknzvar,errfrzna,erqarff,erqverpgrq,erqrrznoyr,erqqre,erqpbngf,erpgnatyrf,erpbhc,erpbafgvghgrq,erpvcebpngrq,erpvcvragf,erprffrq,erpnyyf,erobhaqrq,ernffrffvat,ernyl,ernyvgl'f,ernyvfngvba,ernyre,ernpuva,er'xnyv,enjyfgba,enintrf,enggyref,enfn,encf,enccncbegf,enzbenl,enzzvat,enznqna,envaqebcf,enurfu,enqvbnpgvivgl,enqvnyf,enpvfgf,enpva,enonegh,dhbgnf,dhvaghf,dhvpurf,dhrf,dhrevrf,dhrapu,dhry,dhneeryf,dhneeryvat,dhnvagyl,dhntzver,dhnqenagf,clyba,chghznlb,chg'rz,chevsvre,chevsvrq,cherrq,chavgvf,chyybhg,chxva,chqtl,chqqvatf,chpxrevat,chppvav,cgrebqnpgly,cflpubqenzn,cfrhqbalz,cfngf,cebkvzny,cebivqref,cebgrfgngvbaf,cebgrpgrr,cebfcrerq,cebfnvp,cebcbfvgvbarq,cebyvsvp,cebterffviryl,cebsvpvrapl,cebsrffvbaf,cebqvtvbhf,cebpyvivgl,ceborq,cebonovyvgvrf,ceb'f,cevfba'f,cevagbhgf,cevapvcnyyl,cevt,cerivfvba,cerinvyvat,cerfhzcgvir,cerffref,cerfrg,cerfragngvbaf,cercbfvgvba,cercnengbel,ceryvzvanevrf,cerrzcg,cerrzvr,cerqrgrezvarq,cerpbaprcgvbaf,cerpvcvgngr,cenapna,cbjrechss,cbjreshyyl,cbggvrf,cbggref,cbgcvr,cbfrhe,cbegenlvat,cbegvpb,cbegubyr,cbegsbyvbf,cbbcf,cbbcvat,cbar,cbzc,cbznqr,cbylcf,cbylzrevmrq,cbyvgvp,cbyvgrarff,cbyvfure,cbynpx,cbxref,cbpxrgxavsr,cbngvn,cyrorvna,cynltebhc,cyngbavpnyyl,cyngb'f,cyngvghqr,cyngryrg,cynfgrevat,cynfzncurerfvf,cyndhrf,cynvqf,cynprzngf,cynpr'f,cvmmnmm,cvenpl,cvcryvarf,cvc'f,cvagnheb,cvafgevcrf,cvacbvagf,cvaxare,cvapre,cvzragb,cvyyntrq,cvyrhc,cvyngrf,cvtzrag,cvtzra,cvrgre,cvrrrr,cvpgherfdhr,cvnab'f,cuenfvat,cuenfrq,cubgbwbheanyvfg,cubgbpbcvrf,cubfcubehf,cubabtencu,cubrorf,cubr,cuvyvfgvarf,cuvyvccvar,cuvynaqrere,curebzbar,cunfref,cunenbu'f,csss,csrssreahrffr,crgebi,crgvgvbaf,crgrezna'f,crfb,creif,crefcver,crefbavsl,crefreirer,crecyrkrq,crecrgengvat,crec'f,crexvarff,crewhere,crevbqbagvfg,creshapgbel,cresbezn,creqvqb,crepbqna,cramnapr,cragnzrgre,cragntba'f,cragnpyr,crafvir,crafvbar,craalonxre,craaoebbxr,craunyy,cratva,crarggv,crargengrf,crtf,crtabve,crrir,crrcubyr,crpgbenyf,crpxva,crnxl,crnxfivyyr,cnlbhg,cnkpbj,cnhfrq,cnhyvar'f,cnggrq,cnfgrhe,cnffr,cnebpuvny,cnexynaq,cnexvfubss,cnexref,cneqbavat,cnencyrtvp,cnencuenfvat,cnencrg,cncreref,cncrerq,cnabenzvp,cnatf,cnaryvat,cnaqre,cnaqrzbavhz,cnzryn'f,cnybbmn,cnyzrq,cnyzqnyr,cnyvfnqrf,cnyrfgvavna,cnyrbyvguvp,cnyngnoyr,cnxvfgnavf,cntrnagf,cnpxntrq,cnpvsl,cnpvsvrq,blrf,bjjjjj,bireguebja,bireg,birefrkrq,bireevqvat,bireevqrf,birecnlvat,bireqenja,birepbzcrafngr,birepbzrf,birepunetrq,bhggnxrf,bhgznarhire,bhgylvat,bhgyvavat,bhgsbkrq,bhfgrq,bhfg,bhfr,bhyq,bhtuga'g,bhtu,bgur,bfgragngvbhf,bfuha,bfpvyyngvba,begubcrqvfg,betnavmngvbany,betnavmngvba'f,bepn,beovgf,be'qreirf,bcgvat,bcugunyzbybtvfg,bcrengvp,bcrentvey,bbmrf,bbbbbbbu,bayl'f,barfvr,bzavf,bzryrgf,bxgboresrfg,bxrlqbxr,bsgur,bsure,bofgrgevpf,bofgrgevpny,borlf,bornu,b'ebhexr,b'ervyl'f,b'urael,aldhvy,alnalnalnalnu,ahggva,ahgfl,ahgevragf,ahgonyy,aheunpuv,ahzofxhyy,ahyyvsvrf,ahyyvsvpngvba,ahpxvat,ahoova,agag,abhevfurq,abgbevrgl,abeguynaq,abafcrpvsvp,abasvpgvba,abvat,abvapu,abubub,aboyre,avgjvgf,avgevp,avcf,avof,avooyrf,arjgba'f,arjfcevag,arjfcncrezna,arjfcncre'f,arjfpnfgre,arire'f,arhgre,arhebcngul,argurejbeyq,arfgf,ares,arrr,arrqvrfg,arngu,aninfxl,anghenyvmngvba,ang'f,anepvffvfgf,anccrq,anaqb,antf,ansgn,zlbpneqvny,zlyvr'f,zlxbabf,zhgvyngvat,zhgureshpxre,zhgun,zhgngvbaf,zhgngrf,zhgngr,zhfa'g,zhfxrgf,zheenl'f,zhepul,zhyjenl'f,zhygvgnfxvat,zhyqbba'f,zhwrro,zhregr,zhqfyvatvat,zhpxenxvat,zefn,zbja,zbhfvr,zbhfrgenc,zbheaf,zbheashy,zbgvingvat,zbgureynaq,zbgures,zbfgeb,zbfnvp,zbecuvat,zbecungr,zbezbaf,zbenyvfgvp,zbberq,zbbpul,zbbpuvat,zbabgbabhf,zbabenvy,zbabcbyvmr,zbabtenz,zbabpyr,zbyruvyy,zbyne,zbynaq,zbsrg,zbqrfgyl,zbpxhc,zbpn,zbovyvmvat,zvgminuf,zvger,zvfgerngvat,zvffgrc,zvfercerfragngvba,zvfwhqtr,zvfvasbezngvba,zvfrenoyrf,zvfqverpgrq,zvfpneevntrf,zvahgr'f,zvavfxveg,zvavzvmvat,zvaqjnecrq,zvaprq,zvydhrgbnfg,zvyyvzrgref,zvthryvgb,zvtengvat,zvtugvyl,zvqfhzzre,zvqfgernz,zvqevss,zvqrnfg,zvqnf,zvpebor,zrgebcbyvf,zrguhfrynu,zrfqnzrf,zrfpny,zrephel'f,zrahqb,zrah'f,zragbef,zra'yy,zrzbevny'f,zrzzn,zryivaf,zrynavr'f,zrtngba,zrtnen,zrtnybznavnp,zrrrr,zrqhyyn,zrqvinp,zrqvngr,zrnavatyrffarff,zpahttrgf,zppnegulvfz,znlcbyr,znl'ir,znhir,znghevat,znggre'f,zngrlf,zngr'f,znfgrevat,znfure,znekvfz,znegvzzl'f,znefunpx,znefrvyyr,znexyrf,znexrgrq,znexrgnoyr,znafvrer,znafreinag,znafr,znaunaqyvat,znapb'f,znanan,znzna,znyahgevgvba,znyybznef,znyxbivpu'f,znypbagrag,znynvfr,znxrhc'f,znwrfgvrf,znvafnvy,znvyzra,znunaqen,zntabyvnf,zntavsvrq,zntri,znryfgebz,znqpnc,znpx'f,znpuh,znpsneynar'f,znpnqb,zn'z,z'obl,z'nccryyr,ylvat'f,yhfgebhf,yherra,yhatrf,yhzcrq,yhzorelneq,yhyyrq,yhrtb,yhpxf,yhoevpngrq,ybirfrng,ybhfrq,ybhatre,ybfxv,ybeer,ybben,ybbbat,ybbavrf,ybaartna'f,ybyn'f,ybver,ybvapybgu,ybtvfgvpny,ybsgf,ybqtrf,ybqtref,yboovat,ybnare,yvirerq,yvguhnavn,yvdhrhe,yvaxntr,yvat'f,yvyyvrasvryq'f,yvtbheva,yvtugre'f,yvsrfnivat,yvsrthneqf,yvsroybbq,yvoenel'f,yvoregr,yvnvfbaf,yvnovyvgvrf,yrg'rz,yrfovnavfz,yraal'f,yraaneg,yrapr,yrzbaylzna,yrtm,yrtvgvzvmr,yrtnyvmrq,yrtnyvmngvba,yrnqva,ynmnef,ynmneeb,ynlbssf,ynjlrevat,ynjfba'f,ynjaqnyr'f,ynhture,ynhqnahz,ynggr'f,yngevarf,yngvbaf,yngref,ynfgyl,yncryf,ynafvat'f,yna'f,ynxrsebag,ynvg,ynuvg,ynsbeghangn,ynpuelzbfr,ynobere,y'vgnyvra,y'vy,xjnvav,xhmzvpu,xhngb'f,xehpmlafxv,xenzrevpn,xenxngbn,xbjgbj,xbivafxl,xbhsnk,xbefrxbi,xbcrx,xabkivyyr,xabjnxbjfxv,xavriry,xanpxf,xyhk,xyrva'f,xvena,xvbjnf,xvafunfn,xvaxyr'f,xvapnvq'f,xvyyvatgba,xvqanccre'f,xvpxbss,xvpxonyy,xuna'f,xrljbegu,xrlznfgre,xrivr,xrireny,xralbaf,xrttref,xrrcfnxrf,xrpuare,xrngl,xnibexn,xngznaqh,xngna'f,xnenwna,xnzreri,xnzny'f,xnttf,whiv,whevfqvpgvbany,whwlsehvg,whqrb,wbfgyrq,wbav'f,wbarfgbja,wbxrl,wbvfgf,wbvag'f,wbuaavr'f,wbpxb,wvzzvrq,wvttyrq,wvt'f,wrfgf,wrffl,wramra,wrafra'f,wraxb,wryylzna,wrrg,wrqrqvnu,wrnyvgbfvf,wnln'f,wnhagl,wnezry,wnaxyr,wntbss,wntvryfxv,wnpxl,wnpxenoovgf,wnoovat,wnoorewnj,vmmng,vhzy,vfbyngvat,veerirerag,veerfcbafvoyl,veercerffvoyr,veerthynevgl,veerqrrznoyr,vairfgvtngbe'f,vahivx,vaghvgvbaf,vaghongrq,vagebfcrpgvir,vagevafvpnyyl,vagen,vagvzngrf,vagreiny,vagrefrpgvbaf,vagreerq,vagrearq,vagrezvanoyr,vagreybcre,vagrepbfgny,vagrepunatr,vagrtre,vagnatvoyr,vafglyr,vafgehzragngvba,vafgvtngr,vafgnagnarbhfyl,vaahzrenoyr,vaaf,vawhfgvprf,vavat,vaunovgf,vatf,vatebja,vatyrjbbq,vatrfgvba,vatrfgvat,vashfvba,vashfvat,vasevatvat,vasevatr,vasyrpgvba,vasvavghz,vasnpg,varkcyvpnoyl,vardhvgvrf,varyvtvoyr,vaqhfgel'f,vaqhprf,vaqhovgnoyl,vaqvfchgnoyr,vaqverpg,vaqrfpevonoyl,vaqrcraqragf,vaqragngvba,vaqrsvanoyr,vaphefvba,vapbagebiregvoyr,vapbafrdhragvny,vapbzcyrgrf,vapbureragyl,vapyrzrag,vapvgvat,vapvqragnyf,vanegvphyngr,vanqrdhnpvrf,vzcehqrag,vzcebivfngvba,vzcebcevrgvrf,vzcevfba,vzcevagrq,vzcerffviryl,vzcbfgbef,vzcbegnagr,vzcyvpvg,vzcrevbhf,vzcnyr,vzzbegnyvmrq,vzzbqrfg,vzzbovyr,vzohrq,vzorqqrq,vzorpvyvp,vyyhfgengrf,vyyrtnyf,vyvnq,vqa'g,vqvbz,vpbaf,ulfgrevp,ulcbgrahfr,ultvravp,ulrnu,uhfuchccvrf,uhauu,uhatnevnaf,uhzconpx,uhzberq,uhzzrq,uhzvyvngrf,uhzvqvsvre,uhttl,uhttref,uhpxfgre,ugzy,ubjf,ubjyva,ubgu,ubgorq,ubfvat,ubfref,ubefrunve,ubzrtebja,ubzrobql,ubzronxr,ubybtencuvp,ubyvat,ubyvrf,ubvfgvat,ubtjnyybc,ubtna'f,ubpxf,uboovgf,ubnkrf,uzzzzz,uvffrf,uvccbf,uvccrfg,uvaqenapr,uvaqv,uvz'f,uvyyovyyvrf,uvynevgl,uvtuonyy,uvovfphf,urlqnl,urheu,urefurl'f,ureavngrq,urezncuebqvgr,uren,uraavsre,urzyvarf,urzyvar,urzrel,urycyrffarff,uryzfyrl,uryyubhaq,ururururu,urrl,urrrl,urqqn,urpx'f,urnegorngf,urncrq,urnyref,urnqfgneg,urnqfrgf,urnqybat,urnqyvavat,unjxynaq,unign,uninan'f,unhyva,unfgrarq,unfa,uneirl'yy,unecb,uneqnff,uncf,unagn,unafbz,unatanvy,unaqfgnaq,unaqenvy,unaqbss,unaqre,una'f,unzyrg'f,unyyhpvabtra,unyybe,unyvgbfvf,unyra,ununu,unqb,unoreqnfurel,tlccrq,thl'yy,thav,thzory,thypu,thrf,threvyynf,thnin,thngrznyna,thneqenvy,thnqnynwnen,tehagure,tehavpx,teharznaa'f,tebjref,tebccv,tebbzre,tebqva,tevf,tevcrf,tevaqf,tevznyqv'f,tevsgref,tevssvaf,tevqybpx,tergpu,terrirl,ternfvat,tenirlneqf,tenaqxvq,tenval,tenprq,tbirearq,tbhtvat,tbeqvr'f,tbbarl,tbbtyl,tbysref,tbyqzhss,tbyqraebq,tbvatb,tbqyl,tbooyrqltbbx,tbooyrqrtbbx,tbn'hyq'f,tyhrf,tybevbhfyl,tyratneel,tynffjner,tynzbe,tynpvref,tvafrat,tvzzvpxf,tvzyrg,tvyqrq,tvttyl,tvt'f,tvnzorggv,tubhyvfu,turggbf,tunaqv,tunyv,trgure,trg'f,trfgngvba,trevngevpf,treovyf,trenpr'f,trbflapuebabhf,trbetvb,trbcbyvgvpny,trahf,tragr,travgny,trargvpvfg,trarengvba'f,trarengrf,traqnezr,tryozna,tnmvyyvbagu,tnlrfg,tnhtvat,tnfgeb,tnfyvtug,tnfont,tnegref,tnevfu,tnenf,tnentrf,tnagh,tnatl,tnatyl,tnatynaq,tnzre,tnyyvat,tnyvyrr,tnynpgvpn'f,tnvrgl,tnqqn,tnpl,shghevfgvp,shgf,sheebjrq,shaal'f,shaavrf,shaxlgbja,shaqenvfref,shaqnzragnyvfg,shypehz,shtvzbggb,shragr,shryvat,shqtvat,shpxhc,shpxrra,sehgg'f,sehfgengrf,sebhsebh,sebbg,sebagvref,sebzoretr,sebt'f,sevmmvrf,sevggref,sevatrf,sevtugshyyl,sevtngr,sevraqyvrfg,serrybnqvat,serrynapvat,serqbavn,sernxnmbvq,sengreavmngvba,senaxshegre,senapvar'f,senapuvfrf,senzref,sbfgrerq,sbeghar'f,sbeavpngvba,sbeavpngvat,sbezhyngvat,sbezngvbaf,sbezna'f,sbetrevrf,sbergubhtug,sbentr,sbbgfgbby,sbvfgvat,sbphffvat,sbpxvat,sbny,syhgrf,syheevrf,syhssrq,sybhevfurq,sybevqn'f,sybr,syvagfgbarf,syrvfpuzna'f,syrqtyvat,syrqreznhf,synlrq,synl,synjyrffyl,synggref,synfuonat,synccrq,synaxvat,synzre,svffvba,svfuvrf,svezre,svercebbs,sverzna'f,sveroht,sveroveq,svatrecnvagvat,svarffrq,svaqva,svanapvnyf,svanyvgl,svyyrgf,svtugre'f,svreprfg,svrsqbz,svoebfvf,svoretynff,svoovat,srhqny,srfghf,sreibe,sreirag,sragnaly,sraryba,sraqref,srqbepuhx,srpxyrff,srngurevat,srnefbzr,snhan,snhprgf,snezynaq,snerjryyf,snagnflynaq,snangvpvfz,snygrerq,snyynpl,snvejnl,snttl,snoretr,rkgerzvfz,rkgbegvat,rkgbegrq,rkgrezvangvat,rkuhzngvba,rkuvynengvba,rkunhfgf,rksbyvngr,rkrzcgvbaf,rkprffrf,rkpryf,rknfcrengvat,rknpgvat,ribxrq,ribpngvir,rirelzna,rirelobql'q,rinfvbaf,rinatryvpny,rfgnoyvfuzragf,rfcerffbf,rfbgrevp,rfznvy,reeee,reengvpnyyl,rebqvat,rebqr,reafjvyre,rcvfpbcnyvna,rcurzreny,rcpbg,ragerapurq,ragbzbybtl,ragbzbybtvfg,raguenyyrq,rafhvat,rafranqn,raevpuvat,raentr,rayvfgvat,raunapre,raunaprzragf,raqbefvat,raqrne,rapehfgrq,rapvab,ranpgrq,rzcyblvat,rzcrebef,rzcnguvp,rzobqvrq,rzormmyr,rzonexrq,rznangrf,rygba'f,rybdhrapr,rybv,ryzjbbq,ryyvcgvpny,ryyrabe'f,ryrzragny,ryrpgevpvnaf,ryrpgvat,ryncfrq,rxvat,rtbznavnpny,rttb,rttvat,rssrpgrq,rssnpvat,rrjj,rqvgf,rqvgbe'f,rqtvat,rpgbcynfz,rpbabzvpny,rppu,rnirfqebccrq,rnfgobhaq,rnejvt,r're,qhenoyr,qhaone'f,qhzzxbcs,qhtenl,qhpunvfar,qhnyvgl,qehfvyyn'f,qehaxneq,qehqtr,qehpvyyn'f,qebbc,qebvqf,qevcf,qevccrq,qevooyrf,qerj'f,qerffvatf,qenmraf,qbjal,qbjafvmr,qbjacbhe,qbjntre,qbgr,qbfntrf,qbebgul'f,qbccyre,qbccrytnatre,qbcrf,qbbezna'f,qbbuvpxl,qbbs,qbagpun,qbabiba'f,qbartul,qbzv,qbzrf,qbwb,qbphzragnevrf,qvivavgl,qvivavat,qvirfg,qvhergvpf,qvhergvp,qvfgehfgshy,qvfgbegvbaf,qvffvqrag,qvfehcgf,qvfehcgvbaf,qvfcebcbegvbangr,qvfcrafnel,qvfcnevgl,qvfzrzorezrag,qvfzrzore,qvfvasrpg,qvfvyyhfvbazrag,qvfurnegravat,qvfpevzvangrq,qvfpbhegrbhf,qvfpbgurdhr,qvfpbyberq,qvfnffrzoyrq,qvfnoyvat,qvegvrfg,qvcugurevn,qvaxf,qvzcyrq,qvtt,qvsshfvba,qvssref,qvqln,qvpxjrrq,qvpxjnq,qvpxfba'f,qvngevorf,qvngurfvf,qvnorgvpf,qrjnef,qrivnagf,qrgevzragny,qrgbangrf,qrgrfgf,qrgrfgnoyr,qrgnvavat,qrfcbaqrag,qrfrpengvba,qrfpevcgvir,qrevfvba,qrenvyvat,qrchgvmrq,qrcerffbef,qrcb,qrcvpgvat,qrcvpg,qrcraqnag,qragherf,qrabzvangbef,qrzhe,qrzbafgengbef,qrzbabybtl,qrygf,qryynegr,qryvadhrapl,qrynpbhe,qrsyngrq,qrsvavgviryl,qrsvo,qrsrpgrq,qrsnprq,qrrqrq,qrpbengbef,qrovg,qrndba,qnibyn,qngva,qnfvyin'f,qnejvavna,qneyvat'f,qnexyvtugref,qnaqryvbaf,qnaqryvba,qnapre'f,qnzcrarq,qnzr'f,qnznfxvabf,qnzn,qnyevzcyr,qntbonu,qnpx,q'crfuh,q'ubssela,q'nfgvre,plfgvp,plavpf,ploreargvp,phgbss,phgrfl,phgnjnl,phfgbznevyl,phegnva'f,phefvir,phezhqtrba,pheqyr,pharvsbez,phygvingrq,phycnovyvgl,phyb,phvfvaneg,phssvat,pelcgf,pelcgvq,pelbtravp,pehk,pehapurq,pehzoyref,pehqryl,pebffpurpx,pebba,pevffnxr,pevzr'f,pevoontr,perinffr,perfjbbq,perrcb,pernfrf,pernfrq,pernxl,penaxf,pena,pensgfzra,pensgvat,penotenff,pbjobl'f,pbirenyyf,pbhcyr'n,pbhapvybef,pbhtuf,pbggba'f,pbfzbybtl,pbfynj,pbeerfcbaqrq,pbecberny,pbebyynel,pbeahpbcvn,pbearevat,pbexf,pbeqbarq,pbbyyl,pbbyva,pbbyrl'f,pbbynag,pbbxobbxf,pbairetvat,pbagevirq,pbagevgr,pbagevohgbef,pbagenqvpgbel,pbagen,pbagbhef,pbagragrq,pbagraqref,pbagrzcyngrq,pbagnpg'f,pbafgevpgbe,pbaterffzna'f,pbatrfgvba,pbasebagngvbaf,pbasbhaq,pbasbez,pbasvg,pbasvfpngvat,pbasreerq,pbaqbarq,pbaqvgvbaref,pbaphffvbaf,pbapragevp,pbaprqvat,pbzf,pbzcevfrq,pbzcevfr,pbzceraqb,pbzcbfref,pbzzhgrq,pbzzrepvnyyl,pbzzragngbe,pbzzragnevrf,pbzzrzbengvat,pbzznaqre'f,pbzref,pbzrqvp,pbzohfgvoyr,pbzohfgrq,pbyhzob,pbyhzovn'f,pbybheshy,pbybavnyf,pbyyvatfjbbq,pbyvfrhz,pbyqarff,pbwbarf,pbvghf,pburfvir,pburfvba,pbura'f,pbssrl'f,pbqvpvy,pbpuena'f,pbnfgvat,pylqrfqnyr,pyhggrevat,pyhaxre,pyhax,pyhzfvarff,pyhzcf,pybggrq,pybgurfyvar,pyvapurf,pyvapure,pyrirearff,pyrapu,pyrva,pyrnir,pyrnafrf,pynlzberf,pynevffr,pynevffn'f,pynzzrq,pvivyvfngvba,pvhqnq,pvephzirag,pvephyngrq,pvephvg'f,pvaanzba'f,pvaq,puhepu'f,puhttvat,puebavpnyyl,puevfgfnxrf,puevf'f,pubdhr,pubzcref,pubpb,puvfryvat,puvecl,puvec,puvaxf,puvatnputbbx,puvttre,puvpxyrg,puvpxracbk,puvpxnqrr,purjva,purffobneq,pureho,purzb'f,punhssrhe'f,punhpre,punevbgf,punetva,punenpgrevmvat,punagrhfr,punaqryvref,punzqb,punyhcn,puntevarq,punss,pregf,pregvsl,pregvsvpngvba,pregnvagvrf,preerab,preroehz,preroeb,praghel'f,pragraavny,prafherq,przrgnel,pryyvfg,pryvar'f,prqne'f,pnlb,pngrejnhyvat,pngrecvyynef,pngrtbevmrq,pngpuref,pngnpylfzvp,pnffvql'f,pnfvgnf,pnfvab'f,pnfrq,pneiry,pnegbtencuref,pnegvat,pnegryf,pneevntrf,pneerne,pnee'f,pnebyyvat,pnebyvanf,pnebyref,pneavr,pnear,pneqvbinfphyne,pneqvbtenz,pneohapyr,pnenzon,pnchyrgf,pnccvat,pnalbaf,pnavarf,pnaqnhyrf,pnancr,pnanqvraf,pnzcnvtarq,pnzobqvna,pnzorejryy,pnyqrpbgg,pnynzvgbhf,pnss,pnqvyynpf,pnpurg,pnormn,pnoqevire,olmnagvhz,ohmmxvyy,ohmmneqf,ohmm'f,ohlre'f,ohgnv,ohfgyvat,ohfvarffjbzra,ohalna,ohatyrq,ohzcxvaf,ohzzref,ohyyrgvaf,ohyyrg'f,ohyyqbmr,ohyobhf,oht'f,ohsslobg,ohqtrgrq,ohqqn,ohohg,ohoovrf,oeharv,oeeeee,oebjabhg,oebhunun,oebamvat,oebapuvny,oebvyre,oebnqravat,oevfxyl,oevrspnfrf,oevpxrq,oerrmvat,oerrure,oerpxvaevqtr,oernxjngre,oernxnoyr,oernqfgvpx,oenirarg,oenirq,oenff'f,oenaqvrf,oenaqrvf,oenapurq,oenvajnirf,oenvavrfg,oenttneg,oenqyrr,oblf'er,oblf'yy,oblf'q,oblq'f,obhgbaavrer,obggyr'f,obffrq,obfbzl,obfavna,obenaf,obbfgf,obbzobk,obbxfuryirf,obbxznex,obbxyrg,obbxraqf,obagrpbh'f,obatbf,obaryrff,obar'f,obaq'f,obzoneqvat,obzoneqrq,obyyb,obvaxrq,obvax,obvyref,obtneg'f,oboob,oboova,oyhrfg,oyhroryyf,oybjwbof,oybbqfubg,oybaqvr'f,oybpxurnq,oybpxohfgref,oyvguryl,oyvz,oyru,oyngure,oynfgref,oynaxyl,oynqqref,oynpxunjxf,oynpxorneq,owbea,ovggr,ovccl,ovbf,ovbunmneq,ovbtrargvpf,ovbpurzvfgel,ovbpurzvfg,ovyvathny,ovytr,ovtzbhgu,ovtubea,ovttyrfjbegu,ovphfcvqf,orhfhfr,orgnfreba,orfzvepu,orfvrtrq,orearpr,oretzna'f,orernirzrag,oragbaivyyr,oraguvp,orawvr,orawv'f,orarsnpgbef,orapuyrl,orapuvat,orzor,oryylnpuvat,oryyubcf,oryvr,oryrnthrerq,orvat'f,orueyr,ortvaava,ortvavat,orravr,orrsf,orrpujbbq,orr'f,orqoht,orpnh,ornireunhfra,ornxref,ornpba'f,onmvyyvba,onhqbhva,ong'f,onegyrgg'f,oneelgbja,oneevatgbaf,onebdhr,onebarg,onearlf,oneof,oneoref,oneonghf,oncgvfgf,onaxehcgrq,onaxre'f,onza,onzov'f,onyyba'f,onyvarfr,onxrevrf,onvyvssf,onpxfyvqr,onol'q,onnnq,o'sber,njjjx,njnlf,njnxrf,nirentrf,niratref,ningnef,nhgbabzbhf,nhgbzbgvir,nhgbzngba,nhgbzngvpf,nhgvfz,nhgubevgngvir,nhguragvpngrq,nhguragvpngr,nhtug,nhqvgvba'f,nhola,nggverq,nggntvey,ngebcuvrq,ngbarzrag,nguregba'f,nflfgbyr,nfgebghes,nffvzvyngrq,nffvzvyngr,nffregvirarff,nffrzoyvrf,nffnffva'f,negvfgr,negvpyr'f,negvpubxrf,nefrubyr,neernef,nedhvyyvnaf,neavr'f,nevtug,nepurarzl,nepurq,nepnqr'f,ndhngvp,nccf,nccenvfr,nccynhqrq,nccraqntrf,nccrnfrq,ncbfgyr,ncbyyb'f,nagjrec,nagyre,nagvdhvgl,nagva,nagvqrcerffnag,nagvobql,naguebcbybtvfgf,nagubybtl,nagurn,nagntbavfz,nag'f,nafcnhtu,naahnyyl,naxn,natbyn,narfgurgvpf,naqn,napvragf,napubevat,nanculynpgvp,nanurvz,nan'f,nzgenx,nzfpenl,nzchgngrq,nzbhagrq,nzrevpnf,nzraqrq,nzovinyrapr,nznyvb,nznu,nygbvq,nyevvvtug,nycunorgvmrq,nycran,nybhrggr,nyybjnoyr,nyyben,nyyvgrengvba,nyyrajbbq,nyyrtvat,nyyrtvnaprf,nyvtavat,nytrevnaf,nyregf,nypurzvfg,nypreeb,nynfgbe,nvejnl'f,nvezra,nunun,nu'z,ntvgngbef,ntvgngvba,nsbergubhtug,nsvf,nrfgurgvpf,nrebfcnpr,nrebqlanzvpf,nqiregvfrf,nqireg,nqinagntrbhf,nqzbavgvba,nqzvavfgengvba'f,nqvebaqnpxf,nqrabvqf,nqrovfv'f,nphchapghevfg,nphyn,npghnevny,npgvingbef,npgvbanoyr,npzr'f,npxabjyrqtrf,npuzrq,npuvatyl,nprgngr,npphfref,npphzhyngvba,nppbeqrq,nppyvzngrq,nppyvzngr,nofheqyl,nofbeorag,nofbyib,nofbyhgrf,nofraprf,noenunz'f,nobevtvany,noynmr,noqbzravmre,nnnnnnnnnu,nnnnnnnnnn,n'evtug".split(","))),
+o("male_names",r("wnzrf,wbua,eboreg,zvpunry,jvyyvnz,qnivq,evpuneq,puneyrf,wbfrcu,gubznf,puevfgbcure,qnavry,cnhy,znex,qbanyq,trbetr,xraargu,fgrira,rqjneq,oevna,ebanyq,nagubal,xriva,wnfba,znggurj,tnel,gvzbgul,wbfr,yneel,wrsserl,senax,fpbgg,revp,fgrcura,naqerj,enlzbaq,tertbel,wbfuhn,wreel,qraavf,jnygre,cngevpx,crgre,unebyq,qbhtynf,urael,pney,neguhe,elna,ebtre,wbr,whna,wnpx,nyoreg,wbanguna,whfgva,greel,trenyq,xrvgu,fnzhry,jvyyvr,enycu,ynjerapr,avpubynf,ebl,orawnzva,oehpr,oenaqba,nqnz,uneel,serq,jnlar,ovyyl,fgrir,ybhvf,wrerzl,nneba,enaql,rhtrar,pneybf,ehffryy,obool,ivpgbe,rearfg,cuvyyvc,gbqq,wrffr,penvt,nyna,funja,pynerapr,frna,cuvyvc,puevf,wbuaal,rney,wvzzl,nagbavb,qnaal,oelna,gbal,yhvf,zvxr,fgnayrl,yrbaneq,anguna,qnyr,znahry,ebqarl,phegvf,abezna,zneiva,ivaprag,tyraa,wrssrel,genivf,wrss,punq,wnpbo,zryiva,nyserq,xlyr,senapvf,oenqyrl,wrfhf,ureoreg,serqrevpx,enl,wbry,rqjva,qba,rqqvr,evpxl,gebl,enaqnyy,oneel,oreaneq,znevb,yrebl,senapvfpb,znephf,zvpurny,gurbqber,pyvssbeq,zvthry,bfpne,wnl,wvz,gbz,pnyiva,nyrk,wba,ebaavr,ovyy,yyblq,gbzzl,yrba,qrerx,qneeryy,wrebzr,syblq,yrb,nyiva,gvz,jrfyrl,qrna,tert,wbetr,qhfgva,crqeb,qreevpx,qna,mnpunel,pberl,urezna,znhevpr,ireaba,eboregb,pylqr,tyra,urpgbe,funar,evpneqb,fnz,evpx,yrfgre,oerag,enzba,glyre,tvyoreg,trar,znep,ertvanyq,ehora,oergg,natry,angunavry,ensnry,rqtne,zvygba,enhy,ora,prpvy,qhnar,naqer,ryzre,oenq,tnoevry,eba,ebynaq,wnerq,nqevna,xney,pbel,pynhqr,revx,qneely,arvy,puevfgvna,wnivre,sreanaqb,pyvagba,grq,zngurj,glebar,qneera,ybaavr,ynapr,pbql,whyvb,xheg,nyyna,pynlgba,uhtu,znk,qjnlar,qjvtug,neznaqb,sryvk,wvzzvr,rirergg,vna,xra,obo,wnvzr,pnfrl,nyserqb,nyoregb,qnir,vina,wbuaavr,fvqarl,oleba,whyvna,vfnnp,pyvsgba,jvyyneq,qnely,ivetvy,naql,fnyinqbe,xvex,fretvb,frgu,xrag,greenapr,erar,rqhneqb,greerapr,raevdhr,serqqvr,fghneg,serqevpx,negheb,nyrwnaqeb,wbrl,avpx,yhgure,jraqryy,wrerzvnu,rina,whyvhf,qbaavr,bgvf,geribe,yhxr,ubzre,treneq,qbht,xraal,uhoreg,natryb,funha,ylyr,zngg,nysbafb,beynaqb,erk,pneygba,rearfgb,cnoyb,yberamb,bzne,jvyohe,oynxr,ubenpr,ebqrevpx,xreel,noenunz,evpxrl,ven,naqerf,prfne,wbuanguna,znypbyz,ehqbycu,qnzba,xryiva,ehql,cerfgba,nygba,nepuvr,znepb,jz,crgr,enaqbycu,tneel,trbsserl,wbanguba,sryvcr,oraavr,treneqb,rq,qbzvavp,ybera,qryoreg,pbyva,thvyyrezb,rnearfg,oraal,abry,ebqbysb,zleba,rqzhaq,fnyingber,prqevp,ybjryy,tertt,furezna,qriva,flyirfgre,ebbfriryg,vfenry,wreznvar,sbeerfg,jvyoreg,yrynaq,fvzba,veivat,bjra,ehshf,jbbqebj,xevfgbcure,yriv,znepbf,thfgnib,yvbary,znegl,tvyoregb,pyvag,avpbynf,ynherapr,vfznry,beivyyr,qerj,reiva,qrjrl,ny,jvyserq,wbfu,uhtb,vtanpvb,pnyro,gbznf,furyqba,revpx,senaxvr,qneery,ebtryvb,grerapr,nybamb,ryvnf,oreg,ryoreg,enzveb,pbaenq,abnu,tenql,cuvy,pbearyvhf,ynzne,ebynaqb,pynl,crepl,qrkgre,oenqsbeq,zreyr,qneva,nzbf,greeryy,zbfrf,veiva,fnhy,ebzna,qnearyy,enaqny,gbzzvr,gvzzl,qneeva,oeraqna,gbol,ina,nory,qbzvavpx,rzvyvb,ryvwnu,pnel,qbzvatb,nhoerl,rzzrgg,zneyba,rznahry,wrenyq,rqzbaq,rzvy,qrjnlar,bggb,grqql,erlanyqb,oerg,wrff,gerag,uhzoregb,rzznahry,fgrcuna,ybhvr,ivpragr,ynzbag,tneynaq,zvpnu,rsenva,urngu,ebqtre,qrzrgevhf,rguna,ryqba,ebpxl,cvreer,ryv,oelpr,nagbvar,eboovr,xraqnyy,eblpr,fgreyvat,tebire,rygba,pyrirynaq,qlyna,puhpx,qnzvna,erhora,fgna,yrbaneqb,ehffry,rejva,oravgb,unaf,zbagr,oynvar,reavr,pheg,dhragva,nthfgva,wnzny,qriba,nqbysb,glfba,jvyserqb,oneg,wneebq,inapr,qravf,qnzvra,wbndhva,uneyna,qrfzbaq,ryyvbg,qnejva,tertbevb,xrezvg,ebfpbr,rfgrona,nagba,fbybzba,abeoreg,ryiva,abyna,pnerl,ebq,dhvagba,uny,oenva,ebo,ryjbbq,xraqevpx,qnevhf,zbvfrf,zneyva,svqry,gunqqrhf,pyvss,znepry,nyv,encunry,oelba,neznaq,nyineb,wrssel,qnar,wbrfcu,guhezna,arq,fnzzvr,ehfgl,zvpury,zbagl,ebel,snovna,erttvr,xevf,vfnvnu,thf,nirel,yblq,qvrtb,nqbycu,zvyyneq,ebppb,tbamnyb,qrevpx,ebqevtb,treel,evtboregb,nycubafb,gl,evpxvr,abr,irea,ryivf,oreaneqb,znhevpvb,uvenz,qbabina,onfvy,avpxbynf,fpbg,ivapr,dhvapl,rqql,fronfgvna,srqrevpb,hylffrf,urevoregb,qbaaryy,qraal,tniva,rzrel,ebzrb,wnlfba,qvba,qnagr,pyrzrag,pbl,bqryy,wneivf,oehab,vffnp,qhqyrl,fnasbeq,pbyol,pnezryb,arfgbe,ubyyvf,fgrsna,qbaal,neg,yvajbbq,ornh,jryqba,tnyra,vfvqeb,gehzna,qryzne,wbuanguba,fvynf,serqrevp,vejva,zreevyy,puneyrl,znepryvab,pneyb,geragba,xhegvf,nheryvb,jvaserq,ivgb,pbyyva,qraire,yrbary,rzbel,cnfdhnyr,zbunzznq,znevnab,qnavny,ynaqba,qvex,oenaqra,nqna,ahzoref,pynve,ohsbeq,trezna,oreavr,jvyzre,rzrefba,mnpurel,wnpdhrf,reeby,wbfhr,rqjneqb,jvysbeq,gureba,enlzhaqb,qnera,gevfgna,ebool,yvapbya,wnzr,traneb,bpgnivb,pbearyy,uhat,neeba,nagbal,urefpury,nyin,tvbinaav,tnegu,plehf,plevy,ebaal,fgrivr,yba,xraavgu,pnezvar,nhthfgvar,revpu,punqjvpx,jvyohea,ehff,zlyrf,wbanf,zvgpury,zreiva,mnar,wnzry,ynmneb,nycubafr,enaqryy,znwbe,wbuavr,wneergg,nevry,noqhy,qhfgl,yhpvnab,frlzbhe,fpbggvr,rhtravb,zbunzzrq,inyragva,neahysb,yhpvra,sreqvanaq,gunq,rmen,nyqb,ehova,eblny,zvgpu,rneyr,nor,znedhvf,ynaal,xnerrz,wnzne,obevf,vfvnu,rzvyr,ryzb,neba,yrbcbyqb,rirerggr,wbfrs,rybl,qbevna,ebqevpx,ervanyqb,yhpvb,wreebq,jrfgba,urefury,yrzhry,ynirea,oheg,whyrf,tvy,ryvfrb,nuznq,avtry,rsera,nagjna,nyqra,znetnevgb,ershtvb,qvab,bfinyqb,yrf,qrnaqer,abeznaq,xvrgu,vibel,gerl,abeoregb,ancbyrba,wrebyq,sevgm,ebfraqb,zvysbeq,fnat,qrba,puevfgbcre,nysbamb,ylzna,wbfvnu,oenag,jvygba,evpb,wnznny,qrjvgg,oeragba,lbat,byva,snhfgvab,pynhqvb,whqfba,tvab,rqtneqb,nyrp,wneerq,qbaa,gevavqnq,gnq,cbesvevb,bqvf,yraneq,punhaprl,gbq,zry,znepryb,xbel,nhthfghf,xrira,uvynevb,ohq,fny,beiny,znheb,qnaavr,mnpunevnu,byra,navony,zvyb,wrq,gunau,nznqb,yraal,gbel,evpuvr,ubenpvb,oevpr,zbunzrq,qryzre,qnevb,znp,wbanu,wreebyq,ebog,unax,fhat,ehcreg,ebyynaq,xragba,qnzvba,puv,nagbar,jnyqb,serqevp,oenqyl,xvc,ohey,glerr,wrssrerl,nuzrq,jvyyl,fgnasbeq,bera,zbfur,zvxry,rabpu,oeraqba,dhvagva,wnzvfba,syberapvb,qneevpx,gbovnf,zvau,unffna,tvhfrccr,qrznephf,pyrghf,gleryy,ylaqba,xrrana,jreare,gurb,trenyqb,pbyhzohf,purg,oregenz,znexhf,uhrl,uvygba,qjnva,qbagr,gleba,bzre,vfnvnf,uvcbyvgb,srezva,puhat,nqnyoregb,wnzrl,grbqbeb,zpxvayrl,znkvzb,fby,enyrvtu,ynjrerapr,noenz,enfunq,rzzvgg,qneba,pubat,fnzhny,bgun,zvdhry,rhfrovb,qbat,qbzravp,qneeba,jvyore,erangb,ublg,unljbbq,rmrxvry,punf,syberagvab,ryebl,pyrzragr,neqra,arivyyr,rqvfba,qrfunja,pneeby,funlar,angunavny,wbeqba,qnavyb,pynhq,iny,furejbbq,enlzba,enlsbeq,pevfgbony,nzoebfr,gvghf,ulzna,srygba,rmrdhvry,renfzb,ybaal,yra,vxr,zvyna,yvab,wnebq,ureo,naqernf,eurgg,whqr,qbhtynff,pbeqryy,bfjnyqb,ryyfjbegu,ivetvyvb,gbarl,angunanry,qry,orarqvpg,zbfr,ubat,vferny,tneerg,snhfgb,nfn,neyra,mnpx,zbqrfgb,senaprfpb,znahny,wnr,tnlybeq,tnfgba,svyvoregb,qrnatryb,zvpunyr,tenaivyyr,jrf,znyvx,mnpxnel,ghna,avpxl,pevfgbcure,nagvbar,znypbz,xberl,wbfcru,pbygba,jnlyba,iba,ubfrn,funq,fnagb,ehqbys,ebys,erl,eranyqb,znepryyhf,yhpvhf,xevfgbsre,uneynaq,neabyqb,ehrora,yrnaqeb,xenvt,wreeryy,wrebzl,uboreg,prqevpx,neyvr,jvasbeq,jnyyl,yhvtv,xrargu,wnpvagb,tenvt,senaxyla,rqzhaqb,fvq,yrvs,wrenzl,jvyyvna,ivapramb,fuba,zvpuny,ylajbbq,wrer,unv,ryqra,qneryy,oebqrevpx,nybafb".split(","))),
+o("female_names",r("znel,cngevpvn,yvaqn,oneonen,ryvmnorgu,wraavsre,znevn,fhfna,znetnerg,qbebgul,yvfn,anapl,xnera,orggl,uryra,fnaqen,qbaan,pneby,ehgu,funeba,zvpuryyr,ynhen,fnenu,xvzoreyl,qrobenu,wrffvpn,fuveyrl,plaguvn,natryn,zryvffn,oeraqn,nzl,naan,erorppn,ivetvavn,xnguyrra,cnzryn,znegun,qroen,nznaqn,fgrcunavr,pnebyla,puevfgvar,znevr,wnarg,pngurevar,senaprf,naa,wblpr,qvnar,nyvpr,whyvr,urngure,grerfn,qbevf,tybevn,riryla,wrna,purely,zvyqerq,xngurevar,wbna,nfuyrl,whqvgu,ebfr,wnavpr,xryyl,avpbyr,whql,puevfgvan,xngul,gurerfn,orireyl,qravfr,gnzzl,verar,wnar,ybev,enpury,znevyla,naqern,xnguela,ybhvfr,fnen,naar,wnpdhryvar,jnaqn,obaavr,whyvn,ehol,ybvf,gvan,culyyvf,abezn,cnhyn,qvnan,naavr,yvyyvna,rzvyl,ebova,crttl,pelfgny,tynqlf,evgn,qnja,pbaavr,syberapr,genpl,rqan,gvssnal,pnezra,ebfn,pvaql,tenpr,jraql,ivpgbevn,rqvgu,xvz,fureel,flyivn,wbfrcuvar,guryzn,funaaba,furvyn,rgury,ryyra,rynvar,znewbevr,pneevr,puneybggr,zbavpn,rfgure,cnhyvar,rzzn,whnavgn,navgn,eubaqn,unmry,nzore,rin,qroovr,ncevy,yrfyvr,pynen,yhpvyyr,wnzvr,wbnaar,ryrnabe,inyrevr,qnavryyr,zrtna,nyvpvn,fhmnaar,zvpuryr,tnvy,oregun,qneyrar,irebavpn,wvyy,reva,trenyqvar,ynhera,pngul,wbnaa,ybeenvar,ylaa,fnyyl,ertvan,revpn,orngevpr,qbyberf,oreavpr,nhqerl,libaar,naarggr,whar,znevba,qnan,fgnpl,nan,erarr,vqn,ivivna,eboregn,ubyyl,oevggnal,zrynavr,yberggn,lbynaqn,wrnarggr,ynhevr,xngvr,xevfgra,inarffn,nyzn,fhr,ryfvr,orgu,wrnaar,ivpxv,pneyn,gnen,ebfrznel,rvyrra,greev,tregehqr,yhpl,gbaln,ryyn,fgnprl,jvyzn,tvan,xevfgva,wrffvr,angnyvr,ntarf,iren,puneyrar,orffvr,qryberf,zryvaqn,crney,neyrar,znherra,pbyyrra,nyyvfba,gnznen,wbl,trbetvn,pbafgnapr,yvyyvr,pynhqvn,wnpxvr,znepvn,gnaln,aryyvr,zvaavr,zneyrar,urvqv,tyraqn,ylqvn,ivbyn,pbhegarl,znevna,fgryyn,pnebyvar,qben,wb,ivpxvr,znggvr,znkvar,vezn,znory,znefun,zlegyr,yran,puevfgl,qrnaan,cngfl,uvyqn,tjraqbyla,wraavr,aben,znetvr,avan,pnffnaqen,yrnu,craal,xnl,cevfpvyyn,anbzv,pnebyr,bytn,ovyyvr,qvnaar,genprl,yrban,wraal,sryvpvn,fbavn,zvevnz,iryzn,orpxl,oboovr,ivbyrg,xevfgvan,gbav,zvfgl,znr,furyyl,qnvfl,enzban,fureev,revxn,xngevan,pynver,yvaqfrl,yvaqfnl,trarin,thnqnyhcr,oryvaqn,znetnevgn,furely,pben,snlr,nqn,angnfun,fnoevan,vfnory,znethrevgr,unggvr,uneevrg,zbyyl,prpvyvn,xevfgv,oenaqv,oynapur,fnaql,ebfvr,wbnaan,vevf,rhavpr,natvr,varm,ylaqn,znqryvar,nzryvn,nyoregn,trarivrir,zbavdhr,wbqv,wnavr,xnlyn,fbaln,wna,xevfgvar,pnaqnpr,snaavr,znelnaa,bcny,nyvfba,lirggr,zrybql,yhm,fhfvr,byvivn,syben,furyyrl,xevfgl,znzvr,yhyn,ybyn,irean,orhynu,nagbvarggr,pnaqvpr,whnan,wrnaarggr,cnz,xryyv,juvgarl,oevqtrg,xneyn,pryvn,yngbln,cnggl,furyvn,tnlyr,qryyn,ivpxl,ylaar,furev,znevnaar,xnen,wnpdhryla,rezn,oynapn,zlen,yrgvpvn,cng,xevfgn,ebknaar,natryvpn,ebola,nqevraar,ebfnyvr,nyrknaqen,oebbxr,orgunal,fnqvr,oreanqrggr,genpv,wbql,xraqen,avpubyr,enpunry,znoyr,rearfgvar,zhevry,znepryyn,ryran,xelfgny,natryvan,anqvar,xnev,rfgryyr,qvnaan,cnhyrggr,yben,zban,qberra,ebfrznevr,qrfverr,nagbavn,wnavf,orgfl,puevfgvr,serqn,zrerqvgu,ylarggr,grev,pevfgvan,rhyn,yrvtu,zrtuna,fbcuvn,rybvfr,ebpuryyr,tergpura,prpryvn,endhry,uraevrggn,nylffn,wnan,tjra,wraan,gevpvn,ynirear,byvir,gnfun,fvyivn,ryiven,qryvn,xngr,cnggv,yberan,xryyvr,fbawn,yvyn,ynan,qneyn,zvaql,rffvr,znaql,yberar,ryfn,wbfrsvan,wrnaavr,zvenaqn,qvkvr,yhpvn,znegn,snvgu,yryn,wbunaan,funev,pnzvyyr,gnzv,funjan,ryvfn,robal,zryon,ben,arggvr,gnovgun,byyvr,jvavserq,xevfgvr,znevan,nyvfun,nvzrr,eran,zlean,zneyn,gnzzvr,yngnfun,obavgn,cngevpr,ebaqn,fureevr,nqqvr,senapvar,qrybevf,fgnpvr,nqevnan,purev,novtnvy,pryrfgr,wrjry,pnen,nqryr,erorxnu,yhpvaqn,qbegul,rssvr,gevan,eron,fnyyvr,nheben,yraben,rggn,ybggvr,xreev,gevfun,avxxv,rfgryyn,senapvfpn,wbfvr,genpvr,znevffn,xneva,oevggarl,wnaryyr,ybheqrf,ynhery,uryrar,srea,ryin,pbevaar,xryfrl,van,orggvr,ryvfnorgu,nvqn,pnvgyva,vatevq,vin,rhtravn,puevfgn,tbyqvr,znhqr,wravsre,gurerfr,qran,ybean,wnarggr,yngbaln,pnaql,pbafhryb,gnzvxn,ebfrggn,qroben,purevr,cbyyl,qvan,wrjryy,snl,wvyyvna,qbebgurn,aryy,gehql,rfcrenamn,cngevpn,xvzoreyrl,funaan,uryran,pyrb,fgrsnavr,ebfnevb,byn,wnavar,zbyyvr,yhcr,nyvfn,ybh,znevory,fhfnaar,orggr,fhfnan,ryvfr,prpvyr,vfnoryyr,yrfyrl,wbpryla,cnvtr,wbav,enpuryyr,yrbyn,qncuar,nygn,rfgre,crgen,tenpvryn,vzbtrar,wbyrar,xrvfun,ynprl,tyraan,tnoevryn,xrev,hefhyn,yvmmvr,xvefgra,funan,nqryvar,znlen,wnlar,wnpyla,tenpvr,fbaqen,pnezryn,znevfn,ebfnyvaq,punevgl,gbavn,orngevm,znevfby,pynevpr,wrnavar,furran,natryvar,sevrqn,yvyl,funhan,zvyyvr,pynhqrggr,pnguyrra,natryvn,tnoevryyr,nhghza,xngunevar,wbqvr,fgnpv,yrn,puevfgv,whfgvar,ryzn,yhryyn,zneterg,qbzvavdhr,fbpbeeb,znegvan,znetb,znivf,pnyyvr,oboov,znevgmn,yhpvyr,yrnaar,wrnaavar,qrnan,nvyrra,ybevr,ynqbaan,jvyyn,znahryn,tnyr,fryzn,qbyyl,flovy,nool,vil,qrr,jvaavr,znepl,yhvfn,wrev,zntqnyran,bsryvn,zrntna,nhqen,zngvyqn,yrvyn,pbearyvn,ovnapn,fvzbar,orgglr,enaqv,ivetvr,yngvfun,oneoen,trbetvan,ryvmn,yrnaa,oevqtrggr,eubqn,unyrl,nqryn,abyn,oreanqvar,sybffvr,vyn,tergn,ehguvr,aryqn,zvarein,yvyyl,greevr,yrgun,uvynel,rfgryn,inynevr,oevnaan,ebfnyla,rneyvar,pngnyvan,nin,zvn,pynevffn,yvqvn,pbeevar,nyrknaqevn,pbaprcpvba,gvn,funeeba,enr,qban,revpxn,wnzv,ryaben,punaqen,yraber,arin,znelybh,zryvfn,gnongun,freran,nivf,nyyvr,fbsvn,wrnavr,bqrffn,anaavr,uneevrgg,ybenvar,crarybcr,zvyntebf,rzvyvn,oravgn,nyylfba,nfuyrr,gnavn,rfzrenyqn,xnevan,rir,crneyvr,mryzn,znyvaqn,aberra,gnzrxn,fnhaqen,uvyynel,nzvr,nygurn,ebfnyvaqn,yvyvn,nynan,pyner,nyrwnaqen,ryvabe,ybeevr,wreev,qnepl,rnearfgvar,pnezryyn,abrzv,znepvr,yvmn,naanoryyr,ybhvfn,rneyrar,znyybel,pneyrar,avgn,fryran,gnavfun,xngl,whyvnaar,ynxvfun,rqjvan,znevpryn,znetrel,xraln,qbyyvr,ebkvr,ebfyla,xnguevar,anarggr,puneznvar,ynibaar,vyrar,gnzzv,fhmrggr,pbevar,xnlr,puelfgny,yvan,qrnaar,yvyvna,whyvnan,nyvar,yhnaa,xnfrl,znelnaar,rinatryvar,pbyrggr,zryin,ynjnaqn,lrfravn,anqvn,znqtr,xnguvr,bcuryvn,inyrevn,aban,zvgmv,znev,trbetrggr,pynhqvar,sena,nyvffn,ebfrnaa,ynxrvfun,fhfnaan,erin,qrvqer,punfvgl,furerr,ryivn,nylpr,qrveqer,tran,oevnan,nenpryv,xngryla,ebfnaar,jraqv,grffn,oregn,znein,vzryqn,znevrggn,znepv,yrbabe,neyvar,fnfun,znqryla,wnaan,whyvrggr,qrran,nheryvn,wbfrsn,nhthfgn,yvyvnan,yrffvr,nznyvn,fninaanu,nanfgnfvn,ivyzn,angnyvn,ebfryyn,ylaarggr,pbevan,nyserqn,yrnaan,nzcneb,pbyrra,gnzen,nvfun,jvyqn,xnela,dhrra,znhen,znv,rinatryvan,ebfnaan,unyyvr,rean,ravq,znevnan,ynpl,whyvrg,wnpxyla,servqn,znqryrvar,znen,pnguela,yryvn,pnfnaqen,oevqtrgg,natryvgn,wnaavr,qvbaar,naaznevr,xngvan,orely,zvyyvprag,xngurela,qvnaa,pnevffn,znelryyra,yvm,ynhev,urytn,tvyqn,eurn,znedhvgn,ubyyvr,gvfun,gnzren,natryvdhr,senaprfpn,xnvgyva,ybyvgn,sybevar,ebjran,erlan,gjvyn,snaal,wnaryy,varf,pbaprggn,oregvr,nyon,oevtvggr,nylfba,ibaqn,cnafl,ryon,abryyr,yrgvgvn,qrnaa,oenaqvr,ybhryyn,yrgn,sryrpvn,funeyrar,yrfn,orireyrl,vfnoryyn,urezvavn,green,pryvan,gbev,bpgnivn,wnqr,qravpr,treznvar,zvpuryy,pbegarl,aryyl,qbergun,qrvqen,zbavxn,ynfubaqn,whqv,puryfrl,nagvbarggr,znetbg,nqrynvqr,ana,yrrnaa,ryvfun,qrffvr,yvool,xnguv,tnlyn,yngnaln,zvan,zryyvfn,xvzoreyrr,wnfzva,eranr,mryqn,ryqn,whfgvan,thffvr,rzvyvr,pnzvyyn,noovr,ebpvb,xnvgyla,rqlgur,nfuyrvtu,fryvan,ynxrfun,trev,nyyrar,cnznyn,zvpunryn,qnlan,pnela,ebfnyvn,fha,wnpdhyvar,erorpn,znelorgu,xelfgyr,vbyn,qbggvr,oryyr,tevfryqn,rearfgvan,ryvqn,nqevnaar,qrzrgevn,qryzn,wndhryvar,neyrra,ivetvan,ergun,sngvzn,gvyyvr,ryrnaber,pnev,gerin,jvyuryzvan,ebfnyrr,znhevar,yngevpr,wran,gnela,ryvn,qrool,znhqvr,wrnaan,qryvynu,pngevan,fubaqn,ubegrapvn,gurbqben,grerfvgn,eboova,qnarggr,qrycuvar,oevnaar,avyqn,qnaan,pvaqv,orff,vban,jvaban,ivqn,ebfvgn,znevnaan,enpurny,thvyyrezvan,rybvfn,pryrfgvar,pnera,znyvffn,yban,punagry,furyyvr,znevfryn,yrben,ntngun,fbyrqnq,zvtqnyvn,virggr,puevfgra,wnary,irqn,cnggvr,grffvr,gren,znevylaa,yhpergvn,xneevr,qvanu,qnavryn,nyrpvn,nqryvan,ireavpr,fuvryn,cbegvn,zreel,ynfunja,qnen,gnjnan,bzn,ireqn,nyrar,mryyn,fnaqv,ensnryn,znln,xven,pnaqvqn,nyivan,fhmna,funlyn,yla,yrggvr,fnzngun,benyvn,zngvyqr,ynevffn,irfgn,eravgn,vaqvn,qrybvf,funaqn,cuvyyvf,ybeev,reyvaqn,pnguevar,oneo,mbr,vfnoryy,vbar,tvfryn,ebknaan,znlzr,xvfun,ryyvr,zryyvffn,qbeevf,qnyvn,oryyn,naarggn,mbvyn,ergn,ervan,ynherggn,xlyvr,puevfgny,cvyne,puneyn,ryvffn,gvssnav,gnan,cnhyvan,yrbgn,oernaan,wnlzr,pnezry,irearyy,gbznfn,znaqv,qbzvatn,fnagn,zrybqvr,yhen,nyrkn,gnzryn,zvean,xreevr,irahf,sryvpvgn,pevfgl,pnezryvgn,oreavrpr,naarznevr,gvnen,ebfrnaar,zvffl,pbev,ebknan,cevpvyyn,xevfgny,what,rylfr,unlqrr,nyrgun,orggvan,znetr,tvyyvna,svybzran,mranvqn,uneevrggr,pnevqnq,inqn,han,nergun,crneyvar,znewbel,znepryn,sybe,rirggr,rybhvfr,nyvan,qnznevf,pngunevar,oryin,anxvn,zneyran,yhnaar,ybevar,xneba,qberar,qnavgn,oeraan,gngvnan,ybhnaa,whyvnaan,naqevn,cuvybzran,yhpvyn,yrbaben,qbivr,ebzban,zvzv,wnpdhryva,tnlr,gbawn,zvfgv,punfgvgl,fgnpvn,ebknaa,zvpnryn,avxvgn,zrv,iryqn,zneylf,wbuaan,nhen,vibaar,unlyrl,avpxv,znwbevr,ureyvaqn,lnqven,creyn,tertbevn,nagbarggr,furyyv,zbmryyr,znevnu,wbryyr,pbeqryvn,wbfrggr,puvdhvgn,gevfgn,yndhvgn,trbetvnan,pnaqv,funaba,uvyqrtneq,inyragvan,fgrcunal,zntqn,xneby,tnoevryyn,gvnan,ebzn,evpuryyr,byrgn,wnpdhr,vqryyn,nynvan,fhmnaan,wbivgn,gbfun,arervqn,zneyla,xlyn,qrysvan,gran,fgrcuravr,fnovan,angunyvr,znepryyr,tregvr,qneyrra,gurn,funebaqn,funagry,oryra,irarffn,ebfnyvan,ban,trabirin,pyrzragvar,ebfnyon,erangr,erangn,trbetvnaan,sybl,qbepnf,nevnan,glen,gurqn,znevnz,whyv,wrfvpn,ivxxv,ireyn,ebfryla,zryivan,wnaarggr,tvaal,qroenu,pbeevr,nfvn,ivbyrgn,zlegvf,yngevpvn,pbyyrggr,puneyrra,navffn,ivivnan,gjlyn,arqen,yngbavn,yna,uryyra,snovbyn,naanznevr,nqryy,funela,punagny,avxv,znhq,yvmrggr,yvaql,xvn,xrfun,wrnan,qnaryyr,puneyvar,punary,inybevr,yvn,qbegun,pevfgny,yrbar,yrvynav,treev,qrov,naqen,xrfuvn,vzn,rhynyvn,rnfgre,qhypr,angvivqnq,yvaavr,xnzv,trbetvr,pngvan,oebbx,nyqn,jvaavserq,funeyn,ehgunaa,zrntuna,zntqnyrar,yvffrggr,nqrynvqn,iravgn,geran,fuveyrar,funzrxn,ryvmrorgu,qvna,funagn,yngbfun,pneybggn,jvaql,ebfvan,znevnaa,yrvfn,wbaavr,qnjan,pnguvr,nfgevq,ynherra,wnarra,ubyyv,snja,ivpxrl,grerffn,funagr,eholr,znepryvan,punaqn,grerfr,fpneyrgg,zneavr,yhyh,yvfrggr,wravssre,ryrabe,qbevaqn,qbavgn,pnezna,oreavgn,nygntenpvn,nyrgn,nqevnaan,mbenvqn,avpbyn,ylaqfrl,wnavan,nzv,fgneyn,culyvf,cuhbat,xlen,punevffr,oynapu,fnawhnavgn,eban,anapv,znevyrr,znenaqn,oevtrggr,fnawhnan,znevgn,xnffnaqen,wblpryla,sryvcn,puryfvr,obaal,zverln,yberamn,xlbat,vyrnan,pnaqrynevn,furevr,yhpvr,yrngevpr,ynxrfuvn,treqn,rqvr,onzov,znelyva,yniba,ubegrafr,tnearg,rivr,gerffn,funlan,ynivan,xlhat,wrnarggn,fureevyy,funen,culyvff,zvggvr,nanory,nyrfvn,guhl,gnjnaqn,wbnavr,gvssnavr,ynfunaqn,xnevffn,raevdhrgn,qnevn,qnavryyn,pbevaan,nynaan,noorl,ebknar,ebfrnaan,zntabyvn,yvqn,wbryyra,ren,pbeny,pneyrra,gerfn,crttvr,abiryyn,avyn,znloryyr,wraryyr,pnevan,abin,zryvan,znedhrevgr,znetnerggr,wbfrcuvan,ribaar,pvaguvn,nyovan,gbln,gnjaln,furevgn,zlevnz,yvmnorgu,yvfr,xrryl,wraav,tvfryyr,purelyr,neqvgu,neqvf,nyrfun,nqevnar,funvan,yvaarn,xnebyla,sryvfun,qbev,qnepv,negvr,nezvqn,mbyn,kvbznen,iretvr,funzvxn,aran,anaarggr,znkvr,ybivr,wrnar,wnvzvr,vatr,sneenu,rynvan,pnvgyla,sryvpvgnf,pureyl,pnely,lbybaqn,lnfzva,grran,cehqrapr,craavr,alqvn,znpxramvr,becun,zneiry,yvmorgu,ynherggr,wreevr,urezryvaqn,pnebyrr,gvreen,zvevna,zrgn,zrybal,xbev,wraarggr,wnzvyn,ran,nau,lbfuvxb,fhfnaanu,fnyvan,euvnaaba,wbyrra,pevfgvar,nfugba,nenpryl,gbzrxn,funybaqn,znegv,ynpvr,xnyn,wnqn,vyfr,unvyrl,oevggnav,mban,floyr,fureely,avqvn,zneyb,xnaqvpr,xnaqv,qro,nylpvn,ebaan,aberar,zrepl,vatrobet,tvbinaan,trzzn,puevfgry,nhqel,mben,ivgn,gevfu,fgrcunvar,fuveyrr,funavxn,zrybavr,znmvr,wnmzva,vatn,ubn,urggvr,trenyla,sbaqn,rfgeryyn,nqryyn,fnevgn,evan,zvyvffn,znevorgu,tbyqn,riba,rguryla,rarqvan,purevfr,punan,iryin,gnjnaan,fnqr,zvegn,xnevr,wnpvagn,ryan,qnivan,pvreen,nfuyvr,nyoregun,gnarfun,aryyr,zvaqv,ybevaqn,ynehr,syberar,qrzrgen,qrqen,pvnen,punagryyr,nfuyl,fhml,ebfnyin,abryvn,ylqn,yrngun,xelfglan,xevfgna,xneev,qneyvar,qnepvr,pvaqn,pureevr,njvyqn,nyzrqn,ebynaqn,ynarggr,wrevyla,tvfryr,rinyla,plaqv,pyrgn,pneva,mvan,mran,iryvn,gnavxn,punevffn,gnyvn,znetnergr,ynibaqn,xnlyrr,xnguyrar,wbaan,veran,vyban,vqnyvn,pnaqvf,pnaqnapr,oenaqrr,navgen,nyvqn,fvtevq,avpbyrggr,znelwb,yvarggr,urqjvt,puevfgvnan,nyrkvn,gerffvr,zbqrfgn,yhcvgn,yvgn,tynqvf,riryvn,qnivqn,pureev,prpvyl,nfuryl,naanory,nthfgvan,jnavgn,fuveyl,ebfnhen,uhyqn,rha,lrggn,ireban,gubznfvan,fvoly,funaana,zrpuryyr,yhr,yrnaqen,ynav,xlyrr,xnaql,wbylaa,srear,robav,pberar,nylfvn,mhyn,anqn,zbven,ylaqfnl,ybeerggn,wnzzvr,ubegrafvn,tnlaryy,nqevn,ivan,ivpragn,gnatryn,fgrcuvar,abevar,aryyn,yvnan,yrfyrr,xvzoreryl,vyvnan,tybel,sryvpn,rzbtrar,rysevrqr,rqra,rnegun,pnezn,orn,bpvr,yraavr,xvnen,wnpnyla,pneybgn,nevryyr,bgvyvn,xvefgva,xnprl,wbuarggn,wbrggn,wrenyqvar,wnhavgn,rynan,qbegurn,pnzv,nznqn,nqryvn,ireavgn,gnzne,fvbouna,erarn,enfuvqn,bhvqn,avyfn,zrely,xevfgla,whyvrgn,qnavpn,oernaar,nhern,natyrn,fureeba,bqrggr,znyvn,yberyrv,yrrfn,xraan,xnguyla,svban,puneyrggr,fhmvr,funagryy,fnoen,enpdhry,zlbat,zven,znegvar,yhpvraar,yninqn,whyvnaa,ryiren,qrycuvn,puevfgvnar,punebyrggr,pneev,nfun,natryyn,cnbyn,avasn,yrqn,ynv,rqn,fgrsnav,funaryy,cnyzn,znpuryyr,yvffn,xrpvn,xnguelar,xneyrar,whyvffn,wrggvr,wraavssre,uhv,pbeevan,pnebynaa,nyran,ebfnevn,zlegvpr,znelyrr,yvnar,xralnggn,whqvr,wnarl,ryzven,ryqben,qraan,pevfgv,pnguv,mnvqn,ibaavr,ivin,ireavr,ebfnyvar,znevryn,yhpvnan,yrfyv,xnena,sryvpr,qrarra,nqvan,jlaban,gnefun,fureba,funavgn,funav,funaqen,enaqn,cvaxvr,aryvqn,znevybh,ylyn,ynherar,ynpv,wbv,wnarar,qbebgun,qnavryr,qnav,pnebylaa,pneyla,oreravpr,nlrfun,naaryvrfr,nyrgurn,gurefn,gnzvxb,ehsvan,byvin,zbmryy,znelyla,xevfgvna,xngulea,xnfnaqen,xnaqnpr,wnanr,qbzravpn,qrooen,qnaavryyr,nepryvn,nwn,mrabovn,funera,funerr,ynivavn,xhz,xnpvr,wnpxryvar,uhbat,sryvfn,rzryvn,ryrnaben,plguvn,pevfgva,pynevory,nanfgnpvn,mhyzn,mnaqen,lbxb,gravfun,fhfnaa,furevyla,funl,funjnaqn,ebznan,znguvyqn,yvafrl,xrvxb,wbnan,vfryn,terggn,trbetrggn,rhtravr,qrfvenr,qryben,pbenmba,nagbavan,navxn,jvyyrar,genprr,gnzngun,avpuryyr,zvpxvr,znrtna,yhnan,ynavgn,xryfvr,rqryzven,oerr,nsgba,grbqben,gnzvr,furan,zrt,yvau,xryv,xnpv,qnalryyr,neyrggr,nyoregvar,nqryyr,gvssval,fvzban,avpbynfn,avpuby,avn,anxvfun,zrr,znven,yberra,xvmml,snyyba,puevfgrar,oboolr,ivapramn,gnawn,ehovr,ebav,dhrravr,znetnergg,xvzoreyv,veztneq,vqryy,uvyzn,riryvan,rfgn,rzvyrr,qraavfr,qnavn,pnevr,jnv,evfn,evxxv,cnegvpvn,zhv,znfnxb,yhiravn,yberr,ybav,yvra,tvtv,syberapvn,qravgn,ovyylr,gbzvxn,funevgn,enan,avxbyr,arbzn,znetnevgr,znqnyla,yhpvan,ynvyn,xnyv,wrarggr,tnoevryr,rirylar,ryraben,pyrzragvan,nyrwnaqevan,mhyrzn,ivbyrggr,inaarffn,guerfn,erggn,cvn,cngvrapr,abryyn,avpxvr,wbaryy,punln,pnzryvn,orgury,naln,fhmnaa,fuh,zvyn,yvyyn,ynirean,xrrfun,xnggvr,trbetrar,riryvar,rfgryy,ryvmorgu,ivivraar,inyyvr,gehqvr,fgrcunar,zntnyl,znqvr,xralrggn,xneera,wnarggn,urezvar,qehpvyyn,qroov,pryrfgvan,pnaqvr,oevgav,orpxvr,nzvan,mvgn,lha,lbynaqr,ivivra,irearggn,gehqv,fbzzre,crneyr,cngevan,bffvr,avpbyyr,yblpr,yrggl,ynevfn,xngunevan,wbfryla,wbaryyr,wraryy,vrfun,urvqr,sybevaqn,syberagvan,syb,rybqvn,qbevar,oehavyqn,oevtvq,nfuyv,neqryyn,gjnan,guh,gnenu,funiba,frevan,enlan,enzbavgn,atn,znethevgr,yhperpvn,xbhegarl,xngv,wrfravn,pevfgn,nlnan,nyvpn,nyvn,ivaavr,fhryyra,ebzryvn,enpuryy,bylzcvn,zvpuvxb,xngunyrra,wbyvr,wrffv,wnarffn,unan,ryrnfr,pneyrggn,oevgnal,fuban,fnybzr,ebfnzbaq,ertran,envan,atbp,aryvn,ybhiravn,yrfvn,yngevan,yngvpvn,yneubaqn,wvan,wnpxv,rzzl,qrrnaa,pberggn,nearggn,gunyvn,funavpr,argn,zvxxv,zvpxv,ybaan,yrnan,ynfuhaqn,xvyrl,wblr,wnpdhyla,vtanpvn,ulha,uvebxb,uraevrggr,rynlar,qryvaqn,qnuyvn,pberra,pbafhryn,pbapuvgn,pryvar,onorggr,nlnaan,narggr,nyoregvan,funjarr,funarxn,dhvnan,cnzryvn,zva,zreev,zreyrar,znetvg,xvrfun,xvren,xnlyrar,wbqrr,wravfr,reyrar,rzzvr,qnyvyn,qnvfrl,pnfvr,oryvn,ononen,irefvr,inarfn,furyon,funjaqn,avxvn,anbzn,znean,znetrerg,znqnyvar,ynjnan,xvaqen,whggn,wnmzvar,wnargg,unaaryber,tyraqben,tregehq,tneargg,serrqn,serqrevpn,sybenapr,synivn,pneyvar,orireyrr,nawnarggr,inyqn,gnznyn,fubaan,fun,fnevan,barvqn,zrevyla,zneyrra,yheyvar,yraan,xngureva,wva,wrav,unr,tenpvn,tynql,snenu,rabyn,rzn,qbzvadhr,qriban,qrynan,prpvyn,pncevpr,nylfun,nyrguvn,iran,gurerfvn,gnjal,funxven,fnznen,fnpuvxb,enpuryr,cnzryyn,zneav,znevry,znera,znyvfn,yvtvn,yren,yngbevn,ynenr,xvzore,xngurea,xnerl,wraarsre,wnargu,unyvan,serqvn,qryvfn,qroebnu,pvren,natryvxn,naqerr,nygun,lra,ivina,greerfn,gnaan,fhx,fhqvr,fbb,fvtar,fnyran,ebaav,eroorppn,zlegvr,znyvxn,znvqn,ybna,yrbaneqn,xnlyrvtu,rguly,ryyla,qnlyr,pnzzvr,oevggav,ovetvg,niryvan,nfhapvba,nevnaan,nxvxb,iravpr,glrfun,gbavr,gvrfun,gnxvfun,fgrssnavr,fvaql,zrtunaa,znaqn,znpvr,xryylr,xryyrr,wbfyla,vatre,vaqven,tyvaqn,tyraavf,sreanaqn,snhfgvan,rarvqn,ryvpvn,qbg,qvtan,qryy,neyrggn,jvyyvn,gnzznen,gnorgun,fureeryy,fnev,eroorpn,cnhyrggn,angbfun,anxvgn,znzzvr,xravfun,xnmhxb,xnffvr,rneyrna,qncuvar,pbeyvff,pybgvyqr,pnebylar,orearggn,nhthfgvan,nhqern,naavf,naanoryy,lna,graavyyr,gnzvpn,fryrar,ebfnan,ertravn,dvnan,znexvgn,znpl,yrrnaar,ynhevar,xlz,wrffravn,wnavgn,trbetvar,travr,rzvxb,ryivr,qrnaqen,qntzne,pbevr,pbyyra,purevfu,ebznvar,cbefun,crneyrar,zvpuryvar,zrean,znetbevr,znetnerggn,yber,wravar,urezvan,serqrevpxn,ryxr,qehfvyyn,qbengul,qvbar,pryran,oevtvqn,natryrf,nyyrten,gnzrxvn,flaguvn,fbbx,fylivn,ebfnaa,erngun,enlr,znedhrggn,znetneg,ynlyn,xlzoreyl,xvnan,xnlyrra,xngyla,xnezra,wbryyn,vevan,rzryqn,ryrav,qrgen,pyrzzvr,purelyy,punagryy,pngurl,neavgn,neyn,natyr,natryvp,nylfr,mbsvn,gubznfvar,graavr,fureyl,fureyrl,funely,erzrqvbf,crgevan,avpxbyr,zlhat,zleyr,zbmryyn,ybhnaar,yvfun,yngvn,xelfgn,whyvraar,wrnarar,wnpdhnyvar,vfnhen,tjraqn,rneyrra,pyrbcngen,pneyvr,nhqvr,nagbavrggn,nyvfr,ireqryy,gbzbxb,gunb,gnyvfun,furzvxn,fninaan,fnagvan,ebfvn,enrnaa,bqvyvn,anan,zvaan,zntna,ylaryyr,xnezn,wbrnaa,vinan,varyy,vynan,ulr,urr,thqeha,qernzn,pevffl,punagr,pnezryvan,neivyyn,naanznr,nyiren,nyrvqn,lnaven,inaqn,gvnaan,gnz,fgrsnavn,fuven,avpby,anapvr,zbafreengr,zrylaqn,zrynal,ybiryyn,ynher,xnpl,wnpdhrylaa,ulba,tregun,ryvnan,puevfgran,puevfgrra,punevfr,pngrevan,pneyrl,pnaqlpr,neyran,nzzvr,jvyyrggr,inavgn,ghlrg,flerrgn,craarl,alyn,znelnz,zneln,zntra,yhqvr,ybzn,yvivn,ynaryy,xvzoreyvr,whyrr,qbarggn,qvrqen,qravfun,qrnar,qnjar,pynevar,pureely,oebajla,nyyn,inyrel,gbaqn,fhrnaa,fbenln,fubfunan,furyn,funeyrra,funaryyr,arevffn,zrevqvgu,zryyvr,znlr,zncyr,zntnerg,yvyv,yrbavyn,yrbavr,yrrnaan,ynibavn,yniren,xevfgry,xngurl,xngur,wnaa,vyqn,uvyqerq,uvyqrtneqr,travn,shzvxb,riryva,rezryvaqn,ryyl,qhat,qbybevf,qvbaan,qnanr,orearvpr,naavpr,nyvk,ireran,ireqvr,funjaan,funjnan,funhaan,ebmryyn,enaqrr,enanr,zvynteb,ylaryy,yhvfr,ybvqn,yvforgu,xneyrra,whavgn,wban,vfvf,ulnpvagu,urql,tjraa,rguryrar,reyvar,qbaln,qbzbavdhr,qryvpvn,qnaarggr,pvpryl,oenaqn,oylgur,orgunaa,nfuyla,naanyrr,nyyvar,lhxb,iryyn,genat,gbjnaqn,grfun,fureyla,anepvfn,zvthryvan,zrev,znloryy,zneynan,znethrevgn,znqyla,ybel,ybevnaa,yrbaber,yrvtunaa,ynhevpr,yngrfun,ynebaqn,xngevpr,xnfvr,xnyrl,wnqjvtn,tyraavr,trneyqvar,senapvan,rcvsnavn,qlna,qbevr,qvrqer,qrarfr,qrzrgevpr,qryran,pevfgvr,pyrben,pngnevan,pnevfn,oneoren,nyzrgn,gehyn,grernfn,fbynatr,furvynu,funibaar,fnaben,ebpuryy,znguvyqr,znetnergn,znvn,ylafrl,ynjnaan,ynhan,xran,xrran,xngvn,tylaqn,tnlyrar,ryivan,rynabe,qnahgn,qnavxn,pevfgra,pbeqvr,pbyrggn,pynevgn,pnezba,oelaa,nmhpran,nhaqern,natryr,ireyvr,ireyrar,gnzrfun,fvyinan,froevan,fnzven,erqn,enlyrar,craav,abenu,abzn,zvervyyr,zryvffvn,znelnyvpr,ynenvar,xvzorel,xnely,xnevar,xnz,wbynaqn,wbunan,wrfhfn,wnyrrfn,wnpdhrylar,vyhzvanqn,uvynevn,unau,traavr,senapvr,syberggn,rkvr,rqqn,qerzn,qrycun,ori,oneone,nffhagn,neqryy,naanyvfn,nyvfvn,lhxvxb,lbynaqb,jbaqn,jrv,jnygenhq,irgn,grzrxn,gnzrvxn,fuveyrra,furavgn,cvrqnq,bmryyn,zvegun,znevyh,xvzvxb,whyvnar,wravpr,wnanl,wnpdhvyvar,uvyqr,snr,rybvf,rpub,qribenu,punh,oevaqn,orgfrl,nezvaqn,nenpryvf,ncely,naargg,nyvfuvn,irbyn,hfun,gbfuvxb,gurbyn,gnfuvn,gnyvgun,furel,erarggn,ervxb,enfurrqn,boqhyvn,zvxn,zrynvar,zrttna,zneyra,znetrg,znepryvar,znan,zntqnyra,yvoenqn,yrmyvr,yngnfuvn,ynfnaqen,xryyr,vfvqen,vfn,vabprapvn,tjla,senapbvfr,rezvavn,revaa,qvzcyr,qriben,pevfryqn,neznaqn,nevr,nevnar,natryran,nyvmn,nqevrar,nqnyvar,kbpuvgy,gjnaan,gbzvxb,gnzvfun,gnvfun,fhfl,fvh,ehgun,euban,abevxb,angnfuvn,zreevr,znevaqn,znevxb,znetreg,ybevf,yvmmrggr,yrvfun,xnvyn,wbnaavr,wreevpn,wrar,wnaarg,wnarr,wnpvaqn,uregn,ryraber,qberggn,qrynvar,qnavryy,pynhqvr,oevggn,ncbybavn,nzoreyl,nyrnfr,lhev,lhx,jra,jnargn,hgr,gbzv,funeev,fnaqvr,ebfryyr,erlanyqn,enthry,culyvpvn,cngevn,byvzcvn,bqryvn,zvgmvr,zvaqn,zvtaba,zvpn,zraql,zneviry,znvyr,ylarggn,ynirggr,ynhela,yngevfun,ynxvrfun,xvrefgra,xnel,wbfcuvar,wbyla,wrggn,wnavfr,wnpdhvr,viryvffr,tylavf,tvnaan,tnlaryyr,qnalryy,qnavyyr,qnpvn,pbenyrr,pure,prbyn,nevnaar,nyrfuvn,lhat,jvyyvrznr,gevau,guben,gnv,firgynan,furevxn,furzrxn,funhaqn,ebfryvar,evpxv,zryqn,znyyvr,ynibaan,yngvan,yndhnaqn,ynyn,ynpuryyr,xynen,xnaqvf,wbuan,wrnaznevr,wnlr,tenlpr,treghqr,rzrevgn,robavr,pybevaqn,puvat,purel,pnebyn,oernaa,oybffbz,oreaneqvar,orpxv,neyrgun,netryvn,nen,nyvgn,lhynaqn,lba,lrffravn,gbov,gnfvn,flyivr,fuvey,fuveryl,furyyn,funagryyr,fnpun,erorpxn,cebivqrapvn,cnhyrar,zvfun,zvxv,zneyvar,znevpn,ybevgn,yngblvn,ynfbaln,xrefgva,xraqn,xrvgun,xngueva,wnlzvr,tevpryqn,tvarggr,rela,ryvan,rysevrqn,qnalry,purerr,punaryyr,oneevr,nheber,naanznevn,nyyrra,nvyrar,nvqr,lnfzvar,infugv,gernfn,gvssnarl,furelyy,funevr,funanr,fnh,envfn,arqn,zvgfhxb,zveryyn,zvyqn,znelnaan,znenterg,znoryyr,yhrggn,ybevan,yrgvfun,yngnefun,ynaryyr,ynwhnan,xevffl,xneyl,xneran,wrffvxn,wrevpn,wrnaryyr,wnyvfn,wnpryla,vmbyn,rhan,rgun,qbzvgvyn,qbzvavpn,qnvan,perbyn,pneyv,pnzvr,oevggal,nfunagv,navfun,nyrra,nqnu,lnfhxb,inyevr,gban,gvavfun,guv,grevfn,gnarxn,fvzbaar,funynaqn,frevgn,erffvr,ershtvn,byrar,zneturevgn,znaqvr,znver,ylaqvn,yhpv,ybeevnar,ybergn,yrbavn,yniban,ynfunjaqn,ynxvn,xlbxb,xelfgvan,xelfgra,xravn,xryfv,wrnavpr,vfbory,trbetvnaa,traal,sryvpvqnq,rvyrar,qrybvfr,pbaprcgvba,pyben,purevyla,pnynaqen,neznaqvan,navfn,hyn,gvren,gurerffn,fgrcunavn,fvzn,fulyn,fubagn,furen,fundhvgn,funyn,ebffnan,aburzv,arel,zbevnu,zryvgn,zryvqn,zrynav,znelylaa,znevfun,znevrggr,znybevr,znqryrar,yhqvivan,ybevn,yberggr,ybenyrr,yvnaar,yniravn,ynhevaqn,ynfuba,xvg,xvzv,xrvyn,xngrylaa,xnv,wbar,wbnar,wnlan,wnaryyn,uhr,uregun,senaprar,ryvaber,qrfcvan,qryfvr,qrrqen,pyrzrapvn,pnebyva,ohynu,oevggnavr,obx,oybaqryy,ovov,ornhynu,orngn,naavgn,ntevcvan,ivetra,inyrar,gjnaqn,gbzzlr,gbv,gneen,gnev,gnzzren,funxvn,fnqlr,ehgunaar,ebpury,evixn,chen,aravgn,angvfun,zreevyrr,zrybqrr,zneivf,yhpvyyn,yrran,ynirgn,ynevgn,ynavr,xrera,vyrra,trbetrnaa,traan,sevqn,rjn,rhsrzvn,rzryl,ryn,rqlgu,qrbaan,qrnqen,qneyran,punaryy,pngurea,pnffbaqen,pnffnhaqen,oreaneqn,orean,neyvaqn,nanznevn,iregvr,inyrev,gbeev,gnglnan,fgnfvn,furevfr,furevyy,fnaqn,ehgur,ebfl,eboov,enarr,dhlra,crneyl,cnyzven,bavgn,avfun,avrfun,avqn,anz,zreyla,znlbyn,znelybhvfr,znegu,znetrar,znqrynvar,ybaqn,yrbagvar,yrbzn,yrvn,ynhenyrr,ynaben,ynxvgn,xvlbxb,xrghenu,xngryva,xnerra,wbavr,wbuarggr,wrarr,wrnargg,vmrggn,uvrqv,urvxr,unffvr,tvhfrccvan,trbetnaa,svqryn,sreanaqr,ryjnaqn,ryynznr,ryvm,qhfgv,qbggl,plaql,pbenyvr,pryrfgn,netragvan,nyiregn,kravn,jnin,inarggn,gbeevr,gnfuvan,gnaql,gnzoen,gnzn,fgrcnavr,fuvyn,funhagn,funena,funavdhn,funr,frgfhxb,frensvan,fnaqrr,ebfnznevn,cevfpvyn,byvaqn,anqrar,zhbv,zvpuryvan,zreprqrm,znelebfr,zneprar,znb,zntnyv,znsnyqn,ynaavr,xnlpr,xnebyvar,xnzvynu,xnznyn,whfgn,wbyvar,wraavar,wnpdhrggn,venvqn,trbetrnaan,senapurfpn,rzryvar,rynar,rugry,rneyvr,qhypvr,qnyrar,pynffvr,purer,punevf,pneblya,pnezvan,pnevgn,orgunavr,nlnxb,nevpn,nylfn,nyrffnaqen,nxvynu,nqevra,mrggn,lbhynaqn,lryran,lnunven,jraqbyla,gvwhnan,grevan,grerfvn,fhmv,fureryy,funibaqn,funhagr,funeqn,funxvgn,fran,elnaa,ehov,evin,ertvavn,enpuny,cneguravn,cnzhyn,zbaavr,zbarg,zvpunryr,zryvn,znyxn,znvfun,yvfnaqen,yrxvfun,yrna,ynxraqen,xelfgva,xbegarl,xvmmvr,xvggvr,xren,xraqny,xrzoreyl,xnavfun,whyrar,whyr,wbunaar,wnzrr,unyyrl,tvqtrg,tnyvan,serqevpxn,syrgn,sngvznu,rhfrovn,rymn,ryrbaber,qbegurl,qbevn,qbaryyn,qvabenu,qrybefr,pynergun,puevfgvavn,puneyla,obat,oryxvf,nmmvr,naqren,nvxb,nqran,lre,lnwnven,jna,inavn,hyevxr,gbfuvn,gvsnal,fgrsnal,fuvmhr,furavxn,funjnaan,funebyla,funevyla,fundhnan,funagnl,ebmnaar,ebfryrr,erzban,ernaan,enryrar,cuhat,crgebavyn,angnpun,anaprl,zley,zvlbxb,zvrfun,zrevqrgu,zneiryyn,znedhvggn,zneugn,znepuryyr,yvmrgu,yvoovr,ynubzn,ynqnja,xvan,xnguryrra,xngunela,xnevfn,xnyrvtu,whavr,whyvrnaa,wbuafvr,wnarna,wnvzrr,wnpxdhryvar,uvfnxb,urezn,urynvar,tjlargu,tvgn,rhfgbyvn,rzryvan,ryva,rqevf,qbaarggr,qbaarggn,qvreqer,qranr,qnepry,pynevfn,pvaqreryyn,puvn,puneyrfrggn,punevgn,pryfn,pnffl,pnffv,pneyrr,oehan,oevggnarl,oenaqr,ovyyv,onb,nagbarggn,natyn,natryla,nanyvfn,nynar,jraban,jraqvr,irebavdhr,inaarfn,gbovr,grzcvr,fhzvxb,fhyrzn,fcnexyr,fbzre,furon,funevpr,funary,funyba,ebfvb,ebfryvn,eranl,erzn,erran,bmvr,bergun,benyrr,bqn,atna,anxrfun,zvyyl,zneloryyr,znetergg,znentnerg,znavr,yheyrar,yvyyvn,yvrfrybggr,yniryyr,ynfunhaqn,ynxrrfun,xnlprr,xnyla,wbln,wbrggr,wranr,wnavrpr,vyyn,tevfry,tynlqf,trarivr,tnyn,serqqn,ryrbabe,qroren,qrnaqern,pbeevaar,pbeqvn,pbagrffn,pbyrar,pyrbgvyqr,punagnl,prpvyyr,orngevf,nmnyrr,neyrna,neqngu,nawryvpn,nawn,nyserqvn,nyrvfun,mnqn,lhbaar,jvyybqrna,iraavr,inaan,glvfun,gbin,gbevr,gbavfun,gvyqn,gvra,fveran,fureevy,funagv,franvqn,fnzryyn,eboola,eraqn,ervgn,curor,cnhyvgn,abohxb,athlrg,arbzv,zvxnryn,zrynavn,znkvzvan,znet,znvfvr,ylaan,yvyyv,ynfunha,ynxraln,ynry,xvefgvr,xnguyvar,xnfun,xneyla,xnevzn,wbina,wbfrsvar,wraaryy,wnpdhv,wnpxryla,ulb,uvra,tenmlan,sybeevr,sybevn,ryrbaben,qjnan,qbeyn,qryzl,qrwn,qrqr,qnaa,pelfgn,pyryvn,pynevf,puvrxb,pureyla,pureryyr,puneznva,punen,pnzzl,orr,nearggr,neqryyr,naavxn,nzvrr,nzrr,nyyran,libar,lhxv,lbfuvr,lrirggr,lnry,jvyyrggn,ibapvyr,irarggn,ghyn,gbarggr,gvzvxn,grzvxn,gryzn,grvfun,gnera,fgnprr,funjagn,fngheavan,evpneqn,cbx,cnfgl,bavr,ahovn,znevryyr,znevryyn,znevnaryn,zneqryy,yhnaan,ybvfr,yvfnorgu,yvaqfl,yvyyvnan,yvyyvnz,yrynu,yrvtun,yrnaben,xevfgrra,xunyvynu,xrryrl,xnaqen,whaxb,wbndhvan,wreyrar,wnav,wnzvxn,ufvh,urezvyn,trarivir,rivn,rhtran,rzznyvar,ryserqn,ryrar,qbarggr,qrypvr,qrrnaan,qneprl,php,pynevaqn,pven,punr,pryvaqn,pngurela,pnfvzven,pnezryvn,pnzryyvn,oernan,oborggr,oreaneqvan,oror,onfvyvn,neylar,nzny,nynlan,mbavn,mravn,lhevxb,lnrxb,jlaryy,jvyyran,ireavn,gben,greevyla,grevpn,grarfun,gnjan,gnwhnan,gnvan,fgrcuavr,fban,fvan,fubaqen,fuvmhxb,fureyrar,furevpr,funevxn,ebffvr,ebfran,evzn,evn,euron,eraan,angnyln,anaprr,zrybqv,zrqn,zngun,znexrggn,znevpehm,znepryrar,znyivan,yhon,ybhrggn,yrvqn,yrpvn,ynhena,ynfunjan,ynvar,xunqvwnu,xngrevar,xnfv,xnyyvr,whyvrggn,wrfhfvgn,wrfgvar,wrffvn,wrssvr,wnalpr,vfnqben,trbetvnaar,svqryvn,rivgn,rhen,rhynu,rfgrsnan,ryfl,rynqvn,qbqvr,qvn,qravffr,qrybenf,qryvyn,qnlfv,pelfgyr,pbapun,pynerggn,puneyfvr,puneyran,pnelyba,orgglnaa,nfyrl,nfuyrn,nzven,nthrqn,ntahf,lhrggr,ivavgn,ivpgbevan,glavfun,gerran,gbppnen,gvfu,gubznfran,grtna,fbvyn,furaan,funeznvar,funagnr,funaqv,frcgrzore,fnena,fnenv,fnan,ebfrggr,ebynaqr,ertvar,bgryvn,byrivn,avpubyyr,arpbyr,anvqn,zlegn,zlrfun,zvgfhr,zvagn,zregvr,znetl,znunyvn,znqnyrar,ybhen,yberna,yrfun,yrbavqn,yravgn,ynibar,ynfuryy,ynfunaqen,ynzbavpn,xvzoen,xngurevan,xneel,xnarfun,wbat,wrarin,wndhryla,ujn,tvyzn,tuvfynvar,tregehqvf,senafvfpn,srezvan,rggvr,rgfhxb,ryyna,ryvqvn,rqen,qbergurn,qberngun,qralfr,qrrggn,qnvar,plefgny,pbeeva,pnlyn,pneyvgn,pnzvyn,ohezn,ohyn,ohran,onenonen,nievy,nynvar,mnan,jvyurzvan,jnarggn,irebavxn,ireyvar,infvyvxv,gbavgn,gvfn,grbsvyn,gnlan,gnhaln,gnaqen,gnxnxb,fhaav,fhnaar,fvkgn,funeryy,frrzn,ebfraqn,eboran,enlzbaqr,crv,cnzvyn,bmryy,arvqn,zvfgvr,zvpun,zrevffn,znhevgn,znelya,znelrggn,znepryy,znyran,znxrqn,ybirggn,ybhevr,ybeevar,ybevyrr,ynheran,ynfunl,yneenvar,ynerr,ynperfun,xevfgyr,xevfuan,xrin,xrven,xnebyr,wbvr,wvaal,wrnaarggn,wnzn,urvql,tvyoregr,trzn,snivbyn,rirylaa,raqn,ryyv,ryyran,qvivan,qntal,pbyyrar,pbqv,pvaqvr,punffvql,punfvql,pngevpr,pngurevan,pnffrl,pnebyy,pneyran,pnaqen,pnyvfgn,oelnaan,oevggral,orhyn,onev,nhqevr,nhqevn,neqryvn,naaryyr,natvyn,nyban,nyyla".split(","))),
+o("surnames",r("fzvgu,wbuafba,jvyyvnzf,wbarf,oebja,qnivf,zvyyre,jvyfba,zbber,gnlybe,naqrefba,wnpxfba,juvgr,uneevf,znegva,gubzcfba,tnepvn,znegvarm,ebovafba,pynex,ebqevthrm,yrjvf,yrr,jnyxre,unyy,nyyra,lbhat,ureanaqrm,xvat,jevtug,ybcrm,uvyy,terra,nqnzf,onxre,tbamnyrm,aryfba,pnegre,zvgpuryy,crerm,eboregf,gheare,cuvyyvcf,pnzcoryy,cnexre,rinaf,rqjneqf,pbyyvaf,fgrjneg,fnapurm,zbeevf,ebtref,errq,pbbx,zbetna,oryy,zhecul,onvyrl,eviren,pbbcre,evpuneqfba,pbk,ubjneq,jneq,gbeerf,crgrefba,tenl,enzverm,jngfba,oebbxf,fnaqref,cevpr,oraargg,jbbq,onearf,ebff,uraqrefba,pbyrzna,wraxvaf,creel,cbjryy,ybat,cnggrefba,uhturf,syberf,jnfuvatgba,ohgyre,fvzzbaf,sbfgre,tbamnyrf,oelnag,nyrknaqre,tevssva,qvnm,unlrf,zlref,sbeq,unzvygba,tenunz,fhyyvina,jnyynpr,jbbqf,pbyr,jrfg,bjraf,erlabyqf,svfure,ryyvf,uneevfba,tvofba,zpqbanyq,pehm,znefunyy,begvm,tbzrm,zheenl,serrzna,jryyf,jroo,fvzcfba,fgriraf,ghpxre,cbegre,uvpxf,penjsbeq,oblq,znfba,zbenyrf,xraarql,jneera,qvkba,enzbf,erlrf,oheaf,tbeqba,funj,ubyzrf,evpr,eboregfba,uhag,qnavryf,cnyzre,zvyyf,avpubyf,tenag,srethfba,fgbar,unjxvaf,qhaa,crexvaf,uhqfba,fcrapre,tneqare,fgrcuraf,cnlar,cvrepr,oreel,znggurjf,neabyq,jntare,jvyyvf,jngxvaf,byfba,pneebyy,qhapna,falqre,uneg,phaavatunz,ynar,naqerjf,ehvm,unecre,sbk,evyrl,nezfgebat,pnecragre,jrnire,terrar,ryyvbgg,punirm,fvzf,crgref,xryyrl,senaxyva,ynjfba,svryqf,thgvreerm,fpuzvqg,pnee,infdhrm,pnfgvyyb,jurryre,punczna,byvire,zbagtbzrel,evpuneqf,jvyyvnzfba,wbuafgba,onaxf,zrlre,ovfubc,zppbl,ubjryy,nyinerm,zbeevfba,unafra,sreanaqrm,tnemn,ohegba,athlra,wnpbof,ervq,shyyre,ylapu,tneergg,ebzreb,jrypu,ynefba,senmvre,ohexr,unafba,zraqbmn,zberab,objzna,zrqvan,sbjyre,oerjre,ubsszna,pneyfba,fvyin,crnefba,ubyynaq,syrzvat,wrafra,inetnf,oleq,qnivqfba,ubcxvaf,znl,ureeren,jnqr,fbgb,jnygref,arny,pnyqjryy,ybjr,wraavatf,oneargg,tenirf,wvzrarm,ubegba,furygba,oneergg,boevra,pnfgeb,fhggba,zpxvaarl,yhpnf,zvyrf,ebqevdhrm,punzoref,ubyg,ynzoreg,syrgpure,jnggf,ongrf,unyr,eubqrf,cran,orpx,arjzna,unlarf,zpqnavry,zraqrm,ohfu,inhtua,cnexf,qnjfba,fnagvntb,abeevf,uneql,fgrryr,pheel,cbjref,fpuhygm,onexre,thmzna,cntr,zhabm,onyy,xryyre,punaqyre,jrore,jnyfu,ylbaf,enzfrl,jbysr,fpuarvqre,zhyyvaf,orafba,funec,objra,oneore,phzzvatf,uvarf,onyqjva,tevssvgu,inyqrm,uhooneq,fnynmne,errirf,jneare,fgrirafba,ohetrff,fnagbf,gngr,pebff,tneare,znaa,znpx,zbff,gubeagba,zptrr,snezre,qrytnqb,nthvyne,irtn,tybire,znaavat,pbura,unezba,ebqtref,eboovaf,arjgba,oynve,uvttvaf,vatenz,errfr,pnaaba,fgevpxynaq,gbjafraq,cbggre,tbbqjva,jnygba,ebjr,unzcgba,begrtn,cnggba,fjnafba,tbbqzna,znyqbanqb,lngrf,orpxre,revpxfba,ubqtrf,evbf,pbaare,nqxvaf,jrofgre,znybar,unzzbaq,sybjref,pboo,zbbql,dhvaa,cbcr,bfobear,zppnegul,threereb,rfgenqn,fnaqbiny,tvoof,tebff,svgmtrenyq,fgbxrf,qblyr,fnhaqref,jvfr,pbyba,tvyy,nyinenqb,terre,cnqvyyn,jngref,aharm,onyyneq,fpujnegm,zpoevqr,ubhfgba,puevfgrafra,xyrva,cengg,oevttf,cnefbaf,zpynhtuyva,mvzzrezna,serapu,ohpunana,zbena,pbcrynaq,cvggzna,oenql,zppbezvpx,ubyybjnl,oebpx,cbbyr,ybtna,onff,znefu,qenxr,jbat,wrssrefba,cnex,zbegba,noobgg,fcnexf,abegba,uhss,znffrl,svthrebn,pnefba,objref,eborefba,onegba,gena,ynzo,uneevatgba,obbar,pbegrm,pynexr,znguvf,fvatyrgba,jvyxvaf,pnva,haqrejbbq,ubtna,zpxramvr,pbyyvre,yhan,curycf,zpthver,oevqtrf,jvyxrefba,anfu,fhzzref,ngxvaf,jvypbk,cvggf,pbayrl,znedhrm,oheargg,pbpuena,punfr,qniracbeg,ubbq,tngrf,nlnyn,fnjlre,inmdhrm,qvpxrefba,ubqtr,npbfgn,sylaa,rfcvabmn,avpubyfba,zbaebr,zbeebj,juvgnxre,bpbaabe,fxvaare,jner,zbyvan,xveol,uhsszna,tvyzber,qbzvathrm,barny,ynat,pbzof,xenzre,unapbpx,tnyynture,tnvarf,funssre,fubeg,jvttvaf,zngurjf,zppynva,svfpure,jnyy,fznyy,zrygba,urafyrl,obaq,qlre,tevzrf,pbagerenf,jlngg,onkgre,fabj,zbfyrl,furcureq,ynefra,ubbire,ornfyrl,crgrefra,juvgrurnq,zrlref,tneevfba,fuvryqf,ubea,fnintr,byfra,fpuebrqre,unegzna,jbbqneq,zhryyre,xrzc,qryrba,obbgu,cngry,pnyubha,jvyrl,rngba,pyvar,anineeb,uneeryy,uhzcuerl,cneevfu,qhena,uhgpuvafba,urff,qbefrl,ohyybpx,eboyrf,orneq,qnygba,nivyn,evpu,oynpxjryy,lbex,wbuaf,oynaxrafuvc,gerivab,fnyvanf,pnzcbf,cehvgg,pnyynuna,zbagbln,uneqva,threen,zpqbjryy,fgnssbeq,tnyyrtbf,urafba,jvyxvafba,obbxre,zreevgg,ngxvafba,bee,qrpxre,uboof,gnaare,xabk,cnpurpb,fgrcurafba,tynff,ebwnf,freenab,znexf,uvpxzna,ratyvfu,fjrrarl,fgebat,zppyher,pbajnl,ebgu,znlaneq,sneeryy,ybjrel,uhefg,avkba,jrvff,gehwvyyb,ryyvfba,fybna,whnerm,jvagref,zpyrna,oblre,ivyyneerny,zppnyy,tragel,pneevyyb,nlref,ynen,frkgba,cnpr,uhyy,yroynap,oebjavat,irynfdhrm,yrnpu,punat,fryyref,ureevat,aboyr,sbyrl,onegyrgg,zrepnqb,ynaqel,qheunz,jnyyf,onee,zpxrr,onhre,eviref,oenqfunj,chtu,iryrm,ehfu,rfgrf,qbqfba,zbefr,furccneq,jrrxf,pnznpub,orna,oneeba,yvivatfgba,zvqqyrgba,fcrnef,oenapu,oyrivaf,pura,xree,zppbaaryy,ungsvryq,uneqvat,fbyvf,sebfg,tvyrf,oynpxohea,craavatgba,jbbqjneq,svayrl,zpvagbfu,xbpu,zpphyybhtu,oynapuneq,evinf,oeraana,zrwvn,xnar,oragba,ohpxyrl,inyragvar,znqqbk,ehffb,zpxavtug,ohpx,zbba,zpzvyyna,pebfol,oret,qbgfba,znlf,ebnpu,puhepu,puna,evpuzbaq,zrnqbjf,snhyxare,barvyy,xancc,xyvar,bpubn,wnpbofba,tnl,uraqevpxf,ubear,furcneq,uroreg,pneqranf,zpvagler,jnyyre,ubyzna,qbanyqfba,pnagh,zbeva,tvyyrfcvr,shragrf,gvyyzna,oragyrl,crpx,xrl,fnynf,ebyyvaf,tnzoyr,qvpxfba,onggyr,fnagnan,pnoeren,preinagrf,ubjr,uvagba,uheyrl,fcrapr,mnzben,lnat,zparvy,fhnerm,crggl,tbhyq,zpsneynaq,fnzcfba,pneire,oenl,znpqbanyq,fgbhg,urfgre,zryraqrm,qvyyba,sneyrl,ubccre,tnyybjnl,cbggf,wblare,fgrva,nthveer,bfobea,zrepre,oraqre,senapb,ebjynaq,flxrf,cvpxrgg,frnef,znlb,qhaync,unlqra,jvyqre,zpxnl,pbssrl,zppnegl,rjvat,pbbyrl,inhtuna,obaare,pbggba,ubyqre,fgnex,sreeryy,pnageryy,shygba,ybgg,pnyqreba,cbyyneq,ubbcre,ohepu,zhyyra,sel,evqqyr,yril,bqbaaryy,oevgg,qnhturegl,oretre,qvyyneq,nyfgba,selr,evttf,punarl,bqbz,qhssl,svgmcngevpx,inyramhryn,znlre,nysbeq,zpcurefba,nprirqb,oneeren,pbgr,ervyyl,pbzcgba,zbbarl,zptbjna,pensg,pyrzbaf,jlaa,avryfra,onveq,fgnagba,favqre,ebfnyrf,oevtug,jvgg,unlf,ubyqra,ehgyrqtr,xvaarl,pyrzragf,pnfgnarqn,fyngre,unua,ohexf,qrynarl,cngr,ynapnfgre,funecr,juvgsvryq,gnyyrl,znpvnf,oheevf,engyvss,zppenl,znqqra,xnhszna,tbss,pnfu,obygba,zpsnqqra,yrivar,olref,xvexynaq,xvqq,jbexzna,pnearl,zpyrbq,ubypbzo,ratynaq,svapu,fbfn,unarl,senaxf,fnetrag,avrirf,qbjaf,enfzhffra,oveq,urjvgg,sberzna,inyrapvn,barvy,qrynpehm,ivafba,qrwrfhf,ulqr,sbeorf,tvyyvnz,thguevr,jbbgra,uhore,oneybj,oblyr,zpznuba,ohpxare,ebpun,chpxrgg,ynatyrl,xabjyrf,pbbxr,irynmdhrm,juvgyrl,inat,furn,ebhfr,unegyrl,znlsvryq,ryqre,enaxva,unaan,pbjna,yhpreb,neeblb,fynhtugre,unnf,bpbaaryy,zvabe,obhpure,nepure,obttf,qbhturegl,naqrefra,arjryy,pebjr,jnat,sevrqzna,oynaq,fjnva,ubyyrl,crnepr,puvyqf,lneoebhtu,tnyina,cebpgbe,zrrxf,ybmnab,zben,enatry,onpba,ivyynahrin,fpunrsre,ebfnqb,uryzf,oblpr,tbff,fgvafba,ynxr,voneen,uhgpuvaf,pbivatgba,pebjyrl,ungpure,znpxrl,ohapu,jbznpx,cbyx,qbqq,puvyqerff,puvyqref,pnzc,ivyyn,qlr,fcevatre,znubarl,qnvyrl,orypure,ybpxuneg,tevttf,pbfgn,oenaqg,jnyqra,zbfre,gnghz,zppnaa,nxref,yhgm,celbe,bebmpb,zpnyyvfgre,yhtb,qnivrf,fubrznxre,ehguresbeq,arjfbzr,zntrr,punzoreynva,oynagba,fvzzf,tbqserl,synantna,pehz,pbeqbin,rfpbone,qbjavat,fvapynve,qbanuhr,xehrtre,zptvaavf,tber,sneevf,jroore,pbeorgg,naqenqr,fgnee,ylba,lbqre,unfgvatf,zptengu,fcvirl,xenhfr,uneqra,penogerr,xvexcngevpx,neevatgba,evggre,zpturr,obyqra,znybarl,tntaba,qhaone,cbapr,cvxr,znlrf,ornggl,zboyrl,xvzonyy,ohggf,zbagrf,ryqevqtr,oenha,unzz,tvoobaf,zblre,znayrl,ureeba,cyhzzre,ryzber,penzre,ehpxre,cvrefba,sbagrabg,svryq,ehovb,tbyqfgrva,ryxvaf,jvyyf,abinx,uvpxrl,jbeyrl,tbezna,xngm,qvpxvafba,oebhffneq,jbbqehss,pebj,oevggba,anapr,yruzna,ovatunz,mhavtn,junyrl,funsre,pbsszna,fgrjneq,qrynebfn,avk,arryl,zngn,qnivyn,zppnor,xrffyre,uvaxyr,jryfu,cntna,tbyqoret,tbvaf,pebhpu,phrinf,dhvabarf,zpqrezbgg,uraqevpxfba,fnzhryf,qragba,oretreba,ynz,virl,ybpxr,unvarf,faryy,ubfxvaf,olear,nevnf,ebr,pbeova,orygena,punccryy,qbjarl,qbbyrl,ghggyr,pbhpu,cnlgba,zpryebl,pebpxrgg,tebirf,pnegjevtug,qvpxrl,zptvyy,qhobvf,zhavm,gbyoreg,qrzcfrl,pvfarebf,frjryy,yngunz,ivtvy,gncvn,envarl,abejbbq,fgebhq,zrnqr,gvcgba,xhua,uvyyvneq,obavyyn,grnthr,thaa,terrajbbq,pbeern,errpr,cbr,cvarqn,cuvccf,serl,xnvfre,nzrf,thagre,fpuzvgg,zvyyvtna,rfcvabfn,objqra,ivpxref,ybjel,cevgpuneq,pbfgryyb,cvcre,zppyryyna,ybiryy,furruna,ungpu,qbofba,fvatu,wrssevrf,ubyyvatfjbegu,fberafra,zrmn,svax,qbaaryyl,oheeryy,gbzyvafba,pbyoreg,ovyyvatf,evgpuvr,urygba,fhgureynaq,crbcyrf,zpdhrra,gubznfba,tviraf,pebpxre,ibtry,ebovfba,qhaunz,pbxre,fjnegm,xrlf,ynqare,evpugre,unetebir,rqzbaqf,oenagyrl,nyoevtug,zheqbpx,obfjryy,zhyyre,dhvagreb,cnqtrgg,xraarl,qnyl,pbaabyyl,vazna,dhvagnan,yhaq,oneaneq,ivyyrtnf,fvzbaf,ynaq,uhttvaf,gvqjryy,fnaqrefba,ohyyneq,zppyraqba,qhnegr,qencre,zneereb,qjlre,noenzf,fgbire,tbbqr,senfre,perjf,oreany,tbqjva,pbaxyva,zparny,onpn,rfcnemn,pebjqre,objre,oerjfgre,zparvyy,ebqevthrf,yrny,pbngrf,envarf,zppnva,zppbeq,zvare,ubyoebbx,fjvsg,qhxrf,pneyvfyr,nyqevqtr,npxrezna,fgnexf,evpxf,ubyyvqnl,sreevf,unvefgba,furssvryq,ynatr,sbhagnva,qbff,orggf,xncyna,pnezvpunry,oybbz,ehssva,craa,xrea,objyrf,fvmrzber,ynexva,qhcerr,frnyf,zrgpnys,uhgpuvfba,urayrl,snee,zppnhyrl,unaxvaf,thfgnsfba,pheena,nfu,jnqqryy,enzrl,pngrf,cbyybpx,phzzvaf,zrffre,uryyre,yva,shax,pbeargg,cnynpvbf,tnyvaqb,pnab,ungunjnl,fvatre,cunz,raevdhrm,fnytnqb,cryyrgvre,cnvagre,jvfrzna,oybhag,sryvpvnab,grzcyr,ubhfre,qburegl,zrnq,zptenj,fjna,pnccf,oynapb,oynpxzba,gubzfba,zpznahf,ohexrgg,cbfg,tyrnfba,bgg,qvpxraf,pbezvre,ibff,ehfuvat,ebfraoret,uheq,qhznf,oravgrm,neryynab,zneva,pnhqvyy,oentt,wnenzvyyb,uhregn,tvcfba,pbyiva,ovttf,iryn,cyngg,pnffvql,gbzcxvaf,zppbyyhz,qbyna,qnyrl,pehzc,farrq,xvytber,tebir,tevzz,qnivfba,oehafba,cengre,znephz,qrivar,fgenggba,ebfnf,pubv,gevcc,yrqorggre,uvtugbjre,sryqzna,rccf,lrntre,cbfrl,fpehttf,pbcr,fghoof,evpurl,biregba,gebggre,fcenthr,pbeqreb,ohgpure,fgvyrf,ohetbf,jbbqfba,ubeare,onffrgg,chepryy,unfxvaf,nxvaf,mvrtyre,fcnhyqvat,unqyrl,tehoof,fhzare,zhevyyb,mninyn,fubbx,ybpxjbbq,qevfpbyy,qnuy,gubecr,erqzbaq,chganz,zpjvyyvnzf,zpenr,ebznab,wbvare,fnqyre,urqevpx,untre,untra,svgpu,pbhygre,gunpxre,znafsvryq,ynatfgba,thvqel,sreerven,pbeyrl,pbaa,ebffv,ynpxrl,onrm,fnram,zpanznen,zpzhyyra,zpxraan,zpqbabhtu,yvax,ratry,oebjar,ebcre,crnpbpx,rhonaxf,qehzzbaq,fgevatre,cevgpurgg,cneunz,zvzf,ynaqref,unz,tenlfba,fpunsre,rtna,gvzzbaf,bunen,xrra,unzyva,svaa,pbegrf,zpanve,anqrnh,zbfryrl,zvpunhq,ebfra,bnxrf,xhegm,wrssref,pnyybjnl,orny,onhgvfgn,jvaa,fhttf,fgrea,fgncyrgba,ylyrf,ynveq,zbagnab,qnjxvaf,untna,tbyqzna,oelfba,onenwnf,ybirgg,frthen,zrgm,ybpxrgg,ynatsbeq,uvafba,rnfgzna,ubbxf,fznyyjbbq,funcveb,pebjryy,junyra,gevcyrgg,pungzna,nyqevpu,pnuvyy,lbhatoybbq,loneen,fgnyyvatf,furrgf,errqre,pbaaryyl,ongrzna,noreangul,jvaxyre,jvyxrf,znfgref,unpxrgg,tenatre,tvyyvf,fpuzvgm,fncc,ancvre,fbhmn,ynavre,tbzrf,jrve,bgreb,yrqsbeq,oheebhtuf,onopbpx,iraghen,fvrtry,qhtna,oyrqfbr,ngjbbq,jenl,ineare,fcnatyre,nanln,fgnyrl,xensg,sbheavre,orynatre,jbyss,gubear,olahz,ohearggr,oblxva,fjrafba,cheivf,cvan,xuna,qhinyy,qneol,kvbat,xnhsszna,urnyl,ratyr,orabvg,inyyr,fgrvare,fcvpre,funire,enaqyr,yhaql,qbj,puva,pnyireg,fgngba,arss,xrnearl,qneqra,bnxyrl,zrqrvebf,zppenpxra,perafunj,oybpx,creqhr,qvyy,juvggnxre,gbova,jnfuohea,ubthr,tbbqevpu,rnfyrl,oenib,qraavfba,fuvcyrl,xreaf,wbetrafra,penva,ivyynybobf,znhere,ybatbevn,xrrar,pbba,jvgurefcbba,fgncyrf,crggvg,xvapnvq,rnfba,znqevq,rpubyf,yhfx,fgnuy,pheevr,gunlre,fuhygm,zpanyyl,frnl,abegu,znure,tntar,oneebj,anin,zberynaq,ubarlphgg,urnea,qvttf,pneba,juvggra,jrfgoebbx,fgbinyy,entynaq,zhafba,zrvre,ybbarl,xvzoyr,wbyyl,ubofba,tbqqneq,phyire,ohee,cerfyrl,arteba,pbaaryy,gbine,uhqqyrfgba,nfuol,fnygre,ebbg,craqyrgba,byrnel,avpxrefba,zlevpx,whqq,wnpbofra,onva,nqnve,fgnearf,zngbf,ohfol,ureaqba,unayrl,oryynzl,qbgl,onegyrl,lnmmvr,ebjryy,cnefba,tvssbeq,phyyra,puevfgvnafra,oranivqrf,oneauneg,gnyobg,zbpx,penaqnyy,pbaabef,obaqf,juvgg,tntr,oretzna,neerqbaqb,nqqvfba,yhwna,qbjql,wreavtna,uhlau,obhpuneq,qhggba,eubnqrf,bhryyrggr,xvfre,ureevatgba,uner,oynpxzna,onoo,nyyerq,ehqq,cnhyfba,btqra,xbravt,trvtre,ortnl,cneen,ynffvgre,unjx,rfcbfvgb,pub,jnyqeba,enafbz,cengure,punpba,ivpx,fnaqf,ebnex,cnee,znloreel,terraoret,pbyrl,oehare,juvgzna,fxnttf,fuvczna,yrnel,uhggba,ebzb,zrqenab,ynqq,xehfr,nfxrj,fpuhym,nysneb,gnobe,zbue,tnyyb,orezhqrm,crerven,oyvff,ernirf,syvag,pbzre,jbbqnyy,andhva,thrinen,qrybat,pneevre,cvpxraf,oenaq,gvyyrl,fpunssre,yvz,xahgfba,sragba,qbena,puh,ibtg,inaa,cerfpbgg,zpynva,ynaqvf,pbepbena,mncngn,ulngg,urzcuvyy,snhyx,qbir,obhqernhk,nentba,juvgybpx,gerwb,gnpxrgg,furnere,fnyqnan,unaxf,zpxvaaba,xbruyre,obhetrbvf,xrlrf,tbbqfba,sbbgr,yhafsbeq,tbyqfzvgu,sybbq,jvafybj,fnzf,erntna,zppybhq,ubhtu,rfdhviry,anlybe,ybbzvf,pbebanqb,yhqjvt,oenfjryy,orneqra,sntna,rmryy,rqzbaqfba,ple,pebava,ahaa,yrzba,thvyybel,tevre,qhobfr,genlybe,elqre,qboovaf,pblyr,ncbagr,juvgzber,fznyyf,ebjna,znyybl,pneqban,oenkgba,obeqra,uhzcuevrf,pneenfpb,ehss,zrgmtre,uhagyrl,uvabwbfn,svaarl,znqfra,uvyyf,reafg,qbmvre,ohexuneg,objfre,crenygn,qnvtyr,juvggvatgba,fberafba,fnhprqb,ebpur,erqqvat,shtngr,ninybf,jnvgr,yvaq,uhfgba,unl,unjgubear,unzol,oblyrf,obyrf,ertna,snhfg,pebbx,ornz,onetre,uvaqf,tnyyneqb,jvyybhtuol,jvyyvatunz,rpxreg,ohfpu,mrcrqn,jbeguvatgba,gvafyrl,ubss,unjyrl,pnezban,ineryn,erpgbe,arjpbzo,xvafrl,qhor,jungyrl,entfqnyr,oreafgrva,orpreen,lbfg,znggfba,sryqre,purrx,unaql,tebffzna,tnhguvre,rfpborqb,oenqra,orpxzna,zbgg,uvyyzna,synuregl,qlxrf,qbr,fgbpxgba,fgrneaf,ybsgba,pbngf,pninmbf,orniref,oneevbf,cnevfu,zbfure,pneqjryy,pbyrf,oheaunz,jryyre,yrzbaf,orror,nthvyren,cnearyy,unezna,pbhgher,nyyrl,fpuhznpure,erqq,qboof,oyhz,oynybpx,zrepunag,raavf,qrafba,pbggeryy,oenaaba,ontyrl,nivyrf,jngg,fbhfn,ebfraguny,ebbarl,qvrgm,oynax,cndhrggr,zppyryynaq,qhss,irynfpb,yragm,tehoo,oheebjf,oneobhe,hyevpu,fubpxyrl,enqre,orlre,zvkba,ynlgba,nygzna,jrnguref,fgbare,fdhverf,fuvcc,cevrfg,yvcfpbzo,phgyre,pnonyyreb,mvzzre,jvyyrgg,guhefgba,fgberl,zrqyrl,rccrefba,funu,zpzvyyvna,onttrgg,gbeerm,ynjf,uvefpu,qrag,cbvevre,crnpurl,sneene,perrpu,onegu,gevzoyr,qhcer,nyoerpug,fnzcyr,ynjyre,pevfc,pbaebl,jrgmry,arfovgg,zheel,wnzrfba,jvyuryz,cnggra,zvagba,zngfba,xvzoebhtu,virefba,thvaa,pebsg,gbgu,chyyvnz,ahtrag,arjol,yvggyrwbua,qvnf,pnanyrf,oreavre,oneba,fvatyrgnel,eragrevn,cehrgg,zpuhtu,znoel,ynaqehz,oebjre,fgbqqneq,pntyr,fgwbua,fpnyrf,xbuyre,xryybtt,ubcfba,tnag,gunec,tnaa,mrvtyre,cevatyr,unzzbaf,snvepuvyq,qrngba,punivf,pnearf,ebjyrl,zngybpx,xrneaf,vevmneel,pneevatgba,fgnexrl,ybcrf,wneeryy,penira,onhz,fcnva,yvggyrsvryq,yvaa,uhzcuerlf,rgurevqtr,phryyne,punfgnva,ohaql,fcrre,fxrygba,dhvebm,clyr,cbegvyyb,cbaqre,zbhygba,znpunqb,yvh,xvyyvna,uhgfba,uvgpupbpx,qbjyvat,pybhq,oheqvpx,fcnaa,crqrefra,yriva,yrttrgg,unljneq,unpxre,qvrgevpu,ornhyvrh,onexfqnyr,jnxrsvryq,fabjqra,oevfpbr,objvr,orezna,btyr,zptertbe,ynhtuyva,uryz,oheqra,jurngyrl,fpuervore,cerffyrl,cneevf,nynavm,ntrr,heona,fjnaa,fabqtenff,fpuhfgre,enqsbeq,zbax,znggvatyl,unec,tveneq,purarl,lnaprl,jntbare,evqyrl,ybzoneqb,ynh,uhqtvaf,tnfxvaf,qhpxjbegu,pbr,pbohea,jvyyrl,cenqb,arjoreel,zntnan,unzzbaqf,rynz,juvccyr,fynqr,frean,bwrqn,yvyrf,qbezna,qvruy,hcgba,erneqba,zvpunryf,tbrgm,ryyre,onhzna,onre,ynlar,uhzzry,oeraare,nznln,nqnzfba,bearynf,qbjryy,pybhgvre,pnfgryynabf,jvat,jryyzna,fnlybe,bebhexr,zbln,zbagnyib,xvycngevpx,qheova,furyy,byqunz,tneiva,sbff,oenaunz,onegubybzrj,grzcyrgba,znthver,ubygba,evqre,zbanuna,zppbeznpx,orngl,naqref,fgerrgre,avrgb,avryfba,zbssrgg,ynaxsbeq,xrngvat,urpx,tngyva,qryngbeer,pnyynjnl,nqpbpx,jbeeryy,hatre,ebovarggr,abjnx,wrgre,oehaare,fgrra,cneebgg,birefgerrg,aboyrf,zbagnarm,pyriratre,oevaxyrl,genuna,dhneyrf,cvpxrevat,crqrefba,wnafra,tenagunz,tvypuevfg,perfcb,nvxra,fpuryy,fpunrssre,yberam,yrlin,unezf,qlfba,jnyyvf,crnfr,yrnivgg,pninanhtu,onggf,jneqra,frnzna,ebpxjryy,dhrmnqn,cnkgba,yvaqre,ubhpx,sbagnvar,qhenag,pnehfb,nqyre,cvzragry,zvmr,ylgyr,pyrnel,pnfba,npxre,fjvgmre,vfnnpf,uvttvaobgunz,una,jngrezna,inaqlxr,fgnzcre,fvfx,fuhyre,evqqvpx,zpznuna,yrirfdhr,unggba,oebafba,obyyvatre,neargg,bxrrsr,treore,tnaaba,sneafjbegu,onhtuzna,fvyirezna,fnggresvryq,zppenel,xbjnyfxv,tevtfol,terpb,pnoeny,gebhg,evaruneg,znuba,yvagba,tbbqra,pheyrl,onhtu,jlzna,jrvare,fpujno,fpuhyre,zbeevffrl,znuna,ohaa,guenfure,fcrne,jnttbare,dhnyyf,cheql,zpjubegre,znhyqva,tvyzna,creelzna,arjfbz,zraneq,znegvab,tens,ovyyvatfyrl,negvf,fvzcxvaf,fnyvfohel,dhvagnavyyn,tvyyvynaq,senyrl,sbhfg,pebhfr,fpneobebhtu,atb,tevffbz,shygm,zneybj,znexunz,znqevtny,ynjgba,onesvryq,juvgvat,inearl,fpujnem,tbbpu,nepr,jurng,gehbat,cbhyva,uhegnqb,fryol,tnvgure,sbegare,phycrccre,pbhtuyva,oevafba,obhqernh,onexyrl,onyrf,fgrcc,ubyz,gna,fpuvyyvat,zbeeryy,xnua,urngba,tnzrm,pnhfrl,ghecva,funaxf,fpuenqre,zrrx,vfbz,uneqvfba,pneenamn,lnarm,fpebttvaf,fpubsvryq,ehalba,engpyvss,zheeryy,zbryyre,veol,pheevre,ohggresvryq,lrr,enyfgba,chyyra,cvafba,rfgrc,pneobar,unjxf,ryyvatgba,pnfvyynf,fcheybpx,fvxrf,zbgyrl,zppnegarl,xehtre,vforyy,ubhyr,ohex,gbzyva,dhvtyrl,arhznaa,ybirynpr,sraaryy,purngunz,ohfgnznagr,fxvqzber,uvqnytb,sbezna,phyc,objraf,orgnapbheg,ndhvab,eboo,ern,zvyare,znegry,terfunz,jvyrf,evpxrggf,qbjq,pbyynmb,obfgvp,oynxryl,fureebq,xralba,tnaql,roreg,qrybnpu,nyyneq,fnhre,ebovaf,byvinerf,tvyyrggr,purfgahg,obhedhr,cnvar,uvgr,unhfre,qriber,penjyrl,puncn,gnyoreg,cbvaqrkgre,zrnqbe,zpqhssvr,znggbk,xenhf,unexvaf,pubngr,jera,fyrqtr,fnaobea,xvaqre,trnel,pbeajryy,onepynl,noarl,frjneq,eubnqf,ubjynaq,sbegvre,oraare,ivarf,ghoof,gebhgzna,encc,zppheql,qryhpn,jrfgzberynaq,uniraf,thnwneqb,ryl,pynel,frny,zrruna,urembt,thvyyra,nfupensg,jnhtu,eraare,zvynz,ryebq,puhepuvyy,oernhk,obyva,nfure,jvaqunz,gvenqb,crzoregba,abyra,abynaq,xabgg,rzzbaf,pbeavfu,puevfgrafba,oebjayrr,oneorr,jnyqebc,cvgg,byiren,ybzoneqv,tehore,tnssarl,rttyrfgba,onaqn,nepuhyrgn,fybar,cerjvgg,csrvssre,arggyrf,zran,zpnqnzf,uraavat,tneqvare,pebzjryy,puvfubyz,oheyrfba,irfg,btyrfol,zppnegre,yhzcxva,terl,jbssbeq,inaubea,gubea,grry,fjnssbeq,fgpynve,fgnasvryq,bpnzcb,ureeznaa,unaaba,nefranhyg,ebhfu,zpnyvfgre,uvngg,thaqrefba,sbeflgur,qhttna,qryinyyr,pvageba,jvyxf,jrvafgrva,hevor,evmmb,ablrf,zpyraqba,theyrl,orgurn,jvafgrnq,zncyrf,thlgba,tvbeqnab,nyqrezna,inyqrf,cbynapb,cnccnf,yviryl,tebtna,tevssvguf,nerinyb,juvgfba,fbjryy,eraqba,sreanaqrf,sneebj,oranivqrm,nlerf,nyvprn,fghzc,fznyyrl,frvgm,fpuhygr,tvyyrl,tnyynag,pnasvryq,jbysbeq,bznyyrl,zpahgg,zpahygl,zptbirea,uneqzna,uneova,pbjneg,punineevn,oevax,orpxrgg,ontjryy,nezfgrnq,natyva,noerh,erlabfb,xerof,wrgg,ubssznaa,terrasvryq,sbegr,ohearl,oebbzr,fvffba,genzzryy,cnegevqtr,znpr,ybznk,yrzvrhk,tbffrgg,senagm,sbtyr,pbbarl,oebhtugba,crapr,cnhyfra,zhapl,zpneguhe,ubyyvaf,ornhpunzc,jvguref,bfbevb,zhyyvtna,ublyr,sbl,qbpxrel,pbpxeryy,ortyrl,nznqbe,ebol,envaf,yvaqdhvfg,tragvyr,rireuneg,obunaaba,jlyvr,fbzzref,chearyy,sbegva,qhaavat,oerrqra,invy,curyna,cuna,znek,pbfol,pbyohea,obyvat,ovqqyr,yrqrfzn,tnqqvf,qraarl,pubj,ohrab,oreevbf,jvpxre,gbyyvire,guvobqrnhk,antyr,ynibvr,svfx,pevfg,oneobfn,errql,znepu,ybpxyrne,xbyo,uvzrf,orueraf,orpxjvgu,jrrzf,jnuy,fubegre,funpxrysbeq,errf,zhfr,preqn,inynqrm,guvobqrnh,fnnirqen,evqtrjnl,ervgre,zpurael,znwbef,ynpunapr,xrngba,sreenen,pyrzraf,oybpxre,nccyrtngr,cnm,arrqunz,zbwvpn,xhlxraqnyy,unzry,rfpnzvyyn,qbhtugl,ohepurgg,nvafjbegu,ivqny,hcpuhepu,guvtcra,fgenhff,fcehvyy,fbjref,evttvaf,evpxre,zppbzof,uneybj,ohssvatgba,fbgryb,byvinf,artergr,zberl,znpba,ybtfqba,yncbvagr,ovtrybj,oryyb,jrfgsnyy,fghooyrsvryq,crnx,yvaqyrl,urva,unjrf,sneevatgba,oerra,ovepu,jvyqr,fgrrq,frchyirqn,ervauneqg,cebssvgg,zvagre,zrffvan,zpanoo,znvre,xrryre,tnzobn,qbabuhr,onfunz,fuvaa,pebbxf,pbgn,obeqref,ovyyf,onpuzna,gvfqnyr,gninerf,fpuzvq,cvpxneq,thyyrl,sbafrpn,qrybffnagbf,pbaqba,ongvfgn,jvpxf,jnqfjbegu,znegryy,yvggyrgba,vfba,unnt,sbyfbz,oehzsvryq,oeblyrf,oevgb,zveryrf,zpqbaaryy,yrpynve,unzoyva,tbhtu,snaavat,ovaqre,jvasvryq,juvgjbegu,fbevnab,cnyhzob,arjxvex,znathz,uhgpurefba,pbzfgbpx,pneyva,ornyy,onve,jraqg,jnggref,jnyyvat,chgzna,bgbbyr,zbeyrl,znerf,yrzhf,xrrare,uhaqyrl,qvny,qnzvpb,ovyyhcf,fgebgure,zpsneynar,ynzz,rnirf,pehgpure,pnenonyyb,pnagl,ngjryy,gnsg,fvyre,ehfg,enjyf,enjyvatf,cevrgb,zparryl,zpnsrr,uhyfrl,unpxarl,tnyirm,rfpnynagr,qryntnemn,pevqre,puneygba,onaql,jvyonaxf,fgbjr,fgrvaoret,eraseb,znfgrefba,znffvr,ynaunz,unfxryy,unzevpx,sbeg,qruneg,oheqrggr,oenafba,obhear,onova,nyrzna,jbegul,gvoof,fzbbg,fynpx,cnenqvf,zhyy,yhpr,ubhtugba,tnagg,shezna,qnaare,puevfgvnafba,ohetr,nfusbeq,neaqg,nyzrvqn,fgnyyjbegu,funqr,frnepl,fntre,abbana,zpyrzber,zpvagver,znkrl,ynivtar,wbor,sreere,snyx,pbssva,olearf,nenaqn,ncbqnpn,fgnzcf,ebhaqf,crrx,byzfgrnq,yrjnaqbjfxv,xnzvafxv,qhanjnl,oehaf,oenpxrgg,nzngb,ervpu,zppyhat,ynpebvk,xbbagm,ureevpx,uneqrfgl,synaqref,pbhfvaf,pngb,pnqr,ivpxrel,funax,antry,qhchvf,pebgrnh,pbggre,pnoyr,fghpxrl,fgvar,cbegresvryq,cnhyrl,alr,zbssvgg,xahqfra,uneqjvpx,tbsbegu,qhcbag,oyhag,oneebjf,oneauvyy,fuhyy,enfu,ybsgvf,yrznl,xvgpuraf,ubeingu,teravre,shpuf,snveonaxf,phyoregfba,pnyxvaf,oheafvqr,ornggvr,nfujbegu,nyoregfba,jregm,inhtug,inyyrwb,ghex,ghpx,gvwrevan,fntr,crgrezna,zneebdhva,znee,ynagm,ubnat,qrznepb,qnvyl,pbar,orehor,onearggr,junegba,fgvaargg,fybphz,fpnayba,fnaqre,cvagb,znaphfb,yvzn,urnqyrl,rcfgrva,pbhagf,pynexfba,pneanuna,obera,negrntn,nqnzr,mbbx,juvggyr,juvgruhefg,jramry,fnkgba,erqqvpx,chragr,unaqyrl,unttregl,rneyrl,qriyva,punssva,pnql,nphan,fbynab,fvtyre,cbyynpx,craqretenff,bfgenaqre,wnarf,senapbvf,pehgpusvryq,punzoreyva,oehonxre,oncgvfgr,jvyyfba,ervf,arryrl,zhyyva,zrepvre,yven,ynlzna,xrryvat,uvtqba,rfcvany,puncva,jnesvryq,gbyrqb,chyvqb,crroyrf,antl,zbagnthr,zryyb,yrne,wnrtre,ubtt,tenss,shee,fbyvm,cbber,zraqraunyy,zpynheva,znrfgnf,tnoyr,oneenmn,gvyyrel,farnq,cbaq,arvyy,zpphyybpu,zppbexyr,yvtugsbbg,uhgpuvatf,ubyybzna,unearff,qbea,pbhapvy,obpx,mvryvafxv,gheyrl,gernqjryy,fgcvreer,fgneyvat,fbzref,bfjnyq,zreevpx,rnfgreyvat,oviraf,gehvgg,cbfgba,cneel,bagvirebf,byvinerm,zbernh,zrqyva,yram,xabjygba,snveyrl,pboof,puvfbyz,onaavfgre,jbbqjbegu,gbyre,bpnfvb,abevrtn,arhzna,zblr,zvyohea,zppynanuna,yvyyrl,unarf,synaarel,qryyvatre,qnavryfba,pbagv,oybqtrgg,orref,jrnguresbeq,fgenva,xnee,uvgg,qraunz,phfgre,pboyr,pybhtu,pnfgrry,obyqhp,ongpurybe,nzzbaf,juvgybj,gvrearl,fgngra,fvoyrl,frvsreg,fpuhoreg,fnyprqb,znggvfba,ynarl,unttneq,tebbzf,qvk,qrrf,pebzre,pbbxf,pbyfba,pnfjryy,mnengr,fjvfure,fuva,entna,cevqtra,zpirl,zngural,ynsyrhe,senam,sreeneb,qhttre,juvgrfvqr,evtfol,zpzheenl,yruznaa,wnpbol,uvyqroenaq,uraqevpx,urnqevpx,tbnq,svapure,qehel,obetrf,nepuvonyq,nyoref,jbbqpbpx,gencc,fbnerf,frngba,zbafba,yhpxrgg,yvaqoret,xbcc,xrrgba,ufh,urnyrl,tneirl,tnqql,snva,ohepusvryq,jragjbegu,fgenaq,fgnpx,fcbbare,fnhpvre,fnyrf,evppv,cyhaxrgg,cnaaryy,arff,yrtre,ubl,servgnf,sbat,ryvmbaqb,qhiny,ornhqbva,heovan,evpxneq,cnegva,zbr,zpterj,zppyvagbpx,yrqbhk,sbeflgu,snvfba,qrievrf,oregenaq,jnffba,gvygba,fpneoebhtu,yrhat,veivar,tneore,qraavat,pbeeny,pbyyrl,pnfgyroreel,objyva,obtna,ornyr,onvarf,gevpr,enlohea,cnexvafba,cnx,aharf,zpzvyyra,yrnul,xvzzry,uvttf,shyzre,pneqra,orqsbeq,gnttneg,fcrnezna,ertvfgre,cevpuneq,zbeevyy,xbbapr,urvam,urqtrf,thragure,tevpr,svaqyrl,qbire,pervtugba,obbgur,onlre,neerbyn,ivgnyr,inyyrf,enarl,bftbbq,unayba,oheyrl,obhaqf,jbeqra,jrngureyl,irggre,gnanxn,fgvygare,arinerm,zbfol,zbagreb,zrynapba,unegre,unzre,tboyr,tynqqra,tvfg,tvaa,nxva,mnentbmn,gbjaf,gneire,fnzzbaf,eblfgre,bervyyl,zhve,zberurnq,yhfgre,xvatfyrl,xryfb,tevfunz,tylaa,onhznaa,nyirf,lbhag,gnznlb,cngrefba,bngrf,zraraqrm,ybatb,unetvf,tvyyra,qrfnagvf,oerrqybir,fhzcgre,fpurere,ehcc,ervpureg,urerqvn,perry,pbua,pyrzzbaf,pnfnf,ovpxsbeq,orygba,onpu,jvyyvsbeq,juvgpbzo,graanag,fhggre,fghyy,frffvbaf,zppnyyhz,ynatybvf,xrry,xrrtna,qnatryb,qnapl,qnzeba,pyncc,pynagba,onaxfgba,byvirven,zvagm,zpvaavf,znegraf,znor,ynfgre,wbyyrl,uvyqergu,ursare,tynfre,qhpxrgg,qrzref,oebpxzna,oynvf,nypbea,ntarj,gbyvire,gvpr,frryrl,anwren,zhffre,zpsnyy,yncynagr,tnyiva,snwneqb,qbna,pblar,pbcyrl,pynjfba,purhat,onebar,jlaar,jbbqyrl,gerzoynl,fgbyy,fcneebj,fcnexzna,fpujrvgmre,fnffre,fnzcyrf,ebarl,yrtt,urvz,snevnf,pbyjryy,puevfgzna,oengpure,jvapurfgre,hcfunj,fbhgureynaq,fbeeryy,fryyf,zbhag,zppybfxrl,znegvaqnyr,yhggeryy,ybiryrff,ybirwbl,yvanerf,yngvzre,rzoel,pbbzof,oenggba,obfgvpx,iranoyr,ghttyr,gbeb,fgnttf,fnaqyva,wrssrevrf,urpxzna,tevssvf,penlgba,pyrz,oebjqre,gubegba,fghetvyy,fcebhfr,eblre,ebhffrnh,evqrabhe,cbthr,crenyrf,crrcyrf,zrgmyre,zrfn,zpphgpurba,zporr,ubeafol,urssare,pbeevtna,nezvwb,ihr,cynagr,crlgba,cnerqrf,znpxyva,uhffrl,ubqtfba,tenanqbf,sevnf,orpary,onggra,nyznamn,ghearl,grny,fghetrba,zrrxre,zpqnavryf,yvzba,xrrarl,xrr,uhggb,ubythva,tbeunz,svfuzna,svreeb,oynapurggr,ebqevthr,erqql,bfohea,bqra,yrezn,xvexjbbq,xrrsre,unhtra,unzzrgg,punyzref,oevaxzna,onhztnegare,inyrevb,gryyrm,fgrssra,fuhzngr,fnhyf,evcyrl,xrzcre,wnpxf,thssrl,riref,penqqbpx,pneinyub,oynlybpx,onahrybf,onyqrenf,jbbqra,jurngba,gheaohyy,fuhzna,cbvagre,zbfvre,zpphr,yvtba,xbmybjfxv,wbunafra,vatyr,uree,oevbarf,favcrf,evpxzna,cvcxva,cnagbwn,bebfpb,zbavm,ynjyrff,xhaxry,uvooneq,tnynemn,rabf,ohffrl,fpubgg,fnypvqb,creernhyg,zpqbhtny,zppbby,unvtug,tneevf,sreel,rnfgba,pbalref,nguregba,jvzoreyl,hgyrl,fcryyzna,fzvgufba,fyntyr,evgpurl,enaq,crgvg,bfhyyvina,bnxf,ahgg,zpinl,zppernel,znlurj,xabyy,wrjrgg,unejbbq,pneqbmn,nfur,neevntn,mryyre,jvegu,juvgzver,fgnhssre,ebhagerr,erqqra,zppnsserl,znegm,ynebfr,ynatqba,uhzrf,tnfxva,snore,qrivgb,pnff,nyzbaq,jvatsvryq,jvatngr,ivyynerny,glare,fzbguref,frirefba,erab,craaryy,znhcva,yrvtugba,wnaffra,unffryy,unyyzna,unypbzo,sbyfr,svgmfvzzbaf,snurl,penasbeq,obyra,onggyrf,onggntyvn,jbbyqevqtr,genfx,ebffre,ertnynqb,zprjra,xrrsr,shdhn,rpurineevn,pneb,oblagba,naqehf,ivren,inazrgre,gnore,fcenqyva,frvoreg,cebibfg,ceragvpr,byvcunag,yncbegr,ujnat,ungpurgg,unff,tervare,serrqzna,pbireg,puvygba,olnef,jvrfr,irartnf,fjnax,fuenqre,eboretr,zhyyvf,zbegrafra,zpphar,zneybjr,xvepuare,xrpx,vfnnpfba,ubfgrgyre,unyirefba,thagure,tevfjbyq,sraare,qheqra,oynpxjbbq,nueraf,fnjlref,fnibl,anobef,zpfjnva,znpxnl,ybl,yniraqre,ynfu,ynoor,wrffhc,shyyregba,pehfr,pevggraqra,pbeervn,pragrab,pnhqyr,pnanql,pnyyraqre,nynepba,nurea,jvaserl,gevooyr,fglyrf,fnyyrl,ebqra,zhftebir,zvaavpx,sbegraoreel,pneevba,ohagvat,ongvfgr,juvgrq,haqreuvyy,fgvyyjryy,enhpu,cvccva,creeva,zrffratre,znapvav,yvfgre,xvaneq,unegznaa,syrpx,oebnqjnl,jvyg,gernqjnl,gubeauvyy,fcnyqvat,enssregl,cvger,cngvab,beqbarm,yvaxbhf,xryyrure,ubzna,tnyoenvgu,srrarl,phegva,pbjneq,pnznevyyb,ohff,ohaaryy,obyg,orryre,nhgel,nypnyn,jvggr,jragm,fgvqunz,fuviryl,ahayrl,zrnpunz,znegvaf,yrzxr,yrsroier,ularf,ubebjvgm,ubccr,ubypbzor,qhaar,qree,pbpuenar,oevggnva,orqneq,ornhertneq,gbeerapr,fgehax,fbevn,fvzbafba,fuhznxre,fpbttvaf,bpbaare,zbevnegl,xhagm,virf,uhgpurfba,ubena,unyrf,tnezba,svggf,obua,ngpuvfba,jvfavrjfxv,inajvaxyr,fghez,fnyyrr,cebffre,zbra,yhaqoret,xham,xbuy,xrnar,wbetrafba,wnlarf,shaqreohex,serrq,qhee,pernzre,pbftebir,ongfba,inaubbfr,gubzfra,grrgre,fzlgu,erqzba,beryynan,znarff,ursyva,tbhyrg,sevpx,sbearl,ohaxre,nfohel,nthvne,gnyobgg,fbhguneq,zbjrel,zrnef,yrzzba,xevrtre,uvpxfba,ryfgba,qhbat,qrytnqvyyb,qnlgba,qnfvyin,pbanjnl,pngeba,oehgba,oenqohel,obeqryba,ovivaf,ovggare,oretfgebz,ornyf,noryy,juryna,grwnqn,chyyrl,cvab,abesyrrg,arnyl,znrf,ybcre,tngrjbbq,sevrefba,serhaq,svaartna,phcc,pbirl,pngnynab,obruz,onqre,lbba,jnyfgba,graarl,fvcrf,enjyvaf,zrqybpx,zppnfxvyy,zppnyyvfgre,znepbggr,znpyrna,uhturl,uraxr,unejryy,tynqarl,tvyfba,qrj,puvfz,pnfxrl,oenaqraohet,onlybe,ivyynfrabe,irny,gungpure,fgrtnyy,fuber,crgevr,abjyva,anineergr,zhunzznq,ybzoneq,ybsgva,yrznfgre,xebyy,xbinpu,xvzoeryy,xvqjryy,urefuoretre,shypure,rat,pnagjryy,ohfgbf,obynaq,oboovgg,ovaxyrl,jrfgre,jrvf,ireqva,gvyyre,fvfpb,funexrl,frlzber,ebfraonhz,ebue,dhvabarm,cvaxfgba,angvba,znyyrl,ybthr,yrffneq,yreare,yroeba,xenhff,xyvatre,unyfgrnq,unyyre,trgm,oheebj,nytre,fuberf,csrvsre,creeba,aryzf,zhaa,zpznfgre,zpxraarl,znaaf,xahqfba,uhgpuraf,uhfxrl,tbrory,syntt,phfuzna,pyvpx,pnfgryynab,pneqre,ohztneare,jnzcyre,fcvaxf,ebofba,arry,zperlabyqf,znguvnf,znnf,ybren,xnfcre,wrafba,syberm,pbbaf,ohpxvatunz,oebtna,oreelzna,jvyzbgu,jvyuvgr,guenfu,furcuneq,frvqry,fpuhymr,ebyqna,crggvf,boelna,znxv,znpxvr,ungyrl,senmre,svber,purffre,ohv,obggbzf,ovffba,orarsvryq,nyyzna,jvyxr,gehqrnh,gvzz,fuvssyrgg,enh,zhaql,zvyyvxra,znlref,yrnxr,xbua,uhagvatgba,ubefyrl,ureznaa,threva,selre,sevmmryy,sberg,syrzzvat,svsr,pevfjryy,pneonwny,obmrzna,obvfireg,nathyb,jnyyra,gncc,fvyiref,enzfnl,bfurn,begn,zbyy,zpxrrire,zptrurr,yvaivyyr,xvrsre,xrgpuhz,ubjregba,tebpr,tnff,shfpb,pbeovgg,orgm,onegryf,nzneny,nvryyb,lbb,jrqqyr,fcreel,frvyre,ehalna,enyrl,bireol,bfgrra,byqf,zpxrbja,zngarl,ynhre,ynggvzber,uvaqzna,unegjryy,serqevpxfba,serqrevpxf,rfcvab,pyrtt,pnefjryy,pnzoryy,ohexubyqre,jbbqohel,jryxre,gbggra,gubeaohet,gurevnhyg,fgvgg,fgnzz,fgnpxubhfr,fpubyy,fnkba,evsr,enmb,dhvayna,cvaxregba,byvib,arfzvgu,anyy,znggbf,ynssregl,whfghf,tveba,trre,svryqre,qenlgba,qbegpu,pbaaref,pbatre,obngjevtug,ovyyvbg,oneqra,nezragn,gvoorggf,fgrnqzna,fynggrel,evanyqv,enlabe,cvapxarl,crggvterj,zvyar,znggrfba,unyfrl,tbafnyirf,sryybjf,qhenaq,qrfvzbar,pbjyrl,pbjyrf,oevyy,oneunz,oneryn,oneon,nfuzber,jvguebj,inyragv,grwrqn,fcevttf,fnler,fnyreab,crygvre,crry,zreevzna,zngurfba,ybjzna,yvaqfgebz,ulynaq,tvebhk,rneyf,qhtnf,qnoarl,pbyynqb,oevfrab,onkyrl,julgr,jratre,inabire,inaohera,guvry,fpuvaqyre,fpuvyyre,evtol,cbzrebl,cnffzber,zneoyr,znamb,znunssrl,yvaqtera,ynsynzzr,terngubhfr,svgr,pnynoerfr,onlar,lnznzbgb,jvpx,gbjarf,gunzrf,ervauneg,crryre,anenawb,zbagrm,zpqnqr,znfg,znexyrl,znepunaq,yrrcre,xryyhz,uhqtraf,uraarffrl,unqqra,tnvarl,pbccbyn,obeertb,obyyvat,ornar,nhyg,fyngba,cbynaq,cncr,ahyy,zhyxrl,yvtugare,ynatre,uvyyneq,tynftbj,rguevqtr,raevtug,qrebfn,onfxva,jrvaoret,ghezna,fbzreivyyr,cneqb,abyy,ynfuyrl,vatenunz,uvyyre,uraqba,tynmr,pbguena,pbbxfrl,pbagr,pneevpb,noare,jbbyrl,fjbcr,fhzzreyva,fghetvf,fgheqvinag,fgbgg,fchetrba,fcvyyzna,fcrvtug,ebhffry,cbcc,ahggre,zpxrba,znmmn,zntahfba,ynaavat,xbmnx,wnaxbjfxv,urljneq,sbefgre,pbejva,pnyyntuna,onlf,jbegunz,hfure,gurevbg,fnlref,fnob,cbyvat,ybln,yvrorezna,ynebpur,ynoryyr,ubjrf,unee,tnenl,sbtnegl,rirefba,qhexva,qbzvadhrm,punirf,punzoyvff,jvgpure,ivrven,inaqvire,greevyy,fgbxre,fpuervare,zbbezna,yvqqryy,yrj,ynjubea,xeht,vebaf,ulygba,ubyyraorpx,ureeva,urzoerr,tbbyfol,tbbqva,tvyzre,sbygm,qvaxvaf,qnhtugel,pnona,oevz,oevyrl,ovybqrnh,jlnag,iretnen,gnyyrag,fjrnevatra,fgebhc,fpevoare,dhvyyra,cvgzna,zbanpb,zppnagf,znksvryq,znegvafba,ubygm,sybheabl,oebbxvaf,oebql,onhztneqare,fgenho,fvyyf,eblony,ebhaqgerr,bfjnyg,zptevss,zpqbhtnyy,zppyrnel,znttneq,tentt,tbbqvat,tbqvarm,qbbyvggyr,qbangb,pbjryy,pnffryy,oenpxra,nccry,mnzoenab,erhgre,crern,anxnzhen,zbantuna,zvpxraf,zppyvagba,zppynel,zneyre,xvfu,whqxvaf,tvyoerngu,serrfr,synavtna,srygf,reqznaa,qbqqf,purj,oebjaryy,obngevtug,oneergb,fynlgba,fnaqoret,fnyqvine,crggjnl,bqhz,aneinrm,zbhygevr,zbagrznlbe,zreeryy,yrrf,xrlfre,ubxr,uneqnjnl,unaana,tvyoregfba,sbtt,qhzbag,qroreel,pbttvaf,ohkgba,ohpure,oebnqank,orrfba,nenhwb,nccyrgba,nzhaqfba,nthnlb,npxyrl,lbphz,jbefunz,fuviref,fnapurf,fnppb,eborl,eubqra,craqre,bpuf,zppheel,znqren,yhbat,xabggf,wnpxzna,urvaevpu,unetenir,tnhyg,pbzrnhk,puvgjbbq,pnenjnl,obrggpure,oreauneqg,oneevragbf,mvax,jvpxunz,juvgrzna,gubec,fgvyyzna,frggyrf,fpubbabire,ebdhr,evqqryy,cvypure,cuvsre,abibgal,znpyrbq,uneqrr,unnfr,tevqre,qbhprggr,pynhfra,orivaf,ornzba,onqvyyb,gbyyrl,gvaqnyy,fbhyr,fabbx,frnyr,cvgpure,cvaxarl,cryyrtevab,abjryy,arzrgu,zbaqentba,zpynar,yhaqtera,vatnyyf,uhqfcrgu,uvkfba,trneuneg,sheybat,qbjarf,qvooyr,qrlbhat,pbearwb,pnznen,oebbxfuver,oblrggr,jbypbgg,fheengg,fryynef,frtny,fnylre,errir,enhfpu,ynobagr,uneb,tbjre,serrynaq,snjprgg,rnqf,qevttref,qbayrl,pbyyrgg,oebzyrl,obngzna,onyyvatre,onyqevqtr,ibym,gebzoyrl,fgbatr,funanuna,evineq,eular,crqebmn,zngvnf,wnzvrfba,urqtrcrgu,unegargg,rfgrirm,rfxevqtr,qrazna,puvh,puvaa,pngyrgg,pneznpx,ohvr,orpugry,orneqfyrl,oneq,onyybh,hyzre,fxrra,eboyrqb,evapba,ervgm,cvnmmn,zhatre,zbgra,zpzvpunry,ybsghf,yrqrg,xrefrl,tebss,sbjyxrf,sbyx,pehzcgba,pybhfr,orggvf,ivyyntbzrm,gvzzrezna,fgebz,fnagbeb,ebqql,craebq,zhffryzna,znpcurefba,yrobrhs,uneyrff,unqqnq,thvqb,tbyqvat,shyxrefba,snaava,qhynarl,qbjqryy,pbggyr,prwn,pngr,obfyrl,oratr,nyoevggba,ibvtg,gebjoevqtr,fbvyrnh,frryl,ebuqr,crnefnyy,cnhyx,begu,anfba,zbgn,zpzhyyva,znedhneqg,znqvtna,ubnt,tvyyhz,tnooneq,srajvpx,rpx,qnasbegu,phfuvat,perff,perrq,pnmnerf,pnfnabin,orl,orggrapbheg,oneevatre,onore,fgnaforeel,fpuenzz,ehggre,evireb,bdhraqb,arpnvfr,zbhgba,zbagrarteb,zvyrl,zptbhtu,zneen,znpzvyyna,ynzbagntar,wnffb,ubefg,urgevpx,urvyzna,tnlgna,tnyy,sbegarl,qvatyr,qrfwneqvaf,qnoof,oheonax,oevtunz,oerynaq,ornzna,neevbyn,lneobebhtu,jnyyva,gbfpnab,fgbjref,ervff,cvpuneqb,begba,zvpuryf,zpanzrr,zppebel,yrngurezna,xryy,xrvfgre,ubeavat,unetrgg,thnl,sreeb,qrobre,qntbfgvab,pnecre,oynaxf,ornhqel,gbjyr,gnsbln,fgevpxyva,fgenqre,fbcre,fbaavre,fvtzba,fpurax,fnqqyre,crqvtb,zraqrf,yhaa,ybue,ynue,xvatfohel,wnezna,uhzr,ubyyvzna,ubsznaa,unjbegu,uneeryfba,unzoevpx,syvpx,rqzhaqf,qnpbfgn,pebffzna,pbyfgba,puncyva,pneeryy,ohqq,jrvyre,jnvgf,inyragvab,genagunz,gnee,fbybevb,ebrohpx,cbjr,cynax,crgghf,cnyz,cntnab,zvax,yhxre,yrnguref,wbfyva,unegmryy,tnzoeryy,qrhgfpu,prcrqn,pnegl,pnchgb,oerjvatgba,orqryy,onyyrj,nccyrjuvgr,jneabpx,jnym,heran,ghqbe,erry,cvtt,cnegba,zvpxryfba,zrnture,zpyryyna,zpphyyrl,znaqry,yrrpu,yninyyrr,xenrzre,xyvat,xvcc,xrubr,ubpufgrgyre,uneevzna,tertbver,tenobjfxv,tbffryva,tnzzba,snapure,rqraf,qrfnv,oenaana,nezraqnevm,jbbyfrl,juvgrubhfr,jurgfgbar,hffrel,gbjar,grfgn,gnyyzna,fghqre,fgenvg,fgrvazrgm,fbeeryyf,fnhprqn,ebysr,cnqqbpx,zvgpurz,zptvaa,zppern,ybingb,unmra,tvycva,tnlabe,svxr,qribr,qryevb,phevry,ohexuneqg,obqr,onpxhf,mvaa,jngnanor,jnpugre,inacryg,gheantr,funare,fpuebqre,fngb,evbeqna,dhvzol,cbegvf,angnyr,zpxbl,zppbja,xvyzre,ubgpuxvff,urffr,unyoreg,tjvaa,tbqfrl,qryvfyr,puevfzna,pnagre,neobtnfg,natryy,nperr,lnapl,jbbyyrl,jrffba,jrngurefcbba,genvabe,fgbpxzna,fcvyyre,fvcr,ebbxf,ernivf,cebcfg,cbeenf,arvyfba,zhyyraf,ybhpxf,yyrjryyla,xhzne,xbrfgre,xyvatrafzvgu,xvefpu,xrfgre,ubanxre,ubqfba,uraarffl,uryzvpx,tneevgl,tnevonl,srr,qenva,pnfnerm,pnyyvf,obgryyb,nlpbpx,ninag,jvatneq,jnlzna,ghyyl,gurvfra,fmlznafxv,fgnafohel,frtbivn,envajngre,cerrpr,cvegyr,cnqeba,zvaprl,zpxryirl,zngurf,yneenorr,xbeartnl,xyht,vatrefbyy,urpug,treznva,rttref,qlxfgen,qrrevat,qrpbgrnh,qrnfba,qrnevat,pbsvryq,pneevtna,obaunz,onue,nhpbva,nccyrol,nyzbagr,lntre,jbzoyr,jvzzre,jrvzre,inaqrecbby,fgnapvy,fcevaxyr,ebzvar,erzvatgba,csnss,crpxunz,byviren,zrenm,znmr,ynguebc,xbrua,unmrygba,unyibefba,unyybpx,unqqbpx,qhpunezr,qrunira,pnehguref,oeruz,obfjbegu,obfg,ovnf,orrzna,onfvyr,onar,nvxraf,jbyq,jnygure,gnoo,fhore,fgenja,fgbpxre,fuverl,fpuybffre,evrqry,erzoreg,ervzre,clyrf,crryr,zreevjrngure,yrgbhearnh,ynggn,xvqqre,uvkba,uvyyvf,uvtug,ureofg,uraevdhrm,unltbbq,unzvyy,tnory,sevggf,rhonax,qnjrf,pbeeryy,pun,ohfurl,ohpuubym,oebguregba,obggf,oneajryy,nhtre,ngpuyrl,jrfgcuny,irvyyrhk,hyybn,fghgmzna,fuevire,elnyf,cevbe,cvyxvatgba,zblref,zneef,znatehz,znqqhk,ybpxneq,ynvat,xhuy,unearl,unzzbpx,unzyrgg,sryxre,qbree,qrcevrfg,pneenfdhvyyb,pnebguref,obtyr,ovfpubss,oretra,nyonarfr,jlpxbss,irezvyyvba,inafvpxyr,guvonhyg,grgernhyg,fgvpxarl,fubrznxr,ehttvreb,enjfba,enpvar,cuvycbg,cnfpuny,zpryunarl,znguvfba,yrtenaq,yncvreer,xjna,xerzre,wvyrf,uvyoreg,trlre,snvepybgu,ruyref,rtoreg,qrfebfvref,qnyelzcyr,pbggra,pnfuzna,pnqran,oerrqvat,obneqzna,nypnenm,nua,jlevpx,gureevra,gnaxrefyrl,fgevpxyre,chelrne,cybheqr,cnggvfba,cneqhr,zptvagl,zpribl,ynaqergu,xhuaf,xbba,urjrgg,tvqqraf,rzrevpx,rnqrf,qrnatryvf,pbfzr,pronyybf,oveqfbat,oraunz,orzvf,nezbhe,nathvnab,jryobea,gfbfvr,fgbezf,fubhc,frffbzf,fnznavrtb,ebbq,ebwb,euvaruneg,enol,abeguphgg,zlre,zhathvn,zberubhfr,zpqrivgg,znyyrgg,ybmnqn,yrzbvar,xhrua,unyyrgg,tevz,tvyyneq,tnlybe,tnezna,tnyynure,srnfgre,snevf,qneebj,qneqne,pbarl,pneerba,oenvgujnvgr,oblyna,oblrgg,ovkyre,ovtunz,orasbeq,oneentna,oneahz,mhore,jlpur,jrfgpbgg,ivavat,fgbygmshf,fvzbaqf,fuhcr,fnova,ehoyr,evggraubhfr,evpuzna,creebar,zhyubyynaq,zvyyna,ybzryv,xvgr,wrzvfba,uhyrgg,ubyyre,uvpxrefba,urebyq,unmryjbbq,tevssra,tnhfr,sbeqr,rvfraoret,qvyjbegu,puneeba,punvffba,oebqvr,oevfgbj,oerhavt,oenpr,obhgjryy,oragm,oryx,onlyrff,ongpuryqre,onena,onrmn,mvzzreznaa,jrngurefol,ibyx,gbbyr,gurvf,grqrfpb,frneyr,fpurapx,fnggrejuvgr,ehrynf,enaxvaf,cnegvqn,arfovg,zbery,zrapunpn,yrinffrhe,xnlybe,wbuafgbar,uhyfr,ubyyne,urefrl,uneevtna,uneovfba,thlre,tvfu,tvrfr,treynpu,tryyre,trvfyre,snypbar,ryjryy,qbhprg,qrrfr,qnee,pbeqre,punsva,olyre,ohffryy,oheqrgg,oenfure,objr,oryyvatre,onfgvna,oneare,nyyrlar,jvyobea,jrvy,jrtare,jnyrf,gngeb,fcvgmre,fzvguref,fpubra,erfraqrm,cnevfv,birezna,boevna,zhqq,zbl,zpynera,znttvb,yvaqare,ynybaqr,ynpnffr,ynobl,xvyyvba,xnuy,wrffra,wnzrefba,ubhx,urafunj,thfgva,tenore,qhefg,qhranf,qnirl,phaqvss,pbayba,pbyhatn,pbnxyrl,puvyrf,pncref,ohryy,oevpxre,ovffbaarggr,ovezvatunz,onegm,ontol,mnlnf,ibycr,gerrpr,gbbzof,gubz,greenmnf,fjvaarl,fxvyrf,fvyirven,fubhfr,fraa,enzntr,arm,zbhn,ynatunz,xlyrf,ubyfgba,ubntynaq,ureq,sryyre,qravfba,pneenjnl,ohesbeq,ovpxry,nzoevm,norepebzovr,lnznqn,jrvqare,jnqqyr,ireqhmpb,guhezbaq,fjvaqyr,fpuebpx,fnanoevn,ebfraoretre,cebofg,crnobql,byvatre,anmnevb,zppnssregl,zpoebbz,zpnorr,znmhe,zngurear,zncrf,yrirergg,xvyyvatfjbegu,urvfyre,tevrtb,tbfaryy,senaxry,senaxr,sreenagr,sraa,rueyvpu,puevfgbcurefb,punffr,punapryybe,pngba,oeharyyr,oyl,oybbzsvryq,onoovgg,nmrirqb,noenzfba,noyrf,norlgn,lbhznaf,jbmavnx,jnvajevtug,fgbjryy,fzvgurezna,fnzhryfba,ehatr,ebguzna,ebfrasryq,crnxr,bjvatf,byzbf,zhaeb,zberven,yrngurejbbq,ynexvaf,xenagm,xbinpf,xvmre,xvaqerq,xnearf,wnssr,uhooryy,ubfrl,unhpx,tbbqryy,reqzna,qibenx,qbnar,phergba,pbsre,ohruyre,ovrezna,oreaqg,onagn,noqhyynu,jnejvpx,jnygm,ghepbggr,gbeerl,fgvgu,frtre,fnpuf,dhrfnqn,cvaqre,crccref,cnfphny,cnfpunyy,cnexuhefg,bmhan,bfgre,avpubyyf,yurherhk,yninyyrl,xvzhen,wnoybafxv,unha,tbheyrl,tvyyvtna,qreol,pebl,pbggb,pnetvyy,ohejryy,ohetrgg,ohpxzna,obbure,nqbeab,jeraa,juvggrzber,hevnf,fmnob,fnlyrf,fnvm,ehgynaq,enry,cunee,cryxrl,btenql,avpxryy,zhfvpx,zbngf,zngure,znffn,xvefpuare,xvrssre,xryyne,uraqrefubg,tbgg,tbqbl,tnqfba,shegnqb,svrqyre,refxvar,qhgpure,qrire,qnttrgg,purinyvre,oenxr,onyyrfgrebf,nzrefba,jvatb,jnyqba,gebgg,fvyirl,fubjref,fpuyrtry,ehr,evgm,crcva,crynlb,cnefyrl,cnyrezb,zbberurnq,zpunyr,yrgg,xbpure,xvyohea,vtyrfvnf,uhzoyr,uhyoreg,uhpxnol,uvk,unira,unegsbeq,uneqvzna,thearl,tevtt,tenffb,tbvatf,svyyzber,sneore,qrcrj,qnaqern,qnzr,pbjra,pbineehovnf,oheehf,oenpl,neqbva,gubzcxvaf,fgnaqyrl,enqpyvssr,cbuy,crefnhq,cneragrnh,cnoba,arjfba,arjubhfr,ancbyvgnab,zhypnul,znynir,xrvz,ubbgra,ureanaqrf,urssreana,urnear,terrayrns,tyvpx,shuezna,srggre,snevn,qvfuzna,qvpxrafba,pevgrf,pevff,pynccre,puranhyg,pnfgbe,pnfgb,ohtt,obir,obaarl,neq,naqregba,nyytbbq,nyqrefba,jbbqzna,jneevpx,gbbzrl,gbbyrl,gneenag,fhzzreivyyr,fgroovaf,fbxby,frneyrf,fpuhgm,fpuhznaa,fpurre,erzvyyneq,encre,cebhyk,cnyzber,zbaebl,zrffvre,zryb,zrynafba,znfuohea,znamnab,yhffvre,wraxf,uharlphgg,unegjvt,tevzfyrl,shyx,svryqvat,svqyre,ratfgebz,ryqerq,qnagmyre,penaqryy,pnyqre,oehzyrl,oergba,oenaa,oenzyrgg,oblxvaf,ovnapb,onapebsg,nyznenm,nypnagne,juvgzre,juvgrare,jrygba,ivarlneq,enua,cndhva,zvmryy,zpzvyyva,zpxrna,znefgba,znpvry,yhaqdhvfg,yvttvaf,ynzcxva,xenam,xbfxv,xvexunz,wvzvarm,unmmneq,uneebq,tenmvnab,tenzzre,traqeba,tneevqb,sbequnz,ratyreg,qelqra,qrzbff,qryhan,penoo,pbzrnh,oehzzrgg,oyhzr,oranyyl,jrffry,inaohfxvex,gubefba,fghzcs,fgbpxjryy,ernzf,enqgxr,enpxyrl,crygba,avrzv,arjynaq,aryfra,zbeevffrggr,zvenzbagrf,zptvayrl,zppyhfxrl,znepunag,yhrinab,ynzcr,ynvy,wrsspbng,vasnagr,uvazna,tnban,reo,rnql,qrfznenvf,qrpbfgn,qnafol,pubr,oerpxraevqtr,obfgjvpx,obet,ovnapuv,nyoregf,jvyxvr,jubegba,inetb,gnvg,fbhpl,fpuhzna,bhfyrl,zhzsbeq,yhz,yvccreg,yrngu,yniretar,ynyvoregr,xvexfrl,xraare,wbuafra,vmmb,uvyrf,thyyrgg,terrajryy,tnfcne,tnyoerngu,tnvgna,revpfba,qryncnm,pebbz,pbggvatunz,pyvsg,ohfuaryy,ovpr,ornfba,neebjbbq,jnevat,ibbeurrf,gehnk,fuerir,fubpxrl,fpungm,fnaqvsre,ehovab,ebmvre,ebfroreel,cvrcre,crqra,arfgre,anir,zhecurl,znyvabjfxv,znptertbe,ynsenapr,xhaxyr,xvexzna,uvcc,unfgl,unqqvk,treinvf,treqrf,tnznpur,sbhgf,svgmjngre,qvyyvatunz,qrzvat,qrnaqn,prqrab,pnaanql,ohefba,obhyqva,neprarnhk,jbbqubhfr,juvgsbeq,jrfpbgg,jrygl,jrvtry,gbetrefba,gbzf,fheore,fhaqreynaq,fgreare,frgmre,evbwnf,chzcuerl,chtn,zrggf,zptneel,zppnaqyrff,zntvyy,yhcb,ybirynaq,yynznf,yrpyrep,xbbaf,xnuyre,uhff,ubyoreg,urvagm,unhcg,tevzzrgg,tnfxvyy,ryyvatfba,qbee,qvatrff,qrjrrfr,qrfvyin,pebffyrl,pbeqrveb,pbairefr,pbaqr,pnyqren,pnveaf,ohezrvfgre,ohexunygre,oenjare,obgg,lbhatf,ivreen,inyynqnerf,fuehz,fuebcfuver,frivyyn,ehfx,ebqnegr,crqenmn,avab,zrevab,zpzvaa,znexyr,zncc,ynwbvr,xbreare,xvggeryy,xngb,ulqre,ubyyvsvryq,urvfre,unmyrgg,terrajnyq,snag,ryqerqtr,qerure,qrynshragr,peniraf,pynlcbby,orrpure,nebafba,nynavf,jbegura,jbwpvx,jvatre,juvgnper,jryyvatgba,inyireqr,inyqvivn,gebhcr,guebjre,fjvaqryy,fhggyrf,fhu,fgebzna,fcverf,fyngr,furnyl,fneire,fnegva,fnqbjfxv,ebaqrnh,ebyba,enfpba,cevqql,cnhyvab,abygr,zhaebr,zbyybl,zpvire,ylxvaf,ybttvaf,yrabve,xybgm,xrzcs,uhcc,ubyybjryy,ubyynaqre,unlavr,unexarff,unexre,tbggyvro,sevgu,rqqvaf,qevfxryy,qbttrgg,qrafzber,punerggr,pnffnql,olehz,ohepunz,ohttf,oraa,juvggrq,jneevatgba,inaqhfra,invyynapbheg,fgrtre,fvroreg,fpbsvryq,dhvex,chefre,cyhzo,bephgg,abeqfgebz,zbfryl,zvpunyfxv,zpcunvy,zpqnivq,zppenj,znepurfr,znaavab,yrsrier,ynetrag,ynamn,xerff,vfunz,uhafnxre,ubpu,uvyqroenaqg,thnevab,tevwnyin,tenlovyy,rjryy,rjnyq,phfvpx,pehzyrl,pbfgba,pngupneg,pneehguref,ohyyvatgba,objrf,oynva,oynpxsbeq,oneobmn,lvatyvat,jrvynaq,inetn,fvyirefgrva,fvriref,fuhfgre,fuhzjnl,ehaaryf,ehzfrl,erasebr,cebirapure,cbyyrl,zbuyre,zvqqyroebbxf,xhgm,xbfgre,tebgu,tyvqqra,snmvb,qrra,puvczna,purabjrgu,punzcyva,prqvyyb,pneereb,pnezbql,ohpxyrf,oevra,obhgva,obfpu,orexbjvgm,nygnzvenab,jvysbat,jvrtnaq,jnvgrf,gehrfqnyr,gbhffnvag,gborl,grqqre,fgrryzna,fvebvf,fpuaryy,ebovpunhq,evpuohet,cyhzyrl,cvmneeb,cvrepl,begrtb,boret,arnpr,zregm,zparj,znggn,yncc,ynve,xvoyre,ubjyrgg,ubyyvfgre,ubsre,unggra,untyre,snytbhfg,ratryuneqg,roreyr,qbzoebjfxv,qvafzber,qnlr,pnfnerf,oenhq,onypu,nhgerl,jraqry,glaqnyy,fgebory,fgbygm,fcvaryyv,freengb,ebpurfgre,erore,enguobar,cnybzvab,avpxryf,znlyr,znguref,znpu,ybrssyre,yvggeryy,yrivafba,yrbat,yrzver,yrwrhar,ynmb,ynfyrl,xbyyre,xraaneq,ubryfpure,uvagm,untrezna,ternirf,sber,rhql,ratyre,pbeenyrf,pbeqrf,oeharg,ovqjryy,oraarg,gleeryy,gunecr,fjvagba,fgevoyvat,fbhgujbegu,fvfarebf,fnibvr,fnzbaf,ehinypnon,evrf,enzre,bznen,zbfdhrqn,zvyyne,zpcrnx,znpbzore,yhpxrl,yvggba,yrue,yniva,uhoof,ubneq,uvoof,untnaf,shgeryy,rkhz,rirafba,phyyre,pneonhtu,pnyyra,oenfurne,oybbzre,oynxrarl,ovtyre,nqqvatgba,jbbqsbeq,haehu,gbyragvab,fhzenyy,fgtreznva,fzbpx,furere,enlare,cbbyre,bdhvaa,areb,zptybguyva,yvaqra,xbjny,xreevtna,voenuvz,uneiryy,unaenuna,tbbqnyy,trvfg,shffryy,shat,srerorr,ryrl,rttreg,qbefrgg,qvatzna,qrfgrsnab,pbyhppv,pyrzzre,ohearyy,oehzonhtu,obqqvr,oreeluvyy,niryne,nypnagnen,jvaqre,jvapuryy,inaqraoret,gebgzna,guheore,guvornhyg,fgybhvf,fgvyjryy,fcreyvat,fungghpx,fnezvragb,ehccreg,ehzcu,eranhq,enaqnmmb,enqrznpure,dhvyrf,crnezna,cnybzb,zrephevb,ybjerl,yvaqrzna,ynjybe,ynebfn,ynaqre,ynoerpdhr,ubivf,ubyvsvryq,uraavatre,unjxrf,unegsvryq,unaa,unthr,trabirfr,tneevpx,shqtr,sevax,rqqvatf,qvau,pevoof,pnyivyyb,ohagba,oebqrhe,obyqvat,oynaqvat,ntbfgb,mnua,jvrare,gehffryy,grj,gryyb,grvkrven,fcrpx,funezn,funaxyva,frnyl,fpnayna,fnagnznevn,ebhaql,ebovpunhk,evatre,evtarl,ceribfg,cbyfba,abeq,zbkyrl,zrqsbeq,zppnfyva,zpneqyr,znpneguhe,yrjva,ynfure,xrgpunz,xrvfre,urvar,unpxjbegu,tebfr,tevmmyr,tvyyzna,tnegare,senmrr,syrhel,rqfba,rqzbafba,qreel,pebax,pbanag,oheerff,ohetva,oebbz,oebpxvatgba,obyvpx,obtre,ovepusvryq,ovyyvatgba,onvyl,onuran,nezoehfgre,nafba,lbub,jvypure,gvaarl,gvzoreynxr,gubzn,guvryra,fhgcuva,fghygm,fvxben,freen,fpuhyzna,fpurssyre,fnagvyyna,ertb,cerpvnqb,cvaxunz,zvpxyr,yhh,ybznf,yvmbggr,yrag,xryyrezna,xrvy,wbunafba,ureanqrm,unegfsvryq,unore,tbefxv,snexnf,roreuneqg,qhdhrggr,qrynab,pebccre,pbmneg,pbpxreunz,punzoyrr,pnegntran,pnubba,ohmmryy,oevfgre,oerjgba,oynpxfurne,orasvryq,nfgba,nfuohea,neehqn,jrgzber,jrvfr,inppneb,ghppv,fhqqhgu,fgebzoret,fgbbcf,fubjnygre,furnef,ehavba,ebjqra,ebfraoyhz,evssyr,erasebj,crerf,boelnag,yrsgjvpu,ynex,ynaqrebf,xvfgyre,xvyybhtu,xreyrl,xnfgare,ubttneq,uneghat,thregva,tbina,tngyvat,tnvyrl,shyyzre,shysbeq,syngg,rfdhvory,raqvpbgg,rqzvfgba,rqryfgrva,qhserfar,qerffyre,qvpxzna,purr,ohffr,obaargg,oreneq,neran,lbfuvqn,iryneqr,irnpu,inaubhgra,inpuba,gbyfba,gbyzna,graalfba,fgvgrf,fbyre,fuhgg,ehttyrf,eubar,crthrf,bat,arrfr,zheb,zbapevrs,zrssbeq,zpcurr,zpzbeevf,zprnpurea,zppyhet,znafbhe,znqre,yrvwn,yrpbzcgr,ynsbhagnva,ynoevr,wndhrm,urnyq,unfu,unegyr,tnvare,sevfol,snevan,rvqfba,rqtregba,qlxr,qheergg,qhuba,phbzb,pbobf,preinagrm,olorr,oebpxjnl,obebjfxv,ovavba,orrel,nethryyb,nzneb,npgba,lhra,jvagba,jvtsnyy,jrrxyrl,ivqevar,inaabl,gneqvss,fubbc,fuvyyvat,fpuvpx,fnssbeq,ceraqretnfg,cryyreva,bfhan,avffra,anyyrl,zbyyre,zrffare,zrffvpx,zreevsvryq,zpthvaarff,zngureyl,znepnab,znubar,yrzbf,yroeha,wnen,ubssre,ureera,urpxre,unjf,unht,tjva,tbore,tvyyvneq,serqrggr,sniryn,rpurireevn,qbjare,qbabsevb,qrfebpuref,pebmvre,pbefba,orpugbyq,nethrgn,ncnevpvb,mnzhqvb,jrfgbire,jrfgrezna,hggre,geblre,guvrf,gncyrl,fyniva,fuvex,fnaqyre,ebbc,enlzre,enqpyvss,bggra,zbbere,zvyyrg,zpxvoora,zpphgpura,zpnibl,zpnqbb,znlbetn,znfgva,znegvarnh,znerx,znqber,yrsyber,xebrtre,xraaba,wvzrefba,ubfgrggre,ubeaonpx,uraqyrl,unapr,thneqnqb,tenanqb,tbjra,tbbqnyr,syvaa,syrrgjbbq,svgm,qhexrr,qhcerl,qvcvrgeb,qvyyrl,pylohea,oenjyrl,orpxyrl,nenan,jrngureol,ibyyzre,irfgny,ghaaryy,gevtt,gvatyr,gnxnunfuv,fjrngg,fgbere,fancc,fuvire,ebbxre,enguoha,cbvffba,creevar,creev,cnfgbe,cnezre,cnexr,cner,cnyzvrev,abggvatunz,zvqxvss,zrpunz,zppbznf,zpnycvar,ybirynql,yvyyneq,ynyyl,xabcc,xvyr,xvtre,unvyr,thcgn,tbyqforeel,tvyerngu,shyxf,sevrfra,senamra,synpx,svaqynl,sreynaq,qerlre,qber,qraaneq,qrpxneq,qrobfr,pevz,pbhybzor,pbex,punaprl,pnagbe,oenagba,ovffryy,oneaf,jbbyneq,jvgunz,jnffrezna,fcvrtry,fubssare,fpubym,ehpu,ebffzna,crgel,cnynpvb,cnrm,arnel,zbegrafba,zvyyfnc,zvryr,zraxr,zpxvz,zpnanyyl,znegvarf,znabe,yrzyrl,ynebpuryyr,xynhf,xyngg,xnhsznaa,xncc,uryzre,urqtr,unyybena,tyvffba,serpurggr,sbagnan,rntna,qvfgrsnab,qnayrl,perrxzber,punegvre,punssrr,pnevyyb,ohet,obyvatre,orexyrl,oram,onffb,onfu,oneevre,mrynln,jbbqevat,jvgxbjfxv,jvyzbg,jvyxraf,jvrynaq,ireqhtb,hedhuneg,gfnv,gvzzf,fjvtre,fjnvz,fhffzna,cverf,zbyane,zpngrr,ybjqre,ybbf,yvaxre,ynaqrf,xvatrel,uhssbeq,uvtn,uraqera,unzznpx,unznaa,tvyynz,treuneqg,rqryzna,rol,qryx,qrnaf,phey,pbafgnagvar,pyrnire,pynne,pnfvnab,pneehgu,pneylyr,oebcul,obynabf,ovoof,orffrggr,orttf,onhture,onegry,nirevyy,naqerfra,nzva,nqnzrf,ivn,inyragr,gheaobj,gfr,fjvax,fhoyrgg,fgebu,fgevatsryybj,evqtjnl,chtyvrfr,cbgrng,buner,arhonhre,zhepuvfba,zvatb,yrzzbaf,xjba,xryynz,xrna,wnezba,ulqra,uhqnx,ubyyvatre,uraxry,urzvatjnl,unffba,unafry,unygre,unver,tvaforet,tvyyvfcvr,sbtry,sybel,rggre,ryyrqtr,rpxzna,qrnf,pheeva,pensgba,pbbzre,pbygre,pynkgba,ohygre,oenqqbpx,objlre,ovaaf,oryybjf,onfxreivyyr,oneebf,nafyrl,jbbys,jvtug,jnyqzna,jnqyrl,ghyy,gehyy,grfpu,fgbhssre,fgnqyre,fynl,fuhoreg,frqvyyb,fnagnpehm,ervaxr,cblagre,arev,arnyr,zbjel,zbenyrm,zbatre,zvgpuhz,zreelzna,znavba,znpqbhtnyy,yhk,yvgpusvryq,yrl,yrivgg,yrcntr,ynfnyyr,xubhel,xninantu,xneaf,vivr,uhroare,ubqtxvaf,unycva,tnevpn,rirefbyr,qhgen,qhantna,qhssrl,qvyyzna,qvyyvba,qrivyyr,qrneobea,qnzngb,pbhefba,pbhyfba,oheqvar,obhfdhrg,obava,ovfu,ngrapvb,jrfgoebbxf,jntrf,inpn,glr,gbare,gvyyvf,fjrgg,fgehoyr,fgnasvyy,fbybemnab,fyhfure,fvccyr,fvz,fvyinf,fuhygf,fpurkanlqre,fnrm,ebqnf,entre,chyire,cynmn,cragba,cnavnthn,zrarfrf,zpsneyva,zpnhyrl,zngm,znybl,zntehqre,ybuzna,ynaqn,ynpbzor,wnvzrf,ubz,ubymre,ubyfg,urvy,unpxyre,tehaql,tvyxrl,sneaunz,qhesrr,qhagba,qhafgba,qhqn,qrjf,penire,pbeevirnh,pbajryy,pbyryyn,punzoyrff,oerzre,obhggr,obhenffn,oynvfqryy,onpxzna,onovarnhk,nhqrggr,nyyrzna,gbjare,gnirenf,gnenatb,fhyyvaf,fhvgre,fgnyyneq,fbyoret,fpuyhrgre,cbhybf,cvzragny,bjfyrl,bxryyrl,angvbaf,zbssngg,zrgpnysr,zrrxvaf,zrqryyva,zptylaa,zppbjna,zneevbgg,znenoyr,yraabk,ynzbherhk,xbff,xreol,xnec,vfraoret,ubjmr,ubpxraoreel,uvtufzvgu,uneobhe,unyyznex,thfzna,terryrl,tvqqvatf,tnhqrg,tnyyhc,syrrabe,rvpure,rqvatgba,qvznttvb,qrzrag,qrzryyb,qrpnfgeb,ohfuzna,oehaqntr,oebbxre,obhet,oynpxfgbpx,oretznaa,orngba,onavfgre,netb,nccyvat,jbegzna,jnggrefba,ivyynycnaqb,gvyybgfba,gvtur,fhaqoret,fgreaoret,fgnzrl,fuvcr,frrtre,fpneoreel,fnggyre,fnva,ebgufgrva,cbgrrg,cybjzna,crggvsbeq,craynaq,cnegnva,cnaxrl,blyre,btyrgerr,btohea,zbgba,zrexry,yhpvre,ynxrl,xengm,xvafre,xrefunj,wbfrcufba,vzubss,uraqel,unzzba,sevfovr,sevrqevpu,senjyrl,sentn,sberfgre,rfxrj,rzzreg,qeraana,qblba,qnaqevqtr,pnjyrl,pneinwny,oenprl,oryvfyr,ongrl,nuare,jlfbpxv,jrvfre,iryvm,gvapure,fnafbar,fnaxrl,fnaqfgebz,ebuere,evfare,cevqrzber,csrssre,crefvatre,crrel,bhoer,abjvpxv,zhftenir,zheqbpu,zhyyvank,zppnel,znguvrh,yviratbbq,xlfre,xyvax,xvzrf,xryyare,xninanhtu,xnfgra,vzrf,ubrl,uvafunj,unxr,thehyr,tehor,tevyyb,trgre,tnggb,tneire,tneergfba,snejryy,rvynaq,qhasbeq,qrpneyb,pbefb,pbyzna,pbyyneq,pyrtubea,punfgrra,pniraqre,pneyvyr,pnyib,olreyl,oebtqba,oebnqjngre,oernhyg,obab,oretva,orue,onyyratre,nzvpx,gnzrm,fgvssyre,fgrvaxr,fvzzba,funaxyr,fpunyyre,fnyzbaf,fnpxrgg,fnnq,evqrbhg,engpyvssr,enb,enafba,cynfprapvn,crggrefba,byfmrjfxv,byarl,bythva,avyffba,ariryf,zberyyv,zbagvry,zbatr,zvpunryfba,zregraf,zppurfarl,zpnycva,zngurjfba,ybhqrezvyx,yvaroreel,yvttrgg,xvaynj,xvtug,wbfg,urersbeq,uneqrzna,unycrea,unyyvqnl,unsre,tnhy,sevry,servgnt,sbeforet,rinatryvfgn,qbrevat,qvpneyb,qraql,qryc,qrthmzna,qnzreba,phegvff,pbfcre,pnhgura,pnb,oenqoreel,obhgba,obaaryy,ovkol,ovrore,orirevqtr,orqjryy,oneubefg,onaaba,onygnmne,onvre,nlbggr,nggnjnl,neranf,noertb,ghetrba,ghafgnyy,gunkgba,gunv,grabevb,fgbggf,fguvynver,furqq,frnobyg,fpnys,fnylref,ehuy,ebjyrgg,ebovargg,csvfgre,creyzna,cnexzna,ahaanyyl,abeiryy,anccre,zbqyva,zpxryyne,zppyrna,znfpneranf,yrvobjvgm,yrqrmzn,xhuyzna,xbonlnfuv,uhayrl,ubyzdhvfg,uvaxyrl,unegfryy,tevooyr,teniryl,svsvryq,ryvnfba,qbnx,pebffynaq,pneyrgba,oevqtrzna,obwbedhrm,obttrff,nhgra,jbbfyrl,juvgryrl,jrkyre,gjbzrl,ghyyvf,gbjayrl,fgnaqevqtr,fnagblb,ehrqn,evraqrnh,eriryy,cyrff,bggvatre,avteb,avpxyrf,zhyirl,zrarsrr,zpfunar,zpybhtuyva,zpxvamvr,znexrl,ybpxevqtr,yvcfrl,xavfyrl,xarccre,xvggf,xvry,wvaxf,ungupbpx,tbqva,tnyyrtb,svxrf,srpgrnh,rfgnoebbx,ryyvatre,qhaybc,qhqrx,pbhagelzna,punhiva,pungunz,ohyyvaf,oebjasvryq,obhtugba,oybbqjbegu,ovoo,onhpbz,oneovrev,nhova,nezvgntr,nyrffv,nofure,noongr,mvgb,jbbyrel,jvttf,jnpxre,glarf,gbyyr,gryyrf,gnegre,fjnerl,fgebqr,fgbpxqnyr,fgnyanxre,fcvan,fpuvss,fnnev,evfyrl,enzrevm,enxrf,crggnjnl,craare,cnhyhf,cnyynqvab,bzrnen,zbagrybatb,zryavpx,zrugn,zptnel,zppbheg,zppbyybhtu,znepurggv,znamnanerf,ybjgure,yrvin,ynhqreqnyr,ynsbagnvar,xbjnypmlx,xavtugba,wbhoreg,wnjbefxv,vqr,uhgu,uheqyr,ubhfyrl,unpxzna,thyvpx,tbeql,tvyfgenc,truexr,trouneg,tnhqrggr,sbkjbegu,rffrk,raqerf,qhaxyr,pvzvab,pnqqryy,oenhre,oenyrl,obqvar,oynpxzber,oryqra,onpxre,nlre,naqerff,jvfare,ihbat,inyyvrer,gjvtt,gfb,gninerm,fgenuna,fgrvo,fgnho,fbjqre,frvore,fpuhgg,fpunes,fpunqr,ebqevdhrf,evfvatre,erafunj,enuzna,cerfaryy,cvngg,avrzna,arivaf,zpvyjnva,zptnun,zpphyyl,zppbzo,znffratnyr,znprqb,yrfure,xrnefr,wnherthv,uhfgrq,uhqanyy,ubyzoret,uregry,uneqvr,tyvqrjryy,senhfgb,snffrgg,qnyrffnaqeb,qnuytera,pbehz,pbafgnagvab,pbayva,pbydhvgg,pbybzob,pynlpbzo,pneqva,ohyyre,obarl,obpnarten,ovttref,orarqrggb,nenvmn,naqvab,nyova,mbea,jregu,jrvfzna,jnyyrl,inartnf,hyvoneev,gbjr,grqsbeq,grnfyrl,fhggyr,fgrssraf,fgple,fdhver,fvatyrl,fvshragrf,fuhpx,fpuenz,fnff,evrtre,evqraubhe,evpxreg,evpurefba,enlobea,enor,enno,craqyrl,cnfgber,beqjnl,zblavuna,zryybgg,zpxvffvpx,zptnaa,zppernql,znharl,zneehsb,yrauneg,ynmne,ynsnir,xrryr,xnhgm,wneqvar,wnuaxr,wnpbob,ubeq,uneqpnfgyr,untrzna,tvtyvb,truevat,sbegfba,qhdhr,qhcyrffvf,qvpxra,qrebfvre,qrvgm,qnyrffvb,penz,pnfgyrzna,pnaqrynevb,pnyyvfba,pnprerf,obmnegu,ovyrf,orwnenab,onfunj,nivan,nezragebhg,nyirerm,npbeq,jngreubhfr,irerra,inaynaqvatunz,huy,fgenjfre,fubgjryy,frirenapr,frygmre,fpubbaznxre,fpubpx,fpunho,fpunssare,ebrqre,ebqevtrm,evssr,euvar,enforeel,enapbheg,envyrl,dhnqr,chefyrl,cebhgl,creqbzb,bkyrl,bfgrezna,avpxraf,zhecuerr,zbhagf,zrevqn,znhf,znggrea,znffr,znegvaryyv,znatna,yhgrf,yhqjvpx,ybarl,ynhernab,ynfngre,xavtugra,xvffvatre,xvzfrl,xrffvatre,ubarn,ubyyvatfurnq,ubpxrgg,urlre,ureba,theebyn,tbir,tynffpbpx,tvyyrgg,tnyna,srngurefgbar,rpxuneqg,qheba,qhafba,qnfure,phyoergu,pbjqra,pbjnaf,pynlcbbyr,puhepujryy,punobg,pnivarff,pngre,pnfgba,pnyyna,olvatgba,ohexrl,obqra,orpxsbeq,ngjngre,nepunzonhyg,nyirl,nyfhc,juvfranag,jrrfr,iblyrf,ireerg,gfnat,grffvre,fjrvgmre,furejva,funhtuarffl,erivf,erzl,cevar,cuvycbgg,crnil,cnlagre,cnezragre,binyyr,bsshgg,avtugvatnyr,arjyva,anxnab,zlngg,zhgu,zbuna,zpzvyyba,zppneyrl,zppnyro,znkfba,znevaryyv,znyrl,yvfgba,yrgraqer,xnva,uhagfzna,uvefg,untregl,thyyrqtr,terrajnl,tenwrqn,tbegba,tbvarf,tvggraf,serqrevpxfba,snaryyv,rzoerr,rvpuryoretre,qhaxva,qvkfba,qvyybj,qrsryvpr,puhzyrl,oheyrvtu,obexbjfxv,ovarggr,ovttrefgnss,oretyhaq,oryyre,nhqrg,neohpxyr,nyynva,nysnab,lbhatzna,jvggzna,jrvagenho,inamnag,inqra,gjvggl,fgbyyvatf,fgnaqvsre,fvarf,fubcr,fpnyvfr,fnivyyr,cbfnqn,cvfnab,bggr,abynfpb,ancbyv,zvre,zrexyr,zraqvbyn,zrypure,zrwvnf,zpzheel,zppnyyn,znexbjvgm,znavf,znyyrggr,znpsneynar,ybhtu,ybbcre,ynaqva,xvggyr,xvafryyn,xvaaneq,uboneg,urenyq,uryzna,uryyzna,unegfbpx,unysbeq,untr,tbeqna,tynffre,tnlgba,tnggvf,tnfgryhz,tnfcneq,sevfpu,svgmuhtu,rpxfgrva,roreyl,qbjqra,qrfcnva,pehzcyre,pebggl,pbearyvfba,pubhvaneq,punzarff,pngyva,pnaa,ohztneqare,ohqqr,oenahz,oenqsvryq,oenqql,obefg,oveqjryy,onmna,onanf,onqr,nenatb,nurnea,nqqvf,mhzjnyg,jhegu,jvyx,jvqrare,jntfgnss,heehgvn,grejvyyvtre,gneg,fgrvazna,fgnngf,fybng,evirf,evttyr,eriryf,ervpuneq,cevpxrgg,cbss,cvgmre,crgeb,cryy,abeguehc,avpxf,zbyvar,zvryxr,znlabe,znyyba,zntarff,yvatyr,yvaqryy,yvro,yrfxb,yrornh,ynzzref,ynsbaq,xvreana,xrgeba,whenqb,ubyztera,uvyohea,unlnfuv,unfuvzbgb,uneonhtu,thvyybg,tneq,sebruyvpu,srvaoret,snypb,qhsbhe,qerrf,qbarl,qvrc,qrynb,qnirf,qnvy,pebjfba,pbff,pbatqba,pneare,pnzneran,ohggrejbegu,oheyvatnzr,obhssneq,oybpu,ovylrh,onegn,onxxr,onvyynetrba,nirag,ndhvyne,nxr,nub,mrevathr,lneore,jbysfba,ibtyre,ibryxre,gehff,gebkryy,guevsg,fgebhfr,fcvryzna,fvfgehax,frivtal,fpuhyyre,fpunns,ehssare,ebhgu,ebfrzna,evppvneqv,crenmn,crtenz,bireghes,bynaqre,bqnavry,arh,zvyyare,zrypube,znebarl,znpuhpn,znpnyhfb,yvirfnl,ynlsvryq,ynfxbjfxv,xjvngxbjfxv,xvyol,ubirl,urljbbq,unlzna,unineq,uneivyyr,unvtu,untbbq,tevrpb,tynffzna,trouneqg,syrvfpure,snaa,ryfba,rppyrf,phaun,pehzo,oynxyrl,oneqjryy,nofuver,jbbqunz,jvarf,jrygre,jnetb,ineanqb,ghgg,genlabe,fjnarl,fibobqn,fgevpxre,fgbssry,fgnzonhtu,fvpxyre,funpxyrsbeq,fryzna,frnire,fnafbz,fnazvthry,eblfgba,ebhexr,ebpxrgg,evbhk,chyrb,cvgpusbeq,aneqv,zhyinarl,zvqqnhtu,znyrx,yrbf,ynguna,xhwnjn,xvzoeb,xvyyroerj,ubhyvuna,uvapxyrl,urebq,urcyre,unzare,unzzry,unyybjryy,tbafnyrm,tvatrevpu,tnzovyy,shaxubhfre,sevpxr,srjryy,snyxare,raqfyrl,qhyva,qeraara,qrnire,qnzoebfvb,punqjryy,pnfgnaba,ohexrf,oehar,oevfpb,oevaxre,objxre,obyqg,oreare,ornhzbag,ornveq,onmrzber,oneevpx,nyonab,lbhagf,jhaqreyvpu,jrvqzna,inaarff,gbynaq,gurbonyq,fgvpxyre,fgrvtre,fgnatre,fcvrf,fcrpgbe,fbyynef,fzrqyrl,frvory,fpbivyyr,fnvgb,elr,ehzzry,ebjyrf,ebhyrnh,ebbf,ebtna,ebrzre,ernz,enln,chexrl,cevrfgre,creerven,cravpx,cnhyva,cnexvaf,birepnfu,byrfba,arirf,zhyqebj,zvaneq,zvqtrgg,zvpunynx,zrytne,zpragver,zpnhyvssr,znegr,ylqba,yvaqubyz,yrlon,ynatriva,yntnffr,ynsnlrggr,xrfyre,xrygba,xnb,xnzvafxl,wnttref,uhzoreg,uhpx,ubjnegu,uvaevpuf,uvtyrl,thcgba,thvzbaq,tenibvf,tvthrer,sergjryy,sbagrf,srryrl,snhpure,rvpuubea,rpxre,rnec,qbyr,qvatre,qreeloreel,qrznef,qrry,pbcraunire,pbyyvafjbegu,pbynatryb,pyblq,pynvobear,pnhysvryq,pneyfra,pnymnqn,pnssrl,oebnqhf,oeraarzna,obhvr,obqane,oynarl,oynap,orygm,oruyvat,onenuban,lbpxrl,jvaxyr,jvaqbz,jvzre,ivyyngbeb,gerkyre,grena,gnyvnsreeb,flqabe,fjvafba,faryyvat,fzgvu,fvzbagba,fvzbarnhk,fvzbarnh,fureere,frnirl,fpurry,ehfugba,ehcr,ehnab,evccl,ervare,ervss,enovabjvgm,dhnpu,crayrl,bqyr,abpx,zvaavpu,zpxbja,zppneire,zpnaqerj,ybatyrl,ynhk,ynzbgur,ynseravrer,xebcc,xevpx,xngrf,wrcfba,uhvr,ubjfr,ubjvr,uraevdhrf,unlqba,unhtug,unegmbt,unexrl,tevznyqb,tbfubea,tbezyrl,tyhpx,tvyebl,tvyyrajngre,tvssva,syhxre,srqre,rler,rfuryzna,rnxvaf,qrgjvyre,qryebfnevb,qnivffba,pngnyna,pnaavat,pnygba,oenzzre,obgryub,oynxarl,onegryy,nirergg,nfxvaf,nxre,mnx,jbeprfgre,jvgzre,jvfre,jvaxryzna,jvqzre,juvggvre,jrvgmry,jneqryy,jntref,hyyzna,ghccre,gvatyrl,gvytuzna,gnygba,fvzneq,frqn,fpuryyre,fnyn,ehaqryy,ebfg,ebn,evorveb,enovqrnh,cevzz,cvaba,crneg,bfgebz,bore,alfgebz,ahffonhz,anhtugba,zhee,zbbeurnq,zbagv,zbagrveb,zryfba,zrvffare,zpyva,zptehqre,znebggn,znxbjfxv,znwrjfxv,znqrjryy,yhag,yhxraf,yrvavatre,yrory,ynxva,xrcyre,wndhrf,uhaavphgg,uhatresbeq,ubbcrf,uregm,urvaf,unyyvohegba,tebffb,tenivgg,tynfcre,tnyyzna,tnyynjnl,shaxr,shyoevtug,snytbhg,rnxva,qbfgvr,qbenqb,qrjoreel,qrebfr,phgfunyy,penzcgba,pbfgnamb,pbyyrggv,pybavatre,pynlgbe,puvnat,pnagreohel,pnzcntan,oheq,oebxnj,oebnqqhf,oergm,oenvaneq,ovasbeq,ovyoerl,nycreg,nvgxra,nuyref,mnwnp,jbbysbyx,jvggra,jvaqyr,jnlynaq,genzry,gvggyr,gnyniren,fhgre,fgenyrl,fcrpug,fbzzreivyyr,fbybzna,fxrraf,fvtzna,fvoreg,funiref,fpuhpx,fpuzvg,fnegnva,fnoby,ebfraoyngg,ebyyb,enfuvq,enoo,cebivapr,cbyfgba,aloret,abeguebc,anineen,zhyqbba,zvxrfryy,zpqbhtnyq,zpohearl,znevfpny,yhv,ybmvre,yvatresryg,yrtrer,yngbhe,ynthanf,ynpbhe,xhegu,xvyyra,xvryl,xnlfre,xnuyr,vfyrl,uhregnf,ubjre,uvam,unhtu,thzz,tnyvpvn,sbeghangb,synxr,qhayrnil,qhttvaf,qbol,qvtvbinaav,qrinarl,qrygbeb,pevoo,pbechm,pbebary,pbra,puneobaarnh,pnvar,ohepurggr,oynxrl,oynxrzber,oretdhvfg,orrar,ornhqrggr,onlyrf,onyynapr,onxxre,onvyrf,nforeel,nejbbq,mhpxre,jvyyzna,juvgrfryy,jnyq,jnypbgg,inapyrnir,gehzc,fgenffre,fvznf,fuvpx,fpuyrvpure,fpunny,fnyru,ebgm,erfavpx,envare,cnegrr,byyvf,byyre,bqnl,zhaqnl,zbat,zvyyvpna,zrejva,znmmbyn,znafryy,zntnyynarf,yynarf,yrjryyra,yrcber,xvfare,xrrfrr,wrnaybhvf,vatunz,ubeaorpx,unja,unegm,uneore,unssare,thgfunyy,thgu,tenlf,tbjna,svaynl,svaxryfgrva,rlyre,raybr,qhatna,qvrm,qrnezna,phyy,pebffba,puebavfgre,pnffvgl,pnzcvba,pnyyvuna,ohgm,oernmrnyr,oyhzraguny,orexrl,onggl,onggba,neivmh,nyqrergr,nyqnan,nyonhtu,noreargul,jbygre,jvyyr,gjrrq,gbyyrsfba,gubznffba,grgre,grfgrezna,fcebhy,fcngrf,fbhgujvpx,fbhxhc,fxryyl,fragre,frnyrl,fnjvpxv,fnetrnag,ebffvgre,ebfrzbaq,ercc,cvsre,bezfol,avpxryfba,anhznaa,zbenovgb,zbamba,zvyyfncf,zvyyra,zpryengu,znepbhk,znagbbgu,znqfba,znparvy,znpxvaaba,ybhdhr,yrvfgre,ynzcyrl,xhfuare,xebhfr,xvejna,wrffrr,wnafba,wnua,wnpdhrm,vfynf,uhgg,ubyynqnl,uvyylre,urcohea,urafry,uneebyq,tvatevpu,trvf,tnyrf,shygf,svaaryy,sreev,srngurefgba,rcyrl,rorefbyr,rnzrf,qhavtna,qelr,qvfzhxr,qrinhtua,qryberamb,qnzvnab,pbasre,pbyyhz,pybjre,pybj,pynhffra,pynpx,pnlybe,pnjguba,pnfvnf,pneerab,oyhuz,ovatnzna,orjyrl,oryrj,orpxare,nhyq,nzrl,jbysraonetre,jvyxrl,jvpxyhaq,jnygzna,ivyynyon,inyreb,inyqbivabf,hat,hyyevpu,glhf,gjlzna,gebfg,gneqvs,gnathnl,fgevcyvat,fgrvaonpu,fuhzcreg,fnfnxv,fnccvatgba,fnaqhfxl,ervaubyq,ervareg,dhvwnab,clr,cynprapvn,cvaxneq,cuvaarl,creebggn,crearyy,cneergg,bkraqvar,bjrafol,bezna,ahab,zbev,zpeboregf,zparrfr,zpxnzrl,zpphyyhz,znexry,zneqvf,znvarf,yhrpx,yhova,yrsyre,yrssyre,ynevbf,ynoneoren,xrefuare,wbfrl,wrnaoncgvfgr,vmnthveer,urezbfvyyb,univynaq,unegfubea,unsare,tvagre,trggl,senapx,svfxr,qhserar,qbbql,qnivr,qnatresvryq,qnuyoret,phguoregfba,pebar,pbssryg,puvqrfgre,purffba,pnhyrl,pnhqryy,pnagnen,pnzcb,pnvarf,ohyyvf,ohppv,oebpuh,obtneq,ovpxrefgnss,oraavat,nembyn,nagbaryyv,nqxvafba,mryyref,jhys,jbefyrl,jbbyevqtr,juvggba,jrfgresvryq,jnypmnx,inffne,gehrgg,gehroybbq,genjvpx,gbjafyrl,gbccvat,gbone,grysbeq,fgrirefba,fgntt,fvggba,fvyy,fretrag,fpubrasryq,fnenovn,ehgxbjfxv,ehorafgrva,evtqba,ceragvff,cbzreyrnh,cyhzyrr,cuvyoevpx,crre,cngabqr,bybhtuyva,boertba,ahff,zberyy,zvxryy,zryr,zpvarearl,zpthvtna,zpoenlre,ybe,ybyyne,ynxrf,xhruy,xvamre,xnzc,wbcyva,wnpbov,ubjryyf,ubyfgrva,urqqra,unffyre,unegl,unyyr,tervt,tbhtr,tbbqehz,treuneg,trvre,trqqrf,tnfg,sberunaq,sreerr,sraqyrl,srygare,rfdhrqn,rapneanpvba,rvpuyre,rttre,rqzhaqfba,rngzba,qbhq,qbabubr,qbaryfba,qvyberamb,qvtvnpbzb,qvttvaf,qrybmvre,qrwbat,qnasbeq,pevccra,pbccntr,pbtfjryy,pyneql,pvbssv,pnor,oeharggr,oerfanuna,oenzoyr,oybzdhvfg,oynpxfgbar,ovyyre,orivf,orina,orguhar,oraobj,ongl,onfvatre,onypbz,naqrf,nzna,nthreb,nqxvffba,lnaqryy,jvyqf,juvfrauhag,jrvtnaq,jrrqra,ibvtug,ivyyne,gebggvre,gvyyrgg,fhnmb,frgfre,fpheel,fpuhu,fpuerpx,fpunhre,fnzben,ebnar,evaxre,ervzref,engpusbeq,cbcbivpu,cnexva,angny,zryivyyr,zpoelqr,zntqnyrab,ybrue,ybpxzna,yvatb,yrqhp,ynebppn,ynb,ynzrer,ynpynve,xenyy,xbegr,xbtre,wnyoreg,uhtuf,uvtorr,uragba,urnarl,unvgu,thzc,terrfba,tbbqybr,tubyfgba,tnfcre,tntyvneqv,sertbfb,sneguvat,snoevmvb,rafbe,ryfjvpx,rytva,rxyhaq,rnqql,qebhva,qbegba,qvmba,qrebhra,qrureeren,qnil,qnzcvre,phyyhz,phyyrl,pbjtvyy,pneqbfb,pneqvanyr,oebqfxl,oebnqorag,oevzzre,oevprab,oenafphz,obylneq,obyrl,oraavatgba,ornqyr,onhe,onyyragvar,nmher,nhygzna,nepvavrtn,nthvyn,nprirf,lrcrm,lnc,jbbqehz,jrguvatgba,jrvffzna,irybm,gehfgl,gebhc,genzzry,gnecyrl,fgviref,fgrpx,fcenloreel,fcenttvaf,fcvgyre,fcvref,fbua,frntenirf,fpuvsszna,ehqavpx,evmb,evppvb,eraavr,dhnpxraohfu,chzn,cybgg,crnepl,cnenqn,cnvm,zhasbeq,zbfxbjvgm,zrnfr,zpanel,zpphfxre,ybmbln,ybatzver,ybrfpu,ynfxl,xhuyznaa,xevrt,xbmvby,xbjnyrjfxv,xbaenq,xvaqyr,wbjref,wbyva,wnpb,uhn,ubetna,uvar,uvyrzna,urcare,urvfr,urnql,unjxvafba,unaavtna,unorezna,thvysbeq,tevznyqv,tnegba,tntyvnab,sehtr,sbyyrgg,svfphf,sreerggv,roare,rnfgreqnl,rnarf,qvexf,qvznepb,qrcnyzn,qrsberfg,pehpr,penvturnq,puevfgare,pnaqyre,pnqjryy,ohepuryy,ohrggare,oevagba,oenmvre,oenaara,oenzr,obin,obzne,oynxrfyrr,oryxanc,onatf,onymre,ngurl,nezrf,nyivf,nyirefba,nyineqb,lrhat,jurrybpx,jrfgyhaq,jrffryf,ibyxzna,guernqtvyy,guryra,gnthr,flzbaf,fjvasbeq,fghegrinag,fgenxn,fgvre,fgntare,frtneen,frnjevtug,ehgna,ebhk,evatyre,evxre,enzfqryy,dhnggyronhz,chevsbl,cbhyfba,crezragre,crybdhva,cnfyrl,cntry,bfzna,bonaaba,altnneq,arjpbzre,zhabf,zbggn,zrnqbef,zpdhvfgba,zpavry,zpznaa,zppenr,znlar,znggr,yrtnhyg,yrpuare,xhpren,xebua,xengmre,xbbczna,wrfxr,ubeebpxf,ubpx,uvooyre,urffba,urefu,uneiva,unyibefra,tevare,tevaqyr,tynqfgbar,tnebsnyb,senzcgba,sbeovf,rqqvatgba,qvbevb,qvathf,qrjne,qrfnyib,phepvb,pernfl,pbegrfr,pbeqbon,pbaanyyl,pyhss,pnfpvb,pnchnab,pnanqnl,pnynoeb,ohffneq,oenlgba,obewn,ovtyrl,neabar,nethryyrf,nphss,mnzneevcn,jbbgba,jvqare,jvqrzna,guerngg,guvryr,grzcyva,grrgref,flaqre,fjvag,fjvpx,fghetrf,fgbtare,fgrqzna,fcengg,fvrtsevrq,furgyre,fphyy,fnivab,fngure,ebgujryy,ebbx,ebar,eurr,dhrirqb,cevirgg,cbhyvbg,cbpur,cvpxry,crgevyyb,cryyrtevav,crnfyrr,cnegybj,bgrl,ahaarel,zberybpx,zberyyb,zrhavre,zrffvatre,zpxvr,zpphoova,zppneeba,yrepu,ynivar,yniregl,ynevivrer,ynzxva,xhtyre,xeby,xvffry,xrrgre,uhooyr,uvpxbk,urgmry,unlare,untl,unqybpx,tebu,tbggfpunyx,tbbqfryy,tnffnjnl,tneeneq,tnyyvtna,slr,svegu,sraqrefba,srvafgrva,rgvraar,ratyrzna,rzevpx,ryyraqre,qerjf,qbveba,qrtenj,qrrtna,qneg,pevffzna,pbee,pbbxfba,pbvy,pyrnirf,punerfg,punccyr,puncneeb,pnfgnab,pnecvb,olre,ohssbeq,oevqtrjngre,oevqtref,oenaqrf,obeereb,obanaab,nhor,napurgn,nonepn,nonq,lvz,jbbfgre,jvzohfu,jvyyuvgr,jvyynzf,jvtyrl,jrvforet,jneqynj,ivthr,inaubbx,haxabj,gbeer,gnfxre,gneobk,fgenpuna,fybire,funzoyva,frzcyr,fpuhlyre,fpuevzfure,fnlre,fnymzna,ehonypnin,evyrf,erarnh,ervpury,enlsvryq,enoba,clngg,cevaqyr,cbff,cbyvgb,cyrzzbaf,crfpr,creenhyg,crerlen,bfgebjfxv,avyfra,avrzrlre,zhafrl,zhaqryy,zbapnqn,zvpryv,zrnqre,zpznfgref,zpxrruna,zngfhzbgb,zneeba,zneqra,yvmneentn,yvatrasrygre,yrjnyyra,ynatna,ynznaan,xbinp,xvafyre,xrcuneg,xrbja,xnff,xnzzrere,wrsserlf,ulfryy,ubhfrubyqre,ubfzre,uneqargg,unaare,thlrggr,terravat,tynmre,tvaqre,sebzz,syhryyra,svaxyr,srl,srffyre,rffnel,rvfryr,qhera,qvggzre,pebpurg,pbfragvab,pbtna,pbryub,pniva,pneevmnyrf,pnzchmnab,oebhtu,obcc,obbxzna,oybhva,orrfyrl,onggvfgn,onfpbz,onxxra,onqtrgg,nearfba,nafryzb,nuhznqn,jbbqlneq,jbygref,jverzna,jvyyvfba,jnezna,jnyqehc,ibjryy,inagnffry,inyr,gjbzoyl,gbbzre,graavfba,grrgf,grqrfpuv,fjnaare,fghgm,fgryyl,furrul,fpurezreubea,fpnyn,fnaqvqtr,fnygref,fnyb,fnrpunb,ebfrobeb,ebyyr,erffyre,eram,eraa,erqsbeq,encbfn,envaobyg,cryserl,beaqbess,barl,abyva,avzzbaf,arl,aneqbar,zluer,zbezna,zrawvine,zptybar,zppnzzba,znkba,znepvnab,znahf,ybjenapr,yberamra,ybaretna,ybyyvf,yvggyrf,yvaqnuy,ynznf,ynpu,xhfgre,xenjpmlx,xahgu,xarpug,xvexraqnyy,xrvgg,xrrire,xnagbe,wneobr,ublr,ubhpuraf,ubygre,ubyfvatre,uvpxbx,uryjvt,urytrfba,unffrgg,uneare,unzzna,unzrf,unqsvryq,tberr,tbyqsneo,tnhtuna,tnhqernh,tnagm,tnyyvba,senql,sbgv,syrfure,sreeva,snhtug,ratenz,qbartna,qrfbhmn,qrtebbg,phgevtug,pebjy,pevare,pbna,pyvaxfpnyrf,purjavat,puniven,pngpuvatf,pneybpx,ohytre,ohraebfgeb,oenzoyrgg,oenpx,obhyjner,obbxbhg,ovgare,oveg,onenabjfxv,onvfqra,nhthfgva,nyyzba,npxyva,lbnxhz,jvyobhea,juvfyre,jrvaoretre,jnfure,infdhrf,inamnaqg,inanggn,gebkyre,gbzrf,gvaqyr,gvzf,guebpxzbegba,gunpu,fgcrgre,fgynherag,fgrafba,fcel,fcvgm,fbatre,faniryl,fyl,fueblre,fubegevqtr,furax,frivre,frnoebbx,fpeviare,fnygmzna,ebfraoreel,ebpxjbbq,eborfba,ebna,ervfre,enzverf,enore,cbfare,cbcunz,cvbgebjfxv,cvaneq,crgrexva,cryunz,crvssre,crnl,anqyre,zhffb,zvyyrgg,zrfgnf,zptbjra,znedhrf,znenfpb,znaevdhrm,znabf,znve,yvccf,yrvxre,xehzz,xabee,xvafybj,xrffry,xraqevpxf,xryz,vgb,vevpx,vpxrf,uheyoheg,ubegn,ubrxfgen,urhre,uryzhgu,urngureyl,unzcfba,untne,untn,terraynj,tenh,tbqorl,tvatenf,tvyyvrf,tvoo,tnlqra,tnhiva,tneebj,sbagnarm,sybevb,svaxr,snfnab,rmmryy,rjref,rirynaq,rpxraebqr,qhpybf,qehzz,qvzzvpx,qrynaprl,qrsnmvb,qnfuvryy,phfnpx,pebjgure,pevttre,penl,pbbyvqtr,pbyqveba,pyrynaq,punysnag,pnffry,pnzver,pnoenyrf,oebbzsvryq,oevggvatunz,oevffba,oevpxrl,oenmvry,oenmryy,oentqba,obhynatre,obf,obzna,obunaana,orrz,oneer,oncgvfg,nmne,nfuonhtu,nezvfgrnq,nyznmna,nqnzfxv,mraqrwnf,jvaohea,jvyynvzf,jvyubvg,jrfgoreel,jragmry,jraqyvat,ivffre,inafpbl,inaxvex,inyyrr,gjrrql,gubeaoreel,fjrral,fcenqyvat,fcnab,fzryfre,fuvz,frpuevfg,fpunyy,fpnvsr,ehtt,ebguebpx,ebrfyre,evruy,evqvatf,eraqre,enafqryy,enqxr,cvareb,crgerr,craqretnfg,cryhfb,crpbeneb,cnfpbr,cnarx,bfuveb,anineerggr,zhethvn,zbberf,zboret,zvpunryvf,zpjuvegre,zpfjrrarl,zpdhnqr,zppnl,znhx,znevnav,zneprnh,znaqrivyyr,znrqn,yhaqr,yhqybj,ybro,yvaqb,yvaqrezna,yrirvyyr,yrvgu,ynebpx,ynzoerpug,xhyc,xvafyrl,xvzoreyva,xrfgrefba,ublbf,urysevpu,unaxr,tevfol,tblrggr,tbhirvn,tynmvre,tvyr,treran,tryvanf,tnfnjnl,shapurf,shwvzbgb,sylag,srafxr,sryyref,srue,rfyvatre,rfpnyren,rapvfb,qhyrl,qvggzna,qvarra,qvyyre,qrinhyg,qnb,pbyyvatf,pylzre,pybjref,puniref,puneynaq,pnfgberan,pnfgryyb,pnznetb,ohapr,ohyyra,oblrf,obepuref,obepuneqg,oveaonhz,oveqfnyy,ovyyzna,oravgrf,onaxurnq,natr,nzzrezna,nqxvfba,jvartne,jvpxzna,jnee,jneaxr,ivyyrarhir,irnfrl,inffnyyb,inaanggn,inqanvf,gjvyyrl,gbjrel,gbzoyva,gvccrgg,gurvff,gnyxvatgba,gnynznagrf,fjneg,fjnatre,fgervg,fgvarf,fgnoyre,fcheyvat,fbory,fvar,fvzzref,fuvccl,fuvsyrgg,furneva,fnhgre,fnaqreyva,ehfpu,ehaxyr,ehpxzna,ebevr,ebrfpu,evpureg,eruz,enaqry,entva,dhrfraoreel,chragrf,cylyre,cybgxva,cnhtu,bfunhtuarffl,bunyybena,abefjbegul,avrznaa,anqre,zbbersvryq,zbbarlunz,zbqvpn,zvlnzbgb,zvpxry,zronar,zpxvaavr,znmherx,znapvyyn,yhxnf,ybivaf,ybhtuyva,ybgm,yvaqfyrl,yvqqyr,yrina,yrqrezna,yrpynver,ynffrgre,yncbvag,ynzbernhk,ynsbyyrggr,xhovnx,xvegyrl,xrssre,xnpmznerx,ubhfzna,uvref,uvooreg,ureebq,urtnegl,ungubea,terraunj,tensgba,tbirn,shgpu,shefg,senaxb,sbepvre,sbena,syvpxvatre,snvesvryq,rher,rzevpu,rzoerl,rqtvatgba,rpxyhaq,rpxneq,qhenagr,qrlb,qryirppuvb,qnqr,pheerl,perfjryy,pbggevyy,pnfninag,pnegvre,pnetvyr,pncry,pnzznpx,pnysrr,ohefr,oheehff,oehfg,oebhffrnh,oevqjryy,oenngra,obexubyqre,oybbzdhvfg,owbex,onegryg,nec,nzohetrl,lrnel,lnb,juvgrsvryq,ivalneq,inainyxraohet,gjvgpuryy,gvzzvaf,gnccre,fgevatunz,fgnepure,fcbggf,fynhtu,fvzbafra,furssre,frdhrven,ebfngv,eulzrf,ermn,dhvag,cbyynx,crvepr,cngvyyb,cnexrefba,cnvin,avyfba,ariva,anepvffr,anve,zvggba,zreevnz,zreprq,zrvaref,zpxnva,zpryirra,zporgu,znefqra,znerm,znaxr,znuheva,znoerl,yhcre,xehyy,xrrf,vyrf,uhafvpxre,ubeaohpxyr,ubygmpynj,uveg,uvaanag,urfgba,urevat,urzrajnl,urtjbbq,urneaf,unygrezna,thvgreerm,tebgr,tenavyyb,tenvatre,tynfpb,tvyqre,tneera,tneybpx,tnerl,selne,serqevpxf,senvmre,sbkk,sbfurr,sreery,srygl,rirevgg,riraf,rffre,ryxva,roreuneg,qhefb,qhthnl,qevfxvyy,qbfgre,qrjnyy,qrirnh,qrzcf,qrznvb,qryerny,qryrb,qrrz,qneenu,phzoreongpu,phyorefba,penazre,pbeqyr,pbytna,purfyrl,pninyyb,pnfgryyba,pnfgryyv,pneerenf,pnearyy,pneyhppv,obagentre,oyhzoret,oynfvatnzr,orpgba,nlba,negevc,naqhwne,nyxver,nyqre,ntna,mhxbjfxv,mhpxrezna,mrue,jeboyrjfxv,jevtyrl,jbbqfvqr,jvttvagba,jrfgzna,jrfgtngr,jregf,jnfunz,jneqybj,jnyfre,jnvgref,gnqybpx,fgevatsvryq,fgvzcfba,fgvpxyrl,fgnaqvfu,fcheyva,fcvaqyre,fcryyre,fcnrgu,fbgbznlbe,fbx,fyhqre,fuelbpx,furcneqfba,fungyrl,fpnaaryy,fnagvfgrina,ebfare,eubqr,erfgb,ervauneq,enguohea,cevfpb,cbhyfra,cvaarl,cunerf,craabpx,cnfgenan,bivrqb,bfgyre,abgb,anhzna,zhysbeq,zbvfr,zboreyl,zvenony,zrgblre,zrgural,zragmre,zryqehz,zpvaghess,zprylrn,zpqbhtyr,znffneb,yhzcxvaf,ybirqnl,ybstera,ybr,yverggr,yrfcrenapr,yrsxbjvgm,yrqtre,ynhmba,ynva,ynpuncryyr,xhem,xynffra,xrbhtu,xrzcgba,xnryva,wrssbeqf,uhbg,ufvru,ublre,ubejvgm,ubcc,ubrsg,uraavt,unfxva,tbheqvar,tbyvtugyl,tvebhneq,shytunz,sevgfpu,serre,senfure,sbhyx,sverfgbar,svberagvab,srqbe,rafyrl,ratyruneg,rryyf,rory,qhacul,qbanubr,qvyrb,qvorarqrggb,qnoebjfxv,pevpx,pbbaebq,pbaqre,pbqqvatgba,puhaa,publ,punchg,prean,pneerveb,pnynuna,oenttf,obheqba,obyyzna,ovggyr,oruz,onhqre,ongg,oneerenf,nhohpuba,namnybar,nqnzb,mreor,jveg,jvyypbk,jrfgoret,jrvxry,jnlzver,iebzna,ivapv,inyyrwbf,gehrfqryy,gebhgg,gebggn,gbyyvfba,gbyrf,gvpurabe,flzbaqf,fheyrf,fgenlre,fgtrbetr,febxn,fbeeragvab,fbynerf,faryfba,fvyirfgev,fvxbefxv,funjire,fpuhznxre,fpubee,fpubbyrl,fpngrf,fnggreyrr,fngpuryy,fnpxf,elzre,ebfryyv,ebovgnvyyr,evrtry,ertvf,ernzrf,cebiramnab,cevrfgyrl,cynvfnapr,crggrl,cnybznerf,bzna,abjnxbjfxv,anpr,zbarggr,zvalneq,zpynzo,zpubar,zppneebyy,znffba,zntbba,znqql,yhaqva,ybmn,yvpngn,yrbauneqg,yrzn,ynaqjrue,xvepure,xvapu,xnecvafxv,wbunaafra,uhffnva,ubhtugnyvat,ubfxvafba,ubyynjnl,ubyrzna,ubotbbq,uvyg,uvroreg,tebf,tbttva,trvffyre,tnqobvf,tnonyqba,syrfuzna,synaavtna,snvezna,rcc,rvyref,qlphf,qhazver,qhssvryq,qbjyre,qrybngpu,qrunna,qrrzre,pynlobea,puevfgbssrefb,puvyfba,purfarl,pungsvryq,pneeba,pnanyr,oevtzna,oenafgrggre,obffr,obegba,obane,oynh,oveba,oneebfb,nevfcr,mnpunevnf,mnory,lnrtre,jbbysbeq,jurgmry,jrnxyrl,irngpu,inaqrhfra,ghsgf,gebkry,gebpur,genire,gbjafry,gbfu,gnynevpb,fjvyyrl,fgreergg,fgratre,fcrnxzna,fbjneqf,fbhef,fbhqref,fbhqre,fbyrf,fboref,fabqql,fzvgure,fvnf,fuhgr,fubns,fununa,fpuhrgm,fpnttf,fnagvav,ebffba,ebyra,ebovqbhk,eragnf,erpvb,cvkyrl,cnjybjfxv,cnjynx,cnhyy,bireorl,berne,byvirev,byqraohet,ahggvat,anhtyr,zbgr,zbffzna,zbbe,zvfare,zvynmmb,zvpuryfba,zpragrr,zpphyyne,zpperr,zpnyrre,znmmbar,znaqryy,znanuna,znybgg,znvfbarg,znvyybhk,yhzyrl,ybjevr,ybhivrer,yvcvafxv,yvaqrznaa,yrccreg,yrbcbyq,yrnfher,ynonetr,xhovx,xavfryl,xarcc,xrajbegul,xraaryyl,xrypu,xnet,xnagre,ulre,ubhpuva,ubfyrl,ubfyre,ubyyba,ubyyrzna,urvgzna,uroo,unttvaf,tjnygarl,thva,tbhyqvat,tbeqra,trenpv,trbetrf,tnguref,sevfba,srntva,snypbare,rfcnqn,reivat,revxfba,rvfraunhre,rqre,roryvat,qhetva,qbjqyr,qvajvqqvr,qrypnfgvyyb,qrqevpx,pevzzvaf,pbiryy,pbheablre,pbevn,pbuna,pngnyqb,pnecragvre,pnanf,pnzcn,oebqr,oenfurnef,oynfre,ovpxaryy,orex,orqane,onejvpx,nfprapvb,nygubss,nyzbqbine,nynzb,mvexyr,mnonyn,jbyiregba,jvaroeraare,jrgureryy,jrfgynxr,jrtrare,jrqqvatgba,ibat,ghgra,gebfpynve,gerffyre,gurebhk,grfxr,fjvaruneg,fjrafra,fhaqdhvfg,fbhgunyy,fbpun,fvmre,fvyireoret,fubegg,fuvzvmh,fureeneq,funrssre,fpurvq,fpurrgm,fnenivn,fnaare,ehovafgrva,ebmryy,ebzre,eurnhzr,ervfvatre,enaqyrf,chyyhz,crgeryyn,cnlna,cncc,abeqva,abepebff,avpbyrggv,avpubyrf,arjobyq,anxntnjn,zenm,zbagrvgu,zvyfgrnq,zvyyvare,zryyra,zppneqyr,yhsg,yvcgnx,yvcc,yrvgpu,yngvzber,yneevfba,ynaqnh,ynobeqr,xbiny,vmdhvreqb,ulzry,ubfxva,ubygr,ubrsre,unljbegu,unhfzna,uneevyy,uneery,uneqg,thyyl,tebbire,tevaaryy,terrafcna,tenire,tenaqoreel,tbeeryy,tbyqraoret,tbthra,tvyyrynaq,tnee,shfba,sblr,sryqznaa,rireyl,qlrff,qlny,qhaavtna,qbjavr,qbyol,qrngurentr,pbfrl,purrire,prynln,pnire,pnfuvba,pncyvatre,pnafyre,oletr,oehqre,oerhre,oerfyva,oenmrygba,obgxva,obaarnh,obaqhenag,obunana,obthr,obrf,obqare,obngare,oyngg,ovpxyrl,oryyvirnh,orvyre,orvre,orpxfgrnq,onpuznaa,ngxva,nygvmre,nyybjnl,nyynver,nyoeb,noeba,mryyzre,lrggre,lryiregba,jvygfuver,jvraf,juvqqra,ivenzbagrf,inajbezre,gnenagvab,gnaxfyrl,fhzyva,fgenhpu,fgenat,fgvpr,fcnua,fbfrorr,fvtnyn,fuebhg,frnzba,fpuehz,fpuarpx,fpunagm,ehqql,ebzvt,ebruy,eraavatre,erqvat,clar,cbynx,cbuyzna,cnfvyynf,byqsvryq,byqnxre,bunayba,btvyivr,abeoret,abyrggr,avrf,arhsryq,aryyvf,zhzzreg,zhyivuvyy,zhyynarl,zbagryrbar,zraqbapn,zrvfare,zpzhyyna,zppyharl,znggvf,znffratvyy,znaserqv,yhrqgxr,ybhafohel,yvorengber,yrrx,ynzcurer,ynsbetr,xhb,xbb,wbheqna,vfznvy,vbevb,vavthrm,vxrqn,uhoyre,ubqtqba,ubpxvat,urnpbpx,unfynz,unenyfba,unafunj,unaahz,unyynz,unqra,tnearf,tneprf,tnzzntr,tnzovab,svaxry,snhprgg,snul,rueuneqg,rttra,qhfrx,qheenag,qhonl,qbarf,qrl,qrcnfdhnyr,qryhpvn,qrtenss,qrpnzc,qninybf,phyyvaf,pbaneq,pybhfre,pybagm,pvshragrf,punccry,punssvaf,pryvf,pnejvyr,olenz,oehttrzna,oerffyre,oengujnvgr,oenfsvryq,oenqohea,obbfr,obba,obqvr,oybffre,oynf,ovfr,oregfpu,oreaneqv,oreanor,oratgfba,oneerggr,nfgbetn,nyqnl,nyorr,noenunzfba,lnearyy,jvygfr,jvyr,jvror,jnthrfcnpx,inffre,hcunz,gler,gherx,genkyre,gbenva,gbznfmrjfxv,gvaava,gvare,gvaqryy,grrq,fgleba,fgnuyzna,fgnno,fxvon,fuvu,furcreq,frvqy,frpbe,fpuhggr,fnasvyvccb,ehqre,ebaqba,ernevpx,cebpgre,cebpunfxn,crggratvyy,cnhyl,arvyfra,anyyl,zhggre,zhyyrank,zbenab,zrnqf,zpanhtugba,zpzhegel,zpzngu,zpxvafrl,znggurf,znffraohet,zneyne,znetbyvf,znyva,zntnyyba,znpxva,ybirggr,ybhtuena,ybevat,ybatfgerrg,ybvfryyr,yravuna,ynho,xhamr,xhyy,xbrcxr,xrejva,xnyvabjfxv,xntna,vaavf,vaarf,ubygmzna,urvarznaa,unefuzna,unvqre,unnpx,thff,tebaqva,tevffrgg,terranjnyg,teniry,tbhql,tbbqyrgg,tbyqfgba,tbxrl,tneqrn,tnynivm,tnssbeq,tnoevryfba,sheybj,sevgpu,sbeqlpr,sbytre,ryvmnyqr,ruyreg,rpxubss,rppyrfgba,rnyrl,qhova,qvrzre,qrfpunzcf,qryncran,qrpvppb,qrobyg,qnhz,phyyvana,pevggraqba,penfr,pbffrl,pbccbpx,pbbgf,pbylre,pyhpx,punzoreynaq,ohexurnq,ohzchf,ohpuna,obezna,obex,obr,ovexubym,oreneqv,oraqn,oruaxr,onegre,nhre,nzrmdhvgn,jbgevat,jvegm,jvatreg,jvrfare,juvgrfvqrf,jrlnag,jnvafpbgg,irarmvn,inearyy,ghffrl,guheybj,gnonerf,fgvire,fgryy,fgnexr,fgnaubcr,fgnarx,fvfyre,fvaabgg,fvpvyvnab,furuna,frycu,frntre,fpheybpx,fpenagba,fnaghppv,fnagnatryb,fnygfzna,ehry,ebcc,ebttr,erggvt,erajvpx,ervql,ervqre,erqsvryq,dhnz,cerzb,crrg,cneragr,cnbyhppv,cnyzdhvfg,bezr,buyre,btt,arguregba,zhgpuyre,zbevgn,zvfgerggn,zvaavf,zvqqraqbes,zramry,zraqbfn,zraqryfba,zrnhk,zpfcnqqra,zpdhnvq,zpangg,znavtnhyg,znarl,zntre,yhxrf,ybcerfgv,yvevnab,yvcgba,yrgfba,yrpuhtn,ynmraol,ynhevn,ynevzber,xjbx,xjnx,xehcc,xehcn,xehz,xbcrp,xvapura,xvsre,xrearl,xreare,xraavfba,xrtyrl,xnlf,xnepure,whfgvf,wbufba,wryyvfba,wnaxr,uhfxvaf,ubymzna,uvabwbf,ursyrl,ungznxre,unegr,unyybjnl,unyyraorpx,tbbqjla,tynfcvr,trvfr,shyyjbbq,selzna,serj,senxrf,senver,sneere,raybj,ratra,ryymrl,rpxyrf,rneyrf,rnyl,qhaxyrl,qevaxneq,qervyvat,qenrtre,qvaneqb,qvyyf,qrfebpurf,qrfnagvntb,pheyrr,pehzoyrl,pevgpuybj,pbhel,pbhegevtug,pbssvryq,pyrrx,punecragvre,pneqbar,pncyrf,pnagva,ohagva,ohtorr,oevaxreubss,oenpxva,obheynaq,obuy,obtqna,oynffvatnzr,ornpunz,onaavat,nhthfgr,naqernfra,nznaa,nyzba,nyrwb,nqryzna,nofgba,mrab,lretre,jlzre,jbbqoreel,jvaqyrl,juvgrnxre,jrfgsvryq,jrvory,jnaare,jnyqerc,ivyynav,inanefqnyr,hggreonpx,hcqvxr,gevttf,gbcrgr,gbyne,gvtare,gubzf,gnhore,gneiva,gnyyl,fjvarl,fjrngzna,fghqronxre,fgraargg,fgneergg,fgnaaneq,fgnyirl,fbaaraoret,fzvgurl,fvrore,fvpxyrf,fuvanhyg,frtnef,fnatre,fnyzreba,ebgur,evmmv,evar,evpneq,erfgercb,enyyf,enthfn,dhvebtn,creb,crtt,cniyvx,cncrashff,bebcrmn,bxnar,arre,arr,zhqtr,zbmvatb,zbyvaneb,zpivpxre,zptneirl,zpsnyyf,zppenarl,znghf,zntref,yynabf,yvirezber,yvff,yvaruna,yrgb,yrvgare,ynlzba,ynjvat,ynpbhefr,xjbat,xbyyne,xarrynaq,xrb,xraargg,xryyrgg,xnatnf,wnamra,uhggre,uhfr,uhyvat,ubff,ubua,ubszrvfgre,urjrf,urea,unewb,unovo,thfg,thvpr,tehyyba,terttf,tenlre,tenavre,tenoyr,tbjql,tvnaavav,trgpuryy,tnegzna,tneavpn,tnarl,tnyyvzber,senl,srggref,sretrefba,sneybj,snthaqrf,rkyrl,rfgrirf,raqref,rqrasvryq,rnfgrejbbq,qenxrsbeq,qvcnfdhnyr,qrfbhfn,qrfuvryqf,qrrgre,qrqzba,qrobeq,qnhtugrel,phggf,pbhegrznapur,pbhefrl,pbccyr,pbbzrf,pbyyvf,pbyy,pbtohea,pybcgba,pubdhrggr,punvqrm,pnfgerwba,pnyubba,oheonpu,ohyybpu,ohpuzna,oehua,obuba,oybhtu,ovra,onlarf,onefgbj,mrzna,mnpxrel,lneqyrl,lnznfuvgn,jhyss,jvyxra,jvyvnzf,jvpxrefunz,jvoyr,juvcxrl,jrqtrjbegu,jnyzfyrl,jnyxhc,ierrynaq,ireevyy,inyren,hznan,genho,fjvatyr,fhzzrl,fgebhcr,fgbpxfgvyy,fgrssrl,fgrsnafxv,fgngyre,fgncc,fcrvtugf,fbynev,fbqreoret,fuhax,fuberl,furjznxre,furvyqf,fpuvssre,fpunax,fpunss,fntref,ebpuba,evfre,evpxrgg,ernyr,entyva,cbyra,cyngn,cvgpbpx,crepviny,cnyra,cnuy,beban,boreyr,abpren,aninf,anhyg,zhyyvatf,zbbf,zbagrwnab,zbaerny,zvavpx,zvqqyroebbx,zrrpr,zpzvyyvba,zpphyyra,znhpx,znefuohea,znvyyrg,znunarl,zntare,znpyva,yhprl,yvggreny,yvccvapbgg,yrvgr,yrvf,yrnxf,ynzneer,xbfg,whetraf,wrexvaf,wntre,uhejvgm,uhtuyrl,ubgnyvat,ubefgzna,ubuzna,ubpxre,uviryl,uvccf,uvyr,urffyre,ureznafba,urcjbegu,uraa,uryynaq,urqyhaq,unexyrff,unvtyre,thgvrerm,tevaqfgnss,tynagm,tvneqvan,trexra,tnqfqra,svaaregl,sryq,sneahz,rapvanf,qenxrf,qraavr,phgyvc,phegfvatre,pbhgb,pbegvanf,pbeol,puvnffba,pneyr,pneonyyb,oevaqyr,obehz,obore,oyntt,ovex,oreguvnhzr,ornuz,ongerf,onfavtug,onpxrf,nkgryy,nhfg,nggreoreel,nyinerf,nyg,nyrtevn,lbj,lvc,jbbqryy,jbwpvrpubjfxv,jvaserr,jvaohfu,jvrfg,jrfare,jnzfyrl,jnxrzna,ireare,gehrk,gensgba,gbzna,gubefra,gurhf,gryyvre,gnyynag,fmrgb,fgebcr,fgvyyf,fbet,fvzxvaf,fuhrl,funhy,freiva,frevb,frensva,fnythreb,fnon,elrefba,ehqqre,ehnex,ebgure,ebueonhtu,ebueonpu,ebuna,ebtrefba,evfure,evtt,errfre,celpr,cebxbc,cevaf,cevror,cerwrna,cvaurveb,crgebar,crgev,crafba,crneyzna,cnevxu,angbyv,zhenxnzv,zhyyvxva,zhyynar,zbgrf,zbeavatfgne,zbaxf,zpirvtu,zptenql,zptnhturl,zppheyrl,znfv,znepuna,znafxr,znrm,yhfol,yvaqr,yvyr,yvxraf,yvpba,yrebhk,yrznver,yrtrggr,ynk,ynfxrl,yncenqr,yncynag,xbyne,xvggerqtr,xvayrl,xreore,xnantl,wrggba,wnavx,vccbyvgb,vabhlr,uhafvatre,ubjyrl,ubjrel,ubeeryy,ubygunhf,uvare,uvyfba,uvyqreoenaq,unfna,unegmyre,uneavfu,unenqn,unafsbeq,unyyvtna,untrqbea,tjlaa,thqvab,terrafgrva,terrne,tenprl,tbhqrnh,tbfr,tbbqare,tvafohet,tregu,treare,slsr,shwvv,sevre,serarggr,sbyzne,syrvfure,syrvfpuznaa,srgmre,rvfrazna,rneuneg,qhchl,qhaxryoretre,qerkyre,qvyyvatre,qvyorpx,qrjnyq,qrzol,qrsbeq,qnxr,penvar,pbzb,purfahg,pnfnql,pnefgraf,pneevpx,pnevab,pnevtana,pnapubyn,pnyr,ohfubat,ohezna,ohbab,oebjaybj,oebnpu,oevggra,oevpxubhfr,oblqra,obhygba,obear,obeynaq,obuere,oyhonhtu,orire,orettera,orarivqrf,nebpub,neraqf,nzrmphn,nyzraqnerm,mnyrjfxv,jvgmry,jvaxsvryq,jvyubvgr,inen,inathaql,inasyrrg,inarggra,inaqretevss,heonafxv,gebvnab,guvobqnhk,fgenhf,fgbarxvat,fgwrna,fgvyyvatf,fgnatr,fcrvpure,fcrrtyr,fbjn,fzrygmre,fynjfba,fvzzbaqf,fuhggyrjbegu,frecn,fratre,frvqzna,fpujrvtre,fpuybff,fpuvzzry,fpurpugre,fnlyre,fnoo,fnongvav,ebana,ebqvthrm,evttyrzna,evpuvaf,errc,ernzre,cehagl,cbengu,cyhax,cvynaq,cuvyoebbx,crggvgg,crean,crenyrm,cnfpnyr,cnqhyn,boblyr,aviraf,avpxbyf,zhecu,zhaqg,zhaqra,zbagvwb,zpznavf,zptenar,zppevzzba,znamv,znatbyq,znyvpx,znune,znqqbpx,ybfrl,yvggra,yvare,yrss,yrrql,yrniryy,ynqhr,xenua,xyhtr,whaxre,virefra,vzyre,uhegg,uhvmne,uhooreg,ubjvatgba,ubyybzba,ubyqera,ubvfvatgba,uvfr,urvqra,unhtr,unegvtna,thgveerm,tevssvr,terrauvyy,tenggba,tenangn,tbggsevrq,tregm,tnhgernhk,sheel,sherl,shaqreohet,syvccra,svgmtvooba,qlne,qehpxre,qbabtuhr,qvyql,qriref,qrgjrvyre,qrfcerf,qraol,qrtrbetr,phrgb,penafgba,pbheivyyr,pyhxrl,pvevyyb,puba,puviref,pnhqvyyb,pngg,ohgren,ohyyhpx,ohpxznfgre,oenhafgrva,oenpnzbagr,obheqrnh,obaarggr,obonqvyyn,obnm,oynpxyrqtr,orfurnef,oreauneq,oretrfba,onire,onegury,onyfnzb,onx,nmvm,njnq,nhgurzrag,nygbz,nygvrev,noryf,mvtyre,muh,lbhaxre,lrbznaf,lrnejbbq,jhefgre,jvatrg,juvgfrgg,jrpufyre,jrngurejnk,jngura,jneevare,jnanznxre,jnyenira,ivraf,inaqrznex,inapnzc,hpuvqn,gevnan,gvabpb,grecfgen,gryyvf,gneva,gnenagb,gnxnpf,fghqqneq,fgehguref,fgebhg,fgvyyre,fcngneb,fbqredhvfg,fyvtre,fvyorezna,fuhegyrss,furrgm,evgpu,ervs,enloba,engmynss,enqyrl,chgg,chgarl,cvarggr,cvare,crgeva,cnevfr,bfobhear,alzna,abeguvatgba,aboyvgg,avfuvzhen,arure,anyyf,anppnengb,zhpun,zbhapr,zveba,zvyyvf,zrnarl,zpavpubyf,zpxvaavf,zpwhaxva,zpqhssl,znaevdhr,znaavba,znathny,znyirnhk,znvaf,yhzfqra,ybuznaa,yvcr,yvtugfrl,yrznfgref,yrvfg,ynkgba,ynireevrer,yngbeer,ynzbaf,xeny,xbcs,xanhre,xvgg,xnhy,xnenf,xnzcf,whfvab,vfynz,uhyyvatre,uhtrf,ubeahat,uvfre,urzcry,uryfry,unffvatre,unetenirf,unzzrf,unyyoret,thgzna,thzof,tehire,tenqql,tbafnyrf,tbapnyirf,tyraaba,tvysbeq,trab,serfubhe,syvccb,svsre,snfba,sneevfu,snyyva,rjreg,rfgrcc,rfphqreb,rafzvatre,rzoregba,ryzf,ryyreor,rvqr,qlfneg,qbhtna,qvrexvat,qvphf,qrgevpx,qrebpur,qrchr,qrznegvab,qrybferlrf,qnyxr,phyoerngu,pebjabire,pevfyre,penff,pbefv,puntaba,pragref,pninantu,pnffba,pnebyyb,pnqjnyynqre,oheayrl,ohepvntn,ohepuneq,oebnqurnq,obygr,oreraf,oryyzna,oryyneq,onevy,nagbahppv,jbystenz,jvafbe,jvzovfu,jvre,jnyynpu,ivirebf,iragb,ineyrl,inafylxr,inatbeqre,gbhpufgbar,gbzxb,gvrznaa,guebbc,gnzhen,gnyznqtr,fjnlmr,fgheqrinag,fgenhfre,fgbym,fgraoret,fgnlgba,fcbua,fcvyyref,fcvyynar,fyhff,fyniraf,fvzbarggv,fubsare,furnq,frarpny,frnyrf,fpuhryre,fpuyrl,fpunpug,fnhir,fneab,fnyfohel,ebgufpuvyq,ebfvre,evarf,eriryrf,erva,erqhf,erqsrea,erpx,enaarl,enttf,cebhg,cevyy,ceroyr,centre,cyrzbaf,cvyba,cvppvevyyb,crjvgg,crfvan,crpben,bgnav,befvav,brfgervpu,bqrn,bpnyyntuna,abeguhc,avrunhf,arjoret,anffre,aneeba,zbaneerm,zvfuyre,zpfureel,zpryserfu,znlba,znhre,znggvpr,zneebar,znezbyrwb,znevav,znyz,znpura,yhaprsbeq,ybrjra,yvirezna,yvgjva,yvafpbgg,yrivaf,yrabk,yrtnfcv,yrrzna,yrnil,ynaaba,ynzfba,ynzoqva,ynoneer,xabhfr,xyrzz,xyrvafpuzvqg,xvexyva,xrryf,whyvnab,ubjfre,ubfvre,ubcjbbq,ubylsvryq,ubqargg,uvefu,urvznaa,urpxry,unetre,unzvy,unwrx,thetnahf,thaavat,tenatr,tbamnynf,tbttvaf,trebj,tnlqbf,tneqhab,tnayrl,tnyrl,sneare,ratyrf,rzbaq,rzreg,ryyraohet,rqvpx,qhryy,qbenmvb,qvzbaq,qvrqrevpu,qrchl,qrzcfgre,qrznevn,qrublbf,qrnegu,qrnyon,pmrpu,pebfr,perfcva,pbtqvyy,pyvaneq,pvcevnab,puergvra,preal,pravprebf,pryrfgva,pncyr,pnpub,oheevyy,ohue,ohpxynaq,oenanz,oblfra,obirr,obbf,obyre,oybz,oynfxb,orlref,orym,oryzbagr,orqanem,orpxznaa,ornhqva,onmvyr,oneornh,onyragvar,noenunzf,mvryxr,lhaxre,lrngrf,jebory,jvxr,juvfanag,jureel,jntaba,ibtna,inafnag,inaarfg,inyyb,hyyrel,gbjyrf,gbjryy,guvyy,gnbezvan,gnaaruvyy,gnvat,fgbeef,fgvpxyrf,fgrgyre,fcneyvat,fbyg,fvypbk,furneq,funqyr,frzna,fryyrpx,fpuyrzzre,fpure,fncvra,fnvam,eblr,ebznva,evmmhgb,erfpu,eragm,enfpu,enavrev,chegryy,cevzzre,cbegjbbq,cbagvhf,cbaf,cyrgpure,cyrqtre,cvexyr,cvyyfohel,cragrpbfg,cnkfba,begrm,byrf,zhyyrgg,zhveurnq,zbhmba,zbex,zbyyrgg,zbua,zvgpunz,zryvyyb,zrqqref,zpzvyyre,zppyrrel,zppnhturl,znx,znpvrwrjfxv,znpnhynl,yhgr,yvczna,yrjgre,ynebpdhr,ynatgba,xevare,xavcc,xvyyrra,xnea,xnyvfu,xnpmbe,wbafba,wrerm,wneeneq,wnaqn,ulzrf,ubyyzna,ubyynaqfjbegu,ubyy,uboql,uraara,urzzre,untvaf,unqqbk,thvgvreerm,threafrl,tbefhpu,tubyfba,trabin,tnmnjnl,tnhan,tnzzbaf,serryf,sbaivyyr,srggrezna,snin,snedhune,snevfu,snoryn,rfpbgb,rvfra,qbffrgg,qbevgl,qbeszna,qrzzre,qrua,qnjyrl,qneobaar,qnzber,qnzz,pebfyrl,peba,pebzcgba,pevpugba,pbgare,pbeqba,pbareyl,pbyineq,pynhfba,purrfrzna,pninyyneb,pnfgvyyr,pnoryyb,ohetna,ohsshz,oehff,oenffsvryq,objrezna,obgujryy,obetra,obancnegr,obzoneq,obviva,obvffbaarnhyg,obtare,obqqra,obna,ovggvatre,ovpxunz,orqbyyn,onyr,onvaoevqtr,nlone,niraqnab,nfuybpx,nzvqba,nyznamne,nxevqtr,npxreznaa,mntre,jbeenyy,jvanaf,jvyfrl,jvtugzna,jrfgevpx,jraare,jnear,jnesbeq,ireivyyr,hgrpug,hcfba,ghzn,gfrat,gebapbfb,gebyyvatre,gbeoreg,gnhyorr,fhggresvryq,fgbhtu,fgbepu,fgbaroenxre,fgbyyr,fgvyfba,fgvrsry,fgrcgbr,fgrcarl,fgraqre,fgrzcyr,fgnttref,fcheevre,fcvaarl,fcratyre,fznegg,fxbbt,fvyivf,fvrt,fuhsbeq,frysevqtr,frthva,frqtjvpx,frnfr,fpbggv,fpuebre,fpuyraxre,fpuvyy,fninerfr,fncvramn,fnafba,fnaqrshe,fnynzbar,ehfanx,ehqvfvyy,ebgurezry,ebpn,erfraqvm,eryvsbeq,enfpb,envsbeq,dhvfraoreel,dhvwnqn,chyyvaf,chppvb,cbfgryy,cbccr,cvagre,cvpur,crgehppv,cryyrteva,crynrm,cngba,cnfpb,cnexrf,cnqra,cnofg,byzfgrq,arjyba,zlangg,zbjre,zbeebar,zberr,zbssng,zvkfba,zvaare,zvyyrggr,zrqrebf,zptnuna,zppbaivyyr,znhtuna,znffvatvyy,znenab,znpev,ybirea,yvpugrafgrva,yrbarggv,yruare,ynjyrl,ynenzvr,ynccva,ynugv,yntb,ynpnlb,xhrfgre,xvapnqr,whuy,wveba,wrffbc,wnebfm,wnva,uhygf,ubtr,ubqtvaf,ubona,uvaxfba,uvyylneq,uremvt,ureirl,uraevxfra,unjxre,unhfr,unaxrefba,tertfba,tbyyvqnl,tvypernfr,trffare,trenpr,tnejbbq,tnefg,tnvyyneq,syvapuhz,svfury,svfuonpx,svyxvaf,sragerff,snoer,rguvre,rvfare,rueuneg,rsveq,qeraaba,qbzval,qbzvathr,qvcnbyb,qvana,qvznegvab,qrfxvaf,qratyre,qrservgnf,qrsenapb,qnuyva,phgfunj,phguoreg,peblyr,pebguref,pevgpusvryq,pbjvr,pbfgare,pbccrqtr,pbcrf,pvppbar,pnhsvryq,pncb,pnzoeba,pnzoevqtr,ohfre,ohearf,ohuy,ohraqvn,oevaqyrl,oerpug,obhetbva,oynpxfuver,ovetr,oraavatre,orzoel,orvy,ortnlr,oneeragvar,onagba,onyzre,onvgl,nhreonpu,nzoyre,nyrknaqer,npxrefba,mhepure,mryy,jlaxbbc,jnyyvpx,jnvq,ibf,ivmpnvab,irfgre,irnyr,inaqreznex,inaqresbeq,ghguvyy,gevirggr,guvrffra,grjxfohel,gnb,gnoeba,fjnfrl,fjnavtna,fgbhtugba,fgbhqg,fgvzfba,fgrpxre,fgrnq,fcnql,fbhgure,fzbnx,fxyne,fvzpbk,fvqjryy,frloreg,frfpb,frrzna,fpujrax,fpuzryvat,ebffvtaby,ebovyyneq,ebovpurnhk,evirevn,evccrba,evqtyrl,erznyrl,eruxbc,erqqvfu,enhfpure,dhvevba,chfrl,cehqra,cerffyre,cbgiva,cbfcvfvy,cnenqvfb,cnatohea,cnyzngrre,bjaol,bgjryy,bfgreoret,bfzbaq,byffba,boreynaqre,ahfonhz,abinpx,abxrf,avpnfgeb,aruyf,anore,zhyurea,zbggre,zbergm,zvyvna,zpxrry,zppynl,zppneg,zngfhqn,zneghppv,znecyr,znexb,znepvavnx,znarf,znapvn,znpenr,ylonetre,yvag,yvaroretre,yrivatfgba,yrpebl,ynggvzre,ynfrgre,xhyvpx,xevre,xahgfra,xyrz,xvaar,xvaxnqr,xrggrezna,xrefgrggre,xrefgra,xnenz,wbfuv,wrag,wrspbng,uvyyvre,uvyyubhfr,urggvatre,uragubea,urayvar,urymre,urvgmzna,urvarzna,urrana,unhtugba,unevf,uneoreg,unzna,tevafgrnq,terzvyyvba,tbeol,tvenyqb,tvbvn,treneqv,trentugl,tnhag,tngfba,tneqva,tnaf,tnzzvyy,sevrqynaqre,senuz,sbffrgg,sbfqvpx,sbeohfu,sbaqera,syrpxrafgrva,svgpurgg,svyre,sryvm,srvfg,rjneg,rfgref,ryfare,rqtva,rnfgreyl,qhffnhyg,qhenmb,qrirernhk,qrfubgry,qrpxreg,qnetna,pbeazna,pbaxyr,pbaqvg,pynhapu,pynonhtu,purrfzna,purn,punearl,pnfryyn,pnebar,pneobaryy,pnavcr,pnzcnan,pnyyrf,pnormnf,pnoryy,ohggenz,ohfgvyybf,ohfxvex,oblynaq,obhexr,oynxryrl,orehzra,oreevre,oryyv,orueraqg,onhzonpu,onegfpu,onarl,nenzohyn,nyyqerqtr,nyyoevggba,mvrzon,mnaqref,lbhatdhvfg,lbfuvbxn,lbur,jhaqre,jbbqsva,jbwgbjvpm,jvaxry,jvyzber,jvyyonaxf,jrfbybjfxv,jraqynaq,jnyxb,ibgnj,inarx,hevnegr,heonab,gheavcfrrq,gevpur,genhgzna,gbjyre,gbxnem,grzcyrf,grssg,grrtneqra,flrq,fjvtneg,fgbyyre,fgncyre,fgnafsvryq,fzvg,fzryyrl,fvpneq,fuhyzna,furj,furne,furnuna,funecgba,fryivqtr,fpuyrfvatre,fniryy,fnaqsbeq,fnongvab,ebfraoybbz,ebrcxr,evfu,eunzrf,eraxra,ertre,dhnegrezna,chvt,cenfnq,cbcyne,cvmnab,cvtbgg,cunve,crgevpx,cngg,cnfphn,cnenzber,cncvarnh,byvivrev,btera,abeqra,abtn,avforg,zhax,zbeinag,zbeb,zbybarl,zrem,zrygmre,zryyvatre,zruy,zparnyl,zpxreana,zpunarl,zppyrfxrl,zpnaqerjf,znlgba,znexreg,znerfpn,znare,znaqhwnab,znycnff,znpvagler,ylggba,ylnyy,yhzzhf,ybatfuber,ybatsryybj,ybxrl,ybpure,yrirerggr,yrcr,yrsrire,yrrfba,yrqrere,ynzcreg,yntebar,xervqre,xbegu,xabcs,xyrvfg,xrygare,xryyvat,xnfcne,xnccyre,wbfrcuf,uhpxvaf,ubyho,ubsfgrggre,ubrua,uvttvafba,uraavatf,urvq,uniry,unhre,uneaqra,uneternirf,unatre,thvyq,thvqv,tengr,tenaql,tenaqfgnss,tbmn,tbbqevqtr,tbbqsryybj,tbttnaf,tbqyrl,tvhfgv,tvylneq,trbturtna,tnylba,tnrgn,sharf,sbag,synanel,snyrf,reynaqfba,ryyrgg,rqvatre,qmvrqmvp,qhree,qenhtua,qbabub,qvznggrb,qribf,qrznggrb,qrtana,qneyvatgba,qnavf,qnuyfgebz,qnuyxr,pmnwxbjfxv,phzovr,phyoreg,pebfvre,pebyrl,pbeel,pyvatre,punyxre,prcunf,pnljbbq,pncruneg,pnyrf,pnqvm,ohffvrer,oheevff,ohexneg,oehaqvqtr,oebafgrva,oenqg,oblqfgba,obfgebz,obery,obyyrf,oynl,oynpxjryqre,ovffrgg,oriref,orfgre,oreaneqvab,orarsvry,orybgr,orrqyr,orpxyrf,onlfvatre,onffyre,onegrr,oneyrgg,onetnf,onersvryq,oncgvfgn,negreohea,neznf,nccrefba,nzbebfb,nzrqrr,mhyyb,mryyare,lrygba,jvyyrzf,jvyxva,jvttva,jvqzna,jryx,jrvatnegra,jnyyn,ivref,irff,ireqv,irnmrl,inaabgr,ghyybf,gehqryy,gebjre,gebfcre,gevzz,gerj,gbhfvtanag,gbcc,gbppb,guberfba,greuhar,gngbz,fhavtn,fhzgre,fgrrirf,fgnafryy,fbygvf,fybff,fynira,fuvfyre,funayrl,freinagrf,fryqref,frterfg,frrfr,frrore,fpunvoyr,fninyn,fnegbe,ehgg,ehzonhtu,ehvf,ebgra,ebrffyre,evgrabhe,evarl,erfgvib,eraneq,enxrfgenj,enxr,dhvebf,chyyva,cehqubzzr,cevzrnhk,cerfgevqtr,cerffjbbq,cbagr,cbymva,cbnepu,cvggratre,cvttbgg,cvpxryy,cunarhs,cneiva,cnezyrl,cnyzrev,bmzrag,bezbaq,beqnm,bab,byrn,bonavba,bnxzna,abivpx,avpxynf,arzrp,anccv,zhaq,zbesva,zren,zrytbmn,zryol,zptbyqevpx,zpryjnva,zppuevfgvna,zppnj,znedhneg,zneyngg,znexbivpu,znue,yhcgba,yhphf,ybehffb,yrezna,yrqql,yrnzna,yrnpuzna,yninyyr,ynqhxr,xhzzre,xbhel,xbabcxn,xbu,xbrcc,xybff,xybpx,xunyvy,xreana,xnccry,wnxrf,vabhr,uhgfryy,ubjyr,ubaber,ubpxzna,ubpxnqnl,uvygm,urgurevatgba,urffre,urefuzna,ursseba,urnqra,unfxrgg,unegyvar,unearq,thvyyrzrggr,thtyvryzb,threpvb,terraonhz,tbevf,tyvarf,tvyzbhe,tneqryyn,tnqq,tnoyre,tnooreg,shfryvre,serhqraohet,sentbfb,sbyyvf,syrzvatf,srygzna,srohf,sneera,snyyvf,rireg,rxfgebz,rnfgevqtr,qlpx,qhsnhyg,qhoerhvy,qencrnh,qbzvathrf,qbyrmny,qvaxry,qvqbangb,qrivgg,qrzbgg,qnhtugerl,qnhoreg,qnf,pernfba,penel,pbfgvyyn,puvccf,purngjbbq,pnezrna,pnagba,pnsserl,oheture,ohxre,oehax,oebqorpx,oenagare,obyvine,obreare,obqxva,ovry,orapbzb,oryyvab,oryvirnh,ornhinvf,ornhcer,onlyvf,onfxrgg,onephf,onygm,nfnl,nearl,nephev,naxarl,ntbfgvav,nqql,mjvyyvat,mhovn,mbyyvatre,mrvgm,lnarf,jvafuvc,jvaavatunz,jvpxyvar,jroer,jnqqvatgba,ibfohetu,ireergg,ineahz,inaqriragre,inppn,hfel,gbjel,gbhpurg,gbbxrf,gbaxva,gvzxb,gvoovggf,gurqsbeq,gneyrgba,gnygl,gnynznagrm,gnsbyyn,fhtt,fgerpxre,fgrssna,fcvin,fyncr,fungmre,frlyre,frnznaf,fpuznygm,fpuvccre,fnffb,ehccr,ebhqrohfu,evrzre,evpunefba,erivyyn,ervpuraonpu,engyrl,envyfonpx,dhnlyr,cbcyva,cbbezna,cbagba,cbyyvgg,cbvgenf,cvfpvgryyv,cvrqen,crj,creren,crajryy,cryg,cnexuvyy,cnynqvab,ber,benz,byzb,byvirenf,byvineevn,btbezna,aneba,zhapvr,zbjoenl,zbebarf,zberggv,zbaa,zvggf,zvaxf,zvanevx,zvzzf,zvyyveba,zvyyvatgba,zvyyubhfr,zrffrefzvgu,zpargg,zpxvafgel,zptrbetr,zpqvyy,zpngrre,znmmrb,zngpurgg,znubbq,znorel,yhaqryy,ybhqra,ybfbln,yvfx,yrmnzn,yrvo,yrob,ynabhr,ynasbeq,ynsbeghar,xhzc,xebar,xercf,xbgg,xbcrpxl,xbybqmvrw,xvazna,xvzzbaf,xrygl,xnfgre,xneyfba,xnavn,wblny,wraare,wnfvafxv,wnaqernh,vfraubhe,uhamvxre,uhua,ubhqr,ubhpuvaf,ubygzna,ubqb,urlzna,uragtrf,urqoret,unlar,unlpensg,unefuonetre,unefunj,uneevff,unevat,unafryy,unasbeq,unaqyre,unzoyra,thaaryy,tebng,tberpxv,tbpurabhe,tyrrfba,trarfg,trvfre,shytuhz,sevrfr,sevqyrl,serrobea,senvyrl,synhture,svnyn,rggvatre,rgurerqtr,rfcvgvn,revxfra,ratryoerpug,ratroergfba,ryvr,rvpxubss,rqarl,rqryra,roreuneq,rnfgva,rnxrf,qevttf,qbare,qbantul,qvfnyib,qrfubat,qnuzf,qnuydhvfg,pheera,pevcr,perr,perntre,pbeyr,pbangfre,pbzzbaf,pbttva,pbqre,pbnkhz,pybffba,pybqsrygre,pynffra,puvggraqra,pnfgvyyrwn,pnfnyr,pnegrr,pneevrer,pnahc,pnavmnyrf,ohetbba,ohatre,ohtneva,ohpunaba,oehavat,oehpx,oebbxrf,oebnqjryy,oevre,oerxxr,oerrfr,oenpreb,objyrl,objrefbk,obfr,obtne,oynhfre,oynpxre,owbexyhaq,onhzre,onfyre,onvmr,onqra,nhzna,nzhaqfra,nzber,nyineratn,nqnzpmlx,lrexrf,lreol,lnznthpuv,jbegurl,jbyx,jvkbz,jvrefzn,jvrpmberx,juvqqba,jrlre,jrgurevatgba,jrva,jngpuzna,jnes,jnafyrl,irfryl,irynmpb,inaabezna,inynfdhrm,hgm,hefb,ghepb,gheorivyyr,gevirgg,gbbgunxre,gbburl,gbaqernh,gunyre,flyinva,fjvaqyre,fjvtreg,fjvqre,fgvare,fgrire,fgrssrf,fgnzcyrl,fgnve,fzvqg,fxrrgr,fvyirfger,fuhggf,furnyrl,frvtyre,fpujrvmre,fpuhyqg,fpuyvpugvat,fpuree,fnhyforeel,fnare,ebfva,ebfngb,ebyvat,ebua,evk,evfgre,erzyrl,erzvpx,erpvabf,enzz,ennor,chefryy,cblguerff,cbyv,cbxbeal,crggel,crgerl,crgvgg,crazna,cnlfba,cndhrg,cnccnyneqb,bhgynaq,berafgrva,ahggnyy,ahpxbyf,abgg,avzzb,zhegntu,zbhffrnh,zbhyqre,zbbarluna,zbnx,zvapu,zvren,zrephev,zrvtuna,zparyyl,zpthssva,zpperrel,zppynfxrl,znvabe,yhbatb,yhaqfgebz,ybhtuzna,yboo,yvauneg,yrire,yrh,yrvgre,yrubhk,yrua,ynerf,yncna,ynatubear,ynzba,ynqjvt,ynqfba,xhmzn,xervgmre,xabc,xrrpu,xrn,xnqyrp,wubafba,wnagm,vatyvf,uhfx,uhyzr,ubhfry,ubszna,uvyyrel,urvqraervpu,urncf,unfyrgg,unegvat,unegvt,unzyre,unygba,unyyhz,thgvreerf,thvqn,threevre,tebffv,terff,terraunytu,teniryyr,tbj,tbfyva,tbalrn,tvcr,trefgare,tnffre,tneprnh,tnaanjnl,tnzn,tnyybc,tnvfre,shyyvybir,sbhgm,sbffhz,synaantna,sneevbe,snyyre,revpxfra,ragerxva,rabpuf,ratyhaq,ryyraoretre,rnfgynaq,rnejbbq,qhqnfu,qebmq,qrfbgb,qrycu,qrxxre,qrwbua,qrtnezb,qrsrb,qrsnypb,qroybvf,qnphf,phqq,pebffra,pebbzf,pebana,pbfgva,pbeqenl,pbzresbeq,pbyrtebir,pbyqjryy,pynnffra,punegenaq,pnfgvtyvbar,pnegr,pneqryyn,pneoreel,pncc,pncbovnapb,pnatrybfv,ohpu,oeharyy,oehpxre,oebpxrgg,oevmraqvar,oevartne,oevzre,oenfr,obfdhr,obax,obytre,obunaba,obuna,oynmrx,oreavat,oretna,oraarggr,ornhpurzva,onggvfgr,oneen,onybtu,ninyybar,nhoel,nfupebsg,nfrapvb,neyrqtr,napubaqb,nyibeq,npurfba,mnyrfxv,lbaxre,jlff,jlpbss,jbbqohea,jvavatre,jvaqref,jvyyzba,jvrpuznaa,jrfgyrl,jrngureubyg,jneavpx,jneqyr,jneohegba,ibyxreg,ivyynairin,irvg,inff,inanyyra,ghat,gbevovb,gbbguzna,gvttf,gubeaforeel,gubzr,grccre,grrcyr,grob,gnffbar,gnaa,fghpxre,fgbgyre,fgbarzna,fgruyr,fgnaonpx,fgnyyphc,fchee,fcrref,fcnqn,fbyhz,fzbyra,fvaa,fvyireanvy,fubyrf,fuvirf,funva,frperfg,frntyr,fpuhrggr,fpubpu,fpuavrqref,fpuvyq,fpuvnibar,fpuvnib,fpuness,fnagrr,fnaqryy,fnyib,ebyyvatf,eviraohet,evgmzna,evfg,erlabfn,ergnan,ertavre,enevpx,enafbzr,enyy,cebcrf,cenyy,cblare,cbaqf,cbvgen,cvccvaf,cvavba,cuh,crevyyb,craebfr,craqretensg,crypung,cngranhqr,cnyxb,bqbzf,bqqb,abibn,abbar,arjohea,artev,anagm,zbffre,zbfuvre,zbygre,zbyvanev,zbyre,zvyyzna,zrhere,zraqry,zpenl,zpavpubynf,zparearl,zpxvyyvc,zpvyinva,zpnqbel,znezby,znevarm,znamre,znaxva,znxevf,znwrfxv,znssrv,yhbzn,yhzna,yhroxr,yhol,ybzbanpb,ybne,yvgpusbeq,yvagm,yvpug,yrirafba,yrttr,ynavtna,xebz,xertre,xbbc,xbore,xyvzn,xvggrezna,xvaxrnq,xvzoryy,xvyvna,xvoor,xraqvt,xrzzre,xnfu,wraxva,vaavff,uheyohg,uhafhpxre,uhpxnorr,ubkvr,ubtyhaq,ubpxrafzvgu,ubnqyrl,uvaxry,uvthren,ureezna,urvare,unhfznaa,unhoevpu,unffra,unayva,unyyvana,untyhaq,untoret,thyyb,thyyvba,tebare,terrajnyg,tboreg,tybjnpxv,tyrffare,tvarf,tvyqrefyrrir,tvyqrn,trexr,trouneq,tnggba,tngryl,tnynffb,senyvpx,sbhfr,syhunegl,snhprggr,snvesnk,rinabss,ryfre,ryyneq,rtregba,rpgbe,royvat,qhaxry,qhuneg,qelfqnyr,qbfgny,qberl,qbycu,qbyrf,qvfzhxrf,qvtertbevb,qvtol,qrjrrf,qrenzhf,qraavfgba,qraargg,qrybarl,qrynhtugre,pharb,phzoreynaq,pebggf,pebffjuvgr,perzrnaf,pernfrl,pbggzna,pbgurea,pbfgnyrf,pbfare,pbechf,pbyyvtna,pbooyr,pyhggre,puhcc,purirm,pungzba,punverf,pncyna,pnssrr,pnonan,oheebhtu,oheqvgg,ohpxyre,oehafjvpx,oebhvyyneq,oebnql,objyol,obhyrl,obetzna,obygm,obqql,oynpxfgba,oveqfryy,orqtbbq,ongr,onegbf,oneevtn,onean,onepranf,onanpu,onpphf,nhpynve,nfuzna,negre,neraqg,nafryy,nyyhzf,nyyraqre,nyore,nyoneena,nqryfba,mbyy,jlfbat,jvzoyrl,jvyqrf,juvgvf,juvgruvyy,juvpxre,jrlzbhgu,jryql,jnex,jnerunz,jnqql,ivirvebf,ingu,inaqbera,inaqreubbs,haerva,hrpxre,gfna,gercnavre,gerter,gbexryfba,gboyre,gvarb,gvzzre,fjbcrf,fjbssbeq,fjrrgra,fjnegf,fhzzresvryq,fhzyre,fghpxl,fgebmvre,fgvtnyy,fgvpxry,fgraavf,fgrymre,fgrryl,fynlqra,fxvyyrea,fuhegm,furybe,furyyraonetre,funaq,funonmm,frb,fpebttf,fpujnaqg,fpuerpratbfg,fpubraebpx,fpuvezre,fnaqevqtr,ehmvpxn,ebmrx,ebjynaqf,ebfre,ebfraqnuy,ebznabjfxv,ebyfgba,evttvb,ervpuzna,erqbaqb,ernl,enjyvafba,enfxva,envar,dhnaqg,chechen,ceharqn,ceringgr,cergglzna,cvarqb,cvreeb,cvqtrba,cuvyyvccv,csrvy,cravk,crnfyrl,cneb,bfcvan,begrtba,btngn,btnen,abeznaqva,abeqzna,avzf,anffne,zbgm,zbeyna,zbbevat,zbyrf,zbve,zvmenuv,zver,zvanln,zvyyjbbq,zvxhyn,zrffzre,zrvxyr,zpgnttneg,zptbantyr,zprjna,zppnfynaq,zppnar,zppnssrel,zpnyrknaqre,znggbpxf,zngenatn,znegbar,znexynaq,znenivyyn,znaab,znapun,znyyrel,zntab,yberagm,ybpxyva,yvivatfgbar,yvcsbeq,yvavatre,yrcyrl,yrzvat,yrzryva,yrnqorggre,ynjuba,ynggva,ynatjbegul,ynzczna,ynzorgu,ynznee,ynurl,xenwrjfxv,xybcc,xvaavfba,xrfgare,xraaryy,xnevz,wbmjvnx,wnxhobjfxv,virel,vyvss,vqqvatf,uhqxvaf,ubhfrzna,ubym,ubyqrezna,ubruar,uvtusvyy,uvrgg,urfxrgg,uryqg,urqzna,unlfyrgg,ungpuryy,unffr,unzba,unznqn,unxnyn,unvfyvc,unssrl,unpxonegu,thb,thyyvpxfba,threerggr,terraoyngg,tbhqernh,tbatben,tbqobhg,tynhqr,tvyyf,tvyyvfba,tvtyvbggv,tnetnab,tnyyhppv,tnyyv,tnynagr,senfher,sbqbe,svmre,svfuohea,svaxorvare,svapx,sntre,rfgrl,rfcvevgh,rccvatre,rccreyl,rzvt,rpxyrl,qenl,qbefpu,qvyyr,qrivgn,qrfynhevref,qrzrel,qrybezr,qryobfdhr,qnhcuva,qnagbavb,pheq,pehzr,pbmnq,pbffrggr,pbznpub,pyvzre,punqobhear,prfcrqrf,pnlgba,pnfgnyqb,pnecvab,pneyf,pncbmmv,pnaryn,ohmneq,ohfvpx,oheyvfba,oevaxznaa,oevqtrsbegu,obheornh,obeafgrva,obasvtyvb,obvpr,obrfr,ovbaqv,ovyfxv,orggba,orejvpx,oreynatn,oruna,orpensg,oneevragrm,onau,onyxr,onyqreenzn,onur,onpunaq,nezre,neprb,nyvss,nyngbeer,mrezrab,lbhapr,lrbzna,lnznfnxv,jebgra,jbbqol,jvare,jvyyvgf,jvypbkba,jruzrlre,jngreohel,jnff,jnaa,jnpugry,ivmpneen,irvgpu,inaqreovyg,inyybar,inyyrel,herab,glre,gvccf,gvrqrzna,guroretr,grkrven,gnho,gncfpbgg,fghggf,fghygf,fghxrf,fcvax,fbggvyr,fzvgujvpx,fynar,fvzrbar,fvyirfgre,fvrtevfg,fuvssre,furrql,furnssre,frireva,fryyzna,fpbggb,fpuhcc,fpuhryyre,fpuervre,fpubbypensg,fpubraoretre,fpuanory,fnatfgre,fnzsbeq,fnyvon,elyrf,elnaf,ebffrggv,ebqevthm,evfpu,evry,ermraqrf,erfgre,erapure,erpxre,enguwra,cebsvgg,cbgrrgr,cbyvmmv,creevtb,cngevqtr,bfol,beivf,bccrezna,bccraurvz,babengb,bynhtuyva,buntna,btyrf,bruyre,bolear,ahmmb,avpxyr,arnfr,arntyr,aninerggr,antngn,zhfgb,zbevfba,zbagm,zbtrafra,zvmre,zventyvn,zvtyvber,zratrf,zryybe,zparne,zpano,zpybhq,zpryyvtbgg,zppbyybz,znlarf,znedhrggr,znexbjfxv,znepnagbavb,znyqnanqb,znprl,yhaqrra,ybatvab,yvfyr,yvaguvphz,yvzbarf,yrfher,yrfntr,ynhire,ynhonpu,yngfunj,ynel,yncunz,ynpbfgr,ynpure,xhgpure,xavpxreobpxre,xybf,xyvatyre,xyrvzna,xvggyrfba,xvzoery,xrzzrere,xryfba,xrrfr,xnyynf,whetrafra,whaxvaf,whretraf,wbyyvss,wryxf,wnavpxv,wnat,vatyrf,uhthyrl,uhttneq,ubjgba,ubar,ubysbeq,ubtyr,uvccyr,urvzonpu,urvqre,urvqry,unirare,unggnjnl,uneenu,unafpbz,unaxvafba,unzqna,tevqyrl,tbhyrggr,tbhyneg,tbbqebj,tveneqv,trag,tnhgernh,tnaqnen,tnzoyva,tnyvcrnh,slssr,sheebj,shyc,sevpxf,senfr,senaqfra,sbhg,sbhyxf,sbhpur,sbfxrl,sbetrl,sbbe,sboof,svaxyrn,svapunz,svthrverqb,srfgn,sreevre,sryyzna,rfyvpx,rvyrezna,rpxneg,rntyva,qhasrr,qhzbaq,qerjel,qbhfr,qvzvpx,qvrare,qvpxreg,qrvarf,qrpyhr,qnj,qnggvyb,qnaxb,phfgbqvb,phppvn,pehax,pevfcva,pbec,pbern,pbccva,pbafvqvar,pbavtyvb,pbaobl,pbpxehz,pyhgr,pyrjvf,puevfgvnab,punaaryy,preengb,prprer,pngbr,pnfgvyyba,pnfgvyr,pnefgnecura,pnezbhpur,pncregba,ohgrnh,ohzcref,oerl,oenmrny,oenffneq,oentn,oenqunz,obhetrg,obeeryyv,obeon,obbguol,obue,obuz,obruzr,obqva,oybff,oybpure,ovmmryy,ovrxre,oregurybg,oreaneqvav,oreraqf,oraneq,oryfre,onmr,onegyvat,oneevragrf,oneenf,onepvn,onasvryq,nhenaq,negzna,neabgg,neraq,nzba,nyznthre,nyyrr,nyonenqb,nynzrqn,noqb,mhruyxr,mbryyre,lbxblnzn,lbpbz,jlyyvr,jbbyhz,jvag,jvaynaq,jvyare,jvyzrf,juvgyngpu,jrfgreiryg,jnygunyy,jnyxbjvnx,jnyohea,ivivnab,inaqreubss,inyrm,htnyqr,gehzohyy,gbqneb,gvysbeq,gvqq,gvoovgf,greenabin,grzcyrzna,gnaaraonhz,gnyzntr,gnonerm,fjrneratva,fjnegjbbq,firaqfra,fgehz,fgenpx,fgbevr,fgbpxneq,fgrvaorpx,fgneaf,fgnaxb,fgnaxvrjvpm,fgnpxf,fgnpu,fcebyrf,fcrafre,fzbgurezna,fyhffre,fvaun,fvyore,fvrsreg,fvqqvdhv,fuhss,fureohear,fryqba,frqqba,fpujrvtreg,fpuebrgre,fpuzhpxre,fnssbyq,ehgm,ehaqyr,ebfvafxv,ebfrabj,ebtnyfxv,evqbhg,eulzre,ercybtyr,enltbmn,engare,enfpbr,enuz,dhnfg,cerffaryy,cerqzber,cbh,cbegb,cyrnfnagf,cvtsbeq,cnibar,cnganhqr,cneenzber,cncnqbcbhybf,cnyzngvre,bhmgf,bfuvryqf,begvf,byzrqn,byqra,bxnzbgb,abeol,avgm,avrohue,arivhf,arvzna,arvqvt,arrpr,zhenjfxv,zebm,zblyna,zbhygel,zbfgryyre,zbevat,zbetnagv,zbbx,zbssrg,zrggyre,zreyb,zratry,zraqryfbua,zryv,zrypuvbe,zpzrnaf,zpsnqqva,zpphyyref,zppbyyvfgre,zppybl,zppynvar,znhel,znfre,znegryyv,znagurl,znyxva,znvb,zntjbbq,zntvaavf,znoba,yhgba,yhfure,yhpug,ybongb,yrivf,yrgryyvre,yrtraqer,yngfba,ynezba,ynetb,ynaqerarnh,ynaqtens,ynzorefba,xheynaq,xerftr,xbezna,xbenaqb,xynccre,xvgfba,xvalba,xvapurybr,xnjnzbgb,xnjnxnzv,wraarl,wrnacvreer,viref,vffn,vapr,ubyyvre,ubyynef,ubreare,ubqtxvafba,uvbgg,uvoovggf,ureyvul,uraevpxf,urniare,unluhefg,uneivyy,unerjbbq,unafryzna,unaavat,thfgnifba,tevmmneq,tenlorny,teniyrl,tbearl,tbyy,tbruevat,tbqvarf,tborvy,tyvpxzna,tvhyvnab,tvzory,trvo,tnluneg,tnggv,tnvaf,tnqoreel,serv,senvfr,sbhpu,sbefg,sbefzna,sbyqra,sbtyrzna,srggl,srryl,snoel,rhel,rfgvyy,rcyvat,rynzva,rpunineevn,qhgvy,qhelrn,qhznvf,qentb,qbjaneq,qbhguvg,qbbyva,qbobf,qvfba,qvatrf,qvrobyq,qrfvyrgf,qrfunmb,qrcnm,qrtraaneb,qnyy,plcuref,pelre,pebpr,pevfzna,perqyr,pbevryy,pbcc,pbzcbf,pbyzrareb,pbtne,pnearinyr,pnzcnaryyn,pnyrl,pnyqrebar,ohegpu,oebhjre,oeruzre,oenffryy,oenssbeq,obhedhva,obhea,obuareg,oyrjrgg,oynff,oynxrf,ounxgn,orffre,oretr,oryyvf,onysbhe,niren,nccyva,nzzba,nyfbc,nyrfuver,nxone,mbyyre,mncvra,jlzber,jloyr,jbyxra,jvk,jvpxfgebz,juboerl,juvtunz,jrfgreyhaq,jryfpu,jrvffre,jrvfare,jrvafgbpx,jruare,jngyvatgba,jnxrynaq,jnsre,ivpgbevab,irygev,irvgu,hevpu,herfgv,hzoretre,gjrqg,ghbul,gfpuvqn,gehzoyr,gebvn,gevzzre,gbccf,gbaa,gvreana,guerrg,guenyy,gurgsbeq,grarlpx,gnegntyvn,fgebuy,fgerngre,fgenhfonhtu,fgenqyrl,fgbarpvcure,fgrnqunz,fgnafry,fgnyphc,fgnovyr,fceratre,fcenqyrl,fcrvre,fbhgujbbq,fbeeryf,fyrmnx,fxbj,fveznaf,fvzragny,fvssbeq,fvrireg,fubire,furyrl,frymre,fpevira,fpujvaqg,fpujna,fpuebgu,fnlybef,fnentbfn,fnag,fnynnz,fnrcuna,ebhgg,ebhfrl,ebf,ebysrf,evrxr,evrqre,evpurfba,erqvatre,enfavpx,encbmn,enzoreg,dhvfg,cleba,chyyzna,cemlolyfxv,cevqzber,cbbyrl,cvarf,crexvafba,crevar,creunz,crpbe,crniyre,cnegvatgba,cnagba,byvirevb,bynthr,buzna,burnea,ablbyn,avpbynv,arory,zhegun,zbjerl,zbebarl,zbetrafgrea,zbenag,zbafbhe,zbssvg,zvwnerf,zrevjrgure,zraqvrgn,zryraqerm,zrwbenqb,zpxvggevpx,zpxrl,zpxraal,zpxryil,zpryinva,zppbva,znmmneryyn,znmba,znheva,zngguvrf,znfgba,znfxr,znemnab,znezba,zneohetre,znathf,znatvab,znyyrg,yhb,ybfnqn,ybaqbab,yboqryy,yvcfba,yrfavnx,yrvtugl,yrv,yninyyvr,ynernh,yncreyr,yncr,ynsbepr,ynssrl,xhruare,xenivgm,xbjnyfxl,xbue,xvafzna,xrccyre,xraarzre,xrvcre,xnyre,wha,wryvarx,wneantva,vfnxfba,ulcrf,uhgmyre,uhyf,ubenx,uvgm,uvpr,ureeryy,urafyrr,urvgm,urvff,urvzna,unfgvat,unegjvpx,unezre,unzzbagerr,unxrf,thfr,thvyybggr,tebyrnh,terir,terrabhtu,tbyho,tbyfba,tbyqfpuzvqg,tbyqre,tbqobyg,tvyznegva,tvrf,tvool,trera,traguare,traqernh,trzzvyy,tnlzba,tnylrna,tnyrnab,sevne,sbyxregf,syrrzna,svgmtvoobaf,sreenagv,sryna,sneenaq,rbss,ratre,ratryf,qhpxfjbegu,qhol,qehzuryyre,qbhguvgg,qbavf,qvkvba,qvggevpu,qvnyf,qrfpbgrnhk,qrcnhy,qraxre,qrzhgu,qrzryb,qrynpreqn,qrsbetr,qnabf,qnyyrl,qnvtarnhyg,plohyfxv,pbguera,pbeaf,pbexrel,pbcnf,pyhoo,pyber,puvggl,puvpurfgre,punpr,pngnamneb,pnfgbathnl,pnffryyn,pneyoret,pnzznengn,pnyyr,pnwvtnf,olnf,ohmorr,ohfrl,oheyvat,ohsxva,oemrmvafxv,oeha,oevpxare,oenounz,obyyre,obpxzna,oyrvpu,oynxrzna,ovforr,ovre,ormnafba,orivynpdhn,orfnj,oreevna,ordhrggr,ornhsbeq,onhztnegra,onhqbva,ongvr,onfnyqhn,oneqva,onatreg,onarf,onpxyhaq,nivgvn,negm,nepurl,ncry,nzvpb,nynz,nqra,mroebjfxv,lbxbgn,jbezyrl,jbbggba,jbznp,jvygm,jvtvatgba,juvgrubea,juvfzna,jrvftreore,jrvtyr,jrrqzna,jngxva,jnfvyrjfxv,jnqyvatgba,jnqxvaf,ivirerggr,ivqnheev,ivqnyrf,irmvan,inayrre,inaubl,inathvyqre,inaoehag,hcqrtenss,glybe,gevaxyr,gbhpurggr,gvyfba,gvyzna,gratna,gnexvatgba,fheergg,fhzzl,fgerrgzna,fgenhtugre,fgrrer,fcehryy,fcnqneb,fbyyrl,fznguref,fvyiren,fvrzf,fuerssyre,fubyne,fryqra,fpuncre,fnznlbn,ehttrev,ebjra,ebffb,ebfraonyz,ebbfr,ebadhvyyb,ebtbjfxv,erksbeq,ercnff,eramv,eravpx,eruoret,enapx,enssn,enpxref,ennc,chtyvfv,cevam,cbhaqref,cba,cbzcn,cynfrapvn,cvcxvaf,crgebfxl,cryyrl,cnhyf,cnhyv,cnexvfba,cnevfvra,cnatyr,cnapbnfg,cnynmmbyb,bjraol,bireonl,beevf,beybjfxv,avcc,arjorea,arqq,arnyba,anwne,zlfyvjvrp,zlerf,zhffba,zheevrgn,zhafryy,zhzzn,zhyqbjarl,zblyr,zbjra,zberwba,zbbqvr,zbavre,zvxxryfra,zvref,zrgmvatre,zryva,zpdhnl,zpcrrx,zparryrl,zptybguva,zptuvr,zpqbaryy,zpphzore,zppenavr,zporna,znluhtu,znegf,znerapb,znatrf,ylanz,yhcvra,yhss,yhrooreg,ybu,ybsyva,ybpbpb,ybpu,yvf,yvaxr,yvtugyr,yrjryyla,yrvfuzna,yrobj,yrobhrs,yrnabf,ynam,ynaql,ynaqnireqr,ynprsvryq,xlyre,xhroyre,xebcs,xebrxre,xyhrfare,xynff,xvzoreyvat,xvyxraal,xvxre,xrggre,xryrzra,xrnfyre,xnjnzhen,xnefg,xneqbf,vtb,uhfrzna,uhfrol,uheyoreg,uhneq,ubggvatre,ubeaoretre,ubccf,ubyqfjbegu,urafra,urvyvt,urrgre,unecbyr,unnx,thgbjfxv,thaaryf,tevzzre,teningg,tenaqrefba,tbgpure,tyrnirf,tranb,tnesvaxry,serevpuf,sbhfurr,synarel,svaavr,sryqg,sntva,rjnyg,ryyrsfba,rvyre,rpxuneg,rnfgrc,qvtvebynzb,qvqbzravpb,qriren,qrynirtn,qrsvyvccb,qrohfx,qnho,qnzvnav,phccyrf,pebsbbg,pbhegre,pbgb,pbfgvtna,pbeavat,pbezna,pbeyrgg,pbbcrezna,pbyyvfba,pbtuyna,pboovaf,pbnql,pbnpuzna,pybguvre,pvcbyyn,puzvryrjfxv,puvbqb,punggregba,punccryyr,punverm,preba,pnfcrefba,pnfyre,pnfnqbf,pneebj,pneyvab,pnevpb,pneqvyyb,pnbhrggr,pnagb,pnanina,pnzoen,olneq,ohgreonhtu,ohfr,ohpl,ohpxjnygre,ohoo,oelq,oevffrggr,oenhyg,oenqjryy,obfurnef,obepureg,oynafrgg,ovbaqb,ovruy,orffrl,oryyrf,orrxf,orrxzna,ornhsbeg,onlyvff,oneqfyrl,nivyyn,nfghqvyyb,neqvgb,nagharm,nqreubyg,nongr,lbjryy,lva,lrneol,jhefg,jbbyiregba,jbbyoevtug,jvyqrezhgu,juvggraohet,juvgryl,jrgureorr,jram,jryyvire,jryyvat,jnfba,jneyvpx,ibbeuvrf,ivivre,ivyyvarf,ireqr,irvtn,ineturfr,inajlx,inajvatreqra,inaubear,hzfgrnq,gjvttf,ghfvat,gertb,gbzcfba,gvaxyr,gubzna,gubyr,gngzna,gnegg,fhqn,fghqyrl,fgebpx,fgenjoevqtr,fgbxryl,fgrp,fgnygre,fcrvqry,fcnssbeq,fbagnt,fbxbybjfxv,fxvyyzna,fxryyrl,fxnyfxv,fvfba,fvccry,fvadhrsvryq,fvrtyr,fure,funeebj,frgyvss,fryyare,fryvt,frvobyq,frrel,fpevore,fpuhyy,fpuehcc,fpuvccref,fnhyfohel,fnb,fnagvyyb,fnabe,ehonypnon,ebbfn,ebax,eboof,ebnpur,evror,ervabfb,dhva,cerhff,cbggbess,cbagvss,cybhssr,cvpbh,cvpxyrfvzre,crgglwbua,crggv,cranybmn,cnezryrr,cneqrr,cnynmmb,bireubyg,btnjn,bsneeryy,abygvat,abqn,avpxfba,arivgg,arirh,anineer,zheebj,zham,zhyybl,zbamb,zvyyvzna,zrgvivre,zreyvab,zpcrgref,zpxvffnpx,zpxrra,zpthex,zpsrr,zpsneera,zpryjrr,zprnpuva,zpqbantu,zppneivyyr,znlunyy,znggbba,znegryyb,znepbav,zneohel,znamryyn,znyl,znyrp,znvgynaq,znurh,znpyraana,ylxr,yhren,ybjrafgrva,ybfu,ybcvppbyb,ybatnper,ybzna,ybqra,ybnvmn,yvrore,yvoorl,yrauneqg,yrsroer,ynhgreonpu,ynhevgfra,ynff,ynebppb,ynevzre,ynafsbeq,ynapybf,ynznl,yny,xhyvxbjfxv,xevrory,xbfvafxv,xyrvazna,xyrvare,xyrpxare,xvfgare,xvffare,xvffryy,xrvfyre,xrroyr,xrnarl,xnyr,wbyl,wvzvfba,vxare,uhefrl,uehfxn,ubir,ubh,ubfxvat,ubbfr,ubyyr,ubrccare,uvggyr,uvgpuraf,uvegu,uvarezna,uvtol,uregmbt,uragm,urafyre,urvre,urtt,unffry,unecr,unen,unva,untbcvna,tevzfunj,tenqb,tbjva,tbjnaf,tbbtr,tbbqybj,tbrevat,tyrngba,tvqyrl,tvnaabar,tnfpba,tnearnh,tnzoery,tnynm,shragrm,sevfvan,serfdhrm,senure,srhrefgrva,srygra,rirezna,regry,renmb,rafvta,raqb,ryyrezna,rvpubea,rqtryy,roeba,rnxre,qhaqnf,qhapnafba,qhpurar,qhpna,qbzoebfxv,qbzna,qvpxvfba,qrjbbql,qrybren,qrynubhffnlr,qrwrna,qrtebng,qrpneb,qrnezbaq,qnfuare,qnyrf,pebffrgg,perffrl,pbjtre,pbearggr,pbeob,pbcyva,pbbire,pbaqvr,pbxyrl,prnfre,pnaanqnl,pnyynana,pnqyr,ohfpure,ohyyvba,ohpxyva,oehravat,oehpxare,oebfr,oenana,oenqjnl,obgfsbeq,obegm,oberyyv,obarggv,obyna,obretre,oybbzoret,ovatzna,ovytre,oreaf,orevatre,orerf,orrgf,orrqr,ornhqrg,ornpuhz,onhtua,ongbe,onfgvra,onfdhrm,oneerveb,onetn,onenggn,onyfre,onvyyvr,nksbeq,nggrorel,nenxnxv,naahamvngn,naqemrwrjfxv,nzrag,nzraqbyn,nqpbk,noevy,mraba,mrvgyre,mnzoenan,lonarm,lntv,jbynx,jvypbkfba,juvgrfry,juvgrunve,jrlnaq,jrfgraqbes,jryxr,jrvaznaa,jrrfare,jrrxrf,jrqry,jrngurenyy,jnegura,ibfr,ivyynygn,ivngbe,inm,inygvreen,heonarx,ghyyrl,gebwnabjfxv,gencnav,gbhcf,gbecrl,gbzvgn,gvaqny,gvrzna,grivf,grqebj,gnhy,gnfu,gnzzneb,flyin,fjvqrefxv,fjrrgvat,fhaq,fghgyre,fgvpu,fgreaf,fgrtare,fgnyqre,fcynja,fcrvef,fbhgujryy,fbyglf,fzrnq,fylr,fxvcjbegu,fvcbf,fvzzrezna,fvquh,fuhssyre,fuvatyrgba,funqjvpx,frezbaf,frrsryqg,fpvcvb,fpujnaxr,fpuerssyre,fpuveb,fpurvore,fnaqbm,fnzfry,ehqqryy,eblfr,ebhvyyneq,ebgryyn,ebfnyrm,ebzevryy,evmre,evare,evpxneqf,eubgba,eurz,erccreg,enly,enhyfgba,encbfb,envaivyyr,enqry,dhvaarl,cheqvr,cvmmb,cvaphf,crgehf,craqrygba,craqneivf,crygm,crthreb,crrgr,cngevpvb,cngpurgg,cneevab,cncxr,cnynsbk,bggyrl,bfgol,bevgm,btna,bqrtnneq,bngzna,abryy,avpbyy,arjunyy,arjovyy,argmre,arggyrgba,aroyrgg,zheyrl,zhatb,zhyunyy,zbfpn,zbevffrggr,zbesbeq,zbafra,zvgmry,zvfxryy,zvaqre,zrunssrl,zpdhvyyra,zpyraana,zptenvy,zppervtug,znlivyyr,znlfbarg,znhfg,znguvrfba,znfgenatryb,znfxryy,znam,znyzoret,znxryn,znqehtn,ybggf,ybatarpxre,ybtfgba,yvggryy,yvfxn,yvaqnhre,yvyyvoevqtr,yrieba,yrgpujbegu,yrfu,yrssry,yrqnl,yrnzba,xhynf,xhyn,xhpunefxv,xebzre,xenngm,xbavrpmal,xbara,xbzne,xvirgg,xvegf,xvaarne,xrefu,xrvguyrl,xrvsre,whqnu,wvzrarf,wrccrfra,wnaffba,uhagforeel,uhaq,uhvgg,uhssvar,ubfsbeq,ubyzfgebz,ubyyra,ubqtva,uvefpuzna,uvygare,uvyyvxre,uvoare,uraavf,uryg,urvqryoret,urtre,urre,unegarff,uneqevpx,unyynqnl,thyn,thvyynhzr,threevreb,teharjnyq,tebffr,tevssrgu,teram,tenffv,tenaqvfba,tvagure,tvzrarm,tvyyvatunz,tvyyunz,trff,tryzna,trneurneg,tnfxryy,tnevrcl,tnzvab,tnyyvra,tnyragvar,shdhnl,sebzna,sebryvpu,sevrqry,sbbf,sbzol,sbpug,sylgur,svdhrebn,svyfba,svyvc,svreebf,srgg,srqryr,snfpuvat,snearl,snetb,riregf,rgmry,rymrl,rvpuare,rtre,rngzna,qhpxre,qhpurfar,qbangv,qbzrarpu,qbyyneq,qbqevyy,qvancbyv,qraa,qrysvab,qrypvq,qrynhar,qrynggr,qrrzf,qnyhm,phffba,phyyvfba,phnqenqb,pehzevar,pehvpxfunax,pebfynaq,pebyy,pevqqyr,percrnh,pbhgh,pbhrl,pbeg,pbccvatre,pbyyzna,pbpxohea,pbpn,pynlobear,pynsyva,pvffryy,pubjquhel,puvpbvar,puravre,pnhfol,pnhyqre,pnffnab,pnfare,pneqvry,oehagba,oehpu,oebkgba,oebfvhf,oebbxvat,oenapb,oenppb,obhetnhyg,obffrezna,obarg,obyqf,obynaqre,obuzna,obrygre,oybuz,oyrn,oynvfr,ovfpubs,orhf,oryyrj,onfgnenpur,onfg,onegbybzr,onepbzo,onepb,onyx,onynf,onxbf,nirl,ngavc,nfuoebbx,neab,neobhe,ndhveer,nccryy,nyqnpb,nyona,nuyfgebz,nonqvr,mlyfgen,mvpx,lbgure,jlfr,jhafpu,juvggl,jrvfg,iebbzna,ivyynyba,ivqevb,inien,infovaqre,inaznger,inaqbea,htnegr,gheoreivyyr,ghry,gebtqba,gbhcva,gbbar,gbyyrfba,gvaxunz,gvapu,gvnab,grfgba,grre,gnjarl,gncyva,gnag,gnafrl,fjnlar,fhgpyvssr,fhaqrezna,fgebguref,fgebznva,fgbex,fgbaroheare,fgbygr,fgbyc,fgbrue,fgvatyrl,fgrtzna,fgnaty,fcvaryyn,fcvre,fbhyrf,fbzzresvryq,fvcc,fvzrx,fvqref,fuhsryg,fuhr,fube,fuverf,furyyraoretre,furryl,frcr,frnoret,fpujvat,fpureere,fpnymb,fnffr,fneivf,fnagben,fnafohel,fnyyf,fnyrrz,elynaq,elovpxv,ehttvrev,ebguraoret,ebfrafgrva,ebdhrzber,ebyyvfba,ebqqra,evirg,evqyba,evpur,evppneqv,ervyrl,ertare,erpu,enlb,enss,enqnonhtu,dhba,dhvyy,cevirggr,cenatr,cvpxeryy,crevab,craavat,cnaxengm,beynaqv,aldhvfg,abeeryy,abera,ancyrf,anyr,anxnfuvzn,zhffryjuvgr,zheeva,zhepu,zhyyvavk,zhyyvpna,zhyyna,zbearnh,zbaqbe,zbyvane,zvawnerf,zvavk,zvapurj,zvyrjfxv,zvxxryfba,zvssyva,zrexyrl,zrvf,zrnf,zpebl,zpcurnefba,zparry,zpzhaa,zpzbeebj,zpqbezna,zppebfxrl,zppbyy,zppyhfxl,zppynena,zppnzcoryy,znmmnevryyb,znhml,znhpu,znfgeb,znegvarx,znefnyn,znepnagry,znuyr,yhpvnav,yhooref,ybory,yvapu,yvyyre,yrtebf,ynlqra,yncvar,ynaforeel,yntr,ynsberfg,ynoevbyn,xbtn,xahcc,xyvzrx,xvggvatre,xvepubss,xvamry,xvyyvatre,xvyobhear,xrgare,xrcyrl,xrzoyr,xryyf,xrne,xnln,xnefgra,xnarfuveb,xnzz,wbvarf,wbnpuvz,wnpbohf,vyre,ubytngr,ubne,uvfrl,uveq,uvylneq,urfyva,uremoret,uraavtna,urtynaq,unegy,unare,unaqry,thnygvrev,terrayl,tenffre,tbrgfpu,tbqobyq,tvyynaq,tvqarl,tvoarl,tvnapbyn,trggvatre,tnemba,tnyyr,tnytnab,tnvre,tnregare,shfgba,serry,sbegrf,svbevyyb,svttf,srafgreznpure,srqyre,snpre,snovnab,rivaf,rhyre,rfdhre,ralrneg,ryrz,rvpu,rqtreyl,qhebpure,qhetna,qhssva,qebyrg,qerjrf,qbggf,qbffnagbf,qbpxvaf,qvexfra,qvsvber,qvrexf,qvpxrezna,qrel,qranhyg,qrznerr,qryzbagr,qrypnzoer,qnhygba,qnefg,qnuyr,pheahgg,phyyl,phyyvtna,phrin,pebffyva,pebfxrl,pebznegvr,pebsgf,pbiva,pbhgrr,pbccn,pbbtna,pbaqerl,pbapnaaba,pbtre,pybre,pynggreohpx,pvrfynx,puhzoyrl,pubhquhel,puvnenzbagr,puneobarnh,pnearny,pnccryyb,pnzcvfv,pnyyvpbng,ohetblar,ohpubym,oehzonpx,oebfana,oebtqra,oebqre,oeraqyr,oerrpr,obja,obh,obfre,obaql,obyfgre,obyy,oyhsbeq,oynaqba,ovfpbr,orivyy,orapr,onggva,onfry,onegenz,oneanol,onezber,onyohran,onqtyrl,onpxfgebz,nhlrhat,ngre,neeryynab,nenag,nafnev,nyyvat,nyrwnaqer,nypbpx,nynvzb,nthvanyqb,nnebaf,mhevgn,mrvtre,mnjnpxv,lhgml,lnetre,jltnag,jhez,jhrfg,jvgureryy,jvfarfxv,juvgol,jurypury,jrvfm,jrvfvatre,jrvfunne,jrue,jnkzna,jnyqfpuzvqg,jnypx,jnttrare,ibfohet,ivyyryn,irepure,iragref,inafplbp,inaqlar,inyramn,hgg,hevpx,hatne,hyz,ghzyva,gfnb,gelba,gehqry,gervore,gbore,gvcyre,gvyyfba,gvrqrznaa,gubeayrl,grgenhyg,grzzr,gneenapr,gnpxvgg,flxben,fjrrgzna,fjngmryy,fhgyvss,fhue,fghegm,fgeho,fgenlubea,fgbezre,fgrirfba,fgratry,fgrvasryqg,fcveb,fcvrxre,fcrgu,fcreb,fbmn,fbhyvrer,fbhpvr,farqrxre,fyvsre,fxvyyvatf,fvgh,fvavneq,fvzrba,fvtaberyyv,fvttref,fuhygvf,fuerjfohel,fuvccrr,fuvzc,furcyre,funecyrff,funqevpx,frireg,friref,frzba,frzzrf,frvgre,frtref,fpynsnav,fpvbegvab,fpueblre,fpuenpx,fpubraoret,fpubore,fpurvqg,fpurryr,fnggre,fnegbev,fneengg,fnyinttvb,fnynqvab,fnxnzbgb,fnvar,elzna,ehzyrl,ehttrevb,ehpxf,ebhtugba,eboneqf,evppn,erkebnq,erfyre,eral,eragfpuyre,erqevpx,erqvpx,erntyr,enlzb,enxre,enprggr,clohea,cevgg,cerffba,cerffzna,cbhtu,cvfnav,crem,creenf,crymre,crqebfn,cnybf,cnyzvfnab,cnvyyr,berz,beovfba,byvirebf,abhefr,abeqdhvfg,arjohel,aryyvtna,anjebpxv,zlyre,zhznj,zbecuvf,zbyqraunhre,zvlnfuveb,zvtabar,zvpxryfra,zvpunyrp,zrfgn,zperr,zpdhrnel,zpavapu,zparvyyl,zpyryynaq,zpynjubea,zpterril,zppbaxrl,znggrf,znfryyv,znegra,znephppv,znafrnh,znawneerm,znyoebhtu,znpuva,znovr,ylaqr,ylxrf,yhrenf,ybxxra,ybxra,yvaml,yvyyvf,yvyvraguny,yrirl,yrtyre,yrrqbz,yrobjvgm,ynmmneb,ynenorr,yncvafxv,ynatare,ynatrasryq,ynzcxvaf,ynzbggr,ynzoevtug,yntneqr,ynqbhprhe,ynobhagl,ynoynap,ynoretr,xlgr,xebba,xeba,xenxre,xbhon,xvejva,xvapre,xvzoyre,xrtyre,xrnpu,xngmzna,xngmre,xnyzna,wvzzrefba,wraavat,wnahf,vnpbiryyv,uhfg,uhfba,uhfol,uhzcurel,uhsantry,ubavt,ubyfrl,ubybzna,ubuy,ubttr,uvaqreyvgre,uvyqroenag,urzol,uryyr,urvagmryzna,urvqevpx,urneba,unmryvc,unhx,unfoebhpx,unegba,unegva,unecfgre,unafyrl,unapurgg,unne,thguevqtr,thyoenafba,thvyy,threeren,tehaq,tebfirabe,tevfg,teryy,terne,tenaoreel,tbafre,tvhagn,tvhyvnav,tvyyba,tvyyzber,tvyyna,tvooba,trgglf,tryo,tnab,tnyyvure,shyyra,serfr,sengrf,sbkjryy,syrvfuzna,syrrare,svryqra,sreeren,sryyf,srrzfgre,snhagyrebl,ringg,rfcl,rab,rzzrevpu,rqyre,rnfgunz,qhaninag,qhpn,qevaaba,qbjr,qbetna,qbyyvatre,qvcnyzn,qvsenapb,qvrgevpx,qramre,qrznerfg,qryrr,qrynevin,qrynal,qrprfner,qroryyvf,qrniref,qrneqbess,qnjr,qnebfn,qneyrl,qnymryy,qnuyra,phegb,phccf,phaavss,phqr,peviryyb,pevccf,perffjryy,pbhfne,pbggn,pbzcb,pylar,pynlfba,prneyrl,pngnavn,pnevav,pnagreb,ohggerl,ohggyre,ohecrr,ohyxyrl,ohvgeba,ohqn,ohoyvgm,oelre,oelqra,oebhvyyrggr,oebgg,oebbxzna,oebax,oerfurnef,oeraara,oenaahz,oenaqy,oenzna,oenprjryy,oblgre,obzoretre,obtra,obrqvat,oynhiryg,oynaqsbeq,ovreznaa,ovryrpxv,ovool,oregubyq,orexzna,oryiva,oryybzl,orynaq,oruar,orrpunz,orpure,onk,onffunz,oneerg,onyrl,nhkvre,ngxvfba,nel,nebpun,nerpuvtn,nafcnpu,nytneva,nypbgg,nyoregl,ntre,npxzna,noqnyynu,mjvpx,mvrzre,mnfgebj,mnwvprx,lbxhz,lbxyrl,jvggebpx,jvaronetre,jvyxre,jvyunz,juvgunz,jrgmyre,jrfgyvat,jrfgohel,jraqyre,jryyobea,jrvgmzna,jrvgm,jnyyare,jnyqebhc,ienory,ibjryf,ibyxre,ivgvryyb,ivfpbagv,ivyyvpnan,ivooreg,irfrl,inaanggre,inatvyqre,inaqreibeg,inaqrtevsg,inanyfglar,inyyrpvyyb,hferl,glana,ghecra,ghyyre,gevfyre,gbjafba,gvyyzba,gueryxryq,gubearyy,greevb,gnhagba,gneel,gneql,fjbobqn,fjvuneg,fhfgnvgn,fhvgg,fghore,fgevar,fgbbxrl,fgznegva,fgvtre,fgnvaoebbx,fbyrz,fznvy,fyvtu,fvcyr,fvrora,fuhznxr,fuevare,fubjzna,furra,furpxyre,frvz,frpevfg,fpbttva,fpuhygurvf,fpuznym,fpuraqry,fpunpure,fnineq,fnhygre,fnagvyynarf,fnaqvsbeq,fnaqr,fnymre,fnyingb,fnygm,fnxnv,elpxzna,elnag,ehpx,evggraoreel,evfgnh,evpuneg,eularf,erlre,erhyrg,erfre,erqvatgba,erqqvatgba,eroryyb,ernfbe,ensgrel,enontb,ennfpu,dhvagnane,clynag,chevatgba,cebirapny,cevbyrnh,cerfgjbbq,cbguvre,cbcn,cbyfgre,cbyvggr,cbssraoretre,cvaare,cvrgemnx,crggvr,cransybe,cryybg,cryyunz,cnlybe,cnlrhe,cncnf,cnvx,blbyn,bfobhea,bemrpubjfxv,bccraurvzre,byrfra,bwn,buy,ahpxbyyf,abeqoret,abbaxrfgre,abyq,avggn,avoyrgg,arhunhf,arfyre,anaarl,zlevr,zhgpu,zbfdhren,zberan,zbagnygb,zbagntan,zvmryyr,zvapl,zvyyvxna,zvyynl,zvyre,zvyobhea,zvxryf,zvthrf,zvrfare,zrefuba,zreebj,zrvtf,zrnyrl,zpenarl,zpznegva,zpynpuyna,zptrruna,zpsreera,zpqbyr,zppnhyyrl,zpnahygl,znmvnem,znhy,zngrre,znegvafra,znefba,znevbggv,znaan,znapr,znyoba,zntahffba,znpynpuyna,znprx,yhevr,yhp,ybja,ybenatre,ybaba,yvfraol,yvafyrl,yrax,yrniraf,ynhevgmra,yngurz,ynfuoebbx,ynaqzna,ynznepur,ynznagvn,ynthreer,yntenatr,xbtna,xyvatorvy,xvfg,xvzcry,xvzr,xvre,xresbbg,xraanzre,xryyrzf,xnzzre,xnzra,wrcfra,wneavtna,vfyre,vfurr,uhk,uhatngr,uhzzryy,uhygtera,uhssnxre,uehol,ubeavpx,ubbfre,ubbyrl,ubttna,uvenab,uvyyrl,uvtunz,urhfre,uraevpxfba,urartne,uryyjvt,urqyrl,unfrtnjn,unegg,unzoevtug,unysnper,unsyrl,thvba,thvana,tehajnyq,tebgur,tevrf,ternarl,tenaqn,tenovyy,tbguneq,tbffzna,tbffre,tbffneq,tbfun,tbyqare,tbova,tvalneq,tvyxrf,tvyqra,trefba,trcuneg,tratyre,tnhgvre,tnffrgg,tneba,tnyhfun,tnyyntre,tnyqnzrm,shyzber,sevgfpur,sbjyrf,sbhgpu,sbbgzna,syhqq,sreevren,sreereb,sreerev,sravzber,srtyrl,srtna,srnea,sneevre,snafyre,snar,snymbar,snvejrngure,rguregba,ryforeel,qlxrzn,qhccfgnqg,qhaanz,qhaxyva,qhrg,qhqtrba,qhohp,qbkrl,qbazblre,qbqtra,qvfnagb,qvatyre,qvznggvn,qvyqnl,qvtraaneb,qvrqevpu,qrebffrgg,qrcc,qrznfv,qrtenssraervq,qrnxvaf,qrnql,qniva,qnvter,qnqqnevb,pmrejvafxv,phyyraf,phoontr,penpensg,pbzorfg,pbyrggv,pbtuvyy,pynloebbxf,puevfgbssrefr,puvrfn,punfba,punzbeeb,pryragnab,pnlre,pnebyna,pneartvr,pncrgvyyb,pnyyvre,pnqbtna,pnon,olebz,oleaf,oheebjrf,ohexrg,oheqtr,oheontr,ohpuubygm,oehag,oehatneqg,oeharggv,oehzorybj,oehttre,oebnquhefg,oevtnapr,oenaqbj,obhxavtug,obggbess,obggbzyrl,obfnetr,obetre,obzoneqvre,obttna,oyhzre,oyrpun,ovearl,ovexynaq,orgnaprf,orena,oryva,orytenir,ornyre,onhpu,onfuve,onegbj,oneb,oneaubhfr,onevyr,onyyjrt,onvfyrl,onvaf,onrue,onqvyyn,onpuhf,onpure,onpuryqre,nhmraar,ngra,nfgyr,nyyvf,ntnejny,nqtre,nqnzrx,mvbyxbjfxv,mvaxr,mnmhrgn,mnzbenab,lbhaxva,jvggvt,jvgzna,jvafrgg,jvaxyrf,jvrqzna,juvgare,juvgpure,jrgureol,jrfgen,jrfgubss,jrueyr,jntnzna,ibevf,ivpxanve,irnfyrl,inhtu,inaqreohet,inyyrggn,ghaarl,gehzob,gehyhpx,gehrzna,gehol,gebzoyl,gbheivyyr,gbfgnqb,gvgpbzo,gvzcfba,gvtabe,guehfu,guerfure,guvrqr,grjf,gnzcyva,gnss,gnpxre,flirefba,flyirfger,fhzzrenyy,fghzonhtu,fgebhgu,fgenxre,fgenqsbeq,fgbxyrl,fgrvaubss,fgrvaoretre,fcvtare,fbygreb,faviryl,fyrggra,fvaxyre,fvartny,fvzbrf,fvyyre,fvtry,fuver,fuvaxyr,furyyzna,furyyre,furngf,funere,fryintr,frqynx,fpuevire,fpuvzxr,fpurhrezna,fpunam,fnibel,fnhygref,fnhref,fnvf,ehfva,ehzsryg,ehuynaq,ebmne,ebfobebhtu,ebaavat,ebycu,ebybss,ebovr,evzre,evruyr,evppb,eurva,ergmynss,ervfzna,ervznaa,enlrf,enho,enzvarm,dhrfvaoreel,chn,cebpbcvb,cevbyb,cevagm,cerjrgg,cernf,cenuy,cbbirl,cybbs,cyngm,cynvfgrq,cvamba,cvarveb,cvpxarl,crgebivpu,crey,cruefba,crrgf,cniba,cnhgm,cnfpneryyn,cnenf,cnbyvav,cnssbeq,blre,biryyrggr,bhggra,bhgra,beqhan,bqevfpbyy,boreyva,abfny,avira,avforgg,ariref,angunafba,zhxnv,zbmrr,zbjref,zbglxn,zberapl,zbagsbeq,zbyyvpn,zbyqra,zvggra,zvfre,zvyyraqre,zvqtrggr,zrffreyl,zryraql,zrvfry,zrvqvatre,zrnal,zpavgg,zparzne,zpznxva,zptnhtu,zppnn,znhevryyb,znhqyva,zngmxr,znggvn,zngfhzhen,znfhqn,znatryf,znybbs,znyvmvn,znuzbhq,zntyvbar,znqqvk,yhppurfv,ybpuare,yvadhvfg,yvrgm,yriraguny,yrznafxv,yrvfre,ynhel,ynhore,ynzoregu,xhff,xhyvx,xhvcre,xebhg,xbggre,xbeg,xbuyzrvre,xbssyre,xbryyre,xavcr,xanhff,xyrvore,xvffrr,xvefg,xvepu,xvytb,xreyva,xryyvfba,xruy,xnyo,wbeqra,wnagmra,vanovarg,vxneq,uhfzna,uhaforetre,uhaqg,uhpxf,ubhgm,ubhfrxarpug,ubbgf,ubtfrgg,ubtnaf,uvagmr,urffvba,uranhyg,urzzvat,uryfyrl,urvara,urssvatgba,uroreyvat,urnfyrl,unmyrl,unmrygvar,unlgba,unlfr,unjxr,unfgba,unejneq,uneebj,unaarzna,unssbeq,unqabg,threeb,tenuz,tbjvaf,tbeqvyyb,tbbfol,tyngg,tvooraf,turag,treeneq,treznaa,trob,trna,tneyvat,tneqrauver,tneohgg,tntare,shethfba,shapurff,shwvjnen,shwvgn,sevyrl,sevtb,sbefurr,sbyxrf,svyyre,sreanyq,sreore,srvatbyq,snhy,sneeryyl,snveonax,snvyyn,rfcrl,rfuyrzna,regy,reuneg,reuneqg,reor,ryfrn,ryyf,ryyzna,rvfrauneg,ruznaa,rneauneqg,qhcynagvf,qhynp,qhpbgr,qenirf,qbfpu,qbypr,qvivgb,qvznheb,qreevatre,qrzrb,qrznegvav,qryvzn,qruare,qrtra,qrsenapvfpb,qrsbbe,qrqrnhk,qroanz,plcreg,phgere,phfhznab,phfgvf,pebxre,pbhegbvf,pbfgnagvab,pbeznpx,pbeorvy,pbcure,pbayna,pbaxyvat,pbtqryy,pvyyrl,puncqrynvar,praqrwnf,pnfgvtyvn,pnfuva,pnefgrafra,pncevb,pnypbgr,pnynjnl,olsvryq,ohgare,ohfujnl,oheevgg,oebjare,oebofg,oevare,oevqtre,oevpxyrl,oeraqry,oenggra,oengg,oenvareq,oenpxzna,objar,obhpx,obehaqn,obeqare,obarasnag,obre,obruzre,obqvsbeq,oyrnh,oynaxvafuvc,oynar,oynun,ovggvat,ovffbarggr,ovtol,ovornh,orezhqrf,orexr,oretriva,oretrefba,oraqry,oryivyyr,orpuneq,ornepr,ornqyrf,ongm,onegybj,nlbho,ninaf,nhzvyyre,neivfb,necva,neajvar,nezjbbq,nerag,neruneg,nepnaq,nagyr,nzoebfvab,nybatv,nyz,nyyfubhfr,nuneg,nthba,mvronegu,mryrqba,mnxemrjfxv,lhunf,lvatfg,lrqvanx,jbzznpx,jvaargg,jvatyre,jvypbkra,juvgznefu,jnlg,jngyrl,jnexragva,ibyy,ibtryfnat,ibrtryr,ivinapb,ivagba,ivyynsnar,ivyrf,ire,iraar,inajntbare,inajntrara,inayrhira,inanhxra,hfrygba,hera,gehzonhre,gevgg,gernqnjnl,gbmvre,gbcr,gbzpmnx,gbzoreyva,gbznfvav,gbyyrgg,gbyyre,gvgfjbegu,gveeryy,gvyyl,gniren,gneabjfxv,gnabhlr,fjnegubhg,fhgren,fherggr,fglref,fglre,fgvcr,fgvpxynaq,fgrzoevqtr,fgrnea,fgnexrf,fgnaoreel,fgnue,fcvab,fcvpure,fcreore,fcrrpr,fbaagnt,faryyre,fznyyvat,fybjvx,fybphzo,fyvin,fyrzc,fynzn,fvgm,fvfgb,fvfrzber,fvaqryne,fuvcgba,fuvyyvatf,furryrl,funeore,funqqvk,frireaf,frirevab,frafnonhtu,frqre,frnjryy,frnzbaf,fpuenagm,fpubbyre,fpurssre,fpurrere,fpnyvn,fnhz,fnagvonarm,fnab,fnawhna,fnzcyrl,fnvyre,fnoryyn,fnoontu,eblnyy,ebggzna,eviraonex,evxneq,evpxrgfba,evpxry,erguzna,ervyl,erqqva,ernfbare,enfg,enanyyb,dhvagny,chat,chppv,cebgb,cebfcrevr,cevz,cerhffre,cerfyne,cbjyrl,cbfgzn,cvaavk,cvyyn,cvrgfpu,cvpxrery,cvpn,cuneevf,crgjnl,crgvyyb,creva,crerqn,craalcnpxre,craaronxre,crqevpx,cngva,cngpuryy,cnebqv,cnezna,cnagnab,cnqhn,cnqeb,bfgreubhg,beare,byvine,buyfba,bqbabtuhr,bprthren,boreel,abiryyb,abthren,arjdhvfg,arjpbzor,arvubss,aruevat,arrf,arorxre,zhaqb,zhyyravk,zbeevfrl,zbebagn,zbevyyb,zbersvryq,zbatvyyb,zbyvab,zvagb,zvqtyrl,zvpuvr,zramvrf,zrqirq,zrpuyvat,zrnyl,zpfuna,zpdhnvt,zparrf,zptynqr,zptnevgl,zptnurl,zpqhss,znljrngure,znfgebcvrgeb,znfgra,znenagb,znavfpnypb,znvmr,znuzbbq,znqqbpxf,znqnl,znpun,znnt,yhxra,ybcc,ybyyrl,yynanf,yvgm,yvgureynaq,yvaqraoret,yvrh,yrgpure,yragvav,yrzryyr,yrrg,yrphlre,yrore,ynhefra,yneevpx,ynagvthn,ynatyvanvf,ynyyv,ynsrire,ynong,ynonqvr,xebtzna,xbuhg,xanee,xyvznf,xyne,xvggryfba,xvefpuonhz,xvagmry,xvapnaaba,xvzzryy,xvyytber,xrggare,xryfpu,xneyr,xncbbe,wbunaffba,wraxvafba,wnaarl,venurgn,vafyrl,ulfybc,uhpxfgrc,ubyyrena,ubree,uvamr,uvaaraxnzc,uvytre,uvttva,uvpxyva,urebhk,uraxyr,urysre,urvxxvara,urpxfgnyy,urpxyre,urnirare,unlqry,unirzna,unhoreg,uneebc,uneabvf,unafneq,unabire,unzzvgg,unyvohegba,unrsare,unqfryy,unnxrafba,thlaa,thvmne,tebhg,tebfm,tbzre,tbyyn,tbqol,tynam,tynapl,tvina,tvrfra,trefg,tnlzna,tneenjnl,tnobe,shearff,sevfx,serzbag,senel,sbenaq,srffraqra,sreevtab,srneba,sniernh,snhyxf,snyob,rjra,rhevpu,rgpuvfba,rfgreyl,ragjvfgyr,ryyvatfjbegu,rvfraonegu,rqryfba,rpxry,rneafunj,qhaaronpx,qblny,qbaaryyna,qbyva,qvovnfr,qrfpurarf,qrezbql,qrtertbevb,qneanyy,qnag,qnafrernh,qnanure,qnzznaa,qnzrf,pmnearpxv,phlyre,phfgneq,phzzvatunz,phssvr,phssrr,phqarl,phnqen,pevtyre,pertre,pbhtuyna,pbeiva,pbegevtug,pbepunqb,pbaarel,pbasbegv,pbaqeba,pbybfvzb,pbypybhtu,pburr,pvbggv,puvra,punpxb,prinyybf,pnivgg,pnivaf,pnfgntan,pnfujryy,pneebmmn,pneenen,pncen,pnzcnf,pnyynf,pnvfba,pnttvnab,olabr,ohfjryy,ohecb,oheanz,ohetrf,ohretre,ohrybj,ohrpur,oehav,oehzzvgg,oebqrefra,oevrfr,oervg,oenxrovyy,oenngm,oblref,obhtuare,obeebe,obedhrm,obaryyv,obuare,oynxre,oynpxzre,ovffrggr,ovoovaf,oungg,oungvn,orffyre,oretu,orerfsbeq,orafra,oraavatsvryq,oryynagbav,oruyre,orruyre,ornmyrl,ornhpurfar,onetb,onaarezna,onygrf,onybt,onyynaglar,nkryfba,nctne,nbxv,nafgrgg,nyrwbf,nypbpre,nyohel,nvpuryr,npxyrf,mrenathr,mruare,mnax,mnpnevnf,lbhatoret,lbexr,lneoeb,jlqen,jbeguyrl,jbyoreg,jvggzre,jvgurevatgba,jvfuneg,jvaxyrzna,jvyyvynzf,jvyyre,jvrqrzna,juvggvatunz,juvgorpx,jurgfry,juryrff,jrfgreoret,jrypure,jrtzna,jngresvryq,jnfvatre,jnesry,jnaanznxre,jnyobea,jnqn,ibty,ivmpneebaqb,ivgryn,ivyyrqn,irenf,irahgv,irarl,hyerl,huyvt,ghepvbf,gerzcre,gbevna,gbeorgg,guenvyxvyy,greebarf,grvgryonhz,grrzf,fjbbcr,fhafrev,fghgrf,fggubznf,fgebuz,fgeboyr,fgevrtry,fgervpure,fgbqbyn,fgvapupbzo,fgrirf,fgrccr,fgryyre,fgnhqg,fgneare,fgnznag,fgnz,fgnpxcbyr,fcenaxyr,fcrpvnyr,fcnue,fbjqref,fbin,fbyhev,fbqreyhaq,fyvaxneq,fwbtera,fvevnaav,fvrjreg,fvpxryf,fvpn,fuhtneg,fubhygf,fuvir,fuvzre,fuvre,furcyrl,furrena,friva,frgb,frthaqb,frqynprx,fphqrev,fpuhezna,fpuhryxr,fpubygra,fpuyngre,fpuvfyre,fpuvrsryorva,fpunyx,fnaba,fnonyn,ehlyr,ehlony,ehro,ebjfrl,ebfby,ebpuryrnh,evfury,evccrl,evattbyq,evrirf,evqvatre,erguresbeq,erzcr,ervgu,ensgre,enssnryr,dhvagb,chgm,cheqbz,chyf,chynfxv,cebcc,cevapvcngb,cervff,cenqn,cbynafxl,cbpu,cyngu,cvggneq,cvaabpx,csnee,csnaarafgvry,craavzna,cnhyvat,cngpura,cnfpuxr,cnexrl,cnaqb,bhvzrg,bggzna,bfgyhaq,bezvfgba,bppuvcvagv,abjnpxv,abeerq,abnpx,avfuvqn,avyyrf,avpbqrzhf,argu,arnyrl,zlevpxf,zhess,zhatvn,zbgfvatre,zbfpngb,zbenqb,zbaavre,zbylarhk,zbqmryrjfxv,zvhen,zvavpu,zvyvgryyb,zvyoenaqg,zvpunyvx,zrfreir,zraqvivy,zrynen,zpavfu,zpryunaaba,zppebl,zppenql,znmmryyn,znhyr,znggren,znguran,zngnf,znfpbeeb,znevaryyb,znethrm,znajnevat,znauneg,znatnab,znttv,ylzba,yhgre,yhfr,yhxnfvx,yhvm,yhqyhz,yhpmnx,ybjraguny,ybffrgg,yberagmra,yberqb,ybatjbegu,ybznagb,yvfv,yvfu,yvcfxl,yvapx,yvrqgxr,yrirevat,yrffzna,yrzbaq,yrzob,yrqbaar,yrngunz,ynhsre,ynacurne,ynatynvf,ynzcurne,ynzoregba,ynsba,ynqr,ynpebff,xlmre,xebx,xevat,xeryy,xeruovry,xengbpuivy,xenpu,xbine,xbfgxn,xahqgfba,xannpx,xyvroreg,xynua,xvexyrl,xvzmrl,xreevpx,xraarefba,xrrfyre,xneyva,wnabhfrx,vzry,vpraubhe,ulyre,uhqbpx,ubhcg,ubydhva,ubyvzna,ubynuna,ubqncc,uvyyra,uvpxzba,urefbz,uraevpu,uryirl,urvqg,urvqrzna,urqfgebz,urqva,uroeba,unlgre,unea,uneqntr,unyfgrq,unuar,untrznaa,thmvx,thry,tebrforpx,tevggba,tertb,tenmvnav,tenfgl,tenarl,tbhva,tbffntr,tbyfgba,tburra,tbqvan,tynqr,tvbetv,tvnzoebar,treevgl,treevfu,treb,treyvat,tnhyxr,tneyvpx,tnyvnab,tnvgre,tnuntna,tntavre,sevqqyr,serqrevpxfra,senadhv,sbyynaforr,sbrefgre,syhel,svgmznhevpr,svbevav,svaynlfba,svrpxr,svpxrf,svpugre,sreeba,sneery,snpxyre,rlzna,rfpneprtn,reevpb,reyre,reol,ratzna,ratryznaa,ryfnff,ryyvfgba,rqqyrzna,rnqvr,qhzzre,qebfg,qbeebhtu,qbeenapr,qbbyna,qbanyfba,qbzravpb,qvghyyvb,qvggzne,qvfuba,qvbavfvb,qvxr,qrivaarl,qrfve,qrfpunzc,qreevpxfba,qrynzben,qrvgpu,qrpunag,qnarx,qnuzra,phepv,phqwbr,pebkgba,pernfzna,penarl,penqre,pbjyvat,pbhyfgba,pbegvan,pbeyrj,pbey,pbcynaq,pbairel,pbuef,pyhar,pynhfvat,pvcevnav,pvnapvbyb,puhoo,puvgghz,puraneq,puneyrfjbegu,puneyrobvf,punzcvar,punzyrr,puntbln,pnffryzna,pneqryyb,pncnffb,pnaaryyn,pnyqrejbbq,olsbeq,ohggnef,ohfurr,oheentr,ohragryyb,oembmbjfxv,oelare,oehzvg,oebbxbire,oebaare,oebzoret,oevkrl,oevaa,oevtnagv,oerzare,oenja,oenafpbzr,oenaavtna,oenqfure,obmrx,obhynl,obeznaa,obatvbeab,obyyva,obuyre,obtreg,obqraunzre,oybfr,oviban,ovyyvcf,ovoyre,orasre,orarqrggv,oryhr,oryynatre,orysbeq,orua,oneauneqg,onygmryy,onyyvat,onyqhppv,onvagre,onovarnh,onovpu,onnqr,nggjbbq,nfzhf,nfneb,negvntn,nccyronhz,naqvat,nzne,nznxre,nyyfhc,nyyvtbbq,nyref,ntva,ntne,npuraonpu,noenzbjvgm,noonf,nnfra,mruaqre,lbcc,lryyr,lryqryy,jlagre,jbbqznafrr,jbbqvat,jbyy,jvaobear,jvyyfrl,jvyyrsbeq,jvqtre,juvgra,juvgpuhepu,junat,jrvffvatre,jrvazna,jrvatnegare,jrvqyre,jnygevc,jntne,jnssbeq,ivgntyvnab,ivyynyinmb,ivyynpbegn,ivtan,ivpxerl,ivpvav,iragvzvtyvn,inaqraobfpu,inyib,inynmdhrm,hgfrl,heonavnx,hamhrgn,gebzorggn,gerivmb,gerzoyrl,gerznvar,genirefb,gberf,gbyna,gvyyvfba,gvrgwra,grnpubhg,gnhor,gngunz,gnejngre,gneoryy,flqbj,fjvzf,fjnqre,fgevcyva,fgbygraoret,fgrvaunhre,fgrvy,fgrvtrejnyq,fgnexjrngure,fgnyyzna,fdhvre,fcnenpvab,fcnqnsben,fuvsyrg,fuvongn,furiyva,fureevpx,frffhzf,freinvf,fragref,frriref,frrylr,frnesbff,frnoebbxf,fpbyrf,fpujntre,fpuebz,fpuzrygmre,fpurssry,fnjva,fngresvry,fneqvan,fnaebzna,fnaqva,fnynznapn,fnynqva,fnovn,ehfgva,ehfuva,ehyrl,ehrgre,ebggre,ebframjrvt,ebur,ebqre,evgre,evrgu,evrq,evqqre,eraavpx,erzzref,erzre,erylrn,ervyyrl,erqre,enfurrq,enxbjfxv,enova,dhrrare,chefry,cebjryy,cevggf,cerfyre,cbhapl,cbepur,cbepneb,cbyyzna,cyrnf,cynanf,cvaxyrl,cvartne,cvytre,cuvyfba,crggvrf,creebqva,craqretenfg,cngnb,cnfgreanx,cnffneryyv,cnfxb,cnefunyy,cnabf,cnaryyn,cnybzob,cnqvyyb,blnzn,bireybpx,bireorpx,bggrefba,beeryy,bearyynf,bcvgm,bxryyl,bonaqb,abttyr,avpbfvn,arggb,arteva,angnyv,anxnlnzn,antnb,anqry,zhfvny,zheevyy,zheenu,zhafpu,zhppv,zebmrx,zblrf,zbjere,zbevf,zbenvf,zbbeubhfr,zbavpb,zbaql,zbapnlb,zvygraoretre,zvyfnc,zvybar,zvyyvxva,zvyneqb,zvpurnyf,zvppb,zrlrefba,zrevpyr,zraqryy,zrvauneqg,zrnpuhz,zpyrebl,zptenl,zptbavtny,znhygfol,zngvf,zngurarl,zngnzbebf,zneeb,znepvy,znepvny,znagm,znaavatf,znygol,znypubj,znvbenab,znua,znuyhz,zntyvb,znoreel,yhfgvt,yhryyra,ybatjryy,ybatrarpxre,ybsynaq,ybpnfpvb,yvaarl,yvaarzna,yvtugl,yriryy,yrinl,yranuna,yrzra,yrugb,yroneba,ynapgbg,ynzl,ynvarm,ynssbba,ynobzoneq,xhwnjfxv,xebtre,xerhgmre,xbeubara,xbaqb,xbyyzna,xbuna,xbthg,xanhf,xviv,xvggry,xvaare,xvaqvt,xvaqry,xvrfry,xvool,xunat,xrggyre,xrggrere,xrcare,xryyvure,xrrahz,xnabqr,xnvy,whunfm,wbjrgg,wbyvpbrhe,wrba,vfre,vatenffvn,vznv,uhgpupensg,uhzvfgba,uhyvatf,uhxvyy,uhvmratn,uhtyrl,ubealnx,ubqqre,uvfyr,uvyyraoenaq,uvyyr,uvthpuv,uregmyre,ureqba,urccare,urcc,urvgznaa,urpxneg,unmyrjbbq,unlyrf,unlrx,unjxva,unhtynaq,unfyre,uneohpx,unccry,unzoyl,unzoyrgba,untnzna,thmmv,thyyrggr,thvalneq,tebtt,tevfr,tevssvat,tbgb,tbfarl,tbyrl,tbyqoyngg,tyrquvyy,tvegba,tvygare,tvyybpx,tvyunz,tvysvyyna,tvoyva,tragare,truyreg,truy,tnegra,tnearl,tneybj,tnergg,tnyyrf,tnyrnan,shgeny,shue,sevrqynaq,senafba,senafra,sbhyqf,sbyyzre,sbynaq,synk,syniva,svexvaf,svyyvba,svthrerqb,sreevyy,srafgre,srayrl,snhire,snesna,rhfgvpr,rccyre,ratryzna,ratryxr,rzzre,ryml,ryyjbbq,ryyreorr,ryxf,ruerg,rooreg,qheenu,qhcenf,qhohdhr,qentbb,qbayba,qbyybss,qvoryyn,qreevpb,qrzxb,qrzne,qneevatgba,pmncyn,pebbxre,perntu,penabe,penare,penovyy,pblre,pbjzna,pbjureq,pbggbar,pbfgvyyb,pbfgre,pbfgnf,pbframn,pbexre,pbyyvafba,pbryyb,pyvatzna,pyvatrezna,pynobea,puzhen,punhffr,punhquel,puncryy,punapl,preebar,pnireyl,pnhyxvaf,pnea,pnzcsvryq,pnzcnaryyv,pnyynunz,pnqberggr,ohgxbivpu,ohfxr,oheevre,ohexyrl,ohalneq,ohpxryrj,ohpuurvg,oebzna,oerfpvn,oenfry,oblfgre,obbr,obabzb,obaqv,obuafnpx,oybzoret,oynasbeq,ovyqreonpx,ovttvaf,oragyl,orueraqf,orrtyr,orqbln,orpugby,ornhovra,onlrey,onhztneg,onhzrvfgre,oneengg,oneybjr,onexzna,oneontnyyb,onyqerr,onvar,onttf,onpbgr,nlyjneq,nfuhefg,neivqfba,neguhef,neevrgn,neerl,neerthva,neenag,neare,nevmzraqv,naxre,nzvf,nzraq,nycuva,nyyoevtug,nvxva,mhcna,mhpubjfxv,mrbyyn,mnapurm,mnuenqavx,mnuyre,lbhana,lrngre,lrnegn,lneevatgba,lnagvf,jbbzre,jbyyneq,jbysvatre,jbreare,jvgrx,jvfuba,jvfrare,jvatregre,jvyyrg,jvyqvat,jvrqrznaa,jrvfry,jrqrxvat,jnloevtug,jneqjryy,jnyxvaf,jnyqbes,ibgu,ibvg,iveqra,ivybevn,ivyyntena,infgn,infuba,indhren,inagnffryy,inaqreyvaqra,inaqretevsg,inaphera,inyragn,haqreqnuy,gltneg,gjvavat,gjvsbeq,gheyvatgba,ghyyvhf,ghozna,gebjryy,gevrh,genafhr,gbhfnag,gbetrefra,gbbxre,gbzr,gbzn,gbppv,gvccvaf,gvaare,gvzyva,gvyyvatunfg,gvqzber,grgv,grqevpx,gnprl,fjnaoret,fhaqr,fhzzvgg,fhzzresbeq,fhzzn,fgengzna,fgenaqoret,fgbepx,fgbore,fgrvgm,fgnlre,fgnhore,fgnvtre,fcbanhtyr,fcbssbeq,fcnenab,fcntabyn,fbxbybfxv,fanl,fybhtu,fxbjebafxv,fvrpx,fuvzxhf,furgu,furex,funaxyrf,funuvq,fril,frartny,frvqra,frvqryy,frneyf,frnevtug,fpujnyz,fpuht,fpuvyxr,fpuvre,fpurpx,fnjgryyr,fnagber,fnaxf,fnaqdhvfg,fnaqra,fnyvat,fnngubss,eloret,ehfgnq,ehssvat,ehqavpxv,ehnar,ebmmv,ebjfr,ebfranh,ebqrf,evffre,evttva,evrff,evrfr,eubgra,ervarpxr,ervtyr,ervpuyvat,erqare,eroryb,enlarf,envzbaqv,enur,enqn,dhreel,dhryyrggr,chyfvsre,cebpuabj,cengb,cbhygba,cbhqevre,cbyvpnfgeb,cbyurzhf,cbynfrx,cbvffnag,cbuyznaa,cybgare,cvgxva,cvgn,cvaxrgg,cvrxnefxv,cvpuba,csnh,crgebss,crgreznaa,crcyvafxv,cryyre,crpvabifxl,crnefr,cnggvyyb,cngnthr,cneyvre,cneragv,cnepuzna,cnar,cnss,begare,bebf,abyyrl,abnxrf,avtu,avpbybfv,avpbynl,arjanz,arggre,anff,ancbyrf,anxngn,anxnzbgb,zbeybpx,zbentn,zbagvyyn,zbatrnh,zbyvgbe,zbuarl,zvgpurare,zrlreubss,zrqry,zpavss,zpzbantyr,zptybja,zptyvapurl,zptneevgl,zppevtug,zppbeirl,zppbaary,zppnetb,znmmrv,znghyn,znfgebvnaav,znffvatnyr,znevat,znevpyr,znaf,znaaba,znaavk,znaarl,znanyb,znyb,znyna,znubal,znqevy,znpxbjvnx,znpxb,znpvagbfu,yheel,yhpmlafxv,yhpxr,yhpneryyv,ybfrr,yberapr,ybvnpbab,ybufr,ybqre,yvcnev,yvaronetre,yvaqnzbbq,yvzonhtu,yrggf,yryrhk,yrrc,yrrqre,yrneq,ynkfba,ynjel,ynireqvrer,ynhtugba,ynfgen,xherx,xevff,xevfuana,xergfpuzre,xerofonpu,xbagbf,xabory,xanhs,xyvpx,xyrira,xynjvggre,xvgpuva,xvexraqbyy,xvaxry,xvaterl,xvyobhea,xrafvatre,xraareyl,xnzva,whfgvavnab,wherx,whaxva,whqba,wbeqnuy,wrnarf,wneeryyf,vjnzbgb,vfuvqn,vzzry,vzna,vuyr,uler,uhea,uhaa,uhygzna,uhssfgrgyre,uhssre,uhoare,ubjrl,ubbgba,ubygf,ubyfpure,ubyra,ubttngg,uvynver,urem,uraar,uryfgebz,uryyvpxfba,urvayrva,urpxngubea,urpxneq,urnqyrr,unhcgzna,unhturl,ungg,uneevat,unesbeq,unzzvyy,unzrq,unycreva,unvt,untjbbq,untfgebz,thaaryyf,thaqynpu,thneqvbyn,terrab,terraynaq,tbapr,tbyqfol,tbory,tvfv,tvyyvaf,tvyyvr,treznab,trvory,tnhtre,tneevbgg,tneonevab,tnwrjfxv,shanev,shyyoevtug,shryy,sevgmyre,serfujngre,sernf,sbegvab,sbeohf,sybue,syrzvfgre,svfpu,svaxf,srafgreznxre,sryqfgrva,sneung,snaxunhfre,sntt,snqre,rkyvar,rzvtu,rthvn,rqzna,rpxyre,rnfgohea,qhazber,qhohvffba,qhovafxl,qenlre,qbirefcvxr,qbhoyrqnl,qbgra,qbeare,qbyfba,qbueznaa,qvfyn,qveramb,qvcnbyn,qvarf,qvoynfv,qrjbys,qrfnagv,qraarul,qrzzvat,qryxre,qrpbyn,qnivyyn,qnhtugevqtr,qneivyyr,qneynaq,qnaml,qntranvf,phybggn,pehmnqb,pehqhc,pebfjryy,pbireqnyr,pbiryyv,pbhgf,pbeoryy,pbcyna,pbbyonhtu,pbalre,pbayrr,pbavtyvneb,pbzvfxrl,pboreyl,pyraqravat,pynvezbag,pvrashrtbf,pubwanpxv,puvypbgr,punzcarl,pnffnen,pnfnmmn,pnfnqb,pnerj,pneova,pnenonwny,pnypntav,pnvy,ohforr,ohegf,oheoevqtr,ohatr,ohaqvpx,ohuyre,ohpubygm,oehra,oebpr,oevgr,oevtanp,oevreyl,oevqtzna,oenunz,oenqvfu,oblvatgba,obewnf,obaa,obaubzzr,obuyra,obtneqhf,obpxryzna,oyvpx,oynpxreol,ovmvre,oveb,ovaarl,oregbyvav,oregva,oregv,oragb,orab,orytneqr,oryqvat,orpxry,orpreevy,onmnyqhn,onlrf,onlneq,oneehf,oneevf,onebf,onen,onyybj,onxrjryy,ontvafxv,onqnynzragv,onpxunhf,nivyrm,nhivy,nggroreel,neqba,namnyqhn,naryyb,nzfyre,nzoebfvb,nygubhfr,nyyrf,nyoregv,nyorefba,nvgpuvfba,nthvantn,mvrznaa,mvpxrsbbfr,mree,mrpx,mnegzna,mnuz,mnoevfxvr,lbua,lryybjunve,lrngba,lneanyy,lncyr,jbyfxv,jvkba,jvyyare,jvyyzf,juvgfvgg,jurryjevtug,jrlnaqg,jrff,jratreq,jrngureubygm,jnggraonetre,jnyengu,jnycbyr,jnyqevc,ibtrf,ivamnag,ivnef,irerf,irarmvnab,irvyyba,injgre,inhtuaf,inajneg,inabfgenaq,inyvragr,inyqrenf,huevt,ghavfba,ghyybpu,gebfgyr,gernfgre,genljvpx,gblr,gbzfba,gbznfryyb,gbznfrx,gvccvg,gvanwreb,gvsg,gvraqn,gubevatgba,guvrzr,guvornh,gunxxne,grjryy,grysre,fjrrgfre,fgengsbeq,fgenprare,fgbxr,fgvirefba,fgryyvat,fcngm,fcntabyv,fbetr,fyriva,fynonhtu,fvzfba,fuhcc,fubhygm,fubggf,fuvebzn,furgyrl,fureebj,furssrl,funjtb,funzohetre,frfgre,frtenirf,frryvt,fpvbarnhk,fpujnegmxbcs,fpujnor,fpubyrf,fpuyhgre,fpuyrpug,fpuvyynpv,fpuvyqtra,fpuvrore,fpurjr,fpurpgre,fpnecryyv,fpntyvbar,fnhggre,fnagryyv,fnyzv,fnonqb,elre,elqoret,elon,ehfusbeq,ehax,ehqqvpx,ebgbaqb,ebgr,ebfrasvryq,ebrfare,ebppuvb,evgmre,evccry,evzrf,evssry,evpuvfba,evooyr,erlabyq,erfu,erua,enggv,enfbe,enfanxr,enccbyq,enaqb,enqbfrivpu,chyvpr,cevpurgg,cevooyr,cblabe,cybjqra,cvgmra,cvggfyrl,cvggre,cuvylnj,cuvyvccf,crfgnan,creeb,crebar,cren,crvy,crqbar,cnjybjvpm,cnggrr,cnegra,cneyva,cnevfrnh,cnerqrm,cnrx,cnpvsvpb,bggf,bfgebj,bfbeavb,bfyhaq,befb,bbgra,baxra,bavry,bana,byyvfba,buyfra,buyvatre,bqbjq,avrzvrp,arhoreg,arzouneq,arnirf,arngurel,anxnfbar,zlrefba,zhgb,zhagm,zharm,zhzzr,zhzz,zhwvpn,zhvfr,zhrapu,zbeevff,zbybpx,zvfubr,zvavre,zrgmtne,zreb,zrvfre,zrrfr,zpfjrra,zpdhver,zpdhvaa,zpcurrgref,zpxryyre,zpvyengu,zptbja,zpqnivf,zpphra,zppyragba,znkunz,zngfhv,zneevare,zneyrggr,znafhe,znapvab,znynaq,znwxn,znvfpu,znurhk,znqel,znqevm,znpxyrl,znpxr,ylqvpx,yhggrezna,yhccvab,yhaqnuy,ybivatbbq,ybhqba,ybatzber,yvrsre,yrirdhr,yrfpneornh,yrzzre,yrqtrejbbq,ynjire,ynjevr,ynggrn,ynfxb,ynuzna,xhycn,xhxbjfxv,xhxyn,xhobgn,xhonyn,xevmna,xevm,xevxbevna,xenirgm,xenzc,xbjnyrfxv,xaboybpu,xybfgrezna,xybfgre,xyrccre,xveira,xvaanzna,xvaanveq,xvyynz,xvrfyvat,xrfare,xrroyre,xrntyr,xneyf,xncvabf,xnagare,xnon,whavbhf,wrssrelf,wnpdhrg,vmmv,vfuvv,vevba,vsvyy,ubgneq,ubezna,ubccrf,ubcxva,ubxnafba,ubqn,ubphgg,ubntyva,uvgrf,uvenv,uvaqyr,uvapu,uvygl,uvyq,uvre,uvpxyr,uvoyre,uraevpuf,urzcfgrnq,uryzref,uryyneq,urvzf,urvqyre,unjonxre,unexyrebnq,unenev,unaarl,unaansbeq,unzvq,unygbz,unyysbeq,thvyyvnzf,threrggr,telqre,tebfrpybfr,tebra,tevzyrl,terravqtr,tenssnz,tbhpure,tbbqrabhtu,tbyqfobebhtu,tybfgre,tynagba,tynqfba,tynqqvat,turr,trguref,trefgrva,trrfrl,trqqvr,tnlre,tnire,tnhagg,tnegynaq,tneevtn,tnebhggr,sebax,sevgmr,seramry,sbetvbar,syhvgg,syvapuonhtu,synpu,svbevgb,svana,svanzber,svzoerf,svyyzna,svtrebn,svpxyva,srure,srqqrefra,snzoeb,snveonvea,rirf,rfpnyban,ryfrl,rvfrafgrva,rueraoret,rnetyr,qenar,qbtna,qviryl,qrjbysr,qrggzna,qrfvqrevb,qrfpu,qraara,qrax,qrznevf,qryfvtaber,qrwnearggr,qrrer,qrqzna,qnjf,qnhcuvanvf,qnam,qnagva,qnaaraoret,qnyol,pheerapr,phyjryy,phrfgn,pebfgba,pebffab,pebzyrl,pevfpv,penj,pbelryy,pbaqen,pbycvggf,pbynf,pyvax,pyrivatre,pyrezbag,pvfgehax,pvevyb,puvevpb,puvneryyb,prcuhf,prpran,pninyvrer,pnhturl,pnfvzve,pnejryy,pneyba,pneobaneb,pnenirb,pnagyrl,pnyyrwnf,pntarl,pnqvrhk,pnonavff,ohfuneq,oheyrj,ohenf,ohqmvafxv,ohpxyrj,oeharnh,oehzzre,oehrttrznaa,oebgmzna,oebff,oevggvna,oevzntr,oevyrf,oevpxzna,oerarzna,oervgrafgrva,oenaqry,oenpxvaf,oblqfgha,obggn,obfxrg,obebf,obetznaa,obeqrnh,obavsnpvb,obygra,obruzna,oyhaqryy,oybbqfnj,owrexr,ovssyr,ovpxrgg,ovpxref,orivyyr,oretera,oretrl,oramvat,orysvber,orvear,orpxreg,orobhg,onhzreg,onggrl,oneef,oneevrer,onepryb,oneor,onyyvrg,onunz,onofg,nhgba,nfcre,nforyy,nemngr,netragb,nery,nenxv,nenv,nagyrl,nzbqrb,nzznaa,nyyrafjbegu,nyqncr,nxrl,norvgn,mjrvsry,mrvyre,mnzbe,mnyrafxv,lmnthveer,lbhfrs,lrgzna,jlre,jbbyjvar,jbuytrzhgu,jbuyref,jvggraoret,jvatebir,jvzfngg,jvyyvznf,jvyxrafba,jvyqrl,jvyqrezna,jvypmlafxv,jvtgba,jubeyrl,jryybaf,jryyr,jrvevpu,jrvqrzna,jrvqr,jrnfg,jnfzhaq,jnefunj,jnyfba,jnyqare,jnypu,jnyoret,jntrare,jntrzna,ievrmr,ibffra,ibepr,ibbeuvf,ibaqreurvqr,ivehrg,ivpnev,irear,irynfdhrf,inhgbhe,inegnavna,ineban,inaxrhera,inaqvar,inaqrezrre,hefrel,haqreqbja,huevpu,huyzna,gjberx,gjvar,gjryyzna,gjrrqvr,ghgvab,ghezryyr,ghoo,gevirqv,gevnab,geringuna,gerrfr,gernabe,gernpl,genvan,gbcunz,gbrawrf,gvccrggf,gvrh,gubzher,gungpu,grgmynss,grggregba,grnzre,gnccna,gnypbgg,gntt,fmpmrcnafxv,flevat,fhenpr,fhymre,fhtehr,fhtnezna,fhrff,fglbaf,fgjneg,fghcxn,fgerl,fgenhor,fgengr,fgbqqneg,fgbpxoevqtr,fgwnzrf,fgrvzyr,fgrraoret,fgnznaq,fgnyyre,fgnuyl,fgntre,fchetva,fcebj,fcbafyre,fcrnf,fcnvaubhe,fbarf,fzvgf,fzrypre,fybinx,fyngra,fvatyrgreel,fvzvra,fvqrobggbz,fvoevna,furyyunzzre,furyohear,funzob,frcrqn,frvtry,fpbtva,fpvnaan,fpuzbyy,fpuzrymre,fpurh,fpunpugre,fninag,fnhfrqn,fngpure,fnaqbe,fnzcfryy,ehtu,ehsrare,ebgraoreel,ebffbj,ebffonpu,ebyyzna,ebqevdhr,ebqerthrm,ebqxrl,ebqn,evav,evttna,evragf,evrqy,euvarf,erff,ervaobyq,enfpuxr,eneqva,enpvpbg,dhvyyva,chfuneq,cevzebfr,cevrf,cerffrl,cerpbheg,cenggf,cbfgry,cbccryy,cyhzre,cvaterr,cvrebav,csyht,crger,crgenepn,crgrexn,crexva,cretnaqr,crenavb,craan,cnhyuhf,cnfdhnevryyb,cneenf,cnezragvre,cnzcyva,bivngg,bfgreubhqg,bfgraqbes,bfzha,begzna,beybss,beona,babsevb,byirqn,bygzna,bxrrssr,bpnan,aharznxre,abil,abssfvatre,avfu,avqnl,argurel,arzvgm,arvqreg,anqny,anpx,zhfmlafxv,zhafgrezna,zhyureva,zbegvzber,zbegre,zbagrfvab,zbagnyina,zbagnyonab,zbzba,zbzna,zbtna,zvaaf,zvyyjneq,zvyyvat,zvpuryfra,zrjobea,zrgnlre,zrafpu,zrybl,zrttf,zrnqref,zpfbeyrl,zpzranzva,zpyrnq,zpynhpuyva,zpthssrl,zpthpxva,zptynhtuyva,zpsreeba,zpragler,zppehz,zppnjyrl,zponva,znluhr,zngmra,znggba,znefrr,zneeva,zneynaq,znexhz,znagvyyn,znaser,znxhpu,znqybpx,znpnhyrl,yhmvre,yhgul,yhsxva,yhpran,ybhqva,ybguebc,ybepu,ybyy,ybnqubyg,yvccbyq,yvpugzna,yvoregb,yvnxbf,yrjvpxv,yrirgg,yragvar,yrwn,yrterr,ynjurnq,ynheb,ynhqre,ynazna,ynax,ynavat,ynybe,xebo,xevtre,xevrtry,xerwpv,xervfry,xbmry,xbaxry,xbyfgnq,xbrara,xbpfvf,xaboybpx,xarory,xybcsre,xyrr,xvyqnl,xrfgra,xreof,xrzcxre,xrnguyrl,xnmrr,xnhe,xnzre,xnznxn,xnyyraonpu,wruyr,wnlpbk,wneqva,wnuaf,virfgre,ulccbyvgr,ulpur,uhccreg,uhyva,uhoyrl,ubefrl,ubeanx,ubymjnegu,ubyzba,ubyynonhtu,ubynjnl,ubqrf,ubnx,uvarfyrl,uvyyjvt,uvyyroenaq,uvtusvryq,urfybc,ureenqn,uraqelk,uryyhzf,urvg,urvfuzna,urvaqry,unlfyvc,unlsbeq,unfgvr,unegtebir,unahf,unxvz,unvaf,unqabgg,thaqrefra,thyvab,thvqebm,throreg,terffrgg,tenlqba,tenzyvat,tenua,tbhcvy,tberyvpx,tbbqernh,tbbqabhtu,tbynl,tbref,tyngm,tvyyvxva,tvrfrxr,tvnzznevab,trgzna,trafyre,tnmqn,tnevonyqv,tnuna,shaqreohexr,shxhqn,shtvgg,shrefg,sbegzna,sbeftera,sbezvpn,syvax,svggba,srygm,srxrgr,srvg,srueraonpu,snebar,snevanf,snevrf,sntra,rjva,rfdhvyva,rfpu,raqreyr,ryyrel,ryyref,rxoret,rtyv,rssvatre,qlzbaq,qhyyr,qhyn,qhur,qhqarl,qbjyrff,qbjre,qbezvarl,qbcc,qbbyvat,qbzre,qvfure,qvyyraorpx,qvsvyvccb,qvoreaneqb,qrlbr,qrivyyvre,qrayrl,qrynaq,qrsvonhtu,qrro,qrobj,qnhre,qnggn,qnepnatryb,qnbhfg,qnzryvb,qnuz,qnuyzna,pheyva,phcvg,phygba,phrapn,pebcc,pebxr,perzre,penpr,pbfvb,pbemvar,pbbzor,pbzna,pbybar,pbybzn,pbyyvatjbbq,pbqreer,pbpxr,pboyre,pynloebbx,pvapbggn,pvzzvab,puevfgbss,puvfhz,puvyyrzv,purirer,punpurer,preibar,preznx,prsnyh,pnhoyr,pngure,pnfb,pneaf,pnepnzb,pneob,pncbppvn,pncryyb,pncryy,pnavab,pnzonerev,pnyiv,pnovarff,ohfuryy,ohegg,ohefgrva,ohexyr,ohaare,ohaqera,ohrpuyre,oelnaq,oehfb,oebjafgrva,oebhfr,oebqg,oevfova,oevtugzna,oerarf,oervgraonpu,oenmmryy,oenmrr,oenzjryy,oenzunyy,oenqfgerrg,oblgba,objynaq,obhygre,obffreg,obahen,obaroenxr,obanppv,obrpx,oylfgbar,ovepuneq,ovyny,ovqql,ovorr,orinaf,orguxr,oregryfra,orearl,oretsryq,orajner,oryyba,oryynu,onggregba,oneorevb,onzore,ontqba,onqrnhk,nirevgg,nhtfohetre,ngrf,neivr,nebabjvgm,neraf,nenln,natrybf,naqenqn,nzryy,nznagr,nyzl,nyzdhvfg,nyyf,nvfcheb,nthvyyba,nthqryb,nprgb,nonybf,mqrarx,mnerzon,mnppnevn,lbhffrs,jeban,jerqr,jbggba,jbbyfgba,jbycreg,jbyyzna,jvapr,jvzoreyrl,jvyyzber,jvyyrggf,jvxbss,jvrqre,jvpxreg,juvgranpx,jreavpx,jrygr,jryqra,jrvfraoretre,jrvpu,jnyyvatgba,jnyqre,ibffyre,iber,ivtb,ivreyvat,ivpgbevar,ireqha,irapvyy,inmthrm,inffry,inamvyr,inaiyvrg,inagernfr,inaabfgenaq,inaqreirre,inaqreirra,inapvy,hlrqn,hzcuerl,huyre,hore,ghgfba,gheeragvar,ghyyvre,ghtjryy,gehaql,gevcbqv,gbzre,gbznfv,gbznfryyv,gbxnefxv,gvfure,gvoorgf,gujrngg,guneevatgba,grfne,gryrfpb,grnfqnyr,gngrz,gnavthpuv,fhevry,fhqyre,fghgfzna,fghezna,fgevgr,fgerybj,fgervtug,fgenjqre,fgenafxl,fgenuy,fgbhef,fgbat,fgvaronhtu,fgvyyfba,fgrlre,fgryyr,fgrssrafzrvre,fgngunz,fdhvyynagr,fcvrff,fcnetb,fbhgujneq,fbyyre,fbqra,fahttf,faryytebir,fzlref,fzvqql,fybanxre,fxlyrf,fxbjeba,fvivyf,fvdhrvebf,fvref,fvqqnyy,fubagm,fuvatyre,fuvyrl,fuvoyrl,fureneq,furyahgg,furqevpx,funfgrra,frerab,fryxr,fpbivy,fpbyn,fpuhrgg,fpuhrffyre,fpuerpxratbfg,fpuenam,fpubrcc,fpuarvqrezna,fpuynatre,fpuvryr,fpurhreznaa,fpuregm,fpurvqyre,fpurss,fpunare,fpunzore,fpneqvan,fnirqen,fnhyavre,fngre,fneeb,fnzoenab,fnybzbar,fnobheva,ehhq,ehggra,ehssvab,ehqqbpx,ebjfre,ebhffryy,ebfratnegra,ebzvatre,ebyyvafba,ebuzna,ebrfre,ebqraoret,eboreqf,evqtryy,eubqhf,erlantn,erkebqr,eriryyr,erzcry,erzvtvb,ervfvat,ervyvat,errgm,enlbf,enirafpebsg,eniraryy,enhyrefba,enfzhffba,enfx,enfr,entba,dhrfary,dhnfuvr,chmb,chgreonhtu,cgnx,cebfg,cevfoerl,cevapvcr,cevpre,cenggr,cbhaprl,cbegzna,cbagvbhf,cbzrenagm,cynapx,cvyxragba,cvynefxv,curtyrl,creghvg,cragn,cryp,crssre,crpu,crntyre,cniryxn,cninb,cngzna,cnfxrgg,cneevyyn,cneqvav,cncnmvna,cnagre,cnyva,cnyrl,cnrgmbyq,cnpxrgg,cnpurb,bfgerz,befobea,byzrqb,bxnzhen,bvyre,btyrforr,bngvf,ahpxyrf,abggre,abeqlxr,abthrven,avfjnaqre,avoreg,arfol,arybzf,anqvat,anno,zhaaf,zhyynexrl,zbhql,zberg,zbaava,zbyqre,zbqvfrggr,zbpmltrzon,zbpgrmhzn,zvfpuxr,zveb,zvatf,zvybg,zvyyrqtr,zvyubea,zvyren,zvryrf,zvpxyrl,zvprx,zrgryyhf,zrefpu,zrebyn,zrepher,zrapre,zryyva,zryy,zrvaxr,zpdhvyyna,zpzhegevr,zpxvyybc,zpxvreana,zpxraqevpx,zpxnzvr,zpvyinvar,zpthssvr,zptbavtyr,zptneenu,zpsrgevqtr,zpranarl,zpqbj,zpphgpuna,zppnyyvr,zpnqnz,znlpbpx,znlorr,znggrv,znffv,znffre,znfvryyb,znefuryy,znezb,znexforeel,znexryy,znepuny,znaebff,znatnaneb,znyyl,znyybj,znvyubg,zntlne,znqreb,znqqvat,znqqnyran,znpsneynaq,ylarf,yhtne,yhpxvr,yhppn,ybivgg,ybirevqtr,ybhk,ybgu,ybfb,yberamnan,ybenapr,ybpxyrl,ybpxnzl,yvggyre,yvgzna,yvgxr,yvrory,yvpugraoretre,yvprn,yrirevpu,yrgnegr,yrfrfar,yrab,yrtyrvgre,yrssrj,ynheva,ynhavhf,ynfjryy,ynffra,ynfnyn,ynenjnl,ynenzber,ynaqevgu,ynapba,ynanuna,ynvpur,ynsbeq,ynpurezrvre,xhafg,xhtry,xhpx,xhpugn,xhor,xbehf,xbccrf,xbyor,xbreore,xbpuna,xavggry,xyhpx,xyrir,xyrvar,xvgpu,xvegba,xvexre,xvagm,xvatubea,xvaqryy,xvzerl,xvyqhss,xvypernfr,xvpxyvtugre,xvooyr,xreiva,xrcyvatre,xrbtu,xryybt,xrrgu,xrnyrl,xnmzvrepmnx,xneare,xnzry,xnyvan,xnpmlafxv,whry,wrezna,wrccfba,wnjnq,wnfvx,wndhn,wnahfm,wnapb,vafxrrc,vaxf,vatbyq,ulaqzna,ulzre,uhagr,uhaxvaf,uhzore,uhssfghgyre,uhssvarf,uhqba,uhqrp,ubiynaq,ubhmr,ubhg,ubhtynaq,ubcs,ubyfnccyr,ubyarff,ubyyraonpu,ubsszrvfgre,uvgpuvatf,uvengn,uvrore,uvpxry,urjrl,ureevzna,ureznafra,urenaqrm,uramr,urssrysvatre,urqtrpbpx,unmyvgg,unmryevtt,unlpbpx,uneera,uneantr,uneyvat,unepebj,unaabyq,unayvar,unary,unaoreel,unzzrefyrl,unzreavx,unwqhx,unvgupbpx,unss,unqnjnl,unna,thyyngg,thvyonhyg,thvqbggv,tehare,tevffba,tevrirf,tenangb,tenoreg,tbire,tbexn,tyhrpx,tveneqva,tvrfyre,trefgra,trevat,trref,tnhg,tnhyva,tnfxnzc,tneorgg,tnyyvina,tnyynaq,tnrgu,shyyraxnzc,shyynz,sevrqevpuf,server,serrarl,serqraohet,senccvre,sbjxrf,sberr,syrhenag,syrvt,syrntyr,svgmfvzbaf,svfpurggv,svberamn,svaarena,svyvccv,svthrenf,srfyre,sregvt,sraary,srygznaa,srycf,sryzyrr,snaaba,snzvyvn,snvenyy,snqqra,rffyvatre,rasvatre,ryfnffre,ryzraqbes,ryyvfbe,rvaubea,ruezna,rtare,rqzvfgra,rqyhaq,rovatre,qlzrag,qlxrzna,qheyvat,qhafgna,qhafzber,qhtny,qhre,qerfpure,qblry,qbffrl,qbaryna,qbpxfgnqre,qbolaf,qvivf,qvyxf,qvqvre,qrfebfvre,qrfnagb,qrccr,qrybfu,qrynatr,qrsenax,qrob,qnhore,qnegrm,qndhvyn,qnaxreg,qnua,pltna,phfvp,pheszna,pebtuna,pebss,pevtre,perivfgba,penlf,penirl,penaqyr,penvy,pentb,penturnq,pbhfvarnh,pbhpuzna,pbgueba,pberyyn,pbavar,pbyyre,pbyoret,pbtyrl,pbngarl,pbnyr,pyraqrava,pynljryy,pyntba,pvsnyqv,pubvavrer,puvpxrevat,puvpn,puraanhyg,punineva,punggva,punybhk,punyyvf,prfnevb,pnmnerm,pnhtuzna,pngyrqtr,pnfrobyg,pneery,pneen,pneybj,pncbgr,pnarm,pnzvyyb,pnyvraqb,pnyoreg,olyfzn,ohfxrl,ohfpuzna,ohexuneq,ohetuneqg,ohetneq,ohbabpber,ohaxyrl,ohatneq,ohaqevpx,ohzoerl,ohvpr,ohssxva,oehaqvtr,oebpxjryy,oevba,oevnag,oerqrfba,oenafsbeq,oenaabpx,oenxrsvryq,oenpxraf,oenonag,objqbva,obhlre,obgur,obbe,obanivgn,obyyvt,oyhegba,oyhax,oynaxr,oynapx,oveqra,ovreonhz,orivatgba,orhgyre,orggref,orggpure,oren,orajnl,oratfgba,orarfu,orune,orqfbyr,orpragv,ornpul,onggrefol,onfgn,onegzrff,onegyr,onegxbjvnx,onefxl,oneevb,oneyrggn,onesbbg,onartnf,onyqbanqb,nmpban,ninagf,nhfgryy,nhatfg,nhar,nhznaa,nhqvn,nggreohel,nffryva,nfzhffra,nfuyvar,nfovyy,neivmb,neabg,nevbyn,neqerl,natfgnqg,nanfgnfvb,nzfqra,nzrezna,nyerq,nyyvatgba,nyrjvar,nypvan,nyorevpb,nuytera,nthnf,ntenjny,ntbfgn,nqbycufra,nprl,nohegb,noyre,mjvrory,mrcc,mragm,loneob,lneoreel,lnznhpuv,lnznfuveb,jhegm,jebafxv,jbefgre,jbbggra,jbathf,jbygm,jbynafxv,jvgmxr,jvgurl,jvfrpneire,jvatunz,jvarvatre,jvartneqra,jvaqubym,jvythf,jvrfra,jvrpx,jvqevpx,jvpxyvssr,juvggraoret,jrfgol,jreyrl,jratreg,jraqbes,jrvzne,jrvpx,jrpxreyl,jngebhf,jnfqra,jnysbeq,jnvaevtug,jnuyfgebz,jnqybj,ieon,ibvfva,ivirf,ivinf,ivgryyb,ivyyrfpnf,ivyynivprapvb,ivyynabin,ivnycnaqb,irgenab,irafry,inffryy,inenab,inaevcre,inaxyrrpx,inaqhlar,inaqrecby,inanagjrec,inyramhyn,hqryy,gheadhvfg,ghss,gevpxrgg,genzoyr,gvatrl,gvzoref,gvrgm,guvrz,grepreb,graare,grantyvn,grnfgre,gneygba,gnvgg,gnoba,fjneq,fjnol,fhlqnz,fhevgn,fhzna,fhqqrgu,fghzob,fghqvinag,fgeboy,fgervpu,fgbbqyrl,fgbrpxre,fgvyyjntba,fgvpxyr,fgryyznpure,fgrsnavx,fgrrqyrl,fgneoveq,fgnvaonpx,fgnpxre,fcrve,fcngu,fbzzresryq,fbygnav,fbyvr,fbwxn,fbobgn,fbovrfxv,fbopmnx,fzhyyra,fyrrgu,fynlznxre,fxbyavpx,fxbtyhaq,fverf,fvatyre,fvyyvzna,fuebpx,fubgg,fuvenu,fuvzrx,furccreq,furssyre,furryre,funeebpx,funezna,funynfu,frlsevrq,frlobyq,frynaqre,frvc,frvsevrq,frqbe,frqybpx,frorfgn,frntb,fphgg,fpeviraf,fpvnppn,fpuhygmr,fpubrznxre,fpuyrvsre,fpuyntry,fpuynpugre,fpurzcc,fpurvqre,fpneobeb,fnagv,fnaquh,fnyvz,fnvn,elynaqre,elohea,ehgvtyvnab,ehbppb,ehynaq,ehqybss,ebgg,ebfraohet,ebfraorpx,ebzoretre,ebznaryyv,ebuybss,ebuysvat,ebqqn,ebqq,evgnppb,evryyl,evrpx,evpxyrf,evpxraonpxre,erfcnff,ervfare,ervarpx,ervtuneq,eruorva,ertn,erqqvk,enjyrf,enire,enggyre,engyrqtr,enguzna,enzfohet,envfbe,enqbivpu,enqvtna,dhnvy,chfxne,chegrr,cevrfgyl,cerfgvqtr,cerfgv,cerffyl,cbmb,cbggvatre,cbegvre,cbegn,cbepryyv,cbcynjfxv,cbyva,cbrccryzna,cbpbpx,cyhzc,cynagm,cynprx,cveb,cvaaryy,cvaxbjfxv,cvrgm,cvpbar,cuvyorpx,csyhz,crirgb,creerg,cragm,cnlre,cngyna,cngreab,cncntrbetr,birezlre,bireynaq,bfvre,bejvt,behz,bebfm,bdhva,bcvr,bpufare,bngubhg,altneq,abeivyyr,abegujnl,avire,avpbyfba,arjuneg,arvgmry,angu,anarm,zheanar,zbegryyneb,zbeernyr,zbevab,zbevnevgl,zbetnqb,zbberubhfr,zbatvryyb,zbygba,zvemn,zvaavk,zvyyfcnhtu,zvyol,zvynaq,zvthrm,zvpxyrf,zvpunhk,zragb,zryhtva,zryvgb,zrvarpxr,zrue,zrnerf,zparrpr,zpxnar,zptynffba,zptveg,zptvyirel,zpphyyre,zppbjra,zppbbx,zppyvagvp,zppnyyba,znmmbggn,znmn,znlfr,znlrqn,zngbhfrx,zngyrl,znegla,znearl,znearyy,zneyvat,znahryvgb,znygbf,znyfba,znuv,znsshppv,znpxra,znnff,ylggyr,ylaq,ylqra,yhxnfvrjvpm,yhrooref,ybirevat,ybirnyy,ybatgva,ybohr,yboret,yvcxn,yvtugobql,yvpugl,yrireg,yrggvrev,yrgfvatre,yrcnx,yrzzbaq,yrzoxr,yrvgm,ynffb,ynfvgre,ynatb,ynaqfzna,ynzvenaqr,ynzrl,ynore,xhgn,xhyrfmn,xeram,xervare,xerva,xervtre,xenhfunne,xbggxr,xbfre,xbeaervpu,xbcpmlafxv,xbarpal,xbss,xbruy,xbpvna,xanho,xzrgm,xyhraqre,xyraxr,xyrrzna,xvgmzvyyre,xvefu,xvyzna,xvyqbj,xvryonfn,xrgryfra,xrfvatre,xrue,xrrs,xnhmynevpu,xnegre,xnuer,wbova,wvaxvaf,wvarf,wrsserff,wndhvgu,wnvyyrg,wnoybabjfxv,vfuvxnjn,verl,vatrefba,vaqryvpngb,uhagmvatre,uhvfzna,uhrgg,ubjfba,ubhtr,ubfnpx,uben,ubboyre,ubygmra,ubygfpynj,ubyyvatjbegu,ubyyva,uboret,ubonhtu,uvyxre,uvytrsbeg,uvttraobgunz,urlra,urgmyre,urffry,uraarffrr,uraqevr,uryyznaa,ursg,urrfpu,unlzbaq,unlzba,unlr,uniyvx,univf,unireynaq,unhf,unefgnq,uneevfgba,unewh,uneqrterr,unzzryy,unznxre,unyoebbx,unyoret,thcgvyy,thagehz,thaqrezna,thaqre,thynegr,thneavrev,tebyy,tevccb,terryl,tenzyvpu,tbrjrl,tbrgmvatre,tbqvat,tvenhq,tvrsre,tvorefba,traaneb,trzzryy,trnevat,tnlyrf,tnhqva,tngm,tnggf,tnfpn,tnea,tnaqrr,tnzzry,tnyvaqrm,tnyngv,tntyvneqb,shybc,shxhfuvzn,sevrqg,sergm,seram,serroret,seniry,sbhagnvar,sbeel,sbepx,sbaare,syvccva,syrjryyvat,synafohet,svyvccbar,srggvt,srayba,srygre,sryxvaf,srva,snireb,snhypba,sneire,sneyrff,snuarfgbpx,snprzver,snnf,rlre,rirgg,rffrf,rfpnerab,rafrl,raanyf,ratryxvat,rzcrl,ryyvgubecr,rssyre,rqyvat,rqtyrl,qheeryy,qhaxrefba,qenurvz,qbzvan,qbzoebfxl,qbrfpure,qboova,qviraf,qvangnyr,qvrthrm,qvrqr,qrivib,qrivyovff,qrinhy,qrgrezna,qrfwneqva,qrfunvrf,qrycbmb,qryberl,qryzna,qryncc,qrynzngre,qrvoreg,qrtebss,qrorynx,qncbyvgb,qnab,qnpehm,qnpnanl,phfuraoreel,pehmr,pebfovr,pertna,pbhfvab,pbeenb,pbearl,pbbxvatunz,pbael,pbyyvatfjbegu,pbyqera,pbovna,pbngr,pynhff,puevfgraoreel,puzvry,punhrm,punegref,punvg,prfner,pryyn,pnln,pnfgranqn,pnfura,pnageryyr,pnabin,pnzcvbar,pnyvkgr,pnvprqb,olreyrl,ohggrel,oheqn,ohepuvyy,ohyzre,ohyzna,ohrfvat,ohpmrx,ohpxubym,ohpuare,ohpuyre,ohona,oelar,oehaxubefg,oehzfrl,oehzre,oebjafba,oebqank,oermvafxv,oenmvyr,oenirezna,oenaavat,oblr,obhyqra,obhtu,obffneq,obfnx,obegu,obetzrlre,obetr,oybjref,oynfpuxr,oynaa,oynaxraonxre,ovfprtyvn,ovyyvatfyrn,ovnyrx,orireyva,orfrpxre,oredhvfg,oravtab,oraniragr,oryvmnver,orvfare,oruezna,ornhfbyrvy,onlyba,onlyrl,onffv,onfargg,onfvyvb,onfqra,onfpb,onarewrr,onyyv,ontaryy,onql,nirerggr,nemh,nepunzornhyg,neobyrqn,neonhtu,nengn,nagevz,nzeurva,nzrevar,nycref,nyserl,nypba,nyohf,nyoregvav,nthvavtn,nqnl,npdhnivin,nppneqv,mltzbag,mlpu,mbyyare,mbory,mvapx,mreghpur,mnentbfn,mnyr,mnyqvine,lrnqba,jlxbss,jbhyyneq,jbysehz,jbuysbeq,jvfba,jvfryrl,jvfrphc,jvapuraonpu,jvygfvr,juvggyrfrl,juvgrybj,juvgrsbeq,jrire,jrfgevpu,jregzna,jrafry,jraevpu,jrvfoebq,jrtynem,jrqqreohea,jrngureurnq,jrnfr,jneevat,jnqyrvtu,ibygm,ivfr,ivyynab,ivpnevb,irezrhyra,inmdhrf,infxb,inehturfr,inatvrfba,inasbffra,inarccf,inaqrecybrt,inapyrir,inyrevhf,hlrunen,hafjbegu,gjrefxl,gheeryy,ghare,gfhv,gehamb,gebhfqnyr,geragunz,genhtuore,gbetevzfba,gbccva,gbxne,gbovn,gvccraf,gvthr,guvel,gunpxfgba,greunne,graal,gnffva,gnqrb,fjrvtneg,fhgureyva,fhzeryy,fhra,fghue,fgemryrpxv,fgebfavqre,fgervss,fgbggyrzlre,fgbezrag,fgbeyvr,fgbarfvsre,fgbtfqvyy,fgramry,fgrzra,fgryyubea,fgrvqy,fgrpxyrva,fgnggba,fgnatyr,fcengyvat,fcbbe,fcvtug,fcryzna,fcrpr,fcnabf,fcnqbav,fbhguref,fbyn,fboby,fzler,fynlonhtu,fvmrybir,fvezbaf,fvzvatgba,fvyirefzvgu,fvthramn,fvrera,furyzna,funecyrf,funevs,frffyre,freengn,frevab,frensvav,frzvra,fryirl,frrqbes,frpxzna,frnjbbq,fpbol,fpvppuvgnab,fpubea,fpubzzre,fpuavgmre,fpuyrhfare,fpuynonpu,fpuvry,fpurcref,fpunore,fpnyyl,fnhgare,fnegjryy,fnagreer,fnaqntr,fnyivn,fnyirggv,fnyfzna,fnyyvf,fnynvf,fnrtre,fnong,fnne,ehgure,ehffbz,ehbss,ehzrel,ehobggbz,ebmryyr,ebjgba,ebhgba,ebgbyb,ebfgnq,ebfrobebhtu,ebevpx,ebapb,ebure,eborevr,eboner,evggf,evfba,evccr,evaxr,evatjbbq,evtugre,evrfre,evqrnhk,evpxrefba,eraserj,eryrsbeq,ervafpu,ervzna,ervsfgrpx,ervqurnq,erqsrnea,erqqbhg,ernhk,enqb,enqronhtu,dhvaol,dhvtt,cebib,cebiramn,cebirapr,cevqtrba,cenlybj,cbjry,cbhygre,cbegare,cbagoevnaq,cbveevre,cbvere,cyngreb,cvkyre,cvagbe,cvtzna,cvrefnyy,cvry,cvpurggr,cubh,cunevf,cunyra,crgfpur,creevre,crasvryq,crybfv,croyrl,crng,cnjybfxv,cnjyvx,cniyvpx,cniry,cngm,cngbhg,cnfphppv,cnfpu,cneevaryyb,cnerxu,cnagnyrb,cnaabar,cnaxbj,cnatobea,cntnav,cnpryyv,befv,bevyrl,beqhab,bbzzra,byvireb,bxnqn,bpba,bpurygerr,borezna,alynaq,abff,abeyvat,abygba,abovyr,avggv,avfuvzbgb,atuvrz,arhare,arhoretre,arvsreg,arthf,antyre,zhyynyyl,zbhyqra,zbeen,zbedhrpub,zbbgf,zvmmryy,zvefxl,zvenovgb,zvaneqv,zvyubyynaq,zvxhf,zvwnatbf,zvpurare,zvpunyrx,zrguiva,zreevg,zragre,zrarryl,zrvref,zruevat,zrrf,zpjuveg,zpjnva,zpcunggre,zpavpuby,zpanhtug,zpynegl,zpvibe,zptvaarff,zptnhtul,zpsreeva,zpsngr,zppyraal,zppyneq,zppnfxrl,zppnyyvba,zpnzvf,znguvfra,znegba,znefvpb,znepuv,znav,znatvbar,znpnenrt,yhcv,yhaqnl,yhxbjfxv,yhpvbhf,ybpvpreb,ybnpu,yvggyrjbbq,yvgg,yvcunz,yvayrl,yvaqba,yvtugsbeq,yvrfre,yrlraqrpxre,yrjrl,yrfnar,yramv,yraneg,yrvfvatre,yruezna,yrsroher,ynmneq,ynlpbpx,ynire,ynhare,ynfgencrf,ynfgvatre,ynfxre,ynexrl,ynafre,ynacurer,ynaqrl,ynzcgba,ynznex,xhzz,xhyyzna,xemrzvafxv,xenfare,xbena,xbavat,xbuyf,xbura,xbory,xavssra,xavpx,xarvc,xanccraoretre,xyhzcc,xynhfare,xvgnzhen,xvfyvat,xvefuare,xvaybpu,xvatzna,xvzrel,xrfgyre,xryyra,xryrure,xrrua,xrneyrl,xnfcemnx,xnzcs,xnzrere,xnyvf,xnuna,xnrfgare,xnqry,xnory,whatr,whpxrgg,wblag,wbefgnq,wrggre,wryyrl,wrssrevf,wrnafbaar,wnarprx,wnssrr,vmmneq,vfger,vfurejbbq,vcbpx,vnaahmmv,ulcbyvgr,uhzsryq,ubgm,ubfrva,ubanuav,ubymjbegu,ubyqevqtr,ubyqnjnl,ubynqnl,ubqnx,uvgpuzna,uvccyre,uvapurl,uvyyva,uvyre,uvoqba,urirl,urgu,urcsre,uraarzna,urzfyrl,urzzvatf,urzzvatre,uryoreg,uryoret,urvamr,urrera,urore,unire,unhss,unfjryy,uneivfba,unegfba,unefuoretre,uneelzna,uneevrf,unar,unzfure,unttrgg,untrzrvre,unrpxre,unqqba,unorexbea,thggzna,thggvreerm,thguzvyyre,thvyyrg,thvyoreg,thtvab,tehzoyrf,tevssl,tertrefba,tenan,tbln,tbenafba,tbafbhyva,tbrggy,tbregm,tbqyrjfxv,tynaqba,tvyfqbes,tvyybtyl,tvyxvfba,tvneq,tvnzcnbyb,turra,trggvatf,trfryy,trefuba,tnhzre,tnegeryy,tnefvqr,tneevtna,tneznal,tneyvgm,tneyvatgba,tnzrg,sheybhtu,shafgba,shaneb,sevk,senfpn,senapbrhe,sbefurl,sbbfr,syngyrl,syntyre,svyf,svyyref,svpxrgg,srgu,sraaryyl,srapy,srypu,srqevpx,sroerf,snmrxnf,sneana,snveyrff,rjna,rgfvggl,ragreyvar,ryfjbegu,ryyvss,ryrol,ryqergu,rvqrz,rqtrpbzo,rqqf,roneo,qjbexva,qhfraoreel,qheenapr,qhebcna,qhesrl,qhatl,qhaqba,qhzoyrgba,qhoba,qhooreyl,qebm,qevaxjngre,qerffry,qbhtugvr,qbfuvre,qbeeryy,qbcyr,qbbana,qbanqvb,qbyyvfba,qbvt,qvgmyre,qvfuare,qvfpure,qvznvb,qvtzna,qvsnypb,qrivab,qriraf,qrebfvn,qrccra,qrcnbyn,qravm,qraneqb,qrzbf,qrznl,qrytvhqvpr,qniv,qnavryfra,qnyyl,qnvf,qnuzre,phgfsbegu,phfvznab,phevatgba,phzorr,pelna,pehfbr,pebjqra,pergr,perffzna,pencb,pbjraf,pbhcr,pbhapvyy,pbgl,pbgabve,pbeerven,pbcra,pbafvtyvb,pbzorf,pbssre,pbpxevyy,pbnq,pybtfgba,pynfra,purfahgg,puneevre,punqohea,preavtyvn,prohyn,pnfgehvgn,pnfgvyyn,pnfgnyqv,pnfrorre,pnfntenaqr,pnegn,pneenyrf,pneayrl,pneqba,pncfunj,pnceba,pnccvryyb,pncvgb,pnaarl,pnaqryn,pnzvavgv,pnyvsnab,pnynoevn,pnvnmmb,pnunyy,ohfprzv,ohegare,ohetqbes,oheqb,ohssnybr,ohpujnyq,oejba,oehaxr,oehzzbaq,oehzz,oebr,oebpvbhf,oebpngb,oevfxv,oevfxre,oevtugjryy,oerfrgg,oervare,oenmrnh,oenm,oenlzna,oenaqvf,oenzre,oenqrra,oblxb,obffv,obfuneg,obegyr,obavryyb,obztneqare,obym,obyraonhtu,obuyvat,obuynaq,obpurarx,oyhfg,oybkunz,oybjr,oyvfu,oynpxjngre,owryynaq,ovebf,ovrqrezna,ovpxyr,ovnynfmrjfxv,orivy,orhzre,orggvatre,orffr,oreargg,orezrwb,orzrag,orysvryq,orpxyre,onkraqnyr,ongqbes,onfgva,onfuber,onfpbzor,onegyronhtu,onefu,onyynagvar,onuy,onqba,nhgva,nfgva,nfxrl,nfpure,neevtb,neorvgre,nagrf,natref,nzohea,nznenagr,nyivqerm,nygunhf,nyyzbaq,nysvrev,nyqvatre,nxreyrl,nxnan,nvxvaf,nqre,nprorqb,nppneqb,novyn,noreyr,noryr,noobhq,mbyynef,mvzzrere,mvrzna,mreol,mryzna,mryynef,lbfuvzhen,lbagf,lrngf,lnag,lnznanxn,jlynaq,jhrafpur,jbezna,jbeqynj,jbuy,jvafyrgg,jvaoret,jvyzrgu,jvyyphgg,jvref,jvrzre,jvpxjver,jvpuzna,juvggvat,juvqorr,jrfgretneq,jrzzre,jryyare,jrvfunhcg,jrvareg,jrrqba,jnlavpx,jnfvryrjfxv,jnera,jnyjbegu,jnyyvatsbeq,jnyxr,jnrpugre,ivivnav,ivggv,ivyyntenan,ivra,ivpxf,irarzn,inearf,ineanqbr,ineqra,inacnggra,inabeqra,inaqremrr,inaqraohet,inaqrurl,inyyf,inyynegn,inyqreenzn,inynqr,hezna,hyrel,ghfn,ghsg,gevcbyv,gevzcr,gevpxrl,gbegben,gbeeraf,gbepuvn,gbsg,gwnqra,gvfba,gvaqry,guhezba,gubqr,gneqhtab,gnaperqv,gnxrgn,gnvyyba,gntyr,flgfzn,flzrf,fjvaqnyy,fjvprtbbq,fjnegbhg,fhaqfgebz,fhzaref,fhygba,fghqfgvyy,fgebbc,fgbarebpx,fgznevr,fgynjerapr,fgrzz,fgrvaunhfre,fgrvareg,fgrssrafra,fgrsnavnx,fgnepx,fgnymre,fcvqyr,fcnxr,fbjvafxv,fbfabjfxv,fbeore,fbzzn,fbyvqnl,fbyqare,fbwn,fbqrefgebz,fbqre,fbpxjryy,fbohf,fybbc,fvaxsvryq,fvzreyl,fvythreb,fvtt,fvrzref,fvrtzhaq,fuhz,fubygvf,fuxeryv,furvxu,funggyrf,funeybj,funzonhtu,funvxu,freenb,frensvab,fryyrl,fryyr,frry,frqoreel,frpbeq,fpuhax,fpuhpu,fpube,fpubymr,fpuarr,fpuzvrqre,fpuyrvpu,fpuvzcs,fpures,fnggregujnvgr,fnffba,fnexvfvna,fnevanan,fnambar,fnyinf,fnybar,fnyvqb,fnvxv,fnue,ehfure,ehfrx,ehccry,ehory,ebgushff,ebguraoretre,ebffryy,ebfradhvfg,ebfroebbx,ebzvgb,ebzvarf,ebyna,ebxre,ebruevt,ebpxubyq,ebppn,ebohpx,evff,evanyqb,evttraonpu,ermragrf,erhgure,erabyqf,erapu,erzhf,erzfra,eryyre,erys,ervgmry,ervure,eruqre,erqrxre,enzreb,enunvz,enqvpr,dhvwnf,dhnyrl,chetnfba,cehz,cebhqsbbg,cebpx,ceboreg,cevaghc,cevzre,cevzniren,cerangg,cengvpb,cbyvpu,cbqxbjxn,cbqrfgn,cynggare,cynffr,cynzbaqba,cvggzba,cvccratre,cvarb,cvrecbag,crgmbyq,crgm,crggvjnl,crggref,crgebfxv,crgevx,crfbyn,crefunyy,creyzhggre,crarcrag,crril,crpunprx,crnqra,cnmbf,cnivn,cnfpneryyv,cnez,cnevyyb,cnesnvg,cnbyrggv,cnybzon,cnyrapvn,cntnqhna,bkare,biresvryq,birepnfg,bhyyrggr,bfgebss,bfrv,bznenu,byravpx,bynu,bqrz,altera,abgneb,abegupbgg,abqvar,avytrf,arlzna,arir,arhraqbes,arvfyre,arnhyg,anepvfb,anss,zhfpneryyn,zbeevfrggr,zbecurj,zberva,zbagivyyr,zbaghsne,zbagrfvabf,zbagreebfb,zbatbyq,zbwneeb,zbvgbfb,zvenepuv,zvenaqb,zvabthr,zvyvpv,zvtn,zvqlrgg,zvpuan,zrhfre,zrffnan,zramvr,zram,zraqvpvab,zrybar,zryyvfu,zryyre,zryyr,zrvagf,zrpurz,zrnyre,zpjvyyvnz,zpjuvgr,zpdhvttna,zpcuvyyvcf,zpcnegynaq,zparyyvf,zpznpxva,zpynhtuva,zpxvaal,zpxrvguna,zpthvex,zptvyyvienl,zptnee,zptnurr,zpsnhy,zpsnqva,zprhra,zpphyynu,zppbavpb,zppynera,zppnhy,zppnyyrl,zppnyvfgre,znmre,znlfba,znluna,znhtrev,znhtre,znggvk,znggrjf,znfybjfxv,znfrx,znegve,znefpu,znedhrff,zneba,znexjryy,znexbj,znevaneb,znepvarx,znaaryyn,znyyra,znwrrq,znuaxr,znunove,zntol,zntnyyna,znqrer,znpuavx,yloenaq,yhdhr,yhaqubyz,yhrqref,yhpvna,yhovafxv,ybjl,ybrj,yvccneq,yvafba,yvaqoynq,yvtugpnc,yrivgfxl,yriraf,yrbaneqv,yragba,yratlry,yrvgmry,yrvpug,yrnire,ynhofpure,ynfuhn,ynehffb,yneevzber,ynagrezna,ynaav,ynanfn,ynzbhernhk,ynzoebf,ynzobea,ynzoregv,ynyy,ynshragr,ynsreevrer,ynpbagr,xltre,xhcvrp,xhamzna,xhruar,xhqre,xhong,xebtu,xervqyre,xenjvrp,xenhgu,xengxl,xbggjvgm,xbeo,xbab,xbyzna,xbyrfne,xbrccry,xanccre,xyvatraoret,xwbf,xrccry,xraana,xrygm,xrnybun,xnfry,xnearl,xnaar,xnzebjfxv,xntnjn,wbuabfa,wvyrx,wneivr,wneerg,wnafxl,wnpdhrzva,wnpbk,wnpbzr,vevnegr,vatjrefra,vzobqra,vtyrfvn,uhlfre,uhefgba,uhefu,uhagbba,uhqzna,ublvat,ubefzna,ubeevtna,ubeaonxre,ubevhpuv,ubcrjryy,ubzzry,ubzrlre,ubymvatre,ubyzre,uvcfure,uvapuzna,uvygf,uvttvaobggbz,uvro,urlar,urffyvat,urfyre,uregyrva,uresbeq,urenf,uraevpxfra,uraarznaa,urarel,uraqrefubgg,urzfgerrg,urvarl,urpxreg,urngyrl,unmryy,unmna,unlnfuvqn,unhfyre,unegfbr,unegu,uneevbgg,uneevtre,unecva,uneqvfgl,uneqtr,unaanzna,unaanuf,unzc,unzzrefzvgu,unzvgba,unyfryy,unyqrezna,unttr,unory,thfyre,thfuvxra,thee,thzzre,thyyvpx,tehaqra,tebfpu,terraohet,tero,ternire,tengm,tenwnyrf,tbheynl,tbggb,tbeyrl,tbbqcnfgher,tbqneq,tybevbfb,tybbe,tynfpbpx,tvmmv,tvebve,tvornhyg,tnhyqva,tnhre,tnegva,tneeryf,tnzore,tnyybtyl,tnqr,shfneb,sevcc,serlre,servoret,senambav,sentnyr,sbfgba,sbegv,sbearff,sbygf,sbyybjryy,sbneq,sybz,syrgg,syrvgnf,synzz,svab,svaara,svapuhz,svyvccryyv,svpxry,srhpug,srvyre,srrafgen,srntvaf,snire,snhyxraoreel,snenonhtu,snaqry,snyre,snvier,snverl,snprl,rkare,rirafra,revba,reora,rcgvat,rccvat,rcuenvz,ratoret,ryfra,ryyvatjbbq,rvfraznaa,rvpuzna,ruyr,rqfnyy,qhenyy,qhcyre,qhaxre,qhzynb,qhsbeq,qhssvr,qhqqvat,qevrf,qbhat,qbenagrf,qbanubb,qbzravpx,qbyyvaf,qboyrf,qvcvnmmn,qvzrb,qvruz,qvpvppb,qriracbeg,qrfbezrnhk,qreebj,qrcnbyb,qrznf,qrycevber,qrybfnagbf,qrterravn,qrtrauneqg,qrsenaprfpb,qrsraonhtu,qrrgf,qrobavf,qrnel,qnmrl,qnetvr,qnzoebfvn,qnyny,qntra,phra,pehcv,pebffna,pevpuybj,perdhr,pbhggf,pbhapr,pbenz,pbafgnagr,pbaaba,pbyyryb,pbvg,pbpxyva,pboyragm,pborl,pbneq,pyhggf,pyvatna,pynzcvgg,pynrlf,pvhyyn,pvzvav,pvnzcn,puevfgba,pubng,puvbh,puranvy,punibhf,pnggb,pngnysnzb,pnfgreyvar,pnffvaryyv,pnfcref,pneebjnl,pneyra,pnevguref,pnccry,pnyb,pnyybj,pntyrl,pnssregl,olha,olnz,ohggare,ohgu,ohegrafunj,ohetrg,ohesvryq,oherfu,ohag,ohygzna,ohybj,ohpugn,ohpuznaa,oehargg,oehrzzre,oehrttrzna,oevggb,oevarl,oevzunyy,oevovrfpn,oerfyre,oenmna,oenfuvre,oene,oenaqfgrggre,obmr,obbafgen,oyhvgg,oybztera,oynggare,oynfv,oynqra,ovggrezna,ovyol,ovrepr,ovryyb,orggrf,oregbar,oreerl,oreang,oreorevpu,orafubbs,oraqvpxfba,oryyrsrhvyyr,orqanefxv,orqqvatsvryq,orpxrezna,ornfgba,onineb,ongnyyn,onflr,onfxvaf,onegbybggn,onegxbjfxv,oneenapb,onexrgg,onanfmnx,onzr,onzoretre,onyfyrl,onyynf,onyvpxv,onqhen,nlzbaq,nlybe,nlyrfjbegu,nkyrl,nkryebq,nhoreg,nezbaq,nevmn,ncvpryyn,nafgvar,naxebz,natrivar,naqerbggv,nygb,nyfcnhtu,nycnhtu,nyznqn,nyyvaqre,nyrdhva,nthvyyneq,nteba,ntran,nsnanqbe,npxreyrl,noeri,noqnyyn,nnebafba,mlaqn,mhppb,mvcc,mrgvan,mram,mryvafxv,lbhatera,lbpuhz,lrnefyrl,lnaxrl,jbbqsbex,jbuyjraq,jbrysry,jvfgr,jvfzre,jvamre,jvaxre,jvyxvfba,jvttre,jvreratn,juvccf,jrfgenl,jrfpu,jryq,jrvoyr,jrqryy,jrqqryy,jnjemlavnx,jnfxb,jnfuvagba,jnagm,jnygf,jnyynaqre,jnva,jnuyra,jnpubjvnx,ibfuryy,ivgrev,iver,ivyynshregr,ivrlen,ivnh,irfpvb,ireevre,ireurl,inhfr,inaqrezbyra,inaqreubefg,inybvf,inyyn,inypbheg,inprx,hmmyr,hzynaq,hyzna,hyynaq,gheirl,ghyrl,gerzongu,genoreg,gbjfraq,gbgzna,gbrjf,gvfpu,gvfol,gvrepr,guvivretr,graraonhz,grntyr,gnpl,gnoyre,fmrjpmlx,fjrneatva,fhver,fgheebpx,fghoor,fgebanpu,fgbhgr,fgbhqrzver,fgbaroret,fgreon,fgrwfxny,fgrvre,fgrue,fgrpxry,fgrnezna,fgrnxyrl,fgnasbegu,fgnapvyy,febhe,fcebjy,fcrinx,fbxbybss,fbqrezna,fabire,fyrrzna,fynhonhtu,fvgmzna,fvzrf,fvrtny,fvqbgv,fvqyre,fvqre,fvqrare,fvqqvdv,fuverzna,fuvzn,furebna,funqqhpx,frlny,fragryy,fraargg,fraxb,fryvtzna,frvcry,frrxvaf,frnonhtu,fpbhgra,fpujrvaforet,fpujnegmoret,fpuhee,fpuhyg,fpuevpx,fpubravat,fpuzvgzrlre,fpuyvpure,fpuyntre,fpunpx,fpunne,fpnihmmb,fpnecn,fnffnab,fnagvtb,fnaqniby,fnzcfry,fnzzf,fnzrg,fnymnab,fnylneqf,fnyin,fnvqv,fnove,fnnz,ehavbaf,ehaqdhvfg,ebhffryyr,ebghaab,ebfpu,ebzarl,ebuare,ebss,ebpxuvyy,ebpnzben,evatyr,evttvr,evpxyrsf,erkebng,erirf,erhff,ercxn,eragseb,ervarxr,erpber,erpnyqr,ernfr,enjyvat,enirapensg,eniryb,enccn,enaqby,enzfvre,enzrerm,enuvzv,enuvz,enqarl,enprl,enobea,enonynvf,dhrorqrnhk,chwby,chpunyfxv,cebgueb,cebssvg,cevttr,cevqrnhk,cerib,cbegnyrf,cbepb,cbcbivp,cbcrx,cbcrwbl,cbzcrv,cyhqr,cyngare,cvmmhgb,cvmre,cvfgbar,cvyyre,cvreev,cvruy,cvpxreg,cvnfrpxv,cubat,cuvyvcc,crhtu,crfdhrven,creergg,cresrggv,crepryy,craubyybj,crygb,cryyrgg,cniynx,cnhyb,cnfgbevhf,cnefryy,cneenyrf,cnerwn,cnepryy,cnccna,cnwnx,bjhfh,bivgg,beevpx,bavryy,byyvss,byoreqvat,brfgreyvat,bqjlre,bprthrqn,borezvyyre,alynaqre,ahycu,abggntr,abegunz,abetneq,abqny,avry,avpbyf,arjuneq,aryyhz,arven,anmmneb,anffvs,aneqhppv,anyonaqvna,zhfvy,zhetn,zhenbxn,zhzcre,zhyebl,zbhagwbl,zbffrl,zbergba,zbern,zbagbeb,zbagrfqrbpn,zbagrnyrter,zbagnalr,zbagnaqba,zbvfna,zbuy,zbqrfgr,zvgen,zvafba,zvawnerm,zvyobhear,zvpunryfra,zrgurarl,zrfger,zrfpure,zreivf,zraaratn,zrytnerwb,zrvfvatre,zrvavatre,zpjngref,zpxrea,zpxraqerr,zpunethr,zptybguyra,zptvooba,zptnibpx,zpqhssrr,zppyhexva,zppnhfynaq,zppneqryy,zppnzoevqtr,znmmbav,znlra,znkgba,znjfba,znhssenl,znggvafba,znggvyn,zngfhantn,znfpvn,znefr,znebgm,znebvf,znexva,znexrr,znepvaxb,znepva,znaivyyr,znaglyn,znafre,znael,znaqrefpurvq,znyynev,znyrpun,znypbzo,znwrehf,znpvaavf,znorl,ylsbeq,yhgu,yhcrepvb,yhuzna,yhrqxr,ybivpx,ybffvat,ybbxnonhtu,ybatjnl,ybvfry,ybtvhqvpr,ybsserqb,ybonhtu,yvmnbyn,yviref,yvggyrcntr,yvaara,yvzzre,yvrofpu,yvrozna,yrlqra,yrivgna,yrivfba,yrivre,yrira,yrinyyrl,yrggvatn,yrffyrl,yrffvt,yrcvar,yrvtug,yrvpx,yrttvb,yrssvatjryy,yrssreg,yrsriref,yrqybj,yrngba,yrnaqre,yrnzvat,ynmbf,ynivbyrggr,ynhssre,yngm,ynfbefn,ynfpu,yneva,yncbegn,ynagre,ynatfgnss,ynaqv,ynzvpn,ynzofba,ynzor,ynznepn,ynzna,ynzntan,ynwrharffr,ynsbagnag,ynsyre,ynoehz,ynnxfb,xhfu,xhrgure,xhpune,xehx,xebare,xebu,xevqyre,xerhmre,xbingf,xbcebjfxv,xbubhg,xavpryl,xaryy,xyhggf,xvaqevpx,xvqql,xunaan,xrgpure,xrefpuare,xresvra,xrafrl,xrayrl,xrana,xrzcyva,xryyreubhfr,xrrfyvat,xrnf,xncyva,xnanql,xnzcra,whgenf,whatref,wrfpuxr,wnabjfxv,wnanf,vfxen,vzcrengb,vxreq,vtbr,ularzna,ularx,uhfnva,uheeryy,uhygdhvfg,uhyyrgg,uhyra,uhoregl,ublgr,ubffnva,ubeafgrva,ubev,ubcgba,ubyzf,ubyyznaa,ubyqzna,ubyqrzna,ubyora,ubssreg,uvzry,uvyyfzna,ureqg,uryylre,urvfgre,urvzre,urvqrpxre,urqtcrgu,urqtrcngu,urory,urngjbyr,unlre,unhfare,unfxrj,unfryqra,unegenasg,unefpu,uneerf,unecf,uneqvzba,unyz,unyyrr,unyynuna,unpxyrl,unpxraoret,unpurl,unncnyn,thlarf,thaarefba,thaol,thybggn,thqtre,tebzna,tevtaba,tevrory,tertbev,terrana,tenhre,tbheq,tbeva,tbetbar,tbbfyva,tbbyq,tbygm,tbyqoretre,tybgsrygl,tynffsbeq,tynqjva,tvhsser,tvycngevpx,treqgf,trvfry,tnlyre,tnhapr,tnhyqvat,tngryrl,tnffzna,tnefba,tneeba,tnenaq,tnatrfgnq,tnyybj,tnyob,tnoevryyv,shyyvatgba,shppv,sehz,sevrqra,sevoret,senfpb,senaprfr,sbjyr,sbhpure,sbguretvyy,sbenxre,sbaqre,sbvfl,sbtny,syheel,syraavxra,svgmurael,svfuorva,svagba,svyzber,svyvpr,srbyn,sryoreonhz,snhfanhtug,snfpvnab,snedhunefba,snverf,rfgevqtr,rffzna,raevdhrf,rzzvpx,rxxre,rxqnuy,rvfzna,rttyrgba,rqqvatre,rnxyr,rntne,qhevb,qhajbbql,qhunvzr,qhrarf,qhqra,qhqnf,qerfure,qerfry,qbhgg,qbayna,qbanguna,qbzxr,qboebjbyfxv,qvatrr,qvzzvgg,qvzrel,qvyhyyb,qrirnhk,qrinyyr,qrfcre,qrfablref,qrfnhgryf,qrebhva,qreolfuver,qrazba,qrzfxv,qryhppn,qrycvab,qryzbag,qryyre,qrwhyvb,qrvoyre,qruar,qruneb,qrtare,qrsber,qrrezna,qrphve,qrpxzna,qrnfl,qrnfr,qrnare,qnjql,qnhtuqevyy,qneevtb,qnevgl,qnyorl,qntrauneg,qnsseba,pheeb,pheahggr,phengbyb,pehvxfunax,pebffjryy,pebfyva,pebarl,pebsgba,pevnqb,perpryvhf,pbfpvn,pbaavss,pbzzbqber,pbygunec,pbybaan,pbyylre,pbyyvatgba,pbooyrl,pbnpur,pybagf,pybr,pyvrgg,pyrznaf,puevfc,puvnevav,purngnz,purnqyr,punaq,punqq,preiren,prehyyv,prermb,prqnab,pnlrgnab,pnjgubear,pninyvrev,pnggnarb,pnegyvqtr,pneevguref,pneerven,pneenapb,pnetyr,pnaqnabmn,pnzohea,pnyraqre,pnyqreva,pnypntab,pnua,pnqqra,olunz,ohggel,oheel,oheehry,ohexvgg,ohetvb,ohetrare,ohrfpure,ohpxnyrj,oelzre,oehzrgg,oehtabyv,oehtzna,oebfanuna,oebaqre,oebrpxry,oebqrefba,oevfoba,oevafsvryq,oevaxf,oerfrr,oertzna,oenaare,oenzovyn,oenvyfsbeq,obhfxn,obfgre,obehpxv,obegare,obebhtuf,obetrfba,obavre,obzon,obyraqre,obrfpu,obrxr,oyblq,oyrl,ovatre,ovyoeb,ovrel,ovpuerfg,ormvb,oriry,oreergg,orezrb,oretqbyy,orepvre,oramry,oragyre,oryanc,oryyvav,orvgm,orueraq,orqanepmlx,ornefr,onegbyvav,onegby,oneerggn,oneoreb,oneoneb,onairybf,onaxrf,onyyratrr,onyqba,nhfzhf,ngvynab,ngvramn,nfpuraoeraare,neben,nezfgbat,ndhvyvab,nccyroreel,nccyrorr,ncbyvane,nagbf,naqercbag,napban,nzrfdhvgn,nyivab,nygfpuhyre,nyyva,nyver,nvafyvr,nthyne,nrfpuyvzna,npprggn,noqhyyn,noor,mjneg,mhsryg,mveory,mvatneb,mvyavpxv,mragrab,mrag,mrzxr,mnlnp,mneeryyn,lbfuvzbgb,lrnebhg,jbzre,jbygzna,jbyva,jbyrel,jbyqg,jvggf,jvggare,jvgurebj,jvajneq,jvaebj,jvrznaa,jvpuznaa,juvgjryy,juvgrynj,jurryrff,junyyrl,jrffare,jramy,jrar,jrngureorr,jnlr,jnggyrf,jnaxr,jnyxrf,jnyqrpx,ibaehqra,ibvfvar,ibthf,ivggrgbr,ivyynyin,ivyynpvf,iraghevav,iraghev,irafba,inaybna,inaubbfre,inaqhmre,inaqrire,inaqrejny,inaqreurlqra,inaorrx,inaoroore,inyynapr,inyrf,inuyr,heonva,hcfuhe,hzsyrrg,gfhwv,gelohf,gevbyb,gevznepuv,germmn,geraubyz,gbirl,gbhevtal,gbeel,gbeenva,gbetrfba,gbzrl,gvfpuyre,gvaxyre,gvaqre,gvpxabe,gvooyrf,gvoonyf,guebaroreel,gubeznuyra,guvoreg,guvornhk,gurhere,grzcyrg,grtryre,gnireavre,gnhozna,gnznfuveb,gnyyba,gnyynevpb,gnobnqn,flcure,floreg,fjlref,fjvgnyfxv,fjrqoret,fhgure,fheceranag,fhyyra,fhyvx,fhtqra,fhqre,fhpuna,fgehor,fgebbcr,fgevggznggre,fgerrgg,fgenhtua,fgenfohet,fgwnpdhrf,fgvzntr,fgvznp,fgvsgre,fgtrynvf,fgrvauneg,fgruyvx,fgrssrafba,fgrraoretra,fgnaorel,fgnyybar,fcenttf,fcbgb,fcvyzna,fcrab,fcnaonhre,fcnyyn,fcntabyb,fbyvzna,fbyna,fbobyvx,farytebir,farqqra,fznyr,fyvgre,fynaxneq,fvepl,fuhggre,fuhegyvss,fuhe,fuvexrl,furjznxr,funzf,funqyrl,funqqbk,fteb,fresnff,frccnyn,frtnjn,frtnyyn,frnoreel,fpehgba,fpvfz,fpujrva,fpujnegmzna,fpujnagrf,fpubzre,fpubraobea,fpuybggznaa,fpuvffyre,fpurhere,fpurcvf,fpurvqrttre,fnhavre,fnhqref,fnffzna,fnaavpbynf,fnaqreshe,fnyfre,fntne,fnssre,fnrrq,fnqoreel,fnona,elpr,elonx,ehzber,ehzzryy,ehqnfvyy,ebmzna,ebgn,ebffva,ebfryy,ebfry,ebzoret,ebwreb,ebpuva,ebovqrnh,ebonetr,ebngu,evfxb,evatry,evatqnuy,evren,evrznaa,evonf,erineq,erartne,ervajnyq,eruzna,erqry,enlfbe,enguxr,encbmb,enzcgba,enznxre,enxbj,envn,enqva,enpb,enpxunz,enppn,enpnaryyv,enoha,dhnenagn,cheirf,chaqg,cebgfzna,cermvbfb,cerfhggv,cerftenirf,cblqenf,cbegabl,cbegnyngva,cbagrf,cbruyre,cboyrgr,cbng,cyhznqber,cyrvzna,cvmnan,cvfpbcb,cvenvab,cvaryyv,cvyynv,cvpxra,cvpun,cvppbyv,cuvyra,crggrjnl,crgebf,crfxva,crehtvav,creeryyn,creavpr,crcre,crafvatre,crzoyrgba,cnffzna,cneerag,cnarggn,cnyynf,cnyxn,cnvf,cntyvn,cnqzber,bggrfra,bfre,begznaa,beznaq,bevby,bevpx,byre,bxnsbe,bunve,boreg,boreubygmre,abjynaq,abfrx,abeqrra,abys,abtyr,aboevtn,avpyrl,avpphz,arjvatunz,arhzrvfgre,arhtronhre,argureynaq,arearl,arvff,arvf,arvqre,arryq,anvybe,zhfgnva,zhffzna,zhfnagr,zhegba,zheqra,zhalba,zhyqerj,zbggba,zbfpbfb,zbfpuryyn,zbebm,zberybf,zbenpr,zbbar,zbagrfnab,zbagrzheeb,zbagnf,zbagnyob,zbynaqre,zyrpmxb,zvlnxr,zvgfpuxr,zvatre,zvaryyv,zvarne,zvyyrare,zvuryvpu,zvrqrzn,zvnu,zrgmre,zrel,zreevtna,zrepx,zraaryyn,zrzoerab,zryrpvb,zryqre,zruyvat,zruyre,zrqpnys,zrpur,zrnyvat,zpdhrrarl,zpcunhy,zpzvpxyr,zpzrra,zpznvaf,zpyrrf,zptbjva,zpsneynva,zpqvivgg,zppbggre,zppbaa,zppnfgre,zponl,zpongu,znlbeny,znlrhk,zngfhb,znfhe,znffzna,znemrggr,znegrafra,zneyrgg,znextens,znepvaxbjfxv,znepuonaxf,znafve,znaqrm,znapvy,znyntba,zntanav,znqbavn,znqvyy,znqvn,znpxvrjvpm,znptvyyvienl,znpqbjryy,znorr,yhaqoynq,ybiibea,ybivatf,ybergb,yvam,yvaaryy,yvaronhtu,yvaqfgrqg,yvaqoybbz,yvzoret,yvrovt,yvpxgrvt,yvpugraoret,yvpnev,yrjvfba,yrinevb,yrine,yrccre,yramra,yraqrezna,yrznee,yrvara,yrvqre,yrtenaqr,yrsbeg,yroyrh,yrnfx,yrnpbpx,ynmnab,ynjnyva,ynira,yncynpn,ynag,ynatfnz,ynatbar,ynaqerff,ynaqra,ynaqr,ynzbegr,ynvefrl,ynvqynj,ynssva,ynpxare,ynpnmr,ynohqn,ynoerr,ynoryyn,ynone,xlre,xhlcre,xhyvafxv,xhyvt,xhuareg,xhpuren,xhovprx,xehpxroret,xehpugra,xevqre,xbgpu,xbeasryq,xbera,xbbtyre,xbyy,xbyr,xbuaxr,xbuyv,xbsbrq,xbryyvat,xyhgu,xyhzc,xybcsrafgrva,xyvccry,xyvatr,xyrgg,xyrzc,xyrvf,xynaa,xvgmzna,xvaana,xvatforeel,xvyzba,xvyycnpx,xvyonar,xvwbjfxv,xvrf,xvrefgrnq,xrggrevat,xrffryzna,xraavatgba,xravfgba,xruere,xrney,xrnyn,xnffn,xnfnunen,xnagm,xnyva,xnvan,whcva,whaghara,whnerf,wblarf,wbiry,wbbf,wvttrggf,wreivf,wrenorx,wraavfba,wnfb,wnam,vmngg,vfuvonfuv,vnaabggv,ulznf,uharxr,uhyrg,ubhtra,ubeing,ubefgznaa,ubccyr,ubygxnzc,ubyfgra,uburafgrva,ubrsyr,ubonpx,uvarl,uvrzfgen,urejvt,uregre,ureevbgg,urezfra,ureqzna,ureqre,ureovt,uryyvat,uryovt,urvgxnzc,urvaevpuf,urvarpxr,urvyrzna,urssyrl,urnieva,urnfgba,unlznxre,unhrafgrva,unegyntr,unevt,uneqraoebbx,unaxva,unzvgre,untraf,untry,tevmmryy,tevrfg,tevrfr,teraana,tenqra,tbffr,tbeqre,tbyqva,tbngyrl,tvyyrfcv,tvyoevqr,tvry,tubfgba,trefuzna,trvfvatre,truevatre,trqrba,troreg,tnkvbyn,tnjebafxv,tnguevtug,tngpuryy,tnetvhyb,tnet,tnynat,tnqvfba,slbpx,sheavff,sheol,shaaryy,sevmryy,seraxry,serrohet,senaxubhfre,senapuv,sbhytre,sbezol,sbexrl,sbagr,sbyfba,sbyyrggr,syniryy,svartna,svyvccvav,srerapm,srerapr,sraarffrl,srttvaf,srruna,snmmvab,snmraonxre,snhapr,sneenw,snearyy,sneyre,snenorr,snyxbjfxv,snpvb,rgmyre,rguvatgba,rfgreyvar,rfcre,rfxre,rekyrora,ratu,rzyvat,ryevqtr,ryyrajbbq,rysevax,rxubss,rvfreg,rvsreg,rvpuraynho,rtabe,rttroerpug,rqyva,rqoret,royr,rore,rnfyre,qhjr,qhggn,qhgerzoyr,qhffrnhyg,qhearl,qhajbegu,qhzver,qhxrzna,qhsare,qhrl,qhoyr,qerrfr,qbmny,qbhivyyr,qvgzber,qvfgva,qvzhmvb,qvyqvar,qvrgrevpu,qvrpxzna,qvqbaan,quvyyba,qrmrea,qrirerhk,qrinyy,qrggl,qrgnzber,qrexfra,qrerzre,qrenf,qrafybj,qrab,qravpbyn,qraobj,qrzzn,qrzvyyr,qryven,qrynjqre,qrynen,qrynunagl,qrwbatr,qrvavatre,qrqvbf,qrqrevpx,qrpryyrf,qrohf,qroehla,qrobeqr,qrnx,qnhraunhre,qnefrl,qnafvr,qnyzna,qnxva,qntyrl,pmnwn,ploneg,phgpuva,pheevatgba,pheoryb,pebhpure,pevaxynj,perzva,penggl,penasvryq,penssbeq,pbjure,pbhivyyvba,pbhghevre,pbegre,pbbzorf,pbagbf,pbafbyvav,pbaanhtugba,pbaryl,pbyybz,pbpxrgg,pyrccre,pyrniratre,pyneb,pynexva,pvevnpb,pvrfyn,pvpuba,pvnapvb,pvnapv,pulabjrgu,puemnabjfxv,puevfgvba,pubyrjn,puvcyrl,puvypbgg,purlar,purfybpx,purarireg,puneybg,puntbyyn,punobyyn,prfran,prehggv,pnin,pnhy,pnffbar,pnffva,pnffrfr,pnfnhf,pnfnyv,pnegyrqtr,pneqnzbar,pnepvn,pneobaarnh,pneobav,pnenoryyb,pncbmmbyv,pncryyn,pnaangn,pnzcbireqr,pnzcrnh,pnzoer,pnzorebf,pnyirel,pnyana,pnyzrf,pnyyrl,pnyyrel,pnyvfr,pnppvbggv,pnppvngber,ohggreonhtu,ohetb,ohetnzl,oheryy,ohaqr,ohzonybhtu,ohry,ohrpuare,ohpunaaba,oehaa,oebfg,oebnqsbbg,oevggna,oerineq,oerqn,oenmry,oenlobl,oenfvre,oblrn,obkk,obfb,obfvb,obehss,obeqn,obatvbinaav,obyrewnpx,obrqrxre,oylr,oyhzfgrva,oyhzrasryq,oyvaa,oyrnxyrl,oynggre,oyna,owbeafba,ovfvtanab,ovyyvpx,ovravrx,ounggv,orinpdhn,oreen,oreraonhz,orafvatre,oraarsvryq,oryivaf,oryfba,oryyva,orvtuyrl,orrpebsg,ornhqernh,onlaneq,onhgpu,onhfpu,onfpu,onegyrfba,oneguryrzl,onenx,onymnab,onyvfgerev,onvyre,ontanyy,ontt,nhfgba,nhthfgla,nfyvatre,nfunyvaghoov,newban,neronyb,nccryonhz,natreg,natryhppv,naqel,naqreffba,nzbevz,nznivfpn,nyjneq,nyiryb,nyirne,nyhzonhtu,nyfboebbx,nyytrvre,nyyraqr,nyqergr,nxvlnzn,nuydhvfg,nqbycufba,nqqnevb,npbss,noryfba,nonfgn,mhynhs,mvexvaq,mrbyv,mrzyvpxn,mnjvfynx,mnccvn,mnaryyn,lryivatgba,lrngzna,lnaav,jentt,jvffvat,jvfpuzrvre,jvegn,jvera,jvyzbhgu,jvyyvneq,jvyyreg,jvyynreg,jvyqg,jurycyrl,jrvatneg,jrvqraonpu,jrvqrznaa,jrngurezna,jrnxynaq,jngjbbq,jnggyrl,jngrefba,jnzonpu,jnymre,jnyqbj,jnnt,ibecnuy,ibyxznaa,ivgbyb,ivfvgnpvba,ivapryrggr,ivttvnab,ivrgu,ivqnan,ireg,iretrf,ireqrwb,iramba,iryneqv,inevna,inethf,inaqrezrhyra,inaqnz,inanffr,inanzna,hgmvatre,hevbfgrthv,hcyvatre,gjvff,ghzyvafba,gfpunam,gehaaryy,gebhat,gebhoyrsvryq,gebwnprx,gerybne,genazre,gbhpugba,gbefvryyb,gbevan,gbbgyr,gbxv,gbrcsre,gvccvr,guebafba,gubzrf,grmrab,grknqn,grfgnav,grffzre,greery,greyvmmv,grzcry,grzoynqbe,gnlyre,gnjvy,gnfpu,gnzrf,gnybe,gnyrevpb,fjvaqrezna,fjrrgynaq,fjntre,fhyfre,fhyyraf,fhovn,fghetryy,fghzcss,fghssyrornz,fghpxv,fgebuzrlre,fgerory,fgenhtuna,fgenpxorva,fgbonhtu,fgrgm,fgrygre,fgrvaznaa,fgrvasryq,fgrpure,fgnajbbq,fgnavfynjfxv,fgnaqre,fcrmvnyr,fbccr,fbav,fbobgxn,fzhva,fyrr,fxreergg,fwboret,fvggvt,fvzbaryyv,fvzb,fvyirevb,fvyirevn,fvyfol,fvyyzna,fvraxvrjvpm,fubzb,fubss,fubrare,fuvon,furesrl,furunar,frkfba,frggba,fretv,fryil,frvqref,frrtzvyyre,froerr,frnohel,fpebttva,fpbalref,fpujnyo,fpuhet,fpuhyraoret,fpuhyq,fpuentr,fpubj,fpuba,fpuahe,fpuaryyre,fpuzvqgxr,fpuynggre,fpuvrssre,fpuraxry,fpurryre,fpunhjrpxre,fpunegm,fpunpurere,fpnsr,fnlrtu,fnivqtr,fnhe,fneyrf,fnexvffvna,fnexvf,fnepbar,fnthpvb,fnssryy,fnratre,fnpure,elyrr,ehibyb,ehfgba,ehcyr,ehyvfba,ehtr,ehssb,ehruy,ehrpxreg,ehqzna,ehqvr,ehoreg,ebmrobbz,eblfqra,eblynapr,ebgupuvyq,ebffr,ebfrpenaf,ebqv,ebpxzber,eboargg,eboregv,evirgg,evgmry,evrefba,evpbggn,evpxra,ermnp,eraqryy,ervgzna,ervaqy,erro,erqqvp,erqqryy,erohpx,ernyv,enfb,enzguha,enzfqra,enzrnh,enycuf,entb,enpm,dhvagrebf,dhvagre,dhvayrl,dhvttyr,cheivarf,chevagba,cheqhz,chzzvyy,chtyvn,chrgg,cgnprx,cemlolyn,cebjfr,cerfgjvpu,cenpug,cbhger,cbhpure,cbegren,cbyvafxl,cbntr,cynggf,cvarnh,cvapxneq,cvyfba,cvyyvat,cvyxvaf,cvyv,cvxrf,cvtenz,cvrgvyn,cvpxeba,cuvyvccv,cuvyubjre,csyhrtre,csnymtens,crggvobar,crgg,crgebfvab,crefvat,creevab,crebggv,crevren,crev,crerqb,crenygb,craaljryy,craary,cryyrtera,cryyn,crqebfb,cnhybf,cnhyqvat,cngrf,cnfrx,cnenzb,cnbyvab,cnatnavona,cnargb,cnyhpu,bmnxv,bjaorl,biresryg,bhgzna,bccre,bafgnq,bynaq,bxhqn,bregry,bryxr,abeznaqrnh,abeqol,abeqnuy,abrpxre,aboyva,avfjbatre,avfuvbxn,argg,artyrl,arqrnh,angren,anpuzna,annf,zhfvpu,zhatva,zbhere,zbhafrl,zbggbyn,zbgurefurq,zbfxny,zbforl,zbevav,zberyrf,zbagnyhb,zbarlcraal,zbaqn,zbrapu,zbngrf,zbnq,zvffvyqvar,zvfvrjvpm,zvenoryyn,zvabgg,zvapxf,zvyhz,zvynav,zvxryfba,zrfgnlre,zregrf,zreevurj,zreybf,zrevgg,zryalx,zrqyra,zrqre,zpirn,zpdhneevr,zpdhnva,zpyhpnf,zpyrfgre,zpxvgevpx,zpxraaba,zpvaarf,zptebel,zptenanuna,zptynzrel,zptviarl,zptvyienl,zpphvfgba,zpphva,zppelfgny,zppbyyrl,zppyrexva,zppyraba,zppnzrl,zpnavapu,znmnevrtbf,znlarm,znggvbyv,znfgebaneqv,znfbar,znemrgg,znefynaq,znethyvrf,znetbyva,znyngrfgn,znvare,znvrggn,zntengu,znrfr,znqxvaf,znqrvebf,znqnzon,znpxfba,znora,ylgpu,yhaqterra,yhzo,yhxnpu,yhvpx,yhrgxrzrlre,yhrpugrsryq,yhql,yhqqra,yhpxbj,yhovafxl,ybjrf,yberafba,ybena,ybcvagb,ybbol,ybarf,yvifrl,yvfxrl,yvfol,yvagare,yvaqbj,yvaqoybz,yvzvat,yvrpugl,yrgu,yrfavrjfxv,yravt,yrzbaqf,yrvfl,yruere,yruara,yruzxhuy,yrrgu,yrrxf,yrpuyre,yrofbpx,ynirer,ynhgrafpuyntr,ynhtuevqtr,ynhqreonpx,ynhqrafyntre,ynffbaqr,ynebdhr,ynenzrr,ynenphragr,yncrlebhfr,ynzceba,ynzref,ynvab,ynthr,ynsebzobvfr,ynsngn,ynpbhag,ynpubjvpm,xlfne,xjvrpvra,xhssry,xhrgre,xebaraoret,xevfgrafra,xevfgrx,xevatf,xevrfry,xerl,xeroof,xernzre,xenoor,xbffzna,xbfnxbjfxv,xbfnx,xbcnpm,xbaxby,xbrcfryy,xbravat,xbra,xaree,xancvx,xyhggm,xybpxr,xyrax,xyrzzr,xyncc,xvgpuryy,xvgn,xvffnar,xvexoevqr,xvepuubss,xvagre,xvafry,xvatfynaq,xvzzre,xvzyre,xvyybena,xvrfre,xunyfn,xunyns,xrggry,xrerxrf,xrcyva,xragare,xraaroerj,xravfba,xryybhtu,xrnggf,xrnfrl,xnhccv,xngba,xnaare,xnzcn,xnyy,xnpmbebjfxv,xnpmznefxv,whneor,wbeqvfba,wbofg,wrmvrefxv,wrnaoneg,wnedhva,wntbqmvafxv,vfunx,vfrgg,vasnagvab,vzohetvn,vyyvatjbegu,ulfzvgu,ulafba,ulqevpx,uheyn,uhagba,uhaaryy,uhzoregfba,ubhfnaq,ubggyr,ubfpu,ubbf,ubaa,ubuyg,ubqry,ubpuzhgu,uvkraonhtu,uvfybc,uvfnj,uvagmra,uvytraqbes,uvypurl,uvttraf,urefzna,ureenen,uraqevkfba,uraqevxf,urzbaq,urzzvatjnl,urzvatre,urytera,urvfrl,urvyznaa,urua,urtan,urssrea,unjelynx,uniregl,unhtre,unfyrz,uneargg,uneo,uncc,unamyvx,unajnl,unaol,unana,unzevp,unzznxre,unynf,untraohpu,unorpx,tjbmqm,thavn,thnqneenzn,tehonhtu,tevinf,tevssvrgu,tevro,terjryy,tertbevpu,tenmvre,tenrore,tenpvnab,tbjraf,tbbqcnfgre,tbaqrx,tbue,tbssarl,tbqorr,tvgyva,tvfyre,tvyylneq,tvyybbyl,tvypuerfg,tvyob,tvreynpu,tvroyre,tvnat,trfxr,treinfvb,tregare,truyvat,trrgre,tnhf,tnggvfba,tngvpn,tnguvatf,tngu,tnffare,tnffreg,tnenorqvna,tnzba,tnzrebf,tnyona,tnobhery,tnny,shbpb,shyyrajvqre,shqnyn,sevfpvn,senaprfpuvav,sbebaqn,sbagnavyyn,syberl,syber,syrtyr,syrpun,svfyre,svfpuonpu,svbevgn,svthen,svttvaf,svpuren,sreen,snjyrl,snjohfu,snhfrgg,snearf,snentb,snvepybhtu,snuvr,snovnav,rinafba,rhgfrl,rfuonhtu,regyr,rccyrl,ratyruneqg,ratryuneq,rzfjvyre,ryyvat,ryqrexva,rynaq,rsnj,rqfgebz,rqtrzba,rpgba,rpurireev,roevtug,rneurneg,qlarf,qltreg,qlpurf,qhyzntr,qhua,qhunzry,qhoerl,qhoenl,qhoof,qerl,qerjrel,qervre,qbeiny,qbebhtu,qbenvf,qbayva,qbangryyv,qbuz,qbrgfpu,qborx,qvfoebj,qvaneqv,qvyynuhagl,qvyynuhag,qvref,qvre,qvrxznaa,qvnatryb,qrfxva,qrfpunvar,qrcnbyv,qraare,qrzlna,qrzbag,qrznenl,qryvyyb,qryrrhj,qrvory,qrpngb,qroynfvb,qronegbyb,qnhorafcrpx,qneare,qneqba,qnamvtre,qnavnyf,qnzrjbbq,qnycvnm,qnyyzna,qnyynver,phaavssr,phzcfgba,phzob,phoreb,pehmna,pebaxuvgr,pevgryyv,pevzv,perrtna,perna,penlpensg,penasvyy,pblg,pbhepurfar,pbhsny,pbeenqvab,pbecerj,pbyivyyr,pbppb,pbol,pyvapu,pyvpxare,pynirggr,pynttrgg,pvevtyvnab,pvrfvryfxv,puevfgnva,purfoeb,puniren,puneq,pnfgrarqn,pnfgnarqb,pnffrhf,pnehnan,pneareb,pnccryyv,pncryyna,pnarql,pnapeb,pnzvyyrev,pnyreb,pnqn,ohetuneg,oheovqtr,ohysre,ohvf,ohqavrjfxv,oeharl,oehtu,oebffneq,oebqzrexry,oebpxznaa,oevtzbaq,oevrer,oerzzre,oerpx,oernh,oenhgvtnz,oenfpu,oenaqraoretre,oentna,obmryy,objfure,obfu,obetvn,oberl,obbzubjre,obaarivyyr,obanz,obyynaq,obvfr,obrir,obrggtre,obrefzn,obngrat,oyvira,oynmvre,oynuavx,owbeafgnq,ovggba,ovff,ovexrgg,ovyyvatfyl,ovntvbav,orggyr,oreghppv,oregbyvab,orezrn,oretare,oreore,orafyrl,oraqvkra,orygenzv,oryybar,oryynaq,oruevatre,orthz,onlban,ongvm,onffva,onfxrggr,onegbybzrb,onegbyb,onegubybj,onexna,onevfu,onergg,oneqb,onzohet,onyyrevav,onyyn,onyvf,onxyrl,onvyba,onpuvpun,onovnem,nlnef,nkgba,nkry,njbat,njnyg,nhfynaqre,nhfurezna,nhzvpx,ngun,ngpuvafba,nfyrgg,nfxera,neebjfzvgu,neenf,neaubyq,nezntbfg,nerl,nepbf,nepuvordhr,nagharf,nagvyyn,naqenf,nzlk,nzvfba,nzreb,nymngr,nycre,nyyre,nyvbgb,nvtare,ntgnenc,ntonlnav,nqnzv,npubea,nprhrqb,nprqb,nohaqvf,nore,norr,mhppneb,mvtyne,mvre,mvroryy,mvron,mnzmbj,mnuy,lhexb,lhevpx,lbaxref,lrevna,lrnzna,lnezna,lnaa,lnua,lnqba,lnqnb,jbbqoevqtr,jbyfxr,jbyyraoret,jbwgpmnx,jahx,jvgurevgr,jvagure,jvavpx,jvqryy,jvpxraf,juvpuneq,jurryvf,jrfryl,jragmryy,jragubyq,jrzcyr,jrvfraohetre,jruyvat,jrtre,jrnxf,jnffvax,jnydhvfg,jnqzna,jnpnfgre,jnntr,ibyvin,iyprx,ivyynsnan,ivtyvbggv,ivtre,ivrearf,ivnaqf,irfryxn,irefgrrt,ireb,ireubrira,iraqrggv,iryneqb,inggre,infpbapryybf,inea,inajntare,inaibbeuvf,inaurpxr,inaqhla,inaqreibbeg,inaqrefyvpr,inybar,inyyvre,invyf,hinyyr,hefhn,heraqn,hcubss,ghfgva,ghegba,gheaobhtu,ghepx,ghyyvb,ghpu,gehruneg,gebcrn,gebrfgre,gevccr,gevpnevpb,gerinegura,gerzoyl,genohr,genore,gbfv,gbny,gvayrl,gvatyre,gvzbgrb,gvssva,gvpre,gubezna,gureevnhyg,gurry,grffzna,grxhyir,grwren,groof,gnireavn,gnecrl,gnyyznqtr,gnxrzbgb,fmbg,flyirfg,fjvaqbyy,fjrnevatre,fjnagrx,fjnare,fjnvafgba,fhfv,fheerggr,fhyyratre,fhqqregu,fhqqnegu,fhpxbj,fgertr,fgenffohet,fgbiny,fgbgm,fgbarunz,fgvyyrl,fgvyyr,fgvrejnyg,fgsyrhe,fgrhpx,fgrezre,fgpynver,fgnab,fgnxre,fgnuyre,fgnoyrva,fevavinfna,fdhvyynpr,fceivyy,fcebhyy,fcenh,fcbere,fcber,fcvggyre,fcrryzna,fcnee,fcnexrf,fcnat,fcntahbyb,fbfvafxv,fbegb,fbexva,fbaqnt,fbyyref,fbpvn,fanee,fzerxne,fzbyxn,fylgre,fybivafxl,fyvjn,fynivx,fynggre,fxvire,fxrrz,fxnyn,fvgmrf,fvgfyre,fvgyre,fvaxb,fvzfre,fvrtyre,fvqrevf,fuerjforeel,fubbczna,fubnss,fuvaqyre,fuvzzva,fuvyy,furaxry,furzjryy,furubea,friren,frzbarf,fryfbe,frxhyfxv,frthv,frpuerfg,fpujre,fpujronpu,fpuhe,fpuzvrfvat,fpuyvpx,fpuyraqre,fpuroyre,fpurne,fpuncveb,fnheb,fnhaqre,fnhntr,fnggreyl,fnenvin,fnenpvab,fncrefgrva,fnaznegva,fnayhvf,fnaqg,fnaqebpx,fnzzrg,fnzn,fnyx,fnxngn,fnvav,fnpxevqre,ehffhz,ehffv,ehffnj,ebmmryy,ebmn,ebjyrggr,ebguoret,ebffnab,ebfroebpx,ebznafxv,ebznavx,ebznav,ebvtre,ebvt,ebrue,ebqraoretre,ebqryn,ebpusbeq,evfgbj,evfcbyv,evtb,evrftb,evrory,evoren,evonhqb,erlf,erfraqrf,ercvar,ervfqbes,ervfpu,erozna,enfzhf,enfxr,enahz,enzrf,enzova,enzna,enwrjfxv,enssvryq,enql,enqvpu,enngm,dhvaavr,clcre,chgubss,cebj,cebruy,cevoly,cerggv,cergr,cerfol,cblre,cbjryfba,cbegrbhf,cbdhrggr,cbbfre,cbyyna,cybff,cyrjn,cynpvqr,cvba,cvaavpx,cvanyrf,cvyybg,cvyyr,cvyngb,cvttrr,cvrgebjfxv,cvreznevav,cvpxsbeq,cvppneq,curavk,crirl,crgebjfxv,crgevyybfr,crfrx,creebggv,crccyre,crccneq,crasbyq,cryyvgvre,cryynaq,crubjvp,crqerggv,cnhyrf,cnffreb,cnfun,cnamn,cnyynagr,cnynh,cnxryr,cnprggv,cnnibyn,birel,birefba,bhgyre,bfrthrqn,bcyvatre,byqraxnzc,burea,brggvat,bqhzf,abjyra,abjnpx,abeqyhaq,aboyrgg,aboor,avrezna,avpuryfba,avoybpx,arjoebhtu,arzrgm,arrqyrzna,aniva,anfgnfv,anfyhaq,anenzber,anxxra,anxnavfuv,anwneeb,zhfuehfu,zhzn,zhyreb,zbetnasvryq,zberzna,zbenva,zbdhva,zbagreebfn,zbafvinvf,zbaebvt,zbawr,zbasbeg,zbssn,zbrpxry,zboof,zvfvnx,zverf,zveryrm,zvarb,zvarnh,zvyarf,zvxrfxn,zvpuryva,zvpunybjfxv,zrfmnebf,zrffvarb,zrfuryy,zregra,zrbyn,zragba,zraqf,zraqr,zrzzbgg,zryvhf,zruna,zpavpxyr,zpzbeena,zpyraaba,zpyrvfu,zpynvar,zpxraqel,zpxryy,zpxrvtuna,zpvfnnp,zpvr,zpthvaa,zptvyyvf,zpsngevqtr,zpsneyvat,zpryenil,zpqbanyqf,zpphyyn,zppbaanhtul,zppbaanhturl,zppuevfgba,zporngu,znle,znglnf,zngguvrfra,zngfhhen,zngvarm,zngulf,zngnenmmb,znfxre,znfqra,znfpvb,znegvf,zneevana,znevahppv,znetrehz,zneratb,znagur,znafxre,znabbtvna,znaxrl,znavtb,znavre,znatvav,znygrfr,znyfnz,znyyb,znyvfmrjfxv,znvabysv,znunenw,znttneg,zntne,znssrgg,znpznfgre,znpxl,znpqbaaryy,yliref,yhmmv,yhgzna,ybina,ybamb,ybatreornz,ybsgubhfr,ybrgura,ybqv,yyberaf,yvmnzn,yvgfpure,yvfbjfxv,yvcfxv,yvcfrgg,yvcxva,yvamrl,yvarzna,yvzrevpx,yvznf,yvtr,yvrezna,yvrobyq,yvoregv,yriregba,yrirar,yrfhrhe,yrafre,yraxre,yrtaba,yrsenapbvf,yrqjryy,ynirppuvn,ynhevpu,ynhevpryyn,ynaavtna,ynaqbe,ynzcerpug,ynzbhagnva,ynzber,ynzzreg,ynzobl,ynznedhr,ynznppuvn,ynyyrl,yntnpr,ynpbegr,ynpbzo,xlyybara,xlxre,xhfpury,xhcsre,xhaqr,xhpvafxv,xhonpxv,xebraxr,xerpu,xbmvry,xbinpvpu,xbgunev,xbgu,xbgrx,xbfgryavx,xbfybfxv,xabyrf,xanor,xzvrpvx,xyvatzna,xyvrgurezrf,xyrsszna,xyrrf,xynvore,xvggryy,xvffyvat,xvfvatre,xvagare,xvabfuvgn,xvrare,xubhev,xrezna,xryvv,xrvea,xrrmre,xnhc,xnguna,xnfre,xneyfra,xnche,xnaqbyy,xnzzry,xnuryr,whfgrfra,wbanfba,wbuafehq,wbreyvat,wbpuvz,wrfcrefra,wrbat,wraarff,wrqyvpxn,wnxbo,vfnzna,vatuenz,vatravgb,vnqnebyn,ulaq,uhkgnoyr,uhjr,uheyrff,uhzcny,uhtufgba,uhtuneg,uhttrgg,uhtne,uhrgure,ubjqlfuryy,ubhgpuraf,ubhfrjbegu,ubfxvr,ubyfubhfre,ubyzra,ubyybena,ubuyre,ubrsyre,ubqfqba,ubpuzna,uwbeg,uvccreg,uvccr,uvamzna,uvyybpx,uvyqra,urla,urlqra,urlq,uretreg,uraevxfba,uraavatfra,uraqry,urytrg,urys,uryovat,urvagmzna,urttvr,urtr,urpbk,urngurevatgba,urner,unkgba,unirefgbpx,unireyl,ungyre,unfrygba,unfr,unegmsryq,unegra,unexra,unetebj,unena,unagba,unzzne,unznzbgb,unycre,unyxb,unpxngubea,unoreyr,unnxr,thaabr,thaxry,thylnf,thvarl,thvyornh,thvqre,threenag,thqtry,thnevfpb,tebffra,tebfforet,tebcc,tebbzr,tebor,terzzvatre,terrayrl,tenhoretre,tenorafgrva,tbjref,tbfgbzfxv,tbfvre,tbbqrabj,tbambyrf,tbyvqnl,tbrggyr,tbraf,tbngrf,tylzcu,tyniva,tynffpb,tynqsrygre,tynpxva,tvguraf,tvetvf,tvzcry,tvyoergu,tvyornh,tvssra,tvnaabggv,tubyne,treinfv,tregfpu,treangg,trcuneqg,trapb,true,trqqvf,tnfr,tneebgg,tneerggr,tncvafxv,tnagre,tnafre,tnatv,tnatrzv,tnyyvan,tnyqv,tnvyrf,tnrgnab,tnqbzfxv,tnppvbar,shfpurggb,shegvpx,shesneb,shyyzna,sehgbf,sehpugre,sebttr,serlgnt,serhqraguny,sertbr,senambar,senaxhz,senapvn,senaprfpuv,sbelf,sbereb,sbyxref,syht,syvggre,syrzbaf,svgmre,svecb,svavmvb,svyvnhyg,svtt,svpugare,srggrebys,sreevatre,srvy,snlar,sneeb,snqqvf,rmmb,rmryyr,rlaba,rivgg,rhgfyre,rhryy,rfpbirqb,rear,revxffba,raevthrm,rzcfba,ryxvatgba,rvfrazratre,rvqg,rvpuraoretre,rueznaa,rqvtre,rneyljvar,rnperg,qhmna,qhaavatgba,qhpnffr,qhovry,qebiva,qentre,qentr,qbaunz,qbang,qbyvatre,qbxxra,qbrcxr,qbqjryy,qbpuregl,qvfgnfvb,qvfnaqeb,qvavm,qvtnatv,qvqvba,qrmmhggv,qrgzre,qrfuba,qreevtb,qragyre,qrzbhen,qrzrgre,qrzrevgg,qrznlb,qrznex,qrznevb,qrymryy,qryareb,qrytebffb,qrwneargg,qroreaneqv,qrneznf,qnfuanj,qnevf,qnaxf,qnaxre,qnatyre,qnvtanhyg,qnsbr,qnpr,pherg,phzoreyrqtr,phyxva,pebjare,pebpxrg,penjfunj,penha,penafunj,pentyr,pbhefre,pbfgryyn,pbeasbegu,pbexvyy,pbbcrefzvgu,pbamrzvhf,pbaargg,pbaaryl,pbaqvpg,pbaqryyb,pbzyrl,pbubba,pbqnl,pyhtfgba,pybjarl,pyvccneq,pyvaxraorneq,pyvarf,pyryynaq,pyncunz,pynaprl,pynobhtu,pvpul,pvpnyrfr,puhn,puvggvpx,puvfbz,puvfyrl,puvapuvyyn,purenzvr,preevgbf,prepbar,pran,pnjbbq,pniarff,pngnamnevgr,pnfnqn,pneiryy,pnezvpurny,pneyy,pneqbmb,pncyva,pnaqvn,pnaol,pnzzba,pnyyvfgre,pnyyvtna,pnyxva,pnvyybhrg,ohmmryyv,ohgr,ohfgvyyb,ohefrl,ohetrfba,ohcc,ohyfba,ohvfg,ohssrl,ohpmxbjfxv,ohpxorr,ohpvb,oehrpxare,oebm,oebbxuneg,oebat,oebpxzrlre,oeboret,oevggraunz,oevfobvf,oevqtzba,oerlre,oerqr,oernxsvryq,oernxrl,oenhare,oenavtna,oenaqrjvr,oenapur,oentre,oenqre,obiryy,obhgubg,obfgbpx,obfzn,obfrzna,obfpurr,obegujvpx,obearzna,obere,oberx,obbzrefuvar,obav,obzznevgb,obyzna,obyrjner,obvffr,obruyxr,obqyr,oynfu,oynfpb,oynxrfyrl,oynpxybpx,oynpxyrl,ovggvpx,ovexf,oveqva,ovepure,ovyonb,ovpx,ovol,oregbav,oregvab,oregvav,orefba,orea,orexrovyr,oretfgerffre,oraar,orariragb,orymre,oryger,oryybzb,oryyrebfr,orvyxr,ortrzna,ororr,ornmre,ornira,ornzvfu,onlzba,onfgba,onfgvqnf,onfbz,onfrl,onegyrf,onebav,onebpvb,onearg,onepyvsg,onaivyyr,onygunmbe,onyyrmn,onyxpbz,onverf,onvyvr,onvx,onttbgg,ontra,onpuare,onovatgba,onory,nfzne,neiryb,negrtn,neeraqbaqb,neerntn,neenzovqr,nedhrggr,nebabss,nevpb,netragvrev,nerinybf,nepuobyq,nchmmb,nagpmnx,naxral,natryyr,natryvav,nasvafba,nzre,nznevyynf,nygvre,nygraohet,nyfcnpu,nybfn,nyyfoebbx,nyrkbcbhybf,nyrrz,nyqerq,nyoregfra,nxrefba,ntyre,nqyrl,nqqnzf,npbon,npuvyyr,nocynanyc,noryyn,noner,mjbyvafxv,mbyyvpbssre,mvaf,mvss,mraare,mraqre,mryavpx,mryraxn,mrpurf,mnhpun,mnhnyn,mnatnev,mntbefxv,lbhgfrl,lnffb,lneqr,lneobhtu,jbbyrire,jbbqfznyy,jbbqsbyx,jbovt,jvkfba,jvggjre,jvegnara,jvafba,jvatreq,jvyxravat,jvyuryzf,jvremovpxv,jvrpuzna,jrlevpx,jrffryy,jraevpx,jraavat,jrygm,jrvaevpu,jrvnaq,jruhag,jnervat,jnygu,jnvory,jnuydhvfg,iban,ibryxry,ivgrx,ivafnag,ivapragr,ivyne,ivry,ivpnef,irezrggr,irezn,iraare,irnmvr,inlqn,infunj,ineba,ineqrzna,inaqriryqr,inaoebpxyva,inppnermmn,hedhvqrm,hevr,heonpu,henz,hatneb,hznyv,hyfu,ghgjvyre,gheaonhtu,ghzzvaryyb,ghvgr,ghryyre,gehybir,gebun,gevivab,gevfqnyr,gevccrgg,gevoorgg,gercgbj,gerznva,geniryfgrnq,genhgjrva,genhgznaa,genz,genrtre,gbaryyv,gbzfvp,gbzvpu,gbznfhyb,gbznfvab,gbyr,gbquhagre,gbobet,gvfpure,gvecnx,gvephvg,gvaaba,gvaary,gvarf,gvzof,gvyqra,gvrqr,guhzz,guebtzbegba,gubeaqvxr,gubeaohetu,gubera,gubznaa,gureeryy,gunh,gunzznibat,grgevpx,grffvgber,grfernh,grvpure,grnsbeq,gnhfpure,gnhre,gnanor,gnynzb,gnxrhpuv,gnvgr,gnqlpu,fjrrgba,fjrpxre,fjnegmragehor,fjneare,fheeryy,fheonhtu,fhccn,fhzoel,fhpul,fghgrivyyr,fghqg,fgebzre,fgebzr,fgerat,fgbarfgerrg,fgbpxyrl,fgzvpury,fgsbeg,fgreavfun,fgrafehq,fgrvauneqg,fgrvaonpx,fgrvpura,fgnhoyr,fgnfvnx,fgnemlx,fgnatb,fgnaqresre,fgnpubjvnx,fcevatfgba,fcengyva,fcenpxyra,fcbafryyre,fcvyxre,fcvrtryzna,fcryynpl,fcrvfre,fcnmvnav,fcnqre,fcnpxzna,fbehz,fbcun,fbyyvf,fbyyraoretre,fbyvina,fbyurvz,fbxbyfxl,fbttr,fzlfre,fzvgyrl,fybnf,fyvaxre,fxben,fxvss,fxner,fvireq,fviryf,fvfxn,fvbeqvn,fvzzrevat,fvzxb,fvzr,fvyzba,fvynab,fvrtre,fvrobyq,fuhxyn,fuerirf,fubha,fubegyr,fubaxjvyre,fubnyf,fuvzzry,fuvry,fuvru,fureobaql,furaxzna,furva,furneba,furna,fungm,funaubygm,funsena,funss,funpxrgg,ftebv,frjnyy,frirel,frguv,frffn,frdhen,frchyinqb,frcre,fragrab,fraqrwb,frzzraf,frvcc,frtyre,frrtref,frqjvpx,frqber,frpuyre,fronfgvnab,fpbiry,fpbggba,fpbcry,fpujraq,fpujnegvat,fpuhggre,fpuevre,fpubaf,fpubygrf,fpuargmre,fpuaryyr,fpuzhgm,fpuyvpugre,fpuryyvat,fpunzf,fpunzc,fpneore,fpnyyna,fpnyvfv,fpnssvqv,fnkol,fnjerl,fnhintrnh,fnhqre,fneergg,fnamb,fnagvmb,fnagryyn,fnagnaqre,fnaqrm,fnaqry,fnzzba,fnyfrqb,fnytr,fntha,fnsv,fnqre,fnppurggv,fnoyna,fnnqr,ehaavba,ehaxry,ehzob,ehrfpu,ehrtt,ehpxyr,ehpugv,ehoraf,ehonab,ebmlpxv,ebhcr,ebhsf,ebffry,ebfzneva,ebfreb,ebfrajnyq,ebapn,ebzbf,ebyyn,ebuyvat,ebuyrqre,ebryy,ebruz,ebpursbeg,ebpu,ebobgunz,eviraohetu,evbcry,evrqrere,evqyra,evnf,euhql,erlaneq,erggre,erfcrff,erccbaq,ercxb,eratvsb,ervaxvat,ervpuryg,erru,erqravhf,erobyyrqb,enhu,engnwpmnx,encyrl,enanyyv,enzvr,envgg,enqybss,enqyr,enoovgg,dhnl,dhnag,chfngrev,chssvaoretre,chregn,cebirapvb,cebnab,cevivgren,ceratre,ceryyjvgm,cbhffba,cbgvre,cbegm,cbegybpx,cbegu,cbegryn,cbegrr,cbepuvn,cbyyvpx,cbyvafxv,cbysre,cbynafxv,cbynpurx,cyhgn,cybheq,cynhpur,cvgare,cvbagxbjfxv,cvyrttv,cvrebggv,cvpb,cvnpragr,cuvavfrr,cunhc,csbfg,crggvatre,crggrg,crgevpu,crgb,crefyrl,crefnq,creyfgrva,crexb,crer,craqref,crvsre,crpb,cnjyrl,cnfu,cneenpx,cnenql,cncra,cnatvyvana,cnaqbysb,cnybar,cnyzregerr,cnqva,bggrl,bggrz,bfgebfxv,beafgrva,bezbaqr,bafgbgg,bapnyr,bygerznev,bypbgg,byna,bvfuv,bvra,bqbaryy,bqbanyq,borfb,borvear,bngyrl,ahffre,abib,abivpxv,avgfpuxr,avfgyre,avxxry,avrfr,avreraoret,avryq,avrqmjvrpxv,avroyn,avrory,avpxyva,arluneg,arjfhz,arinerf,antrbggr,antnv,zhgm,zhengn,zhenyyrf,zhaareyla,zhzcbjre,zhrttr,zhpxyr,zhpuzber,zbhyguebc,zbgy,zbfxbf,zbegynaq,zbeevat,zbezvyr,zbevzbgb,zbevxnjn,zbetba,zbeqrpnv,zbagbhe,zbag,zbatna,zbaryy,zvlnfngb,zvfu,zvafurj,zvzof,zvyyva,zvyyvneq,zvuz,zvqqyrzvff,zvnab,zrfvpx,zreyna,zraqbafn,zrapu,zrybafba,zryyvat,zrnpurz,zpgvtur,zparyvf,zpzhegerl,zpxrffba,zpxraevpx,zpxryivr,zpwhaxvaf,zptbel,zptvee,zptrrire,zpsvryq,zpryuvaarl,zppebffra,zppbzzba,zppnaaba,znmlpx,znjlre,znhyy,znghgr,znguvrf,znfpuvab,znemna,znegvavr,zneebggr,znezvba,znexnevna,znevanppv,znetbyvrf,znetrfba,znenx,znenvn,znenpyr,znaltbngf,znaxre,znax,znaqvpu,znaqrefba,znygm,znyzdhvfg,znynpnen,znwrggr,zntana,zntyvbppn,znqvan,znqnen,znpjvyyvnzf,znpdhrra,znppnyyhz,ylqr,ylqnl,yhgevpx,yhem,yheirl,yhzoerenf,yhuef,yhue,ybjevzber,ybjaqrf,ybherapb,ybhtrr,ybeban,ybatfgergu,ybug,ybsdhvfg,ybrjrafgrva,ybobf,yvmneqv,yvbaoretre,yvzbyv,yvywradhvfg,yvthbev,yvroy,yvoheq,yrhxuneqg,yrgvmvn,yrfvafxv,yrcvfgb,yramvav,yrvfraevat,yrvcbyq,yrvre,yrttvgg,yrtner,yrncuneg,ynmbe,ynmntn,ynirl,ynhr,ynhqrezvyx,ynhpx,ynffnyyr,yneffba,ynevfba,ynamb,ynagml,ynaaref,ynatgel,ynaqsbeq,ynapbhe,ynzbhe,ynzoregfba,ynybar,ynvefba,ynvauneg,ynterpn,ynpvan,ynoenapur,ynongr,xhegraonpu,xhvcref,xhrpuyr,xhob,xevafxl,xenhfre,xenrtre,xenpug,xbmryvfxv,xbmne,xbjnyvx,xbgyre,xbgrpxv,xbfybfxl,xbfry,xbbo,xbynfvafxv,xbvmhzv,xbuyzna,xbsszna,xahgg,xaber,xanss,xzvrp,xynzz,xvggyre,xvgare,xvexrol,xvcre,xvaqyre,xvyznegva,xvyoevqr,xrepuare,xraqryy,xrqql,xrnirarl,xrnefyrl,xneyffba,xnenyvf,xnccrf,xncnqvn,xnyyzna,xnyyvb,xnyvy,xnqre,whexvrjvpm,wvgpunxh,wvyyfba,wrhar,wneengg,wnepubj,wnanx,vivaf,vinaf,vfrauneg,vabprapvb,vabn,vzubs,vnpbab,ulaqf,uhgpuvat,uhgpuva,uhyfzna,uhyfvmre,uhrfgba,uhqqyrfba,ueorx,ubjel,ubhfrl,ubhafuryy,ubfvpx,ubegzna,ubexl,ubevar,ubbgzna,ubarljryy,ubarlrfgrjn,ubyfgr,ubyvra,ubyoebbxf,ubsszrlre,ubrfr,ubravt,uvefpusryq,uvyqraoenaq,uvtfba,uvtarl,uvoreg,uvoorggf,urjyva,urfyrl,ureebyq,urezba,urcxre,urajbbq,uryoyvat,urvamzna,urvqgoevax,urqtre,unirl,ungurjnl,unegfubear,unecry,unavat,unaqryzna,unznynvara,unznq,unynfm,unvtjbbq,unttnaf,unpxfunj,thmmb,thaqehz,thvyornhyg,thtyvhmmn,thtyvryzv,thqrevna,tehjryy,tehabj,tehaqzna,tehra,tebgmxr,tebffavpxyr,tebbzrf,tebqr,tebpubjfxv,tebo,terva,tervs,terrajnyy,terrahc,tenffy,tenaavf,tenaqsvryq,tenzrf,tenofxv,tenor,tbhyqforeel,tbfpu,tbbqyvat,tbbqrezbgr,tbamnyr,tbyrovbjfxv,tbyqfba,tbqybir,tynaivyyr,tvyyva,tvyxrefba,tvrffyre,tvnzonyib,tvnpbzvav,tvnpboor,tuvb,tretra,tragm,traevpu,trybezvab,tryore,trvgare,trvzre,tnhguernhk,tnhygarl,tneivr,tnernh,tneonpm,tnabr,tnatjre,tnaqnevyyn,tnylra,tnyg,tnyyhmmb,tnyneqb,tntre,tnqqvr,tnore,tnoruneg,tnneqre,shfvyvre,sheanev,sheorr,shthn,sehgu,sebuzna,sevfxr,sevybg,sevqzna,serfpnf,servre,senlre,senamrfr,senaxraoreel,senva,sbffr,sberfzna,sbeorff,sybbx,syrgrf,syrre,syrrx,syrrtyr,svfuohear,svfpnyvav,svaavtna,svav,svyvcvnx,svthrven,svreb,svprx,svnfpurggv,sreera,sreenaqb,srezna,srethffba,srarpu,srvare,srvt,snhyqf,snevff,snybe,snyxr,rjvatf,rirefyrl,rireqvat,rgyvat,rffra,refxva,rafgebz,ratroergfra,rvgry,rvpuoretre,ruyre,rrxubss,rqevatgba,rqzbafgba,rqtzba,rqrf,roreyrva,qjvaryy,qhcrr,qhaxyrr,qhatrl,qhantva,qhzbhyva,qhttne,qhrarm,qhqmvp,qhqraubrssre,qhprl,qebhvyyneq,qervoryovf,qertre,qerrfzna,qenhtuba,qbjara,qbezval,qbzorpx,qbyzna,qbroyre,qvggoreare,qvfunj,qvfnagv,qvavpbyn,qvaunz,qvzvab,qvyyvat,qvsenaprfpb,qvpryyb,qvoreg,qrfunmre,qrfrevb,qrfpbgrnh,qrehlgre,qrevat,qrcvagb,qragr,qrzhf,qrznggbf,qrznefvpb,qryhqr,qrxbx,qroevgb,qrobvf,qrnxva,qnlyrl,qnjfrl,qnhevn,qngfba,qnegl,qnefbj,qneentu,qnerafobhet,qnyyrin,qnyorp,qnqq,phgpure,phat,phryyb,phnqebf,pehgr,pehgpuyrl,pevfcvab,pevfyvc,pevfpb,perivre,perrxzhe,penapr,pentt,pentre,pbmol,pblna,pbkba,pbinyg,pbhvyyneq,pbfgyrl,pbfgvybj,pbffnveg,pbeivab,pbevtyvnab,pbeqneb,pbeoevqtr,pbeona,pbbe,pbaxry,pbanel,pbygenva,pbyybcl,pbytva,pbyra,pbyongu,pbveb,pbssvr,pbpuehz,pboorgg,pybccre,pyvohea,pyraqraba,pyrzba,pyrzragv,pynhfv,pvevab,pvan,puhepuzna,puvyphgg,purearl,purrgunz,purngbz,pungrynva,punyvsbhe,prfn,preiraxn,prehyyb,preergn,preobar,prppuvav,prppneryyv,pnjgubea,pninyreb,pnfgare,pnfgyra,pnfgvar,pnfvzveb,pnfqbecu,pnegzvyy,pnegzryy,pneeb,pneevtre,pnevnf,pneniryyn,pnccnf,pncra,pnagrl,pnarqb,pnzhfb,pnzcnaneb,pnzoevn,pnymnqb,pnyyrwb,pnyvtvhev,pnsneb,pnqbggr,pnpnpr,olenag,ohforl,ohegyr,oheerf,oheajbegu,ohettens,oheonpx,ohagr,ohaxr,ohyyr,ohtbf,ohqybat,ohpxunygre,ohppryyngb,oehzzrg,oehss,oehorpx,oebhx,oebgra,oebfxl,oebare,oevfyva,oevzz,oevyyuneg,oevqtunz,oevqrnh,oeraarpxr,oerre,oerrynaq,oerqrfra,oenpxarl,oenpxrra,obmn,oblhz,objqel,objqvfu,obhjraf,obhivre,obhtvr,obhpur,obggrasvryq,obfgvna,obffvr,obfyre,obfpureg,obebss,oberyyb,obafre,obasvryq,obyr,obyqhr,obtnpm,obrzre,oybkbz,oyvpxrafgnss,oyrffvatre,oyrnmneq,oyngm,oynapurg,oynpxfure,ovepuyre,ovaavat,ovaxbjfxv,ovygm,ovybggn,ovyntbql,ovtorr,ovrev,ovruyr,ovqynpx,orgxre,orguref,orguryy,oreb,oreanppuv,orezvatunz,orexfuver,orairahgb,orafzna,orabss,orapviratn,orzna,oryybj,oryynal,orysybjre,orypu,orxxre,orwne,orvfry,orvpuare,orrql,ornf,ornaoybffbz,onjrx,onhf,onhthf,onggvr,onggrefuryy,ongrfba,onfdhr,onfsbeq,onegbar,oneevgg,onexb,onaa,onzsbeq,onygevc,onyba,onyyvrj,onyynz,onyqhf,nlyvat,niryvab,nfujryy,nfuynaq,nefrarnh,neeblbf,nezraqnerm,nevgn,nethfg,nepuhyrggn,neprzrag,nagbanppv,naguvf,nagny,naana,naqrezna,nzfgre,nzvev,nznqba,nyirenm,nygbznev,nygznaa,nygraubsra,nyyref,nyyorr,nyynjnl,nyrb,nypbfre,nypbegn,nxugne,nuhan,ntenzbagr,ntneq,nqxrefba,npubeq,noqv,nonve,mhea,mbryyare,mvex,mvba,mneeb,mnepb,mnzob,mnvfre,mnvab,mnpuel,lbhq,lbana,lavthrm,lrcrf,lryybpx,lryyra,lrnggf,lrneyvat,lngfxb,lnaabar,jlyre,jbbqevqtr,jbysebz,jbynire,jbynava,jbwane,jbwpvnx,jvggznaa,jvggvpu,jvfjryy,jvffre,jvagrefgrra,jvarynaq,jvyysbeq,jvtvagba,jvtsvryq,jvrezna,jvpr,jvngre,juvgfry,juvgoernq,juryyre,jrggfgrva,jreyvat,jragr,jravt,jrzcr,jrym,jrvaubyq,jrvtryg,jrvpuzna,jrqrzrlre,jrqqry,jnlzrag,jnlpnfgre,jnharxn,jngmxn,jnggba,jnearyy,jnearpxr,jneznpx,jneqre,jnaqf,jnyqibtry,jnyqevqtr,jnuf,jnttnare,jnqqvyy,ilnf,ibhtug,ibggn,ibvyrf,ivetn,ivare,ivyyryyn,ivyynireqr,ivyynarqn,ivryr,ivpxebl,ivprapvb,irgrer,irezvylrn,ireyrl,ireohet,iragerfpn,irab,iraneq,iranapvb,iryndhrm,irrafgen,infvy,inamrr,inajvr,inagvar,inag,inafpublpx,inaavpr,inaxnzcra,inavprx,inaqrefybbg,inaqrecbry,inaqreyvaqr,inyyvrerf,hmmryy,hmrynp,henatn,hcgnva,hcqlxr,hbat,hagvrqg,hzoeryy,hzonhtu,hzonetre,hylffr,hyyznaa,hyynu,ghgxb,ghegheeb,gheazver,gheayrl,ghepbgg,gheolsvyy,ghenab,ghzvaryyb,ghzoyrfba,gfbh,gehfpbgg,gehyfba,gebhgare,gebar,gevaxyrva,gerzzry,gerqjnl,gernfr,genlaunz,genj,gbggl,gbegv,gbeertebffn,gbebx,gbzxvaf,gbznvab,gxnpu,gverl,gvafzna,gvzcr,gvrsranhre,gvrqg,gvqonyy,gujnvgrf,guhyva,guebarohet,guberyy,gubeohea,guvrznaa,guvrzna,gurfvat,gunz,greevra,grysnve,gnloeba,gnffba,gnffb,gneeb,gnaraonhz,gnqqrb,gnobea,gnovbf,fmrxryl,fmngxbjfxv,flyir,fjvarsbeq,fjnegmsntre,fjnagba,fjntregl,fheerapl,fhaqreyva,fhzreyva,fhreb,fhqqvgu,fhoyrggr,fghzcr,fghrir,fghpxreg,fgelpxre,fgehir,fgehff,fgehoor,fgebhtu,fgebguznaa,fgenuyr,fgbhgare,fgbbxfohel,fgbaronetre,fgbxrl,fgbssre,fgvzzry,fgvrs,fgrcunaf,fgrzcre,fgrygracbuy,fgryyngb,fgrvayr,fgrtrzna,fgrssyre,fgrrtr,fgrpxzna,fgncry,fgnaforel,fgnanynaq,fgnuyrl,fgntaneb,fgnpubjfxv,fdhvoo,fcehatre,fcebhyr,fcerur,fcerra,fcerpure,fcbfngb,fcvirel,fbhgre,fbcure,fbzzresryqg,fbssre,fabjoretre,fancr,fzlyvr,fzlre,fynlqba,fynggba,fyntug,fxbiven,fxrnaf,fwbyhaq,fwbqva,fventhfn,fvatrygba,fvyvf,fvroranyre,fuhssvryq,fubor,fuvevat,fuvznohxheb,fuvygf,fureoreg,furyqra,furvy,furqybpx,furnea,funho,funeobab,funcyrl,funaqf,funurra,funssare,freinagrm,fragm,frarl,fryva,frvgmvatre,frvqre,frue,frtb,frtnyy,fronfgvra,fpvzrpn,fpujrapx,fpujrvff,fpujnex,fpujnyor,fpuhpxre,fpuebapr,fpuent,fpubhgra,fpubccr,fpubznxre,fpuanee,fpuzvrq,fpuznqre,fpuyvpug,fpuynt,fpuvryq,fpuvnab,fpurir,fpureonegu,fpunhzohet,fpunhzna,fpnecvab,fnivaba,fnffnzna,fncbevgb,fnaivyyr,fnagvyyv,fnagnnan,fnymznaa,fnyzna,fntenirf,fnsena,fnppbar,ehggl,ehffrgg,ehcneq,ehzoyrl,ehssvaf,ehnpub,ebmrzn,ebknf,ebhgfba,ebhex,ebhtug,ebghaqn,ebgrezhaq,ebfzna,ebex,ebbxr,ebyva,ebuz,ebuyzna,ebuy,ebrfxr,ebrpxre,ebore,eborafba,evfb,evaar,evvan,evtforr,evttyrf,evrfgre,evnyf,euvaruneqg,erlanhq,erlohea,erjvf,erireznaa,erhgmry,ergm,eraqr,eraqnyy,ervfgnq,ervaqref,ervpuneqg,eruevt,eruere,erpraqrm,ernzl,enhyf,engm,enggenl,enfonaq,encbar,entyr,entvaf,enqvpna,enpmxn,enpuryf,enohea,enoera,enobva,dhrfaryy,dhnvagnapr,chppvaryyv,cehare,cebhfr,cebfvfr,cebssre,cebpunmxn,cebonfpb,cerivgr,cbegryy,cbepure,cbcbpn,cbzebl,cbzn,cbyfxl,cbyftebir,cbyvqber,cbqenmn,cylznyr,cyrfpvn,cyrnh,cynggr,cvmmv,cvapuba,cvpbg,cvppvbar,cvpnmb,cuvyvoreg,curohf,csbuy,crgryy,crffb,crfnagr,creivf,creevaf,creyrl,crexrl,crervqn,crangr,crybfb,cryyrevgb,crssyrl,crqqvpbeq,crpvan,crnyr,cnlrggr,cnkzna,cnjyvxbjfxv,cnil,cngel,cngzba,cngvy,cngre,cngnx,cnfdhn,cnfpur,cneglxn,cnebql,cnezrgre,cnerf,cneqv,cnbarffn,cnabmmb,cnanzrab,cnyrggn,cnvg,blreivqrf,bffzna,bfuvzn,begyvro,befnx,bayrl,byqeblq,bxnab,buben,bssyrl,brfgervpure,bqbabina,bqunz,bqrtneq,bofg,boevnag,boerpug,ahppvb,abjyvat,abjqra,abiryyv,abfg,abefgebz,abeqtera,abccre,abyyre,avfbatre,avfxnara,avrauhvf,avranore,arhjvegu,arhzrlre,arvpr,anhture,anvzna,antnzvar,zhfgva,zheevrggn,zheqnhtu,zhane,zhuyonhre,zebpmxbjfxv,zbjql,zbhj,zbhfry,zbhagpnfgyr,zbfpbjvgm,zbfpb,zbeeb,zberfv,zbentb,zbbznj,zbagebl,zbagcnf,zbagvrgu,zbagnaneb,zbatryyv,zbyyvfba,zbyyrggr,zbyqbina,zbune,zvgpuryyr,zvfuen,zvfraurvzre,zvafunyy,zvabmmv,zvaavrsvryq,zvyubhf,zvtyvnppvb,zvtqny,zvpxryy,zrlrevat,zrgubg,zrfgre,zrfyre,zrevjrngure,zrafvat,zrafnu,zratr,zraqvoyrf,zrybpur,zryavx,zryynf,zrvareg,zrueubss,zrqnf,zrpxyre,zpgnthr,zpfcvevg,zpfurn,zpdhbja,zpdhvyyre,zpynearl,zpxvarl,zpxrnearl,zpthlre,zpsneyna,zpsnqlra,zpqnavny,zpqnary,zpphegvf,zppebuna,zppbeel,zppyhar,zppnag,zppnaan,zppnaqyvfu,zpnybba,znlnyy,znire,znhar,zngmn,zngfhmnxv,zngbgg,zngurl,zngrbf,znfbare,znfvab,znemhyyb,znem,znefbyrx,znedhneq,znepurggn,zneoreel,znamvbar,znagurv,znaxn,znatenz,znatyr,znatry,znaqngb,znapvyynf,znzzra,znyvan,znyrggn,znyrpxv,znwxhg,zntrf,znrfger,znpcunvy,znpb,znparvyy,znpnqnz,ylfvnx,ylar,yhkgba,yhcgnx,yhaqznex,yhtvaovyy,ybinyyb,ybhguna,ybhfgrnh,ybhcr,ybggv,ybcerfgb,ybafqnyr,ybatfjbegu,ybuarf,ybtuel,ybtrznaa,ybsneb,ybrore,ybpnfgeb,yvivatf,yvgmvatre,yvggf,yvbggn,yvatneq,yvaronpx,yvaqubefg,yvyy,yvqr,yvpxyvgre,yvorezna,yrjvafxv,yrinaqbjfxv,yrvzonpu,yrvsre,yrvqubyg,yrvol,yrvory,yrvorr,yruexr,yruauree,yrtb,yrrfr,yrra,yrqb,yrpu,yroybaq,yrnurl,ynmmnev,ynjenapr,ynjyvf,ynjubear,ynjrf,ynivtan,yniryy,ynhmvre,ynhgre,ynhznaa,yngfun,yngbherggr,yngban,yngarl,ynfxn,yneare,ynezber,ynexr,ynerapr,yncvre,ynamneva,ynzzrl,ynzxr,ynzvanpx,ynznfghf,ynznfgre,ynprjryy,ynonee,ynnof,xhgpu,xhcre,xhan,xhovf,xemrzvra,xehcvafxv,xerccf,xerrtre,xenare,xenzzre,xbhagm,xbgur,xbecryn,xbznen,xbyraqn,xbyrx,xbuara,xbrymre,xbryfpu,xbpherx,xabxr,xanhss,xanttf,xano,xyhire,xybfr,xyvra,xynue,xvgntnjn,xvffyre,xvefgrva,xvaaba,xvaaroerj,xvaanzba,xvzzvaf,xvytbhe,xvypblar,xvrfgre,xvruz,xrffryevat,xrerfgrf,xraavfgba,xraanzber,xraroerj,xryqrezna,xrvgry,xrsnhire,xngmraoretre,xngg,xnfg,xnffry,xnznen,xnyzonpu,xnvmre,xnvjv,xnvam,whepmlx,whzbaivyyr,whyvne,wbheqnva,wbuaqebj,wbunaavat,wbunaarfra,wbssevba,wborf,wreqr,wragmfpu,wraxraf,wraqeb,wryyrefba,wrssreqf,wnher,wndhvfu,wnarjnl,wntb,vjnfnxv,vfuzna,vfnmn,vazba,vaybj,vapyna,vyqrsbafb,vrmmv,vnaav,vnpbirggb,ulyqnuy,uhkubyq,uhfre,uhzcurelf,uhzohet,uhyg,uhyyraqre,uhyoheg,uhpxnonl,ubjrgu,ubireznyr,ubira,ubhgzna,ubhevtna,ubfrx,ubctbbq,ubzevpu,ubyfgvar,ubyfpynj,ubxnzn,ubsscnhve,ubssare,ubpufgrva,ubpufgnggre,ubpuoret,uwryz,uvfpbk,uvafyrl,uvarzna,uvaryvar,uvapx,uvyoha,urjvaf,uremvat,uregmoret,uregrafgrva,ureern,urevatgba,uraevr,urazna,uratfg,urzzra,uryzxr,urytrefba,urvafbua,urvty,urtfgnq,urttra,urttr,ursgv,urngupbpx,unlyrgg,unhcreg,unhsyre,ungnyn,unfyvc,unegyrff,unegwr,unegvf,unecbyq,unezfra,uneonpu,unagra,unavatgba,unzzra,unzrvfgre,unyyfgebz,unorefunz,unorttre,thffzna,thaql,thvggrerm,thvfvatre,thvysblyr,tebhyk,tevfzre,tevrfonpu,tenjr,tenyy,tenora,tbhyqra,tbeavpx,tbev,tbbxva,tbamnynm,tbalre,tbaqre,tbycuva,tbyyre,tbretra,tybffba,tybe,tynqva,tveqyre,tvyyvz,tvyyvnaf,tvyynfcvr,tvyubbyl,tvyqba,tvtanp,tvoyre,tvoovaf,tvneqvab,tvnzcvrgeb,trggzna,treevatre,treenyq,treyvpu,trbetvbh,trbetv,trvfryzna,truzna,tnaty,tnzntr,tnyyvna,tnyyra,tnyyngva,tnyrn,tnvabe,tnue,sheohfu,shysre,shueznaa,sevggre,sevvf,sevrqyl,serhqraoretre,serrzba,senghf,senaf,sbhyxr,sbfyre,sbedhre,sbagna,sbyjryy,sbryyre,sbqtr,sborf,syberx,syvff,syrfare,syrtry,svgmybss,svfre,svezva,sverfgvar,svasebpx,svaroret,svrtry,svpxyvat,srfcrezna,sreanqrm,sryore,srvzfgre,srnmry,snier,snhtua,snghyn,snfbar,sneeba,sneba,snevab,snyirl,snyxraoret,snyrl,snyrggv,snrgu,snpxeryy,rfcr,rfxbyn,rfpbgg,rfnj,recf,rexre,rengu,rasvryq,rzsvatre,rzohel,rzoyrgba,rznahryr,ryiref,ryyjnatre,ryyrtbbq,rvpuvatre,rttr,rtrynaq,rqtrgg,rpuneq,royra,rnfgzbaq,qhgrnh,qheynaq,qher,qhaynil,qhatrr,qhxrggr,qhtnl,qhobvfr,qhorl,qfbhmn,qehpx,qenyyr,qbhorx,qbegn,qbepu,qbepr,qbcfba,qbyarl,qbpxgre,qvfgyre,qvccry,qvpuvnen,qvpreob,qrjvaqg,qrjna,qrirarl,qrinetnf,qrhgfpure,qrhry,qrggre,qrff,qreevatgba,qreboregf,qrea,qrcbagr,qrabtrna,qraneqv,qraneq,qrznel,qrznenvf,qryhpnf,qrybr,qryzbavpb,qryvfv,qryvb,qryqhpn,qrvuy,qruzre,qrpbfgr,qrpuvpx,qrpnghe,qroehpr,qrobyq,qroryy,qrngf,qnhag,qndhvynagr,qnzoebfv,qnznf,qnyva,qnuzna,qnuyrz,qnssva,qnpdhry,phgeryy,phfnab,phegare,pheeraf,pheabj,phccrgg,phzzvfxrl,phyyref,phyunar,pehyy,pebffva,pebcfrl,pebzvr,pebssbeq,pevfphbyb,pevfnshyyv,pertb,perrqra,pbiryyb,pbiry,pbefr,pbeeren,pbeqare,pbeqvre,pbcyra,pbcrzna,pbagvav,pbagrenf,pbafnyib,pbaqhss,pbzcure,pbyyvire,pbyna,pbuvyy,pburabhe,pbtyvnab,pbqq,pbpxnlar,pyhz,pybjqhf,pynevqn,pynapr,pynveqnl,pyntt,pvgeba,pvgvab,pvevryyb,pvppvneryyv,puebfgbjfxv,puevfgyrl,puevfpb,puerfg,puvfyre,puvrssb,purear,purevpb,purevna,purvef,punhuna,punzoyva,preen,prcreb,pryyvav,pryrqba,prwxn,pnintaneb,pnhsszna,pngnarfr,pnfgevyyb,pnfgeryyba,pnffreyl,pnfrerf,pnegura,pnefr,pneenture,pnecragvrev,pnezbal,pnezre,pneybmmv,pnenqvar,pnccbyn,pncrpr,pncnyqv,pnagerf,pnagbf,pnarinev,pnargr,pnypngreen,pnqvtna,pnooryy,olea,olxbjfxv,ohgpuxb,ohfyre,ohfunj,ohfpuznaa,ohebj,ohev,ohetzna,ohafryzrlre,ohaavat,ohuezna,ohqavpx,ohpxfba,ohpxunaaba,oehawrf,oehzyrir,oehpxzna,oebhuneq,oebhtunz,oebfgebz,oebrezna,oebpxf,oevfba,oevavat,oevaqvfv,oerergba,oerba,oervgyvat,oerrqba,oenffrnhk,oenanzna,oenzba,oenpxraevqtr,oblna,obkyrl,obhzna,obhvyyvba,obggvat,obggv,obffuneg,obehc,obeare,obeqbaneb,obafvtaber,obafnyy,obygre,obwxb,obuar,obuyznaa,obtqba,obra,obqrafpungm,obpxbira,oboebj,oybaqva,oyvffrgg,oyvtra,oynfvav,oynaxraohet,owbexzna,ovfgyvar,ovffrg,oveqbj,ovbaqbyvyyb,ovryfxv,ovryr,ovqqvk,ovqqvatre,ovnapuvav,oriraf,orineq,orgnaphe,oreafxbrggre,orearg,oreaneqrm,oreyvare,oreynaq,orexurvzre,orerag,orafpu,orarfpu,oryyrnh,orqvatsvryq,orpxfgebz,orpxvz,orpuyre,ornpuyre,onmmryy,onfn,onegbfmrx,onefpu,oneeryy,oneanf,oneanon,onevyynf,oneovre,onygbqnab,onygvreen,onyyr,onyvag,onyqv,onyqrefba,onyqrenzn,onyqnhs,onypnmne,onynl,onvm,onvebf,nmvz,nirefn,niryynarqn,nhfohea,nhvyn,nhthfgb,ngjvyy,negvyrf,negreoreel,neabj,neanhq,neanyy,neram,neqhvav,nepuvyn,nenxnjn,nccyrzna,ncyva,nagbavav,nafgrl,natyra,naqebf,nzjrt,nzfghgm,nznev,nznqrb,nygrev,nybv,nyyronpu,nyrl,nynzvyyb,nveuneg,nueraqg,nrtregre,nqentan,nqznf,nqqreyl,nqqreyrl,nqqnve,noryne,noonzbagr,nonqv,mherx,mhaqry,mhvqrzn,mhryxr,mhpx,mbtt,mbql,mrgf,mrpu,mrppn,mninyrgn,mnee,lbhfvs,lbrf,lbnfg,lrntyrl,lnarl,lnaqn,lnpxry,jlyrf,jlxr,jbbyzna,jbbyyneq,jbbqvf,jbbqva,jbaqreyl,jbzoyrf,jbybfmla,jbyynz,jarx,jvggvr,jvgurr,jvffzna,jvfunz,jvagyr,jvabxhe,jvyznegu,jvyyubvgr,jvyqare,jvxry,jvrfre,jvra,jvpxr,jvngerx,juvgrunyy,jurgfgvar,jurryhf,jrlenhpu,jrlref,jrfgreyvat,jraqryxra,jryare,jrvaero,jrvaurvzre,jrvyonpure,jrvur,jrvqre,jrpxre,jrnq,jngyre,jngxvafba,jnfzre,jnfxvrjvpm,jnfvx,jnearxr,jnerf,jnatreva,jnzoyr,jnyxra,jnxre,jnxryrl,jnuytera,jnuyoret,jntyre,jnpubo,ibeuvrf,ibafrttrea,ivggvgbj,ivax,ivyyneehry,ivyynzvy,ivyynzne,ivyynybibf,ivqzne,ivpgbereb,irfcn,iregerrf,irevffvzb,irygzna,irppuvbar,irnyf,ineebar,inezn,inairra,inagrecbby,inarpx,inaqlpx,inapvfr,inanhfqny,inanycura,inyqvivrmb,hegba,herl,hcqrtebir,haehr,hyoevpu,glfvatre,gjvqql,ghafba,gehrurneg,geblna,gevre,genjrrx,genssbeq,gbmmv,gbhybhfr,gbfgb,gbfgr,gberm,gbbxr,gbavav,gbatr,gbzreyva,gbyzvr,gbor,gvccra,gvreab,gvpul,guhff,guena,gubeaohel,gubar,gurhavffra,guryzba,gurnyy,grkgbe,grgref,grfu,grapu,grxnhgm,gruenav,grng,grner,gniraare,gnegntyvbar,gnafxv,gnavf,gnathzn,gnatrzna,gnarl,gnzzra,gnzoheev,gnzoheryyb,gnyfzn,gnyyvr,gnxrqn,gnven,gnurev,gnqrzl,gnqqrv,gnnssr,fmlzpmnx,fmpmrcnavnx,fmnsenafxv,fjltreg,fjrz,fjnegmynaqre,fhgyrl,fhcreanj,fhaqryy,fhyyvinag,fhqrezna,fhqohel,fhnerf,fghrore,fgebzzr,fgerrcre,fgerpx,fgeror,fgbarubhfr,fgbvn,fgbue,fgbqtuvyy,fgverjnyg,fgreel,fgrafgebz,fgrar,fgrvaoerpure,fgrne,fgqravf,fgnacuvyy,fgnavfmrjfxv,fgnaneq,fgnuyuhg,fgnpubjvpm,fevinfgnin,fcbat,fcbzre,fcvabfn,fcvaqry,fcren,fbjneq,fbcc,fbbgre,fbaarx,fbynaq,fbwbheare,fbrqre,fbobyrjfxv,faryyvatf,fzbyn,fzrgnan,fzrny,fznee,fybzn,fyvtne,fxranaqber,fxnyfxl,fvffbz,fvexb,fvzxva,fvyiregubea,fvyzna,fvxxvax,fvtabevyr,fvqqraf,fuhzfxl,fuevqre,fubhygn,fubax,fubznxre,fuvccrl,fuvznqn,fuvyyvatohet,fuvssyrg,fuvryf,furcurneq,furreva,furqqra,furpxyrf,funeevrss,funecyrl,funccryy,funarlsryg,funzcvar,funrsre,funqqbpx,funqq,fsbemn,friregfba,frgmyre,frcvpu,fraar,frangber,frzragvyyv,fryjnl,frybire,fryyvpx,frvtjbegu,frsgba,frrtnef,frobhea,frndhvfg,frnybpx,frnoerrmr,fpevire,fpvagb,fpuhzre,fpuhyxr,fpuelire,fpuevare,fpuenzrx,fpubba,fpubbysvryq,fpubaoretre,fpuavrqre,fpuavqre,fpuyvgm,fpuyngure,fpuvegmvatre,fpurezna,fpuraxre,fpurvare,fpurvoyr,fpunhf,fpunxry,fpunnq,fnkr,fniryl,fninel,fneqvanf,fnagneryyv,fnafpunteva,fnacrqeb,fnaqvar,fnaqvtb,fnaqtera,fnaqresbeq,fnaqnuy,fnymjrqry,fnymne,fnyivab,fnyingvreen,fnyzvara,fnyvreab,fnyoret,fnuntha,fnryrr,fnory,elarnefba,elxre,ehccerpug,ehadhvfg,ehzevyy,ehuaxr,ebiven,ebggraoret,ebfbss,ebfrgr,ebfroebhtu,ebccbyb,ebbcr,ebznf,ebyrl,ebueonpx,ebuysf,ebtevthrm,ebry,ebqevthvm,ebqrjnyq,ebonpx,evmbe,evgg,evccrr,evbyb,evaxraoretre,evttfol,evtry,evrzna,evrqrfry,evqrnh,evpxr,euvarobyg,eurnhyg,erinx,erysbeq,ervafzvgu,ervpuznaa,erthyn,erqyvatre,enlab,enlpebsg,enhf,enhcc,enguznaa,enfgbesre,enfrl,encbav,enagm,enaab,enarf,enzanhgu,enuny,enqqngm,dhnggebppuv,dhnat,chyyvf,chynapb,celqr,cebunfxn,cevzvnab,cerm,ceringg,cerpugy,cbggyr,cbgramn,cbegrf,cbebjfxv,cbccyrgba,cbagvyyb,cbyvgm,cbyvgv,cbttv,cybaxn,cynfxrgg,cynpmrx,cvmmhgv,cvmmneb,cvfpvbggn,cvccraf,cvaxvaf,cvavyyn,cvav,cvatvgber,cvreprl,cvppbyn,cvppvbav,cvppvnab,cuvycf,cuvyc,cuvyb,cuvyzba,cuvyova,csyvrtre,crmmhyyb,crgehfb,crgern,crgvggv,crgu,crfuynxnv,crfpury,crefvpb,crefvpurggv,crefrpuvab,creevf,creybj,crevpb,cretbyn,craavfgba,crzoebxr,cryyzna,crxnerx,crvefba,crneprl,crnyre,cniyvprx,cnffvab,cnfdhneryyb,cnfvba,cnemlpu,cnemvnyr,cnetn,cncnyvn,cncnqnxvf,cnvab,cnpvav,blra,bjarf,bjpmnemnx,bhgyrl,bhryrggr,bggbfra,bggvat,bfgjvaxyr,bfzrag,bfuvgn,bfnevb,beybj,bevbeqna,bersvpr,benagrf,bena,benubbq,bcry,bycva,byvirevn,bxba,bxreyhaq,bxnmnxv,bugn,bssrezna,alpr,ahgnyy,abegurl,abepvn,abbe,avrubss,avrqreunhfre,avpxbyfba,athl,arlyba,arjfgebz,arivyy,argm,arffryebqg,arzrf,arnyyl,anhlra,anfpvzragb,aneqryyn,anaav,zlera,zhepuvafba,zhagre,zhaqfpurax,zhwnyyv,zhpxyrebl,zbhffn,zbherg,zbhyqf,zbggenz,zbggr,zbeer,zbagerhvy,zbagba,zbagryynab,zbaavatre,zbaubyyra,zbatrba,zbarfgvzr,zbarteb,zbaqrfve,zbaprnhk,zbyn,zbtn,zbravat,zbppvn,zvfxb,zvfxr,zvfunj,zvaghea,zvatvbar,zvyfgrva,zvyyn,zvyxf,zvpuy,zvpuryrggv,zvpunyf,zrfvn,zrefba,zrenf,zravsrr,zryhfb,zryyn,zryvpx,zruyzna,zrssreg,zrqbmn,zrphz,zrnxre,zrnuy,zpmrny,zpjnggref,zpbzore,zpzbavtyr,zpxvqql,zptenabe,zptrnel,zptnj,zprarel,zpryqreel,zpqhssrl,zpphvfgvba,zppehqqra,zppebffva,zppbfu,zppbytna,zppyvfu,zppyranuna,zppynz,zppnegg,zppneeryy,zponar,znlohel,znlora,znhyqra,znhprev,zngxb,znguvr,zngurvf,zngunv,znfhppv,znffvnu,znegbenab,znegarm,znegvaqrypnzc,znefpuxr,znebivpu,znexvrjvpm,znevanppvb,zneursxn,znepehz,znagba,znaanevab,znaybir,znatunz,znanfpb,znycvpn,znyyrearr,znyvafxl,znyubgen,znvfu,znvfry,znvaivyyr,znuneerl,zntvq,znregm,znqn,znpynhtuyva,znpvan,znpqrezbgg,znpnyyvfgre,znpnqnatqnat,znnpx,ylax,ylqvp,yhlnaqb,yhgxr,yhcvanppv,yham,yhaqfgra,yhwnab,yhua,yhrpxr,yhroor,yhqbycu,yhpxzna,yhpxre,yhpxraovyy,yhpxraonpu,yhpvqb,ybjarl,ybjvgm,ybintyvb,ybheb,ybhx,ybhql,ybhqreonpx,ybevpx,yberamvav,yberafra,yberap,ybzhfpvb,ybthvqvpr,ybpxare,ybpxneg,ybpuevqtr,yvgnxre,yvfbjr,yvcgenc,yvaanar,yvaunerf,yvaqsbef,yvaqrazhgu,yvapbheg,yvrj,yvrobjvgm,yriratbbq,yrfxbirp,yrfpu,yrbav,yraaneq,yrtare,yrnfre,yrnf,yrnqvatunz,ynmnefxv,ynlynaq,ynhevgb,ynhyh,ynhtuare,ynhtuzna,ynhturel,ynhor,yngvbynvf,ynffreer,ynffre,yneebj,yneern,yncfyrl,ynagevc,ynaguvre,ynatjryy,ynatryvre,ynaqnxre,ynzcv,ynzbaq,ynzoyva,ynzovr,ynxvaf,ynvccyr,yntevznf,ynsenapbvf,ynssvggr,ynqnl,ynpxb,ynpnin,ynovnapn,xhgfpu,xhfxr,xhareg,xhoyl,xhnzbb,xehzzry,xevfr,xerarx,xervfre,xenhfm,xenfxn,xenxbjfxv,xenqry,xbmvx,xbmn,xbgbjfxv,xbfybj,xbeore,xbwvzn,xbpury,xanowvna,xyhaqre,xyhtu,xyvaxunzzre,xyvrjre,xyrire,xyrore,xyntrf,xynnf,xvmmvne,xvgpury,xvfuvzbgb,xvefpurazna,xvefpuraonhz,xvaavpx,xvaa,xvare,xvaqyn,xvaqnyy,xvapnvqr,xvyfba,xvyyvaf,xvtugyvatre,xvramyr,xvnu,xuvz,xrgpurefvqr,xrey,xryfbr,xryxre,xrvmre,xrve,xnjnab,xnjn,xnirarl,xnfcnerx,xncybjvgm,xnagebjvgm,xnag,xnabss,xnab,xnznyvv,xnyg,xnyrgn,xnyonpu,xnynhyv,xnyngn,xnynf,xnvtyre,xnpury,whena,whoo,wbaxre,wbaxr,wbyvirggr,wbyrf,wbnf,wvivqra,wrsshf,wrnagl,wneiv,wneqba,wnaivre,wnabfxb,wnabfxv,wnavfmrjfxv,wnavfu,wnarx,vjnafxv,vhyvnab,veyr,vatzver,vzore,vwnzrf,vvnzf,vuevt,vpuvxnjn,ulahz,uhgmry,uhggf,uhfxva,uhfnx,uheaqba,uhagfvatre,uhyrggr,uhvgeba,uhthrava,uhtt,uhtrr,uhryfxnzc,uhpu,ubjra,ubinarp,ubfgba,ubfgrggyre,ubefsnyy,ubebqlfxv,ubymunhre,ubyyvzba,ubyyraqre,ubtnegu,ubssryzrlre,uvfgnaq,uvffrz,uvfry,uvenlnzn,uvartneqare,uvaqr,uvapupyvssr,uvygoenaq,uvyfvatre,uvyyfgebz,uvyrl,uvpxraobggbz,uvpxnz,uvoyrl,urlvat,urjfba,urgynaq,urefpu,ureybat,ureqn,uramry,urafunyy,uryfba,urysra,urvaonpu,urvxxvyn,urttf,urssreba,uroneq,urngupbgr,urney,urnoreyva,unhgu,unhfpuvyq,unhtuarl,unhpu,unggbev,unfyrl,unegcrapr,uneebha,uneryfba,uneqtebir,uneqry,unafoebhtu,unaqfubr,unaqyl,unyhfxn,unyyl,unyyvat,unysuvyy,unysregl,unxnafba,unvfg,unvetebir,unuare,untt,unsryr,unnynaq,thggvrerm,thgxarpug,thaanefba,thaybpx,thzzrefurvzre,thyynggr,thvgl,thvyzrggr,thuy,thrarggr,thneqvab,tebfubat,tebore,tevcc,tevyybg,tevyyv,terhyvpu,tergmvatre,terrajnyqg,tenira,tenffzna,tenaoret,tenrfre,tenrss,tenrs,tenobj,tenonh,tbgpul,tbfjvpx,tbfn,tbeqvarre,tbepmlpn,tbbqpuvyq,tbym,tbyyvuhr,tbyqjver,tbyqonpu,tbsserqb,tynffohea,tynrfre,tvyyvyna,tvtnagr,tvrer,tvrtre,tvqphzo,tvneehffb,tvnaaryyv,trggyr,trfhnyqv,trfpuxr,trejvt,treinfr,trbssevba,tragvypber,tragure,trzrf,trzoreyvat,tryyrf,trvgm,trrfyva,trqarl,tronhre,tnjeba,tnivn,tnhgarl,tnhfgnq,tnfzra,tnethf,tnafxr,tnatre,tnyivf,tnyyvatre,tnyyvpuvb,tnyyrggn,tnrqr,tnqyva,tnol,tnoevryfra,tnobevnhyg,sheyna,shetrefba,shwvbxn,shtrgg,shruere,sevag,sevtba,serireg,senhgfpuv,senxre,senqrggr,sbhyxrf,sbefyhaq,sbeav,sbagrarggr,sbarf,sbym,sbyzre,sbyyzna,sbyxzna,sybhearl,syvpxare,syrzzvatf,syrvfpunpxre,synaqre,synzrag,svguvna,svberyyb,svberyyv,svbeninagv,svrpx,svpxr,svnyybf,svnppb,srhre,sreevatgba,sreaubym,srevn,srethefba,srvpx,sroyrf,snivyn,snhyxvatunz,sngu,sneanz,snygre,snxubhev,snveuhefg,snuf,rfgeryyb,rffvpx,rfcerr,rfzbaq,rfxryfba,rfphr,rfpngry,rerovn,rccreyrl,rcyre,ralneg,ratryoreg,raqrefba,rzpu,ryvfbaqb,rysbeq,rxzna,rvpx,rvpuznaa,ruevpu,ruyra,rqjneqfba,rqyrl,rqtuvyy,rqry,rnfgrf,rnfgreoebbxf,rntyrfba,rntra,rnqr,qlyr,qhgxvrjvpm,qhaantna,qhapvy,qhyvat,qehztbbyr,qebarl,qerlshf,qentna,qbjgl,qbfpure,qbeana,qberzhf,qbbtna,qbanub,qbanurl,qbzoxbjfxv,qbygba,qbyra,qboengm,qviryrl,qvggrzber,qvgfpu,qvfdhr,qvfuzba,qvfpu,qvevpxfba,qvccbyvgb,qvzhppvb,qvytre,qvrsraqresre,qvpbyn,qvoynfvb,qvoryyb,qrina,qrggzre,qrfpuare,qrfovraf,qrehfun,qraxvaf,qrzbaoerha,qrzpunx,qryhppuv,qrycergr,qrybl,qryvm,qryvar,qrync,qrvgre,qrvtana,qrtvnpbzb,qrtnrgnab,qrshfpb,qrobneq,qrovnfr,qrnivyyr,qrnqjlyre,qninamb,qnhtugba,qnegre,qnafre,qnaqenqr,qnaqb,qnzcrre,qnymvry,qnyra,qnva,qnthr,pmrxnafxv,phgjevtug,phgyvss,pheyr,phbmmb,phaavatgba,phaavtunz,phzvatf,pebjfgba,pevggyr,pevfcryy,pevfbfgbzb,perne,pernpu,penvthr,penoof,pbmmv,pbmmn,pbkr,pbjfreg,pbivryyb,pbhfr,pbhyy,pbggvre,pbfgntyvbyn,pbeen,pbecravat,pbeznal,pbeyrff,pbexrea,pbagru,pbaxrl,pbaqvgg,pbangl,pbybzo,pbyyhen,pbyyrqtr,pbyvaf,pbytngr,pbyrfba,pbyrzba,pbssynaq,pbppvn,pybhturegl,pyrjryy,pyrpxyrl,pyrnirynaq,pyneab,pvivyf,pvyyb,pvsryyv,pvrfyhx,puevfgvfba,pubjavat,pubhgrnh,pubhat,puvyqerf,pureevatgba,purarggr,purrirf,purnvef,punqqbpx,preabpu,prevab,pnmvre,pnfgry,pnffryoreel,pnfregn,pneirl,pneevf,pneznag,pnevryyb,pneqneryyv,pnenf,pnenppvbyb,pncvgnab,pnagbav,pnagnir,pnapvb,pnzcvyyb,pnyyraf,pnyqreb,pnynzvn,pnurr,pnuna,pnunyna,pnonavyyn,pnony,oljngre,olarf,olnffrr,ohfxre,ohfuol,ohfnpx,ohegvf,oheebyn,ohebxre,oheavnf,oheybpx,oheunz,ohenx,ohyyn,ohssva,ohravat,ohqarl,ohpunaana,ohpunygre,oehyr,oehtyre,oebkfba,oebha,oebfu,oevffrl,oevfol,oevayrr,oevaxzrlre,oevzyrl,oevpxryy,oergu,oertre,oerrf,oenax,oenxre,obmnx,objyqf,objrefbpx,obhfzna,obhfuvr,obgm,obeqjryy,obaxbjfxv,obavar,obavsnl,obarfgrry,obyqva,obuevatre,obuynaqre,obrpxre,obpbbx,obpbpx,oboyrgg,oboorgg,obnf,obnezna,oyrfre,oynmrwrjfxv,oynhfgrva,oynhfrl,oynapnegr,oynvmr,oynpxfba,oynpxrgre,oynpxneq,ovfpu,ovepurgg,ovyyn,ovyqre,ovreare,ovrairah,ovryvafxv,ovnynf,ovntvav,orlaba,orly,orggvav,orgpure,orffrag,orfunen,orfpu,oreaq,oretrznaa,oretrnhk,oreqna,oraf,orarqvpgb,oraqnyy,orygeba,orygenz,oryyivyyr,orvfpu,oruarl,orrpuyre,orpxhz,ongmre,onggr,onfgvqn,onffrggr,onfyrl,onegbfu,onegbybar,oneenpybhtu,oneavpx,onexrg,onexqbyy,onevatre,oneryyn,oneovna,oneongv,onaana,onyyrf,onyqb,onynfhoenznav,onvt,onua,onpuzrvre,onolnx,onnf,onnef,nlhfb,nivatre,niryyn,nhfoebbxf,nhyy,nhtryyb,ngxrfba,ngxrefba,ngureyrl,nguna,nffnq,nfrorqb,neevfba,nezba,nezsvryq,nexva,nepunzornh,nagbaryyvf,natbggv,nzbebfr,nzvav,nzobea,nznab,nyhnerm,nyytnvre,nyyrtbbq,nyra,nyqnzn,nveq,nufvat,nuznaa,nthnqb,ntbfgvab,ntbfgvaryyv,nqjryy,nqfvg,nqryfgrva,npgvf,npvreab,npurr,noof,noovgg,mjntrezna,mhrepure,mvaab,mrggyre,mrss,mninymn,mnhtt,mnemlpxv,mncchyyn,mnabggv,mnpuzna,mnpure,lhaqg,lfynf,lbharf,lbagm,ltyrfvnf,lrfxr,lrnetva,lnhtre,lnznar,knat,jlynz,jeboyrfxv,jengpusbeq,jbbqyrr,jbyfrl,jbysvaonetre,jbuyraunhf,jvggyre,jvggrazlre,jvgxbc,jvfuzna,jvagm,jvaxryznaa,jvaqhf,jvaobea,jvzf,jvygebhg,jvyyzbgg,jvyyvfgba,jvyrzba,jvyobhear,jvrqlx,jvqznaa,jvpxynaq,jvpxrf,jvpureg,juvgfryy,juvfranaq,juvqol,jrgm,jrfgzrlre,jregurvz,jreareg,jreyr,jrexurvfre,jryqva,jrvffraobea,jrvatneq,jrvasryq,jrvuy,jrvtugzna,jrvpury,jrueurvz,jrtemla,jrtznaa,jnfmnx,jnaxhz,jnygubhe,jnygrezver,jnyfgnq,jnyqera,jnyoreg,jnynjraqre,jnuyhaq,jnuyreg,jnuyref,jnpu,ihapnaaba,ierqraohetu,ibax,ibyyzne,ibvfvarg,iynubf,ivfpneqv,iverf,ivccrezna,ivbynagr,ivqeb,irffrl,irfcre,ireba,iretnev,ireorpx,iraghevab,irynfgrthv,irtgre,inenf,inajrl,inaienaxra,inainyxraohe,inabefqnyr,inabyv,inabpugra,inavre,inarirel,inar,inaqhfre,inaqrefgrra,inaqryy,inaqnyy,inyybg,inyyba,inyyrm,inyyryl,inqranvf,hgur,hfrel,hatn,hygfpu,hyybz,glzvafxv,gjbtbbq,ghefv,ghenl,ghatngr,gehkvyyb,gehybpx,gebingb,gebvfr,gevcv,gevaxf,gevzobyv,gevpxry,germvfr,gersel,gerra,gerovypbpx,genivrfb,genpugraoret,gbhurl,gbhtnf,gbegberyyn,gbezrl,gberyyv,gbeobet,gbena,gbzrx,gbznffv,gbyyrefba,gbyqra,gbqn,gboba,gwryzrynaq,gvgzhf,gvyohel,gvrgwr,guheare,guhz,guebcr,gubeaoebhtu,guvonhqrnh,gunpxrenl,grfbeb,greevgb,grearf,grvpu,grpfba,grngre,grntneqra,gngfpu,gnenyyb,gncnarf,gnaoret,gnzz,flyivf,fjrabe,fjrqyhaq,fhgsva,fhen,fhaqg,fhaqva,fhzzrefba,fhzngmxhxh,fhygrzrvre,fhyvina,fhttvgg,fhreznaa,fghexvr,fghetrff,fghzcu,fghrzxr,fgehpxubss,fgebfr,fgebqre,fgevpxyra,fgevpx,fgervo,fgerv,fgenjgure,fgengvf,fgenuz,fgbegm,fgbeere,fgbevab,fgbuyre,fgbuy,fgbpxry,fgvaarggr,fgvyr,fgvrore,fgrssrauntra,fgrsnabjvpm,fgrrire,fgrntnyy,fgnghz,fgncyrl,fgnavfu,fgnaqvsbeq,fgnaqra,fgnzbf,fgnuyrpxre,fgnqgyre,fcengyrl,fcenxre,fcbfvgb,fcvpxneq,fcrune,fcrrf,fcrnevat,fcnatyr,fcnyybar,fbhyneq,fben,fbcxb,fbbq,fbaara,fbyyl,fbyrforr,fbyqnab,fborl,fbopmlx,farqrtne,farqqba,fzbyvafxv,fzbyvx,fybgn,fynivpx,fxbehcfxv,fxbyavx,fxveiva,fxrryf,fxnvaf,fxnuna,fxnne,fvjvrp,fvireyl,fvire,fvinx,fvex,fvagba,fvabe,fvapryy,fvyorefgrva,fvrzvafxv,fvqryvatre,fuhezna,fuhaanenu,fuvere,fuvqyre,fureyva,furccrefba,furznafxv,funehz,funegenaq,funcneq,funansryg,funzc,funqre,funpxrygba,frlre,frebxn,freanf,frevtug,frenab,frathcgn,fryvatre,frvgu,frvqyre,frruhfra,frrsevrq,fpbiryy,fpbemryyv,fpbavref,fpujvaq,fpujvpugraore,fpujreva,fpujraxr,fpujnqrere,fpuhffyre,fpuharzna,fpuhzcreg,fpuhygurvff,fpuebyy,fpuebrcsre,fpuebrqra,fpuevzcs,fpubbx,fpubbs,fpubzohet,fpubrasryqg,fpubrare,fpuabbe,fpuzvpx,fpuyrergu,fpuvaqryr,fpuvyqg,fpuvyqxarpug,fpurzzry,fpunesraoret,fpunaab,fpunar,fpunre,fpunq,fprnepr,fpneqvab,fnjxn,fnjvafxv,fnibpn,fnirel,fnhygf,fnecl,fnevf,fneqvaun,fnensva,fnaxne,fnawhewb,fnaqresre,fnanthfgva,fnzhqvb,fnzznegvab,fnznf,fnym,fnyzra,fnyxryq,fnynzba,fnxhenv,fnxbqn,fnsyrl,fnqn,fnpufr,elqra,elonpx,ehffbj,ehffrl,ehcerpug,ehzcyr,ehssvav,ehqmvafxv,ehqry,ehqqra,ebireb,ebhgyrqtr,ebhffva,ebhffr,ebhfre,ebhtrnh,ebfvpn,ebzrl,ebznavryyb,ebysf,ebtbss,ebtar,ebqevdhm,ebqerdhrm,ebqva,ebpenl,ebpxr,evivrer,evirggr,evfxr,evfraubbire,evaqsyrvfpu,evanhqb,evzorl,evun,evtuv,evqare,evqyvat,evqra,euhr,erlbzr,erlabyqfba,erhfpu,erafvat,erafpu,eraaryf,eraqrebf,ervavatre,ervaref,ervtry,eruzre,ertvre,erss,erqyva,erppuvn,ernhzr,erntbe,enjr,enggvtna,enfxn,enfurq,enagn,enasg,enaqyrgg,enzvrm,enzryyn,enyyvf,enwna,envforpx,envzbaqb,envoyr,entbar,enpxyvssr,dhvevab,dhvevat,dhreb,dhnvsr,clxr,chehttnana,chefvshyy,chexrgg,cheqba,chybf,chppvn,cebinapr,cebccre,cervf,cerua,cengn,cenfrx,cenatre,cenqvre,cbegbe,cbegyrl,cbegr,cbcvry,cbcrfph,cbznyrf,cbybjl,cbyyrgg,cbyvgvf,cbyvg,cbyrl,cbuyre,cbttvb,cbqbynx,cbnt,cylzry,cybrtre,cynagl,cvfxhen,cveebar,cveeb,cvebfb,cvafxl,cvynag,cvpxrevyy,cvppbybzvav,cvpneg,cvnfpvx,cunaa,crgehmmryyv,crgbfn,creffba,creerggn,crexbjfxv,crevyyv,crepvsvryq,crenhyg,crccry,crzore,crybggr,crypure,crvkbgb,cruy,crngebff,crneyfgrva,crnpure,cnlqra,cnln,cnjryrx,cnirl,cnhqn,cngunx,cneevyyb,cnearff,cneyrr,cnbyv,cnaaronxre,cnybzne,cnyb,cnyzoret,cntnaryyv,cnssengu,cnqbinab,cnqqra,cnpuhpxv,binaqb,bguzna,bfbjfxv,bfyre,bfvxn,befohea,beybjfxl,bertry,bccryg,bcsre,bcqlxr,baryy,byvibf,bxhzhen,bxbeb,btnf,bryfpuynrtre,bqre,bpnanf,boevba,bonee,bner,aluhf,alrauhvf,ahaaryyrl,ahanznxre,ahpxryf,ablq,abjyna,abinxbivpu,abgrobbz,abeivry,abegm,abezrag,abeynaq,abyg,abyvr,avkfba,avgxn,avffyrl,avfuvlnzn,avynaq,avrjvnqbzfxv,avrzrvre,avrynaq,avpxrl,avpubyfra,arhtrag,argb,areera,arvxvex,arvtu,arqebj,arnir,anmnver,anineb,aninygn,anfjbegul,anfvs,anyrcn,anxnb,anxnv,anqbyal,zlxyrohfg,zhffry,zhegul,zhengber,zheng,zhaqvr,zhyireuvyy,zhvyraohet,zhrgmry,zhqen,zhqtrgg,zebmvafxv,zbhen,zbggvatre,zbefba,zberggb,zberagva,zbeqna,zbberynaq,zbbref,zbagf,zbagbar,zbagbaqb,zbagvreb,zbavr,zbang,zbanerf,zbyyb,zbyyrg,zbynprx,zbxel,zbueznaa,zbunove,zbtnireb,zbrf,zbprev,zvlbfuv,zvgmare,zvfen,zvee,zvavfu,zvatr,zvapxyre,zvyebl,zvyyr,zvyrfxv,zvynarfv,zvxb,zvubx,zvunyvx,zvrpmxbjfxv,zrffreyv,zrfxvyy,zrfraoevax,zregba,zreeljrngure,zrexy,zrafre,zraare,zrax,zraqra,zrancnpr,zryobhear,zrxhf,zrvamre,zrref,zpgvthr,zpdhvggl,zpcureba,zpzheqvr,zpyrnel,zpynssregl,zpxvaml,zpxvoova,zpxrguna,zpvagrr,zpthey,zprnpuena,zpqbjnyy,zpqrezvgg,zpphnvt,zpperrql,zppbfxrl,zppybfxl,zppyvagvpx,zppyrrfr,zppnayrff,znmmhppb,znmmbppb,znmhexvrjvpm,znmnevrtb,znlubea,znkpl,znivgl,znhmrl,znhyqvat,znghfmrjfxv,znggffba,znggxr,zngfhfuvgn,zngfhab,zngfxb,zngxva,znguhe,znfgrezna,znffrgg,znffneg,znffnev,znfuav,znegryyn,zneera,znetbggn,zneqre,znepmnx,znena,znenqvntn,znajneera,znagre,znagryyv,znafb,znatbar,znaserqbavn,znyqra,znyobrhs,znynatn,znxnen,znvfba,znvfnab,znvef,znvyuvbg,zntev,znqeba,znqbyr,znpxnyy,znpqhss,znpnegarl,ylaqf,yhfnar,yhsszna,ybhgu,ybhtuzvyyre,ybhturrq,ybgfcrvpu,yberamv,ybbfyv,ybatr,ybatnarpxre,ybareb,ybuzrlre,ybrmn,ybofgrva,yboare,ybore,yvggzna,yvgnyvra,yvccr,yvagf,yvwrjfxv,yvtnf,yvroreg,yvroreznaa,yvorengv,yrmpnab,yrivaguny,yrffbe,yrfvrhe,yraavat,yratry,yrzcxr,yrzc,yrzne,yrvgmxr,yrvajrore,yrtebar,yrtr,yrqre,ynjavpxv,ynhgu,ynha,ynhtunel,ynffyrl,ynfujnl,yneevirr,ynetra,yner,ynabhrggr,ynaab,ynatvyyr,ynatra,ynzbagr,ynyva,ynvoyr,ynsenggn,ynsbegr,ynphrfgn,ynpre,ynober,ynobr,ynornh,xjnfavrjfxv,xhafryzna,xhue,xhpuyre,xehtzna,xehpxraoret,xebgmre,xebrzre,xevfg,xevtonhz,xerxr,xervfzna,xervfyre,xersg,xenfabj,xenf,xent,xbhlngr,xbhtu,xbgm,xbfghen,xbeare,xbeaoyhz,xbepmlafxv,xbccn,xbcpmlx,xbam,xbzbebjfxv,xbyyra,xbynaqre,xbrcavpx,xbruar,xbpuvf,xabpu,xavccref,xanrory,xyvcc,xyvarqvafg,xyvzpmlx,xyvre,xyrzrag,xyncunxr,xvfyre,xvamvr,xvarf,xvaqyrl,xvzcyr,xvzz,xvzory,xvyxre,xvyobea,xvoorl,xubat,xrgpuvr,xreobj,xraarzber,xraarorpx,xraarnyyl,xraaql,xrazber,xrzavgm,xrzyre,xrzrel,xryaubsre,xryyfgebz,xryyvf,xryynzf,xrvgre,xrvefgrnq,xrral,xrryva,xrrsnhire,xrnzf,xnhgmzna,xnhf,xngnlnzn,xnffba,xnffvz,xnfcnevna,xnfr,xnejbfxv,xnchfpvafxv,xnarxb,xnzreyvat,xnznqn,xnyxn,xnyne,xnxnprx,xnpmznepmlx,whevpn,wharf,wbhearyy,wbyyvssr,wbuafrl,wvaqen,wvzram,wrggr,wrfcrefba,wrevqb,wraerggr,wrapxf,wrpu,wnlebr,wnlb,wniraf,wnfxbg,wnebf,wndhrg,wnabjvnx,wnrtref,wnpxry,vmhzv,veryna,vamhamn,vzbgb,vzzr,vtyruneg,vnaabar,vnaanpbar,uhlyre,uhffnvav,uheybpx,uheyohgg,uhcevpu,uhzcuel,uhyfynaqre,uhryfzna,uhqryfba,uhqrprx,ufvn,uerun,ublynaq,ubjx,ubhfubyqre,ubhfqra,ubhss,ubexrl,ubana,ubzzr,ubygmoret,ubyylsvryq,ubyyvatf,ubyyraonhtu,ubxrafba,ubtersr,ubtynaq,ubry,ubqtxva,ubpuunygre,uwryyr,uvggfba,uvaqrezna,uvapuyvssr,uvzr,uvylre,uvyol,uvofuzna,urlqg,urjryy,urjneq,urgh,urfgnaq,urfyrc,ureevqtr,ureare,ureanaqr,ureznaqrm,ureznapr,ureobyq,urba,uragubear,uravba,uranb,urzvat,uryzxnzc,uryyoret,urvqtrexra,urvpury,uruy,urtrqhf,urpxngubear,urneeba,unlzre,unlpbbx,uniyvprx,unhfynqra,unfrzna,unegfbbx,unegbt,uneaf,unear,uneznaa,unera,unafreq,unaaref,unarxnzc,unzen,unzyrl,unzryva,unzoyrg,unxvzv,untyr,untva,unrua,unrpx,unpxyrzna,unnpxr,thyna,thvenaq,thvyrf,thttrzbf,threevrev,threerveb,threrpn,thqvry,thppvbar,thoyre,tehrajnyq,tevgm,tevrfre,terjr,teraba,tertrefra,tersr,terpu,terppb,tenirggr,tenffvn,tenaubyz,tenare,tenaqv,tenuna,tenqbjfxv,tenqarl,tenpmlx,tbhguvre,tbggfpunyy,tbenpxr,tbbgrr,tbbqxavtug,tbbqvar,tbamnyrn,tbagrezna,tbanyrm,tbzz,tbyrzna,tbyqgbbgu,tbyqfgbar,tbyqrl,tbyna,tbra,tbryyre,tbry,tbrpxr,tbqrx,tbna,tyham,tyblq,tybqbjfxv,tyvafxv,tynjr,tvebq,tveqyrl,tvaqv,tvyyvatf,tvyqare,tvtre,tvrfoerpug,tvrexr,tvre,tvobarl,tvndhvagb,tvnaanxbcbhyb,tvnvzb,tvnppvb,tvnpnybar,trffry,trebhyq,treyg,treubyq,trenyqf,trafba,trarerhk,tryyngyl,trvtry,truevt,truyr,trreqrf,trntna,tnjry,tnivan,tnhff,tngjbbq,tnguzna,tnfgre,tnefxr,tneengg,tnezf,tnevf,tnafohet,tnzzryy,tnzonyr,tnzon,tnyvzber,tnqjnl,tnqbhel,sheere,shevab,shyyneq,shxhv,selbh,sevrfare,sevrqyv,sevrqy,sevrqoret,serlrezhgu,serzva,serqryy,senmr,senaxra,sbgu,sbgr,sbegvav,sbearn,sbeznarx,sbexre,sbetrggr,sbyna,sbvfgre,sbtyrfbat,syvapx,syrjryyra,syngra,synvt,svgtrenyq,svfpuryf,svezna,svafgnq,svaxryzna,svavfgre,svan,srggreubss,sreevgre,srepu,sraarffl,sryghf,srygrf,srvazna,sneir,sneel,sneenyy,snent,snymnenab,snypx,snynatn,snxubhel,snveoebgure,sntyrl,snttvaf,snpgrnh,rjre,rjonax,ribyn,rirare,rhfgvf,rfgjvpx,rfgry,rffn,rfcvabyn,rfphgvn,rfpuznaa,recryqvat,reaforetre,reyvat,ragm,ratryuneg,raobql,rzvpx,ryfvatre,ryyvajbbq,ryyvatfra,ryyvpbgg,ryxvaq,rvfvatre,rvfraorvfm,rvfpura,rvzre,rvtare,rvpuubefg,ruzxr,rtyrfgba,rttrgg,rsheq,rqtrjbegu,rpxryf,rorl,roreyvat,rntyrgba,qjvttvaf,qjrpx,qhaavatf,qhaaninag,qhzyre,qhzna,qhthr,qhrexfra,qhqrpx,qervfonpu,qenjql,qenjonhtu,qenvar,qenttbb,qbjfr,qbiry,qbhtugba,qbhqf,qbhoenin,qbeg,qbefubefg,qbeavre,qbbyra,qbanina,qbzvavx,qbzvatrm,qbyqre,qbyq,qbovrf,qvfxva,qvfnab,qveqra,qvcbavb,qvcveeb,qvzbpx,qvygm,qvyynobhtu,qvyrl,qvxrf,qvttrf,qvtrebynzb,qvry,qvpuneel,qvprppb,qvonegbybzrb,qvnznag,qrjver,qribar,qrffrpxre,qregvatre,qrebhffryyr,qrex,qrcnhj,qrcnyb,qraureqre,qrzrlre,qrzrgeb,qrznfghf,qryivyyne,qryblr,qrybfevbf,qryterpb,qrynetr,qrynatry,qrwbatu,qrvgfpu,qrtvbetvb,qrtvqvb,qrserrfr,qrsbr,qrpnzoen,qrorarqrggb,qrnqrevpx,qnmn,qnhmng,qnhturaonhtu,qngb,qnff,qnejvfu,qnaghbab,qnagba,qnzzrlre,qnybvn,qnyrb,qntt,qnprl,phegf,phal,phaarra,phyireubhfr,phpvaryyn,phovg,pehzz,pehqb,pebjsbeq,pebhg,pebggrnh,pebffsvryq,pebbxr,pebz,pevgm,pevfgnyqv,pevpxzber,pevoova,perzrraf,penlar,penqqhpx,pbhiregvre,pbggnz,pbffvb,pbeerl,pbeqerl,pbcyba,pbcnff,pbbar,pbbql,pbagbvf,pbafyn,pbaaryyrl,pbaaneq,pbatyrgba,pbaqel,pbygrl,pbyvaqerf,pbytebir,pbysre,pbynfheqb,pbpuryy,pboova,pybhguvre,pybff,pybbana,pyvmor,pyraaba,pynlohea,pynlobhea,pynhfryy,pynfol,pyntrgg,pvfxbjfxv,pveevapvbar,pvadhr,pvaryyv,pvzntyvn,pvnoheev,puevfgvnav,puevfgrfba,puynqrx,puvmzne,puvaavpv,puvneryyn,purievre,purirf,pureabj,purbat,purygba,punava,punz,punyvtbw,pryrfgvab,pnlpr,pnirl,pninerggn,pnhtueba,pngzhyy,pngncnab,pnfunj,pnehyyb,pnehnyub,pneguba,pnegryyv,pneehon,pneerer,pnebyhf,pneyfgebz,pnesben,pneryyb,pneonel,pncyrggr,pnaaryy,pnapvyyn,pnzcryy,pnzznebgn,pnzvyb,pnzrwb,pnznengn,pnvffr,pnpvbccb,pnoontrfgnyx,pnongh,pnonanf,olyrf,ohkonhz,ohgynaq,oheevatgba,oheafrq,oheavatunz,oheyvatunz,ohetl,ohvgentb,ohrgv,ohruevat,ohqnl,ohpxaryy,ohpuovaqre,ohprl,oehfgre,oehafgba,oebhvyyrg,oebfvbhf,oebbzrf,oebqva,oebqql,oebpuneq,oevgfpu,oevgpure,oevreyrl,oermvan,oerffv,oerffrggr,oerfybj,oeraqra,oervre,oerv,oenlzre,oenfhryy,oenafpbzo,oenava,oenaqyrl,oenuyre,oenpug,oenpnzbagrf,oenofba,oblar,obkryy,objrel,obineq,obhgryyr,obhyrggr,obggvav,obgxvaf,obfra,obfpvn,obfpnevab,obevpu,oberzna,obeqbl,obeqyrl,obeqrarg,obdhrg,obbpxf,obyare,obvffl,obvyneq,obuara,obunyy,obravat,obppvn,obppryyn,obor,oylgu,ovivnab,ovggb,ovfry,ovafgbpx,ovarf,ovyyvgre,ovtfol,ovtubefr,ovrynjfxv,ovpxzber,orggva,orggraunhfra,orffba,orfrnh,oregba,oreebn,oreagfba,oreanf,orevfsbeq,oreubj,oretfzn,oralb,oralneq,oragr,oraavba,oraxb,oryfxl,oryyninapr,orynfpb,oryneqb,orvqyre,oruevat,ortanhq,ortn,orsbeg,orrx,orqber,orqqneq,orpxaryy,orneqfyrr,orneqnyy,orntna,onlyl,onhmn,onhgm,onhfzna,onhzyre,onggrefba,onggrasvryq,onffsbeq,onffr,onfrzber,onehpu,onegubys,onezna,onenl,onenonf,onatuneg,onarm,onyfnz,onyyrfgre,onyyntu,onyqbpx,ontabyv,onturev,onphf,onpub,onppnz,nkfba,nireuneg,nire,nhfgvyy,nhoreel,ngunaf,ngpvggl,ngnl,nfgnevgn,nfpbyrfr,negmre,neenfzvgu,netraoevtug,nerfpb,nenawb,nccyrlneq,nccramryyre,ncvynqb,nagbarggv,nagvf,naanf,natjva,naqevf,naqevrf,naqerbmmv,naqb,naqvf,naqrertt,nzlbg,nzvabi,nzryhat,nzryvb,nznfba,nyivne,nyyraqbes,nyqerqtr,nypvine,nynln,nyncnv,nvevatgba,nvan,nvybe,nueaf,nuznqv,nterfgn,nssbygre,nrfpuyvznaa,nqarl,nqreubyq,nqnpuv,npxvff,nora,noqryunzvq,none,nnfr,mbevyyn,mbeqna,mbyyzna,mbpu,mvcsry,mvzzreyr,mvxr,mvry,mraf,mrynqn,mnzna,mnuare,mnqben,mnpune,mnobebjfxv,mnovafxv,lmdhvreqb,lbfuvmnjn,lbev,lvryqvat,lregba,lruy,lrnetnva,lrnxyrl,lnznbxn,lntyr,lnoybafxv,jlavn,jlar,jlref,jemrfvafxv,jelr,jevfgba,jbbyhzf,jbbyra,jbbqybpx,jbbqyr,jbafre,jbzonpure,jbyyfpuyntre,jbyyra,jbysyrl,jbysre,jvffr,jvfryy,jvefvat,jvafgnayrl,jvafyrl,jvavrpxv,jvavnefxv,jvatr,jvarfrgg,jvaqryy,jvaoreel,jvyylneq,jvyyrzfra,jvyxbfm,jvyrafxl,jvxyr,jvsbeq,jvraxr,jvrarxr,jvrqreubyq,jvrobyq,jvqvpx,jvpxraunhfre,juvgebpx,juvfare,juvarel,jureyrl,jurqorr,jurnqba,junel,jrffyvat,jrffryyf,jraavatre,jraqebgu,jraqr,jryyneq,jrvevpx,jrvaxnhs,jruezna,jrrpu,jrngureforr,jneapxr,jneqevc,jnyfgebz,jnyxbjfxv,jnyphgg,jnvtug,jntzna,jnttrgg,jnqsbeq,ibjyrf,ibezjnyq,ibaqena,ibuf,ivgg,ivgnyb,ivfre,ivanf,ivyyran,ivyynarhin,ivyynsenapn,ivyynsybe,ivynva,ivpbel,ivnan,ivna,irehppuv,ireen,iramxr,irafxr,iryrl,irvyr,irrqre,infxr,infpbarm,inetnfba,ineoyr,inajreg,inagby,inafpbbgre,inazrger,inaznnara,inauvfr,inarngba,inaqlx,inaqevry,inaqbec,inaqrjngre,inaqreiryqra,inaqrefgryg,inaqreubrs,inaqreorpx,inaovoore,inanyfgvar,inanpber,inyqrfcvab,invyy,invyrf,intyvneqb,hefvav,heern,hevir,hevrtnf,hzcuerff,hppv,honyyr,glaba,gjvare,ghggba,ghqryn,ghnmba,gebvfv,gevccyrgg,gevnf,gerfpbgg,gervpury,gerqb,genagre,gbmre,gbkrl,gbegbevpv,gbeabj,gbcbyfxv,gbcvn,gbcry,gbcnyvna,gbaar,gbaqer,gbyn,gbrcxr,gvfqryy,gvfpnerab,gubeaobeebj,gubzvfba,guvytrf,gurherg,gurevra,guntneq,gunpure,grkgre,gremb,gracraal,grzcrfgn,grrgm,grnss,gniryyn,gnhffvt,gnggba,gnfyre,gneerapr,gneqvr,gnenmba,gnagvyyb,gnaarl,gnaxfba,gnatra,gnzoheb,gnobar,fmvyntlv,flcuref,fjvfgnx,fjvngxbjfxv,fjrvtreg,fjnlmre,fjncc,firuyn,fhgcura,fhgpu,fhfn,fhezn,fheyf,fhaqrezrlre,fhaqrra,fhyrx,fhtuehr,fhqby,fghezf,fghcne,fghz,fghpxzna,fgebyr,fgebuzna,fgerrq,fgerorpx,fgenhffre,fgenffry,fgcnhy,fgbegf,fgbee,fgbzzrf,fgznel,fgwhyvra,fgvxn,fgvttref,fguvyy,fgrivpx,fgrezna,fgrcnarx,fgrzyre,fgryzna,fgryznpx,fgrvaxnzc,fgrvaobpx,fgpebvk,fgpuneyrf,fgnhqvatre,fgnayl,fgnyyfjbegu,fgnyyrl,febpx,fcevgmre,fcenpxyva,fcvahmmv,fcvqryy,fcrlere,fcreorpx,fcraqybir,fcrpxzna,fcnethe,fcnatraoret,fcnvq,fbjyr,fbhyvre,fbgbybatb,fbfger,fberl,fbavre,fbzbtlv,fbzren,fbyqb,fbqreubyz,fabbgf,fabbxf,fabxr,fabqqreyl,farr,fzvguuneg,fzvyyvr,fznl,fznyyzna,fyvjvafxv,fyragm,fyrqq,fyntre,fxbtra,fxbt,fxneqn,fxnyvpxl,fvjrx,fvggrefba,fvfgv,fvffry,fvabcbyv,fvzvygba,fvzvyn,fvzrafba,fvyiregbbgu,fvybf,fvttvaf,fvryre,fvoheg,fvnarm,fuheyrl,fuhyne,fuhrpensg,fuerrirf,fubyyraoretre,fubra,fuvfuvqb,fuvccf,fuvcrf,fuvanyy,furesvryq,funjr,funeergg,funeeneq,funaxzna,frffhz,freivff,freiryyb,frevpr,freqn,frzyre,frzramn,fryzba,fryyra,fryrl,frvqare,frvo,frutny,frryonpu,frqvil,froera,frob,frnarm,frntebirf,frntera,frnoeba,fpujregare,fpujrtry,fpujnemre,fpuehax,fpuevrsre,fpuerqre,fpuenax,fpubcc,fpubasryq,fpubrajrggre,fpuanyy,fpuanpxraoret,fpuanpx,fpuzhgmyre,fpuzvrere,fpuzvqtnyy,fpuyhc,fpuybrzre,fpuyvgg,fpureznaa,fpuress,fpuryyraoret,fpunva,fpunrqyre,fpunory,fpnppvn,fnlr,fnherm,fnffrra,fnfargg,fnegv,fneen,fneore,fnagbl,fnagrenzb,fnafbhpl,fnaqb,fnaqyrf,fnaqnh,fnzen,fnznun,fnyvmne,fnynz,fnvaqba,fntnfre,fnrgrha,fnqhfxl,fnpxzna,fnongre,fnnf,ehguira,ehfmxbjfxv,ehfpur,ehzcs,ehugre,ehuraxnzc,ehsb,ehqtr,ehqqyr,ebjyrr,ebjnaq,ebhguvre,ebhtrbg,ebgenzry,ebgna,ebfgra,ebfvyyb,ebbxneq,ebbqr,ebatfgnq,ebyyvr,ebvqre,ebssr,ebrggtre,ebqvpx,ebpurm,ebpung,evixva,evinqrarven,evfgba,evffb,evaqrexarpug,evvf,evttforr,evrxre,evrtyr,evrql,evpujvar,evpuzba,evppvhgv,evppneqb,evpneqfba,eurj,erivre,erzforet,erzvfmrjfxv,erzobyq,eryyn,ervaxra,ervynaq,ervqry,ervpuneg,erunx,erqjnl,erqabhe,erqvsre,erqtngr,erqraonhtu,erqohea,ernqhf,enlohpx,enhuhss,enhqn,enggr,enguwr,enccyrl,enaqf,enzfrlre,enzfrhe,enzfqnyr,enzb,enznevm,envgm,envfpu,envabar,enue,entnfn,ensnyfxv,enqham,dhramre,dhrwn,dhrrana,clha,chgmvre,chfxnf,cheevatgba,chev,chag,chyyne,cehfr,cevat,cevzrnh,cerirggr,cerhrgg,cerfgntr,cbjaryy,cbjanyy,cbggubss,cbgengm,cbgu,cbgre,cbfguhzn,cbfra,cbeevgg,cbcxva,cbbezba,cbyvqbeb,cbypla,cbxben,cbre,cyhivbfr,cybpx,cyrin,cynpxr,cvbyv,cvatyrgba,cvapuonpx,cvrerggv,cvppbar,cvngxbjfxv,cuvyyrl,cuvoof,cunl,cuntna,cshaq,crlre,crggrefra,crggre,crgehpryyv,crgebcbhybf,crgenf,crgvk,crfgre,crccrezna,craavpx,cranqb,crybg,cryvf,crrqra,crpuba,crny,cnmzvab,cngpuva,cnfvreo,cneena,cnevyyn,cneql,cnepryyf,cnentnf,cnenqrr,cncva,cnaxb,cnatenmvb,cnatryvana,cnaqln,cnapurev,cnanf,cnyzvgre,cnyynerf,cnyvaxnf,cnyrx,cntyvneb,cnpxunz,cnpvggv,bmvre,bireonhtu,bhefyre,bhvzrggr,bggrfba,bgfhxn,bguba,bfzhaqfba,bebm,betvyy,beqrarnhk,benzn,bccl,bcurvz,baxfg,bygznaaf,byfgnq,bybsfba,byyvivre,byrwavpmnx,bxhen,bxhan,bueg,buneen,bthraqb,btvre,bssreznaa,brgmry,brpufyr,bqburegl,bqqv,bpxrezna,bppuvbtebffb,boelba,boerzfxv,alerra,alyhaq,alyra,alubyz,ahba,ahnarf,abeevpx,abevf,abeqryy,abeohel,abbare,abzhen,abyr,abyqra,absfvatre,abpvgb,avrqonyn,avroretnyy,avpbyvav,arivyf,arhohetre,arzrebsfxl,arzrprx,anmnerab,anfgev,anfg,antbefxv,zler,zhmmrl,zhgfpuyre,zhgure,zhfhzrpv,zhenanxn,zhenzbgb,zhenq,zhenpu,zhaf,zhaab,zhapevrs,zhtentr,zhrpxr,zbmre,zblrg,zbjyrf,zbggrea,zbfzna,zbfpbav,zbevar,zbetr,zbenirp,zbenq,zbarf,zbaphe,zbanerm,zbymnua,zbtyvn,zbrfpu,zbql,zbqvfrgg,zvgavpx,zvgupryy,zvgpuvare,zvfgel,zvfrepbyn,zvenovyr,zvaivryyr,zvab,zvaxyre,zvavsvryq,zvavpuvryyb,zvaqryy,zvanfvna,zvygrre,zvyyjrr,zvyyfgrva,zvyyvra,zvxehg,zvunyl,zvttvaf,zvpuneq,zrmb,zrgmare,zrfdhvgn,zreevjrgure,zrex,zresryq,zrepvx,zrepnqnagr,zraan,zraqvmnony,zraqre,zryhfxl,zrydhvfg,zryynqb,zryre,zryraqrf,zrxrry,zrvttf,zrttvafba,zrpx,zpjuregre,zpjnlar,zpfcneera,zpern,zparss,zparnfr,zpzheeva,zpxrnt,zpuhturf,zpthvarff,zptvygba,zpryerngu,zpryubar,zpryuraarl,zpryqbjarl,zpphegnva,zppher,zppbfxre,zppbel,zppbezvp,zppyvar,zppyrnir,zppyngpurl,zppnearl,zppnafr,zpnyyra,znmmvr,znmva,znmnarp,znlrggr,znhgm,znha,znggnf,znguheva,znguvrfra,znffznaa,znfev,znfvnf,znfpbyb,znfprggv,znfpntav,znembys,znehfxn,znegnva,znefmnyrx,znebys,zneznf,zneybe,znexjbbq,znevareb,znevre,znevpu,znepbz,znepvnagr,znepuzna,znepuvb,zneonpu,znambar,znagrl,znaavan,znauneqg,znanbvf,znyztera,znyybarr,znyyva,znyynel,znyrggr,znxvafba,znxvaf,znxnerjvpm,znvajnevat,znvnin,znteb,zntbhlex,zntrgg,znrqre,znqlha,znqhran,znqra,znqrven,znpxvaf,znpxry,znpvaarf,znpvn,znptbjna,ylffl,ylreyl,ylnyyf,yhggre,yhaarl,yhxfn,yhqrzna,yhpvqv,yhppv,ybjqra,ybivre,ybhtuevqtr,ybfpu,ybefba,yberamnab,ybeqra,ybeore,ybcneqb,ybbfvre,ybbzre,ybatfqbes,ybatpunzcf,ybapne,ybxre,ybtjbbq,ybrssryubym,ybpxzvyyre,yvibgv,yvasbeq,yvaraoretre,yvaqybss,yvaqraonhz,yvzbtrf,yvyrl,yvtuguvyy,yvtugobhear,yvrfxr,yrmn,yrinaqbfxv,yrhpx,yrcrer,yrbauneg,yraba,yrzzn,yrzyre,yrvfvat,yrvabara,yrugvara,yruna,yrrgpu,yrrzvat,yrqlneq,yrqjvgu,yrqvatunz,yrpyrer,yrpx,yroreg,yrnaqel,ynmmryy,ynlb,ynlr,ynkra,ynjgure,ynjrenapr,ynibl,yniregh,ynireqr,yngbhpur,yngare,yngura,ynfxva,ynfuonhtu,ynfpnyn,yneebdhr,ynevpx,ynenvn,yncyhzr,ynamvybggn,ynaabz,ynaqevtna,ynaqbyg,ynaqrff,ynzxvaf,ynyyn,ynyx,ynxrzna,ynxngbf,ynvo,ynunl,yntenir,yntredhvfg,ynsbl,ynsyrpur,ynqre,ynoenqn,xjvrpvafxv,xhgare,xhafuvre,xhynxbjfxv,xhwnx,xhruayr,xhovfvnx,xemlzvafxv,xehtu,xebvf,xevgvxbf,xevyy,xevrare,xerjfba,xergmfpuzne,xergm,xerffr,xervgre,xervfpure,xerory,xenaf,xenyvat,xenuraohuy,xbhaf,xbgfba,xbffbj,xbcevin,xbaxyr,xbygre,xbyx,xbyvpu,xbuare,xbrccra,xbravtf,xbpx,xbpunafxv,xbohf,xabjyvat,xabhss,xabremre,xavccry,xyboreqnam,xyrvareg,xynevpu,xynnffra,xvfnzber,xvea,xvenyl,xvccf,xvafba,xvaarzna,xvatgba,xvar,xvzoevry,xvyyr,xvobqrnhk,xunzibatfn,xrlyba,xrire,xrfre,xregm,xrepuriny,xraqevk,xraqyr,xrzcg,xrzcyr,xrrfrl,xrngyrl,xnmzvrefxv,xnmqn,xnmnevna,xnjnfuvzn,xngfpu,xnfha,xnffare,xnffrz,xnfcrefxv,xnfvatre,xnfpunx,xneryf,xnagbyn,xnan,xnznv,xnygubss,xnyyn,xnynav,xnuef,xnunarx,xnpure,whenfrx,whatryf,whxrf,whrysf,whqvpr,whqn,wbffryla,wbaffba,wbanx,wbraf,wbofba,wrtrqr,wrnawnpdhrf,wnjbebjfxv,wnfcref,wnaafra,wnaare,wnaxbjvnx,wnax,wnavnx,wnpxbjfxv,wnpxyva,wnoobhe,vlre,virfba,vfare,vavdhrm,vatjrefba,vatore,vzoebtab,vyyr,vxrunen,vnaaryyv,ulfba,uhksbeq,uhfrgu,uheaf,uhearl,uheyrf,uhaavatf,uhzonetre,uhyna,uhvfvatn,uhturgg,uhtura,uhqyre,uhovnx,uevpxb,ubirefgra,ubggry,ubfnxn,ubefpu,ubeznaa,ubeqtr,ubamryy,ubzohet,ubygra,ubyzr,ubyybcrgre,ubyyvafjbegu,ubyyvonhtu,ubyoret,ubuznaa,ubrafgvar,ubqryy,ubqqr,uvgre,uvexb,uvamznaa,uvaevpufra,uvatre,uvapxf,uvym,uvyobea,uvtuyrl,uvtnfuv,uvrngg,uvpxra,urireyl,urfpu,ureireg,urefuxbjvgm,ureerenf,ureznaaf,uretrg,uraevthrm,uraaba,uratry,uryzyvatre,uryzvt,uryqzna,urvmre,urvavgm,urvsare,urvqbea,urtyva,urssyre,uroare,urnguzna,urnfyvc,unmyvc,unlzrf,unlnfr,unjire,unireznyr,uninf,unhore,unfuvz,unfranhre,uneiry,unegarl,unegry,unefun,unecvar,unexevqre,unexva,unere,unepyrebqr,unamryl,unaav,unaantna,unzcry,unzzrefpuzvqg,unzne,unyyhzf,unyyva,unvayvar,unvq,unttneg,unsra,unre,unqvnevf,unqnq,unpxsbeq,unorro,thlzba,thggrel,thaargg,thvyyrggr,thvyvnab,thvyornhk,thvure,thvtaneq,threel,thqr,thpzna,thnqvna,temlobjfxv,temrynx,tehffraqbes,tehzrg,tehrauntra,tehqmvafxv,tebffznaa,tebs,tevffb,tevfnagv,tevssvggf,tevrfonhz,teryyn,tertfgba,teniryvar,tenaqhfxl,tenaqvarggv,tenzz,tblarf,tbjvat,tbhqvr,tbfzna,tbeg,tbefyvar,tbenyfxv,tbbqfgrva,tbbqebr,tbbqyva,tbbqurneg,tbbquneg,tbamryrm,tbaguvre,tbyqfjbegul,tbyqnqr,tbrggry,tbreyvgm,tbrcsreg,tbruare,tbora,tborvyyr,tyvrz,tyrvpu,tynffba,tynfpbr,tynqjryy,tvhfgb,tveqare,tvccyr,tvyyre,tvrfvat,tvnzzban,tubezyrl,trezba,trevatre,tretryl,treorevpu,trcare,traf,travre,trzzr,tryfvatre,trvtyr,troovn,tnlare,tnivgg,tngeryy,tnfgvarnh,tnfvrjfxv,tnfpbvtar,tneeb,tneva,tnabat,tnatn,tnycva,tnyyhf,tnyvmvn,tnwqn,tnuz,tntra,tnssvtna,sheab,sheavn,shetnfba,sebapmnx,sevfuzna,sevrff,sevreqvpu,serrfgbar,senagn,senaxbivpu,sbef,sbeerf,sbeere,sybevqb,syvf,syvprx,syraf,syrtny,svaxyre,svaxraovaqre,svarsebpx,svycb,svyvba,svrezna,svryqzna,sreerlen,srearaqrm,sretrfba,sren,srapvy,srvgu,srvtug,srqrevpv,srqrere,srpugare,srntna,snhfanhtu,snhoreg,sngn,snezna,snevaryyn,snagnhmmv,snanen,snyfb,snyneqrnh,sntanav,snoeb,rkpryy,rjgba,rirl,rirerggf,rinegf,rgurevatgba,rfgerzren,rfgvf,rfgnoebbxf,rffvt,rfcyva,rfcrafpuvrq,reamra,rccrf,rccneq,ragjvfyr,rzvfba,ryvfba,rythrmnony,ryrqtr,ryonm,rvfyre,rvqra,rvpubefg,rvpureg,rtyr,rttyre,rttvznaa,rqrl,rpxrezna,rpuryoretre,roof,ronaxf,qmvnx,qlpur,qlpr,qhfpu,qhebff,qheyrl,qhengr,qhafjbegu,qhzxr,qhyrx,qhuy,qhttva,qhssbeq,qhqmvnx,qhpercva,qhoerr,qhoer,qhovr,qhonf,qebfgr,qevfxb,qerjavnx,qbkgngbe,qbjgva,qbjahz,qbhorg,qbggyr,qbfvre,qbfuv,qbefg,qbefrg,qbeaohfpu,qbamr,qbavpn,qbznafxv,qbzntnyn,qbufr,qbreare,qbresyre,qboyr,qboxvaf,qvygf,qvtvhyvb,qvtnrgnab,qvrgmry,qvqqyr,qvpxry,qrmnea,qribl,qribff,qrivyyn,qrirer,qrgref,qrfiretarf,qrfunl,qrfran,qrebff,qrcrqeb,qrafyrl,qrzberfg,qrzber,qrzben,qrzvewvna,qrzrepunag,qrznggrvf,qrzngrb,qrytneqb,qrysnireb,qrynheragvf,qrynzne,qrynpl,qrvgevpu,qrvfure,qrtenpvn,qrtenns,qrsevrf,qrsvyvccvf,qrpbhefrl,qroehva,qrovnfv,qrone,qrneqra,qrnyl,qnlubss,qnivab,qneiva,qneevfnj,qneolfuver,qndhvab,qncevyr,qnau,qnanul,qnyfnagb,qnyyninyyr,qntry,qnqnzb,qnpl,qnphaun,qnonqvr,pmlm,phgfvatre,phearl,phccrearyy,phayvssr,phzol,phyybc,phyyvanar,phtvav,phqzber,phqn,phphmmn,phpu,pehzol,pebhfre,pevggba,pevgpuyrl,perzban,perzne,peruna,pernel,penfpb,penyy,penoor,pbmmbyvab,pbmvre,pblare,pbhivyyvre,pbhagrezna,pbhyguneq,pbhqevrg,pbggbz,pbemb,pbeahgg,pbexena,pbeqn,pbcryva,pbbana,pbafbyb,pbaebj,pbaena,pbaaregba,pbaxjevtug,pbaqera,pbzyl,pbzvfxl,pbyyv,pbyyrg,pbyryyb,pbyorpx,pbynehffb,pbvare,pbueba,pbqrer,pbovn,pyher,pybjfre,pyvatracrry,pyraarl,pyraqnavry,pyrzrafba,pyrrer,pyrpxyre,pynlonhtu,pynfba,pvehyyb,pvenhyb,pvbyrx,pvnzcv,puevfgbcurefr,pubinarp,pubcen,puby,puvrz,purfgahgg,purfgrezna,pureabss,pureznx,puryrggr,purpxrggf,punecvn,puneb,punetbvf,punzczna,punyyraqre,punsvaf,preehgb,pryv,pnmranir,pninyhmmv,pnhguba,pnhql,pngvab,pngnab,pnffneb,pnffnevab,pneenab,pnebmmn,pnebj,pnezvpxyr,pneylba,pneyrj,pneqran,pnchgv,pncyrl,pncnyob,pnafrpb,pnaqryyn,pnzcgba,pnzcbfnab,pnyyrebf,pnyyrwn,pnyyrtnev,pnyvpn,pnynepb,pnynvf,pnvyyvre,pnuhr,pnqraurnq,pnqranf,pnoren,ohmmb,ohfgb,ohffznaa,ohfraonex,ohemlafxv,ohefyrl,ohefryy,oheyr,ohexyrb,ohexrggr,ohepmlx,ohyyrgg,ohvxrzn,ohraniraghen,ohrtr,ohrpury,ohqernh,ohquenz,ohpxanz,oelr,oehfujbbq,oehzonybj,oehybggr,oehvatgba,oehqrere,oebhture,oebzsvryq,oebrtr,oebqurnq,oebpxyrfol,oebnqvr,oevmhryn,oevgm,oevfraqvar,oevyyn,oevttrzna,oevregba,oevqtrsbeq,oerlsbtyr,oerivt,oerhavatre,oerffr,oerfrggr,oeryfsbeq,oervgonpu,oenlyrl,oenhaq,oenafpbz,oenaqare,oenuz,oenobl,oenooyr,obmzna,oblgr,oblarf,oblxra,objryy,objna,obhgrg,obhfr,obhyrg,obhyr,obggpure,obfdhrm,obeeryy,obevn,obeqrf,obepuneq,obafba,obavab,obanf,obanzvpb,obyfgnq,obyfre,obyyvf,obyvpu,obys,obxre,obvyrnh,obunp,obthpxv,obtera,obrtre,obqmvbal,obqb,obqyrl,obonpx,oylgure,oyraxre,oynmvan,oynfr,oynzre,oynpxanyy,oynpxzbaq,ovgm,ovfre,ovfpneqv,ovam,ovygba,ovyybggr,ovyynshregr,ovtsbeq,ovrtyre,ovoore,ounaqnev,orlrefqbes,oriryyr,orggraqbes,orffneq,oregfpur,orear,oreyvatre,orevfu,orenarx,oragfba,oragfra,orafxva,orabl,orabvfg,oravgm,orybatvn,oryzber,oryxn,orvgmry,orvgre,orvgry,orueaf,orpxn,ornhqvba,ornel,orner,ornzrf,ornobhg,ornore,onmmnab,onmvarg,onhphz,ongerm,onfjryy,onfgbf,onfpbzo,onegun,onefgnq,oneevyyrnhk,oneerggb,oneerfv,oneban,onexuhefg,onexr,oneqnyrf,onepmnx,onepn,onenfu,onasvyy,onybarx,onyzrf,onyxb,onyrfgevrev,onyqvab,onyqryyv,onxra,onvmn,onuare,onrx,onqbhe,onqyrl,onqvn,onpxzba,onpvpu,onppn,nlfphr,nlarf,nhfvryyb,nhevatre,nhvyrf,nfcvajnyy,nfxjvgu,negvtn,neebyvtn,neaf,nezna,neryynarf,nenpran,nagjvar,naghan,nafryzv,naara,natryvab,natryv,natnebyn,naqenr,nzbqvb,nzrra,nyjvar,nyirevb,nygeb,nygboryyb,nygrzhf,nydhvpven,nyycuva,nyyrznaq,nyynz,nyrffvb,nxcna,nxrezna,nvban,ntlrzna,nterqnab,nqnzvx,nqnzpmnx,nperl,nprinqb,noerb,noenunzfra,novyq,mjvpxre,mjrvt,mhivpu,mhzcnab,mhyhntn,mhorx,mbearf,mbtyznaa,mvzvafxv,mvzoryzna,munary,mrabe,mrpuzna,mnhare,mnzneeba,mnssvab,lhfhs,lghnegr,lrgg,lrexbivpu,lryqre,lnfhqn,lncc,lnqra,lnpxyrl,lnppnevab,jlgpu,jler,jhffbj,jbeguvat,jbezjbbq,jbeznpx,jbeqryy,jbbqebbs,jbbqvatgba,jbbqunzf,jbbqqryy,jbyyare,jbwgxbjfxv,jbwpvpxv,jbtna,jybqnepmlx,jvkgrq,jvguvatgba,jvgurz,jvfyre,jvevpx,jvagreunygre,jvafxv,jvaar,jvarzvyyre,jvzrgg,jvygsbat,jvyyvoenaq,jvyyrf,jvyxbf,jvyoba,jvxgbe,jvttref,jvtt,jvrtznaa,jvpxyvss,jvoret,juvggyre,juvggragba,juvgyvat,juvgyrqtr,juvgurefcbba,juvgref,juvgrpbggba,juvgroveq,jurnel,jrgurevyy,jrfgznex,jrfgnol,jregraoretre,jragynaq,jrafgebz,jraxre,jryyra,jrvre,jrtyrvgare,jrqrxvaq,jnjref,jnffry,jneruvzr,jnaqrefrr,jnygzba,jnygrefurvq,jnyoevqtr,jnxryl,jnxrunz,jnwqn,jnvgur,jnvqryvpu,jnuyre,jnuvatgba,jntfgre,jnqry,ihlbivpu,ihbyb,ihyvpu,ihxbivpu,ibyzre,ibyyengu,ibyyoerpug,ibtrytrfnat,ibryyre,iynpu,ivine,ivghyyb,ivgnamn,ivfxre,ivfnyyv,ivenl,ivaavat,ivavneq,ivyyncnaqb,ivyynzna,ivre,ivne,ivnyy,irefgenrgr,irezvyln,ireqba,iraa,irygra,iryvf,inabira,inabeqre,inayhr,inaurry,inaqrejbhqr,inaqreurvqr,inaqraurhiry,inaqraobf,inaqroret,inaqny,inaoynepbz,inanxra,inanpxre,inyyvna,inyvar,inyrag,invar,invyr,inqare,hggrpu,hevbfgr,heonavx,haengu,haanfpu,haqrexbsyre,hrunen,glere,glohefxv,gjnqqyr,gheagvar,ghavf,ghyybpx,gebcc,gebvyb,gevgfpu,gevbyn,gevtb,gevobh,gevoyrl,gergurjrl,gerff,geryn,gerunear,gersrgura,genlyre,genk,genhg,genary,gentre,genpmlx,gbjfyrl,gbeerpvyynf,gbeangber,gbex,gbevivb,gbevryyb,gbbyrf,gbzzr,gbybfn,gbyra,gbpn,gvggrevatgba,gvcfjbeq,gvaxyraoret,gvtarl,gvtreg,gultrefba,guhea,guhe,gubefgnq,gubeaoret,guberfra,gubznfgba,gubyra,guvpxr,gurvyre,gurornh,gurnhk,gunxre,grjnav,grhsry,grgyrl,greerobaar,greenab,grecravat,gryn,grvt,grvpureg,grtrgubss,grryr,gngne,gnfuwvna,gnegr,gnagba,gnavzbgb,gnzvzv,gnznf,gnyzna,gnny,fmlqybjfxv,fmbfgnx,fjblre,fjreqybj,fjrrqra,fjrqn,fjnaxr,fjnaqre,fhlnzn,fhevnab,fhev,fheqnz,fhceranag,fhaqrg,fhzzregba,fhyg,fhyrvzna,fhssevqtr,fhol,fglpu,fghqral,fgehcc,fgehpxzna,fgevrs,fgevpgynaq,fgerzpun,fgeruy,fgenzry,fgbl,fgbhgnzver,fgbebmhx,fgbeqnuy,fgbcure,fgbyyrl,fgbysv,fgbrtre,fgbpxunhfra,fgwhyvna,fgvinafba,fgvagba,fgvapusvryq,fgvtyre,fgvrtyvgm,fgtreznvar,fgrhre,fgrhore,fgrhneg,fgrcgre,fgrcabjfxv,fgrcnavna,fgrvzre,fgrsnaryyv,fgroare,fgrnef,fgrnaf,fgnlare,fgnhova,fgngm,fgnfvx,fgnea,fgnezre,fgnetry,fgnamvbar,fgnaxbivpu,fgnzbhe,fgnvo,fgnqryzna,fgnqry,fgnpuhen,fdhnqevgb,fcevatfgrnq,fcentt,fcvtryzlre,fcvryre,fcnhe,fbibpbby,fbhaqnen,fbhyvn,fbhssenag,fbepr,fbaxva,fbquv,fboyr,favssra,fzbhfr,fzvggyr,fzvgurr,fzrqvpx,fybjvafxv,fybinprx,fybzvafxv,fxbjebarx,fxbxna,fxnarf,fviregfba,fvalneq,fvaxn,fvaneq,fvzbava,fvzbavna,fvzzvbaf,fvypbgg,fvyoret,fvrsxra,fvqqba,fuhggyrfjbegu,fuhova,fuhorpx,fuveb,fuvenxv,fuvccre,fuvan,fuvyg,fuvxyrf,fuvqryre,furagba,furyirl,furyyvgb,furyubefr,funjpebsg,funggb,funaubygmre,funzbafxl,funqqra,frlzre,frlsnegu,frgybpx,freengbf,free,frchyhrqn,franl,frzzry,frznaf,fryivt,fryxvex,fryx,fryvtfba,fryqva,frvcyr,frvrefra,frvqyvat,frvqrafgvpxre,frpxre,frnefba,fpbeqb,fpbyyneq,fpbttna,fpborr,fpvnaqen,fpvnyqbar,fpujvzzre,fpujvrtre,fpujrre,fpujnam,fpuhgmraubsre,fpuhrgmr,fpuebqg,fpuevrire,fpuevore,fpuerzc,fpuerpbatbfg,fpuenrqre,fpubaoret,fpubygm,fpubyyr,fpubrggyr,fpubrarznaa,fpubrar,fpuavgxre,fpuzhuy,fpuzvgu,fpuybggreorpx,fpuyrccraonpu,fpuyrr,fpuvpxry,fpuvov,fpurva,fpurvqr,fpurvor,fpurvo,fpunhzoret,fpuneqrva,fpunnyzn,fpnagyva,fpnagyrohel,fnlyr,fnhfrqb,fnhere,fnffbar,fneenpvab,fnevp,fnam,fnagnecvn,fnagnab,fnagnavryyb,fnatun,fnaqivx,fnaqbeny,fnaqbony,fnaqrepbpx,fnanagbavb,fnyivrwb,fnyforeel,fnybvf,fnynmre,fntba,fntyvorar,fntry,fntny,fnrgrea,fnrsbat,fnqvd,fnobev,fnonyybf,eltvry,ehfuybj,ehapb,ehyyv,ehyyre,ehsspbea,ehrff,ehrohfu,ehqybat,ehqva,ehqtref,ehqrfvyy,ehqrezna,ehpxv,ehpvafxv,ehoare,ehovafba,ehovnab,ebmabjfxv,ebmnafxv,ebjfba,ebjre,ebhafnivyyr,ebhqnohfu,ebghaqb,ebguryy,ebgpusbeq,ebfvyrf,ebfunx,ebfrggv,ebfraxenam,ebere,ebyylfba,ebxbfm,ebwrx,ebvgzna,ebuef,ebtry,ebrjr,ebqevtrf,ebqbpxre,ebqtrefba,ebqna,ebqnx,ebpdhr,ebpuubym,ebovpurnh,eboovafba,ebnql,evgpubggr,evccyvatre,evccrgbr,evatfgnss,evatraoret,evaneq,evtyre,evtugzver,evrfra,evrx,evqtrf,evpuare,evpuoret,evonpx,evny,eulare,eurrf,erffr,eraab,eraqyrzna,ervfm,ervfranhre,ervafpuzvqg,ervaubyg,ervaneq,ervsfalqre,erusryq,erun,ertrfgre,erssvgg,erqyre,erqvfxr,erpxare,erpxneg,erobyybfb,erobyyne,ernfbabire,ernfare,ernfre,ernab,erntu,eniny,enggrezna,engvtna,engre,enfc,enarfrf,enaqbys,enzvy,enzqnf,enzoret,enwnavrzv,enttvb,entry,entnva,enqr,enqnxre,enpvbccv,enovabivpu,dhvpxyr,dhregrezbhf,dhrny,dhneghppv,dhnaqre,dhnva,clarf,chgmry,chey,chyvmmv,chtyvnerf,cehfnx,cehrgre,cebgnab,cebccf,cevznpx,cevrhe,cerfgn,cervfgre,cenjy,cengyrl,cbmmb,cbjyrff,cbirl,cbggbes,cbgr,cbfgyrl,cbemvb,cbegarl,cbamv,cbagbevreb,cbagb,cbag,cbaprqryrba,cbyvzrav,cbyunzhf,cbyna,cbrgxre,cbryyavgm,cbqthefxv,cybggf,cyvrtb,cynhture,cynagraoret,cynve,cyntznaa,cvmmvgbyn,cvggvatre,cvgpnintr,cvfpuxr,cvbagrx,cvagne,cvaabj,cvaarb,cvayrl,cvatry,cvaryyb,cvzragn,cvyyneq,cvxre,cvrgenf,cvrer,cuvyycf,csyrtre,csnuy,crmmhgv,crgehppryyv,crgeryyb,crgrrg,crfpngber,crehmmv,crehffr,crebggn,creban,crevav,creryzna,crepvshy,crccva,craavk,craavab,cranybfn,crzoyr,crym,crygmre,crycuerl,crybgr,cryyhz,cryyrppuvn,cryvxna,crvgm,crojbegu,crnel,cnjyvpxv,cniryvpu,cnfgre,cnfdhneryyn,cnfxrl,cnfrhe,cnfpury,cnefybj,cneebj,cneybj,cneyrgg,cneyre,cnetb,cnepb,cncebpxv,cnarcvagb,cnarovnapb,cnaql,cnaqrl,cnzcuvyr,cnzvaghna,cnzre,cnyhfb,cnyrb,cnxre,cntrgg,cnpmxbjfxv,bmohea,bivatgba,birezrlre,bhryyrg,bfgreyhaq,bfyva,bfrthren,bfnxv,beebpx,bezforr,beyvxbjfxv,betnavfgn,bertna,beronhtu,benohran,bcrafunj,bagvirebm,baqb,bzbuhaqeb,byybz,byyvivreer,byvirapvn,byrl,bynmnony,bxvab,bssraoretre,brfgznaa,bpxre,bone,bnxrfba,ahmhz,aheer,abjvafxv,abibfry,abedhvfg,abeqyvr,abbenav,abaarznpure,abyqre,awbxh,avmavx,avjn,avff,avaarzna,avzgm,avrzpmlx,avrqre,avpbyb,avpuybf,avoynpx,arjgbja,arjvyy,arjpbz,arirefba,arhuneg,arhrafpujnaqr,arfgyre,araab,arwzna,arvssre,arvqyvatre,artyvn,anmnevna,anibe,anel,anenlna,anatyr,anxnzn,anvfu,anvx,anqbyfxv,zhfpngb,zhecuerl,zheqvpx,zhepuvr,zhengnyyn,zhaavf,zhaqjvyyre,zhaprl,zhapr,zhyyraonpu,zhyurnea,zhypnurl,zhunzzrq,zhpubj,zbhagsbeq,zbhqel,zbfxb,zbeinl,zbeevpny,zbee,zbebf,zbeznaa,zbetra,zberqbpx,zbeqra,zbeqnefxv,zbenirx,zbenaqv,zbbenqvna,zbagrwb,zbagrthg,zbagna,zbafnagb,zbasbeq,zbaphf,zbyvanf,zbyrx,zbuq,zbrueyr,zbruevat,zbqmryrfxv,zbqnssrev,zbnyn,zbnxr,zvlnuven,zvgnav,zvfpury,zvatrf,zvaryyn,zvzrf,zvyyrf,zvyoergg,zvynarf,zvxbynwpmlx,zvxnzv,zrhppv,zrgyre,zrguira,zrgtr,zrffzber,zrffrefpuzvqg,zrfebovna,zrfreirl,zrefrny,zrabe,zraba,zrarne,zrybgg,zryyrl,zrysv,zrvauneg,zrtvirea,zrtrngu,zrrfgre,zrryre,zrrtna,zrqbss,zrqyre,zrpxyrl,zrngu,zrneaf,zpdhvtt,zpcnqqra,zpyher,zpxryyvcf,zpxrvgura,zptyngurel,zptvaarf,zptuna,zpqbary,zpphyybz,zppenxra,zppenpxva,zppbangul,zppybr,zppynhtuel,zppynsyva,zppneera,zppnvt,zpnhynl,zpnssrr,znmmhpn,znlghool,znlare,znlzv,znggvryyb,zngguvf,znggurrf,znggunv,znguvnfba,znfgebtvbinaa,znfgryyre,znfunpx,znehppv,znegbenan,znegvavm,znegre,znegryyneb,znefgryyre,zneevf,zneenen,znebav,znebyqn,znebppb,znevga,znerfu,znernql,znepuvbar,zneohg,znenana,znentab,znccf,znaeevdhrm,znaavf,znaav,znatvan,znatnaryyv,znapren,znzba,znybpu,znyybmmv,znyyre,znwpuemnx,znwnab,znvaryyn,znunaan,znregraf,znqba,znphzore,znpvbpr,znpuhtn,znpuyva,znpunyn,znoen,ylooreg,yhireg,yhggf,yhggehyy,yhcrm,yhxruneg,yhqrjvt,yhpufvatre,ybirppuvb,ybhvffnvag,ybhtuarl,ybfgebu,ybegba,ybcrzna,ybcneb,ybaqb,ybzoren,ybxvrgrx,ybvxb,ybueram,ybuna,ybsgvrf,ybpxyne,ybpxnol,ybovnapb,yynab,yvirfrl,yvgfgre,yvfxr,yvafxl,yvaar,yvaqorpx,yvphqvar,yrlhn,yrivr,yrbaryyv,yramb,yramr,yragf,yrvgnb,yrvqrpxre,yrvobyq,yruar,yrtna,yrsnir,yrrul,yrqhr,yrpbhag,yrprn,yrnqyrl,ynmmnen,ynmpnab,ynmnyqr,yniv,yninapun,ynina,yngh,ynggl,yngb,yneenantn,yncvqhf,yncragn,ynatevqtr,ynatriryq,ynatry,ynaqbjfxv,ynaqtera,ynaqsevrq,ynznggvan,ynyyvre,ynvezber,ynunvr,yntnmb,yntna,ynsbr,ynsyhre,ynsynzr,ynsriref,ynqn,ynpbff,ynpuarl,ynoerpx,ynoerpur,ynonl,xjnfavx,xhmlx,xhgmare,xhfuave,xhfrx,xhegmzna,xhevna,xhyunarx,xhxyvafxv,xhral,xhpmlafxv,xhovgm,xehfpuxr,xebhf,xebzcry,xevgm,xevzcyr,xevrfr,xeramre,xervf,xengmxr,xenar,xentr,xenrory,xbmho,xbmzn,xbhev,xbhqryxn,xbgpure,xbgnf,xbfgvp,xbfu,xbfne,xbcxb,xbcxn,xbbl,xbavtforet,xbanefxv,xbyzre,xbuyzrlre,xboor,xabbc,xabrqyre,xabpxr,xavccyr,xavccraoret,xavpxeruz,xarvfry,xyhff,xybffare,xyvcsry,xynjvgre,xynfra,xvggyrf,xvffnpx,xvegynaq,xvefpuraznaa,xvepxbs,xvcuneg,xvafgyre,xvavba,xvygba,xvyyzna,xvruy,xvrs,xrgg,xrfyvat,xrfxr,xrefgrva,xrccyr,xrarvcc,xrzcfba,xrzcry,xruz,xruyre,xrrena,xrrql,xroreg,xrnfg,xrneorl,xnjnthpuv,xnhch,xnhoyr,xngmraonpu,xngpure,xnegrf,xnecbjvpm,xnecs,xneona,xnamyre,xnanerx,xnzcre,xnzna,xnyfbj,xnynshg,xnrfre,xnrepure,xnrb,xnrqvat,wherjvpm,whyfba,wbmjvpx,wbyyvr,wbuavtna,wbuyy,wbpuhz,wrjxrf,wrfgrf,wrfxn,wrero,wnherm,wnerpxv,wnafzn,wnabfvx,wnaqevf,wnzva,wnue,wnpbg,viraf,vgfba,vfraubjre,vbivab,vbarfph,vatehz,vatryf,vzevr,vzynl,vuyrasryq,vuqr,vtbh,vonpu,uhlrgg,uhccr,uhygoret,uhyyvura,uhtv,uhrfb,uhrfzna,ufvnb,uebarx,ubiqr,ubhfrjevtug,ubhynuna,ubhtunz,ubhpura,ubfgyre,ubfgre,ubfnat,ubeavx,ubearf,ubevb,ubalhzcgrjn,ubarlzna,ubare,ubzzreqvat,ubyfjbegu,ubyybonhtu,ubyyvafurnq,ubyynaqf,ubyyna,ubyrprx,ubyqbes,ubxrf,ubtfgba,ubrfyl,ubqxvafba,ubqtzna,ubqtraf,ubpufgrqyre,ubpuunhfre,uboovr,ubner,uang,uvfxrl,uvefpul,uvabfgebmn,uvax,uvat,uvyyzre,uvyyvna,uvyyrezna,uvrgnyn,uvreeb,uvpxyvat,uvpxvatobggbz,urlr,urhohfpu,urffryfpujneq,ureevbg,ureaba,urezvqn,ureznaf,uragfpury,uraavatfba,uraarxr,urax,uravatre,urygfyrl,uryzyr,uryzvavnx,uryzrf,uryyare,uryyzhgu,uryxr,urvgzrlre,urveq,urvayr,urvavpxr,urvanaqrm,urvzfbgu,urvory,urtlv,urttna,ursry,urrenynyy,urqevatgba,urnpbk,unmyrtebir,unmryrgg,unlzber,unirauvyy,unhgnyn,unfpnyy,uneivr,unegevpx,unegyvat,uneere,uneyrf,unetraenqre,unafurj,unayl,unaxyn,unavfpu,unapbk,unzznaa,unzorygba,unyfrgu,unyyvfrl,unyyrpx,unyynf,unvfyrl,unvee,unvarl,unvare,unvyfgbpx,unregry,thmrx,thlrgg,thfgre,thffyre,thejvgm,thexn,thafbyhf,thvanar,thvqra,thtyvbggv,thriva,thrineen,threneq,thqnvgvf,thnqrybhcr,tfpujvaq,tehcr,tehzonpu,tehrarf,tehraoret,tebz,tebqfxv,tebqra,tevmmry,tevggra,tevfjnyq,tevfunore,tevantr,tevzjbbq,tevzf,tevssba,tevssvrf,tevoora,terffyrl,tera,terrafgerrg,ternyvfu,tenirgg,tenagm,tenasvryq,tenanqr,tbjryy,tbffbz,tbefxl,tbevat,tbbqabj,tbbqsevraq,tbbqrzbgr,tbybo,tbyyavpx,tbyynqnl,tbyqjla,tbyqfobeb,tbyqf,tbyqevpx,tbuevat,tbua,tbrggfpu,tbregmra,tbrym,tbqvaub,tbnaf,tyhznp,tyrvfare,tyrra,tynffare,tynamre,tynqhr,twrynw,tviuna,tvegl,tvebar,tvetragv,tvbetvnaav,tvycngevp,tvyyvuna,tvyyrg,tvyone,tvrehg,tvreuneg,tvoreg,tvnabggv,tvnaarggb,tvnzonapb,tunevat,trhegf,trggvf,trggry,trfg,treznav,treqvf,treovgm,trccreg,traavatf,trzzre,tryiva,tryyreg,truyre,trqqvatf,trneba,trnpu,tnmnvyyr,tnlurneg,tnhyq,tnhxry,tnhqvb,tnguvat,tnfdhr,tnefgxn,tnefrr,tneevatre,tnebsnab,tneb,tneafrl,tnevtra,tnepvnf,tneor,tnabhat,tnasvryq,tnanjnl,tnzreb,tnyhfxn,tnyfgre,tnyynpure,tnyvafxv,tnyvzv,tnyvx,tnyrnmmv,tnyqb,tnyqnzrf,tnynf,tnynavf,tntyvb,tnrqqreg,tnqncrr,shffare,shehxnjn,shuf,shregr,shrefgraoret,selerne,sebrfr,sevatre,sevrfba,sevrfraunua,sevryre,sevrqr,serlzhgu,serlzna,serhqraoret,serzna,serqevpxfra,serpu,senfpu,senaghz,senaxva,senapn,sentb,sentabyv,sbhdhrg,sbffra,sbfxrgg,sbeare,sbezbfn,sbezvfnab,sbbxf,sbaf,sbyvab,sybgg,syrfpu,syrare,syrzzbaf,synantva,synzvab,synznaq,svgmrenyq,svaqyvat,svyfvatre,svyylnj,svyyvatre,svrpugre,sreer,sreqba,sryqxnzc,snmmvb,snivn,snhypbare,snhtuana,snhory,snffyre,snfb,sneerl,sneener,sneajbegu,sneynaq,snveebj,snvyyr,snuregl,sntanag,snohyn,snooev,rlyvpvb,rfgrir,rfgnyn,rfcrevphrgn,rfpnwrqn,rdhvn,raeevdhrm,rabzbgb,razba,ratrznaa,rzzrefba,rzzry,rzyre,ryfgnq,ryyjrva,ryyrefba,ryvbgg,ryvnffra,rypureg,rvfraorvf,rvfry,rvxraoreel,rvpuubym,ruzre,rqtrefba,rpuravdhr,roreyrl,rnaf,qmvhx,qlxubhfr,qjbenx,qhgg,qhcnf,qhagm,qhafurr,qhabinag,qhaanjnl,qhzzrezhgu,qhrefba,qhpbgrl,qhpuba,qhpurfarnh,qhppv,qhobeq,qhoreel,qhonpu,qehzzbaqf,qebrtr,qevfu,qerkry,qerfpu,qerfonpu,qeraare,qerpufyre,qbjra,qbggre,qbfervf,qbfre,qbejneq,qbeva,qbes,qbzrvre,qbyre,qbyrzna,qbyobj,qbyova,qboeham,qboenafxl,qboorefgrva,qybhul,qvbfqnqb,qvatznaa,qvzzre,qvznevab,qvznevn,qvyyraohet,qvynhen,qvrxra,qvpxunhf,qvooyrf,qvoora,qvnznagr,qrjvyqr,qrjnneq,qrivpu,qriraarl,qrinhk,qrggvatre,qrfeboregf,qrefurz,qrefpu,qrevgn,qrevpxfba,qrcvan,qrbevb,qrbyvirven,qramyre,qragerzbag,qraboyr,qrzfune,qrzbaq,qrzvag,qrzvpuryr,qrzry,qrymre,qryiny,qrybeor,qryyv,qryoevqtr,qrynabl,qrynapl,qrynubln,qrxyr,qrvgevpx,qrvf,qruareg,qrtengr,qrsenapr,qrrgm,qrrt,qrpbfgre,qrpran,qrnezrag,qnhturgl,qngg,qneebhtu,qnamre,qnavrybivpu,qnaqhenaq,qnapnhfr,qnyb,qnytyrvfu,qnvfyrl,qnqynav,qnqqban,qnqqvb,qnpcnab,plcevna,phgvyyb,phem,pheiva,phan,phzore,phyybz,phqjbegu,phonf,pelfyre,pelqrezna,pehzzrl,pehzoyl,pebbxfunaxf,pebrf,pevfpvbar,perfcv,perfpv,pernfre,pengba,pbjva,pbjqerl,pbhgpure,pbggrezna,pbffryzna,pbftevss,pbegare,pbefvav,pbecbena,pbeavry,pbeavpx,pbeqgf,pbcravat,pbaavpx,pbayvfx,pbaryyv,pbzvgb,pbygra,pbyyrggn,pbyqvine,pbypynfher,pbynaghbab,pbynvmmv,pbttrfunyy,pbpxzna,pbpxsvryq,pbobhea,pbob,pboneehovnf,pylngg,pybarl,pybapu,pyvzrf,pyrpxare,pyrneb,pynlobhear,pyniva,pynevqtr,pynssrl,pvhsb,pvfareb,pvcbyybar,pvrfyvx,pvrwxn,pvpubpxv,pvppurggv,pvnasybar,puehfpvry,puevfgrfra,puzvrybjvrp,puvevab,puvyyvf,puubha,purinf,puruno,punivnab,puninevn,punfgra,puneobaarg,punayrl,punzcbhk,punzcn,punyvsbhk,prevb,prqbgny,prpu,pnirgg,pniraqvfu,pngbver,pnfgebabib,pnfgryyhppv,pnfgryybj,pnfgnare,pnffb,pnffryf,pnffngg,pnffne,pnfuba,pnegevtug,pneebf,pneevfnyrm,pneevt,pneerwb,pneavpryyv,pneargg,pneyvfr,pneuneg,pneqbin,pneqryy,pnepuv,pnenz,pndhvnf,pnccre,pncvmmv,pncnab,pnaarql,pnzcrfr,pnyiryyb,pnyyba,pnyyvaf,pnyyvrf,pnyyvphgg,pnyvk,pnyva,pnyvss,pnyqreneb,pnyqrven,pnqevry,pnqzhf,pnqzna,pnppnzvfr,ohggrezber,ohgnl,ohfgnzragr,ohfn,ohezrfgre,ohexneq,oheunaf,ohetreg,oher,oheqva,ohyyzna,ohyva,ohryan,ohruare,ohqva,ohpb,ohpxunaba,oelnef,oehgtre,oehf,oehzvgg,oehz,oehre,oehpngb,oebluvyy,oebl,oebjaevtt,oebffneg,oebbxvatf,oebqra,oebpxyruhefg,oebpxreg,oevfgb,oevfxrl,oevatyr,oevrf,oerffzna,oenalna,oenaqf,oenzfba,oenzzryy,oenyyvre,obmvpu,oblfry,objgubecr,objeba,objva,obhgvyvre,obhybf,obhyyvba,obhtugre,obggvtyvrev,obeehfb,obeerttvar,obeaf,obexbfxv,obeturfr,oberafgrva,obena,obbgba,obaivyynva,obavav,obaryyb,obyyf,obvgabgg,obvxr,obuarg,obuaraxnzc,obuzre,obrfba,obrarxr,obqrl,obppuvab,oboebjfxv,obovp,oyhrfgrva,oybbzvatqnyr,oybtt,oyrjvgg,oyrazna,oyrpx,oynfmnx,oynaxraorpxyr,oynaqb,oynapusvryq,oynapngb,oynynpx,oynxrafuvc,oynpxrgg,ovfcvat,ovexare,ovepxurnq,ovatyr,ovarnh,ovyyvry,ovtarff,ovrf,ovrere,ounyyn,orlreyrva,orgrfu,orfyre,oremvaf,oregnyna,oreagfra,oretb,oretnamn,oraavf,oraarl,oraxreg,orawnzra,oravapnfn,oratbpuvn,oraqyr,oraqnan,orapubss,oraoebbx,oryfvgb,oryfunj,oryvafxl,orynx,orvtreg,orvqyrzna,orura,orshf,orry,orqbavr,orpxfgenaq,orpxreyr,orngb,onhthrff,onhtuna,onhreyr,onggvf,ongvf,onfgbar,onffrggv,onfube,onel,onegharx,onegbyrggv,oneeb,oneab,oneavpyr,oneyntr,onexhf,onexqhyy,onepryybf,oneonevab,onenafxv,onenavpx,onaxreg,onapureb,onzoevpx,onzoret,onzorarx,onyguebc,onyznprqn,onyyzna,onyvfgevrev,onypbzo,onyobav,onyov,ontare,ontrag,onqnfpv,onpbg,onpur,onovbar,onovp,onoref,onoof,nivgnovyr,niref,niran,ninapr,nhfyrl,nhxre,nhqnf,nhohg,ngurnea,ngpurfba,nfgbevab,nfcyhaq,nfynavna,nfxnev,nfuzrnq,nfol,nfnv,negreohel,negnyrwb,nedhrgn,nedhreb,nebfgrthv,nearyy,nezryv,nevfgn,neraqre,nepn,neonyyb,ncern,nccyra,nccyrtnegu,ncsry,nagbaryyb,nagbyva,nagxbjvnx,natvf,natvbar,natrezna,natryvyyv,naqhwb,naqevpx,naqreoret,nzvtba,nznysvgnab,nyivfb,nyirm,nygvpr,nygrf,nyznerm,nyygba,nyyfgba,nyytrlre,nyyrterggv,nyvntn,nytbbq,nyoret,nyonerm,nyonynqrwb,nxer,nvgxva,nuyrf,nuyoret,ntaryyb,nqvabysv,nqnzvf,noenzrx,nobyg,novgbat,mhenjfxv,mhsnyy,mhoxr,mvmmb,mvccrere,mvaare,mvaqn,mvyyre,mvyy,mrinyybf,mrfngv,mramra,mragare,mryyznaa,mryvafxl,mobeny,mnepbar,mncnynp,mnyqnan,mnxrf,mnxre,mnuavfre,mnpurey,mnonjn,mnonaru,lbherr,lbhavf,lbegl,lbapr,lreb,lrexrl,lrpx,lrnetna,lnhpu,lnfuvafxv,lnzob,jevaa,jevtugfzna,jbegba,jbegyrl,jbeynaq,jbbyjbegu,jbbyserl,jbbqurnq,jbygwre,jbysraqra,jbyqra,jbypurfxl,jbwvpx,jbrffare,jvggref,jvgpuneq,jvffyre,jvfavrfxv,jvfvafxv,jvaavxr,jvaxbjfxv,jvaxryf,jvatragre,jvarzna,jvartneqare,jvyevqtr,jvyzbag,jvyyvnaf,jvyyvnzfra,jvyuvqr,jvyuryzfra,jvyuryzv,jvyqevpx,jvyqra,jvynaq,jvxre,jvttyrfjbegu,jvrohfpu,jvqqbjfba,jvnag,jvnprx,juvggrg,juvgrybpx,juvgrvf,juvyrl,jrfgebcr,jrfgcsnuy,jrfgva,jrffzna,jrffvatre,jrfrznaa,jrfol,jregurvzre,jrccyre,jraxr,jratyre,jraqre,jryc,jrvgmare,jrvfforet,jrvfraobea,jrvcreg,jrvzna,jrvqznaa,jruefvt,jrueraoret,jrrzrf,jrrzna,jnlare,jnfgba,jnfvprx,jnfpbz,jnfpb,jnezngu,jneoevggba,jnygare,jnyyrafgrva,jnyqbpu,jnyqny,jnyn,jnvqr,jnqyvatre,jnqunzf,ihyyb,ibbeurvf,ibaonetra,ibyare,ibyyfgrqg,ibyyzna,ibyq,ibtr,ivggbevb,ivbyrgg,ivarl,ivapvthreen,ivany,ivyyngn,ivyyneeiry,ivynabin,ivtarnhyg,ivryzn,irlan,irffryyn,irefgrrtu,ireqreore,iravre,iraqvggv,irybggn,irwnenab,irppuvn,irppuv,infgvar,infthrm,ineryyn,inael,inaanu,inaulavat,inauhff,inaubss,inaubrfra,inaqvibeg,inaqriraqre,inaqreyvc,inaqrexbbv,inaqroevax,inapbgg,inyyvra,inyynf,inyynaqvatunz,inyvdhrggr,inynfrx,inurl,intbgg,hlrzngfh,heonav,hena,hzonpu,glba,glzn,gjlsbeq,gjbzoyrl,gjbuvt,ghggreebj,ghearf,ghexvatgba,ghepuv,ghaxf,ghzrl,ghzontn,ghvafgen,gfhxnzbgb,gfpurggre,gehffry,gehorl,gebivyyvba,gebgu,gebfgry,geba,gevaxn,gevar,gevnefv,gergb,genhgm,gentrffre,gbbzna,gbbyfba,gbabmmv,gbzxvrjvpm,gbznffb,gbyva,gbyserr,gbryyr,gvfbe,gvel,gvafgzna,gvzzreznaa,gvpxare,gvohepvb,guhaoret,guebagba,gubzcfbz,gurvy,gunlar,gunttneq,grfpuare,grafyrl,grarel,gryyzna,gryynqb,gryrc,grvtra,grngbe,grnyy,gnlnt,gnivf,gnggrefnyy,gnffbav,gnefuvf,gnccva,gnccr,gnafyrl,gnybar,gnysbeq,gnvagre,gnun,gnthpuv,gnpural,gnonx,fmlzpmlx,fmjnwn,fmbcvafxv,fliregfra,fjbttre,fjvgpure,fjvfg,fjvrepmrx,fjvrpu,fjvpxneq,fjvngrx,fjrmrl,fjrcfba,fjrrml,fjnevatra,fjnantna,fjnvyrf,fjnqr,firhz,firaavatfra,firp,fhggvr,fhcel,fhatn,fhzzreuvyy,fhzznef,fhyvg,fglf,fghgrfzna,fghcnx,fghzcb,fghyyre,fghrxrewhretr,fghpxrgg,fghpxry,fghpuyvx,fghneq,fgehggba,fgebc,fgebzfxv,fgebrory,fgeruybj,fgenhfr,fgenab,fgenarl,fgblyr,fgbezb,fgbclen,fgbbgf,fgbavf,fgbygraohet,fgbvore,fgbrffry,fgvgmre,fgvra,fgvpugre,fgrmmv,fgrjreg,fgrcyre,fgrvaxenhf,fgrtrznaa,fgrrcyrf,fgrraohet,fgrryrl,fgnfmnx,fgnfxb,fgnexfba,fgnajvpx,fgnaxr,fgnavsre,fgnatry,fgnv,fdhvref,fcentyva,fcentvaf,fcenoreel,fcbryfgen,fcvfnx,fcvexb,fcvyyr,fcvqry,fcrlre,fcrebav,fcrafg,fcnegm,fcneyva,fcnenpvb,fcnzna,fcnvaubjre,fbhref,fbhpurg,fbforr,fbea,fbevpr,fbeob,fbdhv,fbyba,fbruy,fbqretera,fbovr,fzhpxre,fzfvgu,fzbyrl,fzbyrafxl,fzbyrafxv,fzbyqre,fzrguref,fyhfne,fybjrl,fybafxv,fyrzzbaf,fyngxva,fyngrf,fynarl,fyntgre,fynphz,fxhgavx,fxemlcrx,fxvoor,fwbfgebz,fwbdhvfg,fvierg,fvgxb,fvfpn,fvaargg,fvarngu,fvzbav,fvzne,fvznb,fvyirfgeb,fvyyrzna,fvyun,fvysvrf,fvyoreubea,fvynppv,fvtevfg,fvrpmxbjfxv,fvrpmxn,fuher,fuhym,fuhtehr,fuebqr,fubiyva,fubegryy,fubaxn,fuvlbh,fuvenvfuv,fuvcyrgg,furh,furezre,furevpx,furrxf,funagm,funxve,funurrq,funqbna,funqvq,funpxsbeq,funobg,frhat,frhsreg,frggl,frggref,freivf,freerf,freeryy,frecnf,frafravt,frasg,frzrarp,frznf,frznna,fryiren,fryyzrlre,frtne,frrire,frrarl,frryvtre,frrunsre,frronpu,froora,frnjneq,frnel,frney,frneol,fpbeqvab,fpbyvrev,fpbyneb,fpujvroreg,fpujnegmr,fpujnare,fpuhhe,fpuhconpu,fpuhznpxre,fpuhz,fpuhqry,fpuhoor,fpuebnqre,fpuenzry,fpubyyzrlre,fpubrauree,fpubrssyre,fpubrqre,fpuahee,fpuabee,fpuarrzna,fpuanxr,fpuanvoyr,fpuznhf,fpuybggre,fpuvaxr,fpuvzzvat,fpuvzrx,fpuvxben,fpurhyra,fpurecvat,fpurezre,fpureo,fpurzore,fpuryyunfr,fpurqyre,fpunapx,fpunssunhfre,fpunssreg,fpunqyre,fpnebyn,fpnesb,fpness,fpnagyvat,fpnss,fnljneq,fnlnf,fnkohel,fniry,fninfgnab,fnhyg,fnger,fnexne,fnagryyna,fnaqzrvre,fnzcvpn,fnyirfra,fnygvf,fnyybhz,fnyyvat,fnypr,fnyngvab,fnyngn,fnynzl,fnqbjfxl,fnqyvre,fnoongvav,fnongryyv,fnony,fnonqbf,elqmrjfxv,eloxn,elopmlx,ehfpbav,ehcevtug,ehsvab,ehssnyb,ehqvtre,ehqvt,ehqn,eholbe,eblrn,ebkoreel,ebhmre,ebhzryvbgvf,ebffznaa,ebfxb,ebfrar,ebfraoyhgu,ebfrynaq,ebfnfpb,ebfnab,ebfny,ebenonhtu,ebzvr,ebzneb,ebyfgnq,ebyybj,ebuevpu,ebtunve,ebtnyn,ebrgf,ebra,ebrzzvpu,ebrysf,ebrxre,ebrqy,ebrqry,ebqrurnire,ebqqraoreel,ebpxfgnq,ebppuv,eboveqf,eboora,ebonfpvbggv,ebonvan,evmmbggb,evmmvb,evgpure,evffzna,evfrqra,evcn,evba,evagunenzl,evaruvzre,evapx,evyvat,evrgfpuyva,evrfraoret,evrzrafpuarvq,evrynaq,evpxraonhtu,evpxraonpu,eubql,eriryyf,erhggre,erfcerff,erfavx,erzzry,ervgzrlre,ervgna,ervfgre,ervafgrva,ervab,ervaxrzrlre,ervsfpuarvqre,ervrefba,ervpuyr,eruzrvre,eruy,errqf,erqr,erpne,erorveb,enlobhea,enjy,enhgvb,enhthfg,enhqraohfu,enhqnyrf,enggna,enchnab,encbcbeg,enagnara,enafobggbz,enare,enzxvffbba,enzobhfrx,envb,envasbeq,enqnxbivpu,enoraubefg,dhviref,dhvfcr,dhvabrf,dhvyvpv,dhnggebar,dhngrf,dhnapr,dhnyr,chefjryy,checben,chyren,chypure,chpxunore,celre,cehlar,cehvg,cehqrapvb,cebjf,cebgmzna,cebgureb,cebfcrev,cebfcny,cevibgg,cevgpurg,cevrz,cerfg,ceryy,cerre,cerr,cerqql,cerqn,ceningn,cenquna,cbgbpxv,cbfgvre,cbfgrzn,cbfnqnf,cberzon,cbcvpunx,cbagv,cbzeraxr,cbznevpb,cbyybx,cbyxvatubea,cbyvab,cbpx,cyngre,cyntzna,cvcure,cvambar,cvaxyrgba,cvyyrggr,cvyyref,cvyncvy,cvtabar,cvtangryyv,cvrefby,cvrcub,cvpgba,cvpxery,cvpuneq,cvppuv,cvngrx,cuneb,cunagunabhiba,crggvatvyy,crggvangb,crgebivgf,crgugry,crgrefurvz,crefuvat,creerm,creen,cretenz,crergm,crertb,crepurf,craaryyb,craaryyn,craqel,cranm,cryyvfu,crpnagl,crner,cnlfbhe,cniybivpu,cnivpx,cniryxb,cnhfgvna,cngmre,cngrgr,cngnqvn,cnfmxvrjvpm,cnfr,cnfphyyv,cnfpnfpvb,cneebggr,cnenwba,cncneb,cncnaqern,cnbar,cnagnyrba,cnaavat,cnavppvn,cnaneryyb,cnyzrgre,cnyyna,cnyneql,cnuzrvre,cnqtrg,cnqry,bkobeebj,birfba,bhgjngre,bggnjnl,bgnxr,bfgrezrlre,bfzre,bfvafxv,bfvrpxv,bebnx,beaqbss,bezf,bexva,beqvjnl,bcngm,bafherm,bavfuv,byvtre,bxhob,bxblr,buyznaa,bssbeq,bssare,bssreqnuy,brfgreyr,brfpu,bqbaary,bqru,bqroenyfxv,bovr,borezrvre,boreunhfra,borafunva,borapunva,ahgr,ahygl,abeevatgba,abeyva,aber,abeqyvat,abequbss,abeqre,abeqna,abenyf,abtnyrf,abobn,avgfpur,avreznaa,avraunhf,avrqevatunhf,avrqonyfxv,avpbyryyn,avpbynvf,avpxyroreel,avprjnaqre,arjsvryq,arhebue,arhzrvre,arggreivyyr,arefrfvna,area,arevb,areol,areobaar,arvgm,arvqrpxre,arnfba,arnq,aniengvy,anirf,anfgnfr,anfve,anfpn,anevar,anevzngfh,aneq,anenlnana,anccb,anzz,anyobar,anxbarpual,anoneeb,zlbgg,zhguyre,zhfpngryyb,zheevry,zheva,zhbvb,zhaqry,zhansb,zhxurewrr,zhssbyrggb,zhrffvt,zhpxrl,zhpure,zehx,zblq,zbjryy,zbjngg,zbhgenl,zbgmre,zbfgre,zbetraebgu,zbetn,zbengnln,zbagebff,zbagrmhzn,zbagreebmn,zbagrznenab,zbagryyb,zbagoevnaq,zbagniba,zbagndhr,zbavtbyq,zbasbegr,zbytneq,zbyrfxv,zbufva,zburnq,zbsvryq,zbreor,zbrqre,zbpuvmhxv,zvlnmnxv,zvlnfnxv,zvgny,zvfxva,zvfpuyre,zvaavrne,zvareb,zvybfrivp,zvyqraunyy,zvryfpu,zvqqra,zvpubafxv,zvpuavnx,zvpuvgfpu,zvpurybggv,zvpuryv,zvpurysryqre,zvpunaq,zrgryhf,zrexg,zrenaqb,zrenaqn,zragm,zraryrl,zranxre,zryvab,zrunssl,zrruy,zrrpu,zrpmljbe,zpjrrarl,zphzore,zperqzbaq,zparre,zpanl,zpzvxyr,zpznxra,zpynhevar,zpynhtyva,zpynarl,zpxhar,zpxvaavrf,zpxnthr,zpunggvr,zptencgu,zptybgura,zptngu,zpsbyyrl,zpqnaaryy,zpphegl,zppbeg,zppylzbaqf,zppyvzba,zppynzl,zppnhtuna,zppnegna,zppna,zppnqqra,zpoheavr,zpoheargg,zpoelne,zpnaanyyl,zpnyril,zpnyrrfr,znlgberan,znlenag,znlynaq,znlrnhk,znhgre,znggurjfba,znguvrj,zngrea,zngren,znfybj,znfuber,znfnxv,znehpb,znegberyy,znegrarm,zneehwb,zneevfba,znebha,znexjnl,znexbf,znexbss,znexzna,zneryyb,zneoel,zneona,zncuvf,znahryr,znafry,znatnaryyb,znaqeryy,znaqbmn,znaneq,znantb,znygon,znyyvpx,znyynx,znyvar,znyvxbjfxv,znwher,znwpure,znvfr,znuy,znssvg,znssrb,znqhrab,znqyrz,znqnevntn,znpinar,znpxyre,znppbaaryy,znppuv,znppnebar,ylat,ylapuneq,yhaavat,yharnh,yhaqra,yhzoen,yhzoreg,yhrgu,yhqvatgba,yhpxnqb,yhppuvav,yhpngreb,yhnyyra,ybmrnh,ybjra,ybiren,ybirybpx,ybhpx,ybguvna,ybevb,ybevzre,ybetr,yberggb,ybaturael,ybanf,ybvfrnh,ybuezna,ybtry,ybpxvr,yyreran,yvivatgba,yvhmmv,yvfpbzo,yvccrngg,yvbh,yvauneqg,yvaqrybs,yvaqob,yvzrubhfr,yvzntr,yvyyb,yvyohea,yvttbaf,yvqfgre,yvqqvpx,yvpu,yvorengb,yrlfngu,yrjryyvat,yrfarl,yrfre,yrfpnab,yrbarggr,yragfpu,yravhf,yrzzb,yrzzvat,yrzpxr,yrttrggr,yrtrefxv,yrtneq,yrrire,yrrgr,yrqva,yrpbzgr,yrpbpd,yrnxrf,yrno,ynmnem,ynlbhf,ynjerl,ynjrel,ynhmr,ynhgm,ynhtuvatubhfr,ynghyvccr,yngghf,ynggnamvb,ynfpnab,ynezre,ynevf,ynepure,yncevfr,yncva,yncntr,ynab,ynatfrgu,ynatzna,ynatynaq,ynaqfgebz,ynaqforet,ynaqfnj,ynaqenz,ynzcuvre,ynzraqbyn,ynzoregl,ynxunav,ynwnen,yntebj,yntzna,ynqrjvt,ynqrezna,ynqqra,ynpehr,ynpynver,ynpuhg,ynpuare,xjvg,xinzzr,xinz,xhgfpure,xhfuv,xhetna,xhafpu,xhaqreg,xhywh,xhxrar,xhqb,xhova,xhorf,xhorefxv,xelfgbsvnx,xehccn,xehy,xehxbjfxv,xehrtry,xebarzrlre,xebpx,xevfgba,xergmre,xeraa,xenyvx,xenssg,xenovyy,xbmvfrx,xbirezna,xbingpu,xbinevx,xbgybjfxv,xbfznyn,xbfxl,xbfve,xbfn,xbecv,xbeaoyhgu,xbccra,xbbvfgen,xbuyurcc,xbsnuy,xbrarzna,xbrory,xbpmhe,xboeva,xbonfuvtnjn,xbon,xahgrfba,xabss,xaboyr,xavccre,xavrevz,xarvfyrl,xyhfzna,xybp,xyvgmvat,xyvaxb,xyvarsrygre,xyrzrgfba,xyrvacrgre,xynhfre,xynggr,xynera,xyner,xvffnz,xvexuneg,xvepuzrvre,xvamvatre,xvaqg,xvapl,xvaprl,xvzbgb,xvyyvatjbegu,xvyphyyra,xvyohel,xvrgmzna,xvrayr,xvrqebjfxv,xvqnar,xunzb,xunyvyv,xrggreyvat,xrgpurz,xrffravpu,xrffryy,xrcc,xraba,xraavat,xraanql,xraqmvbe,xrzccnvara,xryyreznaa,xrveaf,xrvyra,xrvssre,xrurj,xrryna,xrnjr,xrngbe,xrnyl,xrnql,xnguzna,xnfgyre,xnfgnarf,xnffno,xnecva,xnenh,xnengunanfvf,xncf,xncyha,xncnha,xnaaraoret,xnavcr,xnaqre,xnaqry,xnanf,xnana,xnzxr,xnygraonpu,xnyyraoretre,xnyynz,xnsgba,xnsre,xnoyre,xnnvuhr,whaqg,wbinabivpu,wbwbyn,wbuafgnq,wbqba,wbnpuva,wvaevtug,wrffvpx,wrebavzb,wraar,wryfzn,wrnaabggr,wrnatvyyrf,wnjbefxl,wnhoreg,wneel,wneerggr,wneernh,wnergg,wnabf,wnarpxn,wnapmnx,wnybzb,wntbqn,wntyn,wnpdhvre,wnore,vjngn,vinabss,vfbyn,vfrezna,vfnvf,vfnnpxf,vairefb,vasvatre,vofra,ulfre,ulyna,ulonetre,ujrr,uhgpurafba,uhgpupebsg,uhfne,uheyronhf,uhafyrl,uhzorefba,uhyfg,uhyba,uhugnyn,uhtvyy,uhttuvaf,uhssznfgre,uhpxron,uenobifxl,ubjqra,ubirefba,ubhgf,ubhfxrrcre,ubhfu,ubfgra,ubeenf,ubepuyre,ubcxr,ubbxr,ubavr,ubygfbv,ubyfbzonpx,ubybjnl,ubyzfgrnq,ubvfgvba,ubuafgrva,uburvfry,ubthrg,ubttyr,ubtrafba,ubssfgrggre,ubssyre,ubsr,ubrsyvat,ubnthr,uvmre,uvefpusvryq,uvebanxn,uvenyqb,uvabgr,uvatfgba,uvanzna,uvyyvr,uvyyrfurvz,uvyqrezna,uvrfgnaq,urlfre,urlf,urjf,uregyre,ureenaqrm,urccr,urayr,uraxrafvrsxra,uravtna,uranaqrm,urantna,urzoretre,urzna,uryfre,uryzvpu,uryyvatre,urysevpx,uryqraoenaq,urvabara,urvarpx,urvxrf,urvqxnzc,urtyne,urssera,urryna,urqtrorgu,urpxznaa,urpxnzna,urpuzre,unmryuhefg,unjxra,unirexnzc,uningbar,unhfnhre,unfpu,unejvpx,unegfr,uneebjre,uneyr,unetebqre,uneqjnl,uneqvatre,uneqrzba,uneorpx,unag,unzer,unzoret,unyyonpx,unvfgra,unvyfgbar,unuy,untare,untzna,untrzrlre,unrhffyre,unpxjryy,unol,unngnwn,tireereb,thfgbivpu,thfgnir,thfxr,thfurr,thefxv,theargg,then,thagb,thafryzna,thtyre,thqzhaqfba,thqvanf,thnearev,tehzovar,tehvf,tebgm,tebffxbcs,tebfzna,tebfovre,tevagre,tevyyrl,tevrtre,terjny,terffyre,ternfre,tenhf,tenfzna,tenfre,tenaana,tenangu,tenzre,tenobfxv,tblar,tbjyre,tbggjnyq,tbggrfzna,tbfunl,tbee,tbebivgm,tberf,tbbffraf,tbbqvre,tbbquhr,tbamryrf,tbamnybf,tbaaryyn,tbybzo,tbyvpx,tbyrzovrjfxv,tbrxr,tbqmvx,tbne,tybffre,tyraqraavat,tyraqravat,tynggre,tynf,tvggvatf,tvggre,tvfva,tvfpbzor,tvzyva,tvyyvgmre,tvyyvpx,tvyyvnaq,tvyo,tvtyre,tvqqra,tvornh,tvooyr,tvnahamvb,tvnaanggnfvb,tregryzna,trebfn,trebyq,treynaq,trevt,trerpxr,treovab,tram,trabirfv,trarg,tryehq,trvgtrl,trvfmyre,trueyrva,tnjelf,tnivynarf,tnhyqra,tnegujnvgr,tnezbr,tnetvf,tnen,tnaargg,tnyyvture,tnyyre,tnyyrure,tnyynuna,tnysbeq,tnua,tnprx,tnoreg,shfgre,shehln,shefr,shwvunen,shuevzna,sehru,sebzzr,sebrzzvat,sevfxarl,sevrgnf,servyre,serrybir,serore,serne,senaxy,senaxrasvryq,senarl,senapxr,sbkjbegul,sbezryyn,sbevatre,sbethr,sbaarforpx,sbaprpn,sbyynaq,sbqren,sbqr,syberfpn,syrherag,syrfuare,syragtr,syrvfpuunpxre,syrrtre,syrpure,synz,synvz,svirpbng,sveronhtu,svberggv,svahpnar,svyyrl,svthebn,svthreqn,svqqryxr,srhegnqb,srggreyl,srffry,srzvn,srvyq,sruyvat,srtrgg,srqqr,srpugre,snjire,snhyunore,sngpurgg,snffanpug,snfunj,snfry,sneehtvn,sneena,snearff,sneuneg,snzn,snyjryy,snyib,snyxrafgrva,snyva,snvybe,snvtva,snthaqb,snthr,sntana,sntrefgebz,snqra,rlgpuvfba,rlyrf,rirentr,rinatryvfg,rfgeva,rfgbetn,rfcbaqn,rfcvaqbyn,rfpure,rfpur,rfpnefrtn,rfpnaqba,reira,reqvat,rcyva,ravk,ratynqr,ratqnuy,rapx,rzzrggr,rzorel,rzorefba,rygmebgu,ryfnlrq,ryyreol,ryyraf,ryuneq,rysref,rynmrthv,rvfreznaa,rvyregfba,rvora,rueuneq,ruerfzna,rtbys,rtarj,rttvaf,rseba,rssynaq,rqzvafgre,rqtrfgba,rpxfgebz,rpxuneq,rpxsbeq,rpubyrf,rofra,rngureyl,rnfgyvpx,rneaurneg,qlxuhvmra,qlnf,qhggjrvyre,qhgxn,qhfraohel,qhfraorel,qheer,qheavy,qhearyy,qhevr,qheuna,qhenaqb,qhcevrfg,qhafzbbe,qhafrvgu,qhaahz,qhazna,qhayril,qhzn,qhyhqr,qhybat,qhvtana,qhtne,qhsrx,qhpbf,qhpunvar,qhpu,qhobj,qebjar,qebff,qebyyvatre,qebxr,qevttnef,qenjubea,qenpu,qenorx,qblar,qbhxnf,qbeivy,qbebj,qbebfxv,qbeanx,qbezre,qbaaryfba,qbavina,qbaqreb,qbzcr,qbyyr,qbnxrf,qvmn,qvivetvyvb,qvgber,qvfgry,qvfvzbar,qvfoeb,qvcvreb,qvatfba,qvyhmvb,qvyyrunl,qvtvbetvb,qvsybevb,qvrgmyre,qvrgfpu,qvrgreyr,qvrebys,qvrexre,qvpbfgnamb,qvprfner,qrkurvzre,qrjvggr,qrjvat,qribgv,qrivapragvf,qrinel,qrhgfpuzna,qrggybss,qrgvraar,qrfgnfvb,qrfg,qrfcneq,qrfzrg,qrfynggr,qrfsbffrf,qrevfr,qreramb,qrccare,qrcbyb,qrablre,qrabba,qraab,qraar,qravfgba,qravxr,qrarf,qrzbln,qrzvpx,qrzvppb,qrzrgevbh,qrznatr,qryin,qrybetr,qryyrl,qryvfvb,qryublb,qrytenaqr,qrytnggb,qrypbhe,qrynve,qrvareg,qrtehl,qrtenir,qrtrlgre,qrsvab,qrssraonhtu,qrrare,qrpbbx,qrpnag,qrobr,qroynap,qrngyrl,qrnezvgg,qrnyr,qrnthvne,qnlna,qnhf,qnhorezna,qngm,qnfr,qnel,qnegg,qnebpun,qnev,qnabjfxv,qnapry,qnzv,qnyyznaa,qnyrer,qnyon,qnxna,qnvfr,qnvyvat,qnuna,qntana,qnttf,qntna,pmnexbjfxv,pmncyvafxv,phggra,phegvpr,pheragba,pheobl,phen,phyyvgba,phyoregu,phppuvnen,phoovfba,pfnfmne,pelgfre,pebgmre,pebfftebir,pebffre,pebfunj,pebppb,pevgmre,periryvat,perffl,percf,perrfr,pengvp,penvtb,penvtra,penvo,penppuvbyb,penoyr,pblxraqnyy,pbjvpx,pbivyyr,pbhmraf,pbhgpu,pbhfraf,pbhfnva,pbhafryzna,pbhyg,pbggreryy,pbgg,pbgunz,pbefnhg,pbeevrer,pbeerqbe,pbearg,pbexhz,pbernf,pbeqbmn,pbeorg,pbenguref,pbajvyy,pbagernf,pbafhrten,pbafgnamn,pbabyyl,pbarql,pbzvaf,pbzorr,pbybfv,pbybz,pbyzranerf,pbyylzber,pbyyrena,pbyvan,pbynj,pbyngehtyvb,pbynageb,pbynagbavb,pburn,pbtvyy,pbqare,pbqqvat,pbpxenz,pbpnabhture,pbovar,pyhpxrl,pyhpnf,pybjneq,pybxr,pyvfunz,pyvaroryy,pyvssr,pyraqrara,pvfbjfxv,pveryyv,pvenbyb,pvbppn,pvagben,pvrfpb,pvoevna,puhcxn,puhtt,puevfgznaa,pubzn,puviregba,puvevabf,puvara,puvzragv,puvzn,purhiebag,purfyn,purfure,purfroeb,purea,pururone,purnghz,punfgvar,puncavpx,puncryyr,punzoyrl,prepl,pryvhf,prynab,pnlrn,pnivppuv,pnggryy,pngnanpu,pngnphgna,pnfgryyhppvb,pnfgryynav,pnffzrlre,pnffrggn,pnffnqn,pnfcv,pnfuzber,pnfrovre,pnfnanf,pneebguref,pneevmny,pneevirnh,pneergreb,pneenqvar,pnebfryyn,pneavar,pneybav,pnexuhss,pneqbfv,pneqb,pnepuvqv,pneniryyb,pnenamn,pnenaqnat,pnagenyy,pnacbf,pnabl,pnaavmmneb,pnavba,pnavqn,pnaunz,pnatrzv,pnatr,pnapryyvrer,pnaneq,pnzneqn,pnyireyrl,pnybtreb,pnyyraqne,pnynzr,pnqerggr,pnpureb,pnppninyr,pnoerebf,pnoereb,pnoenen,pnoyre,ohgmre,ohggr,ohgevpx,ohgnyn,ohfgvbf,ohffre,ohfvp,ohfubea,ohfure,oheznfgre,ohexynaq,ohexvaf,ohexreg,ohethrab,ohetenss,ohery,ohepx,oheol,ohzsbeq,ohybpx,ohwabjfxv,ohttvr,ohqvar,ohppvreb,ohovre,oembfxn,oelqtrf,oehzybj,oebffrnh,oebbxfure,oebxxr,oebrxre,oevggva,oevfgyr,oevnab,oevnaq,oerggfpuarvqr,oerfana,oeragfba,oeraarvf,oeraqre,oenmyr,oenffvy,oenfvatgba,oenafgebz,oenaba,oenaxre,oenaqjrva,oenaqnh,oenyyrl,oenvyrl,oenthr,oenqr,obmmv,objaqf,objzre,obhearf,obhe,obhpurl,obggb,obgryre,obeebry,obeen,obebfxv,obbgueblq,obbeq,obatn,obangb,obanqbaan,obyrwnpx,obyqzna,obvfre,obttvb,obtnpxv,obreobbz,obruayrva,obruyr,obqnu,obofg,obnx,oyhrzry,oybpxzba,oyvgpu,oyvapbr,oyrvre,oynlqrf,oynfvhf,ovggry,ovafsryq,ovaqry,ovybggv,ovyyvbgg,ovyoerj,ovuz,ovrefare,ovryng,ovqebjfxv,ovpxyre,ovnfv,oubyn,oung,orjvpx,orgmra,orggevqtr,orggv,orgfpu,orfyrl,orfureb,orfn,oregbyv,orefgrva,oreevra,oreevr,oreeryy,orezry,orerathre,oramre,orafvat,orarqvk,orzb,oryvyr,orvyzna,oruhava,orueznaa,orqvrag,orpug,ornhyr,ornhqernhyg,ornyyr,orntyrl,onlhx,onlbg,onlyvss,onhtrff,onggvfgbav,ongehz,onfvafxv,onftnyy,onegbybzrv,onegavx,onegy,onegxb,onegubybznl,oneguybj,onegtvf,onefarff,onefxv,oneyrggr,onevpxzna,onetra,oneqba,onepyvss,oneoh,onenxng,onenpnav,onenona,onabf,onaxb,onzonpu,onybx,onybtha,onyyl,onyqvav,onypx,onypre,onynfu,onvz,onvybe,onuz,onune,ontfunj,onttreyl,onqvr,onqny,onpxhrf,onovab,nlqrybgg,njoerl,nirefnab,ninafvab,nhlba,nhxnzc,nhwyn,nhtrafgrva,nfgnpvb,nfcyva,nfngb,nfnab,nehvmh,negnyr,neevpx,nearrpure,nezryva,nezoerfgre,neznpbfg,nexryy,netenir,nervmntn,ncbyb,namherf,namhnyqn,nagjv,nagvyyba,nagrabe,naanaq,naunyg,natbir,natyrzlre,natynqn,natvnab,natrybav,naqnln,napehz,nantabf,nzzvengv,nzrfphn,nzoebfvhf,nznpxre,nznpure,nznovyr,nyivmb,nyireanm,nyinen,nygboryyv,nygboryy,nygunhfre,nygrezna,nygnivyyn,nyfvc,nyzrlqn,nyzrgre,nyzna,nyyfpurvq,nyynzna,nyvbggn,nyvoregv,nytunzqv,nyovfgba,nyoreqvat,nynevr,nynab,nvyrf,nufna,nuerafgbess,nuyre,nreav,npxynaq,npube,npreb,nprob,nofuvre,noehmmb,noebz,nobbq,noarg,noraq,nortt,nooehmmrfr,nnoret,mlfx,mhgryy,mhzfgrva,mhzzb,mhuyxr,mhruyfqbess,mhpu,mhppbav,mbegzna,mbua,mvatbar,mvatt,mvatnyr,mvzn,mvragrx,mvrt,mreinf,mretre,mrax,mryqva,mrvff,mrvqref,mrqvxre,mnibqal,mnenmhn,mnccbar,mnccnyn,mncnagn,mnavobav,mnapuv,mnzcrqev,mnyyre,mnxenwfrx,mntne,mnqebmal,mnoybpxv,mnoyr,lhfg,lhax,lbhatxva,lbfgra,lbpxref,lbpuvz,lrexr,lreran,lnabf,jlfvatre,jlare,jevfyrl,jbmavpxv,jbegm,jbefryy,jbbgref,jbba,jbbypbpx,jbbqxr,jbaanpbgg,jbyavx,jvggfgbpx,jvggvat,jvgel,jvgsvryq,jvgpensg,jvffznaa,jvffvax,jvfruneg,jvfpbhag,jvebara,jvcs,jvagreebjq,jvatrgg,jvaqba,jvaqvfu,jvaqvfpu,jvaqrf,jvygonax,jvyyznegu,jvyre,jvrfryre,jvrqznvre,jvrqrefgrva,jvrqraursg,jvroret,jvpxjner,jvpxxvfre,jvpxryy,juvggzber,juvgxre,juvgrtbng,juvgpensg,juvfbanag,juvfol,jurgfryy,jurqba,jrfgel,jrfgpbng,jreavzbag,jragyvat,jraqynaqg,jrapy,jrvftneore,jrvavatre,jrvxyr,jrvtbyq,jrvty,jrvpuoebqg,jrueyv,jrur,jrrtr,jrner,jngynaq,jnffznaa,jnemrpun,jneevk,jneeryy,jneanpx,jncyrf,jnagynaq,jnatre,jnaqerv,jnang,jnzcbyr,jnygwra,jnygrefpurvq,jnyvtben,jnyqvat,jnyqvr,jnypmlx,jnxvaf,jnvgzna,jnve,jnvavb,jnucrxrpur,jnuyzna,jntyrl,jntraxarpug,jnqyr,jnqqbhcf,jnqqvat,ihbab,ihvyyrzbg,ihtgrirra,ibfzhf,ibexvax,ibevrf,ibaqen,ibrym,iynfuv,ivgryyv,ivgnyv,ivfpneen,ivarg,ivzbag,ivyyrtn,ivyyneq,ivtabyn,ivrerpx,ivqrggb,ivpbl,irffryy,irfpbiv,ireebf,ireavre,ireantyvn,iretva,ireqbar,ireqvre,irenfgrdhv,irwne,infvyr,infv,ineanqber,ineqneb,inamnagra,inafhzrera,inafpuhlire,inayrrhjra,inaubjr,inaubbmre,inarff,inaqrjnyxre,inaqribbeqr,inaqrirre,inaqremjnnt,inaqrejrvqr,inaqreulqr,inaqryyra,inanzohet,inanyfg,inyyva,inyx,inyragvav,inypnepry,inynfpb,inynqnb,inpure,hedhvwb,hagreervare,hafvpxre,hafre,haenh,haqrepbssyre,hssryzna,hrzhen,hrqn,glfmxb,glfxn,glzba,glpr,glnpxr,gjvanz,ghgnf,ghffvat,ghezry,ghexbjfxv,ghexry,ghepurggn,ghcvpx,ghxrf,ghsgr,ghsb,ghrl,ghryy,ghpxrezna,gfhgfhzv,gfhpuvln,gebffonpu,gevivgg,gevccv,gevccrafrr,gevzonpu,gevyyb,gevyyre,gevoyr,gevool,gerivfna,gerfpu,genzbagr,genss,genq,gbhfrl,gbgneb,gbeertebfn,gbeenyon,gbyyl,gbsvy,gbsnav,gbovnffra,gvbtnatpb,gvab,gvaarf,gvatfgebz,gvatra,gvaqby,gvssg,gvssrr,gvrg,guhrfra,guehfgba,guebaqfba,gubeafohel,gubearf,guvrel,guvryzna,guvr,gurvyra,gurqr,gungr,gunar,gunynpxre,gunqra,grhfpure,greenpvan,greryy,grenqn,grcsre,graarfba,grzberf,grzxva,gryyrevn,grndhr,grnyre,grnpurl,gninxbyv,gnhenf,gnhpure,gnegntyvab,gnecl,gnaarel,gnav,gnzf,gnzyva,gnzor,gnyyvf,gnynznagr,gnxnlnzn,gnxnxv,gnvoy,gnssr,gnqrffr,gnqr,gnoryvat,gnont,fmbxr,fmbp,fmnyn,fmnql,flfnx,flyire,flyre,fjbatre,fjvttrgg,fjraffba,fjrvf,fjrref,fjrrar,fjrnal,fjrnarl,fjnegjbhg,fjnzl,fjnyrf,fhfzna,fhezna,fhaqoynq,fhzzrefrg,fhzzreunlf,fhzrenyy,fhyr,fhtvzbgb,fhoenznavna,fghepu,fghcc,fghaxneq,fghzcc,fgehvxfzn,fgebcrf,fgebzlre,fgebzdhvfg,fgerqr,fgenmmn,fgenhs,fgbeavbyb,fgbewbunaa,fgbahz,fgbavre,fgbarplcure,fgbaroretre,fgbyyne,fgbxxr,fgbxna,fgbrgmry,fgbrpxry,fgbpxare,fgbpxvatre,fgbpxreg,fgbpxqvyy,fgboor,fgvgmry,fgvgryl,fgvethf,fgvtref,fgrggare,fgrggyre,fgreyva,fgreoram,fgrzc,fgryyhgv,fgrvazrlre,fgrvavatre,fgrvanhre,fgrvtrejnyg,fgrvqre,fgniebh,fgnhsraoretre,fgnffv,fgnaxhf,fgnanjnl,fgnzzre,fgnxrz,fgnvab,fgnuyarpxre,fgntavggn,fgnryraf,fgnny,fefra,fcebgg,fcevtt,fceraxyr,fceraxry,fcervgmre,fcendhr,fcenaqry,fcbea,fcvinx,fcven,fcvrjnx,fcvrgu,fcvrevat,fcrebj,fcru,fcrpxvat,fcrnfr,fcrnq,fcnetre,fcnavre,fcnyy,fbjre,fbhgupbgg,fbfan,fbena,fbbxenz,fbaqref,fbynx,fbue,fbuy,fbsenaxb,fbqreyvat,fbpube,fboba,fzhgm,fzhqevpx,fzvguw,fzvq,fybffre,fyvxre,fyraxre,fyrtre,fynol,fxbhfra,fxvyyvat,fxvovafxv,fxrrf,fxnar,fxnsvqnf,fvivp,fviregfra,fviref,fvgen,fvgb,fvenphfn,fvavpxv,fvzcref,fvzyrl,fvzorpx,fvyoreoret,fvrire,fvrtjnegu,fvqzna,fvqqyr,fvoorgg,fuhzneq,fuhoebbxf,fubhtu,fubeo,fubcgnj,fubygl,fubssfgnyy,fuvireqrpxre,fuvavatre,fuvznfnxv,fuvseva,fuvssyre,furfgba,furee,furer,furcrneq,furydhvfg,furyre,funhs,funeene,funecanpx,funzfvqqrra,funzoyrl,funyyraoretre,funqyre,funona,fsreen,frlf,frknhre,frirl,frireb,frgynx,frgn,frfxb,frefra,freengber,freqhyn,frarpuny,fryqbzevqtr,frvyunzre,frvsre,frvqyvgm,fruareg,frqnz,froeba,frore,frorx,frniref,fphyynex,fpebtre,fpbivyy,fpvnfpvn,fpvneen,fpujrref,fpujnemr,fpuhzzre,fpuhygrf,fpuhpuneqg,fpuhpuneq,fpuevrore,fpuerax,fpuervsryf,fpubjnygre,fpubhygm,fpubyre,fpubsvyy,fpubss,fpuahrere,fpuarggyre,fpuzvgxr,fpuzvrtr,fpuybbc,fpuyvatre,fpuyrffzna,fpuyrffre,fpuyntrgre,fpuvrff,fpuvrsre,fpuvnibav,fpuremre,fpurevpu,fpurpugzna,fpurory,fpuneczna,fpunvpu,fpunnc,fpnccngvppv,fpnqybpx,fnibppuvn,fnivav,fniref,fnintrnh,fnhintr,fnhfr,fnhrejrva,fnel,fnejnel,fneavpbyn,fnagbar,fnagbyv,fnagnyhpvn,fnagnpehpr,fnafbhpvr,fnaxbss,fnarf,fnaqev,fnaqrezna,fnzznegnab,fnyzbafba,fnyzryn,fnyznaf,fnyynm,fnyvf,fnxhzn,fnxbjfxv,fnwqnx,fnuz,fnterqb,fnsevg,fnpxrl,fnovb,fnovab,elobyg,ehmmb,ehgufgebz,ehgn,ehffva,ehffnx,ehfxb,ehfxva,ehfvrpxv,ehfpure,ehcne,ehzoretre,ehyyna,ehyvssfba,ehuyzna,ehsranpug,ehryyr,ehqvfryy,ehqv,ehppv,ehoyrr,ehoregb,ehorpx,ebjrgg,ebggvatunhf,ebgba,ebgutro,ebgutnore,ebgurezvpu,ebfgrx,ebffvav,ebfxryyrl,ebfvat,ebfv,ebfrjryy,ebforet,ebba,ebava,ebzrfohet,ebzryhf,ebyyrl,ebyyrefba,ebyyrsfba,ebyvaf,ebyraf,ebvf,ebuevt,ebueonpure,ebuynaq,ebura,ebtarff,ebrf,ebrevat,ebruevpx,ebroxr,ebqertrm,ebqnonhtu,ebpxvatunz,eboyrr,ebory,ebnqpnc,evmmbyb,evivrmmb,evirfg,evireba,evfgb,evffyre,evccragebc,evcxn,evaa,evathrggr,evatrevat,evaqbar,evaqryf,evrssre,evrqzna,evrqr,evrpxr,evrobj,evqqyronetre,eubzr,eubqq,eungvtna,eunzr,erlref,erjvgmre,erinyrr,ergmre,erggvatre,erfpuxr,erdhn,ercre,erbcryy,eramryzna,eraar,eraxre,erax,eravpxre,eraqvan,eraqry,erzhaq,erzzryr,erzvnfm,erznxyhf,erznx,ervgfzn,ervgzrvre,ervfjvt,ervfuhf,ervavat,ervz,ervqvatre,ervpx,ervpur,ertnaf,erssrgg,errfbe,errxvr,erqcngu,erqqvgg,erpugmvtry,erpug,erneqra,enlabfb,enkgre,engxbjfxv,enfhyb,enffzhffra,enffry,enfre,enccyrlr,enccr,enaqehc,enaqyrzna,enzfba,enzcrl,enqmvrjvpm,dhvenegr,dhvaglar,dhvpxry,dhnggevav,dhnxraohfu,dhnvyr,clgry,chfunj,chfpu,chefybj,chamb,chyynz,chtzver,chryyb,cemrxbc,cehff,cehvrgg,cebibj,cebcurgr,cebpnppvav,cevgm,cevyynzna,cevrff,cergybj,cerfgvn,cerfun,cerfpbq,cernfg,cenlgbe,cenfunq,cenvab,cbmmv,cbggratre,cbgnfu,cbenqn,cbccyrjryy,cbamb,cbagre,cbzzvre,cbyynaq,cbyvqbev,cbynfxl,cbyn,cbvffb,cbver,cbsnuy,cbqbyfxl,cbqryy,cyhrtre,cybjr,cybgm,cybgavx,cybpu,cyvfxn,cyrffare,cynhg,cyngmre,cynxr,cvmmvab,cvebt,cvdhrggr,cvcub,cvbpur,cvagbf,cvaxreg,cvarg,cvyxregba,cvypu,cvynem,cvtangneb,cvreznggrb,cvpbmmv,cvpxyre,cvpxrggr,cvpuyre,cuvybtrar,cuner,cunat,csebtare,csvfgrere,crggvaryyv,crgehmmv,crgebivp,crgerggv,crgrezrvre,crfgbar,crfgresvryq,crffva,crfpu,crefxl,creehmmn,creebgg,creevgg,creerggv,creeren,crebhgxn,crebav,creba,crerg,creqrj,crenmmb,crccr,crab,craoregul,crantbf,cryrf,cryrpu,crvcre,crvtug,crssrezna,crqqvr,crpxracnhtu,crna,cnlra,cniybfxv,cniyvpn,cnhyyva,cnggrfba,cnffba,cnffrl,cnffnynpdhn,cnfdhvav,cnfxry,cnegpu,cneevbgg,cneeryyn,cneenm,cnezryl,cnevmb,cncryvna,cncnfretv,cnagbwm,cnagb,cnavpu,cnapuny,cnylf,cnyybar,cnyvafxv,cnyv,cnyrivp,cntryf,cnpvberx,cnpub,cnpryyn,cnne,bmoha,birejrt,bireubyfre,binyyrf,bhgpnyg,bggreorva,bggn,bfgretera,bfure,bfoba,bemrpu,bejvpx,beevpb,bebcrfn,bezrf,bevyyvba,babengv,baara,bznel,byqvat,bxbafxv,bxvzbgb,buyevpu,bunlba,bthva,btyrl,bsgrqnuy,bssra,bsnyyba,brygwra,bqnz,bpxzbaq,bpxvzrl,borezrlre,boreqbes,bonaare,bonyyr,bneq,bnxqra,aluna,alqnz,ahzna,ablre,abggr,abgufgrva,abgrfgvar,abfre,abex,abyqr,avfuvunen,avfuv,avxbyvp,avuneg,avrghcfxv,avrfra,avruhf,avqvssre,avpbhyva,avpbynlfra,avpxybj,avpxy,avpxrfba,avpugre,avpubyy,atlha,arjfunz,arjznaa,arirhk,arhmvy,arhznlre,argynaq,arffra,arfurvz,aryyv,aryxr,arpbpurn,anmnev,anibeeb,aninerm,anina,anggre,angg,angre,anfgn,aneinvm,aneqryyv,ancc,anxnunen,anvea,antt,antre,antnab,ansmvtre,anssmvtre,anqryfba,zhmmvyyb,zheev,zheerl,zhetvn,zhepvn,zhab,zhavre,zhydhrra,zhyyvavxf,zhyxvaf,zhyvx,zhuf,zhssyrl,zblanuna,zbhatre,zbggyrl,zbgvy,zbfrzna,zbfrol,zbfnxbjfxv,zbegryy,zbeevfebr,zbeereb,zbezvab,zbeynaq,zbetre,zbetragunyre,zbera,zberyyr,zbenjfxv,zbenfpn,zbenat,zbenaq,zbbt,zbagarl,zbagren,zbagrr,zbagnar,zbagntar,zbaf,zbabuna,zbaargg,zbaxubhfr,zbapher,zbzcuneq,zbylarnhk,zbyyrf,zbyyraxbcs,zbyrggr,zbuf,zbuznaq,zbuyxr,zbrffare,zbref,zbpxhf,zbppvb,zyvane,zvmmryyr,zvggyre,zvgev,zvgpuhffba,zvgpura,zvfgebg,zvfgyre,zvfpu,zvevryyb,zvaxva,zvavatre,zvarevpu,zvaruneg,zvaqrezna,zvaqra,zvanuna,zvybanf,zvyyba,zvyyubyynaq,zvyyrfba,zvyyreoreaq,zvyyntr,zvyvgnagr,zvyvbavf,zvyubna,zvyqraoretre,zvyohel,zvxbynwpmnx,zvxybf,zvxxbyn,zvtarnhyg,zvsfhq,zvrghf,zvrfmnyn,zvryavpxv,zvql,zvpuba,zvpuvbxn,zvpurnh,zvpunryv,zvpnyv,zrgur,zrgnyyb,zrffyre,zrfpu,zrebj,zrebarl,zretragunyre,zrerf,zrahrl,zrabhfrx,zraavat,zraa,zratuvav,zraqvn,zrzzre,zrybg,zryyraguva,zryynaq,zrynaq,zrvkare,zrvfraurvzre,zrvarxr,zrvaqref,zrueraf,zruyvt,zrtyvb,zrqfxre,zrqreb,zrqrevbf,zrnoba,zpjevtug,zpevtug,zperngu,zpenel,zpdhvegre,zpdhreel,zpdhnel,zpcuvr,zpaheyra,zparyyrl,zparr,zpanvel,zpznanzl,zpznura,zpxbjra,zpxvire,zpxvaynl,zpxrneva,zpveiva,zpvagelr,zpubefr,zpunssvr,zptebnegl,zptbss,zptvirea,zpravel,zpryuvarl,zpqvnezvq,zpphyynef,zpphoovaf,zppevzba,zppbirel,zppbzzbaf,zppybhe,zppneevpx,zppnerl,zppnyyra,zpoevra,zpnegul,znlbar,znlova,znknz,znhenvf,znhtua,zngmrx,znggf,zngva,znguer,znguvn,zngrra,zngnin,znffb,znffne,znffnarg,znfvatnyr,znfpneb,znegunyre,znegrf,znefb,znefuzna,znefnyvf,zneenab,znebyg,znebyq,znexvaf,znethyvf,zneqvebfvna,znepuvnab,znepunx,znenaqbyn,znenan,znahrf,znagr,znafhxunav,znafv,znaana,znavppvn,znatvar,znarel,znaqvtb,znapryy,znzb,znyfgebz,znybhs,znyrasnag,znyqranqb,znynaqehppbyb,znynx,znynonana,znxvab,znvfbanir,znvabeq,znvab,znvaneq,znvyyneq,znuzhq,znuqv,znuncngen,znunyrl,znunssl,zntbhvex,zntynenf,zntng,zntn,znssvn,znqenmb,znqenab,znqvgm,znpxreg,znpxryyne,znpxryy,znpug,znppuvn,znppnegul,znnuf,ylgny,yhmne,yhmnqre,yhgwra,yhatre,yhana,yhzn,yhxvaf,yhuznaa,yhref,yhqivtfra,yhqynz,yhqrznaa,yhpuvav,yhpragr,yhoenab,yhobj,yhore,yhorpx,ybjvat,ybira,ybhc,ybhtr,ybfpb,ybegf,ybeznaq,yberamrggv,ybatsbeq,ybatqra,ybatoenxr,ybxuzngbi,ybtr,ybrira,ybrfre,ybprl,ybpngryyv,yvgxn,yvfgn,yvfbaorr,yvfraorr,yvfpnab,yvenamb,yvdhbev,yvcgebg,yvbarggv,yvafpbzo,yvaxbivpu,yvavatgba,yvatrsryg,yvaqyre,yvaqvt,yvaqnyy,yvapxf,yvanaqre,yvana,yvzohet,yvzoevpx,yvzonpu,yvxbf,yvtugunyy,yvsbeq,yvrgmxr,yvror,yvqqvpbng,yvpxyrl,yvpugre,yvncvf,yrmb,yrjna,yrivgm,yrirfthr,yrirefba,yrinaqre,yrhgunhfre,yrgorggre,yrfhre,yrfzrvfgre,yrfyl,yrere,yrccnara,yrcvafxv,yrauree,yrzoevpx,yrybarx,yrvfgra,yrvff,yrvaf,yrvatnat,yrvaoretre,yrvaonpu,yrvxnz,yrvqvt,yrugbara,yruareg,yrurj,yrtvre,yrspuvx,yrpl,yrpbagr,yrpure,yroerpug,yrncre,ynjgre,ynjeram,ynil,ynhe,ynhqreonhtu,ynhqra,ynhqngb,ynggvat,yngfxb,yngvav,ynffrer,ynffrvtar,ynfcvan,ynfb,ynfyvr,ynfxbjvgm,ynfxr,ynfraol,ynfpbyn,ynevbfn,ynepnqr,yncrgr,yncrebhfr,ynahmn,ynagvat,ynagntar,ynafqnyr,ynacuvre,ynatznvq,ynatryyn,ynarfr,ynaqehf,ynzcebf,ynzraf,ynvmher,ynvgvara,ynvtyr,ynuz,ynthrhk,yntbevb,yntbznefvab,yntnfpn,yntnan,ynsbag,ynsyra,ynsnibe,ynsnetr,ynqhpre,ynqavre,ynqrfzn,ynpbtangn,ynpxynaq,ynpregr,ynohss,ynobeva,ynovar,ynonhir,xhmvb,xhfgrere,xhffzna,xhfry,xhfpu,xhehgm,xheqlyn,xhcxn,xhamyre,xhafzna,xhav,xharl,xhap,xhyvfu,xhyvtn,xhyntn,xhvyna,xhuer,xhuaxr,xhrzzreyr,xhrxre,xhqyn,xhqryxn,xhovafxv,xhovpxv,xhony,xemlmnabjfxv,xehcvpxn,xehzjvrqr,xehzzr,xebcvqybjfxv,xebxbf,xebryy,xevgmre,xevof,xervgybj,xervfure,xenlanx,xenff,xenamyre,xenzo,xbmlen,xbmvpxv,xbinyvx,xbinypuvx,xbinprivp,xbghyn,xbgeon,xbgryrf,xbfbjfxv,xbfxryn,xbfvon,xbfpvafxv,xbfpu,xbeno,xbccyr,xbccre,xbccryzna,xbccry,xbajvafxv,xbybfxl,xbybfxv,xbyvafxl,xbyvafxv,xbyorpx,xbynfn,xbrcs,xbqn,xbpurine,xbpureg,xbof,xahfg,xahrccry,xabl,xavrevrz,xavre,xaryyre,xanccreg,xyvgm,xyvagjbegu,xyvaxraoret,xyvapx,xyrvaqvrafg,xyrro,xyrpxre,xwryyoret,xvgfzvyyre,xvfbe,xvfvry,xvfr,xveob,xvamyr,xvatfsbeq,xvatel,xvzcgba,xvzry,xvyyzba,xvyyvpx,xvytnyyba,xvypure,xvua,xvttvaf,xvrpxre,xure,xunyrry,xrmvnu,xrggryy,xrgpura,xrfuvfuvna,xrefgvat,xrefpu,xrevaf,xrepure,xrarsvpx,xrzcu,xrzcn,xryfurvzre,xryya,xryyraoretre,xrxnuhan,xrvfyvat,xrveana,xrvzvt,xrua,xrny,xnhcc,xnhsubyq,xnhssznaa,xngmraoret,xngban,xnfmlafxv,xnfmhon,xnffronhz,xnfn,xneglr,xnegpuare,xnefgraf,xnecvafxl,xnezryl,xnery,xnenfrx,xnceny,xncre,xnarybf,xnanuryr,xnzcznaa,xnzcr,xnyc,xnyyhf,xnyyrivt,xnyyra,xnyvfmrjfxv,xnyrbunab,xnypugunyre,xnynzn,xnynuvxv,xnvyv,xnunjnv,xntrl,whfgvff,whexbjfxv,whetrafzrlre,whvysf,wbcyvat,wbaqnuy,wbzrf,wbvpr,wbunaarffra,wbrpxry,wrmrjfxv,wrmrx,wrfjnyq,wreirl,wrccfra,wraavtrf,wraargg,wrzzbgg,wrssf,wnherdhv,wnavfpu,wnavpx,wnprx,wnpnehfb,vjnavpxv,vfuvunen,vfraoretre,vfovfgre,vehrtnf,vamre,valneg,vafpber,vaabpragv,vatyvfu,vasnagbyvab,vaqbivan,vanon,vzbaqv,vzqvrxr,vzoreg,vyyrf,vnebppv,vnaahppv,uhire,uhgyrl,uhffre,uhfznaa,uhcs,uhagforetre,uhaarjryy,uhyyhz,uhvg,uhvfu,uhtufba,uhsg,uhsfgrgyre,uhrfre,uhqaryy,ubiqra,ubhfra,ubhtugyvat,ubffnpx,ubfunj,ubefsbeq,ubeel,ubeaonpure,ubccrafgrqg,ubcxvafba,ubamn,ubznaa,ubymzrvfgre,ubylpebff,ubyirefba,ubygmynaqre,ubyeblq,ubyzyhaq,ubyqrearff,ubyqresvryq,ubypx,ubwanpxv,ubuysryq,uburaoretre,ubtnafba,ubtnapnzc,ubssfrf,ubrenhs,ubryy,ubrsreg,ubqhz,ubqre,ubpxraohel,ubntr,uvffrevpu,uvfyvc,uvebaf,uvccrafgrry,uvccra,uvaxfgba,uvaqrf,uvapupyvss,uvzzry,uvyyoreel,uvyqevat,uvrfgre,uvrsane,uvooreq,uvoora,urlyvtre,urly,urlrf,urivn,urggevpx,ureg,urefun,ureanaqm,urexry,ureore,urafpurvq,uraarfl,urayl,urartna,uraroel,urapu,urzfngu,urzz,urzxra,urznaa,urygmry,uryyevrtry,urwal,urvay,urvaxr,urvqvatre,urtrzna,urssrena,urqtyva,uroqba,urneara,urncr,urntl,urnqvatf,urnqq,unmryonxre,uniyvpx,unhfpuvyqg,unhel,unffrasevgm,unfraorpx,unfrygvar,unegfgrva,unegel,unegaryy,unefgba,unecbby,unezra,uneqvfgre,uneqrl,uneqref,uneobyg,uneovafba,unenjnl,undhr,unafznaa,unafre,unafpu,unaforeel,unaxry,unavtna,unaryvar,unzcr,unzbaf,unzzrefgbar,unzzreyr,unzzr,unzznetera,unzrygba,unzoretre,unznfnxv,unyceva,unyzna,unyyvuna,unyqnar,unvsyrl,untrf,untnqbea,unqjva,unovpug,unorezruy,tlyrf,thgmzna,thgrxhafg,thfgnfba,thfrjryyr,theafrl,thearr,thagrezna,thzvan,thyyvire,thyoenaqfba,thvgrerm,threvab,thrqel,thpjn,thneqneenzn,thntyvnab,thnqntab,tehyxr,tebbgr,tebbql,tebsg,tebrarjrt,tebpubj,tevccr,tevzfgrnq,tevrcragebt,terrasryq,terranjnl,teror,tenmvbfv,tenj,tenivan,tenffvr,tenambj,tenaqwrna,tenaol,tenznpl,tbmnyrm,tblre,tbgpu,tbfqra,tbeal,tbezbag,tbbqtvba,tbaln,tbaarezna,tbzcreg,tbyvfu,tbyvtbfxv,tbyqznaa,tbvxr,tbrgmr,tbqrnhk,tynmn,tynffry,tynfcl,tynaqre,tvhzneeb,tvgryzna,tvfbaqv,tvfzbaqv,tveina,tvegra,tvebaqn,tvbivapb,tvaxry,tvyfgre,tvrfl,tvrezna,tvqqvaf,tvneqvav,tvnavab,turn,trheva,trgg,trgfba,treereb,trezbaq,tragfl,tragn,traarggr,travgb,travf,traqyre,trygm,trvff,truerg,trtraurvzre,trssreg,trrgvat,trory,tnirggr,tniraqn,tnhzbaq,tnhqvbfb,tngmxr,tngmn,tnggfunyy,tngba,tngpury,tnfcrev,tnfxn,tnfvbebjfxv,tneevgfba,tneevthf,tneavre,tneavpx,tneqvavre,tneqranf,tnepl,tnengr,tnaqbysv,tnzz,tnzry,tnzory,tnyyzba,tnyyrzber,tnyyngv,tnvabhf,tnvasbegu,tnuevat,tnssrl,tnroyre,tnqmvafxv,tnqohel,tnoev,tnon,slxr,shegnj,sheanf,shepeba,shaa,shapx,shyjbbq,shyivb,shyyzber,shxhzbgb,shrfg,shrel,selzver,sehfu,sebuyvpu,sebrqtr,sebqtr,sevgmvatre,sevpxre,serevpxf,serva,servq,serttvneb,senggb,senamv,senapvfphf,senyvk,sbjoyr,sbgurevatunz,sbfyvra,sbfuvr,sbegznaa,sbefrl,sbexare,sbccvnab,sbagnarggn,sbaburzn,sbtyre,sbpxyre,syhgl,syhfpur,syhq,sybev,syrabel,syrunegl,syrrxf,synkzna,svhznen,svgmzbeevf,svaavphz,svaxyrl,svarena,svyyuneg,svyvcv,svwny,svryqfba,svpneen,srfgrezna,sreelzna,sreare,sretnfba,sreryy,sraarea,srzzre,sryqzrvre,srrfre,srrana,srqrevpx,srqnx,sroob,srnmryy,snmmbar,snhgu,snhfrg,snhebgr,snhyxre,snhovba,sngmvatre,snfvpx,snathl,snzoebhtu,snyxf,snuy,snnvgn,rkyre,rjraf,rfgenqb,rfgra,rfgrra,rfdhvirm,rfcrwb,rfzvby,rfthreen,rfpb,regm,refcnzre,reafgrf,revfzna,reuneq,rernhk,repnaoenpx,reorf,rccyr,ragfzvatre,ragevxra,rafybj,raargg,ratdhvfg,ratyroreg,ratynaqre,ratrffre,ratreg,ratrzna,ratr,rarefba,rzubss,rztr,rygvat,ryyare,ryyraoret,ryyraorpxre,ryvb,rysreg,rynjne,rxfgenaq,rvfba,rvfzbag,rvfraoenaqg,rvfrzna,rvfpuraf,ruetbgg,rtyrl,rtreg,rqqyrzba,rpxrefba,rpxrefyrl,rpxoret,rpurireel,roregf,rneguzna,rneauneg,rncra,rnpuhf,qlxnf,qhfv,qheavat,qheqna,qhabzrf,qhapbzor,qhzr,qhyyra,qhyyrn,qhynl,qhssrgg,qhof,qhoneq,qebbx,qeragu,qenubf,qentbar,qbjava,qbjaunz,qbjvf,qbjubjre,qbjneq,qbinyvan,qbcnmb,qbafba,qbaana,qbzvafxv,qbyyneuvqr,qbyvane,qbyrpxv,qbyorr,qbrtr,qbpxhf,qboxva,qbovnf,qvibyy,qvivarl,qvggre,qvgzna,qvffvatre,qvfznat,qveynz,qvaarra,qvav,qvatjnyy,qvybergb,qvyzber,qvyynzna,qvxrzna,qvvbevb,qvtugba,qvssyrl,qvrhqbaar,qvrgry,qvrevatre,qvrepxf,qvrauneg,qvrxentre,qvrsraqbes,qvpxr,qvpnzvyyb,qvoevgb,qvoban,qrmrrhj,qrjuhefg,qrivaf,qrivarl,qrhcerr,qrgurentr,qrfcvab,qrfzvgu,qrfwneynvf,qrfuare,qrfun,qrfnapgvf,qreevat,qrebhffr,qreboregvf,qrevqqre,qrertb,qreqra,qrcebfcreb,qrcebsvb,qrccvat,qrcreeb,qragl,qrabapbheg,qrapxynh,qrzyre,qrzvepulna,qrzvpuvry,qrzrfn,qrzrer,qrznttvb,qryhat,qryhvfr,qryzbeny,qryznfgeb,qryznf,qryyvtnggv,qryyr,qrynfobhe,qrynezr,qrynetl,qryntenatr,qrynsbagnvar,qrvfg,qrvff,qrvtuna,qrubss,qrtenmvn,qrtzna,qrsbffrf,qrsbeerfg,qrrxf,qrpbhk,qrpnebyvf,qrohue,qroret,qronee,qronev,qrnezba,qrner,qrneqhess,qnljnyg,qnlre,qnibera,qnivtaba,qnivnh,qnhgrhvy,qnhgrevir,qnhy,qneayrl,qnenxwl,qncvpr,qnaahamvb,qnavfba,qnavryyb,qnznevb,qnybamb,qnyyvf,qnyrfxr,qnyraoret,qnvm,qnvaf,qnvarf,qntarfr,qnql,qnqrl,pmlmrjfxv,pmncbe,pmncyrjfxv,pmnwxn,pltnavrjvpm,phggvab,phgeban,phffvaf,phfnaryyv,phcrehf,phaql,phzvfxrl,phzvaf,phvmba,phssvn,phssr,phssnev,phppneb,phovr,pelqre,pehfba,pebhafr,pebzrql,pevat,perre,perqrhe,pern,pbmbeg,pbmvar,pbjrr,pbjqrel,pbhfre,pbhegjnl,pbhevatgba,pbgzna,pbfgybj,pbfgryy,pbegba,pbefneb,pbeevrev,pbeevpx,pbeenqvav,pbeba,pbera,pbeov,pbenqb,pbchf,pbccratre,pbbcrejbbq,pbbagm,pbbapr,pbageren,pbaarnyl,pbaryy,pbzgbvf,pbzcrer,pbzzvaf,pbzzvatf,pbzrtlf,pbylne,pbyb,pbyyvfgre,pbyyvpx,pbyyryyn,pbyre,pbyobea,pbuena,pbtovyy,pbssra,pbphmmb,pylarf,pybfgre,pyvcc,pyvatvatfzvgu,pyrzrapr,pynlzna,pynffba,pynf,pynerl,pynthr,pvhony,pvgevab,pvgneryyn,pvebar,pvccbarev,pvaqevpu,pvzb,pvyvoregb,pvpubjfxv,pvppneryyb,pvpnyn,puhen,puhoohpx,puebavf,puevfgyvro,puvmrx,puvggrfgre,puvdhvgb,puvzragb,puvyqerr,puvnarfr,purierggr,purpb,punfgnat,punethnyns,punczba,punagel,pununy,punsrgm,prmne,prehnagrf,preevyyb,preenab,prerprqrf,prenzv,prtvryfxv,pninyyreb,pngvaryyn,pnffngn,pnfyva,pnfnab,pnfnppuvn,pnehgu,pnegerggr,pnegra,pnebqvar,pneaevxr,pneanyy,pnezvpyr,pneyna,pneynppv,pnevf,pnevntn,pneqvar,pneqvzvab,pneqnav,pneobanen,pnchn,pnccbav,pnccryynab,pncbenyr,pnahcc,pnagery,pnagbar,pnagreoreel,pnaavmmb,pnaana,pnaryb,pnarre,pnaqvyy,pnaqrr,pnzcory,pnzvareb,pnzoyr,pnyhln,pnyyvpbgg,pnyx,pnvgb,pnssvr,pnqra,pnqnivq,pnpl,pnpuh,pnpubyn,pnoerwn,pnovyrf,pnonqn,pnnznab,olena,olba,ohlpx,ohffzna,ohffvr,ohfuare,ohefgba,oheavfba,ohexzna,ohexunzzre,oherf,oheqrfunj,ohzcnff,ohyyvatre,ohyyref,ohyteva,ohtnl,ohqnx,ohpmlafxv,ohpxraqbes,ohppvrev,ohoevt,oelagrfba,oeham,oehazrvre,oehaxbj,oeharggb,oeharyyv,oehzjryy,oehttzna,oehpxv,oehpphyrev,oebmbivpu,oebjvat,oebgzna,oebpxre,oebnqfgerrg,oevk,oevgfba,oevapx,oevzzntr,oevreer,oevqrafgvar,oermrafxv,oermrr,oerivx,oeragyvatre,oeragyrl,oervqraonpu,oerpxry,oerpu,oenmmyr,oenhtugba,oenhpu,oenggva,oenggnva,oenauna,oenasbeq,oenare,oenaqre,oenyl,oenrtryznaa,oenorp,oblg,oblnpx,objera,obivna,obhtuna,obggba,obgare,obfdhrf,obemrn,obeer,obeba,obeaubefg,obetfgebz,oberyyn,obagrzcb,obaavjryy,obaarf,obavyyb,obanab,obyrx,obuby,obungl,obssn,obrgpure,obrfra,obrccyr,obruyre,obrqrpxre,obrpxk,obqv,obny,oybbqfjbegu,oybbqtbbq,oybzr,oybpxrgg,oyvkg,oynapurgg,oynpxuhefg,oynpxnol,owbeaoret,ovgmre,ovggraoraqre,ovgyre,ovepunyy,ovaavpxre,ovattryv,ovyyrgg,ovyoreel,ovtybj,ovreyl,ovryol,ovrtry,oremnf,oregr,oregntabyyv,oreergu,oreauneg,orethz,oreragfba,oreql,oreprtrnl,oragyr,oragvirtan,oragunz,orafpbgre,oraaf,oraavpx,orawnzvar,orarmr,orargg,orarxr,oraqher,oraqvk,oraqvpx,oranhvqrf,oryzna,oryyhf,oryybgg,oryyrsyrhe,oryynf,orywna,orytneq,orvgu,orvayvpu,orvreyr,oruzr,orriref,orreznaa,orrpuvat,orqjneq,orqebfvna,orqare,orqrxre,orpury,orpren,ornhoeha,orneqzber,ornyzrne,onmva,onmre,onhzubre,onhztneare,onhxarpug,onggfba,onggvrfg,onfhygb,onfgre,onfdhrf,onfvfgn,onfvyvrer,onfuv,onemrl,onem,oneghf,oneghppn,onegrx,oneereb,oneerpn,oneabfxv,oneaqg,onexybj,onevornh,onerggr,onerf,oneragvar,onervyyrf,oneoer,oneorev,oneontryngn,onenj,onenggb,onenabfxv,oncgvfr,onaxfba,onaxrl,onaxneq,onavx,onygmyrl,onyyra,onyxrl,onyvhf,onyqrefgba,onxhyn,onxnyne,onsshgb,onretn,onqbav,onpxbhf,onpugry,onpuenpu,onppnev,onovar,onovybavn,onne,nmovyy,nmnq,nlpbk,nlnyyn,nibyvb,nhfgreoreel,nhtugel,nhsqreurvqr,nhpu,nggnanfvb,ngunlqr,ngpure,nffrygn,nfyva,nfynz,nfujbbq,nfuens,nfuonpure,nfoevqtr,nfnxhen,nemntn,neevnmn,neerm,neerdhva,neenagf,nezvtre,nezragrebf,nezoevfgre,nexb,nethzrqb,nethvwb,neqbyvab,nepvn,neovmb,neniwb,ncre,namnyqb,nagh,nagevxva,nagbarggl,nagvabeb,naguba,nagrahppv,nafgrnq,naarfr,naxehz,naqernfba,naqenqb,naqnireqr,nanfgbf,nanoyr,nzfcbxre,nzevar,nzerva,nzbeva,nzry,nzoebfvav,nyfoebbx,nyahgg,nyznfv,nyyrffvb,nyyngrrs,nyqbhf,nyqrevax,nyqnm,nxzny,nxneq,nvgba,nvgrf,nvafpbhtu,nvxrl,nueraqf,nuyz,nthnqn,ntnaf,nqryznaa,nqqrffb,nqnjnl,nqnznvgvf,npxvfba,nohq,noraqebgu,noqhe,noqbby,nnzbqg,mljvrp,mjvrsryubsre,mjnuyra,mhavab,mhruy,mzhqn,mzbyrx,mvmmn,mvfxn,mvafre,mvaxvrivpu,mvatre,mvatneryyv,mvrfzre,mvrtrashff,mvroby,mrggyrzblre,mrggry,mreibf,mraxr,mrzobjre,mryrpubjfxv,mrynfxb,mrvfr,mrrx,mrro,mneyratn,mnerx,mnvqv,mnuabj,mnuaxr,mnunevf,mnpngr,mnoebpxv,mnobenp,lhepunx,lhratyvat,lbhavr,lbhatref,lbhryy,lbgg,lbfuvab,lbexf,lbeql,lbpurz,lrevpb,lreqba,lrvfre,lrnebhf,lrnevpx,lrnarl,loneeb,lnfhgnxr,lnfva,lnaxr,lnavfu,lnavx,lnznmnxv,lnzng,lnttv,kvzrarm,jlmneq,jlaqre,jlyl,jlxyr,jhgmxr,jhbev,jhregm,jhroxre,jevtugfry,jbebory,jbeyvr,jbesbeq,jberx,jbbyfba,jbbqebzr,jbbqyl,jbbqyvat,jbagbe,jbaqen,jbygrzngu,jbyyzre,jbyvafxv,jbysreg,jbwgnavx,jbwgnx,jbuysnegu,jbrfgr,jbooyrgba,jvgm,jvggzrlre,jvgpurl,jvfbgmxrl,jvfarjfxv,jvfzna,jvepu,jvccreg,jvaroret,jvzcrr,jvyhfm,jvygfrl,jvyyvt,jvyyvne,jvyyref,jvyynqfra,jvyqunore,jvyqnl,jvtunz,jvrjry,jvrgvat,jvrgoebpx,jvrfry,jvrfruna,jvrefrzn,jvrtreg,jvqarl,jvqznex,jvpxfba,jvpxvatf,jvpurea,jugvr,juvggvr,juvgyvatre,juvgsvyy,juvgroernq,juvfcryy,jurggra,jurryrl,jurryrf,jurryra,jungpbgg,jrlynaq,jrgre,jrfgehc,jrfgcunyra,jrfgyl,jrfgynaq,jrffyre,jrfbyvpx,jrfyre,jrfpur,jreel,jreb,jrearpxr,jrexubira,jryyfcrnx,jryyvatf,jrysbeq,jrynaqre,jrvfftreore,jrvfurvg,jrvaf,jrvyy,jrvtare,jrueznaa,jrueyrl,jruzrvre,jrtr,jrref,jrniref,jngevat,jnffhz,jnffzna,jnffvy,jnfunonhtu,jnfpure,jnegu,jneovatgba,jnapn,jnzznpx,jnzobyqg,jnygrezna,jnyxvatgba,jnyxraubefg,jnyvafxv,jnxyrl,jntt,jnqryy,ihpxbivpu,ibbtq,ibyyre,ibxrf,ibtyr,ibtryforet,ibqvpxn,ivffrevat,ivcbaq,ivapvx,ivyynyban,ivpxrezna,irggry,irgrgb,irfcrezna,irfpb,ireghppv,irefnj,ireon,iragevf,irarpvn,iraqryn,iranamv,iryquhvmra,iruef,inhtura,infvybcbhybf,infpbph,ineiry,ineab,ineynf,ineynaq,inevb,inerfpuv,inajlur,inajrryqra,inafpvire,inaanzna,inayhira,inaybb,inaynavatunz,inaxbzra,inaubhg,inaunzcyre,inatbec,inatbeqra,inaryyn,inaqerfne,inaqvf,inaqrlnpug,inaqrjrexre,inaqrifra,inaqrejnyy,inaqrepbbx,inaqreoret,inaoretra,inyxb,inyrfdhrm,inyrevnab,inyra,inpuhyn,inpun,hmrr,hfryzna,hevmne,hevba,heora,hcgurtebir,hamvpxre,hafryy,havpx,hzfpurvq,hzva,hznambe,hyyb,hyvpxv,huyve,hqqva,glgyre,glzrfba,gltre,gjvfqnyr,gjrqryy,gjrqqyr,gheerl,gherf,gheryy,ghcn,ghvgg,ghoreivyyr,gelare,gehzcbjre,gehzober,gebtyra,gebss,gebrfpu,gevivfbaab,gevggb,gevggra,gevgyr,gevccnal,gevatnyv,gergurjnl,gerba,gerwbf,gertbavat,gerssreg,genlpurss,geninyv,genhgu,genhreavpug,genafbh,genar,genan,gbirf,gbfgn,gbec,gbeadhvfg,gbearf,gbepuvb,gbbe,gbbxf,gbaxf,gbzoyvafba,gbznyn,gbyyvapuv,gbyyrf,gbxvpu,gbsgr,gbqzna,gvgmr,gvzcbar,gvyyrzn,gvraxra,gvoyvre,guloret,guhefol,guheeryy,guhez,guehzna,gubefgrq,gubeyrl,gubzre,gubra,guvffra,gurvzre,gunla,gunacnrat,gunzznibatfn,gunyzna,grkvren,grkvqbe,grireonhtu,grfxn,greahyyb,grcyvpn,grcr,grab,graubyqre,graohfpu,graoevax,grzol,grwrqbe,grvgfjbegu,grvpuznaa,gruna,grtgzrlre,grrf,grrz,gnlf,gnhoreg,gnhnerf,gnfpuyre,gnegnzryyn,gnedhvavb,gneohggba,gnccraqbes,gncvwn,gnafvy,gnaanuvyy,gnzbaqbat,gnynulgrjn,gnxnfuvzn,gnrpxre,gnoben,gnova,gnooreg,fmlzxbjfxv,fmlznabjfxv,flirefra,flergg,flaabgg,flqarf,fjvzz,fjrarl,fjrnertrar,fjnegmry,fjnafgebz,firqva,fhelna,fhccyvpr,fhcarg,fhbobqn,fhaqol,fhznln,fhznong,fhymra,fhxbingl,fhxuh,fhtrezna,fhtnyfxv,fhqjrrxf,fhqorpx,fhpunefxv,fghgurvg,fghzsbyy,fghssyr,fgehlx,fgehgm,fgehzcs,fgebjoevqtr,fgebguzna,fgebwal,fgebufpurva,fgebssbyvab,fgevooyr,fgeriry,fgeraxr,fgerzzvat,fgeruyr,fgenanx,fgenz,fgenpxr,fgbhqnzver,fgbexf,fgbcc,fgbaroernxre,fgbyg,fgbvpn,fgbsre,fgbpxunz,fgbpxsvfpu,fgwhfgr,fgvgryre,fgvzna,fgvyyvbaf,fgvyynobjre,fgvreyr,fgreynpr,fgrex,fgrccf,fgradhvfg,fgraare,fgryyzna,fgrvarf,fgrvaonhtu,fgrvaonpure,fgrvyvat,fgrvqry,fgrssrr,fgnivabun,fgnire,fgnfgal,fgnfvhx,fgneevpx,fgneyvcre,fgneyva,fgnavsbeq,fgnare,fgnaqer,fgnaqrsre,fgnaqnsre,fgnapmlx,fgnyyfzvgu,fgntyvnab,fgnruyr,fgnroyre,fgnql,fgnqgzvyyre,fdhlerf,fcheorpx,fcehax,fcenatre,fcbbanzber,fcbqra,fcvyqr,fcrmvb,fcrebf,fcrenaqvb,fcrppuvb,fcrneva,fcnlre,fcnyyvan,fcnqnsvab,fbivr,fbgryyb,fbegbe,fbegvab,fbebf,fbebyn,fbeoryyb,fbaare,fbaqnl,fbzrf,fbybjnl,fbraf,fbryyare,fbqreoybz,fbova,favrmrx,farnel,fzlyl,fzhgavpx,fzbbgf,fzbyqg,fzvgm,fzvgerfxv,fznyyra,fznqrf,fyhanxre,fyhxn,fybja,fybivpx,fybpbzo,fyvatre,fyvsr,fyrrgre,fynaxre,fxhspn,fxhovf,fxebpxv,fxbi,fxwrv,fxvygba,fxnexr,fxnyxn,fxnynx,fxnss,fvkxvyyre,fvgmr,fvgre,fvfxb,fvezna,fveyf,fvabggr,fvaba,fvapbpx,fvapronhtu,fvzzbzf,fvzvyvra,fvyivhf,fvygba,fvyybjnl,fvxxrzn,fvrenpxv,fvraxb,fvrzba,fvrzre,fvrsxre,fvroret,fvroraf,fvror,fvpheryyn,fvpbyn,fvpxyr,fuhzbpx,fuhzvybss,fuhssfgnyy,fuhrznxre,fuhneg,fuebss,fuerrir,fubfgnx,fubegrf,fubee,fuviyrl,fuvagnxh,fuvaqb,fuvzbzhen,fuvvtv,furebj,fureohea,furccf,furarsvryq,furyiva,furyfgnq,furyc,furvyq,furnzna,funhyvf,funeere,funecf,funecrf,funccl,funcreb,funabe,funaql,frlyyre,frirea,frffbz,frfyrl,freivqvb,freeva,freb,frcgba,frcgre,fraabgg,fratfgbpx,frass,frarfr,frzcevav,frzbar,frzoeng,fryin,fryyn,fryovt,frvare,frvs,frvqg,frueg,frrznaa,frryovaqre,frqynl,froreg,frnubyz,frnpbeq,frnohet,fphatvb,fpebttvr,fpevgpusvryq,fpevzcfure,fpenorpx,fpbepn,fpborl,fpvinyyl,fpujhyfg,fpujvaa,fpujvrfba,fpujrel,fpujrccr,fpujnegmraohe,fpuhem,fpuhzz,fpuhyraohet,fpuhss,fpuhreubym,fpuelre,fpuentre,fpubefpu,fpubauneqg,fpubrasryqre,fpubrpx,fpubro,fpuavgmyre,fpuavpx,fpuanhgm,fpuzvt,fpuzrygre,fpuzrvpury,fpuyhartre,fpuybforet,fpuybobuz,fpuyram,fpuyrzonpu,fpuyrvfzna,fpuyrvavat,fpuyrvss,fpuyrvqre,fpuvax,fpuvym,fpuvssyre,fpuvniv,fpurhre,fpurzbavn,fpurzna,fpuryo,fpunhy,fpunhsryoretr,fpunere,fpuneqg,fpuneonpu,fpunonpxre,fprr,fpnibar,fpnegu,fpnesbar,fpnyrfr,fnlar,fnlrq,fnivgm,fnggreyhaq,fnggnmnua,fngbj,fnfger,fnee,fnewrnag,fness,fneqryyn,fnagbln,fnagbav,fnagnv,fnaxbjfxv,fnasg,fnaqbj,fnaqbr,fnaqunhf,fnaqrsre,fnzcrl,fnzcrev,fnzznepb,fnzvn,fnzrx,fnznl,fnznna,fnyinqber,fnygarff,fnyftvire,fnyyre,fnynm,fnynab,fnxny,fnxn,fnvagybhvf,fnvyr,fnubgn,fnttrfr,fntnfghzr,fnqev,fnqnx,fnpurm,fnnysenax,fnny,fnnqru,elaa,elyrl,elyr,eltt,elonepmlx,ehmvpu,ehlgre,ehib,ehcry,ehbcc,ehaqyrgg,ehaqr,ehaqnyy,ehapx,ehxnivan,ehttvnab,ehsv,ehrs,ehoevtug,ehoob,ebjobggbz,ebgare,ebgzna,ebgujrvyre,ebguyvforetre,ebffrnh,ebffrna,ebffn,ebfb,ebfvrx,ebfuvn,ebfraxenaf,ebfrare,ebfrapenagm,ebfrapenaf,ebfryyb,ebdhrf,ebbxfgbby,ebaqb,ebznfnagn,ebznpx,ebxhf,ebujrqre,ebrguyre,ebrqvtre,ebqjryy,ebqevthf,ebqraorpx,ebqrsre,ebqnezry,ebpxzna,ebpxubyg,ebpubj,ebpurf,eboyva,eboyrm,eboyr,eboref,ebng,evmmn,evmiv,evmx,evkvr,evirveb,evhf,evgfpuneq,evgebingb,evfv,evfur,evccba,evaxf,evatyrl,evattraoret,evatrvfra,evznaqb,evyyrl,evwbf,evrxf,evrxra,evrpuzna,evqqyrl,evpbeq,evpxnonhtu,evpuzrvre,evpurfva,erlbyqf,erknpu,erdhran,ercchppv,ercbfn,eramhyyv,eragre,erzbaqvav,ervgure,ervfvt,ervsfavqre,ervsre,ervofbzr,ervoreg,erube,eruznaa,errqhf,erqfunj,erpmrx,erphcreb,erpbe,erpxneq,erpure,ernyohgb,enmre,enlzna,enlpensg,enlnf,enjyr,enivfpvbav,enirggb,eniraryyr,enhgu,enhc,enggyvss,enggyrl,engusba,engnw,enfavp,enccyrlrn,encncbeg,enafsbeq,enaa,enzcrefnq,enzvf,enzpunena,envaun,envasbegu,entnaf,entnvaf,ensvqv,enssrgl,enqhpun,enqfxl,enqyre,enqngm,enpmxbjfxv,enorabyq,dhenvfuv,dhvareyl,dhrepvn,dhneafgebz,chffre,chccb,chyyna,chyvf,chtry,chpn,cehan,cebjnag,cebivarf,cebax,cevaxyrgba,cevaqnyy,cevznf,cevrfzrlre,cevqtrgg,ceriragb,cergv,cerffre,cerfanyy,cerfrera,cerfnf,cerfn,cepuny,cenggvf,cengvyyb,cenfxn,cenx,cbjvf,cbjqreyl,cbfgyrjnvg,cbfgyr,cbfpu,cbegrhf,cbeenm,cbcjryy,cbcbss,cbcynfxv,cbavngbfxv,cbyyvan,cbyyr,cbyuvyy,cbyrggv,cbynfxv,cbxbearl,cbvagqrkgre,cbvafrggr,cybfmnw,cyvgg,cyrgm,cyrgfpu,cyrzry,cyrvgrm,cynlsbeq,cynkpb,cyngrx,cynzorpx,cyntraf,cynpvqb,cvfnefxv,cvahrynf,cvaarggr,cvavpx,cvaryy,cvapvneb,cvany,cvym,cvygm,cvyyvba,cvyxvagba,cvxhy,cvrcraohet,cvravat,cvruyre,cvrqenuvgn,cvrpubpxv,cvpxaryy,cvpxryfvzre,cvpu,cvpnevryyb,cubrhx,cuvyyvcfba,cuvyoreg,curevtb,curyxn,crirevav,crgenfu,crgenznyr,crgentyvn,crel,crefbavhf,creevatgba,creevyy,crecnyy,crebg,crezna,crentvar,cragynaq,craalphss,craavatre,craanpuvb,craqrkgre,cranyire,crymry,crygre,crybj,cryb,cryv,crvanqb,crqyrl,crphr,crpber,crpune,crnvef,cnlarf,cnlnab,cnjryx,cniybpx,cniyvpu,cnivpu,cnirx,cnhgyre,cnhyvx,cngzber,cngryyn,cngrr,cngnynab,cnffvav,cnffrev,cnfxryy,cneevtna,cnezne,cnenlab,cncneryyv,cnaghfb,cnagr,cnavpb,cnaqheb,cnantbf,cnzn,cnyzb,cnyybggn,cnyvat,cnynzvab,cnxr,cnwgnf,cnvygubecr,cnuyre,cntba,cntyvanjna,cntyrl,cntrg,cnrgm,cnrg,cnqyrl,cnpyro,cnpuryb,cnppvbar,cnorl,bmyrl,bmvzrx,bmnjn,bjarl,bhgenz,bhvyyrggr,bhqrxrex,bfgebfxl,bfgrezvyyre,bfgreznaa,bfgreybu,bfgresryq,bffrasbeg,bfbevn,bfuryy,befvab,befpurya,beevfba,bebexr,beryynab,berwhryn,beqblar,bcfnuy,bcynaq,babser,bantn,bznubal,byfmbjxn,byfuna,byyvt,byvss,byvra,byrkl,byqevqtr,byqsngure,bynyqr,bxha,bxhzbgb,bxgnirp,bxva,buzr,buyrznpure,bunarfvna,bqarny,bqtref,bqrexvex,bqqra,bpnva,boenqbivpu,bnxrl,ahffrl,ahamvngb,ahabm,ahaaraxnzc,ahapvb,abivryyb,abinprx,abgufgvar,abeguhz,abefra,abeynaqre,abexhf,abetnneq,aberan,aberq,aboertn,avmvbyrx,avaarznaa,avrinf,avrengxb,avrat,avrqrezrlre,avrqreznvre,avpbyyf,arjunz,arjpbzr,arjoretre,arivyyf,ariraf,ariry,arhzvyyre,arggv,arffyre,arevn,arzrg,aryba,aryyba,aryyre,arvfra,arvyyl,arvsre,arvq,arrevat,arrubhfr,arrs,arrqyre,aroretnyy,arnyvf,anhzbss,anhsmvatre,anehz,aneeb,aneenzber,anenvar,anccf,anafgrry,anzvfanx,anznaal,anyyvr,anxuyr,anvgb,anppnev,anoo,zlenpyr,zlunaq,zjnxvgjvyr,zhmml,zhfpbyvab,zhfpb,zhfpragr,zhfpng,zhfpnen,zhfnppuvn,zhfn,zheevfu,zhesva,zhenl,zhaaryyl,zhayrl,zhavirm,zhaqvar,zhaqnuy,zhanev,zhyyraark,zhyyraqber,zhyxurl,zhyvavk,zhyqref,zhuy,zhrapubj,zhryyare,zhqtrg,zhqtre,zhpxrashff,zhpuyre,zbmran,zbivhf,zbhyqva,zbgbyn,zbffrev,zbffn,zbfryyr,zbel,zbefryy,zbeevfu,zbeyrf,zbevr,zbethfba,zberfpb,zbepx,zbccva,zbbfzna,zbaghbev,zbagbab,zbagbtbzrel,zbagvf,zbagrevb,zbagre,zbafnyir,zbatbzrel,zbatne,zbaqryyb,zbapvinvf,zbaneq,zbantna,zbyg,zbyyraunhre,zbyqerz,zbyqbanqb,zbynab,zbxyre,zbvfnag,zbvynara,zbuezna,zbunznq,zbtre,zbtry,zbqvar,zbqva,zbqvp,zbqun,zylarx,zvln,zvggvtn,zvggna,zvgpurygerr,zvfsryqg,zvfrare,zvepunaqnav,zvenyyrf,zvbgxr,zvbfxl,zvagrl,zvaf,zvanffvna,zvane,zvzvf,zvyba,zvyybl,zvyyvfba,zvyvgb,zvysbeg,zvyoenqg,zvxhyvpu,zvxbf,zvxynf,zvurypvp,zvtyvbevfv,zvtyvbev,zvrfpu,zvqhen,zvpyrggr,zvpuryn,zvpnyr,zrmrl,zrjf,zrjrf,zrggreg,zrfxre,zrfvpu,zrfrpure,zreguvr,zrefzna,zrefrernh,zreevgurj,zreevbgg,zreevat,zreraqn,zrepura,zrepneqb,zrengv,zragmry,zragvf,zragry,zrabggv,zrab,zratyr,zraqbyvn,zryyvpx,zryyrgg,zryvpune,zryubea,zryraqerf,zrypuvbeer,zrvgmyre,zrugnav,zruegraf,zrqvgm,zrqrvenf,zrpxrf,zpgrre,zpgrr,zpcneynaq,zpavryy,zparnyrl,zpznanjnl,zpyrba,zpynl,zpynieva,zpxyirra,zpxvamrl,zpxra,zpxrnaq,zpxnyr,zpvyjenvgu,zpvyebl,zpterny,zptbhtna,zptrggvtna,zptnerl,zpsrrgref,zpryunal,zpqnevf,zppbzvf,zppbzore,zppbyz,zppbyyvaf,zppbyyva,zppbyynz,zppbnpu,zppybel,zppyraaba,zppngurea,zppnegurl,zppnefba,zppneery,zppnetne,zppnaqyrf,zppnzvfu,zppnyyl,zppntr,zpoernegl,zpnaral,zpnanyyra,zpnynearl,zpnsregl,znmmb,znml,znmhebjfxv,znmvdhr,znlbenf,znlqra,znkoreel,znhyyre,znghfvnx,znggfra,znggurl,zngxvaf,znguvnfra,zngur,zngrhf,zngnyxn,znfhyyb,znffnl,znfunx,znfpebsg,znegvark,znegrafba,znefvtyvn,znefryyn,znebhqnf,znebggr,zneare,znexrf,znerg,znerab,znerna,znepvaxvrjvpm,znepury,znenfvtna,znamhrgn,znamnavyyn,znagreanpu,znaevat,znadhreb,znabav,znaar,znaxbjfxv,znawneerf,znatra,znatng,znaqbanqb,znaqvn,znapvnf,znaorpx,znzebf,znygrm,znyyvn,znyyne,znyyn,znyra,znynfcvan,znynuna,znyntvfv,znynpubjfxv,znxbjfxl,znxvara,znxrcrnpr,znwxbjfxv,znwvq,znwrepva,znvfrl,znvathl,znvyyvneq,znvtana,znuyzna,znun,zntfnzra,zntchfnb,zntanab,zntyrl,zntrqnam,zntneryyv,zntnqqvab,znraare,znqavpx,znqqerl,znqnssnev,znpanhtugba,znpzhyyra,znpxfrl,znpxavtug,znpxv,znpvfnnp,znpvrwpmlx,znpvnt,znpurael,znpunzre,znpthver,znpqnavry,znppbeznpx,znppnor,znoobgg,znoo,ylabgg,ylpna,yhgjva,yhfpbzor,yhfpb,yhfneqv,yhevn,yharggn,yhaqfsbeq,yhznf,yhvfv,yhrinabf,yhrpxraubss,yhqtngr,yhqq,yhpurevav,yhoof,ybmnqb,ybheraf,ybhaforeel,ybhtuerl,ybhtunel,ybggba,ybffre,ybfuonhtu,ybfrxr,ybfpnymb,ybegm,ybcreran,ybbgf,ybbfyr,ybbzna,ybatfgnss,ybatboneqv,ybatobggbz,ybznl,ybznfarl,ybueznaa,ybuzvyyre,ybtnyob,ybrgm,ybrssry,ybqjvpx,ybqevthr,ybpxerz,yyren,yyneran,yvggery,yvggznaa,yvffre,yvccn,yvcare,yvaarznaa,yvatt,yvaqrzhgu,yvaqrra,yvyyvt,yvxvaf,yvrhenapr,yvrfznaa,yvrfzna,yvraqb,yvpxreg,yvpuyvgre,yrlinf,yrlere,yrjl,yrhoare,yrffyvr,yrfavpx,yrfzrevfrf,yreab,yrdhver,yrcren,yrcneq,yrafxr,yrarnh,yrzcxn,yrzzra,yrzz,yrzrer,yrvauneg,yrvpuare,yrvpure,yrvozna,yruzoret,yrttvaf,yrorqn,yrniratbbq,yrnaneq,ynmnebss,yniragher,yninag,ynhfgre,ynhzrn,yngvtb,ynfbgn,ynfuher,ynfrpxv,ynfphenva,ynegvthr,ynebhpur,ynccr,yncynhag,yncynpr,ynahz,ynafqryy,ynacure,ynabvr,ynaxneq,ynavnqb,ynatbjfxv,ynatubea,ynatsvryq,ynatsryqg,ynaqg,ynaqrezna,ynaqninmb,ynzcb,ynzcxr,ynzcre,ynzrel,ynzorl,ynznqevq,ynyyrznaq,ynvfher,ynvtb,ynthre,yntrezna,yntrzna,yntnerf,ynpbffr,ynpunccryyr,ynobea,ynobaar,xhmvn,xhgg,xhgvy,xhelyb,xhebjfxv,xhevtre,xhcpub,xhymre,xhyrfn,xhyrf,xhuf,xhuar,xehgm,xehf,xehcxn,xebaoret,xebzxn,xebrfr,xevmrx,xevinarx,xevatry,xervff,xengbsvy,xencc,xenxbjfxl,xenpxr,xbmybj,xbjnyq,xbire,xbinyrfxv,xbgunxbgn,xbfgra,xbfxvara,xbfvgmxr,xbess,xbeone,xbccyva,xbcyva,xbbf,xbala,xbapmnx,xbzc,xbzb,xbyore,xbynfu,xbynxbjfxv,xbuz,xbtra,xbrfgare,xbrtyre,xbqnzn,xbpvx,xbpuurvfre,xboyre,xbonen,xarmrivpu,xarvsy,xancpuhpx,xanoo,xyhtzna,xybfare,xyvatry,xyvzrfu,xyvpr,xyrl,xyrccr,xyrzxr,xyrvaznaa,xyrvaunaf,xyrvaoret,xyrssare,xyrpxyrl,xynfr,xvfgb,xvffvpx,xvffryohet,xvefpuzna,xvexf,xvexare,xvexrl,xvepuzna,xvaivyyr,xvaahara,xvzzrl,xvzzreyr,xvzoyrl,xvygl,xvygf,xvyyzrlre,xvyyvyrn,xvyynl,xvrfg,xvrepr,xvrcreg,xvryzna,xunyvq,xrjny,xrfmyre,xrffba,xrfvpu,xrejbbq,xrexfvrx,xrexubss,xreob,xrenara,xrbzhnatgnv,xragre,xraaryyrl,xravel,xraqmvrefxv,xrzcare,xrzzvf,xrzreyvat,xryfnl,xrypuare,xryn,xrvguyl,xrvcr,xrtt,xrre,xrnurl,xnljbbq,xnlrf,xnjnunen,xnfhobfxv,xnfgraqvrpx,xnffva,xnfcemlx,xneenxre,xneabsfxv,xnezna,xnetre,xnetr,xneryyn,xneobjfxv,xnccunua,xnaary,xnzengu,xnzvare,xnznafxl,xnyhn,xnygm,xnycnxbss,xnyxoeraare,xnxh,xnvo,xnruyre,xnpxyrl,xnore,whfgb,whevf,whevpu,whetrafba,wherm,whabe,whavry,whapxre,whtb,whoreg,wbjryy,wbinabivp,wbbfgra,wbapnf,wbzn,wbuafb,wbunaaf,wbqbva,wbpxref,wbnaf,wvajevtug,wvararm,wvzrfba,wreergg,wretraf,wreqra,wreqrr,wrccrefba,wraqenf,wrnasenapbvf,wnmjn,wnhffv,wnfgre,wnembzorx,wnerapvb,wnabpun,wnxno,wnqybjvrp,wnpbofzn,wnpu,vmndhveer,vjnbxn,vinfxn,vgheor,vfenryfba,vfyrf,vfnpufra,vfnnx,veynaq,vamrevyyb,vafbtan,vatrtarev,vatnyfor,vapvbat,vantnxv,vprabtyr,ulrgg,ulref,uhlpx,uhggv,uhggra,uhganx,uhffne,uheeyr,uhesbeq,uheqr,uhccre,uhaxva,uhaxryr,uhaxr,uhznaa,uhugnfnnev,uhtry,uhssg,uhrtry,uebofxl,uera,ublyrf,ubifrcvna,ubiratn,ubinggre,ubhqrx,ubgmr,ubffyre,ubffsryq,ubffrvav,ubegra,ubeg,ubee,ubetra,ubera,ubbcvv,ubba,ubbtynaq,ubagm,ubaabyq,ubzrjbbq,ubyjnl,ubygterjr,ubygna,ubyfgebz,ubyfgrtr,ubyyjnl,ubyyvatfurq,ubyyraonpx,ubyyneq,ubyoregba,ubvarf,ubtrynaq,ubsfgnq,ubrgtre,ubra,ubntyhaq,uvebgn,uvagrezrvfgre,uvaara,uvaqref,uvaqrere,uvapurr,uvzrysneo,uvzore,uvymre,uvyyvat,uvyyref,uvyyrtnf,uvyqvatre,uvtavtug,uvtuzna,uvreubymre,urlqr,urggvpu,urfxrgu,uremsryq,uremre,urefurafba,urefuoret,ureanaqb,urezrartvyqb,urergu,urereen,urerqn,ureova,urengl,ureneq,urcn,urafpury,uraevpufra,uraarf,uraaroretre,uravatohet,uravt,uraqeba,uraqrevpxf,urzcyr,urzcr,urzzvatfra,urzyre,uryivr,uryzyl,uryzoerpug,uryvat,uryva,uryserl,uryoyr,urynver,urvmzna,urvffre,urval,urvaonhtu,urvqrznaa,urvqrzn,urvoretre,urtry,urreqg,urrt,urrsare,urpxrezna,urpxraqbes,urniva,urnqzna,unlarfjbegu,unlybpx,unlnxnjn,unjxfyrl,unirefgvpx,unhg,unhfra,unhxr,unhobyq,unggna,unggnonhtu,unffgrqg,unfurz,unfryubefg,uneevfg,unecfg,unebyqfra,unezvfba,unexrzn,unevfba,unevev,unephf,unephz,unepunevx,unamry,unairl,unagm,unafpur,unaforetre,unaavt,unaxra,unauneqg,unas,unanhre,unzoreyva,unyjneq,unyfnyy,unyf,unyydhvfg,unyyzba,unyx,unyonpu,unyng,unwqnf,unvafjbegu,unvx,unuz,unttre,unttne,unqre,unqry,unqqvpx,unpxznaa,unnfpu,unns,thmmrggn,thml,thggrezna,thgznaa,thgxbjfxv,thfgvar,thefxl,theare,thafbyyrl,thzcreg,thyyn,thvyznva,thvyvnav,thvre,thref,threreb,threran,thronen,thnqvnan,tehaqre,tebgubss,tebfynaq,tebfu,tebbf,tebuf,tebuznaa,tebrccre,tebqv,tevmmnssv,tevffvatre,tevccv,tevaqr,tevssrr,tergure,teravatre,tervtb,tertbefxv,tertre,tertn,terraoretre,tenmn,tenggna,tenffr,tenab,tenzol,tenqvyyn,tbiva,tbhgerzbhg,tbhynf,tbgnl,tbfyvat,tberl,tbeqare,tbbffra,tbbqjngre,tbamntn,tbalb,tbafxn,tbatnyirf,tbzvyyvba,tbzobf,tbybaxn,tbyyzna,tbyqgenc,tbyqnzzre,tbynf,tbyno,tbyn,tbtna,tbsszna,tbrccvatre,tbqxva,tbqrggr,tyber,tybzo,tynhare,tynffrl,tynfare,tvivqra,tvhssevqn,tvfuny,tvbinaryyv,tvabmn,tvaaf,tvaqyrfcretre,tvaquneg,tvyyrz,tvytre,tvttrl,tvroare,tvoofba,tvnpbzb,tvnpbybar,tvnppbar,tvnppuvab,turer,tureneqvav,tureneqv,tsryyre,trggf,trejvgm,treiva,trefgyr,tresva,trerzvn,trepnx,trare,trapneryyv,trueba,trueznaa,trssref,trrel,trngre,tnjyvx,tnhqvab,tnefvn,tneenuna,tneenoenag,tnebsbyb,tnevtyvnab,tnesvaxyr,tneryvpx,tneqbpxv,tnensbyn,tnccn,tnagare,tnagure,tnatryubss,tnzneen,tnyfgnq,tnyyl,tnyyvx,tnyyvre,tnyvzon,tnyv,tnynffv,tnvtr,tnqfol,tnoova,tnonx,slnyy,shearl,sharm,shyjvqre,shyfba,shxhantn,shwvxnjn,shtrer,shregrf,shqn,selfba,sehzc,sebguvatunz,sebavat,sebapvyyb,sebuyvat,seboret,sebngf,sevgpuzna,sevfpur,sevrqevpufra,sevrqznaa,sevqqryy,sevq,serfpu,seragmry,serab,serybj,servzhgu,servqry,serruna,serrol,serrohea,serqvrh,serqrevxfra,serqrra,senmryy,senlfre,sengmxr,senggvav,senamr,senavpu,senaprfpba,senzre,sentzna,senpx,sbkr,sbjyfgba,sbforet,sbegan,sbeangneb,sbeqra,sbbgf,sbbql,sbtg,sbtyvn,sbtregl,sbtryfba,syltner,sybjr,syvaare,syrz,syngu,syngre,synunira,synq,swryq,svgnavqrf,svfgyre,svfuonhtu,svefpuvat,svamry,svavpny,svatne,svybfn,svyvprggv,svyol,svrefg,svreen,svpxyra,svpure,srefare,sreehsvab,sreehppv,sreb,sreyraqn,srexb,sretrefgebz,sretr,sragl,srag,sraavzber,sraqg,srzng,sryhk,sryzna,sryqunhf,srvfgunzry,srvwbb,srvregnt,sruezna,sruy,srrmryy,srronpx,srqvtna,srqqre,srpuare,srnel,snlfba,snlybe,snhgrhk,snhfgvav,snher,snhpv,snhore,snggvt,sneehttvb,sneeraf,snenpv,snagvav,snagva,snaab,snaavatf,snavry,snyynj,snyxre,snyxrauntra,snwra,snueare,snory,snonpure,rlgpurfba,rlfgre,rksbeq,rkry,rirggf,rirafgnq,rinaxb,rherfgv,rhore,rgpvggl,rfgyre,rffare,rffvatre,rfcynva,rfcrafunqr,rfcnvyyng,rfpevonab,rfpbepvn,reevatgba,reergg,reeren,reynatre,reraevpu,rerxfba,reore,ragvatre,rafjbegu,rafryy,raab,raara,ratyva,ratoybz,ratorefba,rapvavnf,ranzn,rzry,rymvr,ryfoerr,ryzna,ryyroenpug,ryxna,rysfgebz,ryrefba,ryrnmre,ryrnz,ryqevtr,rypbpx,rvafcnue,rvxr,rvqfpuha,rvpxzna,rvpuryr,rvpur,ruyxr,rthpuv,rttvax,rqbhneq,rqtruvyy,rpxrf,royva,rooregf,rnirafba,rneiva,rneqyrl,rntba,rnqre,qmhonx,qlyyn,qlpxzna,qjver,qhgebj,qhgvyr,qhfmn,qhfgzna,qhfvat,qhelrr,qhehcna,qhegfpuv,qhegfpur,qheryy,qhaal,qhaartna,qhaxra,qhzz,qhynx,qhxre,qhxrybj,qhsbeg,qhsvyub,qhssrr,qhrgg,qhrpx,qhqmvafxv,qhqnfvx,qhpxjnyy,qhpurzva,qhoebj,qhovf,qhovpxv,qhon,qehfg,qehpxzna,qevaara,qerjrgg,qerjry,qervgmyre,qerpxzna,qenccb,qenssra,qenonag,qblra,qbjqvat,qbho,qbefba,qbefpuare,qbeevatgba,qbearl,qbeznvre,qbess,qbepl,qbatrf,qbaryyl,qbary,qbznathr,qbyf,qbyynuvgr,qbyrfr,qbyqb,qbvyrl,qbuezna,qbua,qbural,qbprgv,qboel,qboevafxv,qborl,qvivapramb,qvfpuvatre,qvehffb,qvebppb,qvcvnab,qvbc,qvavggb,qvaruneg,qvzfqnyr,qvzvavpu,qvznynagn,qvyynibh,qvyryyb,qvshfpb,qvssrl,qvssraqresre,qvssrr,qvsryvpr,qvsnovb,qvrgmzna,qvrgrzna,qvrcraoebpx,qvrpxznaa,qvpnzcyv,qvonev,qvnmqryrba,qvnyyb,qrjvgm,qrjvry,qribyy,qriby,qrivaprag,qrivre,qriraqbes,qrinyx,qrggra,qrgentyvn,qrgubznf,qrgrzcyr,qrfyre,qrfuneanvf,qrfnagl,qrebppb,qrezre,qrexf,qrevgb,qreunzzre,qrenarl,qrdhnggeb,qrcnff,qrcnqhn,qralrf,qralre,qragvab,qrayvatre,qrarny,qrzbel,qrzbcbhybf,qrzbagvtal,qrzbagr,qrzrmn,qryfby,qryebffb,qrycvg,qrycncn,qrybhvfr,qrybar,qryb,qryzhaqb,qryzber,qryyncnbyren,qrysva,qrysvreeb,qryrbaneqvf,qryravpx,qrypneyb,qrypnzcb,qrypnzc,qrynjlre,qrynebpn,qrynyhm,qrynuhag,qrynthneqvn,qrxrlfre,qrxnl,qrwnrtre,qrwnpxbzr,qrunl,qrunff,qrtenssraevrq,qrtrauneg,qrtna,qrrire,qrrqevpx,qrpxryonhz,qrpuvpb,qrprppb,qrpnfnf,qroebpx,qroban,qrornhzbag,qroneebf,qronpn,qrnezber,qrnatryhf,qrnyzrvqn,qnjbbq,qniarl,qnhqg,qngev,qnfthcgn,qneevat,qneenpbgg,qnephf,qnbhq,qnafohel,qnaaryf,qnavryfxv,qnarul,qnaprl,qnzbhe,qnzoen,qnypbhe,qnuyurvzre,qnqvfzna,qnphagb,qnpnznen,qnor,plehyvx,plcureg,pjvx,phffra,pheyrf,phevg,pheol,pheob,phanf,phaneq,phanana,phzcgba,phypnfv,phpvabggn,phppb,pfhonx,pehguveq,pehzjryy,pehzzvgg,pehzrql,pebhgunzry,pebapr,pebznpx,pevfnsv,pevzva,perfgb,perfpramb,perzbarfr,perrqba,penaxfunj,pbmmraf,pbiny,pbhegjevtug,pbhepryyr,pbhcynaq,pbhavuna,pbhyyneq,pbgeryy,pbftenir,pbearyvb,pbevfu,pbeqbhn,pbeovg,pbccrefzvgu,pbbasvryq,pbaivyyr,pbageryy,pbagragb,pbafre,pbaebq,pbaabyr,pbatebir,pbarel,pbaqenl,pbyire,pbygzna,pbysyrfu,pbypbeq,pbynivgb,pbyne,pbvyr,pbttna,pbrara,pbqyvat,pbqn,pbpxebsg,pbpxery,pbpxrevyy,pbppn,pboreyrl,pybhqra,pybf,pyvfu,pyvaxfpnyr,pyrfgre,pynzzre,pvggnqvab,pvgenab,pverfv,pvyyvf,pvppneryyv,pvobebjfxv,pvneyb,pvneqhyyb,puevggba,pubcc,puvepb,puvypbng,purinevr,purfynx,pureanx,punl,punggrewrr,punggra,pungntavre,punfgva,puncchvf,punaarl,punzcynva,punyhcfxl,punysva,punssre,punqrx,punqqregba,prfgbar,prfgreb,prfgnev,preebf,prezrab,pragbyn,prqebar,pnlbhrggr,pnina,pninyvreb,pnfhfr,pnfgevpbar,pnfgberab,pnfgra,pnfgnanqn,pnfgntabyn,pnffgriraf,pnffnabin,pnfcnev,pnfure,pnfungg,pnfpb,pnfnffn,pnfnq,pneivyyr,pnegynaq,pnegrtran,pnefrl,pnefra,pneevab,pneevyb,pnecvagrleb,pnezyrl,pneyfgba,pneyffba,pnevqqv,pnevpbsr,pnery,pneql,pneqhppv,pneol,pnenatryb,pncevbggv,pncevn,pncenevb,pncryb,pnahy,pnaghn,pnagybj,pnaal,pnatvnybfv,pnarcn,pnaqynaq,pnzcbyb,pnzcv,pnzbef,pnzvab,pnzsvryq,pnzryb,pnznereb,pnznrub,pnyinab,pnyyvfgr,pnyqneryyn,pnyphgg,pnypnab,pnvffvr,pntre,pnppnzb,pnobgntr,pnooyr,olzna,ohmol,ohgxbjfxv,ohffyre,ohfvpb,ohfubivfxl,ohfova,ohfneq,ohfnynppuv,ohegzna,oheebhf,oheevqtr,oheere,oheab,oheva,ohetrggr,oheqbpx,oheqvre,ohepxuneq,ohagra,ohatnl,ohaqntr,ohzol,ohygrzn,ohyvafxv,ohyna,ohxunev,ohtnafxv,ohrexyr,ohra,ohruy,ohqmlafxv,ohpxunz,oelx,oelqba,oehlrer,oehafibyq,oehaargg,oehaxre,oehasvryq,oehzoyr,oehr,oebmvan,oebffzna,oebfrl,oebbxraf,oebrefzn,oebqevpx,oebpxzrvre,oebpxubhfr,oevfxl,oevaxyl,oevaprsvryq,oevturagv,oevtnagr,oevrab,oevrqr,oevqraonhtu,oevpxrgg,oerfxr,oerare,oerapuyrl,oervgxerhgm,oervgoneg,oervfgre,oervavat,oervtuare,oervqry,oeruba,oerural,oerneq,oernxryy,oenmvyy,oenlzvyyre,oenhz,oenh,oenfunj,oenafbz,oenaqbyvab,oenapngb,oenantna,oenss,oenqvat,oenpxre,oenpxraohel,oenpure,oennfpu,oblyra,oblqn,oblnagba,objyhf,objqvgpu,obhgbg,obhguvyyrggr,obhefvdhbg,obhewbyyl,obherg,obhyrevpr,obhre,obhpuvyyba,obhpuvr,obggva,obgrvyub,obfxb,obfnpx,obelf,obef,obeyn,obewba,obetuv,obenu,obbgra,obber,obahm,obaar,obatref,obargn,obanjvgm,obanaav,obzre,obyyra,obyyneq,obyyn,obyvb,obvffrnh,obvrf,obvnav,obubedhrm,obtubffvna,obrfcsyht,obrfre,obruy,obrtry,obqevpx,obqxvaf,obqrafgrva,obqryy,obpxbire,obppv,oboof,obnyf,obnua,obnqjnl,oyhzn,oyhrgg,oybbe,oybzxre,oyriraf,oyrgura,oyrrpxre,oynlarl,oynfxr,oynfrggv,oynapnf,oynpxare,owbexdhvfg,owrex,ovmho,ovfbab,ovftrf,ovfnvyyba,ovee,oveavr,overf,oveqgnvy,oveqvar,ovan,ovyybpx,ovyyvatre,ovyyvt,ovyyrg,ovtjbbq,ovtnyx,ovryvpxv,ovqqvpx,ovpphz,ovnsber,ountng,ormn,orlnu,orivre,oriryy,orhgr,orgmre,orggunhfre,orgunl,orguneq,orfunj,oregubys,oregryf,oreevqtr,oreabg,oreangu,oreanorv,orexfba,orexbivgm,orexvpu,oretfgra,oretrg,orermal,oreqva,orbhture,oraguva,oraunvz,orarangv,orarwna,orzvff,orybngr,oryyhppv,oryybggv,oryyvat,oryyvqb,oryynver,oryynsvber,orxvaf,orxryr,orvfu,oruaxra,orreyl,orqqb,orpxrg,orpxr,orornh,ornhpunvar,ornhpntr,ornqyvat,ornpure,onmne,onlfzber".split(","))),
+o("user_inputs",I)];B=v.concat([function(b){var a,d,c,e,f,g,h,i,j,k,l,m,p,n,o,q;f=[];o=R(T(b));j=0;for(m=o.length;j<m;j++){g=o[j];if(Q(g))break;k=0;for(p=v.length;k<p;k++){c=v[k];e=W(b,g);q=c(e);l=0;for(n=q.length;l<n;l++)if(c=q[l],i=b.slice(c.i,+c.j+1||9E9),i.toLowerCase()!==c.matched_word){e={};for(h in g)a=g[h],-1!==i.indexOf(h)&&(e[h]=a);c.l33t=!0;c.token=i;c.sub=e;i=c;var C=void 0,C=[];for(d in e)a=e[d],C.push(""+d+" -> "+a);i.sub_display=C.join(", ");f.push(c)}}}return f},function(b){var a,
+d,c,e,f,g;f=q(b,P);g=[];c=0;for(e=f.length;c<e;c++)a=f[c],d=[a.i,a.j],a=d[0],d=d[1],g.push({pattern:"digits",i:a,j:d,token:b.slice(a,+d+1||9E9)});return g},function(b){var a,d,c,e,f,g;f=q(b,X);g=[];c=0;for(e=f.length;c<e;c++)a=f[c],d=[a.i,a.j],a=d[0],d=d[1],g.push({pattern:"year",i:a,j:d,token:b.slice(a,+d+1||9E9)});return g},function(b){return N(b).concat(M(b))},function(b){var a,d,c;c=[];for(a=0;a<b.length;){for(d=a+1;;)if(b.slice(d-1,+d+1||9E9),b.charAt(d-1)===b.charAt(d))d+=1;else{2<d-a&&c.push({pattern:"repeat",
+i:a,j:d-1,token:b.slice(a,d),repeated_char:b.charAt(a)});break}a=d}return c},function(b){var a,d,c,e,f,g,h,i,j,k,l,m,n;i=[];for(f=0;f<b.length;){g=f+1;m=n=j=null;for(l in x)if(k=x[l],c=function(){var c,d,e,h;e=[b.charAt(f),b.charAt(g)];h=[];c=0;for(d=e.length;c<d;c++)a=e[c],h.push(k.indexOf(a));return h}(),e=c[0],c=c[1],-1<e&&-1<c&&(e=c-e,1===e||-1===e)){j=k;n=l;m=e;break}if(j)for(;;)if(e=b.slice(g-1,+g+1||9E9),h=e[0],d=e[1],c=function(){var b,c,e,f;e=[h,d];f=[];b=0;for(c=e.length;b<c;b++)a=e[b],
+f.push(k.indexOf(a));return f}(),e=c[0],c=c[1],c-e===m)g+=1;else{2<g-f&&i.push({pattern:"sequence",i:f,j:g-1,token:b.slice(f,g),sequence_name:n,sequence_space:j.length,ascending:1===m});break}f=g}return i},function(b){var a,d,c;c=[];for(d in H)a=H[d],z(c,V(b,a,d));return c}]);H={qwerty:F,dvorak:{"!":["`~",null,null,"2@","'\"",null],'"':[null,"1!","2@",",<","aA",null],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"&":["6^",null,null,"8*",
+"gG","fF"],"'":[null,"1!","2@",",<","aA",null],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"*":["7&",null,null,"9(","cC","gG"],"+":["/?","]}",null,"\\|",null,"-_"],",":"'\",2@,3#,.>,oO,aA".split(","),"-":["sS","/?","=+",null,null,"zZ"],".":",< 3# 4$ pP eE oO".split(" "),"/":"lL,[{,]},=+,-_,sS".split(","),"0":["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@","'\"",null],2:["1!",null,null,"3#",",<","'\""],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",
+".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],":":[null,"aA","oO","qQ",null,null],";":[null,"aA","oO","qQ",null,null],"<":"'\",2@,3#,.>,oO,aA".split(","),"=":["/?","]}",null,"\\|",null,"-_"],">":",< 3# 4$ pP eE oO".split(" "),"?":"lL,[{,]},=+,-_,sS".split(","),"@":["1!",null,null,"3#",",<","'\""],A:[null,"'\"",",<","oO",";:",null],B:["xX","dD","hH","mM",null,null],C:"gG,8*,9(,rR,tT,hH".split(","),
+D:"iI,fF,gG,hH,bB,xX".split(","),E:"oO,.>,pP,uU,jJ,qQ".split(","),F:"yY,6^,7&,gG,dD,iI".split(","),G:"fF,7&,8*,cC,hH,dD".split(","),H:"dD,gG,cC,tT,mM,bB".split(","),I:"uU,yY,fF,dD,xX,kK".split(","),J:["qQ","eE","uU","kK",null,null],K:["jJ","uU","iI","xX",null,null],L:"rR,0),[{,/?,sS,nN".split(","),M:["bB","hH","tT","wW",null,null],N:"tT,rR,lL,sS,vV,wW".split(","),O:"aA ,< .> eE qQ ;:".split(" "),P:".>,4$,5%,yY,uU,eE".split(","),Q:[";:","oO","eE","jJ",null,null],R:"cC,9(,0),lL,nN,tT".split(","),S:"nN,lL,/?,-_,zZ,vV".split(","),
+T:"hH,cC,rR,nN,wW,mM".split(","),U:"eE,pP,yY,iI,kK,jJ".split(","),V:["wW","nN","sS","zZ",null,null],W:["mM","tT","nN","vV",null,null],X:["kK","iI","dD","bB",null,null],Y:"pP,5%,6^,fF,iI,uU".split(","),Z:["vV","sS","-_",null,null,null],"[":["0)",null,null,"]}","/?","lL"],"\\":["=+",null,null,null,null,null],"]":["[{",null,null,null,"=+","/?"],"^":["5%",null,null,"7&","fF","yY"],_:["sS","/?","=+",null,null,"zZ"],"`":[null,null,null,"1!",null,null],a:[null,"'\"",",<","oO",";:",null],b:["xX","dD","hH",
+"mM",null,null],c:"gG,8*,9(,rR,tT,hH".split(","),d:"iI,fF,gG,hH,bB,xX".split(","),e:"oO,.>,pP,uU,jJ,qQ".split(","),f:"yY,6^,7&,gG,dD,iI".split(","),g:"fF,7&,8*,cC,hH,dD".split(","),h:"dD,gG,cC,tT,mM,bB".split(","),i:"uU,yY,fF,dD,xX,kK".split(","),j:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],l:"rR,0),[{,/?,sS,nN".split(","),m:["bB","hH","tT","wW",null,null],n:"tT,rR,lL,sS,vV,wW".split(","),o:"aA ,< .> eE qQ ;:".split(" "),p:".>,4$,5%,yY,uU,eE".split(","),q:[";:","oO","eE","jJ",
+null,null],r:"cC,9(,0),lL,nN,tT".split(","),s:"nN,lL,/?,-_,zZ,vV".split(","),t:"hH,cC,rR,nN,wW,mM".split(","),u:"eE,pP,yY,iI,kK,jJ".split(","),v:["wW","nN","sS","zZ",null,null],w:["mM","tT","nN","vV",null,null],x:["kK","iI","dD","bB",null,null],y:"pP,5%,6^,fF,iI,uU".split(","),z:["vV","sS","-_",null,null,null],"{":["0)",null,null,"]}","/?","lL"],"|":["=+",null,null,null,null,null],"}":["[{",null,null,null,"=+","/?"],"~":[null,null,null,"1!",null,null]},keypad:G,mac_keypad:{"*":["/",null,null,null,
+null,null,"-","9"],"+":["6","9","-",null,null,null,null,"3"],"-":["9","/","*",null,null,null,"+","6"],".":["0","2","3",null,null,null,null,null],"/":["=",null,null,null,"*","-","9","8"],"0":[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:"4,7,8,9,6,3,2,1".split(","),6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,
+"=","/","9","6","5","4"],9:"8,=,/,*,-,+,6,5".split(","),"=":[null,null,null,null,"/","9","8","7"]}};o=function(b){var a,d,c,e,f;a=0;for(c in b)f=b[c],a+=function(){var a,b,c;c=[];a=0;for(b=f.length;a<b;a++)(e=f[a])&&c.push(e);return c}().length;return a/=function(){var a;a=[];for(d in b)a.push(d);return a}().length};qa=o(F);sa=o(G);pa=function(){var b;b=[];for(w in F)b.push(w);return b}().length;ra=function(){var b;b=[];for(w in G)b.push(w);return b}().length;J=function(){return(new Date).getTime()};
+o=function(b,a){var d,c,e,f;c=J();if(null!=a){d=e=0;for(f=a.length;0<=f?e<f:e>f;d=0<=f?++e:--e)I[u(a[d].toLowerCase())]=d+1}d=S(b);d=ka(b,d);d.calc_time=J()-c;return d};"undefined"!==typeof window&&null!==window?(window.zxcvbn=o,"function"===typeof window.zxcvbn_load_hook&&window.zxcvbn_load_hook()):"undefined"!==typeof exports&&null!==exports&&(exports.zxcvbn=o)})();
index 4c42134e7a7d689c22d66aeb049b3140c7436900..caacd29ed7d42924a41a4d34371bde41b6612096 100644 (file)
@@ -230,6 +230,7 @@ if ( ! CUSTOM_TAGS ) {
                ),
                'li' => array(
                        'align' => true,
                ),
                'li' => array(
                        'align' => true,
+                       'value' => true,
                ),
                'map' => array(
                        'name' => true,
                ),
                'map' => array(
                        'name' => true,
index 750e08dec4afa6ebc3043333f4ca28769aa4e240..0687ca6b8942e2e9a40671adee0faf37db92e563 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 /**
  */
 
 /**
- * Gets the current locale.
+ * Get the current locale.
  *
  * If the locale is set, then it will filter the locale in the 'locale' filter
  * hook and return the value.
  *
  * If the locale is set, then it will filter the locale in the 'locale' filter
  * hook and return the value.
@@ -20,8 +20,6 @@
  * always be filtered using the 'locale' hook.
  *
  * @since 1.5.0
  * always be filtered using the 'locale' hook.
  *
  * @since 1.5.0
- * @uses apply_filters() Calls 'locale' hook on locale value.
- * @uses $locale Gets the locale stored in the global.
  *
  * @return string The locale of the blog or from the 'locale' hook.
  */
  *
  * @return string The locale of the blog or from the 'locale' hook.
  */
@@ -29,6 +27,13 @@ function get_locale() {
        global $locale;
 
        if ( isset( $locale ) )
        global $locale;
 
        if ( isset( $locale ) )
+               /**
+                * Filter WordPress install's locale ID.
+                *
+                * @since 1.5.2
+                *
+                * @param string $locale The locale ID.
+                */
                return apply_filters( 'locale', $locale );
 
        // WPLANG is defined in wp-config.
                return apply_filters( 'locale', $locale );
 
        // WPLANG is defined in wp-config.
@@ -48,27 +53,49 @@ function get_locale() {
        if ( empty( $locale ) )
                $locale = 'en_US';
 
        if ( empty( $locale ) )
                $locale = 'en_US';
 
+       // duplicate_hook
        return apply_filters( 'locale', $locale );
 }
 
 /**
        return apply_filters( 'locale', $locale );
 }
 
 /**
- * Retrieves the translation of $text. If there is no translation, or
- * the domain isn't loaded, the original text is returned.
+ * Retrieve the translation of $text.
+ *
+ * If there is no translation, or the text domain isn't loaded, the original text is returned.
+ *
+ * <strong>Note:</strong> Don't use translate() directly, use __() or related functions.
  *
  *
- * @see __() Don't use translate() directly, use __()
  * @since 2.2.0
  * @since 2.2.0
- * @uses apply_filters() Calls 'gettext' on domain translated text
- *             with the untranslated text as second parameter.
  *
  *
- * @param string $text Text to translate.
- * @param string $domain Domain to retrieve the translated text.
+ * @param string $text   Text to translate.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
  * @return string Translated text
  */
 function translate( $text, $domain = 'default' ) {
        $translations = get_translations_for_domain( $domain );
  * @return string Translated text
  */
 function translate( $text, $domain = 'default' ) {
        $translations = get_translations_for_domain( $domain );
-       return apply_filters( 'gettext', $translations->translate( $text ), $text, $domain );
+       $translations = $translations->translate( $text );
+       /**
+        * Filter text with its translation.
+        *
+        * @since 2.0.11
+        *
+        * @param string $translations Translated text.
+        * @param string $text         Text to translate.
+        * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
+        */
+       return apply_filters( 'gettext', $translations, $text, $domain );
 }
 
 }
 
+/**
+ * Remove last item on a pipe-delimited string.
+ *
+ * Meant for removing the last item in a string, such as 'Role name|User role'. The original
+ * string will be returned if no pipe '|' characters are found in the string.
+ *
+ * @since 2.8.0
+ *
+ * @param string $string A pipe-delimited string.
+ * @return string Either $string or everything before the last pipe.
+ */
 function before_last_bar( $string ) {
        $last_bar = strrpos( $string, '|' );
        if ( false == $last_bar )
 function before_last_bar( $string ) {
        $last_bar = strrpos( $string, '|' );
        if ( false == $last_bar )
@@ -77,52 +104,73 @@ function before_last_bar( $string ) {
                return substr( $string, 0, $last_bar );
 }
 
                return substr( $string, 0, $last_bar );
 }
 
+/**
+ * Retrieve the translation of $text in the context defined in $context.
+ *
+ * If there is no translation, or the text domain isn't loaded the original
+ * text is returned.
+ *
+ * @since 2.8.0
+ *
+ * @param string $text    Text to translate.
+ * @param string $context Context information for the translators.
+ * @param string $domain  Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Translated text on success, original text on failure.
+ */
 function translate_with_gettext_context( $text, $context, $domain = 'default' ) {
        $translations = get_translations_for_domain( $domain );
 function translate_with_gettext_context( $text, $context, $domain = 'default' ) {
        $translations = get_translations_for_domain( $domain );
-       return apply_filters( 'gettext_with_context', $translations->translate( $text, $context ), $text, $context, $domain );
+       $translations = $translations->translate( $text, $context );
+       /**
+        * Filter text with its translation based on context information.
+        *
+        * @since 2.8.0
+        *
+        * @param string $translations Translated text.
+        * @param string $text         Text to translate.
+        * @param string $context      Context information for the translators.
+        * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
+        */
+       return apply_filters( 'gettext_with_context', $translations, $text, $context, $domain );
 }
 
 /**
 }
 
 /**
- * Retrieves the translation of $text. If there is no translation, or
- * the domain isn't loaded, the original text is returned.
+ * Retrieve the translation of $text. If there is no translation,
+ * or the text domain isn't loaded, the original text is returned.
  *
  *
- * @see translate() An alias of translate()
  * @since 2.1.0
  *
  * @since 2.1.0
  *
- * @param string $text Text to translate
- * @param string $domain Optional. Domain to retrieve the translated text
- * @return string Translated text
+ * @param string $text   Text to translate.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Translated text.
  */
 function __( $text, $domain = 'default' ) {
        return translate( $text, $domain );
 }
 
 /**
  */
 function __( $text, $domain = 'default' ) {
        return translate( $text, $domain );
 }
 
 /**
- * Retrieves the translation of $text and escapes it for safe use in an attribute.
- * If there is no translation, or the domain isn't loaded, the original text is returned.
+ * Retrieve the translation of $text and escapes it for safe use in an attribute.
+ *
+ * If there is no translation, or the text domain isn't loaded, the original text is returned.
  *
  *
- * @see translate() An alias of translate()
- * @see esc_attr()
  * @since 2.8.0
  *
  * @since 2.8.0
  *
- * @param string $text Text to translate
- * @param string $domain Optional. Domain to retrieve the translated text
- * @return string Translated text
+ * @param string $text   Text to translate.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Translated text on success, original text on failure.
  */
 function esc_attr__( $text, $domain = 'default' ) {
        return esc_attr( translate( $text, $domain ) );
 }
 
 /**
  */
 function esc_attr__( $text, $domain = 'default' ) {
        return esc_attr( translate( $text, $domain ) );
 }
 
 /**
- * Retrieves the translation of $text and escapes it for safe use in HTML output.
- * If there is no translation, or the domain isn't loaded, the original text is returned.
+ * Retrieve the translation of $text and escapes it for safe use in HTML output.
+ *
+ * If there is no translation, or the text domain isn't loaded, the original text is returned.
  *
  *
- * @see translate() An alias of translate()
- * @see esc_html()
  * @since 2.8.0
  *
  * @since 2.8.0
  *
- * @param string $text Text to translate
- * @param string $domain Optional. Domain to retrieve the translated text
+ * @param string $text   Text to translate.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
  * @return string Translated text
  */
 function esc_html__( $text, $domain = 'default' ) {
  * @return string Translated text
  */
 function esc_html__( $text, $domain = 'default' ) {
@@ -130,149 +178,193 @@ function esc_html__( $text, $domain = 'default' ) {
 }
 
 /**
 }
 
 /**
- * Displays the returned translated text from translate().
+ * Display translated text.
  *
  *
- * @see translate() Echoes returned translate() string
  * @since 1.2.0
  *
  * @since 1.2.0
  *
- * @param string $text Text to translate
- * @param string $domain Optional. Domain to retrieve the translated text
+ * @param string $text   Text to translate.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
  */
 function _e( $text, $domain = 'default' ) {
        echo translate( $text, $domain );
 }
 
 /**
  */
 function _e( $text, $domain = 'default' ) {
        echo translate( $text, $domain );
 }
 
 /**
- * Displays translated text that has been escaped for safe use in an attribute.
+ * Display translated text that has been escaped for safe use in an attribute.
  *
  *
- * @see translate() Echoes returned translate() string
- * @see esc_attr()
  * @since 2.8.0
  *
  * @since 2.8.0
  *
- * @param string $text Text to translate
- * @param string $domain Optional. Domain to retrieve the translated text
+ * @param string $text   Text to translate.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
  */
 function esc_attr_e( $text, $domain = 'default' ) {
        echo esc_attr( translate( $text, $domain ) );
 }
 
 /**
  */
 function esc_attr_e( $text, $domain = 'default' ) {
        echo esc_attr( translate( $text, $domain ) );
 }
 
 /**
- * Displays translated text that has been escaped for safe use in HTML output.
+ * Display translated text that has been escaped for safe use in HTML output.
  *
  *
- * @see translate() Echoes returned translate() string
- * @see esc_html()
  * @since 2.8.0
  *
  * @since 2.8.0
  *
- * @param string $text Text to translate
- * @param string $domain Optional. Domain to retrieve the translated text
+ * @param string $text   Text to translate.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
  */
 function esc_html_e( $text, $domain = 'default' ) {
        echo esc_html( translate( $text, $domain ) );
 }
 
 /**
  */
 function esc_html_e( $text, $domain = 'default' ) {
        echo esc_html( translate( $text, $domain ) );
 }
 
 /**
- * Retrieve translated string with gettext context
+ * Retrieve translated string with gettext context.
  *
  * Quite a few times, there will be collisions with similar translatable text
  *
  * Quite a few times, there will be collisions with similar translatable text
- * found in more than two places but with different translated context.
+ * found in more than two places, but with different translated context.
  *
  *
- * By including the context in the pot file translators can translate the two
+ * By including the context in the pot file, translators can translate the two
  * strings differently.
  *
  * @since 2.8.0
  *
  * strings differently.
  *
  * @since 2.8.0
  *
- * @param string $text Text to translate
- * @param string $context Context information for the translators
- * @param string $domain Optional. Domain to retrieve the translated text
- * @return string Translated context string without pipe
+ * @param string $text    Text to translate.
+ * @param string $context Context information for the translators.
+ * @param string $domain  Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Translated context string without pipe.
  */
 function _x( $text, $context, $domain = 'default' ) {
        return translate_with_gettext_context( $text, $context, $domain );
 }
 
 /**
  */
 function _x( $text, $context, $domain = 'default' ) {
        return translate_with_gettext_context( $text, $context, $domain );
 }
 
 /**
- * Displays translated string with gettext context
+ * Display translated string with gettext context.
  *
  *
- * @see _x
  * @since 3.0.0
  *
  * @since 3.0.0
  *
- * @param string $text Text to translate
- * @param string $context Context information for the translators
- * @param string $domain Optional. Domain to retrieve the translated text
- * @return string Translated context string without pipe
+ * @param string $text    Text to translate.
+ * @param string $context Context information for the translators.
+ * @param string $domain  Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Translated context string without pipe.
  */
 function _ex( $text, $context, $domain = 'default' ) {
        echo _x( $text, $context, $domain );
 }
 
  */
 function _ex( $text, $context, $domain = 'default' ) {
        echo _x( $text, $context, $domain );
 }
 
-function esc_attr_x( $single, $context, $domain = 'default' ) {
-       return esc_attr( translate_with_gettext_context( $single, $context, $domain ) );
+/**
+ * Translate string with gettext context, and escapes it for safe use in an attribute.
+ *
+ * @since 2.8.0
+ *
+ * @param string $text    Text to translate.
+ * @param string $context Context information for the translators.
+ * @param string $domain  Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Translated text
+ */
+function esc_attr_x( $text, $context, $domain = 'default' ) {
+       return esc_attr( translate_with_gettext_context( $text, $context, $domain ) );
 }
 
 }
 
-function esc_html_x( $single, $context, $domain = 'default' ) {
-       return esc_html( translate_with_gettext_context( $single, $context, $domain ) );
+/**
+ * Translate string with gettext context, and escapes it for safe use in HTML output.
+ *
+ * @since 2.9.0
+ *
+ * @param string $text    Text to translate.
+ * @param string $context Context information for the translators.
+ * @param string $domain  Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Translated text.
+ */
+function esc_html_x( $text, $context, $domain = 'default' ) {
+       return esc_html( translate_with_gettext_context( $text, $context, $domain ) );
 }
 
 /**
 }
 
 /**
- * Retrieve the plural or single form based on the amount.
+ * Retrieve the plural or single form based on the supplied amount.
  *
  *
- * If the domain is not set in the $l10n list, then a comparison will be made
+ * If the text domain is not set in the $l10n list, then a comparison will be made
  * and either $plural or $single parameters returned.
  *
  * and either $plural or $single parameters returned.
  *
- * If the domain does exist, then the parameters $single, $plural, and $number
- * will first be passed to the domain's ngettext method. Then it will be passed
+ * If the text domain does exist, then the parameters $single, $plural, and $number
+ * will first be passed to the text domain's ngettext method. Then it will be passed
  * to the 'ngettext' filter hook along with the same parameters. The expected
  * type will be a string.
  *
  * @since 2.8.0
  * to the 'ngettext' filter hook along with the same parameters. The expected
  * type will be a string.
  *
  * @since 2.8.0
- * @uses $l10n Gets list of domain translated string (gettext_reader) objects
- * @uses apply_filters() Calls 'ngettext' hook on domains text returned,
- *             along with $single, $plural, and $number parameters. Expected to return string.
  *
  *
- * @param string $single The text that will be used if $number is 1
- * @param string $plural The text that will be used if $number is not 1
- * @param int $number The number to compare against to use either $single or $plural
- * @param string $domain Optional. The domain identifier the text should be retrieved in
- * @return string Either $single or $plural translated text
+ * @param string $single The text that will be used if $number is 1.
+ * @param string $plural The text that will be used if $number is not 1.
+ * @param int    $number The number to compare against to use either $single or $plural.
+ * @param string $domain Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Either $single or $plural translated text.
  */
 function _n( $single, $plural, $number, $domain = 'default' ) {
        $translations = get_translations_for_domain( $domain );
        $translation = $translations->translate_plural( $single, $plural, $number );
  */
 function _n( $single, $plural, $number, $domain = 'default' ) {
        $translations = get_translations_for_domain( $domain );
        $translation = $translations->translate_plural( $single, $plural, $number );
+       /**
+        * Filter text with its translation when plural option is available.
+        *
+        * @since 2.2.0
+        *
+        * @param string $translation Translated text.
+        * @param string $single      The text that will be used if $number is 1.
+        * @param string $plural      The text that will be used if $number is not 1.
+        * @param string $number      The number to compare against to use either $single or $plural.
+        * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
+        */
        return apply_filters( 'ngettext', $translation, $single, $plural, $number, $domain );
 }
 
 /**
        return apply_filters( 'ngettext', $translation, $single, $plural, $number, $domain );
 }
 
 /**
- * A hybrid of _n() and _x(). It supports contexts and plurals.
+ * Retrieve the plural or single form based on the supplied amount with gettext context.
  *
  *
- * @see _n()
- * @see _x()
+ * This is a hybrid of _n() and _x(). It supports contexts and plurals.
  *
  *
+ * @since 2.8.0
+ *
+ * @param string $single  The text that will be used if $number is 1.
+ * @param string $plural  The text that will be used if $number is not 1.
+ * @param int    $number  The number to compare against to use either $single or $plural.
+ * @param string $context Context information for the translators.
+ * @param string $domain  Optional. Text domain. Unique identifier for retrieving translated strings.
+ * @return string Either $single or $plural translated text with context.
  */
 function _nx($single, $plural, $number, $context, $domain = 'default') {
        $translations = get_translations_for_domain( $domain );
        $translation = $translations->translate_plural( $single, $plural, $number, $context );
  */
 function _nx($single, $plural, $number, $context, $domain = 'default') {
        $translations = get_translations_for_domain( $domain );
        $translation = $translations->translate_plural( $single, $plural, $number, $context );
+       /**
+        * Filter text with its translation while plural option and context are available.
+        *
+        * @since 2.8.0
+        *
+        * @param string $translation Translated text.
+        * @param string $single      The text that will be used if $number is 1.
+        * @param string $plural      The text that will be used if $number is not 1.
+        * @param string $number      The number to compare against to use either $single or $plural.
+        * @param string $context     Context information for the translators.
+        * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
+        */
        return apply_filters( 'ngettext_with_context', $translation, $single, $plural, $number, $context, $domain );
 }
 
 /**
  * Register plural strings in POT file, but don't translate them.
  *
        return apply_filters( 'ngettext_with_context', $translation, $single, $plural, $number, $context, $domain );
 }
 
 /**
  * Register plural strings in POT file, but don't translate them.
  *
- * Used when you want to keep structures with translatable plural strings and
- * use them later.
+ * Used when you want to keep structures with translatable plural
+ * strings and use them later.
  *
  * Example:
  *
  * Example:
- *  $messages = array(
+ * <code>
+ * $messages = array(
  *     'post' => _n_noop('%s post', '%s posts'),
  *     'page' => _n_noop('%s pages', '%s pages')
  *     'post' => _n_noop('%s post', '%s posts'),
  *     'page' => _n_noop('%s pages', '%s pages')
- *  );
- *  ...
- *  $message = $messages[$type];
- *  $usable_text = sprintf( translate_nooped_plural( $message, $count ), $count );
- *
- * @since 2.5
- * @param string $singular Single form to be i18ned
- * @param string $plural Plural form to be i18ned
- * @param string $domain Optional. The domain identifier the text will be retrieved in
+ * );
+ * ...
+ * $message = $messages[$type];
+ * $usable_text = sprintf( translate_nooped_plural( $message, $count ), $count );
+ * </code>
+ *
+ * @since 2.5.0
+ *
+ * @param string $singular Single form to be i18ned.
+ * @param string $plural   Plural form to be i18ned.
+ * @param string $domain   Optional. Text domain. Unique identifier for retrieving translated strings.
  * @return array array($singular, $plural)
  */
 function _n_noop( $singular, $plural, $domain = null ) {
  * @return array array($singular, $plural)
  */
 function _n_noop( $singular, $plural, $domain = null ) {
@@ -282,20 +374,22 @@ function _n_noop( $singular, $plural, $domain = null ) {
 /**
  * Register plural strings with context in POT file, but don't translate them.
  *
 /**
  * Register plural strings with context in POT file, but don't translate them.
  *
- * @see _n_noop()
+ * @since 2.8.0
  */
 function _nx_noop( $singular, $plural, $context, $domain = null ) {
        return array( 0 => $singular, 1 => $plural, 2 => $context, 'singular' => $singular, 'plural' => $plural, 'context' => $context, 'domain' => $domain );
 }
 
 /**
  */
 function _nx_noop( $singular, $plural, $context, $domain = null ) {
        return array( 0 => $singular, 1 => $plural, 2 => $context, 'singular' => $singular, 'plural' => $plural, 'context' => $context, 'domain' => $domain );
 }
 
 /**
- * Translate the result of _n_noop() or _nx_noop()
+ * Translate the result of _n_noop() or _nx_noop().
+ *
+ * @since 3.1.0
  *
  *
- * @since 3.1
- * @param array $nooped_plural Array with singular, plural and context keys, usually the result of _n_noop() or _nx_noop()
- * @param int $count Number of objects
- * @param string $domain Optional. The domain identifier the text should be retrieved in. If $nooped_plural contains
- *     a domain passed to _n_noop() or _nx_noop(), it will override this value.
+ * @param array  $nooped_plural Array with singular, plural and context keys, usually the result of _n_noop() or _nx_noop()
+ * @param int    $count         Number of objects
+ * @param string $domain        Optional. Text domain. Unique identifier for retrieving translated strings. If $nooped_plural contains
+ *                              a text domain passed to _n_noop() or _nx_noop(), it will override this value.
+ * @return string Either $single or $plural translated text.
  */
 function translate_nooped_plural( $nooped_plural, $count, $domain = 'default' ) {
        if ( $nooped_plural['domain'] )
  */
 function translate_nooped_plural( $nooped_plural, $count, $domain = 'default' ) {
        if ( $nooped_plural['domain'] )
@@ -308,32 +402,56 @@ function translate_nooped_plural( $nooped_plural, $count, $domain = 'default' )
 }
 
 /**
 }
 
 /**
- * Loads a MO file into the domain $domain.
+ * Load a .mo file into the text domain $domain.
  *
  *
- * If the domain already exists, the translations will be merged. If both
+ * If the text domain already exists, the translations will be merged. If both
  * sets have the same string, the translation from the original value will be taken.
  *
  * On success, the .mo file will be placed in the $l10n global by $domain
  * and will be a MO object.
  *
  * @since 1.5.0
  * sets have the same string, the translation from the original value will be taken.
  *
  * On success, the .mo file will be placed in the $l10n global by $domain
  * and will be a MO object.
  *
  * @since 1.5.0
- * @uses $l10n Gets list of domain translated string objects
  *
  *
- * @param string $domain Unique identifier for retrieving translated strings
- * @param string $mofile Path to the .mo file
- * @return bool True on success, false on failure
+ * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+ * @param string $mofile Path to the .mo file.
+ * @return bool True on success, false on failure.
  */
 function load_textdomain( $domain, $mofile ) {
        global $l10n;
 
  */
 function load_textdomain( $domain, $mofile ) {
        global $l10n;
 
+       /**
+        * Filter text domain and/or MO file path for loading translations.
+        *
+        * @since 2.9.0
+        *
+        * @param boolean        Whether to override the text domain. Default false.
+        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        * @param string $mofile Path to the MO file.
+        */
        $plugin_override = apply_filters( 'override_load_textdomain', false, $domain, $mofile );
 
        if ( true == $plugin_override ) {
                return true;
        }
 
        $plugin_override = apply_filters( 'override_load_textdomain', false, $domain, $mofile );
 
        if ( true == $plugin_override ) {
                return true;
        }
 
+       /**
+        * Fires before the MO translation file is loaded.
+        *
+        * @since 2.9.0
+        *
+        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        * @param string $mofile Path to the .mo file.
+        */
        do_action( 'load_textdomain', $domain, $mofile );
 
        do_action( 'load_textdomain', $domain, $mofile );
 
+       /**
+        * Filter MO file path for loading translations for a specific text domain.
+        *
+        * @since 2.9.0
+        *
+        * @param string $mofile Path to the MO file.
+        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        */
        $mofile = apply_filters( 'load_textdomain_mofile', $mofile, $domain );
 
        if ( !is_readable( $mofile ) ) return false;
        $mofile = apply_filters( 'load_textdomain_mofile', $mofile, $domain );
 
        if ( !is_readable( $mofile ) ) return false;
@@ -350,20 +468,36 @@ function load_textdomain( $domain, $mofile ) {
 }
 
 /**
 }
 
 /**
- * Unloads translations for a domain
+ * Unload translations for a text domain.
  *
  * @since 3.0.0
  *
  * @since 3.0.0
- * @param string $domain Textdomain to be unloaded
- * @return bool Whether textdomain was unloaded
+ *
+ * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+ * @return bool Whether textdomain was unloaded.
  */
 function unload_textdomain( $domain ) {
        global $l10n;
 
  */
 function unload_textdomain( $domain ) {
        global $l10n;
 
+       /**
+        * Filter text text domain for loading translation.
+        *
+        * @since 3.0.0
+        *
+        * @param boolean        Whether to override unloading the text domain. Default false.
+        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        */
        $plugin_override = apply_filters( 'override_unload_textdomain', false, $domain );
 
        if ( $plugin_override )
                return true;
 
        $plugin_override = apply_filters( 'override_unload_textdomain', false, $domain );
 
        if ( $plugin_override )
                return true;
 
+       /**
+        * Fires before the text domain is unloaded.
+        *
+        * @since 3.0.0
+        *
+        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        */
        do_action( 'unload_textdomain', $domain );
 
        if ( isset( $l10n[$domain] ) ) {
        do_action( 'unload_textdomain', $domain );
 
        if ( isset( $l10n[$domain] ) ) {
@@ -375,10 +509,12 @@ function unload_textdomain( $domain ) {
 }
 
 /**
 }
 
 /**
- * Loads default translated strings based on locale.
+ * Load default translated strings based on locale.
+ *
+ * Loads the .mo file in WP_LANG_DIR constant path from WordPress root.
+ * The translated (.mo) file is named based on the locale.
  *
  *
- * Loads the .mo file in WP_LANG_DIR constant path from WordPress root. The
- * translated (.mo) file is named based on the locale.
+ * @see load_textdomain()
  *
  * @since 1.5.0
  */
  *
  * @since 1.5.0
  */
@@ -401,51 +537,76 @@ function load_default_textdomain() {
 }
 
 /**
 }
 
 /**
- * Loads the plugin's translated strings.
+ * Load a plugin's translated strings.
  *
  * If the path is not given then it will be the root of the plugin directory.
  *
  * If the path is not given then it will be the root of the plugin directory.
- * The .mo file should be named based on the domain with a dash, and then the locale exactly.
+ *
+ * The .mo file should be named based on the text domain with a dash, and then the locale exactly.
  *
  * @since 1.5.0
  *
  *
  * @since 1.5.0
  *
- * @param string $domain Unique identifier for retrieving translated strings
- * @param string $abs_rel_path Optional. Relative path to ABSPATH of a folder,
- *     where the .mo file resides. Deprecated, but still functional until 2.7
- * @param string $plugin_rel_path Optional. Relative path to WP_PLUGIN_DIR. This is the preferred argument to use. It takes precedence over $abs_rel_path
+ * @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.
  */
  */
-function load_plugin_textdomain( $domain, $abs_rel_path = false, $plugin_rel_path = false ) {
-       $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
+function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path = false ) {
+       $locale = get_locale();
+       /**
+        * Filter a plugin's locale.
+        *
+        * @since 3.0.0
+        *
+        * @param string $locale The plugin's current locale.
+        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        */
+       $locale = apply_filters( 'plugin_locale', $locale, $domain );
 
        if ( false !== $plugin_rel_path ) {
                $path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' );
 
        if ( false !== $plugin_rel_path ) {
                $path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' );
-       } else if ( false !== $abs_rel_path ) {
+       } else if ( false !== $deprecated ) {
                _deprecated_argument( __FUNCTION__, '2.7' );
                _deprecated_argument( __FUNCTION__, '2.7' );
-               $path = ABSPATH . trim( $abs_rel_path, '/' );
+               $path = ABSPATH . trim( $deprecated, '/' );
        } else {
                $path = WP_PLUGIN_DIR;
        }
 
        } else {
                $path = WP_PLUGIN_DIR;
        }
 
-       $mofile = $path . '/'. $domain . '-' . $locale . '.mo';
+       // Load the textdomain according to the plugin first
+       $mofile = $domain . '-' . $locale . '.mo';
+       if ( $loaded = load_textdomain( $domain, $path . '/'. $mofile ) )
+               return $loaded;
+
+       // Otherwise, load from the languages directory
+       $mofile = WP_LANG_DIR . '/plugins/' . $mofile;
        return load_textdomain( $domain, $mofile );
 }
 
 /**
        return load_textdomain( $domain, $mofile );
 }
 
 /**
- * Load the translated strings for a plugin residing in the mu-plugins dir.
+ * Load the translated strings for a plugin residing in the mu-plugins directory.
  *
  * @since 3.0.0
  *
  *
  * @since 3.0.0
  *
- * @param string $domain Unique identifier for retrieving translated strings
- * @param string $mu_plugin_rel_path Relative to WPMU_PLUGIN_DIR directory in which
- * the MO file resides. Defaults to empty string.
+ * @param string $domain             Text domain. Unique identifier for retrieving translated strings.
+ * @param string $mu_plugin_rel_path Relative to WPMU_PLUGIN_DIR directory in which the .mo file resides.
+ *                                   Default empty string.
+ * @return bool True when textdomain is successfully loaded, false otherwise.
  */
 function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) {
  */
 function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) {
+       // duplicate_hook
        $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
        $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
-       $path = WPMU_PLUGIN_DIR . '/' . ltrim( $mu_plugin_rel_path, '/' );
-       load_textdomain( $domain, trailingslashit( $path ) . "$domain-$locale.mo" );
+       $path = trailingslashit( WPMU_PLUGIN_DIR . '/' . ltrim( $mu_plugin_rel_path, '/' ) );
+
+       // Load the textdomain according to the plugin first
+       $mofile = $domain . '-' . $locale . '.mo';
+       if ( $loaded = load_textdomain( $domain, $path . $mofile ) )
+               return $loaded;
+
+       // Otherwise, load from the languages directory
+       $mofile = WP_LANG_DIR . '/plugins/' . $mofile;
+       return load_textdomain( $domain, $mofile );
 }
 
 /**
 }
 
 /**
- * Loads the theme's translated strings.
+ * Load the theme's translated strings.
  *
  * If the current locale exists as a .mo file in the theme's root directory, it
  * will be included in the translated strings by the $domain.
  *
  * If the current locale exists as a .mo file in the theme's root directory, it
  * will be included in the translated strings by the $domain.
@@ -454,35 +615,48 @@ function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) {
  *
  * @since 1.5.0
  *
  *
  * @since 1.5.0
  *
- * @param string $domain Unique identifier for retrieving translated strings
+ * @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 textdomain is successfully loaded, false otherwise.
  */
 function load_theme_textdomain( $domain, $path = false ) {
  */
 function load_theme_textdomain( $domain, $path = false ) {
-       $locale = apply_filters( 'theme_locale', get_locale(), $domain );
+       $locale = get_locale();
+       /**
+        * Filter a theme's locale.
+        *
+        * @since 3.0.0
+        *
+        * @param string $locale The theme's current locale.
+        * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+        */
+       $locale = apply_filters( 'theme_locale', $locale, $domain );
 
        if ( ! $path )
                $path = get_template_directory();
 
 
        if ( ! $path )
                $path = get_template_directory();
 
-       // Load the textdomain from the Theme provided location, or theme directory first
+       // Load the textdomain according to the theme
        $mofile = "{$path}/{$locale}.mo";
        $mofile = "{$path}/{$locale}.mo";
-       if ( $loaded = load_textdomain($domain, $mofile) )
+       if ( $loaded = load_textdomain( $domain, $mofile ) )
                return $loaded;
 
                return $loaded;
 
-       // Else, load textdomain from the Language directory
+       // Otherwise, load from the languages directory
        $mofile = WP_LANG_DIR . "/themes/{$domain}-{$locale}.mo";
        $mofile = WP_LANG_DIR . "/themes/{$domain}-{$locale}.mo";
-       return load_textdomain($domain, $mofile);
+       return load_textdomain( $domain, $mofile );
 }
 
 /**
 }
 
 /**
- * Loads the child themes translated strings.
+ * Load the child themes translated strings.
  *
  *
- * If the current locale exists as a .mo file in the child themes root directory, it
- * will be included in the translated strings by the $domain.
+ * If the current locale exists as a .mo file in the child themes
+ * root directory, it will be included in the translated strings by the $domain.
  *
  * The .mo files must be named based on the locale exactly.
  *
  * @since 2.9.0
  *
  *
  * The .mo files must be named based on the locale exactly.
  *
  * @since 2.9.0
  *
- * @param string $domain Unique identifier for retrieving translated strings
+ * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+ * @return bool True when the theme textdomain is successfully loaded, false otherwise.
  */
 function load_child_theme_textdomain( $domain, $path = false ) {
        if ( ! $path )
  */
 function load_child_theme_textdomain( $domain, $path = false ) {
        if ( ! $path )
@@ -491,11 +665,12 @@ function load_child_theme_textdomain( $domain, $path = false ) {
 }
 
 /**
 }
 
 /**
- * Returns the Translations instance for a domain. If there isn't one,
- * returns empty Translations instance.
+ * Return the Translations instance for a text domain.
  *
  *
- * @param string $domain
- * @return object A Translation instance
+ * If there isn't one, returns empty Translations instance.
+ *
+ * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+ * @return Translations A Translations instance.
  */
 function get_translations_for_domain( $domain ) {
        global $l10n;
  */
 function get_translations_for_domain( $domain ) {
        global $l10n;
@@ -506,11 +681,11 @@ function get_translations_for_domain( $domain ) {
 }
 
 /**
 }
 
 /**
- * Whether there are translations for the domain
+ * Whether there are translations for the text domain.
  *
  * @since 3.0.0
  *
  * @since 3.0.0
- * @param string $domain
- * @return bool Whether there are translations
+ * @param string $domain Text domain. Unique identifier for retrieving translated strings.
+ * @return bool Whether there are translations.
  */
 function is_textdomain_loaded( $domain ) {
        global $l10n;
  */
 function is_textdomain_loaded( $domain ) {
        global $l10n;
@@ -518,26 +693,36 @@ function is_textdomain_loaded( $domain ) {
 }
 
 /**
 }
 
 /**
- * Translates role name. Since the role names are in the database and
- * not in the source there are dummy gettext calls to get them into the POT
- * file and this function properly translates them back.
+ * Translates role name.
+ *
+ * Since the role names are in the database and not in the source there
+ * are dummy gettext calls to get them into the POT file and this function
+ * properly translates them back.
  *
  * The before_last_bar() call is needed, because older installs keep the roles
  * using the old context format: 'Role name|User role' and just skipping the
  * content after the last bar is easier than fixing them in the DB. New installs
  * won't suffer from that problem.
  *
  * The before_last_bar() call is needed, because older installs keep the roles
  * using the old context format: 'Role name|User role' and just skipping the
  * content after the last bar is easier than fixing them in the DB. New installs
  * won't suffer from that problem.
+ *
+ * @since 2.8.0
+ *
+ * @param string $name The role name.
+ * @return string Translated role name on success, original name on failure.
  */
 function translate_user_role( $name ) {
        return translate_with_gettext_context( before_last_bar($name), 'User role' );
 }
 
 /**
  */
 function translate_user_role( $name ) {
        return translate_with_gettext_context( before_last_bar($name), 'User role' );
 }
 
 /**
- * Get all available languages based on the presence of *.mo files in a given directory. The default directory is WP_LANG_DIR.
+ * Get all available languages based on the presence of *.mo files in a given directory.
+ *
+ * The default directory is WP_LANG_DIR.
  *
  * @since 3.0.0
  *
  *
  * @since 3.0.0
  *
- * @param string $dir A directory in which to search for language files. The default directory is WP_LANG_DIR.
- * @return array Array of language codes or an empty array if no languages are present. Language codes are formed by stripping the .mo extension from the language file names.
+ * @param string $dir A directory to search for language files.
+ *                    Default WP_LANG_DIR.
+ * @return array An array of language codes or an empty array if no languages are present. Language codes are formed by stripping the .mo extension from the language file names.
  */
 function get_available_languages( $dir = null ) {
        $languages = array();
  */
 function get_available_languages( $dir = null ) {
        $languages = array();
@@ -550,4 +735,71 @@ function get_available_languages( $dir = null ) {
        }
 
        return $languages;
        }
 
        return $languages;
-}
\ No newline at end of file
+}
+
+/**
+ * Get installed translations.
+ *
+ * Looks in the wp-content/languages directory for translations of
+ * plugins or themes.
+ *
+ * @since 3.7.0
+ *
+ * @param string $type What to search for. Accepts 'plugins', 'themes', 'core'.
+ * @return array Array of language data.
+ */
+function wp_get_installed_translations( $type ) {
+       if ( $type !== 'themes' && $type !== 'plugins' && $type !== 'core' )
+               return array();
+
+       $dir = 'core' === $type ? '' : "/$type";
+
+       if ( ! is_dir( WP_LANG_DIR ) )
+               return array();
+
+       if ( $dir && ! is_dir( WP_LANG_DIR . $dir ) )
+               return array();
+
+       $files = scandir( WP_LANG_DIR . $dir );
+       if ( ! $files )
+               return array();
+
+       $language_data = array();
+
+       foreach ( $files as $file ) {
+               if ( '.' === $file[0] || is_dir( $file ) )
+                       continue;
+               if ( substr( $file, -3 ) !== '.po' )
+                       continue;
+               if ( ! preg_match( '/(?:(.+)-)?([A-Za-z_]{2,6}).po/', $file, $match ) )
+                       continue;
+
+               list( , $textdomain, $language ) = $match;
+               if ( '' === $textdomain )
+                       $textdomain = 'default';
+               $language_data[ $textdomain ][ $language ] = wp_get_pomo_file_data( WP_LANG_DIR . "$dir/$file" );
+       }
+       return $language_data;
+}
+
+/**
+ * Extract headers from a PO file.
+ *
+ * @since 3.7.0
+ *
+ * @param string $po_file Path to PO file.
+ * @return array PO file headers.
+ */
+function wp_get_pomo_file_data( $po_file ) {
+       $headers = get_file_data( $po_file, array(
+               'POT-Creation-Date'  => '"POT-Creation-Date',
+               'PO-Revision-Date'   => '"PO-Revision-Date',
+               'Project-Id-Version' => '"Project-Id-Version',
+               'X-Generator'        => '"X-Generator',
+       ) );
+       foreach ( $headers as &$header ) {
+               // Remove possible contextual '\n' and closing double quote.
+               $header = preg_replace( '~(\\\n)?"$~', '', $header );
+       }
+       return $headers;
+}
index 1029d9df53a275b9076669841165e1b2c03aef08..38a0ab6e2d08581a1fb0d9ca604378e0a4ed1f80 100644 (file)
@@ -73,9 +73,9 @@ function permalink_anchor( $mode = 'id' ) {
  *
  * @since 1.0.0
  *
  *
  * @since 1.0.0
  *
- * @param int $id Optional. Post ID.
- * @param bool $leavename Optional, defaults to false. Whether to keep post name or page name.
- * @return string
+ * @param int|WP_Post $id Optional. Post ID or post object, defaults to the current post.
+ * @param bool $leavename Optional. Whether to keep post name or page name, defaults to false.
+ * @return string|bool The permalink URL or false if post does not exist.
  */
 function get_permalink( $id = 0, $leavename = false ) {
        $rewritecode = array(
  */
 function get_permalink( $id = 0, $leavename = false ) {
        $rewritecode = array(
@@ -131,7 +131,7 @@ function get_permalink( $id = 0, $leavename = false ) {
                        // show default category in permalinks, without
                        // having to assign it explicitly
                        if ( empty($category) ) {
                        // show default category in permalinks, without
                        // having to assign it explicitly
                        if ( empty($category) ) {
-                               $default_category = get_category( get_option( 'default_category' ) );
+                               $default_category = get_term( get_option( 'default_category' ), 'category' );
                                $category = is_wp_error( $default_category ) ? '' : $default_category->slug;
                        }
                }
                                $category = is_wp_error( $default_category ) ? '' : $default_category->slug;
                        }
                }
@@ -662,11 +662,11 @@ function get_edit_tag_link( $tag_id, $taxonomy = 'post_tag' ) {
  * @param string $link Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
  * @param string $after Optional. Display after edit link.
  * @param string $link Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
  * @param string $after Optional. Display after edit link.
- * @param int|object $tag Tag object or ID
+ * @param object $tag Tag object.
  * @return string HTML content.
  */
 function edit_tag_link( $link = '', $before = '', $after = '', $tag = null ) {
  * @return string HTML content.
  */
 function edit_tag_link( $link = '', $before = '', $after = '', $tag = null ) {
-       $link = edit_term_link( $link, '', '', false, $tag );
+       $link = edit_term_link( $link, '', '', $tag, false );
        echo $before . apply_filters( 'edit_tag_link', $link ) . $after;
 }
 
        echo $before . apply_filters( 'edit_tag_link', $link ) . $after;
 }
 
@@ -709,22 +709,24 @@ function get_edit_term_link( $term_id, $taxonomy, $object_type = '' ) {
  * @param string $link Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
  * @param string $after Optional. Display after edit link.
  * @param string $link Optional. Anchor text.
  * @param string $before Optional. Display before edit link.
  * @param string $after Optional. Display after edit link.
- * @param object $term Term object
+ * @param object $term Term object.
  * @return string HTML content.
  */
 function edit_term_link( $link = '', $before = '', $after = '', $term = null, $echo = true ) {
  * @return string HTML content.
  */
 function edit_term_link( $link = '', $before = '', $after = '', $term = null, $echo = true ) {
-       if ( is_null( $term ) ) {
+       if ( is_null( $term ) )
                $term = get_queried_object();
                $term = get_queried_object();
-       }
+
+       if ( ! $term )
+               return;
 
        $tax = get_taxonomy( $term->taxonomy );
 
        $tax = get_taxonomy( $term->taxonomy );
-       if ( !current_user_can($tax->cap->edit_terms) )
+       if ( ! current_user_can( $tax->cap->edit_terms ) )
                return;
 
        if ( empty( $link ) )
                $link = __('Edit This');
 
                return;
 
        if ( empty( $link ) )
                $link = __('Edit This');
 
-       $link = '<a href="' . get_edit_term_link( $term->term_id, $term->taxonomy ) . '" title="' . $link . '">' . $link . '</a>';
+       $link = '<a href="' . get_edit_term_link( $term->term_id, $term->taxonomy ) . '">' . $link . '</a>';
        $link = $before . apply_filters( 'edit_term_link', $link, $term->term_id ) . $after;
 
        if ( $echo )
        $link = $before . apply_filters( 'edit_term_link', $link, $term->term_id ) . $after;
 
        if ( $echo )
@@ -935,7 +937,7 @@ function edit_post_link( $link = null, $before = '', $after = '', $id = 0 ) {
                $link = __('Edit This');
 
        $post_type_obj = get_post_type_object( $post->post_type );
                $link = __('Edit This');
 
        $post_type_obj = get_post_type_object( $post->post_type );
-       $link = '<a class="post-edit-link" href="' . $url . '" title="' . esc_attr( $post_type_obj->labels->edit_item ) . '">' . $link . '</a>';
+       $link = '<a class="post-edit-link" href="' . $url . '">' . $link . '</a>';
        echo $before . apply_filters( 'edit_post_link', $link, $post->ID ) . $after;
 }
 
        echo $before . apply_filters( 'edit_post_link', $link, $post->ID ) . $after;
 }
 
@@ -1009,7 +1011,7 @@ function edit_comment_link( $link = null, $before = '', $after = '' ) {
        if ( null === $link )
                $link = __('Edit This');
 
        if ( null === $link )
                $link = __('Edit This');
 
-       $link = '<a class="comment-edit-link" href="' . get_edit_comment_link( $comment->comment_ID ) . '" title="' . esc_attr__( 'Edit comment' ) . '">' . $link . '</a>';
+       $link = '<a class="comment-edit-link" href="' . get_edit_comment_link( $comment->comment_ID ) . '">' . $link . '</a>';
        echo $before . apply_filters( 'edit_comment_link', $link, $comment->comment_ID ) . $after;
 }
 
        echo $before . apply_filters( 'edit_comment_link', $link, $comment->comment_ID ) . $after;
 }
 
@@ -1050,7 +1052,7 @@ function edit_bookmark_link( $link = '', $before = '', $after = '', $bookmark =
        if ( empty($link) )
                $link = __('Edit This');
 
        if ( empty($link) )
                $link = __('Edit This');
 
-       $link = '<a href="' . get_edit_bookmark_link( $bookmark ) . '" title="' . esc_attr__( 'Edit Link' ) . '">' . $link . '</a>';
+       $link = '<a href="' . get_edit_bookmark_link( $bookmark ) . '">' . $link . '</a>';
        echo $before . apply_filters( 'edit_bookmark_link', $link, $bookmark->link_id ) . $after;
 }
 
        echo $before . apply_filters( 'edit_bookmark_link', $link, $bookmark->link_id ) . $after;
 }
 
@@ -1335,18 +1337,50 @@ function get_boundary_post( $in_same_cat = false, $excluded_categories = '', $st
        return get_posts( array('numberposts' => 1, 'category' => $categories, 'order' => $order, 'update_post_term_cache' => false, 'update_post_meta_cache' => false) );
 }
 
        return get_posts( array('numberposts' => 1, 'category' => $categories, 'order' => $order, 'update_post_term_cache' => false, 'update_post_meta_cache' => false) );
 }
 
+/*
+ * Get previous post link that is adjacent to the current post.
+ *
+ * @since 3.7.0
+ *
+ * @param string $format Optional. Link anchor format.
+ * @param string $link Optional. Link permalink format.
+ * @param bool $in_same_cat Optional. Whether link should be in same category.
+ * @param string $excluded_categories Optional. Excluded categories IDs.
+ * @return string
+ */
+function get_previous_post_link( $format = '&laquo; %link', $link = '%title', $in_same_cat = false, $excluded_categories = '' ) {
+       return get_adjacent_post_link( $format, $link, $in_same_cat, $excluded_categories, true );
+}
+
 /**
  * Display previous post link that is adjacent to the current post.
  *
  * @since 1.5.0
 /**
  * Display previous post link that is adjacent to the current post.
  *
  * @since 1.5.0
+ * @uses get_previous_post_link()
  *
  * @param string $format Optional. Link anchor format.
  * @param string $link Optional. Link permalink format.
  * @param bool $in_same_cat Optional. Whether link should be in a same category.
  * @param array|string $excluded_categories Optional. Array or comma-separated list of excluded category IDs.
  */
  *
  * @param string $format Optional. Link anchor format.
  * @param string $link Optional. Link permalink format.
  * @param bool $in_same_cat Optional. Whether link should be in a same category.
  * @param array|string $excluded_categories Optional. Array or comma-separated list of excluded category IDs.
  */
-function previous_post_link($format='&laquo; %link', $link='%title', $in_same_cat = false, $excluded_categories = '') {
-       adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, true);
+function previous_post_link( $format = '&laquo; %link', $link = '%title', $in_same_cat = false, $excluded_categories = '' ) {
+       echo get_previous_post_link( $format, $link, $in_same_cat, $excluded_categories );
+}
+
+/**
+ * Get previous post link that is adjacent to the current post.
+ *
+ * @since 3.7.0
+ * @uses get_next_post_link()
+ *
+ * @param string $format Optional. Link anchor format.
+ * @param string $link Optional. Link permalink format.
+ * @param bool $in_same_cat Optional. Whether link should be in same category.
+ * @param string $excluded_categories Optional. Excluded categories IDs.
+ * @return string
+ */
+function get_next_post_link( $format = '&laquo; %link', $link = '%title', $in_same_cat = false, $excluded_categories = '' ) {
+       return get_adjacent_post_link( $format, $link, $in_same_cat, $excluded_categories, false );
 }
 
 /**
 }
 
 /**
@@ -1359,24 +1393,25 @@ function previous_post_link($format='&laquo; %link', $link='%title', $in_same_ca
  * @param bool $in_same_cat Optional. Whether link should be in a same category.
  * @param array|string $excluded_categories Optional. Array or comma-separated list of excluded category IDs.
  */
  * @param bool $in_same_cat Optional. Whether link should be in a same category.
  * @param array|string $excluded_categories Optional. Array or comma-separated list of excluded category IDs.
  */
-function next_post_link($format='%link &raquo;', $link='%title', $in_same_cat = false, $excluded_categories = '') {
-       adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, false);
+function next_post_link( $format = '%link &raquo;', $link = '%title', $in_same_cat = false, $excluded_categories = '' ) {
+        echo get_next_post_link( $format, $link, $in_same_cat, $excluded_categories );
 }
 
 /**
 }
 
 /**
- * Display adjacent post link.
+ * Get adjacent post link.
  *
  * Can be either next post link or previous.
  *
  *
  * Can be either next post link or previous.
  *
- * @since 2.5.0
+ * @since 3.7.0
  *
  * @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 array|string $excluded_categories Optional. Array or comma-separated list of excluded category IDs.
  * @param bool $previous Optional, default is true. Whether to display link to previous or next post.
  *
  * @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 array|string $excluded_categories Optional. Array or comma-separated list of excluded category IDs.
  * @param bool $previous Optional, default is true. Whether to display link to previous or next post.
+ * @return string
  */
  */
-function adjacent_post_link( $format, $link, $in_same_cat = false, $excluded_categories = '', $previous = true ) {
+function get_adjacent_post_link( $format, $link, $in_same_cat = false, $excluded_categories = '', $previous = true ) {
        if ( $previous && is_attachment() )
                $post = get_post( get_post()->post_parent );
        else
        if ( $previous && is_attachment() )
                $post = get_post( get_post()->post_parent );
        else
@@ -1390,6 +1425,7 @@ function adjacent_post_link( $format, $link, $in_same_cat = false, $excluded_cat
                if ( empty( $post->post_title ) )
                        $title = $previous ? __( 'Previous Post' ) : __( 'Next Post' );
 
                if ( empty( $post->post_title ) )
                        $title = $previous ? __( 'Previous Post' ) : __( 'Next Post' );
 
+               /** This filter is documented in wp-includes/post-template.php */
                $title = apply_filters( 'the_title', $title, $post->ID );
                $date = mysql2date( get_option( 'date_format' ), $post->post_date );
                $rel = $previous ? 'prev' : 'next';
                $title = apply_filters( 'the_title', $title, $post->ID );
                $date = mysql2date( get_option( 'date_format' ), $post->post_date );
                $rel = $previous ? 'prev' : 'next';
@@ -1404,7 +1440,26 @@ function adjacent_post_link( $format, $link, $in_same_cat = false, $excluded_cat
 
        $adjacent = $previous ? 'previous' : 'next';
 
 
        $adjacent = $previous ? 'previous' : 'next';
 
-       echo apply_filters( "{$adjacent}_post_link", $output, $format, $link, $post );
+       return apply_filters( "{$adjacent}_post_link", $output, $format, $link, $post );
+}
+
+/**
+ * Display adjacent post link.
+ *
+ * Can be either next post link or previous.
+ *
+ * @since 2.5.0
+ * @uses get_adjacent_post_link()
+ *
+ * @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 array|string $excluded_categories Optional. Array or comma-separated list of excluded category IDs.
+ * @param bool $previous Optional, default is true. Whether to display link to previous or next post.
+ * @return string
+ */
+function adjacent_post_link( $format, $link, $in_same_cat = false, $excluded_categories = '', $previous = true ) {
+       echo get_adjacent_post_link( $format, $link, $in_same_cat, $excluded_categories, $previous );
 }
 
 /**
 }
 
 /**
@@ -1913,7 +1968,7 @@ function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
        }
 
        if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
        }
 
        if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
-               if ( is_ssl() && ! is_admin() )
+               if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $GLOBALS['pagenow'] )
                        $scheme = 'https';
                else
                        $scheme = parse_url( $url, PHP_URL_SCHEME );
                        $scheme = 'https';
                else
                        $scheme = parse_url( $url, PHP_URL_SCHEME );
@@ -2358,20 +2413,22 @@ function wp_get_shortlink($id = 0, $context = 'post', $allow_slugs = true) {
 
        global $wp_query;
        $post_id = 0;
 
        global $wp_query;
        $post_id = 0;
-       if ( 'query' == $context && is_single() ) {
+       if ( 'query' == $context && is_singular() ) {
                $post_id = $wp_query->get_queried_object_id();
                $post_id = $wp_query->get_queried_object_id();
+               $post = get_post( $post_id );
        } elseif ( 'post' == $context ) {
        } elseif ( 'post' == $context ) {
-               $post = get_post($id);
-               $post_id = $post->ID;
+               $post = get_post( $id );
+               if ( ! empty( $post->ID ) )
+                       $post_id = $post->ID;
        }
 
        $shortlink = '';
 
        }
 
        $shortlink = '';
 
-       // Return p= link for posts.
-       if ( !empty($post_id) && '' != get_option('permalink_structure') ) {
-               $post = get_post($post_id);
-               if ( isset($post->post_type) && 'post' == $post->post_type )
-                       $shortlink = home_url('?p=' . $post->ID);
+       // Return p= link for all public post types.
+       if ( ! empty( $post_id ) ) {
+               $post_type = get_post_type_object( $post->post_type );
+               if ( $post_type->public )
+                       $shortlink = home_url('?p=' . $post_id);
        }
 
        return apply_filters('get_shortlink', $shortlink, $id, $context, $allow_slugs);
        }
 
        return apply_filters('get_shortlink', $shortlink, $id, $context, $allow_slugs);
index e1eb15e4bb4f6434c49b9553747dce4b62be03db..e589f5fa5a3b6f740384dd2256ca525348f17fa9 100644 (file)
@@ -369,6 +369,24 @@ function wp_set_wpdb_vars() {
        }
 }
 
        }
 }
 
+/**
+ * Access/Modify private global variable $_wp_using_ext_object_cache
+ *
+ * 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
+ */
+function wp_using_ext_object_cache( $using = null ) {
+       global $_wp_using_ext_object_cache;
+       $current_using = $_wp_using_ext_object_cache;
+       if ( null !== $using )
+               $_wp_using_ext_object_cache = $using;
+       return $current_using;
+}
+
 /**
  * Starts the WordPress object cache.
  *
 /**
  * Starts the WordPress object cache.
  *
@@ -379,31 +397,33 @@ function wp_set_wpdb_vars() {
  * @since 3.0.0
  */
 function wp_start_object_cache() {
  * @since 3.0.0
  */
 function wp_start_object_cache() {
-       global $_wp_using_ext_object_cache, $blog_id;
+       global $blog_id;
 
        $first_init = false;
        if ( ! function_exists( 'wp_cache_init' ) ) {
                if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
                        require_once ( WP_CONTENT_DIR . '/object-cache.php' );
 
        $first_init = false;
        if ( ! function_exists( 'wp_cache_init' ) ) {
                if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
                        require_once ( WP_CONTENT_DIR . '/object-cache.php' );
-                       $_wp_using_ext_object_cache = true;
-               } else {
-                       require_once ( ABSPATH . WPINC . '/cache.php' );
-                       $_wp_using_ext_object_cache = false;
+                       if ( function_exists( 'wp_cache_init' ) )
+                               wp_using_ext_object_cache( true );
                }
                }
+
                $first_init = true;
                $first_init = true;
-       } else if ( !$_wp_using_ext_object_cache && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
+       } 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;
+               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 ( ! $first_init && function_exists( 'wp_cache_switch_to_blog' ) )
                wp_cache_switch_to_blog( $blog_id );
        // 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 );
-       else
+       elseif ( function_exists( 'wp_cache_init' ) )
                wp_cache_init();
 
        if ( function_exists( 'wp_cache_add_global_groups' ) ) {
                wp_cache_init();
 
        if ( function_exists( 'wp_cache_add_global_groups' ) ) {
@@ -425,12 +445,12 @@ function wp_not_installed() {
                if ( ! is_blog_installed() && ! defined( 'WP_INSTALLING' ) )
                        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' ) ) {
                if ( ! is_blog_installed() && ! defined( 'WP_INSTALLING' ) )
                        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' ) ) {
-
-               $link = wp_guess_url() . '/wp-admin/install.php';
-
                require( ABSPATH . WPINC . '/kses.php' );
                require( ABSPATH . WPINC . '/pluggable.php' );
                require( ABSPATH . WPINC . '/formatting.php' );
                require( ABSPATH . WPINC . '/kses.php' );
                require( ABSPATH . WPINC . '/pluggable.php' );
                require( ABSPATH . WPINC . '/formatting.php' );
+
+               $link = wp_guess_url() . '/wp-admin/install.php';
+
                wp_redirect( $link );
                die();
        }
                wp_redirect( $link );
                die();
        }
@@ -552,6 +572,11 @@ function wp_magic_quotes() {
  * @since 1.2.0
  */
 function shutdown_action_hook() {
  * @since 1.2.0
  */
 function shutdown_action_hook() {
+       /**
+        * Fires just before PHP shuts down execution.
+        *
+        * @since 1.2.0
+        */
        do_action( 'shutdown' );
        wp_cache_close();
 }
        do_action( 'shutdown' );
        wp_cache_close();
 }
index 6af7dc5f324448414456a2ef63854efda378fb7c..75f958e74e9d809406dba90d3f6dbba3705750ac 100644 (file)
@@ -341,6 +341,7 @@ function wp_print_media_templates() {
                                        <# } #>>
                                        <?php
 
                                        <# } #>>
                                        <?php
 
+                                       /** This filter is documented in wp-admin/includes/media.php */
                                        $sizes = apply_filters( 'image_size_names_choose', array(
                                                'thumbnail' => __('Thumbnail'),
                                                'medium'    => __('Medium'),
                                        $sizes = apply_filters( 'image_size_names_choose', array(
                                                'thumbnail' => __('Thumbnail'),
                                                'medium'    => __('Medium'),
index 6111f363707af0ebe44a2af21ea1269af806e492..14972380c8b239f824511145c23049ec8d9a83a5 100644 (file)
@@ -284,8 +284,9 @@ function wp_constrain_dimensions( $current_width, $current_height, $max_width=0,
                // The larger ratio fits, and is likely to be a more "snug" fit.
                $ratio = $larger_ratio;
 
                // The larger ratio fits, and is likely to be a more "snug" fit.
                $ratio = $larger_ratio;
 
-       $w = intval( $current_width  * $ratio );
-       $h = intval( $current_height * $ratio );
+       // Very small dimensions may result in 0, 1 should be the minimum.
+       $w = max ( 1, intval( $current_width  * $ratio ) );
+       $h = max ( 1, intval( $current_height * $ratio ) );
 
        // Sometimes, due to rounding, we'll end up with a result like this: 465x700 in a 177x177 box is 117x176... a pixel short
        // We also have issues with recursive calls resulting in an ever-changing result. Constraining to the result of a constraint should yield the original result.
 
        // Sometimes, due to rounding, we'll end up with a result like this: 465x700 in a 177x177 box is 117x176... a pixel short
        // We also have issues with recursive calls resulting in an ever-changing result. Constraining to the result of a constraint should yield the original result.
@@ -640,20 +641,49 @@ function img_caption_shortcode($attr, $content = null) {
        if ( $output != '' )
                return $output;
 
        if ( $output != '' )
                return $output;
 
-       extract(shortcode_atts(array(
-               'id'    => '',
-               'align' => 'alignnone',
-               'width' => '',
+       $atts = shortcode_atts( array(
+               'id'      => '',
+               'align'   => 'alignnone',
+               'width'   => '',
                'caption' => ''
                'caption' => ''
-       ), $attr, 'caption'));
+       ), $attr, 'caption' );
 
 
-       if ( 1 > (int) $width || empty($caption) )
+       $atts['width'] = (int) $atts['width'];
+       if ( $atts['width'] < 1 || empty( $atts['caption'] ) )
                return $content;
 
                return $content;
 
-       if ( $id ) $id = 'id="' . esc_attr($id) . '" ';
-
-       return '<div ' . $id . 'class="wp-caption ' . esc_attr($align) . '" style="width: ' . (10 + (int) $width) . 'px">'
-       . do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>';
+       if ( ! empty( $atts['id'] ) )
+               $atts['id'] = 'id="' . esc_attr( $atts['id'] ) . '" ';
+
+       $caption_width = 10 + $atts['width'];
+
+       /**
+        * Filter the width of an image's caption.
+        *
+        * By default, the caption is 10 pixels greater than the width of the image,
+        * to prevent post content from running up against a floated image.
+        *
+        * @since 3.7.0
+        *
+        * @param int $caption_width Width in pixels. To remove this inline style, return zero.
+        * @param array $atts {
+        *     The attributes of the caption shortcode.
+        *
+        *     @type string 'id'      The ID of the div element for the caption.
+        *     @type string 'align'   The class name that aligns the caption. Default 'alignnone'.
+        *     @type int    'width'   The width of the image being captioned.
+        *     @type string 'caption' The image's caption.
+        * }
+        * @param string $content The image element, possibly wrapped in a hyperlink.
+        */
+       $caption_width = apply_filters( 'img_caption_shortcode_width', $caption_width, $atts, $content );
+
+       $style = '';
+       if ( $caption_width )
+               $style = 'style="width: ' . (int) $caption_width . 'px" ';
+
+       return '<div ' . $atts['id'] . $style . 'class="wp-caption ' . esc_attr( $atts['align'] ) . '">'
+       . do_shortcode( $content ) . '<p class="wp-caption-text">' . $atts['caption'] . '</p></div>';
 }
 
 add_shortcode('gallery', 'gallery_shortcode');
 }
 
 add_shortcode('gallery', 'gallery_shortcode');
@@ -704,7 +734,8 @@ function gallery_shortcode($attr) {
                'columns'    => 3,
                'size'       => 'thumbnail',
                'include'    => '',
                'columns'    => 3,
                'size'       => 'thumbnail',
                'include'    => '',
-               'exclude'    => ''
+               'exclude'    => '',
+               'link'       => ''
        ), $attr, 'gallery'));
 
        $id = intval($id);
        ), $attr, 'gallery'));
 
        $id = intval($id);
@@ -778,9 +809,9 @@ function gallery_shortcode($attr) {
 
        $i = 0;
        foreach ( $attachments as $id => $attachment ) {
 
        $i = 0;
        foreach ( $attachments as $id => $attachment ) {
-               if ( ! empty( $attr['link'] ) && 'file' === $attr['link'] )
+               if ( ! empty( $link ) && 'file' === $link )
                        $image_output = wp_get_attachment_link( $id, $size, false, false );
                        $image_output = wp_get_attachment_link( $id, $size, false, false );
-               elseif ( ! empty( $attr['link'] ) && 'none' === $attr['link'] )
+               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 );
                        $image_output = wp_get_attachment_image( $id, $size, false );
                else
                        $image_output = wp_get_attachment_link( $id, $size, true, false );
@@ -844,15 +875,30 @@ function wp_get_audio_extensions() {
  *
  * @since 3.6.0
  *
  *
  * @since 3.6.0
  *
- * @param array $attr Attributes of the shortcode.
+ * @param array  $attr    Attributes of the shortcode.
+ * @param string $content Optional. Shortcode content.
  * @return string HTML content to display audio.
  */
  * @return string HTML content to display audio.
  */
-function wp_audio_shortcode( $attr ) {
+function wp_audio_shortcode( $attr, $content = '' ) {
        $post_id = get_post() ? get_the_ID() : 0;
 
        static $instances = 0;
        $instances++;
 
        $post_id = get_post() ? get_the_ID() : 0;
 
        static $instances = 0;
        $instances++;
 
+       /**
+        * Override the default audio shortcode.
+        *
+        * @since 3.7.0
+        *
+        * @param null              Empty variable to be replaced with shortcode markup.
+        * @param array  $attr      Attributes of the shortcode.
+        * @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;
+
        $audio = null;
 
        $default_types = wp_get_audio_extensions();
        $audio = null;
 
        $default_types = wp_get_audio_extensions();
@@ -871,7 +917,7 @@ function wp_audio_shortcode( $attr ) {
        $primary = false;
        if ( ! empty( $src ) ) {
                $type = wp_check_filetype( $src, wp_get_mime_types() );
        $primary = false;
        if ( ! empty( $src ) ) {
                $type = wp_check_filetype( $src, wp_get_mime_types() );
-               if ( ! in_array( $type['ext'], $default_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 ) );
                $primary = true;
                array_unshift( $default_types, 'src' );
                        return sprintf( '<a class="wp-embedded-audio" href="%s">%s</a>', esc_url( $src ), esc_html( $src ) );
                $primary = true;
                array_unshift( $default_types, 'src' );
@@ -879,7 +925,7 @@ function wp_audio_shortcode( $attr ) {
                foreach ( $default_types as $ext ) {
                        if ( ! empty( $$ext ) ) {
                                $type = wp_check_filetype( $$ext, wp_get_mime_types() );
                foreach ( $default_types as $ext ) {
                        if ( ! empty( $$ext ) ) {
                                $type = wp_check_filetype( $$ext, wp_get_mime_types() );
-                               if ( $type['ext'] === $ext )
+                               if ( strtolower( $type['ext'] ) === $ext )
                                        $primary = true;
                        }
                }
                                        $primary = true;
                        }
                }
@@ -946,7 +992,7 @@ function wp_audio_shortcode( $attr ) {
 
        return apply_filters( 'wp_audio_shortcode', $html, $atts, $audio, $post_id, $library );
 }
 
        return apply_filters( 'wp_audio_shortcode', $html, $atts, $audio, $post_id, $library );
 }
-add_shortcode( 'audio', apply_filters( 'wp_audio_shortcode_handler', 'wp_audio_shortcode' ) );
+add_shortcode( 'audio', 'wp_audio_shortcode' );
 
 /**
  * Return a filtered list of WP-supported video formats
 
 /**
  * Return a filtered list of WP-supported video formats
@@ -966,16 +1012,31 @@ function wp_get_video_extensions() {
  *
  * @since 3.6.0
  *
  *
  * @since 3.6.0
  *
- * @param array $attr Attributes of the shortcode.
+ * @param array  $attr    Attributes of the shortcode.
+ * @param string $content Optional. Shortcode content.
  * @return string HTML content to display video.
  */
  * @return string HTML content to display video.
  */
-function wp_video_shortcode( $attr ) {
+function wp_video_shortcode( $attr, $content = '' ) {
        global $content_width;
        $post_id = get_post() ? get_the_ID() : 0;
 
        static $instances = 0;
        $instances++;
 
        global $content_width;
        $post_id = get_post() ? get_the_ID() : 0;
 
        static $instances = 0;
        $instances++;
 
+       /**
+        * Override the default video shortcode.
+        *
+        * @since 3.7.0
+        *
+        * @param null              Empty variable to be replaced with shortcode markup.
+        * @param array  $attr      Attributes of the shortcode.
+        * @param string $content   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;
+
        $video = null;
 
        $default_types = wp_get_video_extensions();
        $video = null;
 
        $default_types = wp_get_video_extensions();
@@ -1010,7 +1071,7 @@ function wp_video_shortcode( $attr ) {
        $primary = false;
        if ( ! empty( $src ) ) {
                $type = wp_check_filetype( $src, wp_get_mime_types() );
        $primary = false;
        if ( ! empty( $src ) ) {
                $type = wp_check_filetype( $src, wp_get_mime_types() );
-               if ( ! in_array( $type['ext'], $default_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 ) );
                $primary = true;
                array_unshift( $default_types, 'src' );
                        return sprintf( '<a class="wp-embedded-video" href="%s">%s</a>', esc_url( $src ), esc_html( $src ) );
                $primary = true;
                array_unshift( $default_types, 'src' );
@@ -1018,7 +1079,7 @@ function wp_video_shortcode( $attr ) {
                foreach ( $default_types as $ext ) {
                        if ( ! empty( $$ext ) ) {
                                $type = wp_check_filetype( $$ext, wp_get_mime_types() );
                foreach ( $default_types as $ext ) {
                        if ( ! empty( $$ext ) ) {
                                $type = wp_check_filetype( $$ext, wp_get_mime_types() );
-                               if ( $type['ext'] === $ext )
+                               if ( strtolower( $type['ext'] ) === $ext )
                                        $primary = true;
                        }
                }
                                        $primary = true;
                        }
                }
@@ -1090,7 +1151,7 @@ function wp_video_shortcode( $attr ) {
        $html = sprintf( '<div style="width: %dpx; max-width: 100%%;">%s</div>', $width, $html );
        return apply_filters( 'wp_video_shortcode', $html, $atts, $video, $post_id, $library );
 }
        $html = sprintf( '<div style="width: %dpx; max-width: 100%%;">%s</div>', $width, $html );
        return apply_filters( 'wp_video_shortcode', $html, $atts, $video, $post_id, $library );
 }
-add_shortcode( 'video', apply_filters( 'wp_video_shortcode_handler', 'wp_video_shortcode' ) );
+add_shortcode( 'video', 'wp_video_shortcode' );
 
 /**
  * Display previous image link that has the same post parent.
 
 /**
  * Display previous image link that has the same post parent.
@@ -1683,6 +1744,7 @@ function wp_prepare_attachment_for_js( $attachment ) {
 
        if ( $meta && 'image' === $type ) {
                $sizes = array();
 
        if ( $meta && 'image' === $type ) {
                $sizes = array();
+               /** This filter is documented in wp-admin/includes/media.php */
                $possible_sizes = apply_filters( 'image_size_names_choose', array(
                        'thumbnail' => __('Thumbnail'),
                        'medium'    => __('Medium'),
                $possible_sizes = apply_filters( 'image_size_names_choose', array(
                        'thumbnail' => __('Thumbnail'),
                        'medium'    => __('Medium'),
index 22b03157ae6a03c370be0cbaced75496728a7da1..4066781af07133b750084c6c3ae9722b2efc2608 100644 (file)
@@ -22,7 +22,7 @@
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
  * @param int $object_id ID of the object metadata is for
  * @param string $meta_key Metadata key
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
  * @param int $object_id ID of the object metadata is for
  * @param string $meta_key Metadata key
- * @param string $meta_value Metadata value
+ * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
  * @param bool $unique Optional, default is false. Whether the specified metadata key should be
  *             unique for the object. If true, and the object already has a value for the specified
  *             metadata key, no change will be made
  * @param bool $unique Optional, default is false. Whether the specified metadata key should be
  *             unique for the object. If true, and the object already has a value for the specified
  *             metadata key, no change will be made
@@ -93,8 +93,8 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique =
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
  * @param int $object_id ID of the object metadata is for
  * @param string $meta_key Metadata key
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
  * @param int $object_id ID of the object metadata is for
  * @param string $meta_key Metadata key
- * @param string $meta_value Metadata value
- * @param string $prev_value Optional. If specified, only update existing metadata entries with
+ * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
+ * @param mixed $prev_value Optional. If specified, only update existing metadata entries with
  *             the specified value. Otherwise, update all entries.
  * @return bool True on successful update, false on failure.
  */
  *             the specified value. Otherwise, update all entries.
  * @return bool True on successful update, false on failure.
  */
@@ -151,7 +151,9 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
        if ( 'post' == $meta_type )
                do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
 
        if ( 'post' == $meta_type )
                do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
 
-       $wpdb->update( $table, $data, $where );
+       $result = $wpdb->update( $table, $data, $where );
+       if ( ! $result )
+               return false;
 
        wp_cache_delete($object_id, $meta_type . '_meta');
 
 
        wp_cache_delete($object_id, $meta_type . '_meta');
 
@@ -174,7 +176,7 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
  * @param int $object_id ID of the object metadata is for
  * @param string $meta_key Metadata key
  * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
  * @param int $object_id ID of the object metadata is for
  * @param string $meta_key Metadata key
- * @param string $meta_value Optional. Metadata value. If specified, only delete metadata entries
+ * @param mixed $meta_value Optional. Metadata value. Must be serializable if non-scalar. If specified, only delete metadata entries
  *             with this value. Otherwise, delete all entries with the specified meta_key.
  * @param bool $delete_all Optional, default is false. If true, delete matching metadata entries
  *             for all objects, ignoring the specified object_id. Otherwise, only delete matching
  *             with this value. Otherwise, delete all entries with the specified meta_key.
  * @param bool $delete_all Optional, default is false. If true, delete matching metadata entries
  *             for all objects, ignoring the specified object_id. Otherwise, only delete matching
@@ -435,7 +437,9 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
                        do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
 
                // Run the update query, all fields in $data are %s, $where is a %d.
                        do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
 
                // Run the update query, all fields in $data are %s, $where is a %d.
-               $result = (bool) $wpdb->update( $table, $data, $where, '%s', '%d' );
+               $result = $wpdb->update( $table, $data, $where, '%s', '%d' );
+               if ( ! $result )
+                       return false;
 
                // Clear the caches.
                wp_cache_delete($object_id, $meta_type . '_meta');
 
                // Clear the caches.
                wp_cache_delete($object_id, $meta_type . '_meta');
@@ -445,7 +449,7 @@ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key =
                if ( 'post' == $meta_type )
                        do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
 
                if ( 'post' == $meta_type )
                        do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
 
-               return $result;
+               return true;
        }
 
        // And if the meta was not found.
        }
 
        // And if the meta was not found.
@@ -614,7 +618,8 @@ class WP_Meta_Query {
        * - 'key' string The meta key
        * - 'value' string|array The meta value
        * - 'compare' (optional) string How to compare the key to the value.
        * - 'key' string The meta key
        * - 'value' string|array The meta value
        * - 'compare' (optional) string How to compare the key to the value.
-       *              Possible values: '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'.
+       *              Possible values: '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN',
+       *              'BETWEEN', 'NOT BETWEEN', 'REGEXP', 'NOT REGEXP', 'RLIKE'.
        *              Default: '='
        * - 'type' string (optional) The type of the value.
        *              Possible values: 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED'.
        *              Default: '='
        * - 'type' string (optional) The type of the value.
        *              Possible values: 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED'.
@@ -688,6 +693,29 @@ class WP_Meta_Query {
                $this->__construct( $meta_query );
        }
 
                $this->__construct( $meta_query );
        }
 
+       /**
+        * Given a meta type, return the appropriate alias if applicable
+        *
+        * @since 3.7.0
+        *
+        * @param string $type MySQL type to cast meta_value
+        * @return string MySQL type
+        */
+       function get_cast_for_type( $type = '' ) {
+               if ( empty( $type ) )
+                       return 'CHAR';
+
+               $meta_type = strtoupper( $type );
+
+               if ( ! in_array( $meta_type, array( 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED', 'NUMERIC' ) ) )
+                       return 'CHAR';
+
+               if ( 'NUMERIC' == $meta_type )
+                       $meta_type = 'SIGNED';
+
+               return $meta_type;
+       }
+
        /**
         * Generates SQL clauses to be appended to a main query.
         *
        /**
         * Generates SQL clauses to be appended to a main query.
         *
@@ -720,8 +748,8 @@ class WP_Meta_Query {
                                $key_only_queries[$k] = $q;
                                unset( $this->queries[$k] );
                        }
                                $key_only_queries[$k] = $q;
                                unset( $this->queries[$k] );
                        }
-               }               
-               
+               }
+
                // Split out the meta_key only queries (we can only do this for OR)
                if ( 'OR' == $this->relation ) {
                        foreach ( $this->queries as $k => $q ) {
                // Split out the meta_key only queries (we can only do this for OR)
                if ( 'OR' == $this->relation ) {
                        foreach ( $this->queries as $k => $q ) {
@@ -744,12 +772,7 @@ class WP_Meta_Query {
 
                foreach ( $queries as $k => $q ) {
                        $meta_key = isset( $q['key'] ) ? trim( $q['key'] ) : '';
 
                foreach ( $queries as $k => $q ) {
                        $meta_key = isset( $q['key'] ) ? trim( $q['key'] ) : '';
-                       $meta_type = isset( $q['type'] ) ? strtoupper( $q['type'] ) : 'CHAR';
-
-                       if ( 'NUMERIC' == $meta_type )
-                               $meta_type = 'SIGNED';
-                       elseif ( ! in_array( $meta_type, array( 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED' ) ) )
-                               $meta_type = 'CHAR';
+                       $meta_type = $this->get_cast_for_type( isset( $q['type'] ) ? $q['type'] : '' );
 
                        $meta_value = isset( $q['value'] ) ? $q['value'] : null;
 
 
                        $meta_value = isset( $q['value'] ) ? $q['value'] : null;
 
@@ -763,7 +786,8 @@ class WP_Meta_Query {
                                'LIKE', 'NOT LIKE',
                                'IN', 'NOT IN',
                                'BETWEEN', 'NOT BETWEEN',
                                'LIKE', 'NOT LIKE',
                                'IN', 'NOT IN',
                                'BETWEEN', 'NOT BETWEEN',
-                               'NOT EXISTS'
+                               'NOT EXISTS',
+                               'REGEXP', 'NOT REGEXP', 'RLIKE'
                        ) ) )
                                $meta_compare = '=';
 
                        ) ) )
                                $meta_compare = '=';
 
index 95ddedb7f11a5050eaa1acf9e5f08269e1ae3f57..25baf15f68b544765dd30171e2f3cf47220edb76 100644 (file)
@@ -55,32 +55,6 @@ function get_blogaddress_by_name( $blogname ) {
        return esc_url( $url . '/' );
 }
 
        return esc_url( $url . '/' );
 }
 
-/**
- * Get a full blog URL, given a domain and a path.
- *
- * @since MU
- *
- * @param string $domain
- * @param string $path
- * @return string
- */
-function get_blogaddress_by_domain( $domain, $path ) {
-       if ( is_subdomain_install() ) {
-               $url = "http://" . $domain.$path;
-       } else {
-               if ( $domain != $_SERVER['HTTP_HOST'] ) {
-                       $blogname = substr( $domain, 0, strpos( $domain, '.' ) );
-                       $url = 'http://' . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path;
-                       // we're not installing the main blog
-                       if ( $blogname != 'www.' )
-                               $url .= $blogname . '/';
-               } else { // main blog
-                       $url = 'http://' . $domain . $path;
-               }
-       }
-       return esc_url( $url );
-}
-
 /**
  * Given a blog's (subdomain or directory) slug, retrieve its id.
  *
 /**
  * Given a blog's (subdomain or directory) slug, retrieve its id.
  *
@@ -524,7 +498,7 @@ function switch_to_blog( $new_blog, $deprecated = null ) {
        }
 
        $wpdb->set_blog_id( $new_blog );
        }
 
        $wpdb->set_blog_id( $new_blog );
-       $GLOBALS['table_prefix'] = $wpdb->prefix;
+       $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix();
        $prev_blog_id = $GLOBALS['blog_id'];
        $GLOBALS['blog_id'] = $new_blog;
 
        $prev_blog_id = $GLOBALS['blog_id'];
        $GLOBALS['blog_id'] = $new_blog;
 
@@ -587,7 +561,7 @@ function restore_current_blog() {
        $wpdb->set_blog_id( $blog );
        $prev_blog_id = $GLOBALS['blog_id'];
        $GLOBALS['blog_id'] = $blog;
        $wpdb->set_blog_id( $blog );
        $prev_blog_id = $GLOBALS['blog_id'];
        $GLOBALS['blog_id'] = $blog;
-       $GLOBALS['table_prefix'] = $wpdb->prefix;
+       $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix();
 
        if ( function_exists( 'wp_cache_switch_to_blog' ) ) {
                wp_cache_switch_to_blog( $blog );
 
        if ( function_exists( 'wp_cache_switch_to_blog' ) ) {
                wp_cache_switch_to_blog( $blog );
index c4c223a4f781275a02b7e2cb9f9bdd486225b864..759c81f0edcfeda9b28aea8631e26dc1c94b7348 100644 (file)
@@ -18,7 +18,7 @@ add_filter( 'wpmu_validate_user_signup', 'signup_nonce_check' );
 add_action( 'init', 'maybe_add_existing_user_to_blog' );
 add_action( 'wpmu_new_user', 'newuser_notify_siteadmin' );
 add_action( 'wpmu_activate_user', 'add_new_user_to_blog', 10, 3 );
 add_action( 'init', 'maybe_add_existing_user_to_blog' );
 add_action( 'wpmu_new_user', 'newuser_notify_siteadmin' );
 add_action( 'wpmu_activate_user', 'add_new_user_to_blog', 10, 3 );
-add_action( 'sanitize_user', 'strtolower' );
+add_filter( 'sanitize_user', 'strtolower' );
 
 // Blogs
 add_filter( 'wpmu_validate_blog_signup', 'signup_nonce_check' );
 
 // Blogs
 add_filter( 'wpmu_validate_blog_signup', 'signup_nonce_check' );
@@ -37,8 +37,15 @@ add_filter( 'term_id_filter', 'global_terms', 10, 2 );
 add_action( 'publish_post', 'update_posts_count' );
 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( 'publish_post', 'update_posts_count' );
 add_action( 'delete_post', '_update_blog_date_on_post_delete' );
 add_action( 'transition_post_status', '_update_blog_date_on_post_publish', 10, 3 );
+
+// Counts
 add_action( 'admin_init', 'wp_schedule_update_network_counts');
 add_action( 'update_network_counts', 'wp_update_network_counts');
 add_action( 'admin_init', 'wp_schedule_update_network_counts');
 add_action( 'update_network_counts', 'wp_update_network_counts');
+foreach ( array( 'user_register', 'deleted_user', 'wpmu_new_user', 'make_spam_user', 'make_ham_user' ) as $action )
+       add_action( $action, 'wp_maybe_update_network_user_counts' );
+foreach ( array( 'make_spam_blog', 'make_ham_blog', 'archive_blog', 'unarchive_blog', 'make_delete_blog', 'make_undelete_blog' ) as $action )
+       add_action( $action, 'wp_maybe_update_network_site_counts' );
+unset( $action );
 
 // Files
 add_filter( 'wp_upload_bits', 'upload_is_file_too_big' );
 
 // Files
 add_filter( 'wp_upload_bits', 'upload_is_file_too_big' );
index 9c6cad456e08391577603de78edf4183857eb6d1..30026a87585326be1cfea85dc89d4fe4b11ba5af 100644 (file)
  * Deprecated functions come here to die.
  */
 
  * Deprecated functions come here to die.
  */
 
+/**
+ * Get the "dashboard blog", the blog where users without a blog edit their profile data.
+ * Dashboard blog functionality was removed in WordPress 3.1, replaced by the user admin.
+ *
+ * @since MU
+ * @deprecated 3.1.0
+ * @see get_blog_details()
+ * @return int
+ */
+function get_dashboard_blog() {
+    _deprecated_function( __FUNCTION__, '3.1' );
+    if ( $blog = get_site_option( 'dashboard_blog' ) )
+        return get_blog_details( $blog );
+
+    return get_blog_details( $GLOBALS['current_site']->blog_id );
+}
+
 /**
  * @since MU
  * @deprecated 3.0.0
 /**
  * @since MU
  * @deprecated 3.0.0
@@ -144,7 +161,7 @@ function validate_email( $email, $check_domain = true) {
  * @deprecated No alternative available. For performance reasons this function is not recommended.
  */
 function get_blog_list( $start = 0, $num = 10, $deprecated = '' ) {
  * @deprecated No alternative available. For performance reasons this function is not recommended.
  */
 function get_blog_list( $start = 0, $num = 10, $deprecated = '' ) {
-       _deprecated_function( __FUNCTION__, '3.0' );
+       _deprecated_function( __FUNCTION__, '3.0', 'wp_get_sites()' );
 
        global $wpdb;
        $blogs = $wpdb->get_results( $wpdb->prepare("SELECT blog_id, domain, path FROM $wpdb->blogs WHERE site_id = %d AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC", $wpdb->siteid), ARRAY_A );
 
        global $wpdb;
        $blogs = $wpdb->get_results( $wpdb->prepare("SELECT blog_id, domain, path FROM $wpdb->blogs WHERE site_id = %d AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC", $wpdb->siteid), ARRAY_A );
@@ -299,3 +316,32 @@ function get_user_id_from_string( $string ) {
                return $user->ID;
        return 0;
 }
                return $user->ID;
        return 0;
 }
+
+/**
+ * Get a full blog URL, given a domain and a path.
+ *
+ * @since MU
+ * @deprecated 3.7.0
+ *
+ * @param string $domain
+ * @param string $path
+ * @return string
+ */
+function get_blogaddress_by_domain( $domain, $path ) {
+       _deprecated_function( __FUNCTION__, '3.7' );
+
+       if ( is_subdomain_install() ) {
+               $url = "http://" . $domain.$path;
+       } else {
+               if ( $domain != $_SERVER['HTTP_HOST'] ) {
+                       $blogname = substr( $domain, 0, strpos( $domain, '.' ) );
+                       $url = 'http://' . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path;
+                       // we're not installing the main blog
+                       if ( $blogname != 'www.' )
+                               $url .= $blogname . '/';
+               } else { // main blog
+                       $url = 'http://' . $domain . $path;
+               }
+       }
+       return esc_url_raw( $url );
+}
index 9f8c31a8bc63f0c2a31572d9614dee32464984f2..fd92b2c5d620ed385e58d5f211b054e3b22c7815 100644 (file)
@@ -17,8 +17,6 @@
  * @return array Site and user count for the network.
  */
 function get_sitestats() {
  * @return array Site and user count for the network.
  */
 function get_sitestats() {
-       global $wpdb;
-
        $stats = array(
                'blogs' => get_blog_count(),
                'users' => get_user_count(),
        $stats = array(
                'blogs' => get_blog_count(),
                'users' => get_user_count(),
@@ -138,10 +136,13 @@ function get_user_count() {
  *
  * @since MU 1.0
  *
  *
  * @since MU 1.0
  *
- * @param int $id Optional. A site_id.
+ * @param int $network_id Deprecated, not supported.
  * @return int
  */
  * @return int
  */
-function get_blog_count( $id = 0 ) {
+function get_blog_count( $network_id = 0 ) {
+       if ( func_num_args() )
+               _deprecated_argument( __FUNCTION__, '3.1' );
+
        return get_site_option( 'blog_count' );
 }
 
        return get_site_option( 'blog_count' );
 }
 
@@ -627,7 +628,7 @@ function wpmu_validate_blog_signup($blogname, $blog_title, $user = '') {
  * @param string $user_email The user's email address.
  * @param array $meta By default, contains the requested privacy setting and lang_id.
  */
  * @param string $user_email The user's email address.
  * @param array $meta By default, contains the requested privacy setting and lang_id.
  */
-function wpmu_signup_blog($domain, $path, $title, $user, $user_email, $meta = '') {
+function wpmu_signup_blog( $domain, $path, $title, $user, $user_email, $meta = array() )  {
        global $wpdb;
 
        $key = substr( md5( time() . rand() . $domain ), 0, 16 );
        global $wpdb;
 
        $key = substr( md5( time() . rand() . $domain ), 0, 16 );
@@ -660,7 +661,7 @@ function wpmu_signup_blog($domain, $path, $title, $user, $user_email, $meta = ''
  * @param string $user_email The user's email address.
  * @param array $meta By default, this is an empty array.
  */
  * @param string $user_email The user's email address.
  * @param array $meta By default, this is an empty array.
  */
-function wpmu_signup_user($user, $user_email, $meta = '') {
+function wpmu_signup_user( $user, $user_email, $meta = array() ) {
        global $wpdb;
 
        // Format data
        global $wpdb;
 
        // Format data
@@ -703,11 +704,11 @@ function wpmu_signup_user($user, $user_email, $meta = '') {
  * @param string $title The site title.
  * @param string $user The user's login name.
  * @param string $user_email The user's email address.
  * @param string $title The site title.
  * @param string $user The user's login name.
  * @param string $user_email The user's email address.
- * @param array $meta By default, contains the requested privacy setting and lang_id.
  * @param string $key The activation key created in wpmu_signup_blog()
  * @param string $key The activation key created in wpmu_signup_blog()
+ * @param array $meta By default, contains the requested privacy setting and lang_id.
  * @return bool
  */
  * @return bool
  */
-function wpmu_signup_blog_notification($domain, $path, $title, $user, $user_email, $key, $meta = '') {
+function wpmu_signup_blog_notification( $domain, $path, $title, $user, $user_email, $key, $meta = array() ) {
        global $current_site;
 
        if ( !apply_filters('wpmu_signup_blog_notification', $domain, $path, $title, $user, $user_email, $key, $meta) )
        global $current_site;
 
        if ( !apply_filters('wpmu_signup_blog_notification', $domain, $path, $title, $user, $user_email, $key, $meta) )
@@ -764,11 +765,11 @@ function wpmu_signup_blog_notification($domain, $path, $title, $user, $user_emai
  *
  * @param string $user The user's login name.
  * @param string $user_email The user's email address.
  *
  * @param string $user The user's login name.
  * @param string $user_email The user's email address.
- * @param array $meta By default, an empty array.
  * @param string $key The activation key created in wpmu_signup_user()
  * @param string $key The activation key created in wpmu_signup_user()
+ * @param array $meta By default, an empty array.
  * @return bool
  */
  * @return bool
  */
-function wpmu_signup_user_notification($user, $user_email, $key, $meta = '') {
+function wpmu_signup_user_notification( $user, $user_email, $key, $meta = array() ) {
        if ( !apply_filters('wpmu_signup_user_notification', $user, $user_email, $key, $meta) )
                return false;
 
        if ( !apply_filters('wpmu_signup_user_notification', $user, $user_email, $key, $meta) )
                return false;
 
@@ -818,7 +819,7 @@ function wpmu_signup_user_notification($user, $user_email, $key, $meta = '') {
  * @return array An array containing information about the activated user and/or blog
  */
 function wpmu_activate_signup($key) {
  * @return array An array containing information about the activated user and/or blog
  */
 function wpmu_activate_signup($key) {
-       global $wpdb, $current_site;
+       global $wpdb;
 
        $signup = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->signups WHERE activation_key = %s", $key) );
 
 
        $signup = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->signups WHERE activation_key = %s", $key) );
 
@@ -936,7 +937,10 @@ function wpmu_create_user( $user_name, $password, $email ) {
  * @param int $site_id Optional. Only relevant on multi-network installs.
  * @return mixed Returns WP_Error object on failure, int $blog_id on success
  */
  * @param int $site_id Optional. Only relevant on multi-network installs.
  * @return mixed Returns WP_Error object on failure, int $blog_id on success
  */
-function wpmu_create_blog($domain, $path, $title, $user_id, $meta = '', $site_id = 1) {
+function wpmu_create_blog( $domain, $path, $title, $user_id, $meta = array(), $site_id = 1 ) {
+       $defaults = array( 'public' => 0 );
+       $meta = wp_parse_args( $meta, $defaults );
+
        $domain = preg_replace( '/\s+/', '', sanitize_user( $domain, true ) );
 
        if ( is_subdomain_install() )
        $domain = preg_replace( '/\s+/', '', sanitize_user( $domain, true ) );
 
        if ( is_subdomain_install() )
@@ -964,15 +968,15 @@ function wpmu_create_blog($domain, $path, $title, $user_id, $meta = '', $site_id
 
        add_user_to_blog($blog_id, $user_id, 'administrator');
 
 
        add_user_to_blog($blog_id, $user_id, 'administrator');
 
-       if ( is_array($meta) ) foreach ($meta as $key => $value) {
-               if ( $key == 'public' || $key == 'archived' || $key == 'mature' || $key == 'spam' || $key == 'deleted' || $key == 'lang_id' )
+       foreach ( $meta as $key => $value ) {
+               if ( in_array( $key, array( 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' ) ) )
                        update_blog_status( $blog_id, $key, $value );
                else
                        update_option( $key, $value );
        }
 
        add_option( 'WPLANG', get_site_option( 'WPLANG' ) );
                        update_blog_status( $blog_id, $key, $value );
                else
                        update_option( $key, $value );
        }
 
        add_option( 'WPLANG', get_site_option( 'WPLANG' ) );
-       update_option( 'blog_public', (int)$meta['public'] );
+       update_option( 'blog_public', (int) $meta['public'] );
 
        if ( ! is_super_admin( $user_id ) && ! get_user_meta( $user_id, 'primary_blog', true ) )
                update_user_meta( $user_id, 'primary_blog', $blog_id );
 
        if ( ! is_super_admin( $user_id ) && ! get_user_meta( $user_id, 'primary_blog', true ) )
                update_user_meta( $user_id, 'primary_blog', $blog_id );
@@ -1098,6 +1102,9 @@ function insert_blog($domain, $path, $site_id) {
 
        $blog_id = $wpdb->insert_id;
        refresh_blog_details( $blog_id );
 
        $blog_id = $wpdb->insert_id;
        refresh_blog_details( $blog_id );
+
+       wp_maybe_update_network_site_counts();
+
        return $blog_id;
 }
 
        return $blog_id;
 }
 
@@ -1197,7 +1204,7 @@ function install_blog_defaults($blog_id, $user_id) {
  * @param array $meta Optional. Not used in the default function, but is passed along to hooks for customization.
  * @return bool
  */
  * @param array $meta Optional. Not used in the default function, but is passed along to hooks for customization.
  * @return bool
  */
-function wpmu_welcome_notification($blog_id, $user_id, $password, $title, $meta = '') {
+function wpmu_welcome_notification( $blog_id, $user_id, $password, $title, $meta = array() ) {
        global $current_site;
 
        if ( !apply_filters('wpmu_welcome_notification', $blog_id, $user_id, $password, $title, $meta) )
        global $current_site;
 
        if ( !apply_filters('wpmu_welcome_notification', $blog_id, $user_id, $password, $title, $meta) )
@@ -1261,7 +1268,7 @@ We hope you enjoy your new site. Thanks!
  * @param array $meta Optional. Not used in the default function, but is passed along to hooks for customization.
  * @return bool
  */
  * @param array $meta Optional. Not used in the default function, but is passed along to hooks for customization.
  * @return bool
  */
-function wpmu_welcome_user_notification($user_id, $password, $meta = '') {
+function wpmu_welcome_user_notification( $user_id, $password, $meta = array() ) {
        global $current_site;
 
        if ( !apply_filters('wpmu_welcome_user_notification', $user_id, $password, $meta) )
        global $current_site;
 
        if ( !apply_filters('wpmu_welcome_user_notification', $user_id, $password, $meta) )
@@ -1297,8 +1304,10 @@ function wpmu_welcome_user_notification($user_id, $password, $meta = '') {
 /**
  * Get the current site info.
  *
 /**
  * Get the current site info.
  *
- * Returns an object containing the ID, domain, path, and site_name
- * of the site being viewed.
+ * Returns an object containing the 'id', 'domain', 'path', and 'site_name'
+ * properties of the site being viewed.
+ *
+ * @see wpmu_current_site()
  *
  * @since MU
  *
  *
  * @since MU
  *
@@ -1470,7 +1479,8 @@ function update_posts_count( $deprecated = '' ) {
 function wpmu_log_new_registrations( $blog_id, $user_id ) {
        global $wpdb;
        $user = get_userdata( (int) $user_id );
 function wpmu_log_new_registrations( $blog_id, $user_id ) {
        global $wpdb;
        $user = get_userdata( (int) $user_id );
-       $wpdb->insert( $wpdb->registration_log, array('email' => $user->user_email, 'IP' => preg_replace( '/[^0-9., ]/', '', wp_unslash( $_SERVER['REMOTE_ADDR'] ) ), 'blog_id' => $blog_id, 'date_registered' => current_time('mysql')) );
+       if ( $user )
+               $wpdb->insert( $wpdb->registration_log, array('email' => $user->user_email, 'IP' => preg_replace( '/[^0-9., ]/', '', wp_unslash( $_SERVER['REMOTE_ADDR'] ) ), 'blog_id' => $blog_id, 'date_registered' => current_time('mysql')) );
 }
 
 /**
 }
 
 /**
@@ -1609,7 +1619,6 @@ function signup_nonce_check( $result ) {
  * @since MU
  */
 function maybe_redirect_404() {
  * @since MU
  */
 function maybe_redirect_404() {
-       global $current_site;
        if ( is_main_site() && is_404() && defined( 'NOBLOGREDIRECT' ) && ( $destination = apply_filters( 'blog_redirect_404', NOBLOGREDIRECT ) ) ) {
                if ( $destination == '%siteurl%' )
                        $destination = network_home_url();
        if ( is_main_site() && is_404() && defined( 'NOBLOGREDIRECT' ) && ( $destination = apply_filters( 'blog_redirect_404', NOBLOGREDIRECT ) ) ) {
                if ( $destination == '%siteurl%' )
                        $destination = network_home_url();
@@ -1706,14 +1715,17 @@ function fix_phpmailer_messageid( $phpmailer ) {
  * @since MU
  * @uses get_user_by()
  *
  * @since MU
  * @uses get_user_by()
  *
- * @param string $user_login Optional. Defaults to current user.
+ * @param string|WP_User $user Optional. Defaults to current user. WP_User object,
+ *     or user login name as a string.
  * @return bool
  */
  * @return bool
  */
-function is_user_spammy( $user_login = null ) {
-       if ( $user_login )
-               $user = get_user_by( 'login', $user_login );
-       else
-               $user = wp_get_current_user();
+function is_user_spammy( $user = null ) {
+    if ( ! is_a( $user, 'WP_User' ) ) {
+               if ( $user )
+                       $user = get_user_by( 'login', $user );
+               else
+                       $user = wp_get_current_user();
+       }
 
        return $user && isset( $user->spam ) && 1 == $user->spam;
 }
 
        return $user && isset( $user->spam ) && 1 == $user->spam;
 }
@@ -1735,21 +1747,6 @@ function update_blog_public( $old_value, $value ) {
 }
 add_action('update_option_blog_public', 'update_blog_public', 10, 2);
 
 }
 add_action('update_option_blog_public', 'update_blog_public', 10, 2);
 
-/**
- * Get the "dashboard blog", the blog where users without a blog edit their profile data.
- *
- * @since MU
- * @uses get_blog_details()
- *
- * @return int
- */
-function get_dashboard_blog() {
-       if ( $blog = get_site_option( 'dashboard_blog' ) )
-               return get_blog_details( $blog );
-
-       return get_blog_details( $GLOBALS['current_site']->blog_id );
-}
-
 /**
  * Check whether a usermeta key has to do with the current blog.
  *
 /**
  * Check whether a usermeta key has to do with the current blog.
  *
@@ -1882,10 +1879,83 @@ function wp_schedule_update_network_counts() {
  *  @since 3.1.0
  */
 function wp_update_network_counts() {
  *  @since 3.1.0
  */
 function wp_update_network_counts() {
+       wp_update_network_user_counts();
+       wp_update_network_site_counts();
+}
+
+/**
+ * Update the count of sites for the current network.
+ *
+ * If enabled through the 'enable_live_network_counts' filter, update the sites count
+ * on a network when a site is created or its status is updated.
+ *
+ * @since 3.7.0
+ *
+ * @uses wp_update_network_site_counts()
+ */
+function wp_maybe_update_network_site_counts() {
+       $is_small_network = ! wp_is_large_network( 'sites' );
+
+       /**
+        * Filter the decision to update network user and site counts in real time.
+        *
+        * @since 3.7.0
+        *
+        * @param bool   $small_network Based on wp_is_large_network( $context ).
+        * @param string $context       Context. Either 'users' or 'sites'.
+        */
+       if ( ! apply_filters( 'enable_live_network_counts', $is_small_network, 'sites' ) )
+               return;
+
+       wp_update_network_site_counts();
+}
+
+/**
+ * Update the network-wide users count.
+ *
+ * If enabled through the 'enable_live_network_counts' filter, update the users count
+ * on a network when a user is created or its status is updated.
+ *
+ * @since 3.7.0
+ *
+ * @uses wp_update_network_user_counts()
+ */
+function wp_maybe_update_network_user_counts() {
+       $is_small_network = ! wp_is_large_network( 'users' );
+
+       /**
+        * Filter the decision to update network user and site counts in real time.
+        *
+        * @since 3.7.0
+        *
+        * @param bool   $small_network Based on wp_is_large_network( $context ).
+        * @param string $context       Context. Either 'users' or 'sites'.
+        */
+       if ( ! apply_filters( 'enable_live_network_counts', $is_small_network, 'users' ) )
+               return;
+
+       wp_update_network_user_counts();
+}
+
+/**
+ * Update the network-wide site count.
+ *
+ * @since 3.7.0
+ */
+function wp_update_network_site_counts() {
        global $wpdb;
 
        $count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(blog_id) as c FROM $wpdb->blogs WHERE site_id = %d AND spam = '0' AND deleted = '0' and archived = '0'", $wpdb->siteid) );
        update_site_option( 'blog_count', $count );
        global $wpdb;
 
        $count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(blog_id) as c FROM $wpdb->blogs WHERE site_id = %d AND spam = '0' AND deleted = '0' and archived = '0'", $wpdb->siteid) );
        update_site_option( 'blog_count', $count );
+}
+
+/**
+ * Update the network-wide user count.
+ *
+ * @since 3.7.0
+ */
+function wp_update_network_user_counts() {
+       global $wpdb;
 
        $count = $wpdb->get_var( "SELECT COUNT(ID) as c FROM $wpdb->users WHERE spam = '0' AND deleted = '0'" );
        update_site_option( 'user_count', $count );
 
        $count = $wpdb->get_var( "SELECT COUNT(ID) as c FROM $wpdb->users WHERE spam = '0' AND deleted = '0'" );
        update_site_option( 'user_count', $count );
@@ -1923,9 +1993,9 @@ function get_space_allowed() {
                $space_allowed = get_site_option( 'blog_upload_space' );
 
        if ( empty( $space_allowed ) || ! is_numeric( $space_allowed ) )
                $space_allowed = get_site_option( 'blog_upload_space' );
 
        if ( empty( $space_allowed ) || ! is_numeric( $space_allowed ) )
-               $space_allowed = 50;
+               $space_allowed = 100;
 
 
-       return $space_allowed;
+       return apply_filters( 'get_space_allowed', $space_allowed );
 }
 
 /**
 }
 
 /**
@@ -1993,3 +2063,80 @@ function wp_is_large_network( $using = 'sites' ) {
        $count = get_blog_count();
        return apply_filters( 'wp_is_large_network', $count > 10000, 'sites', $count );
 }
        $count = get_blog_count();
        return apply_filters( 'wp_is_large_network', $count > 10000, 'sites', $count );
 }
+
+
+/**
+ * Return an array of sites for a network or networks.
+ *
+ * @since 3.7.0
+ *
+ * @param array $args {
+ *     Array of default arguments. Optional.
+ *
+ *     @type int|array $network_id A network ID or array of network IDs. Set to null to retrieve sites
+ *                                 from all networks. Defaults to current network ID.
+ *     @type int       $public     Retrieve public or non-public sites. Default null, for any.
+ *     @type int       $archived   Retrieve archived or non-archived sites. Default null, for any.
+ *     @type int       $mature     Retrieve mature or non-mature sites. Default null, for any.
+ *     @type int       $spam       Retrieve spam or non-spam sites. Default null, for any.
+ *     @type int       $deleted    Retrieve deleted or non-deleted sites. Default null, for any.
+ *     @type int       $limit      Number of sites to limit the query to. Default 100.
+ *     @type int       $offset     Exclude the first x sites. Used in combination with the $limit parameter. Default 0.
+ * }
+ * @return array An empty array if the install is considered "large" via wp_is_large_network(). Otherwise,
+ *               an associative array of site data arrays, each containing the site (network) ID, blog ID,
+ *               site domain and path, dates registered and modified, and the language ID. Also, boolean
+ *               values for whether the site is public, archived, mature, spam, and/or deleted.
+ */
+function wp_get_sites( $args = array() ) {
+       global $wpdb;
+
+       if ( wp_is_large_network() )
+               return array();
+
+       $defaults = array(
+               'network_id' => $wpdb->siteid,
+               'public'     => null,
+               'archived'   => null,
+               'mature'     => null,
+               'spam'       => null,
+               'deleted'    => null,
+               'limit'      => 100,
+               'offset'     => 0,
+       );
+
+       $args = wp_parse_args( $args, $defaults );
+
+       $query = "SELECT * FROM $wpdb->blogs WHERE 1=1 ";
+
+       if ( isset( $args['network_id'] ) && ( is_array( $args['network_id'] ) || is_numeric( $args['network_id'] ) ) ) {
+               $network_ids = implode( ',', wp_parse_id_list( $args['network_id'] ) );
+               $query .= "AND site_id IN ($network_ids) ";
+       }
+
+       if ( isset( $args['public'] ) )
+               $query .= $wpdb->prepare( "AND public = %d ", $args['public'] );
+
+       if ( isset( $args['archived'] ) )
+               $query .= $wpdb->prepare( "AND archived = %d ", $args['archived'] );
+
+       if ( isset( $args['mature'] ) )
+               $query .= $wpdb->prepare( "AND mature = %d ", $args['mature'] );
+
+       if ( isset( $args['spam'] ) )
+               $query .= $wpdb->prepare( "AND spam = %d ", $args['spam'] );
+
+       if ( isset( $args['deleted'] ) )
+               $query .= $wpdb->prepare( "AND deleted = %d ", $args['deleted'] );
+
+       if ( isset( $args['limit'] ) && $args['limit'] ) {
+               if ( isset( $args['offset'] ) && $args['offset'] )
+                       $query .= $wpdb->prepare( "LIMIT %d , %d ", $args['offset'], $args['limit'] );
+               else
+                       $query .= $wpdb->prepare( "LIMIT %d ", $args['limit'] );
+       }
+
+       $site_results = $wpdb->get_results( $query, ARRAY_A );
+
+       return $site_results;
+}
index 55659a2822c2dbc8a51a8363aa61e08f351d0b47..a8f3f378dc7b2af305b823ab2ba92724327e3688 100644 (file)
@@ -73,8 +73,14 @@ function ms_site_check() {
 
        $blog = get_blog_details();
 
 
        $blog = get_blog_details();
 
-       // Allow short-circuiting
-       $check = apply_filters('ms_site_check', null);
+       /**
+        * Filter checking the status of the current blog.
+        *
+        * @since 1.2.1
+        *
+        * @param bool null Whether to skip the blog status check. Default null.
+       */
+       $check = apply_filters( 'ms_site_check', null );
        if ( null !== $check )
                return true;
 
        if ( null !== $check )
                return true;
 
index 0ac14c328f659d008c67bddaac797933c036708f..7aceb8f67a35ca33ef83eb87e236dd25294ecf0e 100644 (file)
@@ -16,6 +16,8 @@
  */
 class Walker_Nav_Menu extends Walker {
        /**
  */
 class Walker_Nav_Menu extends Walker {
        /**
+        * What the class handles.
+        *
         * @see Walker::$tree_type
         * @since 3.0.0
         * @var string
         * @see Walker::$tree_type
         * @since 3.0.0
         * @var string
@@ -23,6 +25,8 @@ class Walker_Nav_Menu extends Walker {
        var $tree_type = array( 'post_type', 'taxonomy', 'custom' );
 
        /**
        var $tree_type = array( 'post_type', 'taxonomy', 'custom' );
 
        /**
+        * Database fields to use.
+        *
         * @see Walker::$db_fields
         * @since 3.0.0
         * @todo Decouple this.
         * @see Walker::$db_fields
         * @since 3.0.0
         * @todo Decouple this.
@@ -31,11 +35,15 @@ class Walker_Nav_Menu extends Walker {
        var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );
 
        /**
        var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );
 
        /**
+        * Starts the list before the elements are added.
+        *
         * @see Walker::start_lvl()
         * @see Walker::start_lvl()
+        *
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param int $depth Depth of page. Used for padding.
+        * @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() ) {
                $indent = str_repeat("\t", $depth);
         */
        function start_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\t", $depth);
@@ -43,11 +51,15 @@ class Walker_Nav_Menu extends Walker {
        }
 
        /**
        }
 
        /**
+        * Ends the list of after the elements are added.
+        *
         * @see Walker::end_lvl()
         * @see Walker::end_lvl()
+        *
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param int $depth Depth of page. Used for padding.
+        * @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() ) {
                $indent = str_repeat("\t", $depth);
         */
        function end_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\t", $depth);
@@ -55,14 +67,17 @@ class Walker_Nav_Menu extends Walker {
        }
 
        /**
        }
 
        /**
+        * Start the element output.
+        *
         * @see Walker::start_el()
         * @see Walker::start_el()
+        *
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param object $item Menu item data object.
-        * @param int $depth Depth of menu item. Used for padding.
-        * @param int $current_page Menu item ID.
-        * @param object $args
+        * @param object $item   Menu item data object.
+        * @param int    $depth  Depth of menu item. Used for padding.
+        * @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 ) {
                $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
         */
        function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
                $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
@@ -72,9 +87,27 @@ class Walker_Nav_Menu extends Walker {
                $classes = empty( $item->classes ) ? array() : (array) $item->classes;
                $classes[] = 'menu-item-' . $item->ID;
 
                $classes = empty( $item->classes ) ? array() : (array) $item->classes;
                $classes[] = 'menu-item-' . $item->ID;
 
+               /**
+                * Filter the CSS class(es) applied to a menu item's <li>.
+                *
+                * @since 3.0.0
+                *
+                * @param array  $classes The CSS classes that are applied to the menu item's <li>.
+                * @param object $item    The current menu item.
+                * @param array  $args    An array of arguments. @see wp_nav_menu()
+                */
                $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
                $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
 
                $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
                $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
 
+               /**
+                * Filter the ID applied to a menu item's <li>.
+                *
+                * @since 3.0.1
+                *
+                * @param string The ID that is applied to the menu item's <li>.
+                * @param object $item The current menu item.
+                * @param array $args An array of arguments. @see wp_nav_menu()
+                */
                $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
                $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
 
                $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
                $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
 
@@ -86,6 +119,22 @@ class Walker_Nav_Menu extends Walker {
                $atts['rel']    = ! empty( $item->xfn )        ? $item->xfn        : '';
                $atts['href']   = ! empty( $item->url )        ? $item->url        : '';
 
                $atts['rel']    = ! empty( $item->xfn )        ? $item->xfn        : '';
                $atts['href']   = ! empty( $item->url )        ? $item->url        : '';
 
+               /**
+                * Filter the HTML attributes applied to a menu item's <a>.
+                *
+                * @since 3.6.0
+                *
+                * @param array $atts {
+                *     The HTML attributes applied to the menu item's <a>, empty strings are ignored.
+                *
+                *     @type string $title  The title attribute.
+                *     @type string $target The target attribute.
+                *     @type string $rel    The rel attribute.
+                *     @type string $href   The href attribute.
+                * }
+                * @param object $item The current menu item.
+                * @param array  $args An array of arguments. @see wp_nav_menu()
+                */
                $atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args );
 
                $attributes = '';
                $atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args );
 
                $attributes = '';
@@ -98,25 +147,45 @@ class Walker_Nav_Menu extends Walker {
 
                $item_output = $args->before;
                $item_output .= '<a'. $attributes .'>';
 
                $item_output = $args->before;
                $item_output .= '<a'. $attributes .'>';
+               /** This filter is documented in wp-includes/post-template.php */
                $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
                $item_output .= '</a>';
                $item_output .= $args->after;
 
                $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
                $item_output .= '</a>';
                $item_output .= $args->after;
 
+               /**
+                * Filter a menu item's starting output.
+                *
+                * The menu item's starting output only includes $args->before, the opening <a>,
+                * the menu item's title, the closing </a>, and $args->after. Currently, there is
+                * no filter for modifying the opening and closing <li> for a menu item.
+                *
+                * @since 3.0.0
+                *
+                * @param string $item_output The menu item's starting HTML output.
+                * @param object $item        Menu item data object.
+                * @param int    $depth       Depth of menu item. Used for padding.
+                * @param array  $args        An array of arguments. @see wp_nav_menu()
+                */
                $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
        }
 
        /**
                $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
        }
 
        /**
+        * Ends the element output, if needed.
+        *
         * @see Walker::end_el()
         * @see Walker::end_el()
+        *
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
         * @since 3.0.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param object $item Page data object. Not used.
-        * @param int $depth Depth of page. Not Used.
+        * @param object $item   Page data object. Not used.
+        * @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() ) {
                $output .= "</li>\n";
        }
         */
        function end_el( &$output, $item, $depth = 0, $args = array() ) {
                $output .= "</li>\n";
        }
-}
+
+} // Walker_Nav_Menu
 
 /**
  * Displays a navigation menu.
 
 /**
  * Displays a navigation menu.
@@ -152,6 +221,13 @@ function wp_nav_menu( $args = array() ) {
        'depth' => 0, 'walker' => '', 'theme_location' => '' );
 
        $args = wp_parse_args( $args, $defaults );
        'depth' => 0, 'walker' => '', 'theme_location' => '' );
 
        $args = wp_parse_args( $args, $defaults );
+       /**
+        * Filter the arguments used to display a navigation menu.
+        *
+        * @since 3.0.0
+        *
+        * @param array $args Arguments from {@see wp_nav_menu()}.
+        */
        $args = apply_filters( 'wp_nav_menu_args', $args );
        $args = (object) $args;
 
        $args = apply_filters( 'wp_nav_menu_args', $args );
        $args = (object) $args;
 
@@ -196,6 +272,13 @@ function wp_nav_menu( $args = array() ) {
 
        $show_container = false;
        if ( $args->container ) {
 
        $show_container = false;
        if ( $args->container ) {
+               /**
+                * Filter the list of HTML tags that are valid for use as menu containers.
+                *
+                * @since 3.0.0
+                *
+                * @param array The acceptable HTML tags for use as menu containers, defaults as 'div' and 'nav'.
+                */
                $allowed_tags = apply_filters( 'wp_nav_menu_container_allowedtags', array( 'div', 'nav' ) );
                if ( in_array( $args->container, $allowed_tags ) ) {
                        $show_container = true;
                $allowed_tags = apply_filters( 'wp_nav_menu_container_allowedtags', array( 'div', 'nav' ) );
                if ( in_array( $args->container, $allowed_tags ) ) {
                        $show_container = true;
@@ -208,12 +291,30 @@ function wp_nav_menu( $args = array() ) {
        // Set up the $menu_item variables
        _wp_menu_item_classes_by_context( $menu_items );
 
        // Set up the $menu_item variables
        _wp_menu_item_classes_by_context( $menu_items );
 
-       $sorted_menu_items = array();
-       foreach ( (array) $menu_items as $key => $menu_item )
-               $sorted_menu_items[$menu_item->menu_order] = $menu_item;
+       $sorted_menu_items = $menu_items_with_children = array();
+       foreach ( (array) $menu_items as $menu_item ) {
+               $sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
+               if ( $menu_item->menu_item_parent )
+                       $menu_items_with_children[ $menu_item->menu_item_parent ] = true;
+       }
+
+       // Add the menu-item-has-children class where applicable
+       if ( $menu_items_with_children ) {
+               foreach ( $sorted_menu_items as &$menu_item ) {
+                       if ( isset( $menu_items_with_children[ $menu_item->ID ] ) )
+                               $menu_item->classes[] = 'menu-item-has-children';
+               }
+       }
 
 
-       unset($menu_items);
+       unset( $menu_items, $menu_item );
 
 
+       /**
+        * Filter the sorted list of menu item objects before generating the menu's HTML.
+        *
+        * @since 3.1.0
+        *
+        * @param array $sorted_menu_items The menu items, sorted by each menu item's menu order.
+        */
        $sorted_menu_items = apply_filters( 'wp_nav_menu_objects', $sorted_menu_items, $args );
 
        $items .= walk_nav_menu_tree( $sorted_menu_items, $args->depth, $args );
        $sorted_menu_items = apply_filters( 'wp_nav_menu_objects', $sorted_menu_items, $args );
 
        $items .= walk_nav_menu_tree( $sorted_menu_items, $args->depth, $args );
@@ -235,8 +336,23 @@ function wp_nav_menu( $args = array() ) {
 
        $wrap_class = $args->menu_class ? $args->menu_class : '';
 
 
        $wrap_class = $args->menu_class ? $args->menu_class : '';
 
-       // Allow plugins to hook into the menu to add their own <li>'s
+       /**
+        * Filter the HTML list content for navigation menus.
+        *
+        * @since 3.0.0
+        *
+        * @param string $items The HTML list content for the menu items.
+        * @param array $args Arguments from {@see wp_nav_menu()}.
+        */
        $items = apply_filters( 'wp_nav_menu_items', $items, $args );
        $items = apply_filters( 'wp_nav_menu_items', $items, $args );
+       /**
+        * Filter the HTML list content for a specific navigation menu.
+        *
+        * @since 3.0.0
+        *
+        * @param string $items The HTML list content for the menu items.
+        * @param array $args Arguments from {@see wp_nav_menu()}.
+        */
        $items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );
 
        // Don't print any markup if there are no items at this point.
        $items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );
 
        // Don't print any markup if there are no items at this point.
@@ -249,6 +365,14 @@ function wp_nav_menu( $args = array() ) {
        if ( $show_container )
                $nav_menu .= '</' . $args->container . '>';
 
        if ( $show_container )
                $nav_menu .= '</' . $args->container . '>';
 
+       /**
+        * Filter the HTML content for navigation menus.
+        *
+        * @since 3.0.0
+        *
+        * @param string $nav_menu The HTML content for the navigation menu.
+        * @param array $args Arguments from {@see wp_nav_menu()}.
+        */
        $nav_menu = apply_filters( 'wp_nav_menu', $nav_menu, $args );
 
        if ( $args->echo )
        $nav_menu = apply_filters( 'wp_nav_menu', $nav_menu, $args );
 
        if ( $args->echo )
index 794f4b2d1177f4d5658fc66bc0304d0ff008d9e8..cf9ac1427e5efd1b06d2460f88aefc2b70d6f1bf 100644 (file)
@@ -190,8 +190,8 @@ function wp_delete_nav_menu( $menu ) {
        $result = wp_delete_term( $menu->term_id, 'nav_menu' );
 
        // Remove this menu from any locations.
        $result = wp_delete_term( $menu->term_id, 'nav_menu' );
 
        // Remove this menu from any locations.
-       $locations = get_theme_mod( 'nav_menu_locations' );
-       foreach ( (array) $locations as $location => $menu_id ) {
+       $locations = get_nav_menu_locations();
+       foreach ( $locations as $location => $menu_id ) {
                if ( $menu_id == $menu->term_id )
                        $locations[ $location ] = 0;
        }
                if ( $menu_id == $menu->term_id )
                        $locations[ $location ] = 0;
        }
@@ -476,8 +476,6 @@ function _is_valid_nav_menu_item( $item ) {
  * @return mixed $items array of menu items, else false.
  */
 function wp_get_nav_menu_items( $menu, $args = array() ) {
  * @return mixed $items array of menu items, else false.
  */
 function wp_get_nav_menu_items( $menu, $args = array() ) {
-       global $_wp_using_ext_object_cache;
-
        $menu = wp_get_nav_menu_object( $menu );
 
        if ( ! $menu )
        $menu = wp_get_nav_menu_object( $menu );
 
        if ( ! $menu )
@@ -504,7 +502,7 @@ function wp_get_nav_menu_items( $menu, $args = array() ) {
                return false;
 
        // Get all posts and terms at once to prime the caches
                return false;
 
        // Get all posts and terms at once to prime the caches
-       if ( empty( $fetched[$menu->term_id] ) || $_wp_using_ext_object_cache ) {
+       if ( empty( $fetched[$menu->term_id] ) || wp_using_ext_object_cache() ) {
                $fetched[$menu->term_id] = true;
                $posts = array();
                $terms = array();
                $fetched[$menu->term_id] = true;
                $posts = array();
                $terms = array();
@@ -685,9 +683,10 @@ function wp_setup_nav_menu_item( $menu_item ) {
  *
  * @param int $object_id The ID of the original object.
  * @param string $object_type The type of object, such as "taxonomy" or "post_type."
  *
  * @param int $object_id The ID of the original object.
  * @param string $object_type The type of object, such as "taxonomy" or "post_type."
+ * @param string $taxonomy If $object_type is "taxonomy", $taxonomy is the name of the tax that $object_id belongs to
  * @return array The array of menu item IDs; empty array if none;
  */
  * @return array The array of menu item IDs; empty array if none;
  */
-function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type' ) {
+function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type', $taxonomy = '' ) {
        $object_id = (int) $object_id;
        $menu_item_ids = array();
 
        $object_id = (int) $object_id;
        $menu_item_ids = array();
 
@@ -703,7 +702,8 @@ function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_
        );
        foreach( (array) $menu_items as $menu_item ) {
                if ( isset( $menu_item->ID ) && is_nav_menu_item( $menu_item->ID ) ) {
        );
        foreach( (array) $menu_items as $menu_item ) {
                if ( isset( $menu_item->ID ) && is_nav_menu_item( $menu_item->ID ) ) {
-                       if ( get_post_meta( $menu_item->ID, '_menu_item_type', true ) != $object_type )
+                       if ( get_post_meta( $menu_item->ID, '_menu_item_type', true ) !== $object_type ||
+                               get_post_meta( $menu_item->ID, '_menu_item_object', true ) !== $taxonomy )
                                continue;
 
                        $menu_item_ids[] = (int) $menu_item->ID;
                                continue;
 
                        $menu_item_ids[] = (int) $menu_item->ID;
@@ -741,10 +741,10 @@ function _wp_delete_post_menu_item( $object_id = 0 ) {
  * @param int $object_id The ID of the original object being trashed.
  *
  */
  * @param int $object_id The ID of the original object being trashed.
  *
  */
-function _wp_delete_tax_menu_item( $object_id = 0 ) {
+function _wp_delete_tax_menu_item( $object_id = 0, $tt_id, $taxonomy ) {
        $object_id = (int) $object_id;
 
        $object_id = (int) $object_id;
 
-       $menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy' );
+       $menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy', $taxonomy );
 
        foreach( (array) $menu_item_ids as $menu_item_id ) {
                wp_delete_post( $menu_item_id, true );
 
        foreach( (array) $menu_item_ids as $menu_item_id ) {
                wp_delete_post( $menu_item_id, true );
index 3df89c2c25cba932af7a3df7dc1e400203f79c23..cee2451fdeef067b4fc9f306a8d17283809cade9 100644 (file)
@@ -165,9 +165,9 @@ function wp_load_alloptions() {
  * @param int $site_id Optional site ID for which to query the options. Defaults to the current site.
  */
 function wp_load_core_site_options( $site_id = null ) {
  * @param int $site_id Optional site ID for which to query the options. Defaults to the current site.
  */
 function wp_load_core_site_options( $site_id = null ) {
-       global $wpdb, $_wp_using_ext_object_cache;
+       global $wpdb;
 
 
-       if ( !is_multisite() || $_wp_using_ext_object_cache || defined( 'WP_INSTALLING' ) )
+       if ( !is_multisite() || wp_using_ext_object_cache() || defined( 'WP_INSTALLING' ) )
                return;
 
        if ( empty($site_id) )
                return;
 
        if ( empty($site_id) )
@@ -208,10 +208,10 @@ function wp_load_core_site_options( $site_id = null ) {
  * @uses do_action() Calls 'update_option_$option' and 'updated_option' hooks on success.
  *
  * @param string $option Option name. Expected to not be SQL-escaped.
  * @uses do_action() Calls 'update_option_$option' and 'updated_option' hooks on success.
  *
  * @param string $option Option name. Expected to not be SQL-escaped.
- * @param mixed $newvalue Option value. Expected to not be SQL-escaped.
+ * @param mixed $value Option value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
  * @return bool False if value was not updated and true if value was updated.
  */
  * @return bool False if value was not updated and true if value was updated.
  */
-function update_option( $option, $newvalue ) {
+function update_option( $option, $value ) {
        global $wpdb;
 
        $option = trim($option);
        global $wpdb;
 
        $option = trim($option);
@@ -220,19 +220,25 @@ function update_option( $option, $newvalue ) {
 
        wp_protect_special_option( $option );
 
 
        wp_protect_special_option( $option );
 
-       if ( is_object($newvalue) )
-               $newvalue = clone $newvalue;
+       if ( is_object( $value ) )
+               $value = clone $value;
 
 
-       $newvalue = sanitize_option( $option, $newvalue );
-       $oldvalue = get_option( $option );
-       $newvalue = apply_filters( 'pre_update_option_' . $option, $newvalue, $oldvalue );
+       $value = sanitize_option( $option, $value );
+       $old_value = get_option( $option );
+       $value = apply_filters( 'pre_update_option_' . $option, $value, $old_value );
 
        // If the new and old values are the same, no need to update.
 
        // If the new and old values are the same, no need to update.
-       if ( $newvalue === $oldvalue )
+       if ( $value === $old_value )
                return false;
 
                return false;
 
-       if ( false === $oldvalue )
-               return add_option( $option, $newvalue );
+       if ( false === $old_value )
+               return add_option( $option, $value );
+
+       $serialized_value = maybe_serialize( $value );
+
+       $result = $wpdb->update( $wpdb->options, array( 'option_value' => $serialized_value ), array( 'option_name' => $option ) );
+       if ( ! $result )
+               return false;
 
        $notoptions = wp_cache_get( 'notoptions', 'options' );
        if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
 
        $notoptions = wp_cache_get( 'notoptions', 'options' );
        if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
@@ -240,28 +246,20 @@ function update_option( $option, $newvalue ) {
                wp_cache_set( 'notoptions', $notoptions, 'options' );
        }
 
                wp_cache_set( 'notoptions', $notoptions, 'options' );
        }
 
-       $_newvalue = $newvalue;
-       $newvalue = maybe_serialize( $newvalue );
-
-       do_action( 'update_option', $option, $oldvalue, $_newvalue );
+       do_action( 'update_option', $option, $old_value, $value );
        if ( ! defined( 'WP_INSTALLING' ) ) {
                $alloptions = wp_load_alloptions();
                if ( isset( $alloptions[$option] ) ) {
        if ( ! defined( 'WP_INSTALLING' ) ) {
                $alloptions = wp_load_alloptions();
                if ( isset( $alloptions[$option] ) ) {
-                       $alloptions[$option] = $newvalue;
+                       $alloptions[ $option ] = $serialized_value;
                        wp_cache_set( 'alloptions', $alloptions, 'options' );
                } else {
                        wp_cache_set( 'alloptions', $alloptions, 'options' );
                } else {
-                       wp_cache_set( $option, $newvalue, 'options' );
+                       wp_cache_set( $option, $serialized_value, 'options' );
                }
        }
 
                }
        }
 
-       $result = $wpdb->update( $wpdb->options, array( 'option_value' => $newvalue ), array( 'option_name' => $option ) );
-
-       if ( $result ) {
-               do_action( "update_option_{$option}", $oldvalue, $_newvalue );
-               do_action( 'updated_option', $option, $oldvalue, $_newvalue );
-               return true;
-       }
-       return false;
+       do_action( "update_option_{$option}", $old_value, $value );
+       do_action( 'updated_option', $option, $old_value, $value );
+       return true;
 }
 
 /**
 }
 
 /**
@@ -284,7 +282,7 @@ function update_option( $option, $newvalue ) {
  * @uses do_action() Calls 'add_option_$option' and 'added_option' hooks on success.
  *
  * @param string $option Name of option to add. Expected to not be SQL-escaped.
  * @uses do_action() Calls 'add_option_$option' and 'added_option' hooks on success.
  *
  * @param string $option Name of option to add. Expected to not be SQL-escaped.
- * @param mixed $value Optional. Option value, can be anything. Expected to not be SQL-escaped.
+ * @param mixed $value Optional. Option value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
  * @param mixed $deprecated Optional. Description. Not used anymore.
  * @param bool $autoload Optional. Default is enabled. Whether to load the option when WordPress starts up.
  * @return bool False if option was not added and true if option was added.
  * @param mixed $deprecated Optional. Description. Not used anymore.
  * @param bool $autoload Optional. Default is enabled. Whether to load the option when WordPress starts up.
  * @return bool False if option was not added and true if option was added.
@@ -312,17 +310,21 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
                if ( false !== get_option( $option ) )
                        return false;
 
                if ( false !== get_option( $option ) )
                        return false;
 
-       $_value = $value;
-       $value = maybe_serialize( $value );
+       $serialized_value = maybe_serialize( $value );
        $autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
        $autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
-       do_action( 'add_option', $option, $_value );
+       do_action( 'add_option', $option, $value );
+
+       $result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $serialized_value, $autoload ) );
+       if ( ! $result )
+               return false;
+
        if ( ! defined( 'WP_INSTALLING' ) ) {
                if ( 'yes' == $autoload ) {
                        $alloptions = wp_load_alloptions();
        if ( ! defined( 'WP_INSTALLING' ) ) {
                if ( 'yes' == $autoload ) {
                        $alloptions = wp_load_alloptions();
-                       $alloptions[$option] = $value;
+                       $alloptions[ $option ] = $serialized_value;
                        wp_cache_set( 'alloptions', $alloptions, 'options' );
                } else {
                        wp_cache_set( 'alloptions', $alloptions, 'options' );
                } else {
-                       wp_cache_set( $option, $value, 'options' );
+                       wp_cache_set( $option, $serialized_value, 'options' );
                }
        }
 
                }
        }
 
@@ -333,14 +335,9 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
                wp_cache_set( 'notoptions', $notoptions, 'options' );
        }
 
                wp_cache_set( 'notoptions', $notoptions, 'options' );
        }
 
-       $result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $value, $autoload ) );
-
-       if ( $result ) {
-               do_action( "add_option_{$option}", $option, $_value );
-               do_action( 'added_option', $option, $_value );
-               return true;
-       }
-       return false;
+       do_action( "add_option_{$option}", $option, $value );
+       do_action( 'added_option', $option, $value );
+       return true;
 }
 
 /**
 }
 
 /**
@@ -404,11 +401,9 @@ function delete_option( $option ) {
  * @return bool true if successful, false otherwise
  */
 function delete_transient( $transient ) {
  * @return bool true if successful, false otherwise
  */
 function delete_transient( $transient ) {
-       global $_wp_using_ext_object_cache;
-
        do_action( 'delete_transient_' . $transient, $transient );
 
        do_action( 'delete_transient_' . $transient, $transient );
 
-       if ( $_wp_using_ext_object_cache ) {
+       if ( wp_using_ext_object_cache() ) {
                $result = wp_cache_delete( $transient, 'transient' );
        } else {
                $option_timeout = '_transient_timeout_' . $transient;
                $result = wp_cache_delete( $transient, 'transient' );
        } else {
                $option_timeout = '_transient_timeout_' . $transient;
@@ -443,13 +438,11 @@ function delete_transient( $transient ) {
  * @return mixed Value of transient
  */
 function get_transient( $transient ) {
  * @return mixed Value of transient
  */
 function get_transient( $transient ) {
-       global $_wp_using_ext_object_cache;
-
        $pre = apply_filters( 'pre_transient_' . $transient, false );
        if ( false !== $pre )
                return $pre;
 
        $pre = apply_filters( 'pre_transient_' . $transient, false );
        if ( false !== $pre )
                return $pre;
 
-       if ( $_wp_using_ext_object_cache ) {
+       if ( wp_using_ext_object_cache() ) {
                $value = wp_cache_get( $transient, 'transient' );
        } else {
                $transient_option = '_transient_' . $transient;
                $value = wp_cache_get( $transient, 'transient' );
        } else {
                $transient_option = '_transient_' . $transient;
@@ -461,12 +454,13 @@ function get_transient( $transient ) {
                                if ( get_option( $transient_timeout ) < time() ) {
                                        delete_option( $transient_option  );
                                        delete_option( $transient_timeout );
                                if ( get_option( $transient_timeout ) < time() ) {
                                        delete_option( $transient_option  );
                                        delete_option( $transient_timeout );
-                                       return false;
+                                       $value = false;
                                }
                        }
                }
 
                                }
                        }
                }
 
-               $value = get_option( $transient_option );
+               if ( ! isset( $value ) )
+                       $value = get_option( $transient_option );
        }
 
        return apply_filters( 'transient_' . $transient, $value );
        }
 
        return apply_filters( 'transient_' . $transient, $value );
@@ -487,16 +481,15 @@ function get_transient( $transient ) {
  * @uses do_action() Calls 'set_transient_$transient' and 'setted_transient' hooks on success.
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
  * @uses do_action() Calls 'set_transient_$transient' and 'setted_transient' hooks on success.
  *
  * @param string $transient Transient name. Expected to not be SQL-escaped.
- * @param mixed $value Transient value. 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
  * @return bool False if value was not set and true if value was set.
  */
 function set_transient( $transient, $value, $expiration = 0 ) {
  * @param int $expiration 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 ) {
-       global $_wp_using_ext_object_cache;
-
        $value = apply_filters( 'pre_set_transient_' . $transient, $value );
        $value = apply_filters( 'pre_set_transient_' . $transient, $value );
+       $expiration = (int) $expiration;
 
 
-       if ( $_wp_using_ext_object_cache ) {
+       if ( wp_using_ext_object_cache() ) {
                $result = wp_cache_set( $transient, $value, 'transient', $expiration );
        } else {
                $transient_timeout = '_transient_timeout_' . $transient;
                $result = wp_cache_set( $transient, $value, 'transient', $expiration );
        } else {
                $transient_timeout = '_transient_timeout_' . $transient;
@@ -540,37 +533,36 @@ function wp_user_settings() {
        if ( defined('DOING_AJAX') )
                return;
 
        if ( defined('DOING_AJAX') )
                return;
 
-       if ( ! $user = wp_get_current_user() )
+       if ( ! $user_id = get_current_user_id() )
                return;
 
                return;
 
-       if ( is_super_admin( $user->ID ) &&
-               ! in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user->ID ) ) )
-               )
+       if ( is_super_admin() && ! is_user_member_of_blog() )
                return;
 
                return;
 
-       $settings = get_user_option( 'user-settings', $user->ID );
+       $settings = (string) get_user_option( 'user-settings', $user_id );
 
 
-       if ( isset( $_COOKIE['wp-settings-' . $user->ID] ) ) {
-               $cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] );
+       if ( isset( $_COOKIE['wp-settings-' . $user_id] ) ) {
+               $cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user_id] );
 
 
-               if ( ! empty( $cookie ) && strpos( $cookie, '=' ) ) {
-                       if ( $cookie == $settings )
-                               return;
+               // No change or both empty
+               if ( $cookie == $settings )
+                       return;
 
 
-                       $last_time = (int) get_user_option( 'user-settings-time', $user->ID );
-                       $saved = isset( $_COOKIE['wp-settings-time-' . $user->ID]) ? preg_replace( '/[^0-9]/', '', $_COOKIE['wp-settings-time-' . $user->ID] ) : 0;
+               $last_saved = (int) get_user_option( 'user-settings-time', $user_id );
+               $current = isset( $_COOKIE['wp-settings-time-' . $user_id]) ? preg_replace( '/[^0-9]/', '', $_COOKIE['wp-settings-time-' . $user_id] ) : 0;
 
 
-                       if ( $saved > $last_time ) {
-                               update_user_option( $user->ID, 'user-settings', $cookie, false );
-                               update_user_option( $user->ID, 'user-settings-time', time() - 5, false );
-                               return;
-                       }
+               // The cookie is newer than the saved value. Update the user_option and leave the cookie as-is
+               if ( $current > $last_saved ) {
+                       update_user_option( $user_id, 'user-settings', $cookie, false );
+                       update_user_option( $user_id, 'user-settings-time', time() - 5, false );
+                       return;
                }
        }
 
                }
        }
 
-       setcookie( 'wp-settings-' . $user->ID, $settings, time() + YEAR_IN_SECONDS, SITECOOKIEPATH );
-       setcookie( 'wp-settings-time-' . $user->ID, time(), time() + YEAR_IN_SECONDS, SITECOOKIEPATH );
-       $_COOKIE['wp-settings-' . $user->ID] = $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 );
+       $_COOKIE['wp-settings-' . $user_id] = $settings;
 }
 
 /**
 }
 
 /**
@@ -585,10 +577,9 @@ function wp_user_settings() {
  * @return mixed the last saved user setting or the default value/false if it doesn't exist.
  */
 function get_user_setting( $name, $default = false ) {
  * @return mixed the last saved user setting or the default value/false if it doesn't exist.
  */
 function get_user_setting( $name, $default = false ) {
+       $all_user_settings = get_all_user_settings();
 
 
-       $all = get_all_user_settings();
-
-       return isset($all[$name]) ? $all[$name] : $default;
+       return isset( $all_user_settings[$name] ) ? $all_user_settings[$name] : $default;
 }
 
 /**
 }
 
 /**
@@ -610,15 +601,10 @@ function set_user_setting( $name, $value ) {
        if ( headers_sent() )
                return false;
 
        if ( headers_sent() )
                return false;
 
-       $all = get_all_user_settings();
-       $name = preg_replace( '/[^A-Za-z0-9_]+/', '', $name );
+       $all_user_settings = get_all_user_settings();
+       $all_user_settings[$name] = $value;
 
 
-       if ( empty($name) )
-               return false;
-
-       $all[$name] = $value;
-
-       return wp_set_all_user_settings($all);
+       return wp_set_all_user_settings( $all_user_settings );
 }
 
 /**
 }
 
 /**
@@ -639,18 +625,19 @@ function delete_user_setting( $names ) {
        if ( headers_sent() )
                return false;
 
        if ( headers_sent() )
                return false;
 
-       $all = get_all_user_settings();
+       $all_user_settings = get_all_user_settings();
        $names = (array) $names;
        $names = (array) $names;
+       $deleted = false;
 
        foreach ( $names as $name ) {
 
        foreach ( $names as $name ) {
-               if ( isset($all[$name]) ) {
-                       unset($all[$name]);
+               if ( isset( $all_user_settings[$name] ) ) {
+                       unset( $all_user_settings[$name] );
                        $deleted = true;
                }
        }
 
                        $deleted = true;
                }
        }
 
-       if ( isset($deleted) )
-               return wp_set_all_user_settings($all);
+       if ( $deleted )
+               return wp_set_all_user_settings( $all_user_settings );
 
        return false;
 }
 
        return false;
 }
@@ -667,26 +654,27 @@ function delete_user_setting( $names ) {
 function get_all_user_settings() {
        global $_updated_user_settings;
 
 function get_all_user_settings() {
        global $_updated_user_settings;
 
-       if ( ! $user = wp_get_current_user() )
+       if ( ! $user_id = get_current_user_id() )
                return array();
 
                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;
 
                return $_updated_user_settings;
 
-       $all = array();
-       if ( isset($_COOKIE['wp-settings-' . $user->ID]) ) {
-               $cookie = preg_replace( '/[^A-Za-z0-9=&_]/', '', $_COOKIE['wp-settings-' . $user->ID] );
+       $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, '=') ) // the '=' cannot be 1st char
-                       parse_str($cookie, $all);
+               if ( $cookie && strpos( $cookie, '=' ) ) // '=' cannot be 1st char
+                       parse_str( $cookie, $user_settings );
 
        } else {
 
        } else {
-               $option = get_user_option('user-settings', $user->ID);
+               $option = get_user_option( 'user-settings', $user_id );
                if ( $option && is_string($option) )
                if ( $option && is_string($option) )
-                       parse_str( $option, $all );
+                       parse_str( $option, $user_settings );
        }
 
        }
 
-       return $all;
+       $_updated_user_settings = $user_settings;
+       return $user_settings;
 }
 
 /**
 }
 
 /**
@@ -696,31 +684,32 @@ function get_all_user_settings() {
  * @subpackage Option
  * @since 2.8.0
  *
  * @subpackage Option
  * @since 2.8.0
  *
- * @param unknown $all
+ * @param array $user_settings
  * @return bool
  */
  * @return bool
  */
-function wp_set_all_user_settings($all) {
+function wp_set_all_user_settings( $user_settings ) {
        global $_updated_user_settings;
 
        global $_updated_user_settings;
 
-       if ( ! $user = wp_get_current_user() )
+       if ( ! $user_id = get_current_user_id() )
                return false;
 
                return false;
 
-       if ( is_super_admin( $user->ID ) &&
-               ! in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user->ID ) ) )
-               )
+       if ( is_super_admin() && ! is_user_member_of_blog() )
                return;
 
                return;
 
-       $_updated_user_settings = $all;
        $settings = '';
        $settings = '';
-       foreach ( $all as $k => $v ) {
-               $v = preg_replace( '/[^A-Za-z0-9_]+/', '', $v );
-               $settings .= $k . '=' . $v . '&';
+       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 ) )
+                       $settings .= $_name . '=' . $_value . '&';
        }
 
        $settings = rtrim($settings, '&');
        }
 
        $settings = rtrim($settings, '&');
+       parse_str( $settings, $_updated_user_settings );
 
 
-       update_user_option( $user->ID, 'user-settings', $settings, false );
-       update_user_option( $user->ID, 'user-settings-time', time(), false );
+       update_user_option( $user_id, 'user-settings', $settings, false );
+       update_user_option( $user_id, 'user-settings-time', time(), false );
 
        return true;
 }
 
        return true;
 }
@@ -733,11 +722,11 @@ function wp_set_all_user_settings($all) {
  * @since 2.7.0
  */
 function delete_all_user_settings() {
  * @since 2.7.0
  */
 function delete_all_user_settings() {
-       if ( ! $user = wp_get_current_user() )
+       if ( ! $user_id = get_current_user_id() )
                return;
 
                return;
 
-       update_user_option( $user->ID, 'user-settings', '', false );
-       setcookie('wp-settings-' . $user->ID, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH);
+       update_user_option( $user_id, 'user-settings', '', false );
+       setcookie('wp-settings-' . $user_id, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH);
 }
 
 /**
 }
 
 /**
@@ -767,6 +756,11 @@ function get_site_option( $option, $default = false, $use_cache = true ) {
        if ( false !== $pre )
                return $pre;
 
        if ( false !== $pre )
                return $pre;
 
+       // prevent non-existent options from triggering multiple queries
+       $notoptions = wp_cache_get( 'notoptions', 'site-options' );
+       if ( isset( $notoptions[$option] ) )
+               return apply_filters( 'default_site_option_' . $option, $default );
+
        if ( ! is_multisite() ) {
                $default = apply_filters( 'default_site_option_' . $option, $default );
                $value = get_option($option, $default);
        if ( ! is_multisite() ) {
                $default = apply_filters( 'default_site_option_' . $option, $default );
                $value = get_option($option, $default);
@@ -784,6 +778,8 @@ function get_site_option( $option, $default = false, $use_cache = true ) {
                                $value = maybe_unserialize( $value );
                                wp_cache_set( $cache_key, $value, 'site-options' );
                        } else {
                                $value = maybe_unserialize( $value );
                                wp_cache_set( $cache_key, $value, 'site-options' );
                        } else {
+                               $notoptions[$option] = true;
+                               wp_cache_set( 'notoptions', $notoptions, 'site-options' );
                                $value = apply_filters( 'default_site_option_' . $option, $default );
                        }
                }
                                $value = apply_filters( 'default_site_option_' . $option, $default );
                        }
                }
@@ -813,6 +809,8 @@ function get_site_option( $option, $default = false, $use_cache = true ) {
 function add_site_option( $option, $value ) {
        global $wpdb;
 
 function add_site_option( $option, $value ) {
        global $wpdb;
 
+       wp_protect_special_option( $option );
+
        $value = apply_filters( 'pre_add_site_option_' . $option, $value );
 
        if ( !is_multisite() ) {
        $value = apply_filters( 'pre_add_site_option_' . $option, $value );
 
        if ( !is_multisite() ) {
@@ -820,16 +818,28 @@ function add_site_option( $option, $value ) {
        } else {
                $cache_key = "{$wpdb->siteid}:$option";
 
        } else {
                $cache_key = "{$wpdb->siteid}:$option";
 
-               if ( false !== get_site_option( $option ) )
-                       return false;
+               // Make sure the option doesn't already exist. We can check the 'notoptions' cache before we ask for a db query
+               $notoptions = wp_cache_get( 'notoptions', 'site-options' );
+               if ( ! is_array( $notoptions ) || ! isset( $notoptions[$option] ) )
+                       if ( false !== get_site_option( $option ) )
+                               return false;
 
                $value = sanitize_option( $option, $value );
 
                $value = sanitize_option( $option, $value );
+
+               $serialized_value = maybe_serialize( $value );
+               $result = $wpdb->insert( $wpdb->sitemeta, array('site_id' => $wpdb->siteid, 'meta_key' => $option, 'meta_value' => $serialized_value ) );
+
+               if ( ! $result )
+                       return false;
+
                wp_cache_set( $cache_key, $value, 'site-options' );
 
                wp_cache_set( $cache_key, $value, 'site-options' );
 
-               $_value = $value;
-               $value = maybe_serialize( $value );
-               $result = $wpdb->insert( $wpdb->sitemeta, array('site_id' => $wpdb->siteid, 'meta_key' => $option, 'meta_value' => $value ) );
-               $value = $_value;
+               // This option exists now
+               $notoptions = wp_cache_get( 'notoptions', 'site-options' ); // yes, again... we need it to be fresh
+               if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
+                       unset( $notoptions[$option] );
+                       wp_cache_set( 'notoptions', $notoptions, 'site-options' );
+               }
        }
 
        if ( $result ) {
        }
 
        if ( $result ) {
@@ -901,31 +911,40 @@ function delete_site_option( $option ) {
 function update_site_option( $option, $value ) {
        global $wpdb;
 
 function update_site_option( $option, $value ) {
        global $wpdb;
 
-       $oldvalue = get_site_option( $option );
-       $value = apply_filters( 'pre_update_site_option_' . $option, $value, $oldvalue );
+       wp_protect_special_option( $option );
 
 
-       if ( $value === $oldvalue )
+       $old_value = get_site_option( $option );
+       $value = apply_filters( 'pre_update_site_option_' . $option, $value, $old_value );
+
+       if ( $value === $old_value )
                return false;
 
                return false;
 
-       if ( false === $oldvalue )
+       if ( false === $old_value )
                return add_site_option( $option, $value );
 
                return add_site_option( $option, $value );
 
+       $notoptions = wp_cache_get( 'notoptions', 'site-options' );
+       if ( is_array( $notoptions ) && isset( $notoptions[$option] ) ) {
+               unset( $notoptions[$option] );
+               wp_cache_set( 'notoptions', $notoptions, 'site-options' );
+       }
+
        if ( !is_multisite() ) {
                $result = update_option( $option, $value );
        } else {
                $value = sanitize_option( $option, $value );
        if ( !is_multisite() ) {
                $result = update_option( $option, $value );
        } else {
                $value = sanitize_option( $option, $value );
-               $cache_key = "{$wpdb->siteid}:$option";
-               wp_cache_set( $cache_key, $value, 'site-options' );
 
 
-               $_value = $value;
-               $value = maybe_serialize( $value );
-               $result = $wpdb->update( $wpdb->sitemeta, array( 'meta_value' => $value ), array( 'site_id' => $wpdb->siteid, 'meta_key' => $option ) );
-               $value = $_value;
+               $serialized_value = maybe_serialize( $value );
+               $result = $wpdb->update( $wpdb->sitemeta, array( 'meta_value' => $serialized_value ), array( 'site_id' => $wpdb->siteid, 'meta_key' => $option ) );
+
+               if ( $result ) {
+                       $cache_key = "{$wpdb->siteid}:$option";
+                       wp_cache_set( $cache_key, $value, 'site-options' );
+               }
        }
 
        if ( $result ) {
        }
 
        if ( $result ) {
-               do_action( "update_site_option_{$option}", $option, $value, $oldvalue );
-               do_action( "update_site_option", $option, $value, $oldvalue );
+               do_action( "update_site_option_{$option}", $option, $value, $old_value );
+               do_action( "update_site_option", $option, $value, $old_value );
                return true;
        }
        return false;
                return true;
        }
        return false;
@@ -945,10 +964,8 @@ function update_site_option( $option, $value ) {
  * @return bool True if successful, false otherwise
  */
 function delete_site_transient( $transient ) {
  * @return bool True if successful, false otherwise
  */
 function delete_site_transient( $transient ) {
-       global $_wp_using_ext_object_cache;
-
        do_action( 'delete_site_transient_' . $transient, $transient );
        do_action( 'delete_site_transient_' . $transient, $transient );
-       if ( $_wp_using_ext_object_cache ) {
+       if ( wp_using_ext_object_cache() ) {
                $result = wp_cache_delete( $transient, 'site-transient' );
        } else {
                $option_timeout = '_site_transient_timeout_' . $transient;
                $result = wp_cache_delete( $transient, 'site-transient' );
        } else {
                $option_timeout = '_site_transient_timeout_' . $transient;
@@ -983,13 +1000,11 @@ function delete_site_transient( $transient ) {
  * @return mixed Value of transient
  */
 function get_site_transient( $transient ) {
  * @return mixed Value of transient
  */
 function get_site_transient( $transient ) {
-       global $_wp_using_ext_object_cache;
-
        $pre = apply_filters( 'pre_site_transient_' . $transient, false );
        if ( false !== $pre )
                return $pre;
 
        $pre = apply_filters( 'pre_site_transient_' . $transient, false );
        if ( false !== $pre )
                return $pre;
 
-       if ( $_wp_using_ext_object_cache ) {
+       if ( wp_using_ext_object_cache() ) {
                $value = wp_cache_get( $transient, 'site-transient' );
        } else {
                // Core transients that do not have a timeout. Listed here so querying timeouts can be avoided.
                $value = wp_cache_get( $transient, 'site-transient' );
        } else {
                // Core transients that do not have a timeout. Listed here so querying timeouts can be avoided.
@@ -1001,11 +1016,12 @@ function get_site_transient( $transient ) {
                        if ( false !== $timeout && $timeout < time() ) {
                                delete_site_option( $transient_option  );
                                delete_site_option( $transient_timeout );
                        if ( false !== $timeout && $timeout < time() ) {
                                delete_site_option( $transient_option  );
                                delete_site_option( $transient_timeout );
-                               return false;
+                               $value = false;
                        }
                }
 
                        }
                }
 
-               $value = get_site_option( $transient_option );
+               if ( ! isset( $value ) )
+                       $value = get_site_option( $transient_option );
        }
 
        return apply_filters( 'site_transient_' . $transient, $value );
        }
 
        return apply_filters( 'site_transient_' . $transient, $value );
@@ -1032,23 +1048,22 @@ function get_site_transient( $transient ) {
  * @return bool False if value was not set and true if value was set.
  */
 function set_site_transient( $transient, $value, $expiration = 0 ) {
  * @return bool False if value was not set and true if value was set.
  */
 function set_site_transient( $transient, $value, $expiration = 0 ) {
-       global $_wp_using_ext_object_cache;
-
        $value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
        $value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
+       $expiration = (int) $expiration;
 
 
-       if ( $_wp_using_ext_object_cache ) {
+       if ( wp_using_ext_object_cache() ) {
                $result = wp_cache_set( $transient, $value, 'site-transient', $expiration );
        } else {
                $transient_timeout = '_site_transient_timeout_' . $transient;
                $result = wp_cache_set( $transient, $value, 'site-transient', $expiration );
        } else {
                $transient_timeout = '_site_transient_timeout_' . $transient;
-               $transient = '_site_transient_' . $transient;
-               if ( false === get_site_option( $transient ) ) {
+               $option = '_site_transient_' . $transient;
+               if ( false === get_site_option( $option ) ) {
                        if ( $expiration )
                                add_site_option( $transient_timeout, time() + $expiration );
                        if ( $expiration )
                                add_site_option( $transient_timeout, time() + $expiration );
-                       $result = add_site_option( $transient, $value );
+                       $result = add_site_option( $option, $value );
                } else {
                        if ( $expiration )
                                update_site_option( $transient_timeout, time() + $expiration );
                } else {
                        if ( $expiration )
                                update_site_option( $transient_timeout, time() + $expiration );
-                       $result = update_site_option( $transient, $value );
+                       $result = update_site_option( $option, $value );
                }
        }
        if ( $result ) {
                }
        }
        if ( $result ) {
index 189b88a299c8d1d6c226f8a70ccbfc70aa9a3bc1..6839b015ac4c9239a9517d2f54712f9781183eea 100644 (file)
@@ -115,7 +115,7 @@ if ( !function_exists('get_userdata') ) :
  * @since 0.71
  *
  * @param int $user_id User ID
  * @since 0.71
  *
  * @param int $user_id User ID
- * @return bool|object False on failure, WP_User object on success
+ * @return WP_User|bool WP_User object on success, false on failure.
  */
 function get_userdata( $user_id ) {
        return get_user_by( 'id', $user_id );
  */
 function get_userdata( $user_id ) {
        return get_user_by( 'id', $user_id );
@@ -130,7 +130,7 @@ if ( !function_exists('get_user_by') ) :
  *
  * @param string $field The field to retrieve the user with. id | slug | email | login
  * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
  *
  * @param string $field The field to retrieve the user with. id | slug | email | login
  * @param int|string $value A value for $field. A user ID, slug, email address, or login name.
- * @return bool|object False on failure, WP_User object on success
+ * @return WP_User|bool WP_User object on success, false on failure.
  */
 function get_user_by( $field, $value ) {
        $userdata = WP_User::get_data_by( $field, $value );
  */
 function get_user_by( $field, $value ) {
        $userdata = WP_User::get_data_by( $field, $value );
@@ -463,7 +463,7 @@ if ( !function_exists('wp_authenticate') ) :
  *
  * @param string $username User's username
  * @param string $password User's password
  *
  * @param string $username User's username
  * @param string $password User's password
- * @return WP_Error|WP_User WP_User object if login successful, otherwise WP_Error object.
+ * @return WP_User|WP_Error WP_User object if login successful, otherwise WP_Error object.
  */
 function wp_authenticate($username, $password) {
        $username = sanitize_user($username);
  */
 function wp_authenticate($username, $password) {
        $username = sanitize_user($username);
@@ -649,7 +649,10 @@ if ( !function_exists('wp_set_auth_cookie') ) :
  */
 function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
        if ( $remember ) {
  */
 function wp_set_auth_cookie($user_id, $remember = false, $secure = '') {
        if ( $remember ) {
-               $expiration = $expire = time() + apply_filters('auth_cookie_expiration', 14 * DAY_IN_SECONDS, $user_id, $remember);
+               $expiration = time() + apply_filters('auth_cookie_expiration', 14 * DAY_IN_SECONDS, $user_id, $remember);
+               // Ensure the browser will continue to send the cookie after the expiration time is reached.
+               // Needed for the login grace period in wp_validate_auth_cookie().
+               $expire = $expiration + ( 12 * HOUR_IN_SECONDS );
        } else {
                $expiration = time() + apply_filters('auth_cookie_expiration', 2 * DAY_IN_SECONDS, $user_id, $remember);
                $expire = 0;
        } else {
                $expiration = time() + apply_filters('auth_cookie_expiration', 2 * DAY_IN_SECONDS, $user_id, $remember);
                $expire = 0;
@@ -827,10 +830,14 @@ if ( !function_exists('check_ajax_referer') ) :
  * @param string $query_arg where to look for nonce in $_REQUEST (since 2.5)
  */
 function check_ajax_referer( $action = -1, $query_arg = false, $die = true ) {
  * @param string $query_arg where to look for nonce in $_REQUEST (since 2.5)
  */
 function check_ajax_referer( $action = -1, $query_arg = false, $die = true ) {
-       if ( $query_arg )
-               $nonce = $_REQUEST[$query_arg];
-       else
-               $nonce = isset($_REQUEST['_ajax_nonce']) ? $_REQUEST['_ajax_nonce'] : $_REQUEST['_wpnonce'];
+       $nonce = '';
+
+       if ( $query_arg && isset( $_REQUEST[ $query_arg ] ) )
+               $nonce = $_REQUEST[ $query_arg ];
+       elseif ( isset( $_REQUEST['_ajax_nonce'] ) )
+               $nonce = $_REQUEST['_ajax_nonce'];
+       elseif ( isset( $_REQUEST['_wpnonce'] ) )
+               $nonce = $_REQUEST['_wpnonce'];
 
        $result = wp_verify_nonce( $nonce, $action );
 
 
        $result = wp_verify_nonce( $nonce, $action );
 
@@ -854,17 +861,34 @@ if ( !function_exists('wp_redirect') ) :
  * @since 1.5.1
  * @uses apply_filters() Calls 'wp_redirect' hook on $location and $status.
  *
  * @since 1.5.1
  * @uses apply_filters() Calls 'wp_redirect' hook on $location and $status.
  *
- * @param string $location The path to redirect to
- * @param int $status Status code to use
- * @return bool False if $location is not set
+ * @param string $location The path to redirect to.
+ * @param int $status Status code to use.
+ * @return bool False if $location is not provided, true otherwise.
  */
 function wp_redirect($location, $status = 302) {
        global $is_IIS;
 
  */
 function wp_redirect($location, $status = 302) {
        global $is_IIS;
 
-       $location = apply_filters('wp_redirect', $location, $status);
-       $status = apply_filters('wp_redirect_status', $status, $location);
+       /**
+        * Filter the redirect location.
+        *
+        * @since 2.1.0
+        *
+        * @param string $location The path to redirect to.
+        * @param int    $status   Status code to use.
+        */
+       $location = apply_filters( 'wp_redirect', $location, $status );
+
+       /**
+        * Filter the redirect status code.
+        *
+        * @since 2.3.0
+        *
+        * @param int    $status   Status code to use.
+        * @param string $location The path to redirect to.
+        */
+       $status = apply_filters( 'wp_redirect_status', $status, $location );
 
 
-       if ( !$location ) // allows the wp_redirect filter to cancel a redirect
+       if ( ! $location )
                return false;
 
        $location = wp_sanitize_redirect($location);
                return false;
 
        $location = wp_sanitize_redirect($location);
@@ -873,6 +897,8 @@ function wp_redirect($location, $status = 302) {
                status_header($status); // This causes problems on IIS and some FastCGI setups
 
        header("Location: $location", true, $status);
                status_header($status); // This causes problems on IIS and some FastCGI setups
 
        header("Location: $location", true, $status);
+
+       return true;
 }
 endif;
 
 }
 endif;
 
@@ -987,6 +1013,9 @@ if ( ! function_exists('wp_notify_postauthor') ) :
  */
 function wp_notify_postauthor( $comment_id, $comment_type = '' ) {
        $comment = get_comment( $comment_id );
  */
 function wp_notify_postauthor( $comment_id, $comment_type = '' ) {
        $comment = get_comment( $comment_id );
+       if ( empty( $comment ) )
+               return false;
+
        $post    = get_post( $comment->comment_post_ID );
        $author  = get_userdata( $post->post_author );
 
        $post    = get_post( $comment->comment_post_ID );
        $author  = get_userdata( $post->post_author );
 
@@ -1073,11 +1102,16 @@ function wp_notify_postauthor( $comment_id, $comment_type = '' ) {
        if ( isset($reply_to) )
                $message_headers .= $reply_to . "\n";
 
        if ( isset($reply_to) )
                $message_headers .= $reply_to . "\n";
 
-       $notify_message = apply_filters('comment_notification_text', $notify_message, $comment_id);
-       $subject = apply_filters('comment_notification_subject', $subject, $comment_id);
-       $message_headers = apply_filters('comment_notification_headers', $message_headers, $comment_id);
+       $emails = array( $author->user_email );
 
 
-       @wp_mail( $author->user_email, $subject, $notify_message, $message_headers );
+       $emails          = apply_filters( 'comment_notification_recipients', $emails,          $comment_id );
+       $notify_message  = apply_filters( 'comment_notification_text',       $notify_message,  $comment_id );
+       $subject         = apply_filters( 'comment_notification_subject',    $subject,         $comment_id );
+       $message_headers = apply_filters( 'comment_notification_headers',    $message_headers, $comment_id );
+
+       foreach ( $emails as $email ) {
+               @wp_mail( $email, $subject, $notify_message, $message_headers );
+       }
 
        return true;
 }
 
        return true;
 }
@@ -1103,9 +1137,9 @@ function wp_notify_moderator($comment_id) {
        $post = get_post($comment->comment_post_ID);
        $user = get_userdata( $post->post_author );
        // Send to the administration and to the post author if the author can modify the comment.
        $post = get_post($comment->comment_post_ID);
        $user = get_userdata( $post->post_author );
        // Send to the administration and to the post author if the author can modify the comment.
-       $email_to = array( get_option('admin_email') );
+       $emails = array( get_option('admin_email') );
        if ( user_can($user->ID, 'edit_comment', $comment_id) && !empty($user->user_email) && ( get_option('admin_email') != $user->user_email) )
        if ( user_can($user->ID, 'edit_comment', $comment_id) && !empty($user->user_email) && ( get_option('admin_email') != $user->user_email) )
-               $email_to[] = $user->user_email;
+               $emails[] = $user->user_email;
 
        $comment_author_domain = @gethostbyaddr($comment->comment_author_IP);
        $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'");
 
        $comment_author_domain = @gethostbyaddr($comment->comment_author_IP);
        $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'");
@@ -1155,12 +1189,14 @@ function wp_notify_moderator($comment_id) {
        $subject = sprintf( __('[%1$s] Please moderate: "%2$s"'), $blogname, $post->post_title );
        $message_headers = '';
 
        $subject = sprintf( __('[%1$s] Please moderate: "%2$s"'), $blogname, $post->post_title );
        $message_headers = '';
 
-       $notify_message = apply_filters('comment_moderation_text', $notify_message, $comment_id);
-       $subject = apply_filters('comment_moderation_subject', $subject, $comment_id);
-       $message_headers = apply_filters('comment_moderation_headers', $message_headers);
+       $emails          = apply_filters( 'comment_moderation_recipients', $emails,          $comment_id );
+       $notify_message  = apply_filters( 'comment_moderation_text',       $notify_message,  $comment_id );
+       $subject         = apply_filters( 'comment_moderation_subject',    $subject,         $comment_id );
+       $message_headers = apply_filters( 'comment_moderation_headers',    $message_headers, $comment_id );
 
 
-       foreach ( $email_to as $email )
-               @wp_mail($email, $subject, $notify_message, $message_headers);
+       foreach ( $emails as $email ) {
+               @wp_mail( $email, $subject, $notify_message, $message_headers );
+       }
 
        return true;
 }
 
        return true;
 }
@@ -1420,7 +1456,7 @@ function wp_hash_password($password) {
                $wp_hasher = new PasswordHash(8, true);
        }
 
                $wp_hasher = new PasswordHash(8, true);
        }
 
-       return $wp_hasher->HashPassword($password);
+       return $wp_hasher->HashPassword( trim( $password ) );
 }
 endif;
 
 }
 endif;
 
@@ -1567,7 +1603,7 @@ if ( !function_exists('wp_set_password') ) :
 function wp_set_password( $password, $user_id ) {
        global $wpdb;
 
 function wp_set_password( $password, $user_id ) {
        global $wpdb;
 
-       $hash = wp_hash_password( trim( $password ) );
+       $hash = wp_hash_password( $password );
        $wpdb->update($wpdb->users, array('user_pass' => $hash, 'user_activation_key' => ''), array('ID' => $user_id) );
 
        wp_cache_delete($user_id, 'users');
        $wpdb->update($wpdb->users, array('user_pass' => $hash, 'user_activation_key' => ''), array('ID' => $user_id) );
 
        wp_cache_delete($user_id, 'users');
@@ -1664,6 +1700,7 @@ function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
                if ( !empty( $rating ) )
                        $out .= "&amp;r={$rating}";
 
                if ( !empty( $rating ) )
                        $out .= "&amp;r={$rating}";
 
+               $out = str_replace( '&#038;', '&amp;', esc_url( $out ) );
                $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        } else {
                $avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
                $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        } else {
                $avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
index c2aebf28a9b5594ca99eeaf2e0c604b024312957..df4ba8d33ecb7b1f8a653dfa6999fc93a5abc0c5 100644 (file)
  * @since 1.5
  */
 
  * @since 1.5
  */
 
+// Initialize the filter globals.
+global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
+
+if ( ! isset( $wp_filter ) )
+       $wp_filter = array();
+
+if ( ! isset( $wp_actions ) )
+       $wp_actions = array();
+
+if ( ! isset( $merged_filters ) )
+       $merged_filters = array();
+
+if ( ! isset( $wp_current_filter ) )
+       $wp_current_filter = array();
+
 /**
  * Hooks a function or method to a specific filter action.
  *
 /**
  * Hooks a function or method to a specific filter action.
  *
- * Filters are the hooks that WordPress launches to modify text of various types
- * before adding it to the database or sending it to the browser screen. Plugins
- * can specify that one or more of its PHP functions is executed to
- * modify specific types of text at these times, using the Filter API.
+ * WordPress offers filter hooks to allow plugins to modify
+ * various types of internal data at runtime.
+ *
+ * A plugin can modify data by binding a callback to a filter hook. When the filter
+ * is later applied, each bound callback is run in order of priority, and given
+ * the opportunity to modify a value by returning a new value.
  *
  *
- * To use the API, the following code should be used to bind a callback to the
- * filter.
+ * The following example shows how a callback function is bound to a filter hook.
+ * Note that $example is passed to the callback, (maybe) modified, then returned:
  *
  * <code>
  *
  * <code>
- * function example_hook($example) { echo $example; }
- * add_filter('example_filter', 'example_hook');
+ * function example_callback( $example ) {
+ *     // Maybe modify $example in some way
+ *     return $example;
+ * }
+ * add_filter( 'example_filter', 'example_callback' );
  * </code>
  *
  * </code>
  *
- * In WordPress 1.5.1+, hooked functions can take extra arguments that are set
- * when the matching do_action() or apply_filters() call is run. The
- * $accepted_args allow for calling functions only when the number of args
- * match. Hooked functions can take extra arguments that are set when the
- * matching do_action() or apply_filters() call is run. For example, the action
- * comment_id_not_found will pass any functions that hook onto it the ID of the
- * requested comment.
+ * Since WordPress 1.5.1, bound callbacks can take as many arguments as are
+ * passed as parameters in the corresponding apply_filters() call. The $accepted_args
+ * parameter allows for calling functions only when the number of args match.
  *
  *
- * <strong>Note:</strong> the function will return true no matter if the
- * function was hooked fails or not. There are no checks for whether the
- * function exists beforehand and no checks to whether the <tt>$function_to_add</tt>
- * is even a string. It is up to you to take care and this is done for
- * optimization purposes, so everything is as quick as possible.
+ * <strong>Note:</strong> the function will return true whether or not the callback
+ * is valid. It is up to you to take care. This is done for optimization purposes,
+ * so everything is as quick as possible.
  *
  * @package WordPress
  * @subpackage Plugin
  *
  * @package WordPress
  * @subpackage Plugin
- * @since 0.71
- * @global array $wp_filter Stores all of the filters added in the form of
- *     wp_filter['tag']['array of priorities']['array of functions serialized']['array of ['array (functions, accepted_args)']']
+ *
+ * @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.
  *
  * @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 to.
- * @param callback $function_to_add The name of the function to be called when the filter is applied.
- * @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).
+ * @since 0.71
+ *
+ * @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.
  * @return boolean true
  */
  * @return boolean true
  */
-function add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
+function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
        global $wp_filter, $merged_filters;
 
        $idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority);
        global $wp_filter, $merged_filters;
 
        $idx = _wp_filter_build_unique_id($tag, $function_to_add, $priority);
@@ -114,27 +131,36 @@ function has_filter($tag, $function_to_check = false) {
  *
  * The function allows for additional arguments to be added and passed to hooks.
  * <code>
  *
  * The function allows for additional arguments to be added and passed to hooks.
  * <code>
- * function example_hook($string, $arg1, $arg2)
- * {
- *             //Do stuff
- *             return $string;
+ * // Our filter callback function
+ * function example_callback( $string, $arg1, $arg2 ) {
+ *     // (maybe) modify $string
+ *     return $string;
  * }
  * }
- * $value = apply_filters('example_filter', 'filter me', 'arg1', 'arg2');
+ * add_filter( 'example_filter', 'example_callback', 10, 3 );
+ *
+ * // Apply the filters by calling the 'example_callback' function we
+ * // "hooked" to 'example_filter' using the add_filter() function above.
+ * // - 'example_filter' is the filter hook $tag
+ * // - 'filter me' is the value being filtered
+ * // - $arg1 and $arg2 are the additional arguments passed to the callback.
+ * $value = apply_filters( 'example_filter', 'filter me', $arg1, $arg2 );
  * </code>
  *
  * @package WordPress
  * @subpackage Plugin
  * </code>
  *
  * @package WordPress
  * @subpackage Plugin
- * @since 0.71
- * @global array $wp_filter Stores all of the filters
- * @global array $merged_filters Merges the filter hooks using this function.
+ *
+ * @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
  *
  * @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.
+ * @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 $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>.
+ * @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.
  */
  * @return mixed The filtered value after all hooked functions are applied to it.
  */
-function apply_filters($tag, $value) {
+function apply_filters( $tag, $value ) {
        global $wp_filter, $merged_filters, $wp_current_filter;
 
        $args = array();
        global $wp_filter, $merged_filters, $wp_current_filter;
 
        $args = array();
@@ -360,9 +386,6 @@ function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1)
 function do_action($tag, $arg = '') {
        global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
 
 function do_action($tag, $arg = '') {
        global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
 
-       if ( ! isset($wp_actions) )
-               $wp_actions = array();
-
        if ( ! isset($wp_actions[$tag]) )
                $wp_actions[$tag] = 1;
        else
        if ( ! isset($wp_actions[$tag]) )
                $wp_actions[$tag] = 1;
        else
@@ -424,7 +447,7 @@ function do_action($tag, $arg = '') {
 function did_action($tag) {
        global $wp_actions;
 
 function did_action($tag) {
        global $wp_actions;
 
-       if ( ! isset( $wp_actions ) || ! isset( $wp_actions[$tag] ) )
+       if ( ! isset( $wp_actions[ $tag ] ) )
                return 0;
 
        return $wp_actions[$tag];
                return 0;
 
        return $wp_actions[$tag];
@@ -449,9 +472,6 @@ function did_action($tag) {
 function do_action_ref_array($tag, $args) {
        global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
 
 function do_action_ref_array($tag, $args) {
        global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
 
-       if ( ! isset($wp_actions) )
-               $wp_actions = array();
-
        if ( ! isset($wp_actions[$tag]) )
                $wp_actions[$tag] = 1;
        else
        if ( ! isset($wp_actions[$tag]) )
                $wp_actions[$tag] = 1;
        else
@@ -708,7 +728,6 @@ function register_uninstall_hook( $file, $callback ) {
  * @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.
  * @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.
- * @param string $hook Optional. The hook name that was used to call the 'all' hook.
  */
 function _wp_call_all_hook($args) {
        global $wp_filter;
  */
 function _wp_call_all_hook($args) {
        global $wp_filter;
index fb8d1585483e4fcaf1b5b53145a6bb143dbe5307..522ad3e18f045e70683616773b761e78b259cf30 100644 (file)
@@ -458,7 +458,10 @@ function get_body_class( $class = '' ) {
        } elseif ( is_archive() ) {
                if ( is_post_type_archive() ) {
                        $classes[] = 'post-type-archive';
        } elseif ( is_archive() ) {
                if ( is_post_type_archive() ) {
                        $classes[] = 'post-type-archive';
-                       $classes[] = 'post-type-archive-' . sanitize_html_class( get_query_var( 'post_type' ) );
+                       $post_type = get_query_var( 'post_type' );
+                       if ( is_array( $post_type ) )
+                               $post_type = reset( $post_type );
+                       $classes[] = 'post-type-archive-' . sanitize_html_class( $post_type );
                } else if ( is_author() ) {
                        $author = $wp_query->get_queried_object();
                        $classes[] = 'author';
                } else if ( is_author() ) {
                        $author = $wp_query->get_queried_object();
                        $classes[] = 'author';
@@ -650,7 +653,7 @@ function wp_link_pages( $args = '' ) {
        $r = apply_filters( 'wp_link_pages_args', $r );
        extract( $r, EXTR_SKIP );
 
        $r = apply_filters( 'wp_link_pages_args', $r );
        extract( $r, EXTR_SKIP );
 
-       global $page, $numpages, $multipage, $more, $pagenow;
+       global $page, $numpages, $multipage, $more;
 
        $output = '';
        if ( $multipage ) {
 
        $output = '';
        if ( $multipage ) {
@@ -875,7 +878,7 @@ function wp_list_pages($args = '') {
  *
  * <ul>
  * <li><strong>sort_column</strong> - How to sort the list of pages. Defaults
  *
  * <ul>
  * <li><strong>sort_column</strong> - How to sort the list of pages. Defaults
- * to page title. Use column for posts table.</li>
+ * 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
  * <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
@@ -910,7 +913,7 @@ function wp_page_menu( $args = array() ) {
                $class = '';
                if ( is_front_page() && !is_paged() )
                        $class = 'class="current_page_item"';
                $class = '';
                if ( is_front_page() && !is_paged() )
                        $class = 'class="current_page_item"';
-               $menu .= '<li ' . $class . '><a href="' . home_url( '/' ) . '" title="' . esc_attr($text) . '">' . $args['link_before'] . $text . $args['link_after'] . '</a></li>';
+               $menu .= '<li ' . $class . '><a href="' . home_url( '/' ) . '">' . $args['link_before'] . $text . $args['link_after'] . '</a></li>';
                // If the front page is a page, add it to the exclude list
                if (get_option('show_on_front') == 'page') {
                        if ( !empty( $list_args['exclude'] ) ) {
                // If the front page is a page, add it to the exclude list
                if (get_option('show_on_front') == 'page') {
                        if ( !empty( $list_args['exclude'] ) ) {
@@ -954,6 +957,11 @@ function walk_page_tree($pages, $depth, $current_page, $r) {
        else
                $walker = $r['walker'];
 
        else
                $walker = $r['walker'];
 
+       foreach ( (array) $pages as $page ) {
+               if ( $page->post_parent )
+                       $r['pages_with_children'][ $page->post_parent ] = true;
+       }
+
        $args = array($pages, $depth, $r, $current_page);
        return call_user_func_array(array($walker, 'walk'), $args);
 }
        $args = array($pages, $depth, $r, $current_page);
        return call_user_func_array(array($walker, 'walk'), $args);
 }
@@ -1042,6 +1050,10 @@ class Walker_Page extends Walker {
 
                extract($args, EXTR_SKIP);
                $css_class = array('page_item', 'page-item-'.$page->ID);
 
                extract($args, EXTR_SKIP);
                $css_class = array('page_item', 'page-item-'.$page->ID);
+
+               if( isset( $args['pages_with_children'][ $page->ID ] ) )
+                       $css_class[] = 'page_item_has_children';
+
                if ( !empty($current_page) ) {
                        $_current_page = get_post( $current_page );
                        if ( in_array( $page->ID, $_current_page->ancestors ) )
                if ( !empty($current_page) ) {
                        $_current_page = get_post( $current_page );
                        if ( in_array( $page->ID, $_current_page->ancestors ) )
@@ -1059,6 +1071,7 @@ class Walker_Page extends Walker {
                if ( '' === $page->post_title )
                        $page->post_title = sprintf( __( '#%d (no title)' ), $page->ID );
 
                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>';
 
                if ( !empty($show_date) ) {
                $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>';
 
                if ( !empty($show_date) ) {
@@ -1191,7 +1204,7 @@ function wp_get_attachment_link( $id = 0, $size = 'thumbnail', $permalink = fals
        if ( trim( $link_text ) == '' )
                $link_text = $_post->post_title;
 
        if ( trim( $link_text ) == '' )
                $link_text = $_post->post_title;
 
-       return apply_filters( 'wp_get_attachment_link', "<a href='$url' title='$post_title'>$link_text</a>", $id, $size, $permalink, $icon, $text );
+       return apply_filters( 'wp_get_attachment_link', "<a href='$url'>$link_text</a>", $id, $size, $permalink, $icon, $text );
 }
 
 /**
 }
 
 /**
@@ -1233,12 +1246,12 @@ function prepend_attachment($content) {
 function get_the_password_form( $post = 0 ) {
        $post = get_post( $post );
        $label = 'pwbox-' . ( empty($post->ID) ? rand() : $post->ID );
 function get_the_password_form( $post = 0 ) {
        $post = get_post( $post );
        $label = 'pwbox-' . ( empty($post->ID) ? rand() : $post->ID );
-       $output = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post">
-       <p>' . __("This post is password protected. To view it please enter your password below:") . '</p>
-       <p><label for="' . $label . '">' . __("Password:") . ' <input name="post_password" id="' . $label . '" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . esc_attr__("Submit") . '" /></p>
-</form>
+       $output = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" class="post-password-form" method="post">
+       <p>' . __( 'This content is password protected. To view it please enter your password below:' ) . '</p>
+       <p><label for="' . $label . '">' . __( 'Password:' ) . ' <input name="post_password" id="' . $label . '" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . esc_attr__( 'Submit' ) . '" /></p>
+       </form>
        ';
        ';
-       return apply_filters('the_password_form', $output);
+       return apply_filters( 'the_password_form', $output );
 }
 
 /**
 }
 
 /**
index dda0e34a1edb47fc1a6628a4b6f7aa4cfe3fca63..32ad86aad52c4b220137755827a363c89f7236ef 100644 (file)
@@ -85,15 +85,58 @@ function update_post_thumbnail_cache( $wp_query = null ) {
 function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $attr = '' ) {
        $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
        $post_thumbnail_id = get_post_thumbnail_id( $post_id );
 function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $attr = '' ) {
        $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
        $post_thumbnail_id = get_post_thumbnail_id( $post_id );
+
+       /**
+        * Filter the post thumbnail size.
+        *
+        * @since 2.9.0
+        *
+        * @param string $size The post thumbnail size.
+        */
        $size = apply_filters( 'post_thumbnail_size', $size );
        $size = apply_filters( 'post_thumbnail_size', $size );
+
        if ( $post_thumbnail_id ) {
        if ( $post_thumbnail_id ) {
-               do_action( 'begin_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size ); // for "Just In Time" filtering of all of wp_get_attachment_image()'s filters
+
+               /**
+                * Fires before fetching the post thumbnail HTML.
+                *
+                * Provides "just in time" filtering of all filters in wp_get_attachment_image().
+                *
+                * @since 2.9.0
+                *
+                * @param string $post_id           The post ID.
+                * @param string $post_thumbnail_id The post thumbnail ID.
+                * @param string $size              The post thumbnail size.
+                */
+               do_action( 'begin_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size );
                if ( in_the_loop() )
                        update_post_thumbnail_cache();
                $html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr );
                if ( in_the_loop() )
                        update_post_thumbnail_cache();
                $html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr );
+
+               /**
+                * Fires after fetching the post thumbnail HTML.
+                *
+                * @since 2.9.0
+                *
+                * @param string $post_id           The post ID.
+                * @param string $post_thumbnail_id The post thumbnail ID.
+                * @param string $size              The post thumbnail size.
+                */
                do_action( 'end_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size );
                do_action( 'end_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size );
+
        } else {
                $html = '';
        }
        } else {
                $html = '';
        }
+       /**
+        * Filter the post thumbnail HTML.
+        *
+        * @since 2.9.0
+        *
+        * @param string $html              The post thumbnail HTML.
+        * @param string $post_id           The post ID.
+        * @param string $post_thumbnail_id The post thumbnail ID.
+        * @param string $size              The post thumbnail size.
+        * @param string $attr              Query string of attributes.
+        */
        return apply_filters( 'post_thumbnail_html', $html, $post_id, $post_thumbnail_id, $size, $attr );
 }
        return apply_filters( 'post_thumbnail_html', $html, $post_id, $post_thumbnail_id, $size, $attr );
 }
index c8888c6ede96cd9d2aaadde6134ce0d7f1c90ee3..39d71a37c8366b555971d74b1cbe4c12d7cd0709 100644 (file)
@@ -167,8 +167,9 @@ add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
 /**
  * Retrieve attached file path based on attachment ID.
  *
 /**
  * Retrieve attached file path based on attachment ID.
  *
- * You can optionally send it through the 'get_attached_file' filter, but by
- * default it will just return the file path unfiltered.
+ * By default the path will go through the 'get_attached_file' filter, but
+ * passing a true to the $unfiltered argument of get_attached_file() will
+ * return the file path unfiltered.
  *
  * The function works by getting the single post meta name, named
  * '_wp_attached_file' and returning it. This is a convenience function to
  *
  * The function works by getting the single post meta name, named
  * '_wp_attached_file' and returning it. This is a convenience function to
@@ -176,11 +177,10 @@ add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
  * attached filename through a filter.
  *
  * @since 2.0.0
  * attached filename through a filter.
  *
  * @since 2.0.0
- * @uses apply_filters() Calls 'get_attached_file' on file path and attachment ID.
  *
  * @param int $attachment_id Attachment ID.
  * @param bool $unfiltered Whether to apply filters.
  *
  * @param int $attachment_id Attachment ID.
  * @param bool $unfiltered Whether to apply filters.
- * @return string|bool The file path to the attached file, or false if the attachment does not exist.
+ * @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 );
  */
 function get_attached_file( $attachment_id, $unfiltered = false ) {
        $file = get_post_meta( $attachment_id, '_wp_attached_file', true );
@@ -310,9 +310,12 @@ function get_children($args = '', $output = OBJECT) {
 
        $children = get_posts( $r );
 
 
        $children = get_posts( $r );
 
-       if ( !$children )
+       if ( ! $children )
                return $kids;
 
                return $kids;
 
+       if ( ! empty( $r['fields'] ) )
+               return $children;
+
        update_post_cache($children);
 
        foreach ( $children as $key => $child )
        update_post_cache($children);
 
        foreach ( $children as $key => $child )
@@ -375,7 +378,6 @@ function get_extended($post) {
  * $post, must be given as a variable, since it is passed by reference.
  *
  * @since 1.5.1
  * $post, must be given as a variable, since it is passed by reference.
  *
  * @since 1.5.1
- * @uses $wpdb
  * @link http://codex.wordpress.org/Function_Reference/get_post
  *
  * @param int|object $post Post ID or post object. Optional, default is the current post from the loop.
  * @link http://codex.wordpress.org/Function_Reference/get_post
  *
  * @param int|object $post Post ID or post object. Optional, default is the current post from the loop.
@@ -424,159 +426,179 @@ function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
 final class WP_Post {
 
        /**
 final class WP_Post {
 
        /**
+        * Post ID.
         *
         * @var int
         */
        public $ID;
 
        /**
         *
         * @var int
         */
        public $ID;
 
        /**
+        * ID of post author.
         *
         *
-        * @var int
+        * A numeric string, for compatibility reasons.
+        *
+        * @var string
         */
        public $post_author = 0;
 
        /**
         */
        public $post_author = 0;
 
        /**
+        * The post's local publication time.
         *
         * @var string
         */
        public $post_date = '0000-00-00 00:00:00';
 
        /**
         *
         * @var string
         */
        public $post_date = '0000-00-00 00:00:00';
 
        /**
+        * The post's GMT publication time.
         *
         * @var string
         */
        public $post_date_gmt = '0000-00-00 00:00:00';
 
        /**
         *
         * @var string
         */
        public $post_date_gmt = '0000-00-00 00:00:00';
 
        /**
+        * The post's content.
         *
         * @var string
         */
        public $post_content = '';
 
        /**
         *
         * @var string
         */
        public $post_content = '';
 
        /**
+        * The post's title.
         *
         * @var string
         */
        public $post_title = '';
 
        /**
         *
         * @var string
         */
        public $post_title = '';
 
        /**
+        * The post's excerpt.
         *
         * @var string
         */
        public $post_excerpt = '';
 
        /**
         *
         * @var string
         */
        public $post_excerpt = '';
 
        /**
+        * The post's status.
         *
         * @var string
         */
        public $post_status = 'publish';
 
        /**
         *
         * @var string
         */
        public $post_status = 'publish';
 
        /**
+        * Whether comments are allowed.
         *
         * @var string
         */
        public $comment_status = 'open';
 
        /**
         *
         * @var string
         */
        public $comment_status = 'open';
 
        /**
+        * Whether pings are allowed.
         *
         * @var string
         */
        public $ping_status = 'open';
 
        /**
         *
         * @var string
         */
        public $ping_status = 'open';
 
        /**
+        * The post's password in plain text.
         *
         * @var string
         */
        public $post_password = '';
 
        /**
         *
         * @var string
         */
        public $post_password = '';
 
        /**
+        * The post's slug.
         *
         * @var string
         */
        public $post_name = '';
 
        /**
         *
         * @var string
         */
        public $post_name = '';
 
        /**
+        * URLs queued to be pinged.
         *
         * @var string
         */
        public $to_ping = '';
 
        /**
         *
         * @var string
         */
        public $to_ping = '';
 
        /**
+        * URLs that have been pinged.
         *
         * @var string
         */
        public $pinged = '';
 
        /**
         *
         * @var string
         */
        public $pinged = '';
 
        /**
+        * The post's local modified time.
         *
         * @var string
         */
        public $post_modified = '0000-00-00 00:00:00';
 
        /**
         *
         * @var string
         */
        public $post_modified = '0000-00-00 00:00:00';
 
        /**
+        * The post's GMT modified time.
         *
         * @var string
         */
        public $post_modified_gmt = '0000-00-00 00:00:00';
 
        /**
         *
         * @var string
         */
        public $post_modified_gmt = '0000-00-00 00:00:00';
 
        /**
+        * A utility DB field for post content.
+        *
         *
         * @var string
         */
        public $post_content_filtered = '';
 
        /**
         *
         * @var string
         */
        public $post_content_filtered = '';
 
        /**
+        * ID of a post's parent post.
         *
         * @var int
         */
        public $post_parent = 0;
 
        /**
         *
         * @var int
         */
        public $post_parent = 0;
 
        /**
+        * The unique identifier for a post, not necessarily a URL, used as the feed GUID.
         *
         * @var string
         */
        public $guid = '';
 
        /**
         *
         * @var string
         */
        public $guid = '';
 
        /**
+        * A field used for ordering posts.
         *
         * @var int
         */
        public $menu_order = 0;
 
        /**
         *
         * @var int
         */
        public $menu_order = 0;
 
        /**
+        * The post's type, like post or page.
         *
         * @var string
         */
        public $post_type = 'post';
 
        /**
         *
         * @var string
         */
        public $post_type = 'post';
 
        /**
+        * An attachment's mime type.
         *
         * @var string
         */
        public $post_mime_type = '';
 
        /**
         *
         * @var string
         */
        public $post_mime_type = '';
 
        /**
+        * Cached comment count.
         *
         *
-        * @var int
-        */
-       public $comment_count = 0;
-
-       /**
+        * A numeric string, for compatibility reasons.
         *
         * @var string
         */
         *
         * @var string
         */
-       public $filter;
+       public $comment_count = 0;
 
        /**
 
        /**
-        * Private variable used by post formats to cache parsed content.
+        * Stores the post object's sanitization level.
         *
         *
-        * @since 3.6.0
+        * Does not correspond to a DB field.
         *
         *
-        * @var array
-        * @access private
+        * @var string
         */
         */
-       public $format_content;
-
+       public $filter;
 
        public static function get_instance( $post_id ) {
                global $wpdb;
 
        public static function get_instance( $post_id ) {
                global $wpdb;
@@ -1082,6 +1104,7 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
  *     * 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.
  *     * 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().
  * - 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().
@@ -1091,8 +1114,6 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
  *     * 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.
  *     * 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_nav_menus - Makes this post type available for selection in navigation menus.
- *     * 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
  * - 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
@@ -1100,6 +1121,8 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
  *       be placed as a sub menu of that.
  *     * show_ui must be true.
  *     * If not set, the default is inherited from show_ui
  *       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_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.
@@ -1113,11 +1136,10 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
  *     * 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.
  *     * 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.
- * - hierarchical - Whether the post type is hierarchical (e.g. page). 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.
  * - 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 will be called when setting up the
- *     meta boxes for the edit form. Do remove_meta_box() and add_meta_box() calls in the 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.
  * - 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().
  * - 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().
@@ -1146,37 +1168,55 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
  *
  * @since 2.9.0
  * @uses $wp_post_types Inserts new post type object into the list
  *
  * @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
  *
  *
- * @param string $post_type Post type key, must not exceed 20 characters
+ * @param string $post_type Post type key, must not exceed 20 characters.
  * @param array|string $args See optional args description above.
  * @param array|string $args See optional args description above.
- * @return object|WP_Error the registered post type object, or an error object
+ * @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;
 
  */
 function register_post_type( $post_type, $args = array() ) {
        global $wp_post_types, $wp_rewrite, $wp;
 
-       if ( !is_array($wp_post_types) )
+       if ( ! is_array( $wp_post_types ) )
                $wp_post_types = array();
 
        // Args prefixed with an underscore are reserved for internal use.
        $defaults = array(
                $wp_post_types = array();
 
        // Args prefixed with an underscore are reserved for internal use.
        $defaults = array(
-               'labels' => array(), 'description' => '', 'publicly_queryable' => null, 'exclude_from_search' => null,
-               'capability_type' => 'post', 'capabilities' => array(), 'map_meta_cap' => null,
-               '_builtin' => false, '_edit_link' => 'post.php?post=%d', 'hierarchical' => false,
-               'public' => false, 'rewrite' => true, 'has_archive' => false, 'query_var' => true,
-               'supports' => array(), 'register_meta_box_cb' => null,
-               'taxonomies' => array(), 'show_ui' => null, 'menu_position' => null, 'menu_icon' => null,
-               'can_export' => true,
-               'show_in_nav_menus' => null, 'show_in_menu' => null, 'show_in_admin_bar' => null,
-               'delete_with_user' => null,
+               'labels'               => array(),
+               'description'          => '',
+               'public'               => false,
+               'hierarchical'         => false,
+               'exclude_from_search'  => null,
+               'publicly_queryable'   => null,
+               'show_ui'              => null,
+               'show_in_menu'         => null,
+               'show_in_nav_menus'    => null,
+               'show_in_admin_bar'    => null,
+               'menu_position'        => null,
+               'menu_icon'            => null,
+               'capability_type'      => 'post',
+               'capabilities'         => array(),
+               'map_meta_cap'         => null,
+               'supports'             => array(),
+               'register_meta_box_cb' => null,
+               'taxonomies'           => array(),
+               'has_archive'          => false,
+               'rewrite'              => true,
+               'query_var'            => true,
+               'can_export'           => true,
+               'delete_with_user'     => null,
+               '_builtin'             => false,
+               '_edit_link'           => 'post.php?post=%d',
        );
        );
-       $args = wp_parse_args($args, $defaults);
+       $args = wp_parse_args( $args, $defaults );
        $args = (object) $args;
 
        $args = (object) $args;
 
-       $post_type = sanitize_key($post_type);
+       $post_type = sanitize_key( $post_type );
        $args->name = $post_type;
 
        if ( strlen( $post_type ) > 20 )
        $args->name = $post_type;
 
        if ( strlen( $post_type ) > 20 )
-                       return new WP_Error( 'post_type_too_long', __( 'Post types cannot exceed 20 characters in length' ) );
+               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 )
 
        // If not set, default to the setting for public.
        if ( null === $args->publicly_queryable )
@@ -1194,7 +1234,7 @@ function register_post_type( $post_type, $args = array() ) {
        if ( null === $args->show_in_admin_bar )
                $args->show_in_admin_bar = true === $args->show_in_menu;
 
        if ( null === $args->show_in_admin_bar )
                $args->show_in_admin_bar = true === $args->show_in_menu;
 
-       // Whether to show this type in nav-menus.php. Defaults to the setting for public.
+       // If not set, default to the setting for public.
        if ( null === $args->show_in_nav_menus )
                $args->show_in_nav_menus = $args->public;
 
        if ( null === $args->show_in_nav_menus )
                $args->show_in_nav_menus = $args->public;
 
@@ -1206,32 +1246,33 @@ function register_post_type( $post_type, $args = array() ) {
        if ( empty( $args->capabilities ) && null === $args->map_meta_cap && in_array( $args->capability_type, array( 'post', 'page' ) ) )
                $args->map_meta_cap = true;
 
        if ( empty( $args->capabilities ) && null === $args->map_meta_cap && in_array( $args->capability_type, array( 'post', 'page' ) ) )
                $args->map_meta_cap = true;
 
+       // If not set, default to false.
        if ( null === $args->map_meta_cap )
                $args->map_meta_cap = false;
 
        $args->cap = get_post_type_capabilities( $args );
        if ( null === $args->map_meta_cap )
                $args->map_meta_cap = false;
 
        $args->cap = get_post_type_capabilities( $args );
-       unset($args->capabilities);
+       unset( $args->capabilities );
 
        if ( is_array( $args->capability_type ) )
                $args->capability_type = $args->capability_type[0];
 
 
        if ( is_array( $args->capability_type ) )
                $args->capability_type = $args->capability_type[0];
 
-       if ( ! empty($args->supports) ) {
-               add_post_type_support($post_type, $args->supports);
-               unset($args->supports);
+       if ( ! empty( $args->supports ) ) {
+               add_post_type_support( $post_type, $args->supports );
+               unset( $args->supports );
        } elseif ( false !== $args->supports ) {
                // Add default features
        } elseif ( false !== $args->supports ) {
                // Add default features
-               add_post_type_support($post_type, array('title', 'editor'));
+               add_post_type_support( $post_type, array( 'title', 'editor' ) );
        }
 
        }
 
-       if ( false !== $args->query_var && !empty($wp) ) {
+       if ( false !== $args->query_var && ! empty( $wp ) ) {
                if ( true === $args->query_var )
                        $args->query_var = $post_type;
                else
                if ( true === $args->query_var )
                        $args->query_var = $post_type;
                else
-                       $args->query_var = sanitize_title_with_dashes($args->query_var);
-               $wp->add_query_var($args->query_var);
+                       $args->query_var = sanitize_title_with_dashes( $args->query_var );
+               $wp->add_query_var( $args->query_var );
        }
 
        }
 
-       if ( false !== $args->rewrite && ( is_admin() || '' != get_option('permalink_structure') ) ) {
+       if ( false !== $args->rewrite && ( is_admin() || '' != get_option( 'permalink_structure' ) ) ) {
                if ( ! is_array( $args->rewrite ) )
                        $args->rewrite = array();
                if ( empty( $args->rewrite['slug'] ) )
                if ( ! is_array( $args->rewrite ) )
                        $args->rewrite = array();
                if ( empty( $args->rewrite['slug'] ) )
@@ -1250,9 +1291,9 @@ function register_post_type( $post_type, $args = array() ) {
                }
 
                if ( $args->hierarchical )
                }
 
                if ( $args->hierarchical )
-                       add_rewrite_tag("%$post_type%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name=");
+                       add_rewrite_tag( "%$post_type%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&pagename=" );
                else
                else
-                       add_rewrite_tag("%$post_type%", '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name=");
+                       add_rewrite_tag( "%$post_type%", '([^/]+)', $args->query_var ? "{$args->query_var}=" : "post_type=$post_type&name=" );
 
                if ( $args->has_archive ) {
                        $archive_slug = $args->has_archive === true ? $args->rewrite['slug'] : $args->has_archive;
 
                if ( $args->has_archive ) {
                        $archive_slug = $args->has_archive === true ? $args->rewrite['slug'] : $args->has_archive;
@@ -1271,16 +1312,18 @@ function register_post_type( $post_type, $args = array() ) {
                                add_rewrite_rule( "{$archive_slug}/{$wp_rewrite->pagination_base}/([0-9]{1,})/?$", "index.php?post_type=$post_type" . '&paged=$matches[1]', 'top' );
                }
 
                                add_rewrite_rule( "{$archive_slug}/{$wp_rewrite->pagination_base}/([0-9]{1,})/?$", "index.php?post_type=$post_type" . '&paged=$matches[1]', 'top' );
                }
 
-               add_permastruct( $post_type, "{$args->rewrite['slug']}/%$post_type%", $args->rewrite );
+               $permastruct_args = $args->rewrite;
+               $permastruct_args['feed'] = $permastruct_args['feeds'];
+               add_permastruct( $post_type, "{$args->rewrite['slug']}/%$post_type%", $permastruct_args );
        }
 
        if ( $args->register_meta_box_cb )
        }
 
        if ( $args->register_meta_box_cb )
-               add_action('add_meta_boxes_' . $post_type, $args->register_meta_box_cb, 10, 1);
+               add_action( 'add_meta_boxes_' . $post_type, $args->register_meta_box_cb, 10, 1 );
 
        $args->labels = get_post_type_labels( $args );
        $args->label = $args->labels->name;
 
 
        $args->labels = get_post_type_labels( $args );
        $args->label = $args->labels->name;
 
-       $wp_post_types[$post_type] = $args;
+       $wp_post_types[ $post_type ] = $args;
 
        add_action( 'future_' . $post_type, '_future_post_hook', 5, 2 );
 
 
        add_action( 'future_' . $post_type, '_future_post_hook', 5, 2 );
 
@@ -1429,6 +1472,8 @@ function _post_type_meta_capabilities( $capabilities = null ) {
  * 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
  * 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
  * @return object object with all the labels as member variables
  */
@@ -1462,6 +1507,7 @@ function get_post_type_labels( $post_type_object ) {
  * @since 3.0.0
  */
 function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) {
  * @since 3.0.0
  */
 function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) {
+       $object->labels = (array) $object->labels;
 
        if ( isset( $object->label ) && empty( $object->labels['name'] ) )
                $object->labels['name'] = $object->label;
 
        if ( isset( $object->label ) && empty( $object->labels['name'] ) )
                $object->labels['name'] = $object->label;
@@ -1617,7 +1663,6 @@ function set_post_type( $post_id = 0, $post_type = 'post' ) {
  *     'post_status' - Default is 'publish'. Post status to retrieve.
  *
  * @since 1.2.0
  *     'post_status' - Default is 'publish'. Post status to retrieve.
  *
  * @since 1.2.0
- * @uses $wpdb
  * @uses WP_Query::query() See for more default arguments and information.
  * @link http://codex.wordpress.org/Template_Tags/get_posts
  *
  * @uses WP_Query::query() See for more default arguments and information.
  * @link http://codex.wordpress.org/Template_Tags/get_posts
  *
@@ -1666,12 +1711,11 @@ function get_posts($args = null) {
  * Post meta data is called "Custom Fields" on the Administration Screen.
  *
  * @since 1.5.0
  * Post meta data is called "Custom Fields" on the Administration Screen.
  *
  * @since 1.5.0
- * @uses $wpdb
  * @link http://codex.wordpress.org/Function_Reference/add_post_meta
  *
  * @param int $post_id Post ID.
  * @param string $meta_key Metadata name.
  * @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.
+ * @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.
  * @return int|bool Meta ID on success, false on failure.
  */
  * @param bool $unique Optional, default is false. Whether the same key should not be added.
  * @return int|bool Meta ID on success, false on failure.
  */
@@ -1691,12 +1735,11 @@ function add_post_meta($post_id, $meta_key, $meta_value, $unique = false) {
  * allows removing all metadata matching key, if needed.
  *
  * @since 1.5.0
  * allows removing all metadata matching key, if needed.
  *
  * @since 1.5.0
- * @uses $wpdb
  * @link http://codex.wordpress.org/Function_Reference/delete_post_meta
  *
  * @param int $post_id post ID
  * @param string $meta_key Metadata name.
  * @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.
+ * @param mixed $meta_value Optional. Metadata value. Must be serializable if non-scalar.
  * @return bool True on success, false on failure.
  */
 function delete_post_meta($post_id, $meta_key, $meta_value = '') {
  * @return bool True on success, false on failure.
  */
 function delete_post_meta($post_id, $meta_key, $meta_value = '') {
@@ -1711,7 +1754,6 @@ function delete_post_meta($post_id, $meta_key, $meta_value = '') {
  * Retrieve post meta field for a post.
  *
  * @since 1.5.0
  * Retrieve post meta field for a post.
  *
  * @since 1.5.0
- * @uses $wpdb
  * @link http://codex.wordpress.org/Function_Reference/get_post_meta
  *
  * @param int $post_id Post ID.
  * @link http://codex.wordpress.org/Function_Reference/get_post_meta
  *
  * @param int $post_id Post ID.
@@ -1733,12 +1775,11 @@ 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
  * If the meta field for the post does not exist, it will be added.
  *
  * @since 1.5.0
- * @uses $wpdb
  * @link http://codex.wordpress.org/Function_Reference/update_post_meta
  *
  * @param int $post_id Post ID.
  * @param string $meta_key Metadata key.
  * @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.
+ * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
  * @param mixed $prev_value Optional. Previous value to check before removing.
  * @return bool True on success, false on failure.
  */
  * @param mixed $prev_value Optional. Previous value to check before removing.
  * @return bool True on success, false on failure.
  */
@@ -1754,7 +1795,6 @@ function update_post_meta($post_id, $meta_key, $meta_value, $prev_value = '') {
  * Delete everything from post meta matching meta key.
  *
  * @since 2.3.0
  * Delete everything from post meta matching meta key.
  *
  * @since 2.3.0
- * @uses $wpdb
  *
  * @param string $post_meta_key Key to search for when deleting.
  * @return bool Whether the post meta key was deleted from the database
  *
  * @param string $post_meta_key Key to search for when deleting.
  * @return bool Whether the post meta key was deleted from the database
@@ -2029,7 +2069,7 @@ function unstick_post($post_id) {
 }
 
 /**
 }
 
 /**
- * Count number of posts of a post type and is user has permissions to view.
+ * Count number of posts of a post type and if user has permissions to view.
  *
  * This function provides an efficient method of finding the amount of post's
  * type a blog has. Another method is to count the amount of items in
  *
  * This function provides an efficient method of finding the amount of post's
  * type a blog has. Another method is to count the amount of items in
@@ -2039,9 +2079,10 @@ function unstick_post($post_id) {
  * 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.
  *
  * 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.
  *
- * @since 2.5.0
  * @link http://codex.wordpress.org/Template_Tags/wp_count_posts
  *
  * @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
  * @param string $perm Optional. 'readable' or empty.
  * @return object Number of posts for each status
@@ -2049,9 +2090,12 @@ function unstick_post($post_id) {
 function wp_count_posts( $type = 'post', $perm = '' ) {
        global $wpdb;
 
 function wp_count_posts( $type = 'post', $perm = '' ) {
        global $wpdb;
 
+       if ( ! post_type_exists( $type ) )
+               return new stdClass;
+
        $user = wp_get_current_user();
 
        $user = wp_get_current_user();
 
-       $cache_key = $type;
+       $cache_key = 'posts-' . $type;
 
        $query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s";
        if ( 'readable' == $perm && is_user_logged_in() ) {
 
        $query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s";
        if ( 'readable' == $perm && is_user_logged_in() ) {
@@ -2063,23 +2107,28 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
        }
        $query .= ' GROUP BY post_status';
 
        }
        $query .= ' GROUP BY post_status';
 
-       $count = wp_cache_get($cache_key, 'counts');
-       if ( false !== $count )
-               return $count;
-
-       $count = $wpdb->get_results( $wpdb->prepare( $query, $type ), ARRAY_A );
-
-       $stats = array();
-       foreach ( get_post_stati() as $state )
-               $stats[$state] = 0;
+       $counts = wp_cache_get( $cache_key, 'counts' );
+       if ( false === $counts ) {
+               $results = (array) $wpdb->get_results( $wpdb->prepare( $query, $type ), ARRAY_A );
+               $counts = array_fill_keys( get_post_stati(), 0 );
 
 
-       foreach ( (array) $count as $row )
-               $stats[$row['post_status']] = $row['num_posts'];
+               foreach ( $results as $row )
+                       $counts[ $row['post_status'] ] = $row['num_posts'];
 
 
-       $stats = (object) $stats;
-       wp_cache_set($cache_key, $stats, 'counts');
+               $counts = (object) $counts;
+               wp_cache_set( $cache_key, $counts, 'counts' );
+       }
 
 
-       return $stats;
+       /**
+        * Modify returned post counts by status for the current post type.
+        *
+        * @since 3.7.0
+        *
+        * @param object $counts An object containing the current post_type's post counts by status.
+        * @param string $type   The post type.
+        * @param string $perm   The permission to determine if the posts are 'readable' by the current user.
+        */
+       return apply_filters( 'wp_count_posts', $counts, $type, $perm );
 }
 
 /**
 }
 
 /**
@@ -2101,13 +2150,21 @@ function wp_count_attachments( $mime_type = '' ) {
        $and = wp_post_mime_type_where( $mime_type );
        $count = $wpdb->get_results( "SELECT post_mime_type, COUNT( * ) AS num_posts FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' $and GROUP BY post_mime_type", ARRAY_A );
 
        $and = wp_post_mime_type_where( $mime_type );
        $count = $wpdb->get_results( "SELECT post_mime_type, COUNT( * ) AS num_posts FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' $and GROUP BY post_mime_type", ARRAY_A );
 
-       $stats = array();
+       $counts = array();
        foreach( (array) $count as $row ) {
        foreach( (array) $count as $row ) {
-               $stats[$row['post_mime_type']] = $row['num_posts'];
+               $counts[ $row['post_mime_type'] ] = $row['num_posts'];
        }
        }
-       $stats['trash'] = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status = 'trash' $and");
+       $counts['trash'] = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status = 'trash' $and");
 
 
-       return (object) $stats;
+       /**
+        * Modify returned attachment counts by 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.
+        */
+       return apply_filters( 'wp_count_attachments', (object) $counts, $mime_type );
 }
 
 /**
 }
 
 /**
@@ -2260,20 +2317,6 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
                $wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => $post->post_type ) );
        }
 
                $wpdb->update( $wpdb->posts, $parent_data, $parent_where + array( 'post_type' => $post->post_type ) );
        }
 
-       if ( 'page' == $post->post_type) {
-               // if the page is defined in option page_on_front or post_for_posts,
-               // adjust the corresponding options
-               if ( get_option('page_on_front') == $postid ) {
-                       update_option('show_on_front', 'posts');
-                       delete_option('page_on_front');
-               }
-               if ( get_option('page_for_posts') == $postid ) {
-                       delete_option('page_for_posts');
-               }
-       } else {
-               unstick_post($postid);
-       }
-
        // 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.
        // 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.
@@ -2309,6 +2352,34 @@ function wp_delete_post( $postid = 0, $force_delete = false ) {
        return $post;
 }
 
        return $post;
 }
 
+/**
+ * Resets 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
+ */
+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 ( get_option( 'page_on_front' ) == $post->ID ) {
+                       update_option( 'show_on_front', 'posts' );
+                       update_option( 'page_on_front', 0 );
+               }
+               if ( get_option( 'page_for_posts' ) == $post->ID ) {
+                       delete_option( 'page_for_posts', 0 );
+               }
+       }
+       unstick_post( $post->ID );
+}
+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
  *
 /**
  * Moves a post or page to the Trash
  *
@@ -2589,7 +2660,7 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
 }
 
 /**
 }
 
 /**
- * Insert a post.
+ * Insert or update a post.
  *
  * If the $postarr parameter has 'ID' set to a value, then post will be updated.
  *
  *
  * If the $postarr parameter has 'ID' set to a value, then post will be updated.
  *
@@ -2597,38 +2668,38 @@ 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.
  *
  * and 'post_date_gmt' keys. You can close the comments or open the comments by
  * setting the value for 'comment_status' key.
  *
- * The defaults for the parameter $postarr are:
- *     'post_status'   - Default is 'draft'.
- *     'post_type'     - Default is 'post'.
- *     'post_author'   - Default is current user ID ($user_ID). The ID of the user who added the post.
- *     'ping_status'   - Default is the value in 'default_ping_status' option.
- *                       Whether the attachment can accept pings.
- *     'post_parent'   - Default is 0. 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' - Post content filtered.
- *     'post_excerpt'  - Post excerpt.
+ * @global wpdb $wpdb    WordPress database abstraction object.
  *
  * @since 1.0.0
  *
  * @since 1.0.0
- * @uses $wpdb
- * @uses $user_ID
- * @uses do_action() Calls 'pre_post_update' on post ID if this is an update.
- * @uses do_action() Calls 'edit_post' action on post ID and post data if this is an update.
- * @uses do_action() Calls 'save_post' and 'wp_insert_post' on post id and post data just before returning.
- * @uses apply_filters() Calls 'wp_insert_post_data' passing $data, $postarr prior to database update or insert.
- * @uses wp_transition_post_status()
- *
- * @param array $postarr Elements that make up post to insert.
- * @param bool $wp_error Optional. Allow return of WP_Error on failure.
- * @return int|WP_Error The value 0 or WP_Error on failure. The post ID on success.
+ *
+ * @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 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_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.
+ *                                          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.
+ * @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) {
-       global $wpdb, $user_ID;
+function wp_insert_post( $postarr, $wp_error = false ) {
+       global $wpdb;
+
+       $user_id = get_current_user_id();
 
 
-       $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_ID,
+       $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_id,
                '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,
                '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,
@@ -2693,7 +2764,7 @@ function wp_insert_post($postarr, $wp_error = false) {
        }
 
        if ( empty($post_author) )
        }
 
        if ( empty($post_author) )
-               $post_author = $user_ID;
+               $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' ) )
@@ -2879,8 +2950,9 @@ function wp_insert_post($postarr, $wp_error = false) {
                do_action( 'post_updated', $post_ID, $post_after, $post_before);
        }
 
                do_action( 'post_updated', $post_ID, $post_after, $post_before);
        }
 
-       do_action('save_post', $post_ID, $post);
-       do_action('wp_insert_post', $post_ID, $post);
+       do_action( "save_post_{$post->post_type}", $post_ID, $post, $update );
+       do_action( 'save_post', $post_ID, $post, $update );
+       do_action( 'wp_insert_post', $post_ID, $post, $update );
 
        return $post_ID;
 }
 
        return $post_ID;
 }
@@ -2949,7 +3021,7 @@ function wp_update_post( $postarr = array(), $wp_error = false ) {
  *
  * @since 2.1.0
  * @uses $wpdb
  *
  * @since 2.1.0
  * @uses $wpdb
- * @uses do_action() Calls 'edit_post', 'save_post', and 'wp_insert_post' on post_id and post data.
+ * @uses do_action() Calls 'edit_post', 'save_post_{$post_type}', 'save_post' and 'wp_insert_post' on post_id and post data.
  *
  * @param int|object $post Post ID or object.
  */
  *
  * @param int|object $post Post ID or object.
  */
@@ -2971,8 +3043,9 @@ function wp_publish_post( $post ) {
        wp_transition_post_status( 'publish', $old_status, $post );
 
        do_action( 'edit_post', $post->ID, $post );
        wp_transition_post_status( 'publish', $old_status, $post );
 
        do_action( 'edit_post', $post->ID, $post );
-       do_action( 'save_post', $post->ID, $post );
-       do_action( 'wp_insert_post', $post->ID, $post );
+       do_action( "save_post_{$post->post_type}", $post->ID, $post, true );
+       do_action( 'save_post', $post->ID, $post, true );
+       do_action( 'wp_insert_post', $post->ID, $post, true );
 }
 
 /**
 }
 
 /**
@@ -3185,24 +3258,28 @@ function wp_set_post_terms( $post_id = 0, $tags = '', $taxonomy = 'post_tag', $a
  * @since 2.1.0
  *
  * @param int $post_ID Post ID.
  * @since 2.1.0
  *
  * @param int $post_ID Post ID.
- * @param array $post_categories Optional. List of categories.
+ * @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.
  * @return bool|mixed
  */
  * @return bool|mixed
  */
-function wp_set_post_categories($post_ID = 0, $post_categories = array()) {
+function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $append = false ) {
        $post_ID = (int) $post_ID;
        $post_type = get_post_type( $post_ID );
        $post_status = get_post_status( $post_ID );
        // If $post_categories isn't already an array, make it one:
        $post_ID = (int) $post_ID;
        $post_type = get_post_type( $post_ID );
        $post_status = get_post_status( $post_ID );
        // If $post_categories isn't already an array, make it one:
-       if ( !is_array($post_categories) || empty($post_categories) ) {
-               if ( 'post' == $post_type && 'auto-draft' != $post_status )
+       $post_categories = (array) $post_categories;
+       if ( empty( $post_categories ) ) {
+               if ( 'post' == $post_type && 'auto-draft' != $post_status ) {
                        $post_categories = array( get_option('default_category') );
                        $post_categories = array( get_option('default_category') );
-               else
+                       $append = false;
+               } else {
                        $post_categories = array();
                        $post_categories = array();
+               }
        } else if ( 1 == count($post_categories) && '' == reset($post_categories) ) {
                return true;
        }
 
        } else if ( 1 == count($post_categories) && '' == reset($post_categories) ) {
                return true;
        }
 
-       return wp_set_post_terms($post_ID, $post_categories, 'category');
+       return wp_set_post_terms( $post_ID, $post_categories, 'category', $append );
 }
 
 /**
 }
 
 /**
@@ -3268,7 +3345,6 @@ function add_ping($post_id, $uri) {
  * Retrieve enclosures already enclosed for a post.
  *
  * @since 1.5.0
  * Retrieve enclosures already enclosed for a post.
  *
  * @since 1.5.0
- * @uses $wpdb
  *
  * @param int $post_id Post ID.
  * @return array List of enclosures
  *
  * @param int $post_id Post ID.
  * @return array List of enclosures
@@ -3551,15 +3627,18 @@ function _page_traverse_name( $page_id, &$children, &$result ){
  * @since 1.5.0
  *
  * @param mixed $page Page object or page ID.
  * @since 1.5.0
  *
  * @param mixed $page Page object or page ID.
- * @return string Page URI.
+ * @return string|false Page URI, false on error.
  */
  */
-function get_page_uri($page) {
+function get_page_uri( $page ) {
        $page = get_post( $page );
 
        $page = get_post( $page );
 
+       if ( ! $page )
+               return false;
+
        $uri = $page->post_name;
 
        foreach ( $page->ancestors as $parent ) {
        $uri = $page->post_name;
 
        foreach ( $page->ancestors as $parent ) {
-               $uri = get_post( $parent )->post_name . "/" . $uri;
+               $uri = get_post( $parent )->post_name . '/' . $uri;
        }
 
        return $uri;
        }
 
        return $uri;
@@ -3568,17 +3647,41 @@ function get_page_uri($page) {
 /**
  * Retrieve a list of pages.
  *
 /**
  * Retrieve a list of pages.
  *
- * The defaults that can be overridden are the following: 'child_of',
- * 'sort_order', 'sort_column', 'post_title', 'hierarchical', 'exclude',
- * 'include', 'meta_key', 'meta_value','authors', 'number', and 'offset'.
+ * @global wpdb $wpdb WordPress database abstraction object
  *
  * @since 1.5.0
  *
  * @since 1.5.0
- * @uses $wpdb
  *
  *
- * @param mixed $args Optional. Array or string of options that overrides defaults.
- * @return array List of pages matching defaults or $args
+ * @param mixed $args {
+ *     Array or string of arguments. Optional.
+ *
+ *     @type int    'child_of'     Page ID to return child and grandchild pages of. Default 0, or no restriction.
+ *     @type string 'sort_order'   How to sort retrieved pages.
+ *                                 Default 'ASC'. Accepts 'ASC', 'DESC'.
+ *     @type string 'sort_column'  What columns to sort pages by, comma-separated.
+ *                                 Default 'post_title'. Accepts 'post_author', 'post_date', 'post_title', 'post_name',
+ *                                 'post_modified', 'post_modified_gmt', 'menu_order', 'post_parent', 'ID', 'rand',
+ *                                 'comment_count'. 'post_' can be omitted for any values that start with it.
+ *     @type bool   'hierarchical' Whether to return pages hierarchically. Default true.
+ *     @type array  'exclude'      Array of page IDs to exclude.
+ *     @type array  'include'      Array of page IDs to include. Cannot be used with 'child_of', 'parent', 'exclude',
+ *                                 'meta_key', 'meta_value', or 'hierarchical'.
+ *     @type string 'meta_key'     Only include pages with this meta key.
+ *     @type string 'meta_value'   Only include pages with this meta value.
+ *     @type string 'authors'      A comma-separated list of author IDs.
+ *     @type int    'parent'       Page ID to return direct children of. 'hierarchical' must be false.
+ *                                 Default -1, or no restriction.
+ *     @type int    'exclude_tree' Remove all children of the given ID from returned pages.
+ *     @type int    'number'       The number of pages to return. Default 0, or all pages.
+ *     @type int    'offset'       The number of pages to skip before returning. Requires 'number'.
+ *                                 Default 0.
+ *     @type string 'post_type'    The post type to query.
+ *                                 Default 'page'.
+ *     @type string 'post_status'  A comma-separated list of post status types to include.
+ *                                 Default 'publish'.
+ * }
+ * @return array List of pages matching defaults or $args.
  */
  */
-function get_pages($args = '') {
+function get_pages( $args = array() ) {
        global $wpdb;
 
        $pages = false;
        global $wpdb;
 
        $pages = false;
@@ -3603,6 +3706,9 @@ function get_pages($args = '') {
        if ( !in_array( $post_type, $hierarchical_post_types ) )
                return $pages;
 
        if ( !in_array( $post_type, $hierarchical_post_types ) )
                return $pages;
 
+       if ( $parent && ! $child_of )
+               $hierarchical = false;
+
        // Make sure we have a valid post status
        if ( !is_array( $post_status ) )
                $post_status = explode( ',', $post_status );
        // Make sure we have a valid post status
        if ( !is_array( $post_status ) )
                $post_status = explode( ',', $post_status );
@@ -3629,7 +3735,7 @@ function get_pages($args = '') {
                $cache = array();
 
        $inclusions = '';
                $cache = array();
 
        $inclusions = '';
-       if ( !empty($include) ) {
+       if ( ! empty( $include ) ) {
                $child_of = 0; //ignore child_of, parent, exclude, meta_key, and meta_value params if using include
                $parent = -1;
                $exclude = '';
                $child_of = 0; //ignore child_of, parent, exclude, meta_key, and meta_value params if using include
                $parent = -1;
                $exclude = '';
@@ -3637,32 +3743,16 @@ function get_pages($args = '') {
                $meta_value = '';
                $hierarchical = false;
                $incpages = wp_parse_id_list( $include );
                $meta_value = '';
                $hierarchical = false;
                $incpages = wp_parse_id_list( $include );
-               if ( ! empty( $incpages ) ) {
-                       foreach ( $incpages as $incpage ) {
-                               if (empty($inclusions))
-                                       $inclusions = $wpdb->prepare(' AND ( ID = %d ', $incpage);
-                               else
-                                       $inclusions .= $wpdb->prepare(' OR ID = %d ', $incpage);
-                       }
-               }
+               if ( ! empty( $incpages ) )
+                       $inclusions = ' AND ID IN (' . implode( ',', $incpages ) .  ')';
        }
        }
-       if (!empty($inclusions))
-               $inclusions .= ')';
 
        $exclusions = '';
 
        $exclusions = '';
-       if ( !empty($exclude) ) {
+       if ( ! empty( $exclude ) ) {
                $expages = wp_parse_id_list( $exclude );
                $expages = wp_parse_id_list( $exclude );
-               if ( ! empty( $expages ) ) {
-                       foreach ( $expages as $expage ) {
-                               if (empty($exclusions))
-                                       $exclusions = $wpdb->prepare(' AND ( ID <> %d ', $expage);
-                               else
-                                       $exclusions .= $wpdb->prepare(' AND ID <> %d ', $expage);
-                       }
-               }
+               if ( ! empty( $expages ) )
+                       $exclusions = ' AND ID NOT IN (' . implode( ',', $expages ) .  ')';
        }
        }
-       if (!empty($exclusions))
-               $exclusions .= ')';
 
        $author_query = '';
        if (!empty($authors)) {
 
        $author_query = '';
        if (!empty($authors)) {
@@ -3705,8 +3795,13 @@ function get_pages($args = '') {
 
        }
 
 
        }
 
-       if ( $parent >= 0 )
+       if ( is_array( $parent ) ) {
+               $post_parent__in = implode( ',', array_map( 'absint', (array) $parent ) );
+               if ( ! empty( $post_parent__in ) )
+                       $where .= " AND post_parent IN ($post_parent__in)";
+       } elseif ( $parent >= 0 ) {
                $where .= $wpdb->prepare(' AND post_parent = %d ', $parent);
                $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 ) );
 
        if ( 1 == count( $post_status ) ) {
                $where_post_type = $wpdb->prepare( "post_type = %s AND post_status = %s", $post_type, array_shift( $post_status ) );
@@ -3863,7 +3958,6 @@ function is_local_attachment($url) {
  *
  * @since 2.0.0
  * @uses $wpdb
  *
  * @since 2.0.0
  * @uses $wpdb
- * @uses $user_ID
  * @uses do_action() Calls 'edit_attachment' on $post_ID if this is an update.
  * @uses do_action() Calls 'add_attachment' on $post_ID if this is not an update.
  *
  * @uses do_action() Calls 'edit_attachment' on $post_ID if this is an update.
  * @uses do_action() Calls 'add_attachment' on $post_ID if this is not an update.
  *
@@ -3873,11 +3967,13 @@ function is_local_attachment($url) {
  * @return int Attachment ID.
  */
 function wp_insert_attachment($object, $file = false, $parent = 0) {
  * @return int Attachment ID.
  */
 function wp_insert_attachment($object, $file = false, $parent = 0) {
-       global $wpdb, $user_ID;
+       global $wpdb;
+
+       $user_id = get_current_user_id();
 
 
-       $defaults = array('post_status' => 'inherit', 'post_type' => 'post', 'post_author' => $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' => '',
                'ping_status' => get_option('default_ping_status'), 'post_parent' => 0, 'post_title' => '',
-               'menu_order' => 0, 'to_ping' =>  '', 'pinged' => '', 'post_password' => '',
+               '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);
                'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0, 'context' => '');
 
        $object = wp_parse_args($object, $defaults);
@@ -3892,7 +3988,7 @@ function wp_insert_attachment($object, $file = false, $parent = 0) {
        extract($object, EXTR_SKIP);
 
        if ( empty($post_author) )
        extract($object, EXTR_SKIP);
 
        if ( empty($post_author) )
-               $post_author = $user_ID;
+               $post_author = $user_id;
 
        $post_type = 'attachment';
 
 
        $post_type = 'attachment';
 
@@ -4094,6 +4190,7 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
                // 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)) ) {
                        $thumbfile = str_replace(basename($file), $meta['thumb'], $file);
                // 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)) ) {
                        $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);
                        @ unlink( path_join($uploadpath['basedir'], $thumbfile) );
                }
                        $thumbfile = apply_filters('wp_delete_file', $thumbfile);
                        @ unlink( path_join($uploadpath['basedir'], $thumbfile) );
                }
@@ -4101,6 +4198,7 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
 
        // remove intermediate and backup images if there are any
        foreach ( $intermediate_sizes as $intermediate ) {
 
        // 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'] );
                @ unlink( path_join($uploadpath['basedir'], $intermediate_file) );
        }
                $intermediate_file = apply_filters( 'wp_delete_file', $intermediate['path'] );
                @ unlink( path_join($uploadpath['basedir'], $intermediate_file) );
        }
@@ -4108,11 +4206,13 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
        if ( is_array($backup_sizes) ) {
                foreach ( $backup_sizes as $size ) {
                        $del_file = path_join( dirname($meta['file']), $size['file'] );
        if ( is_array($backup_sizes) ) {
                foreach ( $backup_sizes as $size ) {
                        $del_file = path_join( dirname($meta['file']), $size['file'] );
+                       /** This filter is documented in wp-admin/custom-header.php */
                        $del_file = apply_filters('wp_delete_file', $del_file);
                        @ unlink( path_join($uploadpath['basedir'], $del_file) );
                }
        }
 
                        $del_file = apply_filters('wp_delete_file', $del_file);
                        @ unlink( path_join($uploadpath['basedir'], $del_file) );
                }
        }
 
+       /** This filter is documented in wp-admin/custom-header.php */
        $file = apply_filters('wp_delete_file', $file);
 
        if ( ! empty($file) )
        $file = apply_filters('wp_delete_file', $file);
 
        if ( ! empty($file) )
@@ -4416,8 +4516,6 @@ function wp_check_for_changed_slugs($post_id, $post, $post_before) {
  *
  * @since 2.2.0
  *
  *
  * @since 2.2.0
  *
- * @uses $user_ID
- *
  * @param string $post_type currently only supports 'post' or 'page'.
  * @return string SQL code that can be added to a where clause.
  */
  * @param string $post_type currently only supports 'post' or 'page'.
  * @return string SQL code that can be added to a where clause.
  */
@@ -4438,7 +4536,7 @@ function get_private_posts_cap_sql( $post_type ) {
  * @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 ) {
  * @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 $user_ID, $wpdb;
+       global $wpdb;
 
        // Private posts
        $post_type_obj = get_post_type_object( $post_type );
 
        // Private posts
        $post_type_obj = get_post_type_object( $post_type );
@@ -4468,7 +4566,7 @@ function get_posts_by_author_sql( $post_type, $full = true, $post_author = null,
                        $sql .= " OR post_status = 'private'";
                } elseif ( is_user_logged_in() ) {
                        // Users can view their own private posts.
                        $sql .= " OR post_status = 'private'";
                } elseif ( is_user_logged_in() ) {
                        // Users can view their own private posts.
-                       $id = (int) $user_ID;
+                       $id = get_current_user_id();
                        if ( null === $post_author || ! $full ) {
                                $sql .= " OR post_status = 'private' AND post_author = $id";
                        } elseif ( $id == (int) $post_author ) {
                        if ( null === $post_author || ! $full ) {
                                $sql .= " OR post_status = 'private' AND post_author = $id";
                        } elseif ( $id == (int) $post_author ) {
@@ -4642,7 +4740,6 @@ function clean_post_cache( $post ) {
  * @subpackage Cache
  * @since 1.5.0
  *
  * @subpackage Cache
  * @since 1.5.0
  *
- * @uses $wpdb
  * @uses update_post_cache()
  * @uses update_object_term_cache()
  * @uses update_postmeta_cache()
  * @uses update_post_cache()
  * @uses update_object_term_cache()
  * @uses update_postmeta_cache()
@@ -4697,8 +4794,6 @@ function update_post_caches(&$posts, $post_type = 'post', $update_term_cache = t
  * @subpackage Cache
  * @since 2.1.0
  *
  * @subpackage Cache
  * @since 2.1.0
  *
- * @uses $wpdb
- *
  * @param array $post_ids List of post IDs.
  * @return bool|array Returns false if there is nothing to update or an array of metadata.
  */
  * @param array $post_ids List of post IDs.
  * @return bool|array Returns false if there is nothing to update or an array of metadata.
  */
index 04286aa517cfc9fe5b180ae955811ed7503e202a..a9300329d19db4fc2e9aaefc277ee15aecef07f5 100644 (file)
@@ -108,17 +108,14 @@ function wp_reset_query() {
 
 /**
  * After looping through a separate query, this function restores
 
 /**
  * After looping through a separate query, this function restores
- * the $post global to the current post in the main query
+ * the $post global to the current post in the main query.
  *
  * @since 3.0.0
  * @uses $wp_query
  */
 function wp_reset_postdata() {
        global $wp_query;
  *
  * @since 3.0.0
  * @uses $wp_query
  */
 function wp_reset_postdata() {
        global $wp_query;
-       if ( !empty($wp_query->post) ) {
-               $GLOBALS['post'] = $wp_query->post;
-               setup_postdata($wp_query->post);
-       }
+       $wp_query->reset_postdata();
 }
 
 /*
 }
 
 /*
@@ -246,10 +243,10 @@ function is_category( $category = '' ) {
  * @since 2.3.0
  * @uses $wp_query
  *
  * @since 2.3.0
  * @uses $wp_query
  *
- * @param mixed $slug Optional. Tag slug or array of slugs.
+ * @param mixed $tag Optional. Tag ID, name, slug, or array of Tag IDs, names, and slugs.
  * @return bool
  */
  * @return bool
  */
-function is_tag( $slug = '' ) {
+function is_tag( $tag = '' ) {
        global $wp_query;
 
        if ( ! isset( $wp_query ) ) {
        global $wp_query;
 
        if ( ! isset( $wp_query ) ) {
@@ -257,7 +254,7 @@ function is_tag( $slug = '' ) {
                return false;
        }
 
                return false;
        }
 
-       return $wp_query->is_tag( $slug );
+       return $wp_query->is_tag( $tag );
 }
 
 /**
 }
 
 /**
@@ -720,6 +717,12 @@ function is_404() {
  * @return bool
  */
 function is_main_query() {
  * @return bool
  */
 function is_main_query() {
+       if ( 'pre_get_posts' === current_filter() ) {
+               $message = sprintf( __( 'In <code>%1$s</code>, use the <code>%2$s</code> method, not the <code>%3$s</code> function. See %4$s.' ),
+                       'pre_get_posts', 'WP_Query::is_main_query()', 'is_main_query()', __( 'http://codex.wordpress.org/Function_Reference/is_main_query' ) );
+               _doing_it_wrong( __FUNCTION__, $message, '3.7' );
+       }
+
        global $wp_query;
        return $wp_query->is_main_query();
 }
        global $wp_query;
        return $wp_query->is_main_query();
 }
@@ -866,6 +869,15 @@ class WP_Query {
         */
        var $meta_query = false;
 
         */
        var $meta_query = false;
 
+       /**
+        * Date query container
+        *
+        * @since 3.7.0
+        * @access public
+        * @var object WP_Date_Query
+        */
+       var $date_query = false;
+
        /**
         * Holds the data for a single object that is queried.
         *
        /**
         * Holds the data for a single object that is queried.
         *
@@ -932,11 +944,11 @@ class WP_Query {
        var $in_the_loop = false;
 
        /**
        var $in_the_loop = false;
 
        /**
-        * The current post ID.
+        * The current post.
         *
         * @since 1.5.0
         * @access public
         *
         * @since 1.5.0
         * @access public
-        * @var object
+        * @var WP_Post
         */
        var $post;
 
         */
        var $post;
 
@@ -1277,6 +1289,14 @@ class WP_Query {
         */
         var $thumbnails_cached = false;
 
         */
         var $thumbnails_cached = false;
 
+       /**
+        * Cached list of search stopwords.
+        *
+        * @since 3.7.0
+        * @var array
+        */
+       private $stopwords;
+
        /**
         * Resets query flags to false.
         *
        /**
         * Resets query flags to false.
         *
@@ -1387,6 +1407,7 @@ class WP_Query {
                        , 'tag'
                        , 'cat'
                        , 'tag_id'
                        , 'tag'
                        , 'cat'
                        , 'tag_id'
+                       , 'author'
                        , 'author_name'
                        , 'feed'
                        , 'tb'
                        , 'author_name'
                        , 'feed'
                        , 'tb'
@@ -1407,7 +1428,8 @@ class WP_Query {
                }
 
                $array_keys = array( 'category__in', 'category__not_in', 'category__and', 'post__in', 'post__not_in',
                }
 
                $array_keys = array( 'category__in', 'category__not_in', 'category__and', 'post__in', 'post__not_in',
-                       'tag__in', 'tag__not_in', 'tag__and', 'tag_slug__in', 'tag_slug__and', 'post_parent__in', 'post_parent__not_in' );
+                       'tag__in', 'tag__not_in', 'tag__and', 'tag_slug__in', 'tag_slug__and', 'post_parent__in', 'post_parent__not_in',
+                       'author__in', 'author__not_in' );
 
                foreach ( $array_keys as $key ) {
                        if ( !isset($array[$key]) )
 
                foreach ( $array_keys as $key ) {
                        if ( !isset($array[$key]) )
@@ -1445,9 +1467,10 @@ class WP_Query {
                $qv['monthnum'] = absint($qv['monthnum']);
                $qv['day'] = absint($qv['day']);
                $qv['w'] = absint($qv['w']);
                $qv['monthnum'] = absint($qv['monthnum']);
                $qv['day'] = absint($qv['day']);
                $qv['w'] = absint($qv['w']);
-               $qv['m'] = absint($qv['m']);
+               $qv['m'] = preg_replace( '|[^0-9]|', '', $qv['m'] );
                $qv['paged'] = absint($qv['paged']);
                $qv['cat'] = preg_replace( '|[^0-9,-]|', '', $qv['cat'] ); // comma separated list of positive or negative integers
                $qv['paged'] = absint($qv['paged']);
                $qv['cat'] = preg_replace( '|[^0-9,-]|', '', $qv['cat'] ); // comma separated list of positive or negative integers
+               $qv['author'] = preg_replace( '|[^0-9,-]|', '', $qv['author'] ); // comma separated list of positive or negative integers
                $qv['pagename'] = trim( $qv['pagename'] );
                $qv['name'] = trim( $qv['name'] );
                if ( '' !== $qv['hour'] ) $qv['hour'] = absint($qv['hour']);
                $qv['pagename'] = trim( $qv['pagename'] );
                $qv['name'] = trim( $qv['name'] );
                if ( '' !== $qv['hour'] ) $qv['hour'] = absint($qv['hour']);
@@ -1455,6 +1478,10 @@ class WP_Query {
                if ( '' !== $qv['second'] ) $qv['second'] = absint($qv['second']);
                if ( '' !== $qv['menu_order'] ) $qv['menu_order'] = absint($qv['menu_order']);
 
                if ( '' !== $qv['second'] ) $qv['second'] = absint($qv['second']);
                if ( '' !== $qv['menu_order'] ) $qv['menu_order'] = absint($qv['menu_order']);
 
+               // Fairly insane upper bound for search string lengths.
+               if ( ! empty( $qv['s'] ) && strlen( $qv['s'] ) > 1600 )
+                       $qv['s'] = '';
+
                // Compat. Map subpost to attachment.
                if ( '' != $qv['subpost'] )
                        $qv['attachment'] = $qv['subpost'];
                // Compat. Map subpost to attachment.
                if ( '' != $qv['subpost'] )
                        $qv['attachment'] = $qv['subpost'];
@@ -1501,15 +1528,24 @@ class WP_Query {
 
                        if ( $qv['day'] ) {
                                if ( ! $this->is_date ) {
 
                        if ( $qv['day'] ) {
                                if ( ! $this->is_date ) {
-                                       $this->is_day = true;
-                                       $this->is_date = true;
+                                       $date = sprintf( '%04d-%02d-%02d', $qv['year'], $qv['monthnum'], $qv['day'] );
+                                       if ( $qv['monthnum'] && $qv['year'] && ! wp_checkdate( $qv['monthnum'], $qv['day'], $qv['year'], $date ) ) {
+                                               $qv['error'] = '404';
+                                       } else {
+                                               $this->is_day = true;
+                                               $this->is_date = true;
+                                       }
                                }
                        }
 
                        if ( $qv['monthnum'] ) {
                                if ( ! $this->is_date ) {
                                }
                        }
 
                        if ( $qv['monthnum'] ) {
                                if ( ! $this->is_date ) {
-                                       $this->is_month = true;
-                                       $this->is_date = true;
+                                       if ( 12 < $qv['monthnum'] ) {
+                                               $qv['error'] = '404';
+                                       } else {
+                                               $this->is_month = true;
+                                               $this->is_date = true;
+                                       }
                                }
                        }
 
                                }
                        }
 
@@ -1699,7 +1735,7 @@ class WP_Query {
                        );
                }
 
                        );
                }
 
-               foreach ( $GLOBALS['wp_taxonomies'] as $taxonomy => $t ) {
+               foreach ( get_taxonomies( array() , 'objects' ) as $taxonomy => $t ) {
                        if ( 'post_tag' == $taxonomy )
                                continue;       // Handled further down in the $q['tag'] block
 
                        if ( 'post_tag' == $taxonomy )
                                continue;       // Handled further down in the $q['tag'] block
 
@@ -1753,8 +1789,16 @@ class WP_Query {
                        $q['cat'] = implode(',', $req_cats);
                }
 
                        $q['cat'] = implode(',', $req_cats);
                }
 
-               if ( !empty($q['category__in']) ) {
-                       $q['category__in'] = array_map('absint', array_unique( (array) $q['category__in'] ) );
+               if ( ! empty( $q['category__and'] ) && 1 === count( (array) $q['category__and'] ) ) {
+                       $q['category__and'] = (array) $q['category__and'];
+                       if ( ! isset( $q['category__in'] ) )
+                               $q['category__in'] = array();
+                       $q['category__in'][] = absint( reset( $q['category__and'] ) );
+                       unset( $q['category__and'] );
+               }
+
+               if ( ! empty( $q['category__in'] ) ) {
+                       $q['category__in'] = array_map( 'absint', array_unique( (array) $q['category__in'] ) );
                        $tax_query[] = array(
                                'taxonomy' => 'category',
                                'terms' => $q['category__in'],
                        $tax_query[] = array(
                                'taxonomy' => 'category',
                                'terms' => $q['category__in'],
@@ -1763,8 +1807,8 @@ class WP_Query {
                        );
                }
 
                        );
                }
 
-               if ( !empty($q['category__not_in']) ) {
-                       $q['category__not_in'] = array_map('absint', array_unique( (array) $q['category__not_in'] ) );
+               if ( ! empty($q['category__not_in']) ) {
+                       $q['category__not_in'] = array_map( 'absint', array_unique( (array) $q['category__not_in'] ) );
                        $tax_query[] = array(
                                'taxonomy' => 'category',
                                'terms' => $q['category__not_in'],
                        $tax_query[] = array(
                                'taxonomy' => 'category',
                                'terms' => $q['category__not_in'],
@@ -1773,8 +1817,8 @@ class WP_Query {
                        );
                }
 
                        );
                }
 
-               if ( !empty($q['category__and']) ) {
-                       $q['category__and'] = array_map('absint', array_unique( (array) $q['category__and'] ) );
+               if ( ! empty($q['category__and']) ) {
+                       $q['category__and'] = array_map( 'absint', array_unique( (array) $q['category__and'] ) );
                        $tax_query[] = array(
                                'taxonomy' => 'category',
                                'terms' => $q['category__and'],
                        $tax_query[] = array(
                                'taxonomy' => 'category',
                                'terms' => $q['category__and'],
@@ -1858,6 +1902,177 @@ class WP_Query {
                }
 
                $this->tax_query = new WP_Tax_Query( $tax_query );
                }
 
                $this->tax_query = new WP_Tax_Query( $tax_query );
+
+               do_action( 'parse_tax_query', $this );
+       }
+
+       /**
+        * Generate SQL for the WHERE clause based on passed search terms.
+        *
+        * @since 3.7.0
+        *
+        * @global type $wpdb
+        * @param array $q Query variables.
+        */
+       protected function parse_search( &$q ) {
+               global $wpdb;
+
+               $search = '';
+
+               // added slashes screw with quote grouping when done early, so done later
+               $q['s'] = stripslashes( $q['s'] );
+               if ( empty( $_GET['s'] ) && $this->is_main_query() )
+                       $q['s'] = urldecode( $q['s'] );
+               // there are no line breaks in <input /> fields
+               $q['s'] = str_replace( array( "\r", "\n" ), '', $q['s'] );
+               $q['search_terms_count'] = 1;
+               if ( ! empty( $q['sentence'] ) ) {
+                       $q['search_terms'] = array( $q['s'] );
+               } else {
+                       if ( preg_match_all( '/".*?("|$)|((?<=[\t ",+])|^)[^\t ",+]+/', $q['s'], $matches ) ) {
+                               $q['search_terms_count'] = count( $matches[0] );
+                               $q['search_terms'] = $this->parse_search_terms( $matches[0] );
+                               // if the search string has only short terms or stopwords, or is 10+ terms long, match it as sentence
+                               if ( empty( $q['search_terms'] ) || count( $q['search_terms'] ) > 9 )
+                                       $q['search_terms'] = array( $q['s'] );
+                       } else {
+                               $q['search_terms'] = array( $q['s'] );
+                       }
+               }
+
+               $n = ! empty( $q['exact'] ) ? '' : '%';
+               $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%'";
+
+                       $search .= "{$searchand}(($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}'))";
+                       $searchand = ' AND ';
+               }
+
+               if ( ! empty( $search ) ) {
+                       $search = " AND ({$search}) ";
+                       if ( ! is_user_logged_in() )
+                               $search .= " AND ($wpdb->posts.post_password = '') ";
+               }
+
+               return $search;
+       }
+
+       /**
+        * Check if the terms are suitable for searching.
+        *
+        * Uses an array of stopwords (terms) that are excluded from the separate
+        * term matching when searching for posts. The list of English stopwords is
+        * the approximate search engines list, and is translatable.
+        *
+        * @since 3.7.0
+        *
+        * @param array Terms to check.
+        * @return array Terms that are not stopwords.
+        */
+       protected function parse_search_terms( $terms ) {
+               $strtolower = function_exists( 'mb_strtolower' ) ? 'mb_strtolower' : 'strtolower';
+               $checked = array();
+
+               $stopwords = $this->get_search_stopwords();
+
+               foreach ( $terms as $term ) {
+                       // keep before/after spaces when term is for exact match
+                       if ( preg_match( '/^".+"$/', $term ) )
+                               $term = trim( $term, "\"'" );
+                       else
+                               $term = trim( $term, "\"' " );
+
+                       // \p{L} matches a single letter that is not a Chinese, Japanese, etc. char
+                       if ( ! $term || preg_match( '/^\p{L}$/u', $term ) )
+                               continue;
+
+                       if ( in_array( call_user_func( $strtolower, $term ), $stopwords, true ) )
+                               continue;
+
+                       $checked[] = $term;
+               }
+
+               return $checked;
+       }
+
+       /**
+        * Retrieve stopwords used when parsing search terms.
+        *
+        * @since 3.7.0
+        *
+        * @return array Stopwords.
+        */
+       protected function get_search_stopwords() {
+               if ( isset( $this->stopwords ) )
+                       return $this->stopwords;
+
+               /* translators: This is a comma-separated list of very common words that should be excluded from a search,
+                * like a, an, and the. These are usually called "stopwords". You should not simply translate these individual
+                * words into your language. Instead, look for and provide commonly accepted stopwords in your language.
+                */
+               $words = explode( ',', _x( 'about,an,are,as,at,be,by,com,for,from,how,in,is,it,of,on,or,that,the,this,to,was,what,when,where,who,will,with,www',
+                       'Comma-separated list of search stopwords in your language' ) );
+
+               foreach( $words as $word ) {
+                       $word = trim( $word, "\r\n\t " );
+                       if ( $word )
+                               $stopwords[] = $word;
+               }
+
+               /**
+                * Filter stopwords used when parsing search terms.
+                *
+                * @since 3.7.0
+                *
+                * @param array $stopwords Stopwords.
+                */
+               $this->stopwords = apply_filters( 'wp_search_stopwords', $stopwords );
+               return $this->stopwords;
+       }
+
+       /**
+        * Generate SQL for the ORDER BY condition based on passed search terms.
+        *
+        * @global wpdb $wpdb
+        * @param array $q Query variables.
+        * @return string ORDER BY clause.
+        */
+       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'] ) );
+
+                       $search_orderby = '(CASE ';
+                       // sentence match in 'post_title'
+                       $search_orderby .= "WHEN $wpdb->posts.post_title LIKE '%{$search_orderby_s}%' THEN 1 ";
+
+                       // sanity limit, sort as sentence when more than 6 terms
+                       // (few searches are longer than 6 terms and most titles are not)
+                       if ( $num_terms < 7 ) {
+                               // all words in title
+                               $search_orderby .= 'WHEN ' . implode( ' AND ', $q['search_orderby_title'] ) . ' THEN 2 ';
+                               // any word in title, not needed when $num_terms == 1
+                               if ( $num_terms > 1 )
+                                       $search_orderby .= 'WHEN ' . implode( ' OR ', $q['search_orderby_title'] ) . ' THEN 3 ';
+                       }
+
+                       // sentence match in 'post_content'
+                       $search_orderby .= "WHEN $wpdb->posts.post_content LIKE '%{$search_orderby_s}%' THEN 4 ";
+                       $search_orderby .= 'ELSE 5 END)';
+               } else {
+                       // single word or sentence search
+                       $search_orderby = reset( $q['search_orderby_title'] ) . ' DESC';
+               }
+
+               return $search_orderby;
        }
 
        /**
        }
 
        /**
@@ -1917,7 +2132,7 @@ class WP_Query {
         * @return array List of posts.
         */
        function get_posts() {
         * @return array List of posts.
         */
        function get_posts() {
-               global $wpdb, $user_ID, $_wp_using_ext_object_cache;
+               global $wpdb;
 
                $this->parse_query();
 
 
                $this->parse_query();
 
@@ -1967,7 +2182,7 @@ class WP_Query {
                        $q['suppress_filters'] = false;
 
                if ( !isset($q['cache_results']) ) {
                        $q['suppress_filters'] = false;
 
                if ( !isset($q['cache_results']) ) {
-                       if ( $_wp_using_ext_object_cache )
+                       if ( wp_using_ext_object_cache() )
                                $q['cache_results'] = false;
                        else
                                $q['cache_results'] = true;
                                $q['cache_results'] = false;
                        else
                                $q['cache_results'] = true;
@@ -2045,9 +2260,8 @@ class WP_Query {
                if ( '' !== $q['menu_order'] )
                        $where .= " AND $wpdb->posts.menu_order = " . $q['menu_order'];
 
                if ( '' !== $q['menu_order'] )
                        $where .= " AND $wpdb->posts.menu_order = " . $q['menu_order'];
 
-               // If a month is specified in the querystring, load that month
+               // The "m" parameter is meant for months but accepts datetimes of varying specificity
                if ( $q['m'] ) {
                if ( $q['m'] ) {
-                       $q['m'] = '' . preg_replace('|[^0-9]|', '', $q['m']);
                        $where .= " AND YEAR($wpdb->posts.post_date)=" . substr($q['m'], 0, 4);
                        if ( strlen($q['m']) > 5 )
                                $where .= " AND MONTH($wpdb->posts.post_date)=" . substr($q['m'], 4, 2);
                        $where .= " AND YEAR($wpdb->posts.post_date)=" . substr($q['m'], 0, 4);
                        if ( strlen($q['m']) > 5 )
                                $where .= " AND MONTH($wpdb->posts.post_date)=" . substr($q['m'], 4, 2);
@@ -2061,23 +2275,42 @@ class WP_Query {
                                $where .= " AND SECOND($wpdb->posts.post_date)=" . substr($q['m'], 12, 2);
                }
 
                                $where .= " AND SECOND($wpdb->posts.post_date)=" . substr($q['m'], 12, 2);
                }
 
+               // Handle the other individual date parameters
+               $date_parameters = array();
+
                if ( '' !== $q['hour'] )
                if ( '' !== $q['hour'] )
-                       $where .= " AND HOUR($wpdb->posts.post_date)='" . $q['hour'] . "'";
+                       $date_parameters['hour'] = $q['hour'];
 
                if ( '' !== $q['minute'] )
 
                if ( '' !== $q['minute'] )
-                       $where .= " AND MINUTE($wpdb->posts.post_date)='" . $q['minute'] . "'";
+                       $date_parameters['minute'] = $q['minute'];
 
                if ( '' !== $q['second'] )
 
                if ( '' !== $q['second'] )
-                       $where .= " AND SECOND($wpdb->posts.post_date)='" . $q['second'] . "'";
+                       $date_parameters['second'] = $q['second'];
 
                if ( $q['year'] )
 
                if ( $q['year'] )
-                       $where .= " AND YEAR($wpdb->posts.post_date)='" . $q['year'] . "'";
+                       $date_parameters['year'] = $q['year'];
 
                if ( $q['monthnum'] )
 
                if ( $q['monthnum'] )
-                       $where .= " AND MONTH($wpdb->posts.post_date)='" . $q['monthnum'] . "'";
+                       $date_parameters['monthnum'] = $q['monthnum'];
+
+               if ( $q['w'] )
+                       $date_parameters['week'] = $q['w'];
 
                if ( $q['day'] )
 
                if ( $q['day'] )
-                       $where .= " AND DAYOFMONTH($wpdb->posts.post_date)='" . $q['day'] . "'";
+                       $date_parameters['day'] = $q['day'];
+
+               if ( $date_parameters ) {
+                       $date_query = new WP_Date_Query( array( $date_parameters ) );
+                       $where .= $date_query->get_sql();
+               }
+               unset( $date_parameters, $date_query );
+
+               // Handle complex date queries
+               if ( ! empty( $q['date_query'] ) ) {
+                       $this->date_query = new WP_Date_Query( $q['date_query'] );
+                       $where .= $this->date_query->get_sql();
+               }
+
 
                // If we've got a post_type AND it's not "any" post_type.
                if ( !empty($q['post_type']) && 'any' != $q['post_type'] ) {
 
                // If we've got a post_type AND it's not "any" post_type.
                if ( !empty($q['post_type']) && 'any' != $q['post_type'] ) {
@@ -2147,8 +2380,6 @@ class WP_Query {
                        $where .= " AND $wpdb->posts.post_name = '" . $q['attachment'] . "'";
                }
 
                        $where .= " AND $wpdb->posts.post_name = '" . $q['attachment'] . "'";
                }
 
-               if ( $q['w'] )
-                       $where .= ' AND ' . _wp_mysql_week( "`$wpdb->posts`.`post_date`" ) . " = '" . $q['w'] . "'";
 
                if ( intval($q['comments_popup']) )
                        $q['p'] = absint($q['comments_popup']);
 
                if ( intval($q['comments_popup']) )
                        $q['p'] = absint($q['comments_popup']);
@@ -2185,35 +2416,19 @@ class WP_Query {
                        }
                }
 
                        }
                }
 
-               // If a search pattern is specified, load the posts that match
-               if ( !empty($q['s']) ) {
-                       // added slashes screw with quote grouping when done early, so done later
-                       $q['s'] = stripslashes($q['s']);
-                       if ( empty( $_GET['s'] ) && $this->is_main_query() )
-                               $q['s'] = urldecode($q['s']);
-                       if ( !empty($q['sentence']) ) {
-                               $q['search_terms'] = array($q['s']);
-                       } else {
-                               preg_match_all('/".*?("|$)|((?<=[\r\n\t ",+])|^)[^\r\n\t ",+]+/', $q['s'], $matches);
-                               $q['search_terms'] = array_map('_search_terms_tidy', $matches[0]);
-                       }
-                       $n = !empty($q['exact']) ? '' : '%';
-                       $searchand = '';
-                       foreach( (array) $q['search_terms'] as $term ) {
-                               $term = esc_sql( like_escape( $term ) );
-                               $search .= "{$searchand}(($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}'))";
-                               $searchand = ' AND ';
-                       }
-
-                       if ( !empty($search) ) {
-                               $search = " AND ({$search}) ";
-                               if ( !is_user_logged_in() )
-                                       $search .= " AND ($wpdb->posts.post_password = '') ";
-                       }
-               }
+               // If a search pattern is specified, load the posts that match.
+               if ( ! empty( $q['s'] ) )
+                       $search = $this->parse_search( $q );
 
 
-               // Allow plugins to contextually add/remove/modify the search section of the database query
-               $search = apply_filters_ref_array('posts_search', array( $search, &$this ) );
+               /**
+                * Filter the search SQL that is used in the WHERE clause of WP_Query.
+                *
+                * @since 3.0.0
+                *
+                * @param string   $search Search SQL for WHERE clause.
+                * @param WP_Query $this   The current WP_Query object.
+                */
+               $search = apply_filters_ref_array( 'posts_search', array( $search, &$this ) );
 
                // Taxonomies
                if ( !$this->is_singular ) {
 
                // Taxonomies
                if ( !$this->is_singular ) {
@@ -2300,26 +2515,22 @@ class WP_Query {
 
                // Author/user stuff
 
 
                // Author/user stuff
 
-               if ( empty($q['author']) || ($q['author'] == '0') ) {
-                       $whichauthor = '';
-               } else {
-                       $q['author'] = (string)urldecode($q['author']);
-                       $q['author'] = addslashes_gpc($q['author']);
-                       if ( strpos($q['author'], '-') !== false ) {
-                               $eq = '!=';
-                               $andor = 'AND';
-                               $q['author'] = explode('-', $q['author']);
-                               $q['author'] = (string)absint($q['author'][1]);
-                       } else {
-                               $eq = '=';
-                               $andor = 'OR';
+               if ( ! empty( $q['author'] ) && $q['author'] != '0' ) {
+                       $q['author'] = addslashes_gpc( '' . urldecode( $q['author'] ) );
+                       $authors = array_unique( array_map( 'intval', preg_split( '/[,\s]+/', $q['author'] ) ) );
+                       foreach ( $authors as $author ) {
+                               $key = $author > 0 ? 'author__in' : 'author__not_in';
+                               $q[$key][] = abs( $author );
                        }
                        }
-                       $author_array = preg_split('/[,\s]+/', $q['author']);
-                       $_author_array = array();
-                       foreach ( $author_array as $key => $_author )
-                               $_author_array[] = "$wpdb->posts.post_author " . $eq . ' ' . absint($_author);
-                       $whichauthor .= ' AND (' . implode(" $andor ", $_author_array) . ')';
-                       unset($author_array, $_author_array);
+                       $q['author'] = implode( ',', $authors );
+               }
+
+               if ( ! empty( $q['author__not_in'] ) ) {
+                       $author__not_in = implode( ',', array_map( 'absint', array_unique( (array) $q['author__not_in'] ) ) );
+                       $where .= " AND {$wpdb->posts}.post_author NOT IN ($author__not_in) ";
+               } elseif ( ! empty( $q['author__in'] ) ) {
+                       $author__in = implode( ',', array_map( 'absint', array_unique( (array) $q['author__in'] ) ) );
+                       $where .= " AND {$wpdb->posts}.post_author IN ($author__in) ";
                }
 
                // Author stuff for nice URLs
                }
 
                // Author stuff for nice URLs
@@ -2388,7 +2599,12 @@ class WP_Query {
                                                break;
                                        case $q['meta_key']:
                                        case 'meta_value':
                                                break;
                                        case $q['meta_key']:
                                        case 'meta_value':
-                                               $orderby = "$wpdb->postmeta.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 'meta_value_num':
                                                $orderby = "$wpdb->postmeta.meta_value+0";
@@ -2410,6 +2626,25 @@ class WP_Query {
                                $orderby .= " {$q['order']}";
                }
 
                                $orderby .= " {$q['order']}";
                }
 
+               // Order search results by relevance only when another "orderby" is not specified in the query.
+               if ( ! empty( $q['s'] ) ) {
+                       $search_orderby = '';
+                       if ( ! empty( $q['search_orderby_title'] ) && ( empty( $q['orderby'] ) && ! $this->is_feed ) || ( isset( $q['orderby'] ) && 'relevance' === $q['orderby'] ) )
+                               $search_orderby = $this->parse_search_order( $q );
+
+                       /**
+                        * Filter the ORDER BY used when ordering search results.
+                        *
+                        * @since 3.7.0
+                        *
+                        * @param string   $search_orderby The ORDER BY clause.
+                        * @param WP_Query $this           The current WP_Query instance.
+                        */
+                       $search_orderby = apply_filters( 'posts_search_orderby', $search_orderby, $this );
+                       if ( $search_orderby )
+                               $orderby = $orderby ? $search_orderby . ', ' . $orderby : $search_orderby;
+               }
+
                if ( is_array( $post_type ) && count( $post_type ) > 1 ) {
                        $post_type_cap = 'multiple_post_type';
                } else {
                if ( is_array( $post_type ) && count( $post_type ) > 1 ) {
                        $post_type_cap = 'multiple_post_type';
                } else {
@@ -2422,7 +2657,9 @@ class WP_Query {
 
                if ( 'any' == $post_type ) {
                        $in_search_post_types = get_post_types( array('exclude_from_search' => false) );
 
                if ( 'any' == $post_type ) {
                        $in_search_post_types = get_post_types( array('exclude_from_search' => false) );
-                       if ( ! empty( $in_search_post_types ) )
+                       if ( empty( $in_search_post_types ) )
+                               $where .= ' AND 1=0 ';
+                       else
                                $where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $in_search_post_types ) . "')";
                } elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
                        $where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $post_type) . "')";
                                $where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $in_search_post_types ) . "')";
                } elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
                        $where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $post_type) . "')";
@@ -2451,6 +2688,8 @@ class WP_Query {
                        $read_private_cap = 'read_private_' . $post_type_cap . 's';
                }
 
                        $read_private_cap = 'read_private_' . $post_type_cap . 's';
                }
 
+               $user_id = get_current_user_id();
+
                if ( ! empty( $q['post_status'] ) ) {
                        $statuswheres = array();
                        $q_status = $q['post_status'];
                if ( ! empty( $q['post_status'] ) ) {
                        $statuswheres = array();
                        $q_status = $q['post_status'];
@@ -2483,13 +2722,13 @@ class WP_Query {
                        }
                        if ( !empty($r_status) ) {
                                if ( !empty($q['perm'] ) && 'editable' == $q['perm'] && !current_user_can($edit_others_cap) )
                        }
                        if ( !empty($r_status) ) {
                                if ( !empty($q['perm'] ) && 'editable' == $q['perm'] && !current_user_can($edit_others_cap) )
-                                       $statuswheres[] = "($wpdb->posts.post_author = $user_ID " . "AND (" . join( ' OR ', $r_status ) . "))";
+                                       $statuswheres[] = "($wpdb->posts.post_author = $user_id " . "AND (" . join( ' OR ', $r_status ) . "))";
                                else
                                        $statuswheres[] = "(" . join( ' OR ', $r_status ) . ")";
                        }
                        if ( !empty($p_status) ) {
                                if ( !empty($q['perm'] ) && 'readable' == $q['perm'] && !current_user_can($read_private_cap) )
                                else
                                        $statuswheres[] = "(" . join( ' OR ', $r_status ) . ")";
                        }
                        if ( !empty($p_status) ) {
                                if ( !empty($q['perm'] ) && 'readable' == $q['perm'] && !current_user_can($read_private_cap) )
-                                       $statuswheres[] = "($wpdb->posts.post_author = $user_ID " . "AND (" . join( ' OR ', $p_status ) . "))";
+                                       $statuswheres[] = "($wpdb->posts.post_author = $user_id " . "AND (" . join( ' OR ', $p_status ) . "))";
                                else
                                        $statuswheres[] = "(" . join( ' OR ', $p_status ) . ")";
                        }
                                else
                                        $statuswheres[] = "(" . join( ' OR ', $p_status ) . ")";
                        }
@@ -2522,7 +2761,7 @@ class WP_Query {
                                // Add private states that are limited to viewing by the author of a post or someone who has caps to read private states.
                                $private_states = get_post_stati( array('private' => true) );
                                foreach ( (array) $private_states as $state )
                                // Add private states that are limited to viewing by the author of a post or someone who has caps to read private states.
                                $private_states = get_post_stati( array('private' => true) );
                                foreach ( (array) $private_states as $state )
-                                       $where .= current_user_can( $read_private_cap ) ? " OR $wpdb->posts.post_status = '$state'" : " OR $wpdb->posts.post_author = $user_ID AND $wpdb->posts.post_status = '$state'";
+                                       $where .= current_user_can( $read_private_cap ) ? " OR $wpdb->posts.post_status = '$state'" : " OR $wpdb->posts.post_author = $user_id AND $wpdb->posts.post_status = '$state'";
                        }
 
                        $where .= ')';
                        }
 
                        $where .= ')';
@@ -3026,7 +3265,10 @@ class WP_Query {
                                        _make_cat_compat( $this->queried_object );
                        }
                } elseif ( $this->is_post_type_archive ) {
                                        _make_cat_compat( $this->queried_object );
                        }
                } elseif ( $this->is_post_type_archive ) {
-                       $this->queried_object = get_post_type_object( $this->get('post_type') );
+                       $post_type = $this->get( 'post_type' );
+                       if ( is_array( $post_type ) )
+                               $post_type = reset( $post_type );
+                       $this->queried_object = get_post_type_object( $post_type );
                } elseif ( $this->is_posts_page ) {
                        $page_for_posts = get_option('page_for_posts');
                        $this->queried_object = get_post( $page_for_posts );
                } elseif ( $this->is_posts_page ) {
                        $page_for_posts = get_option('page_for_posts');
                        $this->queried_object = get_post( $page_for_posts );
@@ -3099,10 +3341,13 @@ class WP_Query {
         * @return bool
         */
        function is_post_type_archive( $post_types = '' ) {
         * @return bool
         */
        function is_post_type_archive( $post_types = '' ) {
-               if ( empty( $post_types ) || !$this->is_post_type_archive )
+               if ( empty( $post_types ) || ! $this->is_post_type_archive )
                        return (bool) $this->is_post_type_archive;
 
                        return (bool) $this->is_post_type_archive;
 
-               $post_type_object = $this->get_queried_object();
+               $post_type = $this->get( 'post_type' );
+               if ( is_array( $post_type ) )
+                       $post_type = reset( $post_type );
+               $post_type_object = get_post_type_object( $post_type );
 
                return in_array( $post_type_object->name, (array) $post_types );
        }
 
                return in_array( $post_type_object->name, (array) $post_types );
        }
@@ -3190,21 +3435,25 @@ class WP_Query {
         *
         * @since 3.1.0
         *
         *
         * @since 3.1.0
         *
-        * @param mixed $slug Optional. Tag slug or array of slugs.
+        * @param mixed $tag Optional. Tag ID, name, slug, or array of Tag IDs, names, and slugs.
         * @return bool
         */
         * @return bool
         */
-       function is_tag( $slug = '' ) {
-               if ( !$this->is_tag )
+       function is_tag( $tag = '' ) {
+               if ( ! $this->is_tag )
                        return false;
 
                        return false;
 
-               if ( empty( $slug ) )
+               if ( empty( $tag ) )
                        return true;
 
                $tag_obj = $this->get_queried_object();
 
                        return true;
 
                $tag_obj = $this->get_queried_object();
 
-               $slug = (array) $slug;
+               $tag = (array) $tag;
 
 
-               if ( in_array( $tag_obj->slug, $slug ) )
+               if ( in_array( $tag_obj->term_id, $tag ) )
+                       return true;
+               elseif ( in_array( $tag_obj->name, $tag ) )
+                       return true;
+               elseif ( in_array( $tag_obj->slug, $tag ) )
                        return true;
 
                return false;
                        return true;
 
                return false;
@@ -3568,6 +3817,21 @@ class WP_Query {
                global $wp_the_query;
                return $wp_the_query === $this;
        }
                global $wp_the_query;
                return $wp_the_query === $this;
        }
+
+       /**
+        * After looping through a nested query, this function
+        * restores the $post global to the current post in this query.
+        *
+        * @since 3.7.0
+        *
+        * @return bool
+        */
+       function reset_postdata() {
+               if ( ! empty( $this->post ) ) {
+                       $GLOBALS['post'] = $this->post;
+                       setup_postdata( $this->post );
+               }
+       }
 }
 
 /**
 }
 
 /**
index 88237e06c16575f218cfa6ccc874f32f8963aa2d..2b48cdf83cd2f32c64448ff61761194b9655ec6e 100644 (file)
@@ -206,12 +206,19 @@ define('EP_AUTHORS', 2048);
  */
 define('EP_PAGES', 4096);
 
  */
 define('EP_PAGES', 4096);
 
+/**
+ * Endpoint Mask for all archive views.
+ *
+ * @since 3.7.0
+ */
+define( 'EP_ALL_ARCHIVES', EP_DATE | EP_YEAR | EP_MONTH | EP_DAY | EP_CATEGORIES | EP_TAGS | EP_AUTHORS );
+
 /**
  * Endpoint Mask for everything.
  *
  * @since 2.1.0
  */
 /**
  * Endpoint Mask for everything.
  *
  * @since 2.1.0
  */
-define('EP_ALL', 8191);
+define( 'EP_ALL', EP_PERMALINK | EP_ATTACHMENT | EP_ROOT | EP_COMMENTS | EP_SEARCH | EP_PAGES | EP_ALL_ARCHIVES );
 
 /**
  * Add an endpoint, like /trackback/.
 
 /**
  * Add an endpoint, like /trackback/.
@@ -317,20 +324,26 @@ function url_to_postid($url) {
        if ( !$wp_rewrite->using_index_permalinks() )
                $url = str_replace( $wp_rewrite->index . '/', '', $url );
 
        if ( !$wp_rewrite->using_index_permalinks() )
                $url = str_replace( $wp_rewrite->index . '/', '', $url );
 
-       if ( false !== strpos($url, home_url()) ) {
-               // Chop off http://domain.com
+       if ( false !== strpos( trailingslashit( $url ), home_url( '/' ) ) ) {
+               // Chop off http://domain.com/[path]
                $url = str_replace(home_url(), '', $url);
        } else {
                // Chop off /path/to/blog
                $url = str_replace(home_url(), '', $url);
        } else {
                // Chop off /path/to/blog
-               $home_path = parse_url(home_url());
+               $home_path = parse_url( home_url( '/' ) );
                $home_path = isset( $home_path['path'] ) ? $home_path['path'] : '' ;
                $home_path = isset( $home_path['path'] ) ? $home_path['path'] : '' ;
-               $url = str_replace($home_path, '', $url);
+               $url = preg_replace( sprintf( '#^%s#', preg_quote( $home_path ) ), '', trailingslashit( $url ) );
        }
 
        // Trim leading and lagging slashes
        $url = trim($url, '/');
 
        $request = $url;
        }
 
        // Trim leading and lagging slashes
        $url = trim($url, '/');
 
        $request = $url;
+       $post_type_query_vars = array();
+
+       foreach ( get_post_types( array() , 'objects' ) as $post_type => $t ) {
+               if ( ! empty( $t->query_var ) )
+                       $post_type_query_vars[ $t->query_var ] = $post_type;
+       }
 
        // Look for matches.
        $request_match = $request;
 
        // Look for matches.
        $request_match = $request;
@@ -358,16 +371,21 @@ function url_to_postid($url) {
 
                        // Filter out non-public query vars
                        global $wp;
 
                        // Filter out non-public query vars
                        global $wp;
-                       parse_str($query, $query_vars);
+                       parse_str( $query, $query_vars );
                        $query = array();
                        foreach ( (array) $query_vars as $key => $value ) {
                        $query = array();
                        foreach ( (array) $query_vars as $key => $value ) {
-                               if ( in_array($key, $wp->public_query_vars) )
+                               if ( in_array( $key, $wp->public_query_vars ) ){
                                        $query[$key] = $value;
                                        $query[$key] = $value;
+                                       if ( isset( $post_type_query_vars[$key] ) ) {
+                                               $query['post_type'] = $post_type_query_vars[$key];
+                                               $query['name'] = $value;
+                                       }
+                               }
                        }
 
                        // Do the query
                        }
 
                        // Do the query
-                       $query = new WP_Query($query);
-                       if ( !empty($query->posts) && $query->is_singular )
+                       $query = new WP_Query( $query );
+                       if ( ! empty( $query->posts ) && $query->is_singular )
                                return $query->post->ID;
                        else
                                return 0;
                                return $query->post->ID;
                        else
                                return 0;
@@ -822,7 +840,8 @@ class WP_Rewrite {
                global $wpdb;
 
                //get pages in order of hierarchy, i.e. children after parents
                global $wpdb;
 
                //get pages in order of hierarchy, i.e. children after parents
-               $posts = get_page_hierarchy( $wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_type = 'page' AND post_status != 'auto-draft'") );
+               $pages = $wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_type = 'page' AND post_status != 'auto-draft'");
+               $posts = get_page_hierarchy( $pages );
 
                // If we have no pages get out quick
                if ( !$posts )
 
                // If we have no pages get out quick
                if ( !$posts )
@@ -1435,8 +1454,8 @@ class WP_Rewrite {
                                        if ( !empty($endpoints) ) {
                                                foreach ( (array) $ep_query_append as $regex => $ep ) {
                                                        if ( $ep[0] & EP_ATTACHMENT ) {
                                        if ( !empty($endpoints) ) {
                                                foreach ( (array) $ep_query_append as $regex => $ep ) {
                                                        if ( $ep[0] & EP_ATTACHMENT ) {
-                                                               $rewrite[$sub1 . $regex] = $subquery . $ep[1] . $this->preg_index(2);
-                                                               $rewrite[$sub2 . $regex] = $subquery . $ep[1] . $this->preg_index(2);
+                                                               $rewrite[$sub1 . $regex] = $subquery . $ep[1] . $this->preg_index(3);
+                                                               $rewrite[$sub2 . $regex] = $subquery . $ep[1] . $this->preg_index(3);
                                                        }
                                                }
                                        }
                                                        }
                                                }
                                        }
@@ -1885,9 +1904,19 @@ class WP_Rewrite {
        function flush_rules($hard = true) {
                delete_option('rewrite_rules');
                $this->wp_rewrite_rules();
        function flush_rules($hard = true) {
                delete_option('rewrite_rules');
                $this->wp_rewrite_rules();
-               if ( $hard && function_exists('save_mod_rewrite_rules') )
+               /**
+                * Filter whether a "hard" rewrite rule flush should be performed when requested.
+                *
+                * A "hard" flush updates .htaccess (Apache) or web.config (IIS).
+                *
+                * @since 3.7.0
+                * @param bool $hard Defaults to true.
+                */
+               if ( ! $hard || ! apply_filters( 'flush_rewrite_rules_hard', true ) )
+                       return;
+               if ( function_exists( 'save_mod_rewrite_rules' ) )
                        save_mod_rewrite_rules();
                        save_mod_rewrite_rules();
-               if ( $hard && function_exists('iis7_save_url_rewrite_rules') )
+               if ( function_exists( 'iis7_save_url_rewrite_rules' ) )
                        iis7_save_url_rewrite_rules();
        }
 
                        iis7_save_url_rewrite_rules();
        }
 
index 86458479df001dde15d197a908707c28754b7803..e6fc2b18ffe56b087f7fceae0d853e91af53e9b2 100644 (file)
@@ -6,4 +6,4 @@
  */
 
 _deprecated_file( basename(__FILE__), '2.1', WPINC . '/rss.php' );
  */
 
 _deprecated_file( basename(__FILE__), '2.1', WPINC . '/rss.php' );
-require_once (ABSPATH . WPINC . '/rss.php');
+require_once( ABSPATH . WPINC . '/rss.php' );
index cd08ec99e6625df5548fec37b78d60c19162fe5b..ab6ead0f2ca8e1e3c54a87bd722b94e75744f217 100644 (file)
@@ -10,6 +10,7 @@
  *
  * @package External
  * @subpackage MagpieRSS
  *
  * @package External
  * @subpackage MagpieRSS
+ * @deprecated 3.0.0 Use SimplePie instead.
  */
 
 /**
  */
 
 /**
  */
 _deprecated_file( basename( __FILE__ ), '3.0', WPINC . '/class-simplepie.php' );
 
  */
 _deprecated_file( basename( __FILE__ ), '3.0', WPINC . '/class-simplepie.php' );
 
-/*
- * Hook to use another RSS object instead of MagpieRSS
+/**
+ * Fires before MagpieRSS is loaded, to optionally replace it.
+ *
+ * @since 2.3.0
+ * @deprecated 3.0.0
  */
  */
-do_action('load_feed_engine');
+do_action( 'load_feed_engine' );
 
 /** RSS feed constant. */
 define('RSS', 'RSS');
 
 /** RSS feed constant. */
 define('RSS', 'RSS');
index 35d8b3555371c279a4b362ee43b273cd3800e8c4..b4e0333b2b44a41da2995ac0d20dff25d9f34cef 100644 (file)
@@ -48,16 +48,22 @@ require( ABSPATH . WPINC . '/functions.wp-styles.php' );
  * @param object $scripts WP_Scripts object.
  */
 function wp_default_scripts( &$scripts ) {
  * @param object $scripts WP_Scripts object.
  */
 function wp_default_scripts( &$scripts ) {
+       include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
 
 
-       if ( !$guessurl = site_url() )
+       if ( ! defined( 'SCRIPT_DEBUG' ) )
+               define( 'SCRIPT_DEBUG', false !== strpos( $wp_version, '-src' ) );
+
+       if ( ! $guessurl = site_url() ) {
+               $guessed_url = true;
                $guessurl = wp_guess_url();
                $guessurl = wp_guess_url();
+       }
 
        $scripts->base_url = $guessurl;
        $scripts->content_url = defined('WP_CONTENT_URL')? WP_CONTENT_URL : '';
        $scripts->default_version = get_bloginfo( 'version' );
        $scripts->default_dirs = array('/wp-admin/js/', '/wp-includes/js/');
 
 
        $scripts->base_url = $guessurl;
        $scripts->content_url = defined('WP_CONTENT_URL')? WP_CONTENT_URL : '';
        $scripts->default_version = get_bloginfo( 'version' );
        $scripts->default_dirs = array('/wp-admin/js/', '/wp-includes/js/');
 
-       $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
+       $suffix = SCRIPT_DEBUG ? '' : '.min';
 
        $scripts->add( 'utils', "/wp-includes/js/utils$suffix.js" );
        did_action( 'init' ) && $scripts->localize( 'utils', 'userSettings', array(
 
        $scripts->add( 'utils', "/wp-includes/js/utils$suffix.js" );
        did_action( 'init' ) && $scripts->localize( 'utils', 'userSettings', array(
@@ -176,7 +182,7 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui/jquery.ui.widget.min.js', array('jquery'), '1.10.3', 1 );
 
        // deprecated, not used in core, most functionality is included in jQuery 1.3
        $scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui/jquery.ui.widget.min.js', array('jquery'), '1.10.3', 1 );
 
        // deprecated, not used in core, most functionality is included in jQuery 1.3
-       $scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '2.73', 1 );
+       $scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '3.37.0', 1 );
 
        // jQuery plugins
        $scripts->add( 'jquery-color', "/wp-includes/js/jquery/jquery.color.min.js", array('jquery'), '2.1.1', 1 );
 
        // jQuery plugins
        $scripts->add( 'jquery-color', "/wp-includes/js/jquery/jquery.color.min.js", array('jquery'), '2.1.1', 1 );
@@ -201,7 +207,7 @@ function wp_default_scripts( &$scripts ) {
                        'closeImage' => includes_url('js/thickbox/tb-close.png')
        ) );
 
                        'closeImage' => includes_url('js/thickbox/tb-close.png')
        ) );
 
-       $scripts->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop.min.js", array('jquery'), '0.9.10');
+       $scripts->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop.min.js", array('jquery'), '0.9.12');
 
        $scripts->add( 'swfobject', "/wp-includes/js/swfobject.js", array(), '2.2-20120417');
 
 
        $scripts->add( 'swfobject', "/wp-includes/js/swfobject.js", array(), '2.2-20120417');
 
@@ -279,7 +285,7 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'revisions', "/wp-admin/js/revisions$suffix.js", array( 'wp-backbone', 'jquery-ui-slider', 'hoverIntent' ), false, 1 );
 
 
        $scripts->add( 'revisions', "/wp-admin/js/revisions$suffix.js", array( 'wp-backbone', 'jquery-ui-slider', 'hoverIntent' ), false, 1 );
 
-       $scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.8', 1 );
+       $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.13.0', 1 );
        did_action( 'init' ) && $scripts->localize( 'mediaelement', 'mejsL10n', array(
 
        $scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.13.0', 1 );
        did_action( 'init' ) && $scripts->localize( 'mediaelement', 'mejsL10n', array(
@@ -306,7 +312,12 @@ function wp_default_scripts( &$scripts ) {
                'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ),
        ) );
 
                'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ),
        ) );
 
-       $scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array('jquery'), false, 1 );
+       $scripts->add( 'zxcvbn-async', "/wp-includes/js/zxcvbn-async$suffix.js", array(), '1.0' );
+       did_action( 'init' ) && $scripts->localize( 'zxcvbn-async', '_zxcvbnSettings', array(
+               'src' => empty( $guessed_url ) ? includes_url( '/js/zxcvbn.min.js' ) : $scripts->base_url . '/wp-includes/js/zxcvbn.min.js',
+       ) );
+
+       $scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array( 'jquery', 'zxcvbn-async' ), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'password-strength-meter', 'pwsL10n', array(
                'empty' => __('Strength indicator'),
                'short' => __('Very weak'),
        did_action( 'init' ) && $scripts->localize( 'password-strength-meter', 'pwsL10n', array(
                'empty' => __('Strength indicator'),
                'short' => __('Very weak'),
@@ -321,6 +332,8 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'user-suggest', "/wp-admin/js/user-suggest$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );
 
 
        $scripts->add( 'user-suggest', "/wp-admin/js/user-suggest$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );
 
+       $scripts->add( 'about', "/wp-admin/js/about$suffix.js", array( 'jquery', 'password-strength-meter' ), false, 1 );
+
        $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 );
 
        $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 );
        $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 );
 
        $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 );
@@ -381,13 +394,6 @@ function wp_default_scripts( &$scripts ) {
        $scripts->add( 'mce-view', "/wp-includes/js/mce-view$suffix.js", array( 'shortcode', 'media-models' ), false, 1 );
 
        if ( is_admin() ) {
        $scripts->add( 'mce-view', "/wp-includes/js/mce-view$suffix.js", array( 'shortcode', 'media-models' ), false, 1 );
 
        if ( is_admin() ) {
-               $scripts->add( 'ajaxcat', "/wp-admin/js/cat$suffix.js", array( 'wp-lists' ) );
-               $scripts->add_data( 'ajaxcat', 'group', 1 );
-               did_action( 'init' ) && $scripts->localize( 'ajaxcat', 'catL10n', array(
-                       'add' => esc_attr(__('Add')),
-                       'how' => __('Separate multiple categories with commas.')
-               ) );
-
                $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('jquery', 'wp-ajax-response'), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'admin-tags', 'tagsl10n', array(
                        'noPerm' => __('You do not have permission to do that.'),
                $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('jquery', 'wp-ajax-response'), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'admin-tags', 'tagsl10n', array(
                        'noPerm' => __('You do not have permission to do that.'),
@@ -527,6 +533,10 @@ function wp_default_scripts( &$scripts ) {
  * @param object $styles
  */
 function wp_default_styles( &$styles ) {
  * @param object $styles
  */
 function wp_default_styles( &$styles ) {
+       include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version
+
+       if ( ! defined( 'SCRIPT_DEBUG' ) )
+               define( 'SCRIPT_DEBUG', false !== strpos( $wp_version, '-src' ) );
 
        if ( ! $guessurl = site_url() )
                $guessurl = wp_guess_url();
 
        if ( ! $guessurl = site_url() )
                $guessurl = wp_guess_url();
@@ -537,7 +547,7 @@ function wp_default_styles( &$styles ) {
        $styles->text_direction = function_exists( 'is_rtl' ) && is_rtl() ? 'rtl' : 'ltr';
        $styles->default_dirs = array('/wp-admin/', '/wp-includes/css/');
 
        $styles->text_direction = function_exists( 'is_rtl' ) && is_rtl() ? 'rtl' : 'ltr';
        $styles->default_dirs = array('/wp-admin/', '/wp-includes/css/');
 
-       $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
+       $suffix = SCRIPT_DEBUG ? '' : '.min';
 
        $rtl_styles = array( 'wp-admin', 'ie', 'media', 'admin-bar', 'customize-controls', 'media-views', 'wp-color-picker' );
        // Any rtl stylesheets that don't have a .min version
 
        $rtl_styles = array( 'wp-admin', 'ie', 'media', 'admin-bar', 'customize-controls', 'media-views', 'wp-color-picker' );
        // Any rtl stylesheets that don't have a .min version
@@ -560,7 +570,7 @@ function wp_default_styles( &$styles ) {
        $styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array(), '20121105' );
        $styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u1' );
        $styles->add( 'wp-color-picker', "/wp-admin/css/color-picker$suffix.css" );
        $styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array(), '20121105' );
        $styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u1' );
        $styles->add( 'wp-color-picker', "/wp-admin/css/color-picker$suffix.css" );
-       $styles->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop.min.css", array(), '0.9.10' );
+       $styles->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop.min.css", array(), '0.9.12' );
        $styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
        $styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css" );
        $styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css" );
        $styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
        $styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css" );
        $styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css" );
index a40959491bc5f028c8da8465be686b2e4f379488..dafb3a14051b975357154390f8e689265ce4523a 100644 (file)
@@ -338,7 +338,18 @@ function shortcode_atts( $pairs, $atts, $shortcode = '' ) {
                else
                        $out[$name] = $default;
        }
                else
                        $out[$name] = $default;
        }
-
+       /**
+        * Filter a shortcode's default attributes.
+        *
+        * If the third parameter of the shortcode_atts() function is present then this filter is available.
+        * The third parameter, $shortcode, is the name of the shortcode.
+        *
+        * @since 3.6.0
+        *
+        * @param array $out The output array of shortcode attributes.
+        * @param array $pairs The supported attributes and their defaults.
+        * @param array $atts The user defined shortcode attributes.
+        */
        if ( $shortcode )
                $out = apply_filters( "shortcode_atts_{$shortcode}", $out, $pairs, $atts );
 
        if ( $shortcode )
                $out = apply_filters( "shortcode_atts_{$shortcode}", $out, $pairs, $atts );
 
index ecca35fc053b1c335e0d5e4f065f27edff4d44a9..c8191fe0b0da756bfec29301548f3950b4126698 100644 (file)
@@ -270,86 +270,99 @@ function is_taxonomy_hierarchical($taxonomy) {
  *
  * Optional $args contents:
  *
  *
  * Optional $args contents:
  *
- * label - Name of the taxonomy shown in the menu. Usually plural. If not set, labels['name'] will be used.
+ * - label - Name of the taxonomy shown in the menu. Usually plural. If not set, labels['name'] will be used.
+ * - labels - An array of labels for this taxonomy.
+ *     * By default tag labels are used for non-hierarchical types and category labels for hierarchical ones.
+ *     * You can see accepted values in {@link get_taxonomy_labels()}.
+ * - description - A short descriptive summary of what the taxonomy is for. Defaults to blank.
+ * - 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.
+ *     * If not set, the default is inherited from public.
+ * - show_in_menu - Where 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.
+ *     * If not set, the default is inherited from show_ui.
+ * - show_in_nav_menus - Makes this taxonomy available for selection in navigation menus.
+ *     * If not set, the default is inherited from public.
+ * - show_tagcloud - Whether to list the taxonomy in the Tag Cloud Widget.
+ *     * If not set, the default is inherited from show_ui.
+ * - meta_box_cb - Provide a callback function for the meta box display. Defaults to
+ *     post_categories_meta_box for hierarchical taxonomies and post_tags_meta_box for non-hierarchical.
+ * - capabilities - Array of capabilities for this taxonomy.
+ *     * You can see accepted values in this function.
+ * - rewrite - Triggers the handling of rewrites for this taxonomy. Defaults to true, using $taxonomy 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 $taxonomy key
+ *         * 'with_front' => bool Should the permastruct be prepended with WP_Rewrite::$front. Defaults to true.
+ *         * 'hierarchical' => bool Either hierarchical rewrite tag or not. Defaults to false.
+ *         * 'ep_mask' => const Assign an endpoint mask.
+ *             * If not specified, defaults to EP_NONE.
+ * - query_var - Sets the query_var key for this taxonomy. Defaults to $taxonomy key
+ *     * If false, a taxonomy cannot be loaded at ?{query_var}={term_slug}
+ *     * If specified as a string, the query ?{query_var_string}={term_slug} will be valid.
+ * - update_count_callback - Works much like a hook, in that it will be called when the count is updated.
+ *     * Defaults to _update_post_term_count() for taxonomies attached to post types, which then confirms
+ *       that the objects are published before counting them.
+ *     * Defaults to _update_generic_term_count() for taxonomies attached to other object types, such as links.
+ * - _builtin - true if this taxonomy is a native or "built-in" taxonomy. THIS IS FOR INTERNAL USE ONLY!
  *
  *
- * hierarchical - has some defined purpose at other parts of the API and is a
- * boolean value.
- *
- * update_count_callback - works much like a hook, in that it will be called when the count is updated.
- *     Defaults to _update_post_term_count() for taxonomies attached to post types, which then confirms
- *     that the objects are published before counting them.
- *     Defaults to _update_generic_term_count() for taxonomies attached to other object types, such as links.
- *
- * rewrite - false to prevent rewrite, or array('slug'=>$slug) to customize
- * permastruct; default will use $taxonomy as slug.
- *
- * query_var - false to prevent queries, or string to customize query var
- * (?$query_var=$term); default will use $taxonomy as query var.
- *
- * public - If the taxonomy should be publicly queryable; //@TODO not implemented.
- * defaults to true.
- *
- * show_ui - If the WordPress UI admin tags UI should apply to this taxonomy;
- * defaults to public.
- *
- * show_in_nav_menus - true makes this taxonomy available for selection in navigation menus.
- * Defaults to public.
- *
- * show_tagcloud - false to prevent the taxonomy being listed in the Tag Cloud Widget;
- * defaults to show_ui which defaults to public.
- *
- * labels - An array of labels for this taxonomy. You can see accepted values in {@link get_taxonomy_labels()}. By default tag labels are used for non-hierarchical types and category labels for hierarchical ones.
- *
- * @package WordPress
- * @subpackage Taxonomy
  * @since 2.3.0
  * @uses $wp_taxonomies Inserts new taxonomy object into the list
  * @uses $wp Adds query vars
  *
  * @since 2.3.0
  * @uses $wp_taxonomies Inserts new taxonomy object into the list
  * @uses $wp Adds query vars
  *
- * @param string $taxonomy Name of taxonomy object
+ * @param string $taxonomy Taxonomy key, must not exceed 32 characters.
  * @param array|string $object_type Name of the object type for the taxonomy object.
  * @param array|string $object_type Name of the object type for the taxonomy object.
- * @param array|string $args See above description for the two keys values.
+ * @param array|string $args See optional args description above.
  * @return null|WP_Error WP_Error if errors, otherwise null.
  */
 function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
        global $wp_taxonomies, $wp;
 
  * @return null|WP_Error WP_Error if errors, otherwise null.
  */
 function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
        global $wp_taxonomies, $wp;
 
-       if ( ! is_array($wp_taxonomies) )
+       if ( ! is_array( $wp_taxonomies ) )
                $wp_taxonomies = array();
 
        $defaults = array(
                $wp_taxonomies = array();
 
        $defaults = array(
-               'hierarchical' => false,
+               'labels'                => array(),
+               'description'           => '',
+               'public'                => true,
+               'hierarchical'          => false,
+               'show_ui'               => null,
+               'show_in_menu'          => null,
+               'show_in_nav_menus'     => null,
+               'show_tagcloud'         => null,
+               'meta_box_cb'           => null,
+               'capabilities'          => array(),
+               'rewrite'               => true,
+               'query_var'             => $taxonomy,
                'update_count_callback' => '',
                'update_count_callback' => '',
-               'rewrite' => true,
-               'query_var' => $taxonomy,
-               'public' => true,
-               'show_ui' => null,
-               'show_tagcloud' => null,
-               '_builtin' => false,
-               'labels' => array(),
-               'capabilities' => array(),
-               'show_in_nav_menus' => null,
+               '_builtin'              => false,
        );
        );
-       $args = wp_parse_args($args, $defaults);
+       $args = wp_parse_args( $args, $defaults );
 
        if ( strlen( $taxonomy ) > 32 )
                return new WP_Error( 'taxonomy_too_long', __( 'Taxonomies cannot exceed 32 characters in length' ) );
 
 
        if ( strlen( $taxonomy ) > 32 )
                return new WP_Error( 'taxonomy_too_long', __( 'Taxonomies cannot exceed 32 characters in length' ) );
 
-       if ( false !== $args['query_var'] && !empty($wp) ) {
+       if ( false !== $args['query_var'] && ! empty( $wp ) ) {
                if ( true === $args['query_var'] )
                        $args['query_var'] = $taxonomy;
                else
                if ( true === $args['query_var'] )
                        $args['query_var'] = $taxonomy;
                else
-                       $args['query_var'] = sanitize_title_with_dashes($args['query_var']);
-               $wp->add_query_var($args['query_var']);
+                       $args['query_var'] = sanitize_title_with_dashes( $args['query_var'] );
+               $wp->add_query_var( $args['query_var'] );
        }
 
        }
 
-       if ( false !== $args['rewrite'] && ( is_admin() || '' != get_option('permalink_structure') ) ) {
-               $args['rewrite'] = wp_parse_args($args['rewrite'], array(
-                       'slug' => sanitize_title_with_dashes($taxonomy),
+       if ( false !== $args['rewrite'] && ( is_admin() || '' != get_option( 'permalink_structure' ) ) ) {
+               $args['rewrite'] = wp_parse_args( $args['rewrite'], array(
                        'with_front' => true,
                        'hierarchical' => false,
                        'ep_mask' => EP_NONE,
                        'with_front' => true,
                        'hierarchical' => false,
                        'ep_mask' => EP_NONE,
-               ));
+               ) );
+
+               if ( empty( $args['rewrite']['slug'] ) )
+                       $args['rewrite']['slug'] = sanitize_title_with_dashes( $taxonomy );
 
                if ( $args['hierarchical'] && $args['rewrite']['hierarchical'] )
                        $tag = '(.+?)';
 
                if ( $args['hierarchical'] && $args['rewrite']['hierarchical'] )
                        $tag = '(.+?)';
@@ -360,14 +373,20 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
                add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%", $args['rewrite'] );
        }
 
                add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%", $args['rewrite'] );
        }
 
-       if ( is_null($args['show_ui']) )
+       // If not set, default to the setting for public.
+       if ( null === $args['show_ui'] )
                $args['show_ui'] = $args['public'];
 
                $args['show_ui'] = $args['public'];
 
-       // Whether to show this type in nav-menus.php. Defaults to the setting for public.
+       // If not set, default to the setting for show_ui.
+       if ( null === $args['show_in_menu' ] || ! $args['show_ui'] )
+               $args['show_in_menu' ] = $args['show_ui'];
+
+       // If not set, default to the setting for public.
        if ( null === $args['show_in_nav_menus'] )
                $args['show_in_nav_menus'] = $args['public'];
 
        if ( null === $args['show_in_nav_menus'] )
                $args['show_in_nav_menus'] = $args['public'];
 
-       if ( is_null($args['show_tagcloud']) )
+       // If not set, default to the setting for show_ui.
+       if ( null === $args['show_tagcloud'] )
                $args['show_tagcloud'] = $args['show_ui'];
 
        $default_caps = array(
                $args['show_tagcloud'] = $args['show_ui'];
 
        $default_caps = array(
@@ -380,15 +399,23 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
        unset( $args['capabilities'] );
 
        $args['name'] = $taxonomy;
        unset( $args['capabilities'] );
 
        $args['name'] = $taxonomy;
-       $args['object_type'] =  array_unique( (array)$object_type );
+       $args['object_type'] = array_unique( (array) $object_type );
 
        $args['labels'] = get_taxonomy_labels( (object) $args );
        $args['label'] = $args['labels']->name;
 
 
        $args['labels'] = get_taxonomy_labels( (object) $args );
        $args['label'] = $args['labels']->name;
 
-       $wp_taxonomies[$taxonomy] = (object) $args;
+       // If not set, use the default meta box
+       if ( null === $args['meta_box_cb'] ) {
+               if ( $args['hierarchical'] )
+                       $args['meta_box_cb'] = 'post_categories_meta_box';
+               else
+                       $args['meta_box_cb'] = 'post_tags_meta_box';
+       }
+
+       $wp_taxonomies[ $taxonomy ] = (object) $args;
 
        // register callback handling for metabox
 
        // register callback handling for metabox
-       add_filter('wp_ajax_add-' . $taxonomy, '_wp_ajax_add_hierarchical_term');
+       add_filter( 'wp_ajax_add-' . $taxonomy, '_wp_ajax_add_hierarchical_term' );
 
        do_action( 'registered_taxonomy', $taxonomy, $object_type, $args );
 }
 
        do_action( 'registered_taxonomy', $taxonomy, $object_type, $args );
 }
@@ -422,6 +449,8 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
  */
 
 function get_taxonomy_labels( $tax ) {
  */
 
 function get_taxonomy_labels( $tax ) {
+       $tax->labels = (array) $tax->labels;
+
        if ( isset( $tax->helps ) && empty( $tax->labels['separate_items_with_commas'] ) )
                $tax->labels['separate_items_with_commas'] = $tax->helps;
 
        if ( isset( $tax->helps ) && empty( $tax->labels['separate_items_with_commas'] ) )
                $tax->labels['separate_items_with_commas'] = $tax->helps;
 
@@ -478,6 +507,32 @@ function register_taxonomy_for_object_type( $taxonomy, $object_type) {
        return true;
 }
 
        return true;
 }
 
+/**
+ * Remove an already registered taxonomy from an object type.
+ *
+ * @since 3.7.0
+ *
+ * @param string $taxonomy    Name of taxonomy object.
+ * @param string $object_type Name of the object type.
+ * @return bool True if successful, false if not.
+ */
+function unregister_taxonomy_for_object_type( $taxonomy, $object_type ) {
+       global $wp_taxonomies;
+
+       if ( ! isset( $wp_taxonomies[ $taxonomy ] ) )
+               return false;
+
+       if ( ! get_post_type_object( $object_type ) )
+               return false;
+
+       $key = array_search( $object_type, $wp_taxonomies[ $taxonomy ]->object_type, true );
+       if ( false === $key )
+               return false;
+
+       unset( $wp_taxonomies[ $taxonomy ]->object_type[ $key ] );
+       return true;
+}
+
 //
 // Term API
 //
 //
 // Term API
 //
@@ -940,7 +995,7 @@ function get_term($term, $taxonomy, $output = OBJECT, $filter = 'raw') {
  * @uses sanitize_term() Cleanses the term based on $filter context before returning.
  * @see sanitize_term_field() The $context param lists the available values for get_term_by() $filter param.
  *
  * @uses sanitize_term() Cleanses the term based on $filter context before returning.
  * @see sanitize_term_field() The $context param lists the available values for get_term_by() $filter param.
  *
- * @param string $field Either 'slug', 'name', or 'id'
+ * @param string $field Either 'slug', 'name', 'id' (term_id), or 'term_taxonomy_id'
  * @param string|int $value Search for this term value
  * @param string $taxonomy Taxonomy Name
  * @param string $output Constant OBJECT, ARRAY_A, or ARRAY_N
  * @param string|int $value Search for this term value
  * @param string $taxonomy Taxonomy Name
  * @param string $output Constant OBJECT, ARRAY_A, or ARRAY_N
@@ -962,6 +1017,9 @@ function get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = 'raw
                // Assume already escaped
                $value = wp_unslash($value);
                $field = 't.name';
                // Assume already escaped
                $value = wp_unslash($value);
                $field = 't.name';
+       } else if ( 'term_taxonomy_id' == $field ) {
+               $value = (int) $value;
+               $field = 'tt.term_taxonomy_id';
        } else {
                $term = get_term( (int) $value, $taxonomy, $output, $filter);
                if ( is_wp_error( $term ) )
        } else {
                $term = get_term( (int) $value, $taxonomy, $output, $filter);
                if ( is_wp_error( $term ) )
@@ -1152,9 +1210,12 @@ function get_term_to_edit( $id, $taxonomy ) {
  * search - Returned terms' names will contain the value of 'search',
  * case-insensitive. Default is an empty string.
  *
  * search - Returned terms' names will contain the value of 'search',
  * case-insensitive. Default is an empty string.
  *
- * name__like - Returned terms' names will begin with the value of 'name__like',
+ * name__like - Returned terms' names will contain the value of 'name__like',
  * case-insensitive. Default is empty string.
  *
  * 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 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.
  *
@@ -1208,12 +1269,12 @@ function get_terms($taxonomies, $args = '') {
        $defaults = array('orderby' => 'name', 'order' => 'ASC',
                'hide_empty' => true, 'exclude' => array(), 'exclude_tree' => array(), 'include' => array(),
                'number' => '', 'fields' => 'all', 'slug' => '', 'parent' => '',
        $defaults = array('orderby' => 'name', 'order' => 'ASC',
                'hide_empty' => true, 'exclude' => array(), 'exclude_tree' => array(), 'include' => array(),
                'number' => '', 'fields' => 'all', 'slug' => '', 'parent' => '',
-               'hierarchical' => true, 'child_of' => 0, 'get' => '', 'name__like' => '',
+               'hierarchical' => true, 'child_of' => 0, 'get' => '', 'name__like' => '', 'description__like' => '',
                'pad_counts' => false, 'offset' => '', 'search' => '', 'cache_domain' => 'core' );
        $args = wp_parse_args( $args, $defaults );
        $args['number'] = absint( $args['number'] );
        $args['offset'] = absint( $args['offset'] );
                'pad_counts' => false, 'offset' => '', 'search' => '', 'cache_domain' => 'core' );
        $args = wp_parse_args( $args, $defaults );
        $args['number'] = absint( $args['number'] );
        $args['offset'] = absint( $args['offset'] );
-       if ( !$single_taxonomy || !is_taxonomy_hierarchical($taxonomies[0]) ||
+       if ( !$single_taxonomy || ! is_taxonomy_hierarchical( reset( $taxonomies ) ) ||
                '' !== $args['parent'] ) {
                $args['child_of'] = 0;
                $args['hierarchical'] = false;
                '' !== $args['parent'] ) {
                $args['child_of'] = 0;
                $args['hierarchical'] = false;
@@ -1232,14 +1293,14 @@ function get_terms($taxonomies, $args = '') {
        extract($args, EXTR_SKIP);
 
        if ( $child_of ) {
        extract($args, EXTR_SKIP);
 
        if ( $child_of ) {
-               $hierarchy = _get_term_hierarchy($taxonomies[0]);
-               if ( !isset($hierarchy[$child_of]) )
+               $hierarchy = _get_term_hierarchy( reset( $taxonomies ) );
+               if ( ! isset( $hierarchy[ $child_of ] ) )
                        return $empty_array;
        }
 
        if ( $parent ) {
                        return $empty_array;
        }
 
        if ( $parent ) {
-               $hierarchy = _get_term_hierarchy($taxonomies[0]);
-               if ( !isset($hierarchy[$parent]) )
+               $hierarchy = _get_term_hierarchy( reset( $taxonomies ) );
+               if ( ! isset( $hierarchy[ $parent ] ) )
                        return $empty_array;
        }
 
                        return $empty_array;
        }
 
@@ -1274,7 +1335,7 @@ function get_terms($taxonomies, $args = '') {
        else
                $orderby = 't.name';
 
        else
                $orderby = 't.name';
 
-       $orderby = apply_filters( 'get_terms_orderby', $orderby, $args );
+       $orderby = apply_filters( 'get_terms_orderby', $orderby, $args, $taxonomies );
 
        if ( !empty($orderby) )
                $orderby = "ORDER BY $orderby";
 
        if ( !empty($orderby) )
                $orderby = "ORDER BY $orderby";
@@ -1287,51 +1348,45 @@ function get_terms($taxonomies, $args = '') {
 
        $where = "tt.taxonomy IN ('" . implode("', '", $taxonomies) . "')";
        $inclusions = '';
 
        $where = "tt.taxonomy IN ('" . implode("', '", $taxonomies) . "')";
        $inclusions = '';
-       if ( !empty($include) ) {
+       if ( ! empty( $include ) ) {
                $exclude = '';
                $exclude_tree = '';
                $exclude = '';
                $exclude_tree = '';
-               $interms = wp_parse_id_list($include);
-               foreach ( $interms as $interm ) {
-                       if ( empty($inclusions) )
-                               $inclusions = ' AND ( t.term_id = ' . intval($interm) . ' ';
-                       else
-                               $inclusions .= ' OR t.term_id = ' . intval($interm) . ' ';
-               }
+               $inclusions = implode( ',', wp_parse_id_list( $include ) );
        }
 
        }
 
-       if ( !empty($inclusions) )
-               $inclusions .= ')';
-       $where .= $inclusions;
+       if ( ! empty( $inclusions ) ) {
+               $inclusions = ' AND t.term_id IN ( ' . $inclusions . ' )';
+               $where .= $inclusions;
+       }
 
        $exclusions = '';
 
        $exclusions = '';
-       if ( !empty( $exclude_tree ) ) {
-               $excluded_trunks = wp_parse_id_list($exclude_tree);
-               foreach ( $excluded_trunks as $extrunk ) {
-                       $excluded_children = (array) get_terms($taxonomies[0], array('child_of' => intval($extrunk), 'fields' => 'ids', 'hide_empty' => 0));
-                       $excluded_children[] = $extrunk;
-                       foreach( $excluded_children as $exterm ) {
-                               if ( empty($exclusions) )
-                                       $exclusions = ' AND ( t.term_id <> ' . intval($exterm) . ' ';
-                               else
-                                       $exclusions .= ' AND t.term_id <> ' . intval($exterm) . ' ';
-                       }
+       if ( ! empty( $exclude_tree ) ) {
+               $exclude_tree = wp_parse_id_list( $exclude_tree );
+               $excluded_children = array();
+               foreach ( $exclude_tree as $extrunk ) {
+                       $excluded_children = array_merge(
+                               $excluded_children,
+                               (array) get_terms( $taxonomies[0], array( 'child_of' => intval( $extrunk ), 'fields' => 'ids', 'hide_empty' => 0 ) )
+                       );
                }
                }
+               $exclusions = implode( ',', array_map( 'intval', $excluded_children ) );
        }
 
        }
 
-       if ( !empty($exclude) ) {
-               $exterms = wp_parse_id_list($exclude);
-               foreach ( $exterms as $exterm ) {
-                       if ( empty($exclusions) )
-                               $exclusions = ' AND ( t.term_id <> ' . intval($exterm) . ' ';
-                       else
-                               $exclusions .= ' AND t.term_id <> ' . intval($exterm) . ' ';
-               }
+       if ( ! empty( $exclude ) ) {
+               $exterms = wp_parse_id_list( $exclude );
+               if ( empty( $exclusions ) )
+                       $exclusions = implode( ',', $exterms );
+               else
+                       $exclusions .= ', ' . implode( ',', $exterms );
        }
 
        }
 
-       if ( !empty($exclusions) )
-               $exclusions .= ')';
-       $exclusions = apply_filters('list_terms_exclusions', $exclusions, $args );
-       $where .= $exclusions;
+       if ( ! empty( $exclusions ) )
+               $exclusions = ' AND t.term_id NOT IN (' . $exclusions . ')';
+
+       $exclusions = apply_filters( 'list_terms_exclusions', $exclusions, $args, $taxonomies );
+
+       if ( ! empty( $exclusions ) )
+               $where .= $exclusions;
 
        if ( !empty($slug) ) {
                $slug = sanitize_title($slug);
 
        if ( !empty($slug) ) {
                $slug = sanitize_title($slug);
@@ -1340,7 +1395,12 @@ function get_terms($taxonomies, $args = '') {
 
        if ( !empty($name__like) ) {
                $name__like = like_escape( $name__like );
 
        if ( !empty($name__like) ) {
                $name__like = like_escape( $name__like );
-               $where .= $wpdb->prepare( " AND t.name LIKE %s", $name__like . '%' );
+               $where .= $wpdb->prepare( " AND t.name LIKE %s", '%' . $name__like . '%' );
+       }
+
+       if ( ! empty( $description__like ) ) {
+               $description__like = like_escape( $description__like );
+               $where .= $wpdb->prepare( " AND tt.description LIKE %s", '%' . $description__like . '%' );
        }
 
        if ( '' !== $parent ) {
        }
 
        if ( '' !== $parent ) {
@@ -1348,6 +1408,9 @@ function get_terms($taxonomies, $args = '') {
                $where .= " AND tt.parent = '$parent'";
        }
 
                $where .= " AND tt.parent = '$parent'";
        }
 
+       if ( 'count' == $fields )
+               $hierarchical = false;
+
        if ( $hide_empty && !$hierarchical )
                $where .= ' AND tt.count > 0';
 
        if ( $hide_empty && !$hierarchical )
                $where .= ' AND tt.count > 0';
 
@@ -1361,32 +1424,39 @@ function get_terms($taxonomies, $args = '') {
                $limits = '';
        }
 
                $limits = '';
        }
 
-       if ( !empty($search) ) {
-               $search = like_escape($search);
-               $where .= $wpdb->prepare( " AND (t.name LIKE %s)", '%' . $search . '%');
+       if ( ! empty( $search ) ) {
+               $search = like_escape( $search );
+               $where .= $wpdb->prepare( ' AND ((t.name LIKE %s) OR (t.slug LIKE %s))', '%' . $search . '%', '%' . $search . '%' );
        }
 
        $selects = array();
        switch ( $fields ) {
                case 'all':
        }
 
        $selects = array();
        switch ( $fields ) {
                case 'all':
-                       $selects = array('t.*', 'tt.*');
+                       $selects = array( 't.*', 'tt.*' );
                        break;
                case 'ids':
                case 'id=>parent':
                        break;
                case 'ids':
                case 'id=>parent':
-                       $selects = array('t.term_id', 'tt.parent', 'tt.count');
+                       $selects = array( 't.term_id', 'tt.parent', 'tt.count' );
                        break;
                case 'names':
                        break;
                case 'names':
-                       $selects = array('t.term_id', 'tt.parent', 'tt.count', 't.name');
+                       $selects = array( 't.term_id', 'tt.parent', 'tt.count', 't.name' );
                        break;
                case 'count':
                        $orderby = '';
                        $order = '';
                        break;
                case 'count':
                        $orderby = '';
                        $order = '';
-                       $selects = array('COUNT(*)');
+                       $selects = array( 'COUNT(*)' );
+                       break;
+               case 'id=>name':
+                       $selects = array( 't.term_id', 't.name' );
+                       break;
+               case 'id=>slug':
+                       $selects = array( 't.term_id', 't.slug' );
+                       break;
        }
 
        $_fields = $fields;
 
        }
 
        $_fields = $fields;
 
-       $fields = implode(', ', apply_filters( 'get_terms_fields', $selects, $args ));
+       $fields = implode( ', ', apply_filters( 'get_terms_fields', $selects, $args, $taxonomies ) );
 
        $join = "INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id";
 
 
        $join = "INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id";
 
@@ -1416,21 +1486,21 @@ function get_terms($taxonomies, $args = '') {
        }
 
        if ( $child_of ) {
        }
 
        if ( $child_of ) {
-               $children = _get_term_hierarchy($taxonomies[0]);
-               if ( ! empty($children) )
-                       $terms = _get_term_children($child_of, $terms, $taxonomies[0]);
+               $children = _get_term_hierarchy( reset( $taxonomies ) );
+               if ( ! empty( $children ) )
+                       $terms = _get_term_children( $child_of, $terms, reset( $taxonomies ) );
        }
 
        // Update term counts to include children.
        if ( $pad_counts && 'all' == $fields )
        }
 
        // Update term counts to include children.
        if ( $pad_counts && 'all' == $fields )
-               _pad_term_counts($terms, $taxonomies[0]);
+               _pad_term_counts( $terms, reset( $taxonomies ) );
 
        // Make sure we show empty categories that have children.
 
        // Make sure we show empty categories that have children.
-       if ( $hierarchical && $hide_empty && is_array($terms) ) {
+       if ( $hierarchical && $hide_empty && is_array( $terms ) ) {
                foreach ( $terms as $k => $term ) {
                        if ( ! $term->count ) {
                foreach ( $terms as $k => $term ) {
                        if ( ! $term->count ) {
-                               $children = _get_term_children($term->term_id, $terms, $taxonomies[0]);
-                               if ( is_array($children) )
+                               $children = _get_term_children( $term->term_id, $terms, reset( $taxonomies ) );
+                               if ( is_array( $children ) )
                                        foreach ( $children as $child )
                                                if ( $child->count )
                                                        continue 2;
                                        foreach ( $children as $child )
                                                if ( $child->count )
                                                        continue 2;
@@ -1440,29 +1510,35 @@ function get_terms($taxonomies, $args = '') {
                        }
                }
        }
                        }
                }
        }
-       reset ( $terms );
+       reset( $terms );
 
        $_terms = array();
        if ( 'id=>parent' == $fields ) {
 
        $_terms = array();
        if ( 'id=>parent' == $fields ) {
-               while ( $term = array_shift($terms) )
+               while ( $term = array_shift( $terms ) )
                        $_terms[$term->term_id] = $term->parent;
                        $_terms[$term->term_id] = $term->parent;
-               $terms = $_terms;
        } elseif ( 'ids' == $fields ) {
        } elseif ( 'ids' == $fields ) {
-               while ( $term = array_shift($terms) )
+               while ( $term = array_shift( $terms ) )
                        $_terms[] = $term->term_id;
                        $_terms[] = $term->term_id;
-               $terms = $_terms;
        } elseif ( 'names' == $fields ) {
        } elseif ( 'names' == $fields ) {
-               while ( $term = array_shift($terms) )
+               while ( $term = array_shift( $terms ) )
                        $_terms[] = $term->name;
                        $_terms[] = $term->name;
-               $terms = $_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 ) )
+                       $_terms[$term->term_id] = $term->slug;
        }
 
        }
 
+       if ( ! empty( $_terms ) )
+               $terms = $_terms;
+
        if ( $number && is_array( $terms ) && count( $terms ) > $number )
                $terms = array_slice( $terms, $offset, $number );
 
        wp_cache_add( $cache_key, $terms, 'terms', DAY_IN_SECONDS );
 
        if ( $number && is_array( $terms ) && count( $terms ) > $number )
                $terms = array_slice( $terms, $offset, $number );
 
        wp_cache_add( $cache_key, $terms, 'terms', DAY_IN_SECONDS );
 
-       $terms = apply_filters('get_terms', $terms, $taxonomies, $args);
+       $terms = apply_filters( 'get_terms', $terms, $taxonomies, $args );
        return $terms;
 }
 
        return $terms;
 }
 
@@ -1986,57 +2062,49 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
 }
 
 /**
 }
 
 /**
- * Adds a new term to the database. Optionally marks it as an alias of an existing term.
- *
- * Error handling is assigned for the nonexistence of the $taxonomy and $term
- * parameters before inserting. If both the term id and taxonomy exist
- * previously, then an array will be returned that contains the term id and the
- * contents of what is returned. The keys of the array are 'term_id' and
- * 'term_taxonomy_id' containing numeric values.
+ * Add a new term to the database.
  *
  *
- * It is assumed that the term does not yet exist or the above will apply. The
- * term will be first added to the term table and then related to the taxonomy
- * if everything is well. If everything is correct, then several actions will be
- * run prior to a filter and then several actions will be run after the filter
- * is run.
+ * A non-existent term is inserted in the following sequence:
+ * 1. The term is added to the term table, then related to the taxonomy.
+ * 2. If everything is correct, several actions are fired.
+ * 3. The 'term_id_filter' is evaluated.
+ * 4. The term cache is cleaned.
+ * 5. Several more actions are fired.
+ * 6. An array is returned containing the term_id and term_taxonomy_id.
  *
  *
- * The arguments decide how the term is handled based on the $args parameter.
- * The following is a list of the available overrides and the defaults.
+ * If the 'slug' argument is not empty, then it is checked to see if the term
+ * is invalid. If it is not a valid, existing term, it is added and the term_id
+ * is given.
  *
  *
- * 'alias_of'. There is no default, but if added, expected is the slug that the
- * term will be an alias of. Expected to be a string.
- *
- * 'description'. There is no default. If exists, will be added to the database
- * along with the term. Expected to be a string.
- *
- * 'parent'. Expected to be numeric and default is 0 (zero). Will assign value
- * of 'parent' to the term.
- *
- * 'slug'. Expected to be a string. There is no default.
+ * If the taxonomy is hierarchical, and the 'parent' argument is not empty,
+ * the term is inserted and the term_id will be given.
+
+ * Error handling:
+ * If $taxonomy does not exist or $term is empty,
+ * a WP_Error object will be returned.
  *
  *
- * If 'slug' argument exists then the slug will be checked to see if it is not
- * a valid term. If that check succeeds (it is not a valid term), then it is
- * added and the term id is given. If it fails, then a check is made to whether
- * the taxonomy is hierarchical and the parent argument is not empty. If the
- * second check succeeds, the term will be inserted and the term id will be
- * given.
+ * If the term already exists on the same hierarchical level,
+ * or the term slug and name are not unique, a WP_Error object will be returned.
  *
  *
- * @package WordPress
- * @subpackage Taxonomy
+ * @global wpdb $wpdb The WordPress database object.
+
  * @since 2.3.0
  * @since 2.3.0
- * @uses $wpdb
  *
  *
- * @uses apply_filters() Calls 'pre_insert_term' hook with term and taxonomy as parameters.
- * @uses do_action() Calls 'create_term' hook with the term id and taxonomy id as parameters.
- * @uses do_action() Calls 'create_$taxonomy' hook with term id and taxonomy id as parameters.
- * @uses apply_filters() Calls 'term_id_filter' hook with term id and taxonomy id as parameters.
- * @uses do_action() Calls 'created_term' hook with the term id and taxonomy id as parameters.
- * @uses do_action() Calls 'created_$taxonomy' hook with term id and taxonomy id as parameters.
- *
- * @param string $term The term to add or update.
- * @param string $taxonomy The taxonomy to which to add the term
- * @param array|string $args Change the values of the inserted term
- * @return array|WP_Error The Term ID and Term Taxonomy ID
+ * @param string       $term     The term to add or update.
+ * @param string       $taxonomy The taxonomy to which to add the term
+ * @param array|string $args {
+ *     Arguments to change values of the inserted term.
+ *
+ *     @type string 'alias_of'    Slug of the term to make this term an alias of.
+ *                                Default empty string. Accepts a term slug.
+ *     @type string 'description' The term description.
+ *                                Default empty string.
+ *     @type int    'parent'      The id of the parent term.
+ *                                Default 0.
+ *     @type string 'slug'        The term slug to use.
+ *                                Default empty string.
+ * }
+ * @return array|WP_Error An array containing the term_id and term_taxonomy_id, WP_Error otherwise.
  */
 function wp_insert_term( $term, $taxonomy, $args = array() ) {
        global $wpdb;
  */
 function wp_insert_term( $term, $taxonomy, $args = array() ) {
        global $wpdb;
@@ -2077,9 +2145,9 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
                } else {
                        // The alias isn't in a group, so let's create a new one and firstly add the alias term to it.
                        $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms") + 1;
                } else {
                        // The alias isn't in a group, so let's create a new one and firstly add the alias term to it.
                        $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms") + 1;
-                       do_action( 'edit_terms', $alias->term_id );
+                       do_action( 'edit_terms', $alias->term_id, $taxonomy );
                        $wpdb->update($wpdb->terms, compact('term_group'), array('term_id' => $alias->term_id) );
                        $wpdb->update($wpdb->terms, compact('term_group'), array('term_id' => $alias->term_id) );
-                       do_action( 'edited_terms', $alias->term_id );
+                       do_action( 'edited_terms', $alias->term_id, $taxonomy );
                }
        }
 
                }
        }
 
@@ -2118,9 +2186,9 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
        // Seems unreachable, However, Is used in the case that a term name is provided, which sanitizes to an empty string.
        if ( empty($slug) ) {
                $slug = sanitize_title($slug, $term_id);
        // Seems unreachable, However, Is used in the case that a term name is provided, which sanitizes to an empty string.
        if ( empty($slug) ) {
                $slug = sanitize_title($slug, $term_id);
-               do_action( 'edit_terms', $term_id );
+               do_action( 'edit_terms', $term_id, $taxonomy );
                $wpdb->update( $wpdb->terms, compact( 'slug' ), compact( 'term_id' ) );
                $wpdb->update( $wpdb->terms, compact( 'slug' ), compact( 'term_id' ) );
-               do_action( 'edited_terms', $term_id );
+               do_action( 'edited_terms', $term_id, $taxonomy );
        }
 
        $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 ) );
        }
 
        $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 ) );
@@ -2377,8 +2445,8 @@ function wp_unique_term_slug($slug, $term) {
        }
 
        // If we didn't get a unique slug, try appending a number to make it unique.
        }
 
        // If we didn't get a unique slug, try appending a number to make it unique.
-       if ( !empty($args['term_id']) )
-               $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s AND term_id != %d", $slug, $args['term_id'] );
+       if ( ! empty( $term->term_id ) )
+               $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s AND term_id != %d", $slug, $term->term_id );
        else
                $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $slug );
 
        else
                $query = $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $slug );
 
@@ -2476,9 +2544,9 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
                } else {
                        // The alias isn't in a group, so let's create a new one and firstly add the alias term to it.
                        $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms") + 1;
                } else {
                        // The alias isn't in a group, so let's create a new one and firstly add the alias term to it.
                        $term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms") + 1;
-                       do_action( 'edit_terms', $alias->term_id );
+                       do_action( 'edit_terms', $alias->term_id, $taxonomy );
                        $wpdb->update( $wpdb->terms, compact('term_group'), array( 'term_id' => $alias->term_id ) );
                        $wpdb->update( $wpdb->terms, compact('term_group'), array( 'term_id' => $alias->term_id ) );
-                       do_action( 'edited_terms', $alias->term_id );
+                       do_action( 'edited_terms', $alias->term_id, $taxonomy );
                }
        }
 
                }
        }
 
@@ -2495,13 +2563,13 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
                else
                        return new WP_Error('duplicate_term_slug', sprintf(__('The slug &#8220;%s&#8221; is already in use by another term'), $slug));
        }
                else
                        return new WP_Error('duplicate_term_slug', sprintf(__('The slug &#8220;%s&#8221; is already in use by another term'), $slug));
        }
-       do_action( 'edit_terms', $term_id );
+       do_action( 'edit_terms', $term_id, $taxonomy );
        $wpdb->update($wpdb->terms, compact( 'name', 'slug', 'term_group' ), compact( 'term_id' ) );
        if ( empty($slug) ) {
                $slug = sanitize_title($name, $term_id);
                $wpdb->update( $wpdb->terms, compact( 'slug' ), compact( 'term_id' ) );
        }
        $wpdb->update($wpdb->terms, compact( 'name', 'slug', 'term_group' ), compact( 'term_id' ) );
        if ( empty($slug) ) {
                $slug = sanitize_title($name, $term_id);
                $wpdb->update( $wpdb->terms, compact( 'slug' ), compact( 'term_id' ) );
        }
-       do_action( 'edited_terms', $term_id );
+       do_action( 'edited_terms', $term_id, $taxonomy );
 
        $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) );
        do_action( 'edit_term_taxonomy', $tt_id, $taxonomy );
 
        $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) );
        do_action( 'edit_term_taxonomy', $tt_id, $taxonomy );
index 7051f3452b67488573eafd582d4c35e36cfc4a83..01287bf7d398abcb180ebc96b798fd296b89ff66 100644 (file)
@@ -4,15 +4,34 @@
  * @package WordPress
  */
 if ( defined('WP_USE_THEMES') && WP_USE_THEMES )
  * @package WordPress
  */
 if ( defined('WP_USE_THEMES') && WP_USE_THEMES )
-       do_action('template_redirect');
+       /**
+        * Fires before determining which template to load.
+        *
+        * @since 1.5.2
+        */
+       do_action( 'template_redirect' );
 
 
-// Halt template load for HEAD requests. Performance bump. See #14348
+/**
+ * Filter whether to allow 'HEAD' requests to generate content.
+ *
+ * Provides a significant performance bump by exiting before the page
+ * content loads for 'HEAD' requests. See #14348.
+ *
+ * @since 3.5.0
+ *
+ * @param bool $exit Whether to exit without generating any content for 'HEAD' requests. Default true.
+ */
 if ( 'HEAD' === $_SERVER['REQUEST_METHOD'] && apply_filters( 'exit_on_http_head', true ) )
        exit();
 
 // Process feeds and trackbacks even if not using themes.
 if ( is_robots() ) :
 if ( 'HEAD' === $_SERVER['REQUEST_METHOD'] && apply_filters( 'exit_on_http_head', true ) )
        exit();
 
 // Process feeds and trackbacks even if not using themes.
 if ( is_robots() ) :
-       do_action('do_robots');
+       /**
+        * Fired when the template loader determines a robots.txt request.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'do_robots' );
        return;
 elseif ( is_feed() ) :
        do_feed();
        return;
 elseif ( is_feed() ) :
        do_feed();
@@ -26,9 +45,10 @@ if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
        $template = false;
        if     ( is_404()            && $template = get_404_template()            ) :
        elseif ( is_search()         && $template = get_search_template()         ) :
        $template = false;
        if     ( is_404()            && $template = get_404_template()            ) :
        elseif ( is_search()         && $template = get_search_template()         ) :
-       elseif ( is_tax()            && $template = get_taxonomy_template()       ) :
        elseif ( is_front_page()     && $template = get_front_page_template()     ) :
        elseif ( is_home()           && $template = get_home_template()           ) :
        elseif ( is_front_page()     && $template = get_front_page_template()     ) :
        elseif ( is_home()           && $template = get_home_template()           ) :
+       elseif ( is_post_type_archive() && $template = get_post_type_archive_template() ) :
+       elseif ( is_tax()            && $template = get_taxonomy_template()       ) :
        elseif ( is_attachment()     && $template = get_attachment_template()     ) :
                remove_filter('the_content', 'prepend_attachment');
        elseif ( is_single()         && $template = get_single_template()         ) :
        elseif ( is_attachment()     && $template = get_attachment_template()     ) :
                remove_filter('the_content', 'prepend_attachment');
        elseif ( is_single()         && $template = get_single_template()         ) :
@@ -43,6 +63,13 @@ if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
        else :
                $template = get_index_template();
        endif;
        else :
                $template = get_index_template();
        endif;
+       /**
+        * Filter the path of the current template before including it.
+        *
+        * @since 3.0.0
+        *
+        * @param string $template The path of the template to include.
+        */
        if ( $template = apply_filters( 'template_include', $template ) )
                include( $template );
        return;
        if ( $template = apply_filters( 'template_include', $template ) )
                include( $template );
        return;
index 5bee8ad52d17b0fe9ed4a55ea65037d0faf75089..c28899547885174d41cb663c404322acc64be786 100644 (file)
@@ -26,7 +26,19 @@ function get_query_template( $type, $templates = array() ) {
        if ( empty( $templates ) )
                $templates = array("{$type}.php");
 
        if ( empty( $templates ) )
                $templates = array("{$type}.php");
 
-       return apply_filters( "{$type}_template", locate_template( $templates ) );
+       $template = locate_template( $templates );
+       /**
+        * Filter the path of the queried template by type.
+        *
+        * The dynamic portion of the hook name, $type, refers to the filename
+        * -- minus the extension -- of the file to load. This hook also applies
+        * to various types of files loaded as part of the Template Hierarchy.
+        *
+        * @since 1.5.2
+        *
+        * @param string $template Path to the template. @see locate_template()
+        */
+       return apply_filters( "{$type}_template", $template );
 }
 
 /**
 }
 
 /**
@@ -72,6 +84,25 @@ function get_archive_template() {
        return get_query_template( 'archive', $templates );
 }
 
        return get_query_template( 'archive', $templates );
 }
 
+/**
+ * Retrieve path of post type archive template in current or parent template.
+ *
+ * @since 3.7.0
+ *
+ * @return string
+ */
+function get_post_type_archive_template() {
+       $post_type = get_query_var( 'post_type' );
+       if ( is_array( $post_type ) )
+               $post_type = reset( $post_type );
+
+       $obj = get_post_type_object( $post_type );
+       if ( ! $obj->has_archive )
+               return '';
+
+       return get_archive_template();
+}
+
 /**
  * Retrieve path of author template in current or parent template.
  *
 /**
  * Retrieve path of author template in current or parent template.
  *
@@ -84,7 +115,7 @@ function get_author_template() {
 
        $templates = array();
 
 
        $templates = array();
 
-       if ( $author ) {
+       if ( is_a( $author, 'WP_User' ) ) {
                $templates[] = "author-{$author->user_nicename}.php";
                $templates[] = "author-{$author->ID}.php";
        }
                $templates[] = "author-{$author->user_nicename}.php";
                $templates[] = "author-{$author->ID}.php";
        }
@@ -110,7 +141,7 @@ function get_category_template() {
 
        $templates = array();
 
 
        $templates = array();
 
-       if ( $category ) {
+       if ( ! empty( $category->slug ) ) {
                $templates[] = "category-{$category->slug}.php";
                $templates[] = "category-{$category->term_id}.php";
        }
                $templates[] = "category-{$category->slug}.php";
                $templates[] = "category-{$category->term_id}.php";
        }
@@ -136,7 +167,7 @@ function get_tag_template() {
 
        $templates = array();
 
 
        $templates = array();
 
-       if ( $tag ) {
+       if ( ! empty( $tag->slug ) ) {
                $templates[] = "tag-{$tag->slug}.php";
                $templates[] = "tag-{$tag->term_id}.php";
        }
                $templates[] = "tag-{$tag->slug}.php";
                $templates[] = "tag-{$tag->term_id}.php";
        }
@@ -167,7 +198,7 @@ function get_taxonomy_template() {
 
        $templates = array();
 
 
        $templates = array();
 
-       if ( $term ) {
+       if ( ! empty( $term->slug ) ) {
                $taxonomy = $term->taxonomy;
                $templates[] = "taxonomy-$taxonomy-{$term->slug}.php";
                $templates[] = "taxonomy-$taxonomy.php";
                $taxonomy = $term->taxonomy;
                $templates[] = "taxonomy-$taxonomy-{$term->slug}.php";
                $templates[] = "taxonomy-$taxonomy.php";
@@ -241,7 +272,8 @@ function get_page_template() {
        if ( ! $pagename && $id ) {
                // If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
                $post = get_queried_object();
        if ( ! $pagename && $id ) {
                // If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
                $post = get_queried_object();
-               $pagename = $post->post_name;
+               if ( $post )
+                       $pagename = $post->post_name;
        }
 
        $templates = array();
        }
 
        $templates = array();
@@ -290,7 +322,7 @@ function get_single_template() {
 
        $templates = array();
 
 
        $templates = array();
 
-       if ( $object )
+       if ( ! empty( $object->post_type ) )
                $templates[] = "single-{$object->post_type}.php";
        $templates[] = "single.php";
 
                $templates[] = "single-{$object->post_type}.php";
        $templates[] = "single.php";
 
@@ -321,10 +353,12 @@ function get_attachment_template() {
                if ( ! empty( $type ) ) {
                        if ( $template = get_query_template( $type[0] ) )
                                return $template;
                if ( ! empty( $type ) ) {
                        if ( $template = get_query_template( $type[0] ) )
                                return $template;
-                       elseif ( $template = get_query_template( $type[1] ) )
-                               return $template;
-                       elseif ( $template = get_query_template( "$type[0]_$type[1]" ) )
-                               return $template;
+                       elseif ( ! empty( $type[1] ) ) {
+                               if ( $template = get_query_template( $type[1] ) )
+                                       return $template;
+                               elseif ( $template = get_query_template( "$type[0]_$type[1]" ) )
+                                       return $template;
+                       }
                }
        }
 
                }
        }
 
index eb74834cd3cbee4686e1d03e6d42f315d88e0596..789742b23e823ba42ee45a1f05b21f399fe9a6b9 100644 (file)
@@ -66,7 +66,7 @@ if ( post_password_required($post) ) {  // and it doesn't match the cookie
 <h2><?php _e('Leave a comment'); ?></h2>
 <p><?php printf(__('Line and paragraph breaks automatic, e-mail address never displayed, <acronym title="Hypertext Markup Language">HTML</acronym> allowed: <code>%s</code>'), allowed_tags()); ?></p>
 
 <h2><?php _e('Leave a comment'); ?></h2>
 <p><?php printf(__('Line and paragraph breaks automatic, e-mail address never displayed, <acronym title="Hypertext Markup Language">HTML</acronym> allowed: <code>%s</code>'), allowed_tags()); ?></p>
 
-<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
+<form action="<?php echo site_url(); ?>/wp-comments-post.php" method="post" id="commentform">
 <?php if ( $user_ID ) : ?>
        <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 : ?>
 <?php if ( $user_ID ) : ?>
        <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 : ?>
index 75a85ed46e1c59149dd7b9b5154629962c8accb8..a1ae2c66e199920ac188f4f75b7fd00aeb276ce4 100644 (file)
@@ -65,7 +65,7 @@ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.
 <p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.'), wp_login_url( get_permalink() )); ?></p>
 <?php else : ?>
 
 <p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.'), wp_login_url( get_permalink() )); ?></p>
 <?php else : ?>
 
-<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
+<form action="<?php echo site_url(); ?>/wp-comments-post.php" method="post" id="commentform">
 
 <?php if ( is_user_logged_in() ) : ?>
 
 
 <?php if ( is_user_logged_in() ) : ?>
 
index b583f524212e66fa53209840649a149956ea4597..e12ac74dfb95a2ae1391ff73c86cb40133feeb19 100644 (file)
@@ -110,9 +110,11 @@ function wp_get_theme( $stylesheet = null, $theme_root = null ) {
  * Clears the cache held by get_theme_roots() and WP_Theme.
  *
  * @since 3.5.0
  * Clears the cache held by get_theme_roots() and WP_Theme.
  *
  * @since 3.5.0
+ * @param bool $clear_update_cache Whether to clear the Theme updates cache
  */
  */
-function wp_clean_themes_cache() {
-       delete_site_transient('update_themes');
+function wp_clean_themes_cache( $clear_update_cache = true ) {
+       if ( $clear_update_cache )
+               delete_site_transient( 'update_themes' );
        search_theme_directories( true );
        foreach ( wp_get_themes( array( 'errors' => null ) ) as $theme )
                $theme->cache_delete();
        search_theme_directories( true );
        foreach ( wp_get_themes( array( 'errors' => null ) ) as $theme )
                $theme->cache_delete();
@@ -373,8 +375,10 @@ function search_theme_directories( $force = false ) {
 
                // Start with directories in the root of the current theme directory.
                $dirs = @ scandir( $theme_root );
 
                // Start with directories in the root of the current theme directory.
                $dirs = @ scandir( $theme_root );
-               if ( ! $dirs )
-                       return false;
+               if ( ! $dirs ) {
+                       trigger_error( "$theme_root is not readable", E_USER_NOTICE );
+                       continue;
+               }
                foreach ( $dirs as $dir ) {
                        if ( ! is_dir( $theme_root . '/' . $dir ) || $dir[0] == '.' || $dir == 'CVS' )
                                continue;
                foreach ( $dirs as $dir ) {
                        if ( ! is_dir( $theme_root . '/' . $dir ) || $dir[0] == '.' || $dir == 'CVS' )
                                continue;
@@ -390,8 +394,10 @@ function search_theme_directories( $force = false ) {
                                // wp-content/themes/a-folder-of-themes/*
                                // wp-content/themes is $theme_root, a-folder-of-themes is $dir, then themes are $sub_dirs
                                $sub_dirs = @ scandir( $theme_root . '/' . $dir );
                                // wp-content/themes/a-folder-of-themes/*
                                // wp-content/themes is $theme_root, a-folder-of-themes is $dir, then themes are $sub_dirs
                                $sub_dirs = @ scandir( $theme_root . '/' . $dir );
-                               if ( ! $sub_dirs )
-                                       return false;
+                               if ( ! $sub_dirs ) {
+                                       trigger_error( "$theme_root/$dir is not readable", E_USER_NOTICE );
+                                       continue;
+                               }
                                foreach ( $sub_dirs as $sub_dir ) {
                                        if ( ! is_dir( $theme_root . '/' . $dir . '/' . $sub_dir ) || $dir[0] == '.' || $dir == 'CVS' )
                                                continue;
                                foreach ( $sub_dirs as $sub_dir ) {
                                        if ( ! is_dir( $theme_root . '/' . $dir . '/' . $sub_dir ) || $dir[0] == '.' || $dir == 'CVS' )
                                                continue;
@@ -643,7 +649,10 @@ function preview_theme_ob_filter_callback( $matches ) {
        )
                return $matches[1] . "#$matches[2] onclick=$matches[2]return false;" . $matches[4];
 
        )
                return $matches[1] . "#$matches[2] onclick=$matches[2]return false;" . $matches[4];
 
-       $link = add_query_arg( array( 'preview' => 1, 'template' => $_GET['template'], 'stylesheet' => @$_GET['stylesheet'], 'preview_iframe' => 1 ), $matches[3] );
+       $stylesheet = isset( $_GET['stylesheet'] ) ? $_GET['stylesheet'] : '';
+       $template   = isset( $_GET['template'] )   ? $_GET['template']   : '';
+
+       $link = add_query_arg( array( 'preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => 1 ), $matches[3] );
        if ( 0 === strpos($link, 'preview=1') )
                $link = "?$link";
        return $matches[1] . esc_attr( $link ) . $matches[4];
        if ( 0 === strpos($link, 'preview=1') )
                $link = "?$link";
        return $matches[1] . esc_attr( $link ) . $matches[4];
index 61d163aaf40ac68b06644e3bc0813167b1fa7726..9979ae994429d12605f68bd2a738abbb28b5a2ee 100644 (file)
  * @since 2.3.0
  * @uses $wp_version Used to check against the newest WordPress version.
  *
  * @since 2.3.0
  * @uses $wp_version Used to check against the newest WordPress version.
  *
+ * @param array $extra_stats Extra statistics to report to the WordPress.org API.
  * @return mixed Returns null if update is unsupported. Returns false if check is too soon.
  */
  * @return mixed Returns null if update is unsupported. Returns false if check is too soon.
  */
-function wp_version_check() {
+function wp_version_check( $extra_stats = array() ) {
        if ( defined('WP_INSTALLING') )
                return;
 
        if ( defined('WP_INSTALLING') )
                return;
 
@@ -28,6 +29,8 @@ function wp_version_check() {
        $php_version = phpversion();
 
        $current = get_site_transient( 'update_core' );
        $php_version = phpversion();
 
        $current = get_site_transient( 'update_core' );
+       $translations = wp_get_installed_translations( 'core' );
+
        if ( ! is_object($current) ) {
                $current = new stdClass;
                $current->updates = array();
        if ( ! is_object($current) ) {
                $current = new stdClass;
                $current->updates = array();
@@ -37,10 +40,18 @@ function wp_version_check() {
        // Wait 60 seconds between multiple version check requests
        $timeout = 60;
        $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
        // Wait 60 seconds between multiple version check requests
        $timeout = 60;
        $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
-       if ( $time_not_changed )
+       if ( $time_not_changed && empty( $extra_stats ) )
                return false;
 
                return false;
 
-       $locale = apply_filters( 'core_version_check_locale', get_locale() );
+       $locale = get_locale();
+       /**
+        * Filter the locale requested for WordPress core translations.
+        *
+        * @since 2.8.0
+        *
+        * @param string $locale Current locale.
+        */
+       $locale = apply_filters( 'core_version_check_locale', $locale );
 
        // Update last_checked for current to prevent multiple blocking requests if request hangs
        $current->last_checked = time();
 
        // Update last_checked for current to prevent multiple blocking requests if request hangs
        $current->last_checked = time();
@@ -72,10 +83,19 @@ function wp_version_check() {
                'local_package'     => isset( $wp_local_package ) ? $wp_local_package : '',
                'blogs'             => $num_blogs,
                'users'             => $user_count,
                'local_package'     => isset( $wp_local_package ) ? $wp_local_package : '',
                'blogs'             => $num_blogs,
                'users'             => $user_count,
-               'multisite_enabled' => $multisite_enabled
+               'multisite_enabled' => $multisite_enabled,
+       );
+
+       $post_body = array(
+               'translations' => json_encode( $translations ),
        );
 
        );
 
-       $url = 'http://api.wordpress.org/core/version-check/1.6/?' . http_build_query( $query, null, '&' );
+       if ( $extra_stats )
+               $post_body = array_merge( $post_body, $extra_stats );
+
+       $url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' );
+       if ( wp_http_supports( array( 'ssl' ) ) )
+               $url = set_url_scheme( $url, 'https' );
 
        $options = array(
                'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ),
 
        $options = array(
                'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ),
@@ -83,16 +103,17 @@ function wp_version_check() {
                'headers' => array(
                        'wp_install' => $wp_install,
                        'wp_blog' => home_url( '/' )
                'headers' => array(
                        'wp_install' => $wp_install,
                        'wp_blog' => home_url( '/' )
-               )
+               ),
+               'body' => $post_body,
        );
 
        );
 
-       $response = wp_remote_get($url, $options);
+       $response = wp_remote_post( $url, $options );
 
        if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
                return false;
 
        $body = trim( wp_remote_retrieve_body( $response ) );
 
        if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
                return false;
 
        $body = trim( wp_remote_retrieve_body( $response ) );
-       $body = maybe_unserialize( $body );
+       $body = json_decode( $body, true );
 
        if ( ! is_array( $body ) || ! isset( $body['offers'] ) )
                return false;
 
        if ( ! is_array( $body ) || ! isset( $body['offers'] ) )
                return false;
@@ -103,20 +124,24 @@ function wp_version_check() {
                foreach ( $offer as $offer_key => $value ) {
                        if ( 'packages' == $offer_key )
                                $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ),
                foreach ( $offer as $offer_key => $value ) {
                        if ( 'packages' == $offer_key )
                                $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ),
-                                       array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial' ), '' ) );
+                                       array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial', 'rollback' ), '' ) );
                        elseif ( 'download' == $offer_key )
                                $offer['download'] = esc_url( $value );
                        else
                                $offer[ $offer_key ] = esc_html( $value );
                }
                $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale',
                        elseif ( 'download' == $offer_key )
                                $offer['download'] = esc_url( $value );
                        else
                                $offer[ $offer_key ] = esc_html( $value );
                }
                $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale',
-                       'packages', 'current', 'php_version', 'mysql_version', 'new_bundled', 'partial_version' ), '' ) );
+                       'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email' ), '' ) );
        }
 
        $updates = new stdClass();
        $updates->updates = $offers;
        $updates->last_checked = time();
        $updates->version_checked = $wp_version;
        }
 
        $updates = new stdClass();
        $updates->updates = $offers;
        $updates->last_checked = time();
        $updates->version_checked = $wp_version;
+
+       if ( isset( $body['translations'] ) )
+               $updates->translations = $body['translations'];
+
        set_site_transient( 'update_core',  $updates);
 }
 
        set_site_transient( 'update_core',  $updates);
 }
 
@@ -144,6 +169,8 @@ function wp_update_plugins() {
                require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
 
        $plugins = get_plugins();
                require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
 
        $plugins = get_plugins();
+       $translations = wp_get_installed_translations( 'plugins' );
+
        $active  = get_option( 'active_plugins', array() );
        $current = get_site_transient( 'update_plugins' );
        if ( ! is_object($current) )
        $active  = get_option( 'active_plugins', array() );
        $current = get_site_transient( 'update_plugins' );
        if ( ! is_object($current) )
@@ -154,6 +181,9 @@ function wp_update_plugins() {
 
        // Check for update on a different schedule, depending on the page.
        switch ( current_filter() ) {
 
        // Check for update on a different schedule, depending on the page.
        switch ( current_filter() ) {
+               case 'upgrader_process_complete' :
+                       $timeout = 0;
+                       break;
                case 'load-update-core.php' :
                        $timeout = MINUTE_IN_SECONDS;
                        break;
                case 'load-update-core.php' :
                        $timeout = MINUTE_IN_SECONDS;
                        break;
@@ -194,25 +224,50 @@ function wp_update_plugins() {
        $current->last_checked = time();
        set_site_transient( 'update_plugins', $current );
 
        $current->last_checked = time();
        set_site_transient( 'update_plugins', $current );
 
-       $to_send = (object) compact('plugins', 'active');
+       $to_send = compact( 'plugins', 'active' );
+
+       $locales = array( get_locale() );
+       /**
+        * Filter the locales requested for plugin translations.
+        *
+        * @since 3.7.0
+        *
+        * @param array $locales Plugin locale. Default is current locale of the site.
+        */
+       $locales = apply_filters( 'plugins_update_check_locales', $locales );
 
        $options = array(
                'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
 
        $options = array(
                'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
-               'body' => array( 'plugins' => serialize( $to_send ) ),
+               'body' => array(
+                       'plugins'      => json_encode( $to_send ),
+                       'translations' => json_encode( $translations ),
+                       'locale'       => json_encode( $locales ),
+               ),
                'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
        );
 
                'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
        );
 
-       $raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options);
+       $url = 'http://api.wordpress.org/plugins/update-check/1.1/';
+       if ( wp_http_supports( array( 'ssl' ) ) )
+               $url = set_url_scheme( $url, 'https' );
+
+       $raw_response = wp_remote_post( $url, $options );
 
        if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
                return false;
 
 
        if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
                return false;
 
-       $response = maybe_unserialize( wp_remote_retrieve_body( $raw_response ) );
+       $response = json_decode( wp_remote_retrieve_body( $raw_response ), true );
+       foreach ( $response['plugins'] as &$plugin ) {
+               $plugin = (object) $plugin;
+       }
+       unset( $plugin );
 
 
-       if ( is_array( $response ) )
-               $new_option->response = $response;
-       else
+       if ( is_array( $response ) ) {
+               $new_option->response = $response['plugins'];
+               $new_option->translations = $response['translations'];
+       } else {
                $new_option->response = array();
                $new_option->response = array();
+               $new_option->translations = array();
+       }
 
        set_site_transient( 'update_plugins', $new_option );
 }
 
        set_site_transient( 'update_plugins', $new_option );
 }
@@ -237,15 +292,16 @@ function wp_update_themes() {
                return false;
 
        $installed_themes = wp_get_themes();
                return false;
 
        $installed_themes = wp_get_themes();
+       $translations = wp_get_installed_translations( 'themes' );
+
        $last_update = get_site_transient( 'update_themes' );
        if ( ! is_object($last_update) )
                $last_update = new stdClass;
 
        $last_update = get_site_transient( 'update_themes' );
        if ( ! is_object($last_update) )
                $last_update = new stdClass;
 
-       $themes = array();
-       $checked = array();
+       $themes = $checked = $request = array();
 
        // Put slug of current theme into request.
 
        // Put slug of current theme into request.
-       $themes['current_theme'] = get_option( 'stylesheet' );
+       $request['active'] = get_option( 'stylesheet' );
 
        foreach ( $installed_themes as $theme ) {
                $checked[ $theme->get_stylesheet() ] = $theme->get('Version');
 
        foreach ( $installed_themes as $theme ) {
                $checked[ $theme->get_stylesheet() ] = $theme->get('Version');
@@ -263,6 +319,9 @@ function wp_update_themes() {
 
        // Check for update on a different schedule, depending on the page.
        switch ( current_filter() ) {
 
        // Check for update on a different schedule, depending on the page.
        switch ( current_filter() ) {
+               case 'upgrader_process_complete' :
+                       $timeout = 0;
+                       break;
                case 'load-update-core.php' :
                        $timeout = MINUTE_IN_SECONDS;
                        break;
                case 'load-update-core.php' :
                        $timeout = MINUTE_IN_SECONDS;
                        break;
@@ -301,13 +360,33 @@ function wp_update_themes() {
        $last_update->last_checked = time();
        set_site_transient( 'update_themes', $last_update );
 
        $last_update->last_checked = time();
        set_site_transient( 'update_themes', $last_update );
 
+       $request['themes'] = $themes;
+
+       $locales = array( get_locale() );
+       /**
+        * Filter the locales requested for theme translations.
+        *
+        * @since 3.7.0
+        *
+        * @param array $locales Theme locale. Default is current locale of the site.
+        */
+       $locales = apply_filters( 'themes_update_check_locales', $locales );
+
        $options = array(
                'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
        $options = array(
                'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
-               'body'                  => array( 'themes' => serialize( $themes ) ),
+               'body' => array(
+                       'themes'       => json_encode( $request ),
+                       'translations' => json_encode( $translations ),
+                       'locale'       => json_encode( $locales ),
+               ),
                'user-agent'    => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
        );
 
                'user-agent'    => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
        );
 
-       $raw_response = wp_remote_post( 'http://api.wordpress.org/themes/update-check/1.0/', $options );
+       $url = 'http://api.wordpress.org/themes/update-check/1.1/';
+       if ( wp_http_supports( array( 'ssl' ) ) )
+               $url = set_url_scheme( $url, 'https' );
+
+       $raw_response = wp_remote_post( $url, $options );
 
        if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
                return false;
 
        if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) )
                return false;
@@ -316,13 +395,51 @@ function wp_update_themes() {
        $new_update->last_checked = time();
        $new_update->checked = $checked;
 
        $new_update->last_checked = time();
        $new_update->checked = $checked;
 
-       $response = maybe_unserialize( wp_remote_retrieve_body( $raw_response ) );
-       if ( is_array( $response ) )
-               $new_update->response = $response;
+       $response = json_decode( wp_remote_retrieve_body( $raw_response ), true );
+
+       if ( is_array( $response ) ) {
+               $new_update->response     = $response['themes'];
+               $new_update->translations = $response['translations'];
+       }
 
        set_site_transient( 'update_themes', $new_update );
 }
 
 
        set_site_transient( 'update_themes', $new_update );
 }
 
+/**
+ * Performs WordPress automatic background updates.
+ *
+ * @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';
+
+       $upgrader = new WP_Automatic_Updater;
+       $upgrader->run();
+}
+
+/**
+ * Retrieves a list of all language updates available.
+ *
+ * @since 3.7.0
+ */
+function wp_get_translation_updates() {
+       $updates = array();
+       $transients = array( 'update_core' => 'core', 'update_plugins' => 'plugin', 'update_themes' => 'theme' );
+       foreach ( $transients as $transient => $type ) {
+
+               $transient = get_site_transient( $transient );
+               if ( empty( $transient->translations ) )
+                       continue;
+
+               foreach ( $transient->translations as $translation ) {
+                       $updates[] = (object) $translation;
+               }
+       }
+
+       return $updates;
+}
+
 /*
  * Collect counts and UI strings for available updates
  *
 /*
  * Collect counts and UI strings for available updates
  *
@@ -331,27 +448,30 @@ function wp_update_themes() {
  * @return array
  */
 function wp_get_update_data() {
  * @return array
  */
 function wp_get_update_data() {
-       $counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0 );
+       $counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0, 'translations' => 0 );
 
 
-       if ( current_user_can( 'update_plugins' ) ) {
+       if ( $plugins = current_user_can( 'update_plugins' ) ) {
                $update_plugins = get_site_transient( 'update_plugins' );
                if ( ! empty( $update_plugins->response ) )
                        $counts['plugins'] = count( $update_plugins->response );
        }
 
                $update_plugins = get_site_transient( 'update_plugins' );
                if ( ! empty( $update_plugins->response ) )
                        $counts['plugins'] = count( $update_plugins->response );
        }
 
-       if ( current_user_can( 'update_themes' ) ) {
+       if ( $themes = current_user_can( 'update_themes' ) ) {
                $update_themes = get_site_transient( 'update_themes' );
                if ( ! empty( $update_themes->response ) )
                        $counts['themes'] = count( $update_themes->response );
        }
 
                $update_themes = get_site_transient( 'update_themes' );
                if ( ! empty( $update_themes->response ) )
                        $counts['themes'] = count( $update_themes->response );
        }
 
-       if ( function_exists( 'get_core_updates' ) && current_user_can( 'update_core' ) ) {
+       if ( ( $core = current_user_can( 'update_core' ) ) && function_exists( 'get_core_updates' ) ) {
                $update_wordpress = get_core_updates( array('dismissed' => false) );
                if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') )
                        $counts['wordpress'] = 1;
        }
 
                $update_wordpress = get_core_updates( array('dismissed' => false) );
                if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') )
                        $counts['wordpress'] = 1;
        }
 
-       $counts['total'] = $counts['plugins'] + $counts['themes'] + $counts['wordpress'];
+       if ( ( $core || $plugins || $themes ) && wp_get_translation_updates() )
+               $counts['translations'] = 1;
+
+       $counts['total'] = $counts['plugins'] + $counts['themes'] + $counts['wordpress'] + $counts['translations'];
        $titles = array();
        if ( $counts['wordpress'] )
                $titles['wordpress'] = sprintf( __( '%d WordPress Update'), $counts['wordpress'] );
        $titles = array();
        if ( $counts['wordpress'] )
                $titles['wordpress'] = sprintf( __( '%d WordPress Update'), $counts['wordpress'] );
@@ -359,10 +479,26 @@ function wp_get_update_data() {
                $titles['plugins'] = sprintf( _n( '%d Plugin Update', '%d Plugin Updates', $counts['plugins'] ), $counts['plugins'] );
        if ( $counts['themes'] )
                $titles['themes'] = sprintf( _n( '%d Theme Update', '%d Theme Updates', $counts['themes'] ), $counts['themes'] );
                $titles['plugins'] = sprintf( _n( '%d Plugin Update', '%d Plugin Updates', $counts['plugins'] ), $counts['plugins'] );
        if ( $counts['themes'] )
                $titles['themes'] = sprintf( _n( '%d Theme Update', '%d Theme Updates', $counts['themes'] ), $counts['themes'] );
+       if ( $counts['translations'] )
+               $titles['translations'] = __( 'Translation Updates' );
 
        $update_title = $titles ? esc_attr( implode( ', ', $titles ) ) : '';
 
 
        $update_title = $titles ? esc_attr( implode( ', ', $titles ) ) : '';
 
-       return apply_filters( 'wp_get_update_data', array( 'counts' => $counts, 'title' => $update_title ), $titles );
+       $update_data = array( 'counts' => $counts, 'title' => $update_title );
+       /**
+        * Filter the returned array of update data for plugins, themes, and WordPress core.
+        *
+        * @since 3.5.0
+        *
+        * @param array $update_data {
+        *     Fetched update data.
+        *
+        *     @type array   $counts       An array of counts for available plugin, theme, and WordPress updates.
+        *     @type string  $update_title Titles of available updates.
+        * }
+        * @param array $titles An array of update counts and UI strings for available updates.
+        */
+       return apply_filters( 'wp_get_update_data', $update_data, $titles );
 }
 
 function _maybe_update_core() {
 }
 
 function _maybe_update_core() {
@@ -426,6 +562,18 @@ function wp_schedule_update_checks() {
 
        if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') )
                wp_schedule_event(time(), 'twicedaily', 'wp_update_themes');
 
        if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') )
                wp_schedule_event(time(), 'twicedaily', 'wp_update_themes');
+
+       if ( ! wp_next_scheduled( 'wp_maybe_auto_update' ) && ! defined( 'WP_INSTALLING' ) ) {
+               // Schedule auto updates for 7 a.m. and 7 p.m. in the timezone of the site.
+               $next = strtotime( 'today 7am' );
+               $now = time();
+               // Find the next instance of 7 a.m. or 7 p.m., but skip it if it is within 3 hours from now.
+               while ( ( $now + 3 * HOUR_IN_SECONDS ) > $next ) {
+                       $next += 12 * HOUR_IN_SECONDS;
+               }
+               $next = $next - get_option( 'gmt_offset' ) * HOUR_IN_SECONDS;
+               wp_schedule_event( $next, 'twicedaily', 'wp_maybe_auto_update' );
+       }
 }
 
 if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) )
 }
 
 if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) )
@@ -433,17 +581,22 @@ if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) &
 
 add_action( 'admin_init', '_maybe_update_core' );
 add_action( 'wp_version_check', 'wp_version_check' );
 
 add_action( 'admin_init', '_maybe_update_core' );
 add_action( 'wp_version_check', 'wp_version_check' );
+add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 );
 
 add_action( 'load-plugins.php', 'wp_update_plugins' );
 add_action( 'load-update.php', 'wp_update_plugins' );
 add_action( 'load-update-core.php', 'wp_update_plugins' );
 add_action( 'admin_init', '_maybe_update_plugins' );
 add_action( 'wp_update_plugins', 'wp_update_plugins' );
 
 add_action( 'load-plugins.php', 'wp_update_plugins' );
 add_action( 'load-update.php', 'wp_update_plugins' );
 add_action( 'load-update-core.php', 'wp_update_plugins' );
 add_action( 'admin_init', '_maybe_update_plugins' );
 add_action( 'wp_update_plugins', 'wp_update_plugins' );
+add_action( 'upgrader_process_complete', 'wp_update_plugins' );
 
 add_action( 'load-themes.php', 'wp_update_themes' );
 add_action( 'load-update.php', 'wp_update_themes' );
 add_action( 'load-update-core.php', 'wp_update_themes' );
 add_action( 'admin_init', '_maybe_update_themes' );
 add_action( 'wp_update_themes', 'wp_update_themes' );
 
 add_action( 'load-themes.php', 'wp_update_themes' );
 add_action( 'load-update.php', 'wp_update_themes' );
 add_action( 'load-update-core.php', 'wp_update_themes' );
 add_action( 'admin_init', '_maybe_update_themes' );
 add_action( 'wp_update_themes', 'wp_update_themes' );
+add_action( 'upgrader_process_complete', 'wp_update_themes' );
+
+add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' );
 
 add_action('init', 'wp_schedule_update_checks');
 
 add_action('init', 'wp_schedule_update_checks');
index bc583a57899dc31b7e2dd6e00cd1ad09cf49b8f8..9a60cd206904116e33997625c8754c14fb9a5a2c 100644 (file)
@@ -73,6 +73,9 @@ function wp_authenticate_username_password($user, $username, $password) {
        if ( is_a($user, 'WP_User') ) { return $user; }
 
        if ( empty($username) || empty($password) ) {
        if ( is_a($user, 'WP_User') ) { return $user; }
 
        if ( empty($username) || empty($password) ) {
+               if ( is_wp_error( $user ) )
+                       return $user;
+
                $error = new WP_Error();
 
                if ( empty($username) )
                $error = new WP_Error();
 
                if ( empty($username) )
@@ -89,19 +92,6 @@ function wp_authenticate_username_password($user, $username, $password) {
        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() ) );
 
        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() ) );
 
-       if ( is_multisite() ) {
-               // Is user marked as spam?
-               if ( 1 == $user->spam )
-                       return new WP_Error( 'spammer_account', __( '<strong>ERROR</strong>: Your account has been marked as a spammer.' ) );
-
-               // Is a user's blog marked as spam?
-               if ( !is_super_admin( $user->ID ) && isset( $user->primary_blog ) ) {
-                       $details = get_blog_details( $user->primary_blog );
-                       if ( is_object( $details ) && $details->spam == 1 )
-                               return new WP_Error( 'blog_suspended', __( 'Site Suspended.' ) );
-               }
-       }
-
        $user = apply_filters('wp_authenticate_user', $user, $password);
        if ( is_wp_error($user) )
                return $user;
        $user = apply_filters('wp_authenticate_user', $user, $password);
        if ( is_wp_error($user) )
                return $user;
@@ -140,6 +130,22 @@ function wp_authenticate_cookie($user, $username, $password) {
        return $user;
 }
 
        return $user;
 }
 
+/**
+ * For multisite blogs, check if the authenticated user has been marked as a
+ * spammer, or if the user's primary blog has been marked as spam.
+ *
+ * @since 3.7.0
+ */
+function wp_authenticate_spam_check( $user ) {
+       if ( $user && is_a( $user, 'WP_User' ) && is_multisite() ) {
+               $spammed = apply_filters( 'check_is_user_spammed', is_user_spammy(), $user );
+
+               if ( $spammed )
+                       return new WP_Error( 'spammer_account', __( '<strong>ERROR</strong>: Your account has been marked as a spammer.' ) );
+       }
+       return $user;
+}
+
 /**
  * Number of posts user has written.
  *
 /**
  * Number of posts user has written.
  *
@@ -242,8 +248,9 @@ function get_user_option( $option, $user = 0, $deprecated = '' ) {
        if ( ! $user = get_userdata( $user ) )
                return false;
 
        if ( ! $user = get_userdata( $user ) )
                return false;
 
-       if ( $user->has_prop( $wpdb->prefix . $option ) ) // Blog specific
-               $result = $user->get( $wpdb->prefix . $option );
+       $prefix = $wpdb->get_blog_prefix();
+       if ( $user->has_prop( $prefix . $option ) ) // Blog specific
+               $result = $user->get( $prefix . $option );
        elseif ( $user->has_prop( $option ) ) // User specific and cross-blog
                $result = $user->get( $option );
        else
        elseif ( $user->has_prop( $option ) ) // User specific and cross-blog
                $result = $user->get( $option );
        else
@@ -274,7 +281,7 @@ function update_user_option( $user_id, $option_name, $newvalue, $global = false
        global $wpdb;
 
        if ( !$global )
        global $wpdb;
 
        if ( !$global )
-               $option_name = $wpdb->prefix . $option_name;
+               $option_name = $wpdb->get_blog_prefix() . $option_name;
 
        return update_user_meta( $user_id, $option_name, $newvalue );
 }
 
        return update_user_meta( $user_id, $option_name, $newvalue );
 }
@@ -298,7 +305,7 @@ function delete_user_option( $user_id, $option_name, $global = false ) {
        global $wpdb;
 
        if ( !$global )
        global $wpdb;
 
        if ( !$global )
-               $option_name = $wpdb->prefix . $option_name;
+               $option_name = $wpdb->get_blog_prefix() . $option_name;
        return delete_user_meta( $user_id, $option_name );
 }
 
        return delete_user_meta( $user_id, $option_name );
 }
 
@@ -403,37 +410,44 @@ class WP_User_Query {
                        $this->query_fields = "$wpdb->users.ID";
                }
 
                        $this->query_fields = "$wpdb->users.ID";
                }
 
-               if ( $qv['count_total'] )
+               if ( isset( $qv['count_total'] ) && $qv['count_total'] )
                        $this->query_fields = 'SQL_CALC_FOUND_ROWS ' . $this->query_fields;
 
                $this->query_from = "FROM $wpdb->users";
                $this->query_where = "WHERE 1=1";
 
                // sorting
                        $this->query_fields = 'SQL_CALC_FOUND_ROWS ' . $this->query_fields;
 
                $this->query_from = "FROM $wpdb->users";
                $this->query_where = "WHERE 1=1";
 
                // sorting
-               if ( in_array( $qv['orderby'], array('nicename', 'email', 'url', 'registered') ) ) {
-                       $orderby = 'user_' . $qv['orderby'];
-               } elseif ( in_array( $qv['orderby'], array('user_nicename', 'user_email', 'user_url', 'user_registered') ) ) {
-                       $orderby = $qv['orderby'];
-               } elseif ( 'name' == $qv['orderby'] || 'display_name' == $qv['orderby'] ) {
-                       $orderby = 'display_name';
-               } elseif ( 'post_count' == $qv['orderby'] ) {
-                       // todo: avoid the JOIN
-                       $where = get_posts_by_author_sql('post');
-                       $this->query_from .= " LEFT OUTER JOIN (
-                               SELECT post_author, COUNT(*) as post_count
-                               FROM $wpdb->posts
-                               $where
-                               GROUP BY post_author
-                       ) p ON ({$wpdb->users}.ID = p.post_author)
-                       ";
-                       $orderby = 'post_count';
-               } elseif ( 'ID' == $qv['orderby'] || 'id' == $qv['orderby'] ) {
-                       $orderby = 'ID';
-               } else {
-                       $orderby = 'user_login';
+               if ( isset( $qv['orderby'] ) ) {
+                       if ( in_array( $qv['orderby'], array('nicename', 'email', 'url', 'registered') ) ) {
+                               $orderby = 'user_' . $qv['orderby'];
+                       } elseif ( in_array( $qv['orderby'], array('user_nicename', 'user_email', 'user_url', 'user_registered') ) ) {
+                               $orderby = $qv['orderby'];
+                       } elseif ( 'name' == $qv['orderby'] || 'display_name' == $qv['orderby'] ) {
+                               $orderby = 'display_name';
+                       } elseif ( 'post_count' == $qv['orderby'] ) {
+                               // todo: avoid the JOIN
+                               $where = get_posts_by_author_sql('post');
+                               $this->query_from .= " LEFT OUTER JOIN (
+                                       SELECT post_author, COUNT(*) as post_count
+                                       FROM $wpdb->posts
+                                       $where
+                                       GROUP BY post_author
+                               ) p ON ({$wpdb->users}.ID = p.post_author)
+                               ";
+                               $orderby = 'post_count';
+                       } elseif ( 'ID' == $qv['orderby'] || 'id' == $qv['orderby'] ) {
+                               $orderby = 'ID';
+                       } elseif ( 'meta_value' == $qv['orderby'] ) {
+                               $orderby = "$wpdb->usermeta.meta_value";
+                       } else {
+                               $orderby = 'user_login';
+                       }
                }
 
                }
 
-               $qv['order'] = strtoupper( $qv['order'] );
+               if ( empty( $orderby ) )
+                       $orderby = 'user_login';
+
+               $qv['order'] = isset( $qv['order'] ) ? strtoupper( $qv['order'] ) : '';
                if ( 'ASC' == $qv['order'] )
                        $order = 'ASC';
                else
                if ( 'ASC' == $qv['order'] )
                        $order = 'ASC';
                else
@@ -441,14 +455,17 @@ class WP_User_Query {
                $this->query_orderby = "ORDER BY $orderby $order";
 
                // limit
                $this->query_orderby = "ORDER BY $orderby $order";
 
                // limit
-               if ( $qv['number'] ) {
+               if ( isset( $qv['number'] ) && $qv['number'] ) {
                        if ( $qv['offset'] )
                                $this->query_limit = $wpdb->prepare("LIMIT %d, %d", $qv['offset'], $qv['number']);
                        else
                                $this->query_limit = $wpdb->prepare("LIMIT %d", $qv['number']);
                }
 
                        if ( $qv['offset'] )
                                $this->query_limit = $wpdb->prepare("LIMIT %d, %d", $qv['offset'], $qv['number']);
                        else
                                $this->query_limit = $wpdb->prepare("LIMIT %d", $qv['number']);
                }
 
-               $search = trim( $qv['search'] );
+               $search = '';
+               if ( isset( $qv['search'] ) )
+                       $search = trim( $qv['search'] );
+
                if ( $search ) {
                        $leading_wild = ( ltrim($search, '*') != $search );
                        $trailing_wild = ( rtrim($search, '*') != $search );
                if ( $search ) {
                        $leading_wild = ( ltrim($search, '*') != $search );
                        $trailing_wild = ( rtrim($search, '*') != $search );
@@ -482,16 +499,20 @@ class WP_User_Query {
                        $this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
                }
 
                        $this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
                }
 
-               $blog_id = absint( $qv['blog_id'] );
+               $blog_id = 0;
+               if ( isset( $qv['blog_id'] ) )
+                       $blog_id = absint( $qv['blog_id'] );
 
 
-               if ( 'authors' == $qv['who'] && $blog_id ) {
+               if ( isset( $qv['who'] ) && 'authors' == $qv['who'] && $blog_id ) {
                        $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level';
                        $qv['meta_value'] = 0;
                        $qv['meta_compare'] = '!=';
                        $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query
                }
 
                        $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level';
                        $qv['meta_value'] = 0;
                        $qv['meta_compare'] = '!=';
                        $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query
                }
 
-               $role = trim( $qv['role'] );
+               $role = '';
+               if ( isset( $qv['role'] ) )
+                       $role = trim( $qv['role'] );
 
                if ( $blog_id && ( $role || is_multisite() ) ) {
                        $cap_meta_query = array();
 
                if ( $blog_id && ( $role || is_multisite() ) ) {
                        $cap_meta_query = array();
@@ -517,10 +538,10 @@ class WP_User_Query {
                                $this->query_fields = 'DISTINCT ' . $this->query_fields;
                }
 
                                $this->query_fields = 'DISTINCT ' . $this->query_fields;
                }
 
-               if ( !empty( $qv['include'] ) ) {
+               if ( ! empty( $qv['include'] ) ) {
                        $ids = implode( ',', wp_parse_id_list( $qv['include'] ) );
                        $this->query_where .= " AND $wpdb->users.ID IN ($ids)";
                        $ids = implode( ',', wp_parse_id_list( $qv['include'] ) );
                        $this->query_where .= " AND $wpdb->users.ID IN ($ids)";
-               } elseif ( !empty($qv['exclude']) ) {
+               } elseif ( ! empty( $qv['exclude'] ) ) {
                        $ids = implode( ',', wp_parse_id_list( $qv['exclude'] ) );
                        $this->query_where .= " AND $wpdb->users.ID NOT IN ($ids)";
                }
                        $ids = implode( ',', wp_parse_id_list( $qv['exclude'] ) );
                        $this->query_where .= " AND $wpdb->users.ID NOT IN ($ids)";
                }
@@ -545,7 +566,7 @@ class WP_User_Query {
                        $this->results = $wpdb->get_col("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
                }
 
                        $this->results = $wpdb->get_col("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
                }
 
-               if ( $qv['count_total'] )
+               if ( isset( $qv['count_total'] ) && $qv['count_total'] )
                        $this->total_users = $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
 
                if ( !$this->results )
                        $this->total_users = $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
 
                if ( !$this->results )
@@ -1519,28 +1540,172 @@ function wp_create_user($username, $password, $email = '') {
  */
 function _get_additional_user_keys( $user ) {
        $keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front' );
  */
 function _get_additional_user_keys( $user ) {
        $keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front' );
-       return array_merge( $keys, array_keys( _wp_get_user_contactmethods( $user ) ) );
+       return array_merge( $keys, array_keys( wp_get_user_contact_methods( $user ) ) );
 }
 
 /**
 }
 
 /**
- * Set up the contact methods.
+ * Set up the user contact methods.
  *
  * Default contact methods were removed in 3.6. A filter dictates contact methods.
  *
  *
  * Default contact methods were removed in 3.6. A filter dictates contact methods.
  *
- * @since 2.9.0
- * @access private
+ * @since 3.7.0
  *
  *
- * @param object $user User data object (optional).
- * @return array $user_contactmethods Array of contact methods and their labels.
+ * @param WP_User $user Optional. WP_User object.
+ * @return array Array of contact methods and their labels.
  */
  */
-function _wp_get_user_contactmethods( $user = null ) {
-       $user_contactmethods = array();
+function wp_get_user_contact_methods( $user = null ) {
+       $methods = array();
        if ( get_site_option( 'initial_db_version' ) < 23588 ) {
        if ( get_site_option( 'initial_db_version' ) < 23588 ) {
-               $user_contactmethods = array(
+               $methods = array(
                        'aim'    => __( 'AIM' ),
                        'yim'    => __( 'Yahoo IM' ),
                        'jabber' => __( 'Jabber / Google Talk' )
                );
        }
                        'aim'    => __( 'AIM' ),
                        'yim'    => __( 'Yahoo IM' ),
                        'jabber' => __( 'Jabber / Google Talk' )
                );
        }
-       return apply_filters( 'user_contactmethods', $user_contactmethods, $user );
+
+       /**
+        * Filter the user contact methods.
+        *
+        * @since 2.9.0
+        *
+        * @param array   $methods Array of contact methods and their labels.
+        * @param WP_User $user    Optional. WP_User object.
+        */
+       return apply_filters( 'user_contactmethods', $methods, $user );
+}
+
+/**
+ * The old private function for setting up user contact methods.
+ *
+ * @since 2.9.0
+ * @access private
+ */
+function _wp_get_user_contactmethods( $user = null ) {
+       return wp_get_user_contact_methods( $user );
+}
+
+/**
+ * Retrieves a user row based on password reset key and login
+ *
+ * A key is considered 'expired' if it exactly matches the value of the
+ * user_activation_key field, rather than being matched after going through the
+ * hashing process. This field is now hashed; old values are no longer accepted
+ * but have a different WP_Error code so good user feedback can be provided.
+ *
+ * @uses $wpdb WordPress Database object
+ *
+ * @param string $key       Hash to validate sending user's password.
+ * @param string $login     The user login.
+ * @return WP_User|WP_Error WP_User object on success, WP_Error object for invalid or expired keys.
+ */
+function check_password_reset_key($key, $login) {
+       global $wpdb, $wp_hasher;
+
+       $key = preg_replace('/[^a-z0-9]/i', '', $key);
+
+       if ( empty( $key ) || !is_string( $key ) )
+               return new WP_Error('invalid_key', __('Invalid key'));
+
+       if ( empty($login) || !is_string($login) )
+               return new WP_Error('invalid_key', __('Invalid key'));
+
+       $row = $wpdb->get_row( $wpdb->prepare( "SELECT ID, user_activation_key FROM $wpdb->users WHERE user_login = %s", $login ) );
+       if ( ! $row )
+               return new WP_Error('invalid_key', __('Invalid key'));
+
+       if ( empty( $wp_hasher ) ) {
+               require_once ABSPATH . 'wp-includes/class-phpass.php';
+               $wp_hasher = new PasswordHash( 8, true );
+       }
+
+       if ( $wp_hasher->CheckPassword( $key, $row->user_activation_key ) )
+               return get_userdata( $row->ID );
+
+       if ( $key === $row->user_activation_key ) {
+               $return = new WP_Error( 'expired_key', __( 'Invalid key' ) );
+               $user_id = $row->ID;
+
+               /**
+                * Filter the return value of check_password_reset_key() when an
+                * old-style key is used (plain-text key was stored in the database).
+                *
+                * @since 3.7.0
+                *
+                * @param WP_Error $return  A WP_Error object denoting an expired key.
+                *                          Return a WP_User object to validate the key.
+                * @param int      $user_id The matched user ID.
+                */
+               return apply_filters( 'password_reset_key_expired', $return, $user_id );
+       }
+
+       return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
+}
+
+/**
+ * Handles resetting the user's password.
+ *
+ * @param object $user The user
+ * @param string $new_pass New password for the user in plaintext
+ */
+function reset_password( $user, $new_pass ) {
+       do_action( 'password_reset', $user, $new_pass );
+
+       wp_set_password( $new_pass, $user->ID );
+       update_user_option( $user->ID, 'default_password_nag', false, true );
+
+       wp_password_change_notification( $user );
+}
+
+/**
+ * Handles registering a new user.
+ *
+ * @param string $user_login User's username for logging in
+ * @param string $user_email User's email address to send password and add
+ * @return int|WP_Error Either user's ID or error on failure.
+ */
+function register_new_user( $user_login, $user_email ) {
+       $errors = new WP_Error();
+
+       $sanitized_user_login = sanitize_user( $user_login );
+       $user_email = apply_filters( 'user_registration_email', $user_email );
+
+       // Check the username
+       if ( $sanitized_user_login == '' ) {
+               $errors->add( 'empty_username', __( '<strong>ERROR</strong>: Please enter a username.' ) );
+       } elseif ( ! validate_username( $user_login ) ) {
+               $errors->add( 'invalid_username', __( '<strong>ERROR</strong>: This username is invalid because it uses illegal characters. Please enter a valid username.' ) );
+               $sanitized_user_login = '';
+       } elseif ( username_exists( $sanitized_user_login ) ) {
+               $errors->add( 'username_exists', __( '<strong>ERROR</strong>: This username is already registered. Please choose another one.' ) );
+       }
+
+       // Check the e-mail address
+       if ( $user_email == '' ) {
+               $errors->add( 'empty_email', __( '<strong>ERROR</strong>: Please type your e-mail address.' ) );
+       } elseif ( ! is_email( $user_email ) ) {
+               $errors->add( 'invalid_email', __( '<strong>ERROR</strong>: The email address isn&#8217;t correct.' ) );
+               $user_email = '';
+       } elseif ( email_exists( $user_email ) ) {
+               $errors->add( 'email_exists', __( '<strong>ERROR</strong>: This email is already registered, please choose another one.' ) );
+       }
+
+       do_action( 'register_post', $sanitized_user_login, $user_email, $errors );
+
+       $errors = apply_filters( 'registration_errors', $errors, $sanitized_user_login, $user_email );
+
+       if ( $errors->get_error_code() )
+               return $errors;
+
+       $user_pass = wp_generate_password( 12, false );
+       $user_id = wp_create_user( $sanitized_user_login, $user_pass, $user_email );
+       if ( ! $user_id || is_wp_error( $user_id ) ) {
+               $errors->add( 'registerfail', sprintf( __( '<strong>ERROR</strong>: Couldn&#8217;t register you&hellip; please contact the <a href="mailto:%s">webmaster</a> !' ), get_option( 'admin_email' ) ) );
+               return $errors;
+       }
+
+       update_user_option( $user_id, 'default_password_nag', true, true ); //Set up the Password change nag.
+
+       wp_new_user_notification( $user_id, $user_pass );
+
+       return $user_id;
 }
 }
index f55cdbd9fdf5f155ee1bda078997cf133e342ed5..045cfdc2c85c88f76cc59db3f102e8bda952d8e5 100644 (file)
@@ -52,7 +52,15 @@ if ( isset($_SERVER['HTTP_USER_AGENT']) ) {
                $is_lynx = true;
        } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false ) {
                if ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) !== false ) {
                $is_lynx = true;
        } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false ) {
                if ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) !== false ) {
-                       if ( $is_chrome = apply_filters( 'use_google_chrome_frame', is_admin() ) )
+                       $is_admin = is_admin();
+                       /**
+                        * Filter whether Google Chrome Frame should be used, if available.
+                        *
+                        * @since 3.2.0
+                        *
+                        * @param bool $is_admin Whether to use the Google Chrome Frame. Default is the value of is_admin().
+                        */
+                       if ( $is_chrome = apply_filters( 'use_google_chrome_frame', $is_admin ) )
                                header( 'X-UA-Compatible: chrome=1' );
                        $is_winIE = ! $is_chrome;
                } else {
                                header( 'X-UA-Compatible: chrome=1' );
                        $is_winIE = ! $is_chrome;
                } else {
@@ -60,12 +68,12 @@ if ( isset($_SERVER['HTTP_USER_AGENT']) ) {
                }
        } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false ) {
                $is_safari = true;
                }
        } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false ) {
                $is_safari = true;
-       } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') !== false ) {
-               $is_gecko = true;
-       } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Win') !== false ) {
+       } elseif ( ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false ) && strpos($_SERVER['HTTP_USER_AGENT'], 'Win') !== false ) {
                $is_winIE = true;
        } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false ) {
                $is_macIE = true;
                $is_winIE = true;
        } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false ) {
                $is_macIE = true;
+       } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') !== false ) {
+               $is_gecko = true;
        } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false ) {
                $is_opera = true;
        } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Nav') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla/4.') !== false ) {
        } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false ) {
                $is_opera = true;
        } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Nav') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla/4.') !== false ) {
@@ -86,6 +94,12 @@ $is_IE = ( $is_macIE || $is_winIE );
  */
 $is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false);
 
  */
 $is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false);
 
+/**
+ * Whether the server software is Nginx or something else
+ * @global bool $is_nginx
+ */
+$is_nginx = (strpos($_SERVER['SERVER_SOFTWARE'], 'nginx') !== false);
+
 /**
  * Whether the server software is IIS or something else
  * @global bool $is_IIS
 /**
  * Whether the server software is IIS or something else
  * @global bool $is_IIS
index c079421b3c45e517621d38d8d9f0e35addc3415a..5d03fc38d2b849d567a5cd87525b59eb7338c749 100644 (file)
@@ -4,21 +4,21 @@
  *
  * @global string $wp_version
  */
  *
  * @global string $wp_version
  */
-$wp_version = '3.6.1';
+$wp_version = '3.7';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
  *
  * @global int $wp_db_version
  */
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
  *
  * @global int $wp_db_version
  */
-$wp_db_version = 24448;
+$wp_db_version = 25824;
 
 /**
  * Holds the TinyMCE version
  *
  * @global string $tinymce_version
  */
 
 /**
  * Holds the TinyMCE version
  *
  * @global string $tinymce_version
  */
-$tinymce_version = '358-25336';
+$tinymce_version = '359-20131018';
 
 /**
  * Holds the required PHP version
 
 /**
  * Holds the required PHP version
index d6f213a1d58f81e801ba3bfa99a11bf26126ba17..6bd99473b7e12ae45ff1a6b1e7a1ed3ee7ea9b51 100644 (file)
@@ -833,20 +833,13 @@ function wp_unregister_widget_control($id) {
 /**
  * Display dynamic sidebar.
  *
 /**
  * Display dynamic sidebar.
  *
- * By default it displays the default sidebar or 'sidebar-1'. The 'sidebar-1' is
- * not named by the theme, the actual name is '1', but 'sidebar-' is added to
- * the registered sidebars for the name. If you named your sidebar 'after-post',
- * then the parameter $index will still be 'after-post', but the lookup will be
- * for 'sidebar-after-post'.
- *
- * It is confusing for the $index parameter, but just know that it should just
- * work. When you register the sidebar in the theme, you will use the same name
- * for this function or "Pay no heed to the man behind the curtain." Just accept
- * it as an oddity of WordPress sidebar register and display.
+ * By default this displays the default sidebar or 'sidebar-1'. If your theme specifies the 'id' or
+ * 'name' parameter for its registered sidebars you can pass an id or name as the $index parameter.
+ * Otherwise, you can pass in a numerical index to display the sidebar at that index.
  *
  * @since 2.2.0
  *
  *
  * @since 2.2.0
  *
- * @param int|string $index Optional, default is 1. Name or ID of dynamic sidebar.
+ * @param int|string $index Optional, default is 1. Index, name or ID of dynamic sidebar.
  * @return bool True, if widget sidebar was found and called. False if not found or not called.
  */
 function dynamic_sidebar($index = 1) {
  * @return bool True, if widget sidebar was found and called. False if not found or not called.
  */
 function dynamic_sidebar($index = 1) {
@@ -865,11 +858,9 @@ function dynamic_sidebar($index = 1) {
        }
 
        $sidebars_widgets = wp_get_sidebars_widgets();
        }
 
        $sidebars_widgets = wp_get_sidebars_widgets();
-       if ( empty( $sidebars_widgets ) )
-               return false;
-
-       if ( empty($wp_registered_sidebars[$index]) || !array_key_exists($index, $sidebars_widgets) || !is_array($sidebars_widgets[$index]) || empty($sidebars_widgets[$index]) )
+       if ( empty( $wp_registered_sidebars[ $index ] ) || empty( $sidebars_widgets[ $index ] ) || ! is_array( $sidebars_widgets[ $index ] ) ) {
                return false;
                return false;
+       }
 
        $sidebar = $wp_registered_sidebars[$index];
 
 
        $sidebar = $wp_registered_sidebars[$index];
 
@@ -984,10 +975,8 @@ function is_dynamic_sidebar() {
 function is_active_sidebar( $index ) {
        $index = ( is_int($index) ) ? "sidebar-$index" : sanitize_title($index);
        $sidebars_widgets = wp_get_sidebars_widgets();
 function is_active_sidebar( $index ) {
        $index = ( is_int($index) ) ? "sidebar-$index" : sanitize_title($index);
        $sidebars_widgets = wp_get_sidebars_widgets();
-       if ( !empty($sidebars_widgets[$index]) )
-               return true;
-
-       return false;
+       $is_active_sidebar = ! empty( $sidebars_widgets[$index] );
+       return $is_active_sidebar;
 }
 
 /* Internal Functions */
 }
 
 /* Internal Functions */
@@ -1008,7 +997,7 @@ function wp_get_sidebars_widgets($deprecated = true) {
        if ( $deprecated !== true )
                _deprecated_argument( __FUNCTION__, '2.8.1' );
 
        if ( $deprecated !== true )
                _deprecated_argument( __FUNCTION__, '2.8.1' );
 
-       global $wp_registered_widgets, $_wp_sidebars_widgets, $sidebars_widgets;
+       global $_wp_sidebars_widgets, $sidebars_widgets;
 
        // If loading from front page, consult $_wp_sidebars_widgets rather than options
        // to see if wp_convert_widget_settings() has made manipulations in memory.
 
        // If loading from front page, consult $_wp_sidebars_widgets rather than options
        // to see if wp_convert_widget_settings() has made manipulations in memory.
@@ -1172,7 +1161,7 @@ function _wp_sidebars_changed() {
 
 // look for "lost" widgets, this has to run at least on each theme change
 function retrieve_widgets($theme_changed = false) {
 
 // look for "lost" widgets, this has to run at least on each theme change
 function retrieve_widgets($theme_changed = false) {
-       global $wp_registered_widget_updates, $wp_registered_sidebars, $sidebars_widgets, $wp_registered_widgets;
+       global $wp_registered_sidebars, $sidebars_widgets, $wp_registered_widgets;
 
        $registered_sidebar_keys = array_keys( $wp_registered_sidebars );
        $orphaned = 0;
 
        $registered_sidebar_keys = array_keys( $wp_registered_sidebars );
        $orphaned = 0;
index 2398002e323dcc9519f71a29a972113a83688d1f..068351b76644d3fc311345c4e0af3a1aed2e89e8 100644 (file)
@@ -1180,8 +1180,14 @@ class wpdb {
        function query( $query ) {
                if ( ! $this->ready )
                        return false;
        function query( $query ) {
                if ( ! $this->ready )
                        return false;
-
-               // some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
+               /**
+                * Filter the database query.
+                *
+                * Some queries are made before the plugins have been loaded, and thus cannot be filtered with this method.
+                *
+                * @since 2.1.0
+                * @param string $query Database query.
+                */
                $query = apply_filters( 'query', $query );
 
                $return_val = 0;
                $query = apply_filters( 'query', $query );
 
                $return_val = 0;
index e30869bdc836074d4b07c03508f3d0c70745342d..b196f736da518a16f231e0b1f0c80bee477d3dfe 100644 (file)
@@ -12,7 +12,7 @@
  * @package WordPress
  */
 
  * @package WordPress
  */
 
-require_once('./wp-load.php');
+require_once( dirname( __FILE__ ) . '/wp-load.php' );
 
 header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
 $link_cat = '';
 
 header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
 $link_cat = '';
@@ -28,7 +28,14 @@ echo '<?xml version="1.0"?'.">\n";
        <head>
                <title><?php printf( __('Links for %s'), esc_attr(get_bloginfo('name', 'display')) ); ?></title>
                <dateCreated><?php echo gmdate("D, d M Y H:i:s"); ?> GMT</dateCreated>
        <head>
                <title><?php printf( __('Links for %s'), esc_attr(get_bloginfo('name', 'display')) ); ?></title>
                <dateCreated><?php echo gmdate("D, d M Y H:i:s"); ?> GMT</dateCreated>
-               <?php do_action('opml_head'); ?>
+               <?php
+               /**
+                * Fires in the OPML header.
+                *
+                * @since 3.0.0
+                */
+               do_action( 'opml_head' );
+               ?>
        </head>
        <body>
 <?php
        </head>
        <body>
 <?php
@@ -38,14 +45,28 @@ else
        $cats = get_categories(array('taxonomy' => 'link_category', 'hierarchical' => 0, 'include' => $link_cat));
 
 foreach ( (array)$cats as $cat ) :
        $cats = get_categories(array('taxonomy' => 'link_category', 'hierarchical' => 0, 'include' => $link_cat));
 
 foreach ( (array)$cats as $cat ) :
-       $catname = apply_filters('link_category', $cat->name);
+       /**
+        * Filter the OPML outline link category name.
+        *
+        * @since 2.2.0
+        *
+        * @param string $catname The OPML outline category name.
+        */
+       $catname = apply_filters( 'link_category', $cat->name );
 
 ?>
 <outline type="category" title="<?php echo esc_attr($catname); ?>">
 <?php
        $bookmarks = get_bookmarks(array("category" => $cat->term_id));
        foreach ( (array)$bookmarks as $bookmark ) :
 
 ?>
 <outline type="category" title="<?php echo esc_attr($catname); ?>">
 <?php
        $bookmarks = get_bookmarks(array("category" => $cat->term_id));
        foreach ( (array)$bookmarks as $bookmark ) :
-               $title = apply_filters('link_title', $bookmark->link_name);
+               /**
+                * Filter the OPML outline link title text.
+                *
+                * @since 2.2.0
+                *
+                * @param string $title The OPML outline title text.
+                */
+               $title = apply_filters( 'link_title', $bookmark->link_name );
 ?>
        <outline text="<?php echo esc_attr($title); ?>" type="link" xmlUrl="<?php echo esc_attr($bookmark->link_rss); ?>" htmlUrl="<?php echo esc_attr($bookmark->link_url); ?>" updated="<?php if ('0000-00-00 00:00:00' != $bookmark->link_updated) echo $bookmark->link_updated; ?>" />
 <?php
 ?>
        <outline text="<?php echo esc_attr($title); ?>" type="link" xmlUrl="<?php echo esc_attr($bookmark->link_rss); ?>" htmlUrl="<?php echo esc_attr($bookmark->link_url); ?>" updated="<?php if ('0000-00-00 00:00:00' != $bookmark->link_updated) echo $bookmark->link_updated; ?>" />
 <?php
@@ -56,4 +77,4 @@ foreach ( (array)$cats as $cat ) :
 endforeach; // $cats
 ?>
 </body>
 endforeach; // $cats
 ?>
 </body>
-</opml>
\ No newline at end of file
+</opml>
index 983558abd1db81fc7dca08a4e1e579f0ce98a061..fb859533c36f0b6b4f9002d6d8c008e1d40200fc 100644 (file)
@@ -37,12 +37,6 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) {
 
        // A config file doesn't exist
 
 
        // A config file doesn't exist
 
-       // Set a path for the link to the installer
-       if ( strpos($_SERVER['PHP_SELF'], 'wp-admin') !== false )
-               $path = 'setup-config.php';
-       else
-               $path = 'wp-admin/setup-config.php';
-
        define( 'WPINC', 'wp-includes' );
        define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
        require_once( ABSPATH . WPINC . '/load.php' );
        define( 'WPINC', 'wp-includes' );
        define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
        require_once( ABSPATH . WPINC . '/load.php' );
@@ -51,8 +45,13 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) {
        wp_check_php_mysql_versions();
        wp_load_translations_early();
 
        wp_check_php_mysql_versions();
        wp_load_translations_early();
 
+       // Standardize $_SERVER variables across setups.
+       wp_fix_server_vars();
+
        require_once( ABSPATH . WPINC . '/functions.php' );
 
        require_once( ABSPATH . WPINC . '/functions.php' );
 
+       $path = wp_guess_url() . '/wp-admin/setup-config.php';
+
        // 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>';
        // 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>';
index 532ffd970de3025aaca22dfe7184ff3ecac64eda..042f29a820fdfc7f5646435dbcee52f56bbf8426 100644 (file)
@@ -23,19 +23,11 @@ if ( force_ssl_admin() && ! is_ssl() ) {
 }
 
 /**
 }
 
 /**
- * Outputs the header for the login page.
+ * Output the login page header.
  *
  *
- * @uses do_action() Calls the 'login_head' for outputting HTML in the Log In
- *             header.
- * @uses apply_filters() Calls 'login_headerurl' for the top login link.
- * @uses apply_filters() Calls 'login_headertitle' for the top login title.
- * @uses apply_filters() Calls 'login_message' on the message to display in the
- *             header.
- * @uses $error The error global, which is checked for displaying errors.
- *
- * @param string $title Optional. WordPress Log In Page title to display in
- *             <title/> element.
- * @param string $message Optional. Message to display in 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
  */
 function login_header($title = 'Log In', $message = '', $wp_error = '') {
  * @param WP_Error $wp_error Optional. WordPress Error Object
  */
 function login_header($title = 'Log In', $message = '', $wp_error = '') {
@@ -44,11 +36,21 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
        // Don't index any of these forms
        add_action( 'login_head', 'wp_no_robots' );
 
        // Don't index any of these forms
        add_action( 'login_head', 'wp_no_robots' );
 
+       if ( wp_is_mobile() )
+               add_action( 'login_head', 'wp_login_viewport_meta' );
+
        if ( empty($wp_error) )
                $wp_error = new WP_Error();
 
        // Shake it!
        $shake_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password' );
        if ( empty($wp_error) )
                $wp_error = new WP_Error();
 
        // Shake it!
        $shake_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password' );
+       /**
+        * Filter the error codes array for shaking the login form.
+        *
+        * @since 3.0.0
+        *
+        * @param array $shake_error_codes Error codes that shake the login form.
+        */
        $shake_error_codes = apply_filters( 'shake_error_codes', $shake_error_codes );
 
        if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
        $shake_error_codes = apply_filters( 'shake_error_codes', $shake_error_codes );
 
        if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )
@@ -64,10 +66,6 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
        wp_admin_css( 'wp-admin', true );
        wp_admin_css( 'colors-fresh', true );
 
        wp_admin_css( 'wp-admin', true );
        wp_admin_css( 'colors-fresh', true );
 
-       if ( wp_is_mobile() ) { ?>
-               <meta name="viewport" content="width=320, initial-scale=0.9, maximum-scale=1.0, user-scalable=0" /><?php
-       }
-
        // 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
@@ -77,7 +75,17 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
                <?php
        }
 
                <?php
        }
 
+       /**
+        * Enqueue scripts and styles for the login page.
+        *
+        * @since 3.1.0
+        */
        do_action( 'login_enqueue_scripts' );
        do_action( 'login_enqueue_scripts' );
+       /**
+        * Fires in the login page header after scripts are enqueued.
+        *
+        * @since 2.1.0
+        */
        do_action( 'login_head' );
 
        if ( is_multisite() ) {
        do_action( 'login_head' );
 
        if ( is_multisite() ) {
@@ -88,7 +96,21 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
                $login_header_title = __( 'Powered by WordPress' );
        }
 
                $login_header_title = __( 'Powered by WordPress' );
        }
 
-       $login_header_url   = apply_filters( 'login_headerurl',   $login_header_url   );
+       /**
+        * Filter link URL of the header logo above login form.
+        *
+        * @since 2.1.0
+        *
+        * @param string $login_header_url Login header logo URL.
+        */
+       $login_header_url = apply_filters( 'login_headerurl', $login_header_url );
+       /**
+        * Filter the title attribute of the header logo above login form.
+        *
+        * @since 2.1.0
+        *
+        * @param string $login_header_title Login header logo title attribute.
+        */
        $login_header_title = apply_filters( 'login_headertitle', $login_header_title );
 
        $classes = array( 'login-action-' . $action, 'wp-core-ui' );
        $login_header_title = apply_filters( 'login_headertitle', $login_header_title );
 
        $classes = array( 'login-action-' . $action, 'wp-core-ui' );
@@ -106,6 +128,14 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
                        $classes[] = 'interim-login-success';
        }
 
                        $classes[] = 'interim-login-success';
        }
 
+       /**
+        * Filter the login page body classes.
+        *
+        * @since 3.5.0
+        *
+        * @param array  $classes An array of body classes.
+        * @param string $action  The action that brought the visitor to the login page.
+        */
        $classes = apply_filters( 'login_body_class', $classes, $action );
 
        ?>
        $classes = apply_filters( 'login_body_class', $classes, $action );
 
        ?>
@@ -117,7 +147,14 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
 
        unset( $login_header_url, $login_header_title );
 
 
        unset( $login_header_url, $login_header_title );
 
-       $message = apply_filters('login_message', $message);
+       /**
+        * Filter the message to display above the login form.
+        *
+        * @since 2.1.0
+        *
+        * @param string $message Login message text.
+        */
+       $message = apply_filters( 'login_message', $message );
        if ( !empty( $message ) )
                echo $message . "\n";
 
        if ( !empty( $message ) )
                echo $message . "\n";
 
@@ -139,10 +176,26 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
                                        $errors .= '    ' . $error . "<br />\n";
                        }
                }
                                        $errors .= '    ' . $error . "<br />\n";
                        }
                }
-               if ( !empty($errors) )
-                       echo '<div id="login_error">' . apply_filters('login_errors', $errors) . "</div>\n";
-               if ( !empty($messages) )
-                       echo '<p class="message">' . apply_filters('login_messages', $messages) . "</p>\n";
+               if ( ! empty( $errors ) ) {
+                       /**
+                        * Filter the error messages displayed above the login form.
+                        *
+                        * @since 2.1.0
+                        *
+                        * @param string $errors Login error message.
+                        */
+                       echo '<div id="login_error">' . apply_filters( 'login_errors', $errors ) . "</div>\n";
+               }
+               if ( ! empty( $messages ) ) {
+                       /**
+                        * Filter instructional messages displayed above the login form.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string $messages Login messages.
+                        */
+                       echo '<p class="message">' . apply_filters( 'login_messages', $messages ) . "</p>\n";
+               }
        }
 } // End of login_header()
 
        }
 } // End of login_header()
 
@@ -168,7 +221,13 @@ function login_footer($input_id = '') {
        </script>
        <?php endif; ?>
 
        </script>
        <?php endif; ?>
 
-       <?php do_action('login_footer'); ?>
+       <?php
+       /**
+        * Fires in the login page footer.
+        *
+        * @since 3.1.0
+        */
+       do_action( 'login_footer' ); ?>
        <div class="clear"></div>
        </body>
        </html>
        <div class="clear"></div>
        </body>
        </html>
@@ -189,6 +248,12 @@ addLoadEvent(function(){ var p=new Array(15,30,15,0,-15,-30,-15,0);p=p.concat(p.
 <?php
 }
 
 <?php
 }
 
+function wp_login_viewport_meta() {
+       ?>
+       <meta name="viewport" content="width=device-width" />
+       <?php
+}
+
 /**
  * Handles sending password retrieval email to user.
  *
 /**
  * Handles sending password retrieval email to user.
  *
@@ -197,7 +262,7 @@ addLoadEvent(function(){ var p=new Array(15,30,15,0,-15,-30,-15,0);p=p.concat(p.
  * @return bool|WP_Error True: when finish. WP_Error on error
  */
 function retrieve_password() {
  * @return bool|WP_Error True: when finish. WP_Error on error
  */
 function retrieve_password() {
-       global $wpdb, $current_site;
+       global $wpdb, $current_site, $wp_hasher;
 
        $errors = new WP_Error();
 
 
        $errors = new WP_Error();
 
@@ -212,7 +277,12 @@ function retrieve_password() {
                $user_data = get_user_by('login', $login);
        }
 
                $user_data = get_user_by('login', $login);
        }
 
-       do_action('lostpassword_post');
+       /**
+        * Fires before errors are returned from a password reset request.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'lostpassword_post' );
 
        if ( $errors->get_error_code() )
                return $errors;
 
        if ( $errors->get_error_code() )
                return $errors;
@@ -226,24 +296,60 @@ function retrieve_password() {
        $user_login = $user_data->user_login;
        $user_email = $user_data->user_email;
 
        $user_login = $user_data->user_login;
        $user_email = $user_data->user_email;
 
-       do_action('retreive_password', $user_login);  // Misspelled and deprecated
-       do_action('retrieve_password', $user_login);
-
-       $allow = apply_filters('allow_password_reset', true, $user_data->ID);
+       /**
+        * Fires before a new password is retrieved.
+        *
+        * @since 1.5.2
+        * @deprecated 1.5.2 Misspelled. Use 'retrieve_password' hook instead.
+        *
+        * @param string $user_login The user login name.
+        */
+       do_action( 'retreive_password', $user_login );
+       /**
+        * Fires before a new password is retrieved.
+        *
+        * @since 1.5.2
+        *
+        * @param string $user_login The user login name.
+        */
+       do_action( 'retrieve_password', $user_login );
+
+       /**
+        * Filter whether to allow a password to be reset.
+        *
+        * @since 2.7.0
+        *
+        * @param bool true           Whether to allow the password to be reset. Default true.
+        * @param int  $user_data->ID The ID of the user attempting to reset a password.
+        */
+       $allow = apply_filters( 'allow_password_reset', true, $user_data->ID );
 
        if ( ! $allow )
                return new WP_Error('no_password_reset', __('Password reset is not allowed for this user'));
        else if ( is_wp_error($allow) )
                return $allow;
 
 
        if ( ! $allow )
                return new WP_Error('no_password_reset', __('Password reset is not allowed for this user'));
        else if ( is_wp_error($allow) )
                return $allow;
 
-       $key = $wpdb->get_var($wpdb->prepare("SELECT user_activation_key FROM $wpdb->users WHERE user_login = %s", $user_login));
-       if ( empty($key) ) {
-               // Generate something random for a key...
-               $key = wp_generate_password(20, false);
-               do_action('retrieve_password_key', $user_login, $key);
-               // Now insert the new md5 key into the db
-               $wpdb->update($wpdb->users, array('user_activation_key' => $key), array('user_login' => $user_login));
+       // Generate something random for a password reset key.
+       $key = wp_generate_password( 20, false );
+
+       /**
+        * Fires when a password reset key is generated.
+        *
+        * @since 2.5.0
+        *
+        * @param string $user_login The username for the user.
+        * @param string $key        The generated password reset key.
+        */
+       do_action( 'retrieve_password_key', $user_login, $key );
+
+       // Now insert the key, hashed, into the DB.
+       if ( empty( $wp_hasher ) ) {
+               require_once ABSPATH . 'wp-includes/class-phpass.php';
+               $wp_hasher = new PasswordHash( 8, true );
        }
        }
+       $hashed = $wp_hasher->HashPassword( $key );
+       $wpdb->update( $wpdb->users, array( 'user_activation_key' => $hashed ), array( 'user_login' => $user_login ) );
+
        $message = __('Someone requested that the password be reset for the following account:') . "\r\n\r\n";
        $message .= network_home_url( '/' ) . "\r\n\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
        $message = __('Someone requested that the password be reset for the following account:') . "\r\n\r\n";
        $message .= network_home_url( '/' ) . "\r\n\r\n";
        $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
@@ -260,8 +366,23 @@ function retrieve_password() {
 
        $title = sprintf( __('[%s] Password Reset'), $blogname );
 
 
        $title = sprintf( __('[%s] Password Reset'), $blogname );
 
-       $title = apply_filters('retrieve_password_title', $title);
-       $message = apply_filters('retrieve_password_message', $message, $key);
+       /**
+        * Filter the subject of the password reset email.
+        *
+        * @since 2.8.0
+        *
+        * @param string $title Default email title.
+        */
+       $title = apply_filters( 'retrieve_password_title', $title );
+       /**
+        * Filter the message body of the password reset mail.
+        *
+        * @since 2.8.0
+        *
+        * @param string $message Default mail message.
+        * @param string $key     The activation key.
+        */
+       $message = apply_filters( 'retrieve_password_message', $message, $key );
 
        if ( $message && !wp_mail($user_email, $title, $message) )
                wp_die( __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.') );
 
        if ( $message && !wp_mail($user_email, $title, $message) )
                wp_die( __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.') );
@@ -269,102 +390,6 @@ function retrieve_password() {
        return true;
 }
 
        return true;
 }
 
-/**
- * Retrieves a user row based on password reset key and login
- *
- * @uses $wpdb WordPress Database object
- *
- * @param string $key Hash to validate sending user's password
- * @param string $login The user login
- * @return object|WP_Error User's database row on success, error object for invalid keys
- */
-function check_password_reset_key($key, $login) {
-       global $wpdb;
-
-       $key = preg_replace('/[^a-z0-9]/i', '', $key);
-
-       if ( empty( $key ) || !is_string( $key ) )
-               return new WP_Error('invalid_key', __('Invalid key'));
-
-       if ( empty($login) || !is_string($login) )
-               return new WP_Error('invalid_key', __('Invalid key'));
-
-       $user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_activation_key = %s AND user_login = %s", $key, $login));
-
-       if ( empty( $user ) )
-               return new WP_Error('invalid_key', __('Invalid key'));
-
-       return $user;
-}
-
-/**
- * Handles resetting the user's password.
- *
- * @param object $user The user
- * @param string $new_pass New password for the user in plaintext
- */
-function reset_password($user, $new_pass) {
-       do_action('password_reset', $user, $new_pass);
-
-       wp_set_password($new_pass, $user->ID);
-
-       wp_password_change_notification($user);
-}
-
-/**
- * Handles registering a new user.
- *
- * @param string $user_login User's username for logging in
- * @param string $user_email User's email address to send password and add
- * @return int|WP_Error Either user's ID or error on failure.
- */
-function register_new_user( $user_login, $user_email ) {
-       $errors = new WP_Error();
-
-       $sanitized_user_login = sanitize_user( $user_login );
-       $user_email = apply_filters( 'user_registration_email', $user_email );
-
-       // Check the username
-       if ( $sanitized_user_login == '' ) {
-               $errors->add( 'empty_username', __( '<strong>ERROR</strong>: Please enter a username.' ) );
-       } elseif ( ! validate_username( $user_login ) ) {
-               $errors->add( 'invalid_username', __( '<strong>ERROR</strong>: This username is invalid because it uses illegal characters. Please enter a valid username.' ) );
-               $sanitized_user_login = '';
-       } elseif ( username_exists( $sanitized_user_login ) ) {
-               $errors->add( 'username_exists', __( '<strong>ERROR</strong>: This username is already registered. Please choose another one.' ) );
-       }
-
-       // Check the e-mail address
-       if ( $user_email == '' ) {
-               $errors->add( 'empty_email', __( '<strong>ERROR</strong>: Please type your e-mail address.' ) );
-       } elseif ( ! is_email( $user_email ) ) {
-               $errors->add( 'invalid_email', __( '<strong>ERROR</strong>: The email address isn&#8217;t correct.' ) );
-               $user_email = '';
-       } elseif ( email_exists( $user_email ) ) {
-               $errors->add( 'email_exists', __( '<strong>ERROR</strong>: This email is already registered, please choose another one.' ) );
-       }
-
-       do_action( 'register_post', $sanitized_user_login, $user_email, $errors );
-
-       $errors = apply_filters( 'registration_errors', $errors, $sanitized_user_login, $user_email );
-
-       if ( $errors->get_error_code() )
-               return $errors;
-
-       $user_pass = wp_generate_password( 12, false);
-       $user_id = wp_create_user( $sanitized_user_login, $user_pass, $user_email );
-       if ( ! $user_id ) {
-               $errors->add( 'registerfail', sprintf( __( '<strong>ERROR</strong>: Couldn&#8217;t register you&hellip; please contact the <a href="mailto:%s">webmaster</a> !' ), get_option( 'admin_email' ) ) );
-               return $errors;
-       }
-
-       update_user_option( $user_id, 'default_password_nag', true, true ); //Set up the Password change nag.
-
-       wp_new_user_notification( $user_id, $user_pass );
-
-       return $user_id;
-}
-
 //
 // Main
 //
 //
 // Main
 //
@@ -397,8 +422,21 @@ setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
 if ( SITECOOKIEPATH != COOKIEPATH )
        setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
 
 if ( SITECOOKIEPATH != COOKIEPATH )
        setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
 
-// allow plugins to override the default actions, and to add extra actions if they want
+/**
+ * Fires when the login form is initialized.
+ *
+ * @since 3.2.0
+ */
 do_action( 'login_init' );
 do_action( 'login_init' );
+/**
+ * Fires before a specified login form action.
+ *
+ * The dynamic portion of the hook name, $action, refers to the action
+ * that brought the visitor to the login form. Actions include 'postpass',
+ * 'logout', 'lostpassword', etc.
+ *
+ * @since 2.8.0
+ */
 do_action( 'login_form_' . $action );
 
 $http_post = ('POST' == $_SERVER['REQUEST_METHOD']);
 do_action( 'login_form_' . $action );
 
 $http_post = ('POST' == $_SERVER['REQUEST_METHOD']);
@@ -410,8 +448,18 @@ case 'postpass' :
        require_once ABSPATH . 'wp-includes/class-phpass.php';
        $hasher = new PasswordHash( 8, true );
 
        require_once ABSPATH . 'wp-includes/class-phpass.php';
        $hasher = new PasswordHash( 8, true );
 
-       // 10 days
-       setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), time() + 10 * DAY_IN_SECONDS, COOKIEPATH );
+       /**
+        * Filter the life span of the post password cookie.
+        *
+        * By default, the cookie expires 10 days from creation. To turn this
+        * into a session cookie, return 0.
+        *
+        * @since 3.7.0
+        *
+        * @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 );
 
        wp_safe_redirect( wp_get_referer() );
        exit();
 
        wp_safe_redirect( wp_get_referer() );
        exit();
@@ -440,10 +488,30 @@ case 'retrievepassword' :
                }
        }
 
                }
        }
 
-       if ( isset($_GET['error']) && 'invalidkey' == $_GET['error'] ) $errors->add('invalidkey', __('Sorry, that key does not appear to be valid.'));
-       $redirect_to = apply_filters( 'lostpassword_redirect', !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '' );
+       if ( isset( $_GET['error'] ) ) {
+               if ( 'invalidkey' == $_GET['error'] )
+                       $errors->add( 'invalidkey', __( 'Sorry, that key does not appear to be valid.' ) );
+               elseif ( 'expiredkey' == $_GET['error'] )
+                       $errors->add( 'expiredkey', __( 'Sorry, that key has expired. Please try again.' ) );
+       }
+
+       $lostpassword_redirect = ! empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
+       /**
+        * Filter the URL redirected to after submitting the lostpassword/retrievepassword form.
+        *
+        * @since 3.0.0
+        *
+        * @param string $lostpassword_redirect The redirect destination URL.
+        */
+       $redirect_to = apply_filters( 'lostpassword_redirect', $lostpassword_redirect );
+
+       /**
+        * Fires before the lost password form.
+        *
+        * @since 1.5.2
+        */
+       do_action( 'lost_password' );
 
 
-       do_action('lost_password');
        login_header(__('Lost Password'), '<p class="message">' . __('Please enter your username or email address. You will receive a link to create a new password via email.') . '</p>', $errors);
 
        $user_login = isset($_POST['user_login']) ? wp_unslash($_POST['user_login']) : '';
        login_header(__('Lost Password'), '<p class="message">' . __('Please enter your username or email address. You will receive a link to create a new password via email.') . '</p>', $errors);
 
        $user_login = isset($_POST['user_login']) ? wp_unslash($_POST['user_login']) : '';
@@ -455,16 +523,32 @@ case 'retrievepassword' :
                <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>
        </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>
        </p>
-<?php do_action('lostpassword_form'); ?>
+       <?php
+       /**
+        * Fires inside the lostpassword <form> tags, before the hidden fields.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'lostpassword_form' ); ?>
        <input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
        <p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Get New Password'); ?>" /></p>
 </form>
 
 <p id="nav">
 <a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e('Log in') ?></a>
        <input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
        <p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Get New Password'); ?>" /></p>
 </form>
 
 <p id="nav">
 <a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e('Log in') ?></a>
-<?php if ( get_option( 'users_can_register' ) ) : ?>
- | <?php echo apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); ?>
-<?php endif; ?>
+<?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.2
+        *
+        * @param string $registration_url Registration URL.
+        */
+       echo ' | ' . apply_filters( 'register', $registration_url );
+endif;
+?>
 </p>
 
 <?php
 </p>
 
 <?php
@@ -476,7 +560,10 @@ case 'rp' :
        $user = check_password_reset_key($_GET['key'], $_GET['login']);
 
        if ( is_wp_error($user) ) {
        $user = check_password_reset_key($_GET['key'], $_GET['login']);
 
        if ( is_wp_error($user) ) {
-               wp_redirect( site_url('wp-login.php?action=lostpassword&error=invalidkey') );
+               if ( $user->get_error_code() === 'expired_key' )
+                       wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=expiredkey' ) );
+               else
+                       wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=invalidkey' ) );
                exit;
        }
 
                exit;
        }
 
@@ -485,6 +572,14 @@ case 'rp' :
        if ( isset($_POST['pass1']) && $_POST['pass1'] != $_POST['pass2'] )
                $errors->add( 'password_reset_mismatch', __( 'The passwords do not match.' ) );
 
        if ( isset($_POST['pass1']) && $_POST['pass1'] != $_POST['pass2'] )
                $errors->add( 'password_reset_mismatch', __( 'The passwords do not match.' ) );
 
+       /**
+        * Fires before the password reset procedure is validated.
+        *
+        * @since 3.5.0
+        *
+        * @param object           $errors WP Error object.
+        * @param WP_User|WP_Error $user   WP_User object if the login and reset key match. WP_Error object otherwise.
+        */
        do_action( 'validate_password_reset', $errors, $user );
 
        if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && !empty( $_POST['pass1'] ) ) {
        do_action( 'validate_password_reset', $errors, $user );
 
        if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && !empty( $_POST['pass1'] ) ) {
@@ -521,9 +616,13 @@ case 'rp' :
 
 <p id="nav">
 <a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
 
 <p id="nav">
 <a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
-<?php if ( get_option( 'users_can_register' ) ) : ?>
- | <?php echo apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); ?>
-<?php endif; ?>
+<?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 */
+       echo ' | ' . apply_filters( 'register', $registration_url );
+endif;
+?>
 </p>
 
 <?php
 </p>
 
 <?php
@@ -532,8 +631,15 @@ break;
 
 case 'register' :
        if ( is_multisite() ) {
 
 case 'register' :
        if ( is_multisite() ) {
-               // Multisite uses wp-signup.php
-               wp_redirect( apply_filters( 'wp_signup_location', network_site_url('wp-signup.php') ) );
+               $sign_up_url = network_site_url( 'wp-signup.php' );
+               /**
+                * Filter the Multisite sign up URL.
+                *
+                * @since 3.0.0
+                *
+                * @param string $sign_up_url The sign up URL.
+                */
+               wp_redirect( apply_filters( 'wp_signup_location', $sign_up_url ) );
                exit;
        }
 
                exit;
        }
 
@@ -555,7 +661,15 @@ case 'register' :
                }
        }
 
                }
        }
 
-       $redirect_to = apply_filters( 'registration_redirect', !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '' );
+       $registration_redirect = ! empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
+       /**
+        * Filter the registration redirect URL.
+        *
+        * @since 3.0.0
+        *
+        * @param string $registration_redirect The redirect destination URL.
+        */
+       $redirect_to = apply_filters( 'registration_redirect', $registration_redirect );
        login_header(__('Registration Form'), '<p class="message register">' . __('Register For This Site') . '</p>', $errors);
 ?>
 
        login_header(__('Registration Form'), '<p class="message register">' . __('Register For This Site') . '</p>', $errors);
 ?>
 
@@ -568,7 +682,14 @@ case 'register' :
                <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>
        </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>
        </p>
-<?php do_action('register_form'); ?>
+       <?php
+       /**
+        * Fires following the 'E-mail' field in the user registration form.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'register_form' );
+       ?>
        <p id="reg_passmail"><?php _e('A password will be e-mailed to you.') ?></p>
        <br class="clear" />
        <input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
        <p id="reg_passmail"><?php _e('A password will be e-mailed to you.') ?></p>
        <br class="clear" />
        <input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
@@ -619,9 +740,23 @@ default:
        if ( !$secure_cookie && is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) )
                $secure_cookie = false;
 
        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);
-
-       $redirect_to = apply_filters('login_redirect', $redirect_to, isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '', $user);
+       // If cookies are disabled we can't log in even with a valid user+pass
+       if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
+               $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
+       else
+               $user = wp_signon('', $secure_cookie);
+
+       $requested_redirect_to = isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
+       /**
+        * Filter the login redirect URL.
+        *
+        * @since 3.0.0
+        *
+        * @param string           $redirect_to           The redirect destination URL.
+        * @param string           $requested_redirect_to The requested redirect destination URL passed as a parameter.
+        * @param WP_User|WP_Error $user                  WP_User object if login was successful, WP_Error object otherwise.
+        */
+       $redirect_to = apply_filters( 'login_redirect', $redirect_to, $requested_redirect_to, $user );
 
        if ( !is_wp_error($user) && !$reauth ) {
                if ( $interim_login ) {
 
        if ( !is_wp_error($user) && !$reauth ) {
                if ( $interim_login ) {
@@ -629,7 +764,9 @@ default:
                        $interim_login = 'success';
                        login_header( '', $message ); ?>
                        </div>
                        $interim_login = 'success';
                        login_header( '', $message ); ?>
                        </div>
-                       <?php do_action( 'login_footer' ); ?>
+                       <?php
+                       /** This action is documented in wp-login.php */
+                       do_action( 'login_footer' ); ?>
                        <?php if ( $customize_login ) : ?>
                                <script type="text/javascript">setTimeout( function(){ new wp.customize.Messenger({ url: '<?php echo wp_customize_url(); ?>', channel: 'login' }).send('login') }, 1000 );</script>
                        <?php endif; ?>
                        <?php if ( $customize_login ) : ?>
                                <script type="text/javascript">setTimeout( function(){ new wp.customize.Messenger({ url: '<?php echo wp_customize_url(); ?>', channel: 'login' }).send('login') }, 1000 );</script>
                        <?php endif; ?>
@@ -655,10 +792,6 @@ default:
        if ( !empty($_GET['loggedout']) || $reauth )
                $errors = new WP_Error();
 
        if ( !empty($_GET['loggedout']) || $reauth )
                $errors = new WP_Error();
 
-       // If cookies are disabled we can't log in even with a valid user+pass
-       if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
-               $errors->add('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
-
        if ( $interim_login ) {
                if ( ! $errors->get_error_code() )
                        $errors->add('expired', __('Session expired. Please log in again. You will not move away from this page.'), 'message');
        if ( $interim_login ) {
                if ( ! $errors->get_error_code() )
                        $errors->add('expired', __('Session expired. Please log in again. You will not move away from this page.'), 'message');
@@ -678,6 +811,14 @@ default:
                        $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 experience the awesomeness.' ), 'message' );
        }
 
+       /**
+        * Filter the login page errors.
+        *
+        * @since 3.6.0
+        *
+        * @param object $errors      WP Error object.
+        * @param string $redirect_to Redirect destination URL.
+        */
        $errors = apply_filters( 'wp_login_errors', $errors, $redirect_to );
 
        // Clear any stale cookies.
        $errors = apply_filters( 'wp_login_errors', $errors, $redirect_to );
 
        // Clear any stale cookies.
@@ -700,7 +841,14 @@ default:
                <label for="user_pass"><?php _e('Password') ?><br />
                <input type="password" name="pwd" id="user_pass" class="input" value="" size="20" /></label>
        </p>
                <label for="user_pass"><?php _e('Password') ?><br />
                <input type="password" name="pwd" id="user_pass" class="input" value="" size="20" /></label>
        </p>
-<?php do_action('login_form'); ?>
+       <?php
+       /**
+        * Fires following the 'Password' field in the login form.
+        *
+        * @since 2.1.0
+        */
+       do_action( 'login_form' );
+       ?>
        <p class="forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="forever" <?php checked( $rememberme ); ?> /> <?php esc_attr_e('Remember Me'); ?></label></p>
        <p class="submit">
                <input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Log In'); ?>" />
        <p class="forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="forever" <?php checked( $rememberme ); ?> /> <?php esc_attr_e('Remember Me'); ?></label></p>
        <p class="submit">
                <input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Log In'); ?>" />
@@ -718,10 +866,13 @@ default:
 
 <?php if ( ! $interim_login ) { ?>
 <p id="nav">
 
 <?php if ( ! $interim_login ) { ?>
 <p id="nav">
-<?php if ( ! isset( $_GET['checkemail'] ) || ! in_array( $_GET['checkemail'], array( 'confirm', 'newpass' ) ) ) : ?>
-       <?php if ( get_option( 'users_can_register' ) ) : ?>
-               <?php echo apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); ?> |
-       <?php endif; ?>
+<?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 */
+               echo apply_filters( 'register', $registration_url ) . ' | ';
+       endif;
+       ?>
        <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>" title="<?php esc_attr_e( 'Password Lost and Found' ); ?>"><?php _e( 'Lost your password?' ); ?></a>
 <?php endif; ?>
 </p>
        <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>" title="<?php esc_attr_e( 'Password Lost and Found' ); ?>"><?php _e( 'Lost your password?' ); ?></a>
 <?php endif; ?>
 </p>
index 27290b11151fcd2429aa9418cc306c56a0d7bf3f..aab91837832e2059eefaec9bc7f8e97d938f75db 100644 (file)
@@ -10,6 +10,7 @@
 /** Make sure that the WordPress bootstrap has run before continuing. */
 require(dirname(__FILE__) . '/wp-load.php');
 
 /** Make sure that the WordPress bootstrap has run before continuing. */
 require(dirname(__FILE__) . '/wp-load.php');
 
+/** This filter is documented in wp-admin/options.php */
 if ( ! apply_filters( 'enable_post_by_email_configuration', true ) )
        wp_die( __( 'This action has been disabled by the administrator.' ) );
 
 if ( ! apply_filters( 'enable_post_by_email_configuration', true ) )
        wp_die( __( 'This action has been disabled by the administrator.' ) );
 
index 1094749e3580a61ad9a85eb491d8db7cc1b0d2a7..553ec2476c64adc284bffd6b72442ec0bdbacc57 100644 (file)
@@ -107,6 +107,7 @@ require( ABSPATH . WPINC . '/class-wp-ajax-response.php' );
 require( ABSPATH . WPINC . '/formatting.php' );
 require( ABSPATH . WPINC . '/capabilities.php' );
 require( ABSPATH . WPINC . '/query.php' );
 require( ABSPATH . WPINC . '/formatting.php' );
 require( ABSPATH . WPINC . '/capabilities.php' );
 require( ABSPATH . WPINC . '/query.php' );
+require( ABSPATH . WPINC . '/date.php' );
 require( ABSPATH . WPINC . '/theme.php' );
 require( ABSPATH . WPINC . '/class-wp-theme.php' );
 require( ABSPATH . WPINC . '/template.php' );
 require( ABSPATH . WPINC . '/theme.php' );
 require( ABSPATH . WPINC . '/class-wp-theme.php' );
 require( ABSPATH . WPINC . '/template.php' );
@@ -170,6 +171,11 @@ if ( is_multisite() ) {
        unset( $network_plugin );
 }
 
        unset( $network_plugin );
 }
 
+/**
+ * Fires once all must-use and network-activated plugins have loaded.
+ *
+ * @since 2.8.0
+ */
 do_action( 'muplugins_loaded' );
 
 if ( is_multisite() )
 do_action( 'muplugins_loaded' );
 
 if ( is_multisite() )
@@ -208,6 +214,13 @@ wp_set_internal_encoding();
 if ( WP_CACHE && function_exists( 'wp_cache_postload' ) )
        wp_cache_postload();
 
 if ( WP_CACHE && function_exists( 'wp_cache_postload' ) )
        wp_cache_postload();
 
+/**
+ * Fires once activated plugins have loaded.
+ *
+ * Pluggable functions are also available at this point in the loading order.
+ *
+ * @since 1.5.2
+ */
 do_action( 'plugins_loaded' );
 
 // Define constants which affect functionality if not already defined.
 do_action( 'plugins_loaded' );
 
 // Define constants which affect functionality if not already defined.
@@ -216,6 +229,11 @@ wp_functionality_constants();
 // Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
 wp_magic_quotes();
 
 // Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
 wp_magic_quotes();
 
+/**
+ * Fires when comment cookies are sanitized.
+ *
+ * @since 2.0.11
+ */
 do_action( 'sanitize_comment_cookies' );
 
 /**
 do_action( 'sanitize_comment_cookies' );
 
 /**
@@ -261,6 +279,11 @@ $GLOBALS['wp_widget_factory'] = new WP_Widget_Factory();
  */
 $GLOBALS['wp_roles'] = new WP_Roles();
 
  */
 $GLOBALS['wp_roles'] = new WP_Roles();
 
+/**
+ * Fires before the theme is loaded.
+ *
+ * @since 2.6.0
+ */
 do_action( 'setup_theme' );
 
 // Define the template related constants.
 do_action( 'setup_theme' );
 
 // Define the template related constants.
@@ -293,17 +316,26 @@ if ( ! defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) {
                include( TEMPLATEPATH . '/functions.php' );
 }
 
                include( TEMPLATEPATH . '/functions.php' );
 }
 
+/**
+ * Fires after the theme is loaded.
+ *
+ * @since 3.0.0
+ */
 do_action( 'after_setup_theme' );
 
 // Set up current user.
 $wp->init();
 
 /**
 do_action( 'after_setup_theme' );
 
 // Set up current user.
 $wp->init();
 
 /**
+ * Fires after WordPress has finished loading but before any headers are sent.
+ *
  * Most of WP is loaded at this stage, and the user is authenticated. WP continues
  * to load on the init hook that follows (e.g. widgets), and many plugins instantiate
  * themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.).
  *
  * If you wish to plug an action once WP is loaded, use the wp_loaded hook below.
  * Most of WP is loaded at this stage, and the user is authenticated. WP continues
  * to load on the init hook that follows (e.g. widgets), and many plugins instantiate
  * themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.).
  *
  * If you wish to plug an action once WP is loaded, use the wp_loaded hook below.
+ *
+ * @since 1.5.2
  */
 do_action( 'init' );
 
  */
 do_action( 'init' );
 
@@ -326,4 +358,4 @@ if ( is_multisite() ) {
  *
  * @since 3.0.0
  */
  *
  * @since 3.0.0
  */
-do_action('wp_loaded');
+do_action( 'wp_loaded' );
index 9dd2c3da9579377f7ff41625727e723e2e107cd7..0ecee1e1d685c27be054c10f05420aa8e657f370 100644 (file)
@@ -5,7 +5,7 @@ require( dirname(__FILE__) . '/wp-load.php' );
 
 add_action( 'wp_head', 'wp_no_robots' );
 
 
 add_action( 'wp_head', 'wp_no_robots' );
 
-require( './wp-blog-header.php' );
+require( dirname( __FILE__ ) . '/wp-blog-header.php' );
 
 if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) && in_array( $_GET[ 'new' ], get_site_option( 'illegal_names' ) ) == true ) {
        wp_redirect( network_home_url() );
 
 if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) && in_array( $_GET[ 'new' ], get_site_option( 'illegal_names' ) ) == true ) {
        wp_redirect( network_home_url() );
@@ -18,6 +18,11 @@ if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) &&
  * @since MU
  */
 function do_signup_header() {
  * @since MU
  */
 function do_signup_header() {
+       /**
+        * Fires within the <head> section of the site sign-up screen.
+        *
+        * @since 3.0.0
+        */
        do_action( 'signup_header' );
 }
 add_action( 'wp_head', 'do_signup_header' );
        do_action( 'signup_header' );
 }
 add_action( 'wp_head', 'do_signup_header' );
@@ -63,6 +68,11 @@ function wpmu_signup_stylesheet() {
 add_action( 'wp_head', 'wpmu_signup_stylesheet' );
 get_header();
 
 add_action( 'wp_head', 'wpmu_signup_stylesheet' );
 get_header();
 
+/**
+ * Fires before the site sign-up form.
+ *
+ * @since 3.0.0
+ */
 do_action( 'before_signup_form' );
 ?>
 <div id="content" class="widecolumn">
 do_action( 'before_signup_form' );
 ?>
 <div id="content" class="widecolumn">
@@ -128,7 +138,14 @@ function show_blog_form($blogname = '', $blog_title = '', $errors = '') {
        </div>
 
        <?php
        </div>
 
        <?php
-       do_action('signup_blogform', $errors);
+       /**
+        * Fires after the site sign-up form.
+        *
+        * @since 3.0.0
+        *
+        * @param array $errors An array possibly containing 'blogname' or 'blog_title' errors.
+        */
+       do_action( 'signup_blogform', $errors );
 }
 
 /**
 }
 
 /**
@@ -176,6 +193,13 @@ function show_user_form($user_name = '', $user_email = '', $errors = '') {
        if ( $errmsg = $errors->get_error_message('generic') ) {
                echo '<p class="error">' . $errmsg . '</p>';
        }
        if ( $errmsg = $errors->get_error_message('generic') ) {
                echo '<p class="error">' . $errmsg . '</p>';
        }
+       /**
+        * Fires at the end of the user registration form on the site sign-up form.
+        *
+        * @since 3.0.0
+        *
+        * @param array $errors An array possibly containing 'user_name' or 'user_email' errors.
+        */
        do_action( 'signup_extra_fields', $errors );
 }
 
        do_action( 'signup_extra_fields', $errors );
 }
 
@@ -209,8 +233,27 @@ function signup_another_blog($blogname = '', $blog_title = '', $errors = '') {
                $errors = new WP_Error();
        }
 
                $errors = new WP_Error();
        }
 
-       // allow definition of default variables
-       $filtered_results = apply_filters('signup_another_blog_init', array('blogname' => $blogname, 'blog_title' => $blog_title, 'errors' => $errors ));
+       $signup_defaults = array(
+               'blogname'   => $blogname,
+               'blog_title' => $blog_title,
+               'errors'     => $errors
+       );
+
+       /**
+        * Filter the default site sign-up variables.
+        *
+        * @since 3.0.0
+        *
+        * @param array $signup_defaults {
+        *     An array of default site sign-up variables.
+        *
+        *     @type string $blogname   The site blogname.
+        *     @type string $blog_title The site title.
+        *     @type array  $errors     An array possibly containing 'blogname' or 'blog_title' errors.
+        * }
+        */
+       $filtered_results = apply_filters( 'signup_another_blog_init', $signup_defaults );
+
        $blogname = $filtered_results['blogname'];
        $blog_title = $filtered_results['blog_title'];
        $errors = $filtered_results['errors'];
        $blogname = $filtered_results['blogname'];
        $blog_title = $filtered_results['blog_title'];
        $errors = $filtered_results['errors'];
@@ -239,7 +282,17 @@ function signup_another_blog($blogname = '', $blog_title = '', $errors = '') {
        <p><?php _e( 'If you&#8217;re not going to use a great site domain, leave it for a new user. Now have at it!' ) ?></p>
        <form id="setupform" method="post" action="wp-signup.php">
                <input type="hidden" name="stage" value="gimmeanotherblog" />
        <p><?php _e( 'If you&#8217;re not going to use a great site domain, leave it for a new user. Now have at it!' ) ?></p>
        <form id="setupform" method="post" action="wp-signup.php">
                <input type="hidden" name="stage" value="gimmeanotherblog" />
-               <?php do_action( 'signup_hidden_fields' ); ?>
+               <?php
+               /**
+                * Hidden sign-up form fields output when creating another site or user.
+                *
+                * @since MU
+                *
+                * @param string $context A string describing the steps of the sign-up process. The value can be
+                *                        'create-another-site', 'validate-user', or 'validate-site'.
+                */
+               do_action( 'signup_hidden_fields', 'create-another-site' );
+               ?>
                <?php show_blog_form($blogname, $blog_title, $errors); ?>
                <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Create Site' ) ?>" /></p>
        </form>
                <?php show_blog_form($blogname, $blog_title, $errors); ?>
                <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Create Site' ) ?>" /></p>
        </form>
@@ -271,7 +324,33 @@ function validate_another_blog_signup() {
        }
 
        $public = (int) $_POST['blog_public'];
        }
 
        $public = (int) $_POST['blog_public'];
-       $meta = apply_filters( 'signup_create_blog_meta', array( 'lang_id' => 1, 'public' => $public ) ); // deprecated
+
+       $blog_meta_defaults = array(
+               'lang_id' => 1,
+               'public'  => $public
+       );
+
+       /**
+        * Filter the new site meta variables.
+        *
+        * @since MU
+        * @deprecated 3.0.0 Use the 'add_signup_meta' filter instead.
+        *
+        * @param array $blog_meta_defaults An array of default blog meta variables.
+        */
+       $meta = apply_filters( 'signup_create_blog_meta', $blog_meta_defaults );
+       /**
+        * Filter the new default site meta variables.
+        *
+        * @since 3.0.0
+        *
+        * @param array $meta {
+        *     An array of default site meta variables.
+        *
+        *     @type int $lang_id     The language ID.
+        *     @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 );
 
        wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, $wpdb->siteid );
        $meta = apply_filters( 'add_signup_meta', $meta );
 
        wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, $wpdb->siteid );
@@ -297,6 +376,11 @@ function confirm_another_blog_signup( $domain, $path, $blog_title, $user_name, $
                <?php printf( __( '<a href="http://%1$s">http://%2$s</a> is your new site. <a href="%3$s">Log in</a> as &#8220;%4$s&#8221; using your existing password.' ), $domain.$path, $domain.$path, "http://" . $domain.$path . "wp-login.php", $user_name ) ?>
        </p>
        <?php
                <?php printf( __( '<a href="http://%1$s">http://%2$s</a> is your new site. <a href="%3$s">Log in</a> as &#8220;%4$s&#8221; using your existing password.' ), $domain.$path, $domain.$path, "http://" . $domain.$path . "wp-login.php", $user_name ) ?>
        </p>
        <?php
+       /**
+        * Fires when the site or user sign-up process is complete.
+        *
+        * @since 3.0.0
+        */
        do_action( 'signup_finished' );
 }
 
        do_action( 'signup_finished' );
 }
 
@@ -319,8 +403,26 @@ function signup_user($user_name = '', $user_email = '', $errors = '') {
 
        $signup_for = isset( $_POST[ 'signup_for' ] ) ? esc_html( $_POST[ 'signup_for' ] ) : 'blog';
 
 
        $signup_for = isset( $_POST[ 'signup_for' ] ) ? esc_html( $_POST[ 'signup_for' ] ) : 'blog';
 
-       // allow definition of default variables
-       $filtered_results = apply_filters('signup_user_init', array('user_name' => $user_name, 'user_email' => $user_email, 'errors' => $errors ));
+       $signup_user_defaults = array(
+               'user_name'  => $user_name,
+               'user_email' => $user_email,
+               'errors'     => $errors,
+       );
+
+       /**
+        * Filter the default user variables used on the user sign-up form.
+        *
+        * @since 3.0.0
+        *
+        * @param array $signup_user_defaults {
+        *     An array of default user variables.
+        *
+        *     @type string $user_name  The user username.
+        *     @type string $user_email The user email address.
+        *     @type array  $errors     An array of possible errors relevant to the sign-up user.
+        * }
+        */
+       $filtered_results = apply_filters( 'signup_user_init', $signup_user_defaults );
        $user_name = $filtered_results['user_name'];
        $user_email = $filtered_results['user_email'];
        $errors = $filtered_results['errors'];
        $user_name = $filtered_results['user_name'];
        $user_email = $filtered_results['user_email'];
        $errors = $filtered_results['errors'];
@@ -330,7 +432,10 @@ function signup_user($user_name = '', $user_email = '', $errors = '') {
        <h2><?php printf( __( 'Get your own %s account in seconds' ), $current_site->site_name ) ?></h2>
        <form id="setupform" method="post" action="wp-signup.php">
                <input type="hidden" name="stage" value="validate-user-signup" />
        <h2><?php printf( __( 'Get your own %s account in seconds' ), $current_site->site_name ) ?></h2>
        <form id="setupform" method="post" action="wp-signup.php">
                <input type="hidden" name="stage" value="validate-user-signup" />
-               <?php do_action( 'signup_hidden_fields' ); ?>
+               <?php
+               /** This action is documented in wp-signup.php */
+               do_action( 'signup_hidden_fields', 'validate-user' );
+               ?>
                <?php show_user_form($user_name, $user_email, $errors); ?>
 
                <p>
                <?php show_user_form($user_name, $user_email, $errors); ?>
 
                <p>
@@ -376,7 +481,8 @@ function validate_user_signup() {
                return false;
        }
 
                return false;
        }
 
-       wpmu_signup_user($user_name, $user_email, apply_filters( 'add_signup_meta', array() ) );
+       /** This filter is documented in wp-signup.php */
+       wpmu_signup_user( $user_name, $user_email, apply_filters( 'add_signup_meta', array() ) );
 
        confirm_user_signup($user_name, $user_email);
        return true;
 
        confirm_user_signup($user_name, $user_email);
        return true;
@@ -397,6 +503,7 @@ function confirm_user_signup($user_name, $user_email) {
        <p><?php printf( __( 'Check your inbox at <strong>%s</strong> and click the link given.' ), $user_email ); ?></p>
        <p><?php _e( 'If you do not activate your username within two days, you will have to sign up again.' ); ?></p>
        <?php
        <p><?php printf( __( 'Check your inbox at <strong>%s</strong> and click the link given.' ), $user_email ); ?></p>
        <p><?php _e( 'If you do not activate your username within two days, you will have to sign up again.' ); ?></p>
        <?php
+       /** This action is documented in wp-signup.php */
        do_action( 'signup_finished' );
 }
 
        do_action( 'signup_finished' );
 }
 
@@ -417,8 +524,31 @@ function signup_blog($user_name = '', $user_email = '', $blogname = '', $blog_ti
        if ( !is_wp_error($errors) )
                $errors = new WP_Error();
 
        if ( !is_wp_error($errors) )
                $errors = new WP_Error();
 
-       // allow definition of default variables
-       $filtered_results = apply_filters('signup_blog_init', array('user_name' => $user_name, 'user_email' => $user_email, 'blogname' => $blogname, 'blog_title' => $blog_title, 'errors' => $errors ));
+       $signup_blog_defaults = array(
+               'user_name'  => $user_name,
+               'user_email' => $user_email,
+               'blogname'   => $blogname,
+               'blog_title' => $blog_title,
+               'errors'     => $errors
+       );
+
+       /**
+        * Filter the default site creation variables for the site sign-up form.
+        *
+        * @since 3.0.0
+        *
+        * @param array $signup_blog_defaults {
+        *     An array of default site creation variables.
+        *
+        *     @type string $user_name  The user username.
+        *     @type string $user_email The user email address.
+        *     @type string $blogname   The blogname.
+        *     @type string $blog_title The title of the site.
+        *     @type array  $errors     An array of possible errors relevant to new site creation variables.
+        * }
+        */
+       $filtered_results = apply_filters( 'signup_blog_init', $signup_blog_defaults );
+
        $user_name = $filtered_results['user_name'];
        $user_email = $filtered_results['user_email'];
        $blogname = $filtered_results['blogname'];
        $user_name = $filtered_results['user_name'];
        $user_email = $filtered_results['user_email'];
        $blogname = $filtered_results['blogname'];
@@ -432,7 +562,10 @@ function signup_blog($user_name = '', $user_email = '', $blogname = '', $blog_ti
                <input type="hidden" name="stage" value="validate-blog-signup" />
                <input type="hidden" name="user_name" value="<?php echo esc_attr($user_name) ?>" />
                <input type="hidden" name="user_email" value="<?php echo esc_attr($user_email) ?>" />
                <input type="hidden" name="stage" value="validate-blog-signup" />
                <input type="hidden" name="user_name" value="<?php echo esc_attr($user_name) ?>" />
                <input type="hidden" name="user_email" value="<?php echo esc_attr($user_email) ?>" />
-               <?php do_action( 'signup_hidden_fields' ); ?>
+               <?php
+               /** This action is documented in wp-signup.php */
+               do_action( 'signup_hidden_fields', 'validate-site' );
+               ?>
                <?php show_blog_form($blogname, $blog_title, $errors); ?>
                <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e('Signup') ?>" /></p>
        </form>
                <?php show_blog_form($blogname, $blog_title, $errors); ?>
                <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e('Signup') ?>" /></p>
        </form>
@@ -471,6 +604,8 @@ function validate_blog_signup() {
 
        $public = (int) $_POST['blog_public'];
        $meta = array ('lang_id' => 1, 'public' => $public);
 
        $public = (int) $_POST['blog_public'];
        $meta = array ('lang_id' => 1, 'public' => $public);
+
+       /** This filter is documented in wp-signup.php */
        $meta = apply_filters( 'add_signup_meta', $meta );
 
        wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta);
        $meta = apply_filters( 'add_signup_meta', $meta );
 
        wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta);
@@ -507,15 +642,21 @@ function confirm_blog_signup( $domain, $path, $blog_title, $user_name = '', $use
                </ul>
        </p>
        <?php
                </ul>
        </p>
        <?php
+       /** This action is documented in wp-signup.php */
        do_action( 'signup_finished' );
 }
 
 // Main
        do_action( 'signup_finished' );
 }
 
 // Main
-$active_signup = get_site_option( 'registration' );
-if ( !$active_signup )
-       $active_signup = 'all';
-
-$active_signup = apply_filters( 'wpmu_active_signup', $active_signup ); // return "all", "none", "blog" or "user"
+$active_signup = get_site_option( 'registration', 'none' );
+/**
+ * Filter the type of site sign-up.
+ *
+ * @since 3.0.0
+ *
+ * @param string $active_signup String that returns registration type. The value can be
+ *                              'all', 'none', 'blog', or 'user'.
+ */
+$active_signup = apply_filters( 'wpmu_active_signup', $active_signup );
 
 // Make the signup type translatable.
 $i18n_signup['all'] = _x('all', 'Multisite active signup type');
 
 // Make the signup type translatable.
 $i18n_signup['all'] = _x('all', 'Multisite active signup type');
@@ -555,7 +696,12 @@ if ( $active_signup == 'none' ) {
                case 'default':
                default :
                        $user_email = isset( $_POST[ 'user_email' ] ) ? $_POST[ 'user_email' ] : '';
                case 'default':
                default :
                        $user_email = isset( $_POST[ 'user_email' ] ) ? $_POST[ 'user_email' ] : '';
-                       do_action( 'preprocess_signup_form' ); // populate the form from invites, elsewhere?
+                       /**
+                        * Fires when the site sign-up form is sent.
+                        *
+                        * @since 3.0.0
+                        */
+                       do_action( 'preprocess_signup_form' );
                        if ( is_user_logged_in() && ( $active_signup == 'all' || $active_signup == 'blog' ) )
                                signup_another_blog($newblogname);
                        elseif ( is_user_logged_in() == false && ( $active_signup == 'all' || $active_signup == 'user' ) )
                        if ( is_user_logged_in() && ( $active_signup == 'all' || $active_signup == 'blog' ) )
                                signup_another_blog($newblogname);
                        elseif ( is_user_logged_in() == false && ( $active_signup == 'all' || $active_signup == 'user' ) )
@@ -579,6 +725,12 @@ if ( $active_signup == 'none' ) {
 ?>
 </div>
 </div>
 ?>
 </div>
 </div>
-<?php do_action( 'after_signup_form' ); ?>
+<?php
+/**
+ * Fires after the sign-up forms, before wp_footer.
+ *
+ * @since 3.0.0
+ */
+do_action( 'after_signup_form' ); ?>
 
 <?php get_footer(); ?>
 
 <?php get_footer(); ?>
index 8b41505f2bbd9b6c96fb1610f347ed7bd0c7bab8..a93bab7c0ebb4da76d417d684615c39db5a37170 100644 (file)
@@ -1,20 +1,28 @@
 <?php
 /**
 <?php
 /**
- * Handle Trackbacks and Pingbacks sent to WordPress
+ * Handle Trackbacks and Pingbacks Sent to WordPress
+ *
+ * @since 0.71
  *
  * @package WordPress
  *
  * @package WordPress
+ * @subpackage Trackbacks
  */
 
 if (empty($wp)) {
  */
 
 if (empty($wp)) {
-       require_once('./wp-load.php');
+       require_once( dirname( __FILE__ ) . '/wp-load.php' );
        wp( array( 'tb' => '1' ) );
 }
 
 /**
        wp( array( 'tb' => '1' ) );
 }
 
 /**
- * trackback_response() - Respond with an error or success XML message
+ * Response to a trackback.
+ *
+ * Responds with an error or success XML message.
  *
  *
- * @param int|bool $error Whether there was an error
- * @param string $error_message Error message if an error occurred
+ * @since 0.71
+ *
+ * @param int|bool $error         Whether there was an error.
+ *                                Default '0'. Accepts '0' or '1'.
+ * @param string   $error_message Error message if an error occurred.
  */
 function trackback_response($error = 0, $error_message = '') {
        header('Content-Type: text/xml; charset=' . get_option('blog_charset') );
  */
 function trackback_response($error = 0, $error_message = '') {
        header('Content-Type: text/xml; charset=' . get_option('blog_charset') );
@@ -33,7 +41,7 @@ function trackback_response($error = 0, $error_message = '') {
        }
 }
 
        }
 }
 
-// trackback is done by a POST
+// Trackback is done by a POST.
 $request_array = 'HTTP_POST_VARS';
 
 if ( !isset($_GET['tb_id']) || !$_GET['tb_id'] ) {
 $request_array = 'HTTP_POST_VARS';
 
 if ( !isset($_GET['tb_id']) || !$_GET['tb_id'] ) {
@@ -44,7 +52,7 @@ if ( !isset($_GET['tb_id']) || !$_GET['tb_id'] ) {
 $tb_url  = isset($_POST['url'])     ? $_POST['url']     : '';
 $charset = isset($_POST['charset']) ? $_POST['charset'] : '';
 
 $tb_url  = isset($_POST['url'])     ? $_POST['url']     : '';
 $charset = isset($_POST['charset']) ? $_POST['charset'] : '';
 
-// These three are stripslashed here so that they can be properly escaped after mb_convert_encoding()
+// These three are stripslashed here so they can be properly escaped after mb_convert_encoding().
 $title     = isset($_POST['title'])     ? wp_unslash($_POST['title'])      : '';
 $excerpt   = isset($_POST['excerpt'])   ? wp_unslash($_POST['excerpt'])    : '';
 $blog_name = isset($_POST['blog_name']) ? wp_unslash($_POST['blog_name'])  : '';
 $title     = isset($_POST['title'])     ? wp_unslash($_POST['title'])      : '';
 $excerpt   = isset($_POST['excerpt'])   ? wp_unslash($_POST['excerpt'])    : '';
 $blog_name = isset($_POST['blog_name']) ? wp_unslash($_POST['blog_name'])  : '';
@@ -54,17 +62,18 @@ if ($charset)
 else
        $charset = 'ASCII, UTF-8, ISO-8859-1, JIS, EUC-JP, SJIS';
 
 else
        $charset = 'ASCII, UTF-8, ISO-8859-1, JIS, EUC-JP, SJIS';
 
-// No valid uses for UTF-7
+// No valid uses for UTF-7.
 if ( false !== strpos($charset, 'UTF-7') )
        die;
 
 if ( false !== strpos($charset, 'UTF-7') )
        die;
 
-if ( function_exists('mb_convert_encoding') ) { // For international trackbacks
+// For international trackbacks.
+if ( function_exists('mb_convert_encoding') ) {
        $title     = mb_convert_encoding($title, get_option('blog_charset'), $charset);
        $excerpt   = mb_convert_encoding($excerpt, get_option('blog_charset'), $charset);
        $blog_name = mb_convert_encoding($blog_name, get_option('blog_charset'), $charset);
 }
 
        $title     = mb_convert_encoding($title, get_option('blog_charset'), $charset);
        $excerpt   = mb_convert_encoding($excerpt, get_option('blog_charset'), $charset);
        $blog_name = mb_convert_encoding($blog_name, get_option('blog_charset'), $charset);
 }
 
-// Now that mb_convert_encoding() has been given a swing, we need to escape these three
+// Now that mb_convert_encoding() has been given a swing, we need to escape these three.
 $title     = wp_slash($title);
 $excerpt   = wp_slash($excerpt);
 $blog_name = wp_slash($blog_name);
 $title     = wp_slash($title);
 $excerpt   = wp_slash($excerpt);
 $blog_name = wp_slash($blog_name);
@@ -76,7 +85,7 @@ if ( !isset($tb_id) || !intval( $tb_id ) )
        trackback_response(1, 'I really need an ID for this to work.');
 
 if (empty($title) && empty($tb_url) && empty($blog_name)) {
        trackback_response(1, 'I really need an ID for this to work.');
 
 if (empty($title) && empty($tb_url) && empty($blog_name)) {
-       // If it doesn't look like a trackback at all...
+       // If it doesn't look like a trackback at all.
        wp_redirect(get_permalink($tb_id));
        exit;
 }
        wp_redirect(get_permalink($tb_id));
        exit;
 }
@@ -104,7 +113,15 @@ if ( !empty($tb_url) && !empty($title) ) {
        $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type');
 
        wp_new_comment($commentdata);
        $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type');
 
        wp_new_comment($commentdata);
-
-       do_action('trackback_post', $wpdb->insert_id);
-       trackback_response(0);
+       $trackback_id = $wpdb->insert_id;
+
+       /**
+        * Fires after a trackback is added to a post.
+        *
+        * @since 1.2.0
+        *
+        * @param int $trackback_id Trackback ID.
+        */
+       do_action( 'trackback_post', $trackback_id );
+       trackback_response( 0 );
 }
 }
index 59674df7276fd7e43c292a6b5aed035a4eb0cd3f..3163120bf2142009b7463d796e0171f6f1daa51b 100644 (file)
@@ -28,7 +28,7 @@ if ( isset($HTTP_RAW_POST_DATA) )
 /** Include the bootstrap for setting up WordPress environment */
 include('./wp-load.php');
 
 /** Include the bootstrap for setting up WordPress environment */
 include('./wp-load.php');
 
-if ( isset( $_GET['rsd'] ) ) { // http://archipelago.phrasewise.com/rsd
+if ( isset( $_GET['rsd'] ) ) { // http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html
 header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
 ?>
 <?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
 header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
 ?>
 <?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
@@ -42,7 +42,15 @@ header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
       <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
       <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
       <api name="Blogger" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
       <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
       <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
       <api name="Blogger" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" />
-      <?php do_action( 'xmlrpc_rsd_apis' ); ?>
+      <?php
+      /**
+       * Add additional APIs to the Really Simple Discovery (RSD) endpoint.
+       *
+       * @see http://cyber.law.harvard.edu/blogs/gems/tech/rsd.html
+       * @since 3.5.0
+       */
+      do_action( 'xmlrpc_rsd_apis' );
+      ?>
     </apis>
   </service>
 </rsd>
     </apis>
   </service>
 </rsd>
@@ -61,8 +69,13 @@ include_once(ABSPATH . WPINC . '/class-wp-xmlrpc-server.php');
  */
 $post_default_title = "";
 
  */
 $post_default_title = "";
 
-// Allow for a plugin to insert a different class to handle requests.
-$wp_xmlrpc_server_class = apply_filters('wp_xmlrpc_server_class', 'wp_xmlrpc_server');
+/**
+ * Filter the class used for handling XML-RPC requests.
+ *
+ * @since 3.1.0
+ * @param string The name of the XML-RPC server class.
+ */
+$wp_xmlrpc_server_class = apply_filters( 'wp_xmlrpc_server_class', 'wp_xmlrpc_server' );
 $wp_xmlrpc_server = new $wp_xmlrpc_server_class;
 
 // Fire off the request
 $wp_xmlrpc_server = new $wp_xmlrpc_server_class;
 
 // Fire off the request