Version Description
Download this release
Release Info
Developer | apeatling |
Plugin | BuddyPress |
Version | 1.1.2 |
Comparing to | |
See all releases |
Code changes from version 1.1.1 to 1.1.2
- bp-activity/bp-activity-filters.php +2 -0
- bp-activity/bp-activity-templatetags.php +4 -2
- bp-blogs.php +69 -61
- bp-blogs/bp-blogs-classes.php +2 -2
- bp-core.php +35 -4
- bp-core/bp-core-classes.php +2 -2
- bp-core/bp-core-settings.php +3 -35
- bp-core/bp-core-signup.php +0 -2
- bp-forums/bbpress/bb-admin/admin-base.php +5 -1
- bp-forums/bbpress/bb-admin/admin.php +9 -1
- bp-forums/bbpress/bb-admin/includes/class.bb-install.php +3 -0
- bp-forums/bbpress/bb-admin/includes/defaults.bb-schema.php +43 -27
- bp-forums/bbpress/bb-admin/includes/functions.bb-admin.php +21 -2
- bp-forums/bbpress/bb-admin/includes/functions.bb-recount.php +262 -0
- bp-forums/bbpress/bb-admin/includes/functions.bb-upgrade.php +20 -7
- bp-forums/bbpress/bb-admin/index.php +22 -18
- bp-forums/bbpress/bb-admin/tools-recount.php +27 -132
- bp-forums/bbpress/bb-cron.php +11 -14
- bp-forums/bbpress/bb-includes/backpress/functions.formatting.php +6 -4
- bp-forums/bbpress/bb-includes/backpress/functions.kses.php +705 -64
- bp-forums/bbpress/bb-includes/class.bp-options.php +0 -3
- bp-forums/bbpress/bb-includes/functions.bb-core.php +66 -31
- bp-forums/bbpress/bb-includes/functions.bb-deprecated.php +5 -2
- bp-forums/bbpress/bb-includes/functions.bb-meta.php +1 -1
- bp-forums/bbpress/bb-includes/functions.bb-pluggable.php +15 -14
- bp-forums/bbpress/bb-includes/functions.bb-posts.php +1 -0
- bp-forums/bbpress/bb-includes/functions.bb-template.php +8 -9
- bp-forums/bbpress/bb-includes/functions.bb-users.php +78 -40
- bp-forums/bbpress/bb-includes/js/jquery/interface.js +2 -1
- bp-forums/bbpress/bb-login.php +104 -60
- bp-forums/bbpress/bb-templates/kakumei-blue/style.css +2 -0
- bp-forums/bbpress/bb-templates/kakumei/favorites.php +1 -1
- bp-forums/bbpress/bb-templates/kakumei/forum.php +2 -2
- bp-forums/bbpress/bb-templates/kakumei/front-page.php +2 -2
- bp-forums/bbpress/bb-templates/kakumei/post-form.php +2 -2
- bp-forums/bbpress/bb-templates/kakumei/style.css +16 -1
- bp-forums/bbpress/bb-templates/kakumei/tag-single.php +1 -1
- bp-forums/bbpress/bb-templates/kakumei/view.php +2 -2
- bp-forums/bbpress/rss.php +1 -1
- bp-friends/bp-friends-classes.php +3 -3
- bp-groups/bp-groups-classes.php +10 -10
- bp-groups/bp-groups-templatetags.php +2 -2
- bp-loader.php +2 -2
- bp-themes/bp-default/style.css +1 -1
- bp-themes/bp-sn-parent/_inc/js/ajax.js +6 -36
- bp-themes/bp-sn-parent/style.css +1 -1
- bp-themes/bp-sn-parent/wire/post-form.php +0 -1
- bp-themes/bp-sn-parent/wire/post-list.php +2 -1
- bp-xprofile.php +7 -7
- bp-xprofile/bp-xprofile-templatetags.php +2 -2
- bp-xprofile/deprecated/bp-xprofile-deprecated.php +0 -2
- readme.txt +1 -1
bp-activity/bp-activity-filters.php
CHANGED
@@ -2,6 +2,8 @@
|
|
2 |
|
3 |
/* Apply WordPress defined filters */
|
4 |
add_filter( 'bp_get_activity_content', 'bp_activity_filter_kses', 1 );
|
|
|
|
|
5 |
add_filter( 'bp_get_activity_content', 'force_balance_tags' );
|
6 |
add_filter( 'bp_get_activity_content', 'wptexturize' );
|
7 |
add_filter( 'bp_get_activity_content', 'convert_smilies' );
|
2 |
|
3 |
/* Apply WordPress defined filters */
|
4 |
add_filter( 'bp_get_activity_content', 'bp_activity_filter_kses', 1 );
|
5 |
+
add_filter( 'bp_get_activity_content', 'bp_activity_filter_kses', 1 );
|
6 |
+
|
7 |
add_filter( 'bp_get_activity_content', 'force_balance_tags' );
|
8 |
add_filter( 'bp_get_activity_content', 'wptexturize' );
|
9 |
add_filter( 'bp_get_activity_content', 'convert_smilies' );
|
bp-activity/bp-activity-templatetags.php
CHANGED
@@ -351,6 +351,8 @@ function bp_activity_filter_links( $args = false ) {
|
|
351 |
$selected = ' class="selected"';
|
352 |
else
|
353 |
unset($selected);
|
|
|
|
|
354 |
|
355 |
switch ( $style ) {
|
356 |
case 'list':
|
@@ -378,13 +380,13 @@ function bp_activity_filter_links( $args = false ) {
|
|
378 |
/* Make sure all core internal component names are translatable */
|
379 |
$translatable_component_names = array( __( 'profile', 'buddypress'), __( 'friends', 'buddypress' ), __( 'groups', 'buddypress' ), __( 'status', 'buddypress' ), __( 'blogs', 'buddypress' ) );
|
380 |
|
381 |
-
$component_links[] = $before . '<a href="' . $link . '">' . ucwords( __( $component_name, 'buddypress' ) ) . '</a>' . $after;
|
382 |
}
|
383 |
|
384 |
$link = remove_query_arg( 'afilter' , $link );
|
385 |
|
386 |
if ( isset( $_GET['afilter'] ) )
|
387 |
-
$component_links[] = '<' . $tag . ' id="afilter-clear"><a href="' . $link . '"">' . __( 'Clear Filter', 'buddypress' ) . '</a></' . $tag . '>';
|
388 |
|
389 |
return apply_filters( 'bp_get_activity_filter_links', implode( "\n", $component_links ) );
|
390 |
}
|
351 |
$selected = ' class="selected"';
|
352 |
else
|
353 |
unset($selected);
|
354 |
+
|
355 |
+
$component_name = attribute_escape( $component_name );
|
356 |
|
357 |
switch ( $style ) {
|
358 |
case 'list':
|
380 |
/* Make sure all core internal component names are translatable */
|
381 |
$translatable_component_names = array( __( 'profile', 'buddypress'), __( 'friends', 'buddypress' ), __( 'groups', 'buddypress' ), __( 'status', 'buddypress' ), __( 'blogs', 'buddypress' ) );
|
382 |
|
383 |
+
$component_links[] = $before . '<a href="' . attribute_escape( $link ) . '">' . ucwords( __( $component_name, 'buddypress' ) ) . '</a>' . $after;
|
384 |
}
|
385 |
|
386 |
$link = remove_query_arg( 'afilter' , $link );
|
387 |
|
388 |
if ( isset( $_GET['afilter'] ) )
|
389 |
+
$component_links[] = '<' . $tag . ' id="afilter-clear"><a href="' . attribute_escape( $link ) . '"">' . __( 'Clear Filter', 'buddypress' ) . '</a></' . $tag . '>';
|
390 |
|
391 |
return apply_filters( 'bp_get_activity_filter_links', implode( "\n", $component_links ) );
|
392 |
}
|
bp-blogs.php
CHANGED
@@ -308,7 +308,7 @@ function bp_blogs_record_existing_blogs() {
|
|
308 |
}
|
309 |
}
|
310 |
|
311 |
-
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity =
|
312 |
global $bp;
|
313 |
|
314 |
if ( !$user_id )
|
@@ -328,7 +328,7 @@ function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
|
|
328 |
bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'last_activity', time() );
|
329 |
|
330 |
/* Only record this activity if the blog is public */
|
331 |
-
if ( (int)$_POST['blog_public']
|
332 |
/* Record this in activity streams */
|
333 |
bp_blogs_record_activity( array(
|
334 |
'user_id' => $recorded_blog->user_id,
|
@@ -351,10 +351,9 @@ function bp_blogs_record_post( $post_id, $post, $user_id = false ) {
|
|
351 |
|
352 |
if ( !$user_id )
|
353 |
$user_id = (int)$post->post_author;
|
354 |
-
|
355 |
|
356 |
/* This is to stop infinate loops with Donncha's sitewide tags plugin */
|
357 |
-
if ( (int)get_site_option('tags_blog_id') == (int)$blog_id )
|
358 |
return false;
|
359 |
|
360 |
/* Don't record this if it's not a post */
|
@@ -374,20 +373,22 @@ function bp_blogs_record_post( $post_id, $post, $user_id = false ) {
|
|
374 |
|
375 |
bp_blogs_update_blogmeta( $recorded_post->blog_id, 'last_activity', time() );
|
376 |
|
377 |
-
|
|
|
|
|
378 |
|
379 |
-
|
380 |
-
|
381 |
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
}
|
392 |
} else {
|
393 |
$existing_post = new BP_Blogs_Post( null, $blog_id, $post_id );
|
@@ -407,23 +408,24 @@ function bp_blogs_record_post( $post_id, $post, $user_id = false ) {
|
|
407 |
// Re-record the post with the new author.
|
408 |
bp_blogs_record_post( $post_id );
|
409 |
}
|
410 |
-
|
411 |
-
/* Now re-record the post in the activity streams */
|
412 |
-
$post_permalink = bp_post_get_permalink( $post, $blog_id );
|
413 |
-
|
414 |
|
415 |
-
|
416 |
-
|
|
|
|
|
|
|
|
|
417 |
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
|
|
427 |
}
|
428 |
|
429 |
do_action( 'bp_blogs_new_blog_post', $existing_post, $is_private, $is_recorded );
|
@@ -457,21 +459,24 @@ function bp_blogs_record_comment( $comment_id, $is_approved ) {
|
|
457 |
|
458 |
bp_blogs_update_blogmeta( $recorded_comment->blog_id, 'last_activity', time() );
|
459 |
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
|
|
|
|
|
|
475 |
return $recorded_comment;
|
476 |
}
|
477 |
add_action( 'comment_post', 'bp_blogs_record_comment', 10, 2 );
|
@@ -488,20 +493,23 @@ function bp_blogs_approve_comment( $comment_id, $comment_status ) {
|
|
488 |
|
489 |
bp_blogs_delete_activity( array( 'item_id' => $comment_id, 'secondary_item_id' => $recorded_comment->blog_id, 'component_name' => $bp->blogs->slug, 'component_action' => 'new_blog_comment' ) );
|
490 |
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
|
|
|
|
|
|
505 |
}
|
506 |
add_action( 'wp_set_comment_status', 'bp_blogs_approve_comment', 10, 2 );
|
507 |
|
@@ -513,7 +521,7 @@ add_action( 'wp_set_comment_status', 'bp_blogs_unapprove_comment', 10, 2 );
|
|
513 |
|
514 |
function bp_blogs_add_user_to_blog( $user_id, $role, $blog_id ) {
|
515 |
if ( $role != 'subscriber' ) {
|
516 |
-
bp_blogs_record_blog( $blog_id, $user_id
|
517 |
}
|
518 |
}
|
519 |
add_action( 'add_user_to_blog', 'bp_blogs_add_user_to_blog', 10, 3 );
|
308 |
}
|
309 |
}
|
310 |
|
311 |
+
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = true ) {
|
312 |
global $bp;
|
313 |
|
314 |
if ( !$user_id )
|
328 |
bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'last_activity', time() );
|
329 |
|
330 |
/* Only record this activity if the blog is public */
|
331 |
+
if ( (int)$_POST['blog_public'] || !$no_activity ) {
|
332 |
/* Record this in activity streams */
|
333 |
bp_blogs_record_activity( array(
|
334 |
'user_id' => $recorded_blog->user_id,
|
351 |
|
352 |
if ( !$user_id )
|
353 |
$user_id = (int)$post->post_author;
|
|
|
354 |
|
355 |
/* This is to stop infinate loops with Donncha's sitewide tags plugin */
|
356 |
+
if ( (int)get_site_option( 'tags_blog_id' ) == (int)$blog_id )
|
357 |
return false;
|
358 |
|
359 |
/* Don't record this if it's not a post */
|
373 |
|
374 |
bp_blogs_update_blogmeta( $recorded_post->blog_id, 'last_activity', time() );
|
375 |
|
376 |
+
if ( (int)get_blog_option( $blog_id, 'blog_public' ) ) {
|
377 |
+
/* Record this in activity streams */
|
378 |
+
$post_permalink = bp_post_get_permalink( $post, $blog_id );
|
379 |
|
380 |
+
$activity_content = sprintf( __( '%s wrote a new blog post: %s', 'buddypress' ), bp_core_get_userlink( (int)$post->post_author ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>' );
|
381 |
+
$activity_content .= "<blockquote>" . bp_create_excerpt( $post->post_content ) . "</blockquote>";
|
382 |
|
383 |
+
bp_blogs_record_activity( array(
|
384 |
+
'user_id' => (int)$post->post_author,
|
385 |
+
'content' => apply_filters( 'bp_blogs_activity_new_post', $activity_content, &$post, $post_permalink ),
|
386 |
+
'primary_link' => apply_filters( 'bp_blogs_activity_new_post_primary_link', $post_permalink, $post_id ),
|
387 |
+
'component_action' => 'new_blog_post',
|
388 |
+
'item_id' => $recorded_post_id,
|
389 |
+
'recorded_time' => strtotime( $post->post_date )
|
390 |
+
));
|
391 |
+
}
|
392 |
}
|
393 |
} else {
|
394 |
$existing_post = new BP_Blogs_Post( null, $blog_id, $post_id );
|
408 |
// Re-record the post with the new author.
|
409 |
bp_blogs_record_post( $post_id );
|
410 |
}
|
|
|
|
|
|
|
|
|
411 |
|
412 |
+
if ( (int)get_blog_option( $blog_id, 'blog_public' ) ) {
|
413 |
+
/* Now re-record the post in the activity streams */
|
414 |
+
$post_permalink = bp_post_get_permalink( $post, $blog_id );
|
415 |
+
|
416 |
+
$activity_content = sprintf( __( '%s wrote a new blog post: %s', 'buddypress' ), bp_core_get_userlink( (int)$post->post_author ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>' );
|
417 |
+
$activity_content .= "<blockquote>" . bp_create_excerpt( $post->post_content ) . "</blockquote>";
|
418 |
|
419 |
+
/* Record this in activity streams */
|
420 |
+
bp_blogs_record_activity( array(
|
421 |
+
'user_id' => (int)$post->post_author,
|
422 |
+
'content' => apply_filters( 'bp_blogs_activity_new_post', $activity_content, &$post, $post_permalink ),
|
423 |
+
'primary_link' => apply_filters( 'bp_blogs_activity_new_post_primary_link', $post_permalink, $post_id ),
|
424 |
+
'component_action' => 'new_blog_post',
|
425 |
+
'item_id' => $existing_post->id,
|
426 |
+
'recorded_time' => strtotime( $post->post_date )
|
427 |
+
) );
|
428 |
+
}
|
429 |
}
|
430 |
|
431 |
do_action( 'bp_blogs_new_blog_post', $existing_post, $is_private, $is_recorded );
|
459 |
|
460 |
bp_blogs_update_blogmeta( $recorded_comment->blog_id, 'last_activity', time() );
|
461 |
|
462 |
+
if ( (int)get_blog_option( $recorded_comment->blog_id, 'blog_public' ) ) {
|
463 |
+
/* Record in activity streams */
|
464 |
+
$comment_link = bp_post_get_permalink( $comment->post, $recorded_comment->blog_id );
|
465 |
+
$activity_content = sprintf( __( '%s commented on the blog post %s', 'buddypress' ), bp_core_get_userlink( $user_id ), '<a href="' . $comment_link . '#comment-' . $comment->comment_ID . '">' . $comment->post->post_title . '</a>' );
|
466 |
+
$activity_content .= '<blockquote>' . bp_create_excerpt( $comment->comment_content ) . '</blockquote>';
|
467 |
+
|
468 |
+
/* Record this in activity streams */
|
469 |
+
bp_blogs_record_activity( array(
|
470 |
+
'user_id' => $recorded_comment->user_id,
|
471 |
+
'content' => apply_filters( 'bp_blogs_activity_new_comment', $activity_content, &$comment, &$recorded_comment, $comment_link ),
|
472 |
+
'primary_link' => apply_filters( 'bp_blogs_activity_new_comment_primary_link', $comment_link, &$comment, &$recorded_comment ),
|
473 |
+
'component_action' => 'new_blog_comment',
|
474 |
+
'item_id' => $comment_id,
|
475 |
+
'secondary_item_id' => $recorded_comment->blog_id,
|
476 |
+
'recorded_time' => $recorded_comment->date_created
|
477 |
+
) );
|
478 |
+
}
|
479 |
+
|
480 |
return $recorded_comment;
|
481 |
}
|
482 |
add_action( 'comment_post', 'bp_blogs_record_comment', 10, 2 );
|
493 |
|
494 |
bp_blogs_delete_activity( array( 'item_id' => $comment_id, 'secondary_item_id' => $recorded_comment->blog_id, 'component_name' => $bp->blogs->slug, 'component_action' => 'new_blog_comment' ) );
|
495 |
|
496 |
+
if ( (int)get_blog_option( $recorded_comment->blog_id, 'blog_public' ) ) {
|
497 |
+
/* Record in activity streams */
|
498 |
+
$comment_link = bp_post_get_permalink( $comment->post, $recorded_comment->blog_id );
|
499 |
+
$activity_content = sprintf( __( '%s commented on the blog post %s', 'buddypress' ), bp_core_get_userlink( $recorded_comment->user_id ), '<a href="' . $comment_link . '#comment-' . $comment->comment_ID . '">' . $comment->post->post_title . '</a>' );
|
500 |
+
$activity_content .= '<blockquote>' . bp_create_excerpt( $comment->comment_content ) . '</blockquote>';
|
501 |
+
|
502 |
+
/* Record this in activity streams */
|
503 |
+
bp_blogs_record_activity( array(
|
504 |
+
'user_id' => $recorded_comment->user_id,
|
505 |
+
'content' => apply_filters( 'bp_blogs_activity_new_comment', $activity_content, &$comment, &$recorded_comment, $comment_link ),
|
506 |
+
'primary_link' => apply_filters( 'bp_blogs_activity_new_comment_primary_link', $comment_link, &$comment, &$recorded_comment ),
|
507 |
+
'component_action' => 'new_blog_comment',
|
508 |
+
'item_id' => $comment_id,
|
509 |
+
'secondary_item_id' => $recorded_comment->blog_id,
|
510 |
+
'recorded_time' => $recorded_comment->date_created
|
511 |
+
) );
|
512 |
+
}
|
513 |
}
|
514 |
add_action( 'wp_set_comment_status', 'bp_blogs_approve_comment', 10, 2 );
|
515 |
|
521 |
|
522 |
function bp_blogs_add_user_to_blog( $user_id, $role, $blog_id ) {
|
523 |
if ( $role != 'subscriber' ) {
|
524 |
+
bp_blogs_record_blog( $blog_id, $user_id );
|
525 |
}
|
526 |
}
|
527 |
add_action( 'add_user_to_blog', 'bp_blogs_add_user_to_blog', 10, 3 );
|
bp-blogs/bp-blogs-classes.php
CHANGED
@@ -180,7 +180,7 @@ Class BP_Blogs_Blog {
|
|
180 |
if ( !$bp->blogs )
|
181 |
bp_blogs_setup_globals();
|
182 |
|
183 |
-
like_escape($letter);
|
184 |
|
185 |
if ( $limit && $page ) {
|
186 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
@@ -198,7 +198,7 @@ Class BP_Blogs_Blog {
|
|
198 |
if ( !$bp->blogs )
|
199 |
bp_blogs_setup_globals();
|
200 |
|
201 |
-
like_escape($filter);
|
202 |
|
203 |
if ( $limit && $page ) {
|
204 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
180 |
if ( !$bp->blogs )
|
181 |
bp_blogs_setup_globals();
|
182 |
|
183 |
+
$letter = like_escape( $wpdb->escape( $letter ) );
|
184 |
|
185 |
if ( $limit && $page ) {
|
186 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
198 |
if ( !$bp->blogs )
|
199 |
bp_blogs_setup_globals();
|
200 |
|
201 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
202 |
|
203 |
if ( $limit && $page ) {
|
204 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
bp-core.php
CHANGED
@@ -65,6 +65,10 @@ if ( !defined( 'BP_SEARCH_SLUG' ) )
|
|
65 |
/* Define the slug for the search page */
|
66 |
if ( !defined( 'BP_HOME_BLOG_SLUG' ) )
|
67 |
define( 'BP_HOME_BLOG_SLUG', 'blog' );
|
|
|
|
|
|
|
|
|
68 |
|
69 |
|
70 |
/* "And now for something completely different" .... */
|
@@ -625,10 +629,18 @@ function bp_core_new_nav_item( $args = '' ) {
|
|
625 |
'position' => $position
|
626 |
);
|
627 |
|
628 |
-
|
629 |
-
* If
|
630 |
-
*
|
|
|
631 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
632 |
if ( bp_core_is_root_component( $slug ) && !$bp->displayed_user->id )
|
633 |
return;
|
634 |
|
@@ -1533,7 +1545,7 @@ function bp_core_delete_account( $user_id = false ) {
|
|
1533 |
$user_id = $bp->loggedin_user->id;
|
1534 |
|
1535 |
/* Make sure account deletion is not disabled */
|
1536 |
-
if ( (
|
1537 |
return false;
|
1538 |
|
1539 |
/* Site admins should not be allowed to be deleted */
|
@@ -1703,6 +1715,25 @@ function bp_core_add_admin_menu_page( $args = '' ) {
|
|
1703 |
return $hookname;
|
1704 |
}
|
1705 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1706 |
|
1707 |
/**
|
1708 |
* bp_core_remove_data()
|
65 |
/* Define the slug for the search page */
|
66 |
if ( !defined( 'BP_HOME_BLOG_SLUG' ) )
|
67 |
define( 'BP_HOME_BLOG_SLUG', 'blog' );
|
68 |
+
|
69 |
+
/* Register BuddyPress themes contained within the theme folder */
|
70 |
+
if ( function_exists( 'register_theme_folder' ) )
|
71 |
+
register_theme_folder( 'buddypress/bp-themes' );
|
72 |
|
73 |
|
74 |
/* "And now for something completely different" .... */
|
629 |
'position' => $position
|
630 |
);
|
631 |
|
632 |
+
/***
|
633 |
+
* If this nav item is hidden for the displayed user, and
|
634 |
+
* the logged in user is not the displayed user
|
635 |
+
* looking at their own profile, don't create the nav item.
|
636 |
*/
|
637 |
+
if ( !$show_for_displayed_user && !bp_is_home() )
|
638 |
+
return false;
|
639 |
+
|
640 |
+
/***
|
641 |
+
* If we are not viewing a user, and this is a root component, don't attach the
|
642 |
+
* default subnav function so we can display a directory or something else.
|
643 |
+
*/
|
644 |
if ( bp_core_is_root_component( $slug ) && !$bp->displayed_user->id )
|
645 |
return;
|
646 |
|
1545 |
$user_id = $bp->loggedin_user->id;
|
1546 |
|
1547 |
/* Make sure account deletion is not disabled */
|
1548 |
+
if ( ( '' != get_site_option( 'bp-disable-account-deletion' ) || (int) get_site_option( 'bp-disable-account-deletion' ) ) && !is_site_admin() )
|
1549 |
return false;
|
1550 |
|
1551 |
/* Site admins should not be allowed to be deleted */
|
1715 |
return $hookname;
|
1716 |
}
|
1717 |
|
1718 |
+
/**
|
1719 |
+
* bp_core_boot_spammer()
|
1720 |
+
*
|
1721 |
+
* When a user logs in, check if they have been marked as a spammer. If then simply
|
1722 |
+
* redirect them to the home page and stop them from logging in.
|
1723 |
+
*
|
1724 |
+
* @package BuddyPress Core
|
1725 |
+
* @param $username The username of the user
|
1726 |
+
* @uses delete_usermeta() deletes a row from the wp_usermeta table based on meta_key
|
1727 |
+
*/
|
1728 |
+
function bp_core_boot_spammer( $auth_obj, $username ) {
|
1729 |
+
global $bp;
|
1730 |
+
|
1731 |
+
$user = get_userdatabylogin( $username );
|
1732 |
+
|
1733 |
+
if ( (int)$user->spam )
|
1734 |
+
bp_core_redirect( $bp->root_domain );
|
1735 |
+
}
|
1736 |
+
add_filter( 'authenticate', 'bp_core_boot_spammer', 11, 2 );
|
1737 |
|
1738 |
/**
|
1739 |
* bp_core_remove_data()
|
bp-core/bp-core-classes.php
CHANGED
@@ -219,7 +219,7 @@ class BP_Core_User {
|
|
219 |
if ( strlen($letter) > 1 || is_numeric($letter) || !$letter )
|
220 |
return false;
|
221 |
|
222 |
-
like_escape($letter);
|
223 |
|
224 |
$total_users_sql = apply_filters( 'bp_core_users_by_letter_count_sql', $wpdb->prepare( "SELECT DISTINCT count(u.ID) FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id LEFT JOIN {$bp->profile->table_name_fields} pf ON pd.field_id = pf.id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pf.name = %s AND pd.value LIKE '$letter%%' ORDER BY pd.value ASC", BP_XPROFILE_FULLNAME_FIELD_NAME ), $letter );
|
225 |
$paged_users_sql = apply_filters( 'bp_core_users_by_letter_sql', $wpdb->prepare( "SELECT DISTINCT u.ID as user_id FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id LEFT JOIN {$bp->profile->table_name_fields} pf ON pd.field_id = pf.id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pf.name = %s AND pd.value LIKE '$letter%%' ORDER BY pd.value ASC{$pag_sql}", BP_XPROFILE_FULLNAME_FIELD_NAME ), $letter, $pag_sql );
|
@@ -239,7 +239,7 @@ class BP_Core_User {
|
|
239 |
if ( $limit && $page )
|
240 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
241 |
|
242 |
-
like_escape($search_terms);
|
243 |
|
244 |
$total_users_sql = apply_filters( 'bp_core_search_users_count_sql', "SELECT DISTINCT count(u.ID) as user_id FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pd.value LIKE '%%$search_terms%%' ORDER BY pd.value ASC", $search_terms );
|
245 |
$paged_users_sql = apply_filters( 'bp_core_search_users_sql', "SELECT DISTINCT u.ID as user_id FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pd.value LIKE '%%$search_terms%%' ORDER BY pd.value ASC{$pag_sql}", $search_terms, $pag_sql );
|
219 |
if ( strlen($letter) > 1 || is_numeric($letter) || !$letter )
|
220 |
return false;
|
221 |
|
222 |
+
$letter = like_escape( $wpdb->escape( $letter ) );
|
223 |
|
224 |
$total_users_sql = apply_filters( 'bp_core_users_by_letter_count_sql', $wpdb->prepare( "SELECT DISTINCT count(u.ID) FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id LEFT JOIN {$bp->profile->table_name_fields} pf ON pd.field_id = pf.id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pf.name = %s AND pd.value LIKE '$letter%%' ORDER BY pd.value ASC", BP_XPROFILE_FULLNAME_FIELD_NAME ), $letter );
|
225 |
$paged_users_sql = apply_filters( 'bp_core_users_by_letter_sql', $wpdb->prepare( "SELECT DISTINCT u.ID as user_id FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id LEFT JOIN {$bp->profile->table_name_fields} pf ON pd.field_id = pf.id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pf.name = %s AND pd.value LIKE '$letter%%' ORDER BY pd.value ASC{$pag_sql}", BP_XPROFILE_FULLNAME_FIELD_NAME ), $letter, $pag_sql );
|
239 |
if ( $limit && $page )
|
240 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
241 |
|
242 |
+
$search_terms = like_escape( $wpdb->escape( $search_terms ) );
|
243 |
|
244 |
$total_users_sql = apply_filters( 'bp_core_search_users_count_sql', "SELECT DISTINCT count(u.ID) as user_id FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pd.value LIKE '%%$search_terms%%' ORDER BY pd.value ASC", $search_terms );
|
245 |
$paged_users_sql = apply_filters( 'bp_core_search_users_sql', "SELECT DISTINCT u.ID as user_id FROM " . CUSTOM_USER_TABLE . " u LEFT JOIN {$bp->profile->table_name_data} pd ON u.ID = pd.user_id WHERE u.spam = 0 AND u.deleted = 0 AND u.user_status = 0 AND pd.value LIKE '%%$search_terms%%' ORDER BY pd.value ASC{$pag_sql}", $search_terms, $pag_sql );
|
bp-core/bp-core-settings.php
CHANGED
@@ -153,47 +153,15 @@ function bp_core_screen_notification_settings_content() {
|
|
153 |
|
154 |
/**** DELETE ACCOUNT ****/
|
155 |
|
156 |
-
function bp_core_screen_delete_account() {
|
157 |
-
|
158 |
-
|
159 |
-
if ( isset( $_POST['delete-account-button'] ) ) {
|
160 |
check_admin_referer( 'delete-account' );
|
161 |
-
|
162 |
// delete the users account
|
163 |
if ( bp_core_delete_account() )
|
164 |
bp_core_redirect( site_url() );
|
165 |
}
|
166 |
|
167 |
-
$bp_settings_updated = false;
|
168 |
-
$pass_error = false;
|
169 |
-
|
170 |
-
if ( isset($_POST['submit']) ) {
|
171 |
-
check_admin_referer('bp_settings_general');
|
172 |
-
|
173 |
-
require_once( WPINC . '/registration.php' );
|
174 |
-
|
175 |
-
// Form has been submitted and nonce checks out, lets do it.
|
176 |
-
|
177 |
-
if ( $_POST['email'] != '' ) {
|
178 |
-
$current_user->user_email = wp_specialchars( trim( $_POST['email'] ));
|
179 |
-
}
|
180 |
-
|
181 |
-
if ( $_POST['pass1'] != '' && $_POST['pass2'] != '' ) {
|
182 |
-
if ( $_POST['pass1'] == $_POST['pass2'] && !strpos( " " . $_POST['pass1'], "\\" ) ) {
|
183 |
-
$current_user->user_pass = $_POST['pass1'];
|
184 |
-
} else {
|
185 |
-
$pass_error = true;
|
186 |
-
}
|
187 |
-
} else if ( empty( $_POST['pass1'] ) && !empty( $_POST['pass2'] ) || !empty( $_POST['pass1'] ) && empty( $_POST['pass2'] ) ) {
|
188 |
-
$pass_error = true;
|
189 |
-
} else {
|
190 |
-
unset( $current_user->user_pass );
|
191 |
-
}
|
192 |
-
|
193 |
-
if ( !$pass_error && wp_update_user( get_object_vars( $current_user ) ) )
|
194 |
-
$bp_settings_updated = true;
|
195 |
-
}
|
196 |
-
|
197 |
add_action( 'bp_template_title', 'bp_core_screen_delete_account_title' );
|
198 |
add_action( 'bp_template_content', 'bp_core_screen_delete_account_content' );
|
199 |
|
153 |
|
154 |
/**** DELETE ACCOUNT ****/
|
155 |
|
156 |
+
function bp_core_screen_delete_account() {
|
157 |
+
if ( isset( $_POST['delete-account-understand'] ) ) {
|
|
|
|
|
158 |
check_admin_referer( 'delete-account' );
|
159 |
+
|
160 |
// delete the users account
|
161 |
if ( bp_core_delete_account() )
|
162 |
bp_core_redirect( site_url() );
|
163 |
}
|
164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
add_action( 'bp_template_title', 'bp_core_screen_delete_account_title' );
|
166 |
add_action( 'bp_template_content', 'bp_core_screen_delete_account_content' );
|
167 |
|
bp-core/bp-core-signup.php
CHANGED
@@ -116,8 +116,6 @@ function bp_core_screen_signup() {
|
|
116 |
/* If the user decided to create a blog, save those details to usermeta */
|
117 |
if ( 'blog' == $active_signup || 'all' == $active_signup ) {
|
118 |
$usermeta['public'] = ( 'public' == $_POST['signup_blog_privacy'] ) ? true : false;
|
119 |
-
$usermeta['blogname'] = $_POST['signup_blog_url'];
|
120 |
-
$usermeta['blog_title'] = $_POST['signup_blog_title'];
|
121 |
}
|
122 |
|
123 |
$usermeta = apply_filters( 'bp_signup_usermeta', $usermeta );
|
116 |
/* If the user decided to create a blog, save those details to usermeta */
|
117 |
if ( 'blog' == $active_signup || 'all' == $active_signup ) {
|
118 |
$usermeta['public'] = ( 'public' == $_POST['signup_blog_privacy'] ) ? true : false;
|
|
|
|
|
119 |
}
|
120 |
|
121 |
$usermeta = apply_filters( 'bp_signup_usermeta', $usermeta );
|
bp-forums/bbpress/bb-admin/admin-base.php
CHANGED
@@ -10,7 +10,11 @@ bb_get_admin_header();
|
|
10 |
|
11 |
<?php if ( is_callable($bb_admin_page) ) : call_user_func( $bb_admin_page ); else : ?>
|
12 |
|
13 |
-
<
|
|
|
|
|
|
|
|
|
14 |
|
15 |
<?php endif; ?>
|
16 |
|
10 |
|
11 |
<?php if ( is_callable($bb_admin_page) ) : call_user_func( $bb_admin_page ); else : ?>
|
12 |
|
13 |
+
<h2><?php _e( 'Page not found' ); ?></h2>
|
14 |
+
<?php
|
15 |
+
bb_admin_notice( __( 'There is no administration page at the requested address. Please check the address you entered and try again.' ), 'error' );
|
16 |
+
do_action( 'bb_admin_notices' );
|
17 |
+
?>
|
18 |
|
19 |
<?php endif; ?>
|
20 |
|
bp-forums/bbpress/bb-admin/admin.php
CHANGED
@@ -16,8 +16,10 @@ require_once( BB_PATH . 'bb-admin/includes/functions.bb-admin.php' );
|
|
16 |
|
17 |
$bb_admin_page = bb_find_filename( $_SERVER['PHP_SELF'] );
|
18 |
|
|
|
19 |
if ( $bb_admin_page == 'admin-base.php' ) {
|
20 |
-
$bb_admin_page =
|
|
|
21 |
}
|
22 |
|
23 |
wp_enqueue_script( 'common' );
|
@@ -34,4 +36,10 @@ if ( isset( $_GET['foldmenu'] ) ) {
|
|
34 |
}
|
35 |
bb_admin_menu_generator();
|
36 |
bb_get_current_admin_menu();
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
?>
|
16 |
|
17 |
$bb_admin_page = bb_find_filename( $_SERVER['PHP_SELF'] );
|
18 |
|
19 |
+
$_check_callback = false;
|
20 |
if ( $bb_admin_page == 'admin-base.php' ) {
|
21 |
+
$bb_admin_page = (string) @$_GET['plugin'];
|
22 |
+
$_check_callback = true;
|
23 |
}
|
24 |
|
25 |
wp_enqueue_script( 'common' );
|
36 |
}
|
37 |
bb_admin_menu_generator();
|
38 |
bb_get_current_admin_menu();
|
39 |
+
|
40 |
+
if ( $_check_callback ) {
|
41 |
+
if ( empty( $bb_registered_plugin_callbacks ) || empty( $bb_admin_page ) || !in_array( $bb_admin_page, $bb_registered_plugin_callbacks ) ) {
|
42 |
+
unset( $bb_admin_page );
|
43 |
+
}
|
44 |
+
}
|
45 |
?>
|
bp-forums/bbpress/bb-admin/includes/class.bb-install.php
CHANGED
@@ -309,6 +309,9 @@ class BB_Install
|
|
309 |
function get_languages()
|
310 |
{
|
311 |
foreach ( bb_glob( BB_LANG_DIR . '*.mo' ) as $language ) {
|
|
|
|
|
|
|
312 |
$language = str_replace( '.mo', '', basename( $language ) );
|
313 |
$this->languages[$language] = $language;
|
314 |
}
|
309 |
function get_languages()
|
310 |
{
|
311 |
foreach ( bb_glob( BB_LANG_DIR . '*.mo' ) as $language ) {
|
312 |
+
if ( substr( $language, 0, 18 ) === 'continents-cities-' ) {
|
313 |
+
continue;
|
314 |
+
}
|
315 |
$language = str_replace( '.mo', '', basename( $language ) );
|
316 |
$this->languages[$language] = $language;
|
317 |
}
|
bp-forums/bbpress/bb-admin/includes/defaults.bb-schema.php
CHANGED
@@ -113,33 +113,37 @@ $bb_queries['topics'] = "CREATE TABLE IF NOT EXISTS `$bbdb->topics` (
|
|
113 |
KEY `stickies` (`topic_status`, `topic_sticky`, `topic_time`)
|
114 |
);";
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
)
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
`
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
)
|
|
|
|
|
|
|
|
|
143 |
|
144 |
$bb_queries = apply_filters( 'bb_schema_pre_charset', $bb_queries );
|
145 |
|
@@ -212,6 +216,18 @@ if ( bb_get_option('wp_table_prefix') || ( defined( 'BB_SCHEMA_IGNORE_WP_USERS_K
|
|
212 |
$bb_schema_ignore = false;
|
213 |
}
|
214 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
$bb_schema_ignore = apply_filters( 'bb_schema_ignore', $bb_schema_ignore );
|
216 |
|
217 |
do_action( 'bb_schema_defined' );
|
113 |
KEY `stickies` (`topic_status`, `topic_sticky`, `topic_time`)
|
114 |
);";
|
115 |
|
116 |
+
if ( bb_get_option( 'wp_table_prefix' ) || ( defined( 'BB_SCHEMA_IGNORE_WP_USERS_TABLES' ) && BB_SCHEMA_IGNORE_WP_USERS_TABLES ) ) {
|
117 |
+
// Don't add user tables
|
118 |
+
} else {
|
119 |
+
// users - 'user_login', 'user_nicename' and 'user_registered' indices are inconsistent with WordPress
|
120 |
+
$bb_queries['users'] = "CREATE TABLE IF NOT EXISTS `$bbdb->users` (
|
121 |
+
`ID` bigint(20) unsigned NOT NULL auto_increment,
|
122 |
+
`user_login` varchar(60) NOT NULL default '',
|
123 |
+
`user_pass` varchar(64) NOT NULL default '',
|
124 |
+
`user_nicename` varchar(50) NOT NULL default '',
|
125 |
+
`user_email` varchar(100) NOT NULL default '',
|
126 |
+
`user_url` varchar(100) NOT NULL default '',
|
127 |
+
`user_registered` datetime NOT NULL default '0000-00-00 00:00:00',
|
128 |
+
`user_status` int(11) NOT NULL default 0,
|
129 |
+
`display_name` varchar(250) NOT NULL default '',
|
130 |
+
PRIMARY KEY (`ID`),
|
131 |
+
UNIQUE KEY `user_login` (`user_login`),
|
132 |
+
UNIQUE KEY `user_nicename` (`user_nicename`),
|
133 |
+
KEY `user_registered` (`user_registered`)
|
134 |
+
);";
|
135 |
+
|
136 |
+
// usermeta
|
137 |
+
$bb_queries['usermeta'] = "CREATE TABLE IF NOT EXISTS `$bbdb->usermeta` (
|
138 |
+
`umeta_id` bigint(20) NOT NULL auto_increment,
|
139 |
+
`user_id` bigint(20) NOT NULL default 0,
|
140 |
+
`meta_key` varchar(255),
|
141 |
+
`meta_value` longtext,
|
142 |
+
PRIMARY KEY (`umeta_id`),
|
143 |
+
KEY `user_id` (`user_id`),
|
144 |
+
KEY `meta_key` (`meta_key`)
|
145 |
+
);";
|
146 |
+
}
|
147 |
|
148 |
$bb_queries = apply_filters( 'bb_schema_pre_charset', $bb_queries );
|
149 |
|
216 |
$bb_schema_ignore = false;
|
217 |
}
|
218 |
|
219 |
+
if ( bb_get_option('wp_table_prefix') || ( defined( 'BB_SCHEMA_IGNORE_WP_USERS_TABLES' ) && BB_SCHEMA_IGNORE_WP_USERS_TABLES ) ) {
|
220 |
+
if ( $bb_schema_ignore ) {
|
221 |
+
$bb_schema_ignore['tables'] = array( $bbdb->users, $bbdb->usermeta );
|
222 |
+
} else {
|
223 |
+
$bb_schema_ignore = array(
|
224 |
+
'tables' => array( $bbdb->users, $bbdb->usermeta ),
|
225 |
+
'columns' => array(),
|
226 |
+
'indices' => array()
|
227 |
+
);
|
228 |
+
}
|
229 |
+
}
|
230 |
+
|
231 |
$bb_schema_ignore = apply_filters( 'bb_schema_ignore', $bb_schema_ignore );
|
232 |
|
233 |
do_action( 'bb_schema_defined' );
|
bp-forums/bbpress/bb-admin/includes/functions.bb-admin.php
CHANGED
@@ -117,6 +117,10 @@ function bb_admin_menu_generator()
|
|
117 |
function bb_admin_add_menu( $display_name, $capability, $file_name, $menu_position = false, $class = '', $id = '' )
|
118 |
{
|
119 |
global $bb_menu;
|
|
|
|
|
|
|
|
|
120 |
|
121 |
if ( $display_name && $capability && $file_name ) {
|
122 |
// Get an array of the keys
|
@@ -164,6 +168,10 @@ function bb_admin_add_menu( $display_name, $capability, $file_name, $menu_positi
|
|
164 |
$plugin_menu_next++;
|
165 |
}
|
166 |
|
|
|
|
|
|
|
|
|
167 |
// Add the menu item at the given key
|
168 |
$bb_menu[$plugin_menu_next] = array( $display_name, $capability, $file_name, $class, $id );
|
169 |
|
@@ -178,7 +186,15 @@ function bb_admin_add_menu( $display_name, $capability, $file_name, $menu_positi
|
|
178 |
function bb_admin_add_submenu( $display_name, $capability, $file_name, $parent = 'plugins.php' )
|
179 |
{
|
180 |
global $bb_submenu;
|
|
|
|
|
|
|
|
|
|
|
181 |
if ( $display_name && $capability && $file_name ) {
|
|
|
|
|
|
|
182 |
$bb_submenu[$parent][] = array( $display_name, $capability, $file_name );
|
183 |
ksort( $bb_submenu );
|
184 |
}
|
@@ -397,10 +413,13 @@ function bb_get_ids_by_role( $role = 'moderator', $sort = 0, $page = 1, $limit =
|
|
397 |
|
398 |
function bb_user_row( $user, $role = '', $email = false ) {
|
399 |
$actions = "<a href='" . esc_attr( get_user_profile_link( $user->ID ) ) . "'>" . __('View') . "</a>";
|
400 |
-
|
|
|
401 |
$actions .= " | <a href='" . esc_attr( get_profile_tab_link( $user->ID, 'edit' ) ) . "'>" . __('Edit') . "</a>";
|
|
|
|
|
402 |
$r = "\t<tr id='user-$user->ID'" . get_alt_class("user-$role") . ">\n";
|
403 |
-
$r .= "\t\t<td class=\"user\">" . bb_get_avatar( $user->ID, 32 ) . "<span class=\"row-title\"><a href='" . get_user_profile_link( $user->ID ) . "'>" . get_user_name( $user->ID ) . "</a></span><div><span class=\"row-actions\">$actions</span> </div></td>\n";
|
404 |
$r .= "\t\t<td><a href='" . get_user_profile_link( $user->ID ) . "'>" . get_user_display_name( $user->ID ) . "</a></td>\n";
|
405 |
if ( $email ) {
|
406 |
$email = bb_get_user_email( $user->ID );
|
117 |
function bb_admin_add_menu( $display_name, $capability, $file_name, $menu_position = false, $class = '', $id = '' )
|
118 |
{
|
119 |
global $bb_menu;
|
120 |
+
global $bb_registered_plugin_callbacks;
|
121 |
+
if ( empty( $bb_registered_plugin_callbacks ) ) {
|
122 |
+
$bb_registered_plugin_callbacks = array();
|
123 |
+
}
|
124 |
|
125 |
if ( $display_name && $capability && $file_name ) {
|
126 |
// Get an array of the keys
|
168 |
$plugin_menu_next++;
|
169 |
}
|
170 |
|
171 |
+
if ( strpos( $file_name, '.php' ) === false ) {
|
172 |
+
$bb_registered_plugin_callbacks[] = $file_name;
|
173 |
+
}
|
174 |
+
|
175 |
// Add the menu item at the given key
|
176 |
$bb_menu[$plugin_menu_next] = array( $display_name, $capability, $file_name, $class, $id );
|
177 |
|
186 |
function bb_admin_add_submenu( $display_name, $capability, $file_name, $parent = 'plugins.php' )
|
187 |
{
|
188 |
global $bb_submenu;
|
189 |
+
global $bb_registered_plugin_callbacks;
|
190 |
+
if ( empty( $bb_registered_plugin_callbacks ) ) {
|
191 |
+
$bb_registered_plugin_callbacks = array();
|
192 |
+
}
|
193 |
+
|
194 |
if ( $display_name && $capability && $file_name ) {
|
195 |
+
if ( strpos( $file_name, '.php' ) === false ) {
|
196 |
+
$bb_registered_plugin_callbacks[] = $file_name;
|
197 |
+
}
|
198 |
$bb_submenu[$parent][] = array( $display_name, $capability, $file_name );
|
199 |
ksort( $bb_submenu );
|
200 |
}
|
413 |
|
414 |
function bb_user_row( $user, $role = '', $email = false ) {
|
415 |
$actions = "<a href='" . esc_attr( get_user_profile_link( $user->ID ) ) . "'>" . __('View') . "</a>";
|
416 |
+
$title = '';
|
417 |
+
if ( bb_current_user_can( 'edit_user', $user_id ) ) {
|
418 |
$actions .= " | <a href='" . esc_attr( get_profile_tab_link( $user->ID, 'edit' ) ) . "'>" . __('Edit') . "</a>";
|
419 |
+
$title = " title='" . esc_attr( sprintf( __( 'User ID: %d' ), $user->ID ) ) . "'";
|
420 |
+
}
|
421 |
$r = "\t<tr id='user-$user->ID'" . get_alt_class("user-$role") . ">\n";
|
422 |
+
$r .= "\t\t<td class=\"user\">" . bb_get_avatar( $user->ID, 32 ) . "<span class=\"row-title\"><a href='" . get_user_profile_link( $user->ID ) . "'" . $title . ">" . get_user_name( $user->ID ) . "</a></span><div><span class=\"row-actions\">$actions</span> </div></td>\n";
|
423 |
$r .= "\t\t<td><a href='" . get_user_profile_link( $user->ID ) . "'>" . get_user_display_name( $user->ID ) . "</a></td>\n";
|
424 |
if ( $email ) {
|
425 |
$email = bb_get_user_email( $user->ID );
|
bp-forums/bbpress/bb-admin/includes/functions.bb-recount.php
ADDED
@@ -0,0 +1,262 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
function bb_recount_topic_posts()
|
4 |
+
{
|
5 |
+
global $bbdb;
|
6 |
+
|
7 |
+
$statement = __( 'Counting the number of posts in each topic… %s' );
|
8 |
+
$result = __( 'Failed!' );
|
9 |
+
|
10 |
+
$sql = "INSERT INTO `$bbdb->topics` (`topic_id`, `topic_posts`) (SELECT `topic_id`, COUNT(`post_status`) as `topic_posts` FROM `$bbdb->posts` WHERE `post_status` = '0' GROUP BY `topic_id`) ON DUPLICATE KEY UPDATE `topic_posts` = VALUES(`topic_posts`);";
|
11 |
+
if ( is_wp_error( $bbdb->query( $sql ) ) ) {
|
12 |
+
return sprintf( $statement, $result );
|
13 |
+
}
|
14 |
+
|
15 |
+
$result = __( 'Complete!' );
|
16 |
+
return sprintf( $statement, $result );
|
17 |
+
}
|
18 |
+
|
19 |
+
function bb_recount_topic_voices()
|
20 |
+
{
|
21 |
+
global $bbdb;
|
22 |
+
|
23 |
+
$statement = __( 'Counting the number of voices in each topic… %s' );
|
24 |
+
$result = __( 'Failed!' );
|
25 |
+
|
26 |
+
$sql_delete = "DELETE FROM `$bbdb->meta` WHERE `object_type` = 'bb_topic' AND `meta_key` = 'voices_count';";
|
27 |
+
if ( is_wp_error( $bbdb->query( $sql_delete ) ) ) {
|
28 |
+
return sprintf( $statement, $result );
|
29 |
+
}
|
30 |
+
|
31 |
+
$sql = "INSERT INTO `$bbdb->meta` (`object_type`, `object_id`, `meta_key`, `meta_value`) (SELECT 'bb_topic', `topic_id`, 'voices_count', COUNT(DISTINCT `poster_id`) as `meta_value` FROM `$bbdb->posts` WHERE `post_status` = '0' GROUP BY `topic_id`);";
|
32 |
+
if ( is_wp_error( $bbdb->query( $sql ) ) ) {
|
33 |
+
return sprintf( $statement, $result );
|
34 |
+
}
|
35 |
+
|
36 |
+
$result = __( 'Complete!' );
|
37 |
+
return sprintf( $statement, $result );
|
38 |
+
}
|
39 |
+
|
40 |
+
function bb_recount_topic_deleted_posts()
|
41 |
+
{
|
42 |
+
global $bbdb;
|
43 |
+
|
44 |
+
$statement = __( 'Counting the number of deleted posts in each topic… %s' );
|
45 |
+
$result = __( 'Failed!' );
|
46 |
+
|
47 |
+
$sql_delete = "DELETE FROM `$bbdb->meta` WHERE `object_type` = 'bb_topic' AND `meta_key` = 'deleted_posts';";
|
48 |
+
if ( is_wp_error( $bbdb->query( $sql_delete ) ) ) {
|
49 |
+
return sprintf( $statement, $result );
|
50 |
+
}
|
51 |
+
|
52 |
+
$sql = "INSERT INTO `$bbdb->meta` (`object_type`, `object_id`, `meta_key`, `meta_value`) (SELECT 'bb_topic', `topic_id`, 'deleted_posts', COUNT(`post_status`) as `meta_value` FROM `$bbdb->posts` WHERE `post_status` != '0' GROUP BY `topic_id`);";
|
53 |
+
if ( is_wp_error( $bbdb->query( $sql ) ) ) {
|
54 |
+
return sprintf( $statement, $result );
|
55 |
+
}
|
56 |
+
|
57 |
+
$result = __( 'Complete!' );
|
58 |
+
return sprintf( $statement, $result );
|
59 |
+
}
|
60 |
+
|
61 |
+
function bb_recount_forum_topics()
|
62 |
+
{
|
63 |
+
global $bbdb;
|
64 |
+
|
65 |
+
$statement = __( 'Counting the number of topics in each forum… %s' );
|
66 |
+
$result = __( 'Failed!' );
|
67 |
+
|
68 |
+
$sql = "INSERT INTO `$bbdb->forums` (`forum_id`, `topics`) (SELECT `forum_id`, COUNT(`topic_status`) as `topics` FROM `$bbdb->topics` WHERE `topic_status` = '0' GROUP BY `forum_id`) ON DUPLICATE KEY UPDATE `topics` = VALUES(`topics`);";
|
69 |
+
if ( is_wp_error( $bbdb->query( $sql ) ) ) {
|
70 |
+
return sprintf( $statement, $result );
|
71 |
+
}
|
72 |
+
|
73 |
+
$result = __( 'Complete!' );
|
74 |
+
return sprintf( $statement, $result );
|
75 |
+
}
|
76 |
+
|
77 |
+
function bb_recount_forum_posts()
|
78 |
+
{
|
79 |
+
global $bbdb;
|
80 |
+
|
81 |
+
$statement = __( 'Counting the number of posts in each forum… %s' );
|
82 |
+
$result = __( 'Failed!' );
|
83 |
+
|
84 |
+
$sql = "INSERT INTO `$bbdb->forums` (`forum_id`, `posts`) (SELECT `forum_id`, COUNT(`post_status`) as `posts` FROM `$bbdb->posts` WHERE `post_status` = '0' GROUP BY `forum_id`) ON DUPLICATE KEY UPDATE `posts` = VALUES(`posts`);";
|
85 |
+
if ( is_wp_error( $bbdb->query( $sql ) ) ) {
|
86 |
+
return sprintf( $statement, $result );
|
87 |
+
}
|
88 |
+
|
89 |
+
$result = __( 'Complete!' );
|
90 |
+
return sprintf( $statement, $result );
|
91 |
+
}
|
92 |
+
|
93 |
+
function bb_recount_user_topics_replied()
|
94 |
+
{
|
95 |
+
global $bbdb;
|
96 |
+
|
97 |
+
$statement = __( 'Counting the number of topics to which each user has replied… %s' );
|
98 |
+
$result = __( 'Failed!' );
|
99 |
+
|
100 |
+
$sql_select = "SELECT `poster_id`, COUNT(DISTINCT `topic_id`) as `_count` FROM `$bbdb->posts` WHERE `post_status` = '0' GROUP BY `poster_id`;";
|
101 |
+
$insert_rows = $bbdb->get_results( $sql_select );
|
102 |
+
|
103 |
+
if ( is_wp_error( $insert_rows ) ) {
|
104 |
+
return sprintf( $statement, $result );
|
105 |
+
}
|
106 |
+
|
107 |
+
$meta_key = $bbdb->prefix . 'topics_replied';
|
108 |
+
|
109 |
+
$insert_values = array();
|
110 |
+
foreach ( $insert_rows as $insert_row ) {
|
111 |
+
$insert_values[] = "('$insert_row->poster_id', '$meta_key', '$insert_row->_count')";
|
112 |
+
}
|
113 |
+
|
114 |
+
if ( !count( $insert_values ) ) {
|
115 |
+
return sprintf( $statement, $result );
|
116 |
+
}
|
117 |
+
|
118 |
+
$sql_delete = "DELETE FROM `$bbdb->usermeta` WHERE `meta_key` = '$meta_key';";
|
119 |
+
if ( is_wp_error( $bbdb->query( $sql_delete ) ) ) {
|
120 |
+
return sprintf( $statement, $result );
|
121 |
+
}
|
122 |
+
|
123 |
+
$insert_values = array_chunk( $insert_values, 10000 );
|
124 |
+
foreach ( $insert_values as $chunk ) {
|
125 |
+
$chunk = "\n" . join( ",\n", $chunk );
|
126 |
+
$sql_insert = "INSERT INTO `$bbdb->usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES $chunk;";
|
127 |
+
|
128 |
+
if ( is_wp_error( $bbdb->query( $sql_insert ) ) ) {
|
129 |
+
return sprintf( $statement, $result );
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
$result = __( 'Complete!' );
|
134 |
+
return sprintf( $statement, $result );
|
135 |
+
}
|
136 |
+
|
137 |
+
// TODO - make fast - see #1146
|
138 |
+
function bb_recount_topic_tags()
|
139 |
+
{
|
140 |
+
// Reset tag count to zero
|
141 |
+
$bbdb->query( "UPDATE $bbdb->topics SET tag_count = 0" );
|
142 |
+
|
143 |
+
// Get all tags
|
144 |
+
$terms = $wp_taxonomy_object->get_terms( 'bb_topic_tag' );
|
145 |
+
|
146 |
+
if ( !is_wp_error( $terms ) && is_array( $terms ) ) {
|
147 |
+
$message = __('Counted topic tags');
|
148 |
+
foreach ( $terms as $term ) {
|
149 |
+
$topic_ids = bb_get_tagged_topic_ids( $term->term_id );
|
150 |
+
if ( !is_wp_error( $topic_ids ) && is_array( $topic_ids ) ) {
|
151 |
+
$bbdb->query(
|
152 |
+
"UPDATE $bbdb->topics SET tag_count = tag_count + 1 WHERE topic_id IN (" . join( ',', $topic_ids ) . ")"
|
153 |
+
);
|
154 |
+
}
|
155 |
+
unset( $topic_ids );
|
156 |
+
}
|
157 |
+
}
|
158 |
+
unset( $terms, $term );
|
159 |
+
|
160 |
+
return $message;
|
161 |
+
}
|
162 |
+
|
163 |
+
// TODO - make fast - see #1146
|
164 |
+
function bb_recount_tag_topics()
|
165 |
+
{
|
166 |
+
// Get all tags
|
167 |
+
$terms = $wp_taxonomy_object->get_terms( 'bb_topic_tag', array( 'hide_empty' => false ) );
|
168 |
+
|
169 |
+
if ( !is_wp_error( $terms ) && is_array( $terms ) ) {
|
170 |
+
$message = __('Counted tagged topics');
|
171 |
+
$_terms = array();
|
172 |
+
foreach ( $terms as $term ) {
|
173 |
+
$_terms[] = $term->term_id;
|
174 |
+
}
|
175 |
+
if ( count( $_terms ) ) {
|
176 |
+
$wp_taxonomy_object->update_term_count( $_terms, 'bb_topic_tag' );
|
177 |
+
}
|
178 |
+
}
|
179 |
+
unset( $term, $_terms );
|
180 |
+
|
181 |
+
return $message;
|
182 |
+
}
|
183 |
+
|
184 |
+
// TODO - make fast - see #1146
|
185 |
+
function bb_recount_tag_delete_empty()
|
186 |
+
{
|
187 |
+
// Get all tags
|
188 |
+
if ( !isset( $terms ) ) {
|
189 |
+
$terms = $wp_taxonomy_object->get_terms( 'bb_topic_tag', array( 'hide_empty' => false ) );
|
190 |
+
}
|
191 |
+
|
192 |
+
if ( !is_wp_error( $terms ) && is_array( $terms ) ) {
|
193 |
+
$message = __('Deleted tags with no topics');
|
194 |
+
foreach ( $terms as $term ) {
|
195 |
+
$topic_ids = bb_get_tagged_topic_ids( $term->term_id );
|
196 |
+
if ( !is_wp_error( $topic_ids ) && is_array( $topic_ids ) ) {
|
197 |
+
if ( false === $topic_ids || ( is_array( $topic_ids ) && !count( $topic_ids ) ) ) {
|
198 |
+
bb_destroy_tag( $term->term_taxonomy_id );
|
199 |
+
}
|
200 |
+
}
|
201 |
+
unset( $topic_ids );
|
202 |
+
}
|
203 |
+
}
|
204 |
+
unset( $terms, $term );
|
205 |
+
|
206 |
+
return $message;
|
207 |
+
}
|
208 |
+
|
209 |
+
function bb_recount_clean_favorites()
|
210 |
+
{
|
211 |
+
global $bbdb;
|
212 |
+
|
213 |
+
$statement = __( 'Removing deleted topics from user favorites… %s' );
|
214 |
+
$result = __( 'Failed!' );
|
215 |
+
|
216 |
+
$meta_key = $bbdb->prefix . 'favorites';
|
217 |
+
|
218 |
+
$users = $bbdb->get_results( "SELECT `user_id`, `meta_value` AS `favorites` FROM `$bbdb->usermeta` WHERE `meta_key` = '$meta_key';" );
|
219 |
+
if ( is_wp_error( $users ) ) {
|
220 |
+
return sprintf( $statement, $result );
|
221 |
+
}
|
222 |
+
|
223 |
+
$topics = $bbdb->get_col( "SELECT `topic_id` FROM `$bbdb->topics` WHERE `topic_status` = '0';" );
|
224 |
+
|
225 |
+
if ( is_wp_error( $topics ) ) {
|
226 |
+
return sprintf( $statement, $result );
|
227 |
+
}
|
228 |
+
|
229 |
+
$values = array();
|
230 |
+
foreach ( $users as $user ) {
|
231 |
+
if ( empty( $user->favorites ) || !is_string( $user->favorites ) ) {
|
232 |
+
continue;
|
233 |
+
}
|
234 |
+
$favorites = explode( ',', $user->favorites );
|
235 |
+
if ( empty( $favorites ) || !is_array( $favorites ) ) {
|
236 |
+
continue;
|
237 |
+
}
|
238 |
+
$favorites = join( ',', array_intersect( $topics, $favorites ) );
|
239 |
+
$values[] = "('$user->user_id', '$meta_key', '$favorites')";
|
240 |
+
}
|
241 |
+
|
242 |
+
if ( !count( $values ) ) {
|
243 |
+
return sprintf( $statement, $result );
|
244 |
+
}
|
245 |
+
|
246 |
+
$sql_delete = "DELETE FROM `$bbdb->usermeta` WHERE `meta_key` = '$meta_key';";
|
247 |
+
if ( is_wp_error( $bbdb->query( $sql_delete ) ) ) {
|
248 |
+
return sprintf( $statement, $result );
|
249 |
+
}
|
250 |
+
|
251 |
+
$values = array_chunk( $values, 10000 );
|
252 |
+
foreach ( $values as $chunk ) {
|
253 |
+
$chunk = "\n" . join( ",\n", $chunk );
|
254 |
+
$sql_insert = "INSERT INTO `$bbdb->usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES $chunk;";
|
255 |
+
if ( is_wp_error( $bbdb->query( $sql_insert ) ) ) {
|
256 |
+
return sprintf( $statement, $result );
|
257 |
+
}
|
258 |
+
}
|
259 |
+
|
260 |
+
$result = __( 'Complete!' );
|
261 |
+
return sprintf( $statement, $result );
|
262 |
+
}
|
bp-forums/bbpress/bb-admin/includes/functions.bb-upgrade.php
CHANGED
@@ -9,16 +9,25 @@ function bb_install() {
|
|
9 |
return array_filter($alterations);
|
10 |
}
|
11 |
|
12 |
-
function bb_upgrade_all()
|
13 |
-
|
|
|
14 |
set_time_limit(600);
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
$bb_upgrade = array();
|
17 |
|
18 |
// Pre DB Delta
|
19 |
-
|
20 |
-
|
21 |
-
|
|
|
|
|
22 |
$bb_upgrade['messages'][] = bb_upgrade_190(); // Move topic_resolved to topicmeta
|
23 |
$bb_upgrade['messages'][] = bb_upgrade_200(); // Indices
|
24 |
$bb_upgrade['messages'][] = bb_upgrade_210(); // Convert text slugs to varchar slugs
|
@@ -37,13 +46,17 @@ function bb_upgrade_all() {
|
|
37 |
// Post DB Delta
|
38 |
$bb_upgrade['messages'][] = bb_upgrade_1000(); // Make forum and topic slugs
|
39 |
$bb_upgrade['messages'][] = bb_upgrade_1010(); // Make sure all forums have a valid parent
|
40 |
-
|
|
|
|
|
41 |
$bb_upgrade['messages'][] = bb_upgrade_1030(); // Move admin_email option to from_email
|
42 |
$bb_upgrade['messages'][] = bb_upgrade_1040(); // Activate Akismet and bozo plugins and convert active plugins to new convention on upgrade only
|
43 |
$bb_upgrade['messages'][] = bb_upgrade_1050(); // Update active theme if present
|
44 |
$bb_upgrade['messages'][] = bb_upgrade_1070(); // trim whitespace from raw_tag
|
45 |
$bb_upgrade['messages'][] = bb_upgrade_1080(); // Convert tags to taxonomy
|
46 |
-
|
|
|
|
|
47 |
$bb_upgrade['messages'][] = bb_upgrade_1100(); // Replace forum_stickies index with stickies (#876)
|
48 |
$bb_upgrade['messages'][] = bb_upgrade_1110(); // Create plugin directory (#1083)
|
49 |
$bb_upgrade['messages'][] = bb_upgrade_1120(); // Create theme directory (#1083)
|
9 |
return array_filter($alterations);
|
10 |
}
|
11 |
|
12 |
+
function bb_upgrade_all()
|
13 |
+
{
|
14 |
+
if ( !ini_get( 'safe_mode' ) ) {
|
15 |
set_time_limit(600);
|
16 |
+
}
|
17 |
+
|
18 |
+
$_do_user_operations = true;
|
19 |
+
if ( bb_get_option( 'wp_table_prefix' ) || ( defined( 'BB_SCHEMA_IGNORE_WP_USERS_TABLES' ) && BB_SCHEMA_IGNORE_WP_USERS_TABLES ) ) {
|
20 |
+
$_do_user_operations = false;
|
21 |
+
}
|
22 |
|
23 |
$bb_upgrade = array();
|
24 |
|
25 |
// Pre DB Delta
|
26 |
+
if ( $_do_user_operations ) {
|
27 |
+
$bb_upgrade['messages'][] = bb_upgrade_160(); // Break blocked users
|
28 |
+
$bb_upgrade['messages'][] = bb_upgrade_170(); // Escaping in usermeta
|
29 |
+
$bb_upgrade['messages'][] = bb_upgrade_180(); // Delete users for real
|
30 |
+
}
|
31 |
$bb_upgrade['messages'][] = bb_upgrade_190(); // Move topic_resolved to topicmeta
|
32 |
$bb_upgrade['messages'][] = bb_upgrade_200(); // Indices
|
33 |
$bb_upgrade['messages'][] = bb_upgrade_210(); // Convert text slugs to varchar slugs
|
46 |
// Post DB Delta
|
47 |
$bb_upgrade['messages'][] = bb_upgrade_1000(); // Make forum and topic slugs
|
48 |
$bb_upgrade['messages'][] = bb_upgrade_1010(); // Make sure all forums have a valid parent
|
49 |
+
if ( $_do_user_operations ) {
|
50 |
+
$bb_upgrade['messages'][] = bb_upgrade_1020(); // Add a user_nicename to existing users
|
51 |
+
}
|
52 |
$bb_upgrade['messages'][] = bb_upgrade_1030(); // Move admin_email option to from_email
|
53 |
$bb_upgrade['messages'][] = bb_upgrade_1040(); // Activate Akismet and bozo plugins and convert active plugins to new convention on upgrade only
|
54 |
$bb_upgrade['messages'][] = bb_upgrade_1050(); // Update active theme if present
|
55 |
$bb_upgrade['messages'][] = bb_upgrade_1070(); // trim whitespace from raw_tag
|
56 |
$bb_upgrade['messages'][] = bb_upgrade_1080(); // Convert tags to taxonomy
|
57 |
+
if ( $_do_user_operations ) {
|
58 |
+
$bb_upgrade['messages'][] = bb_upgrade_1090(); // Add display names
|
59 |
+
}
|
60 |
$bb_upgrade['messages'][] = bb_upgrade_1100(); // Replace forum_stickies index with stickies (#876)
|
61 |
$bb_upgrade['messages'][] = bb_upgrade_1110(); // Create plugin directory (#1083)
|
62 |
$bb_upgrade['messages'][] = bb_upgrade_1120(); // Create theme directory (#1083)
|
bp-forums/bbpress/bb-admin/index.php
CHANGED
@@ -29,6 +29,14 @@ $rn_users_average = sprintf(__ngettext('<span>%d</span> user', '<span>%d</span>
|
|
29 |
$rn_topic_tags_average = bb_get_topic_tags_per_day();
|
30 |
$rn_topic_tags_average = sprintf(__ngettext('<span>%d</span> tag', '<span>%d</span> tags', $rn_topic_tags_average), $rn_topic_tags_average);
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
$bb_admin_body_class = ' bb-admin-dashboard';
|
33 |
|
34 |
bb_get_admin_header();
|
@@ -48,28 +56,24 @@ bb_get_admin_header();
|
|
48 |
<th><?php _e( 'Per Day' ); ?></th>
|
49 |
</tr>
|
50 |
</thead>
|
|
|
|
|
|
|
51 |
<tbody>
|
|
|
|
|
|
|
52 |
<tr>
|
53 |
-
<td><?php echo $
|
54 |
-
<td
|
55 |
-
</tr>
|
56 |
-
<tr>
|
57 |
-
<td><?php echo $rn_topics; ?></td>
|
58 |
-
<td><?php echo $rn_topics_average; ?></td>
|
59 |
-
</tr>
|
60 |
-
<tr>
|
61 |
-
<td><?php echo $rn_posts; ?></td>
|
62 |
-
<td><?php echo $rn_posts_average; ?></td>
|
63 |
-
</tr>
|
64 |
-
<tr>
|
65 |
-
<td><?php echo $rn_topic_tags; ?></td>
|
66 |
-
<td><?php echo $rn_topic_tags_average; ?></td>
|
67 |
-
</tr>
|
68 |
-
<tr>
|
69 |
-
<td><?php echo $rn_users; ?></td>
|
70 |
-
<td><?php echo $rn_users_average; ?></td>
|
71 |
</tr>
|
|
|
|
|
|
|
72 |
</tbody>
|
|
|
|
|
|
|
73 |
</table>
|
74 |
</div>
|
75 |
|
29 |
$rn_topic_tags_average = bb_get_topic_tags_per_day();
|
30 |
$rn_topic_tags_average = sprintf(__ngettext('<span>%d</span> tag', '<span>%d</span> tags', $rn_topic_tags_average), $rn_topic_tags_average);
|
31 |
|
32 |
+
$rn = apply_filters( 'bb_admin_right_now', array(
|
33 |
+
'forums' => array( $rn_forums, '-' ),
|
34 |
+
'topics' => array( $rn_topics, $rn_topics_average ),
|
35 |
+
'posts' => array( $rn_posts, $rn_posts_average ),
|
36 |
+
'topic_tags' => array( $rn_topic_tags, $rn_topic_tags_average ),
|
37 |
+
'users' => array( $rn_users, $rn_users_average )
|
38 |
+
) );
|
39 |
+
|
40 |
$bb_admin_body_class = ' bb-admin-dashboard';
|
41 |
|
42 |
bb_get_admin_header();
|
56 |
<th><?php _e( 'Per Day' ); ?></th>
|
57 |
</tr>
|
58 |
</thead>
|
59 |
+
<?php
|
60 |
+
if ( !empty( $rn ) && is_array( $rn ) ) {
|
61 |
+
?>
|
62 |
<tbody>
|
63 |
+
<?php
|
64 |
+
foreach ( $rn as $rn_row ) {
|
65 |
+
?>
|
66 |
<tr>
|
67 |
+
<td><?php echo $rn_row[0]; ?></td>
|
68 |
+
<td><?php echo $rn_row[1]; ?></td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
</tr>
|
70 |
+
<?php
|
71 |
+
}
|
72 |
+
?>
|
73 |
</tbody>
|
74 |
+
<?php
|
75 |
+
}
|
76 |
+
?>
|
77 |
</table>
|
78 |
</div>
|
79 |
|
bp-forums/bbpress/bb-admin/tools-recount.php
CHANGED
@@ -1,164 +1,59 @@
|
|
1 |
<?php
|
2 |
-
require_once('admin.php');
|
|
|
3 |
|
4 |
if ( 'post' == strtolower( $_SERVER['REQUEST_METHOD'] ) ) {
|
5 |
bb_check_admin_referer( 'do-counts' );
|
6 |
|
|
|
7 |
$messages = array();
|
8 |
-
if ( isset($_POST['topic-posts']) && 1 == $_POST['topic-posts'] ) {
|
9 |
-
if ( $topics = (array) $bbdb->get_results("SELECT topic_id, COUNT(post_id) AS count FROM $bbdb->posts WHERE post_status = '0' GROUP BY topic_id") ) {
|
10 |
-
$messages[] = __('Counted posts');
|
11 |
-
foreach ($topics as $topic) {
|
12 |
-
$topic_id = (int) $topic->topic_id;
|
13 |
-
$bbdb->query( $bbdb->prepare( "UPDATE $bbdb->topics SET topic_posts = %s WHERE topic_id = %s" ), $topic->count, $topic_id );
|
14 |
-
}
|
15 |
-
unset($topics, $topic, $topic_id);
|
16 |
-
}
|
17 |
-
}
|
18 |
|
19 |
-
if (
|
20 |
-
|
21 |
-
$messages[] = __('Counted voices');
|
22 |
-
foreach ($topics as $topic) {
|
23 |
-
$topic_id = (int) $topic->topic_id;
|
24 |
-
if ( $voices = $bbdb->get_col( $bbdb->prepare( "SELECT DISTINCT poster_id FROM $bbdb->posts WHERE topic_id = %s AND post_status = '0';", $topic_id ) ) ) {
|
25 |
-
$voices = count( $voices );
|
26 |
-
bb_update_topicmeta( $topic_id, 'voices_count', $voices );
|
27 |
-
}
|
28 |
-
}
|
29 |
-
unset($topics, $topic, $topic_id);
|
30 |
-
}
|
31 |
}
|
32 |
|
33 |
-
if (
|
34 |
-
$
|
35 |
-
$old = array_flip($old);
|
36 |
-
if ( $topics = (array) $bbdb->get_results("SELECT topic_id, COUNT(post_id) AS count FROM $bbdb->posts WHERE post_status != '0' GROUP BY topic_id") ) {
|
37 |
-
$messages[] = __('Counting deleted posts…');
|
38 |
-
foreach ( $topics as $topic ) {
|
39 |
-
bb_update_topicmeta( $topic->topic_id, 'deleted_posts', $topic->count );
|
40 |
-
unset($old[$topic->topic_id]);
|
41 |
-
}
|
42 |
-
unset($topics, $topic);
|
43 |
-
}
|
44 |
-
if ( $old ) {
|
45 |
-
$old = join(',', array_flip($old));
|
46 |
-
$bbdb->query("DELETE FROM $bbdb->meta WHERE object_type = 'bb_topic' AND object_id IN ($old) AND meta_key = 'deleted_posts'");
|
47 |
-
$messages[] = __('…counted deleted posts');
|
48 |
-
} else {
|
49 |
-
$messages[] = __('…no deleted posts to count');
|
50 |
-
}
|
51 |
}
|
52 |
|
53 |
-
if (
|
54 |
-
|
55 |
-
$messages[] = __('Counted forum topics and posts');
|
56 |
-
$all_forums = array_flip( $all_forums );
|
57 |
-
$forums = $bbdb->get_results("SELECT forum_id, COUNT(topic_id) AS topic_count, SUM(topic_posts) AS post_count FROM $bbdb->topics WHERE topic_status = 0 GROUP BY forum_id");
|
58 |
-
foreach ( (array) $forums as $forum ) {
|
59 |
-
$bbdb->query("UPDATE $bbdb->forums SET topics = '$forum->topic_count', posts = '$forum->post_count' WHERE forum_id = '$forum->forum_id'");
|
60 |
-
unset($all_forums[$forum->forum_id]);
|
61 |
-
}
|
62 |
-
if ( $all_forums ) {
|
63 |
-
$all_forums = implode(',', array_flip( $all_forums ) );
|
64 |
-
$bbdb->query("UPDATE $bbdb->forums SET topics = 0, posts = 0 WHERE forum_id IN ($all_forums)");
|
65 |
-
}
|
66 |
-
unset($all_forums, $forums, $forum);
|
67 |
-
}
|
68 |
}
|
69 |
|
70 |
-
if (
|
71 |
-
|
72 |
-
|
73 |
-
foreach ( $users as $user )
|
74 |
-
bb_update_topics_replied( $user );
|
75 |
-
unset($users, $user);
|
76 |
-
}
|
77 |
}
|
78 |
|
79 |
-
if (
|
80 |
-
|
81 |
-
$bbdb->query( "UPDATE $bbdb->topics SET tag_count = 0" );
|
82 |
-
|
83 |
-
// Get all tags
|
84 |
-
$terms = $wp_taxonomy_object->get_terms( 'bb_topic_tag' );
|
85 |
-
|
86 |
-
if ( !is_wp_error( $terms ) && is_array( $terms ) ) {
|
87 |
-
$messages[] = __('Counted topic tags');
|
88 |
-
foreach ( $terms as $term ) {
|
89 |
-
$topic_ids = bb_get_tagged_topic_ids( $term->term_id );
|
90 |
-
if ( !is_wp_error( $topic_ids ) && is_array( $topic_ids ) ) {
|
91 |
-
$bbdb->query(
|
92 |
-
"UPDATE $bbdb->topics SET tag_count = tag_count + 1 WHERE topic_id IN (" . join( ',', $topic_ids ) . ")"
|
93 |
-
);
|
94 |
-
}
|
95 |
-
unset( $topic_ids );
|
96 |
-
}
|
97 |
-
}
|
98 |
-
unset( $terms, $term );
|
99 |
}
|
100 |
|
101 |
-
if (
|
102 |
-
|
103 |
-
$terms = $wp_taxonomy_object->get_terms( 'bb_topic_tag', array( 'hide_empty' => false ) );
|
104 |
-
|
105 |
-
if ( !is_wp_error( $terms ) && is_array( $terms ) ) {
|
106 |
-
$messages[] = __('Counted tagged topics');
|
107 |
-
$_terms = array();
|
108 |
-
foreach ( $terms as $term ) {
|
109 |
-
$_terms[] = $term->term_id;
|
110 |
-
}
|
111 |
-
if ( count( $_terms ) ) {
|
112 |
-
$wp_taxonomy_object->update_term_count( $_terms, 'bb_topic_tag' );
|
113 |
-
}
|
114 |
-
}
|
115 |
-
unset( $term, $_terms );
|
116 |
}
|
117 |
|
118 |
-
if (
|
119 |
-
|
120 |
-
|
121 |
-
$terms = $wp_taxonomy_object->get_terms( 'bb_topic_tag', array( 'hide_empty' => false ) );
|
122 |
-
}
|
123 |
|
124 |
-
|
125 |
-
|
126 |
-
foreach ( $terms as $term ) {
|
127 |
-
$topic_ids = bb_get_tagged_topic_ids( $term->term_id );
|
128 |
-
if ( !is_wp_error( $topic_ids ) && is_array( $topic_ids ) ) {
|
129 |
-
if ( false === $topic_ids || ( is_array( $topic_ids ) && !count( $topic_ids ) ) ) {
|
130 |
-
bb_destroy_tag( $term->term_taxonomy_id );
|
131 |
-
}
|
132 |
-
}
|
133 |
-
unset( $topic_ids );
|
134 |
-
}
|
135 |
-
}
|
136 |
-
unset( $terms, $term );
|
137 |
}
|
138 |
|
139 |
-
if (
|
140 |
-
$
|
141 |
-
if ( $users = $bbdb->get_results("SELECT user_id AS id, meta_value AS favorites FROM $bbdb->usermeta WHERE meta_key = '" . $favorites_key . "'") ) {
|
142 |
-
$messages[] = __('Removed deleted topics from users\' favorites');
|
143 |
-
$topics = $bbdb->get_col("SELECT topic_id FROM $bbdb->topics WHERE topic_status = '0'");
|
144 |
-
foreach ( $users as $user ) {
|
145 |
-
foreach ( explode(',', $user->favorites) as $favorite ) {
|
146 |
-
if ( !in_array($favorite, $topics) ) {
|
147 |
-
bb_remove_user_favorite( $user->id, $favorite );
|
148 |
-
}
|
149 |
-
}
|
150 |
-
}
|
151 |
-
unset($topics, $users, $user, $favorite);
|
152 |
-
}
|
153 |
}
|
154 |
|
155 |
bb_recount_list();
|
156 |
foreach ( (array) $recount_list as $item ) {
|
157 |
if ( isset($item[2]) && isset($_POST[$item[0]]) && 1 == $_POST[$item[0]] && is_callable($item[2]) ) {
|
158 |
-
call_user_func( $item[2] );
|
159 |
}
|
160 |
}
|
161 |
-
|
|
|
|
|
162 |
if ( count( $messages ) ) {
|
163 |
$messages = join( '</p>' . "\n" . '<p>', $messages );
|
164 |
bb_admin_notice( $messages );
|
1 |
<?php
|
2 |
+
require_once( 'admin.php' );
|
3 |
+
require_once( 'includes/functions.bb-recount.php' );
|
4 |
|
5 |
if ( 'post' == strtolower( $_SERVER['REQUEST_METHOD'] ) ) {
|
6 |
bb_check_admin_referer( 'do-counts' );
|
7 |
|
8 |
+
// Stores messages
|
9 |
$messages = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
+
if ( !empty( $_POST['topic-posts'] ) ) {
|
12 |
+
$messages[] = bb_recount_topic_posts();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
|
15 |
+
if ( !empty( $_POST['topic-voices'] ) ) {
|
16 |
+
$messages[] = bb_recount_topic_voices();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
|
19 |
+
if ( !empty( $_POST['topic-deleted-posts'] ) ) {
|
20 |
+
$messages[] = bb_recount_topic_deleted_posts();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
}
|
22 |
|
23 |
+
if ( !empty( $_POST['forums'] ) ) {
|
24 |
+
$messages[] = bb_recount_forum_topics();
|
25 |
+
$messages[] = bb_recount_forum_posts();
|
|
|
|
|
|
|
|
|
26 |
}
|
27 |
|
28 |
+
if ( !empty( $_POST['topics-replied'] ) ) {
|
29 |
+
$messages[] = bb_recount_user_topics_replied();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
32 |
+
if ( !empty( $_POST['topic-tag-count'] ) ) {
|
33 |
+
$messages[] = bb_recount_topic_tags();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
+
if ( !empty( $_POST['tags-tag-count'] ) ) {
|
37 |
+
$messages[] = bb_recount_tag_topics();
|
38 |
+
}
|
|
|
|
|
39 |
|
40 |
+
if ( !empty( $_POST['tags-delete-empty'] ) ) {
|
41 |
+
$messages[] = bb_recount_tag_delete_empty();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
}
|
43 |
|
44 |
+
if ( !empty( $_POST['clean-favorites'] ) ) {
|
45 |
+
$messages[] = bb_recount_clean_favorites();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
bb_recount_list();
|
49 |
foreach ( (array) $recount_list as $item ) {
|
50 |
if ( isset($item[2]) && isset($_POST[$item[0]]) && 1 == $_POST[$item[0]] && is_callable($item[2]) ) {
|
51 |
+
$messages[] = call_user_func( $item[2] );
|
52 |
}
|
53 |
}
|
54 |
+
|
55 |
+
wp_cache_flush();
|
56 |
+
|
57 |
if ( count( $messages ) ) {
|
58 |
$messages = join( '</p>' . "\n" . '<p>', $messages );
|
59 |
bb_admin_notice( $messages );
|
bp-forums/bbpress/bb-cron.php
CHANGED
@@ -11,6 +11,10 @@
|
|
11 |
|
12 |
ignore_user_abort( true );
|
13 |
|
|
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Tell bbPress we are doing the CRON task.
|
16 |
*
|
@@ -21,24 +25,19 @@ define( 'DOING_CRON', true );
|
|
21 |
/** Setup bbPress environment */
|
22 |
require_once( './bb-load.php' );
|
23 |
|
24 |
-
if ( $
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( bb_get_option( 'doing_cron' ) > time() ) {
|
29 |
-
exit;
|
30 |
}
|
31 |
|
32 |
-
bb_update_option( 'doing_cron', time() + 30 );
|
33 |
-
|
34 |
-
$crons = _get_cron_array();
|
35 |
$keys = array_keys( $crons );
|
36 |
-
|
37 |
-
|
|
|
|
|
38 |
}
|
39 |
|
40 |
foreach ( $crons as $timestamp => $cronhooks ) {
|
41 |
-
if ( $timestamp >
|
42 |
break;
|
43 |
}
|
44 |
foreach ( $cronhooks as $hook => $keys ) {
|
@@ -53,5 +52,3 @@ foreach ( $crons as $timestamp => $cronhooks ) {
|
|
53 |
}
|
54 |
}
|
55 |
}
|
56 |
-
|
57 |
-
bb_update_option( 'doing_cron', 0 );
|
11 |
|
12 |
ignore_user_abort( true );
|
13 |
|
14 |
+
if ( !empty( $_POST ) || defined( 'DOING_AJAX' ) || defined( 'DOING_CRON' ) ) {
|
15 |
+
die();
|
16 |
+
}
|
17 |
+
|
18 |
/**
|
19 |
* Tell bbPress we are doing the CRON task.
|
20 |
*
|
25 |
/** Setup bbPress environment */
|
26 |
require_once( './bb-load.php' );
|
27 |
|
28 |
+
if ( false === $crons = _get_cron_array() ) {
|
29 |
+
die();
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
|
|
|
|
|
|
32 |
$keys = array_keys( $crons );
|
33 |
+
$local_time = time();
|
34 |
+
|
35 |
+
if ( !is_array( $crons ) || ( isset($keys[0]) && $keys[0] > $local_time ) ) {
|
36 |
+
die();
|
37 |
}
|
38 |
|
39 |
foreach ( $crons as $timestamp => $cronhooks ) {
|
40 |
+
if ( $timestamp > $local_time ) {
|
41 |
break;
|
42 |
}
|
43 |
foreach ( $cronhooks as $hook => $keys ) {
|
52 |
}
|
53 |
}
|
54 |
}
|
|
|
|
bp-forums/bbpress/bb-includes/backpress/functions.formatting.php
CHANGED
@@ -1489,14 +1489,15 @@ if ( !function_exists('clean_url') ) :
|
|
1489 |
*
|
1490 |
* @param string $url The URL to be cleaned.
|
1491 |
* @param array $protocols Optional. An array of acceptable protocols.
|
1492 |
-
* Defaults to 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet' if not set.
|
1493 |
* @param string $context Optional. How the URL will be used. Default is 'display'.
|
1494 |
* @return string The cleaned $url after the 'cleaned_url' filter is applied.
|
1495 |
*/
|
1496 |
function clean_url( $url, $protocols = null, $context = 'display' ) {
|
1497 |
$original_url = $url;
|
1498 |
|
1499 |
-
if ('' == $url)
|
|
|
1500 |
$url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url);
|
1501 |
$strip = array('%0d', '%0a', '%0D', '%0A');
|
1502 |
$url = _deep_replace($strip, $url);
|
@@ -1511,12 +1512,13 @@ function clean_url( $url, $protocols = null, $context = 'display' ) {
|
|
1511 |
|
1512 |
// Replace ampersands and single quotes only when displaying.
|
1513 |
if ( 'display' == $context ) {
|
1514 |
-
$url =
|
|
|
1515 |
$url = str_replace( "'", ''', $url );
|
1516 |
}
|
1517 |
|
1518 |
if ( !is_array($protocols) )
|
1519 |
-
$protocols = array('http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet');
|
1520 |
if ( wp_kses_bad_protocol( $url, $protocols ) != $url )
|
1521 |
return '';
|
1522 |
|
1489 |
*
|
1490 |
* @param string $url The URL to be cleaned.
|
1491 |
* @param array $protocols Optional. An array of acceptable protocols.
|
1492 |
+
* Defaults to 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn' if not set.
|
1493 |
* @param string $context Optional. How the URL will be used. Default is 'display'.
|
1494 |
* @return string The cleaned $url after the 'cleaned_url' filter is applied.
|
1495 |
*/
|
1496 |
function clean_url( $url, $protocols = null, $context = 'display' ) {
|
1497 |
$original_url = $url;
|
1498 |
|
1499 |
+
if ( '' == $url )
|
1500 |
+
return $url;
|
1501 |
$url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url);
|
1502 |
$strip = array('%0d', '%0a', '%0D', '%0A');
|
1503 |
$url = _deep_replace($strip, $url);
|
1512 |
|
1513 |
// Replace ampersands and single quotes only when displaying.
|
1514 |
if ( 'display' == $context ) {
|
1515 |
+
$url = wp_kses_normalize_entities( $url );
|
1516 |
+
$url = str_replace( '&', '&', $url );
|
1517 |
$url = str_replace( "'", ''', $url );
|
1518 |
}
|
1519 |
|
1520 |
if ( !is_array($protocols) )
|
1521 |
+
$protocols = array ('http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn');
|
1522 |
if ( wp_kses_bad_protocol( $url, $protocols ) != $url )
|
1523 |
return '';
|
1524 |
|
bp-forums/bbpress/bb-includes/backpress/functions.kses.php
CHANGED
@@ -1,30 +1,485 @@
|
|
1 |
<?php
|
2 |
-
// Last sync [
|
3 |
|
4 |
/**
|
5 |
-
* HTML/XHTML filter that only allows some elements and attributes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
*
|
7 |
* Added wp_ prefix to avoid conflicts with existing kses users
|
8 |
*
|
9 |
* @version 0.2.2
|
10 |
* @copyright (C) 2002, 2003, 2005
|
11 |
-
* @author Ulf Harnhammar <metaur
|
12 |
*
|
13 |
* @package External
|
14 |
* @subpackage KSES
|
15 |
*
|
16 |
-
* @internal
|
17 |
-
* *** CONTACT INFORMATION ***
|
18 |
-
* E-mail: metaur at users dot sourceforge dot net
|
19 |
-
* Web page: http://sourceforge.net/projects/kses
|
20 |
-
* Paper mail: Ulf Harnhammar
|
21 |
-
* Ymergatan 17 C
|
22 |
-
* 753 25 Uppsala
|
23 |
-
* SWEDEN
|
24 |
-
*
|
25 |
-
* [kses strips evil scripts!]
|
26 |
*/
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
/**
|
30 |
* Filters content and keeps only allowable HTML elements.
|
@@ -35,9 +490,9 @@
|
|
35 |
* call this function.
|
36 |
*
|
37 |
* The default allowed protocols are 'http', 'https', 'ftp', 'mailto', 'news',
|
38 |
-
* 'irc', 'gopher', 'nntp', 'feed',
|
39 |
-
* link protocols, except for 'javascript' which should not
|
40 |
-
* untrusted users.
|
41 |
*
|
42 |
* @since 1.0.0
|
43 |
*
|
@@ -46,7 +501,8 @@
|
|
46 |
* @param array $allowed_protocols Optional. Allowed protocol in links.
|
47 |
* @return string Filtered content with only allowed HTML elements
|
48 |
*/
|
49 |
-
function wp_kses($string, $allowed_html, $allowed_protocols = array (
|
|
|
50 |
$string = wp_kses_no_null($string);
|
51 |
$string = wp_kses_js_entities($string);
|
52 |
$string = wp_kses_normalize_entities($string);
|
@@ -100,8 +556,18 @@ function wp_kses_split($string, $allowed_html, $allowed_protocols) {
|
|
100 |
global $pass_allowed_html, $pass_allowed_protocols;
|
101 |
$pass_allowed_html = $allowed_html;
|
102 |
$pass_allowed_protocols = $allowed_protocols;
|
103 |
-
return preg_replace_callback('%((<!--.*?(-->|$))|(<[^>]*(>|$)|>))%',
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
|
107 |
/**
|
@@ -186,7 +652,7 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
|
|
186 |
# Is there a closing XHTML slash at the end of the attributes?
|
187 |
|
188 |
$xhtml_slash = '';
|
189 |
-
if (preg_match('%\s
|
190 |
$xhtml_slash = ' /';
|
191 |
|
192 |
# Are any attributes allowed at all for this element?
|
@@ -224,6 +690,19 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
|
|
224 |
break;
|
225 |
}
|
226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
if ($ok)
|
228 |
$attr2 .= ' '.$arreach['whole']; # it passed them
|
229 |
} # if !is_array($current)
|
@@ -299,11 +778,11 @@ function wp_kses_hair($attr, $allowed_protocols) {
|
|
299 |
|
300 |
case 2 : # attribute value, a URL after href= for instance
|
301 |
|
302 |
-
if (preg_match('
|
303 |
# "value"
|
304 |
{
|
305 |
$thisval = $match[1];
|
306 |
-
if ( in_array($attrname, $uris) )
|
307 |
$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
|
308 |
|
309 |
if(FALSE === array_key_exists($attrname, $attrarr)) {
|
@@ -315,11 +794,11 @@ function wp_kses_hair($attr, $allowed_protocols) {
|
|
315 |
break;
|
316 |
}
|
317 |
|
318 |
-
if (preg_match("
|
319 |
# 'value'
|
320 |
{
|
321 |
$thisval = $match[1];
|
322 |
-
if ( in_array($attrname, $uris) )
|
323 |
$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
|
324 |
|
325 |
if(FALSE === array_key_exists($attrname, $attrarr)) {
|
@@ -331,11 +810,11 @@ function wp_kses_hair($attr, $allowed_protocols) {
|
|
331 |
break;
|
332 |
}
|
333 |
|
334 |
-
if (preg_match("%^([^\s\"']+)(\s
|
335 |
# value
|
336 |
{
|
337 |
$thisval = $match[1];
|
338 |
-
if ( in_array($attrname, $uris) )
|
339 |
$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
|
340 |
|
341 |
if(FALSE === array_key_exists($attrname, $attrarr)) {
|
@@ -374,10 +853,10 @@ function wp_kses_hair($attr, $allowed_protocols) {
|
|
374 |
* @since 1.0.0
|
375 |
*
|
376 |
* @param string $value Attribute value
|
377 |
-
* @param string $vless Whether the value is valueless
|
378 |
* @param string $checkname What $checkvalue is checking for.
|
379 |
* @param mixed $checkvalue What constraint the value should pass
|
380 |
-
* @return bool Whether check passes
|
381 |
*/
|
382 |
function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
|
383 |
$ok = true;
|
@@ -453,7 +932,6 @@ function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
|
|
453 |
*/
|
454 |
function wp_kses_bad_protocol($string, $allowed_protocols) {
|
455 |
$string = wp_kses_no_null($string);
|
456 |
-
$string = preg_replace('/\xad+/', '', $string); # deals with Opera "feature"
|
457 |
$string2 = $string.'a';
|
458 |
|
459 |
while ($string != $string2) {
|
@@ -559,14 +1037,9 @@ function wp_kses_html_error($string) {
|
|
559 |
* @return string Sanitized content
|
560 |
*/
|
561 |
function wp_kses_bad_protocol_once($string, $allowed_protocols) {
|
562 |
-
|
563 |
-
$
|
564 |
-
|
565 |
-
$string2 = preg_split('/:|:|:/i', $string, 2);
|
566 |
-
if ( isset($string2[1]) && !preg_match('%/\?%', $string2[0]) )
|
567 |
-
$string = wp_kses_bad_protocol_once2($string2[0]) . trim($string2[1]);
|
568 |
-
else
|
569 |
-
$string = preg_replace_callback('/^((&[^;]*;|[\sA-Za-z0-9])*)'.'(:|:|&#[Xx]3[Aa];)\s*/', 'wp_kses_bad_protocol_once2', $string);
|
570 |
|
571 |
return $string;
|
572 |
}
|
@@ -580,31 +1053,19 @@ function wp_kses_bad_protocol_once($string, $allowed_protocols) {
|
|
580 |
* @access private
|
581 |
* @since 1.0.0
|
582 |
*
|
583 |
-
* @param
|
|
|
584 |
* @return string Sanitized content
|
585 |
*/
|
586 |
-
function wp_kses_bad_protocol_once2($
|
587 |
-
global $_kses_allowed_protocols;
|
588 |
-
|
589 |
-
if ( is_array($matches) ) {
|
590 |
-
if ( ! isset($matches[1]) || empty($matches[1]) )
|
591 |
-
return '';
|
592 |
-
|
593 |
-
$string = $matches[1];
|
594 |
-
} else {
|
595 |
-
$string = $matches;
|
596 |
-
}
|
597 |
-
|
598 |
$string2 = wp_kses_decode_entities($string);
|
599 |
$string2 = preg_replace('/\s/', '', $string2);
|
600 |
$string2 = wp_kses_no_null($string2);
|
601 |
-
$string2 = preg_replace('/\xad+/', '', $string2);
|
602 |
-
# deals with Opera "feature"
|
603 |
$string2 = strtolower($string2);
|
604 |
|
605 |
$allowed = false;
|
606 |
-
foreach ( (array) $
|
607 |
-
if (strtolower($one_protocol) == $string2) {
|
608 |
$allowed = true;
|
609 |
break;
|
610 |
}
|
@@ -633,13 +1094,34 @@ function wp_kses_normalize_entities($string) {
|
|
633 |
|
634 |
# Change back the allowed entities in our entity whitelist
|
635 |
|
636 |
-
$string =
|
637 |
-
$string = preg_replace_callback('/&#0*
|
638 |
-
$string = preg_replace_callback('/&#
|
639 |
|
640 |
return $string;
|
641 |
}
|
642 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
643 |
/**
|
644 |
* Callback for wp_kses_normalize_entities() regular expression.
|
645 |
*
|
@@ -653,11 +1135,18 @@ function wp_kses_normalize_entities($string) {
|
|
653 |
* @return string Correctly encoded entity
|
654 |
*/
|
655 |
function wp_kses_normalize_entities2($matches) {
|
656 |
-
if (
|
657 |
return '';
|
658 |
|
659 |
$i = $matches[1];
|
660 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
661 |
}
|
662 |
|
663 |
/**
|
@@ -672,11 +1161,11 @@ function wp_kses_normalize_entities2($matches) {
|
|
672 |
* @return string Correctly encoded entity
|
673 |
*/
|
674 |
function wp_kses_normalize_entities3($matches) {
|
675 |
-
if (
|
676 |
return '';
|
677 |
|
678 |
-
$hexchars = $matches[
|
679 |
-
return ( ( ! valid_unicode(hexdec($hexchars)) ) ? "&#x$hexchars;" :
|
680 |
}
|
681 |
|
682 |
/**
|
@@ -705,8 +1194,160 @@ function valid_unicode($i) {
|
|
705 |
* @return string Content after decoded entities
|
706 |
*/
|
707 |
function wp_kses_decode_entities($string) {
|
708 |
-
$string = preg_replace_callback('/&#([0-9]+);/',
|
709 |
-
$string = preg_replace_callback('/&#[Xx]([0-9A-Fa-f]+);/',
|
710 |
|
711 |
return $string;
|
712 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
// Last sync [WP17185]
|
3 |
|
4 |
/**
|
5 |
+
* kses 0.2.2 - HTML/XHTML filter that only allows some elements and attributes
|
6 |
+
* Copyright (C) 2002, 2003, 2005 Ulf Harnhammar
|
7 |
+
*
|
8 |
+
* This program is free software and open source software; you can redistribute
|
9 |
+
* it and/or modify it under the terms of the GNU General Public License as
|
10 |
+
* published by the Free Software Foundation; either version 2 of the License,
|
11 |
+
* or (at your option) any later version.
|
12 |
+
*
|
13 |
+
* This program is distributed in the hope that it will be useful, but WITHOUT
|
14 |
+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
15 |
+
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
16 |
+
* more details.
|
17 |
+
*
|
18 |
+
* You should have received a copy of the GNU General Public License along
|
19 |
+
* with this program; if not, write to the Free Software Foundation, Inc.,
|
20 |
+
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or visit
|
21 |
+
* http://www.gnu.org/licenses/gpl.html
|
22 |
+
*
|
23 |
+
* [kses strips evil scripts!]
|
24 |
*
|
25 |
* Added wp_ prefix to avoid conflicts with existing kses users
|
26 |
*
|
27 |
* @version 0.2.2
|
28 |
* @copyright (C) 2002, 2003, 2005
|
29 |
+
* @author Ulf Harnhammar <http://advogato.org/person/metaur/>
|
30 |
*
|
31 |
* @package External
|
32 |
* @subpackage KSES
|
33 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
*/
|
35 |
|
36 |
+
/**
|
37 |
+
* You can override this in a plugin.
|
38 |
+
*
|
39 |
+
* @since 1.2.0
|
40 |
+
*/
|
41 |
+
if ( ! defined( 'BP_CUSTOM_TAGS' ) )
|
42 |
+
define( 'BP_CUSTOM_TAGS', false );
|
43 |
+
|
44 |
+
if ( ! BP_CUSTOM_TAGS ) {
|
45 |
+
/**
|
46 |
+
* Kses global for default allowable HTML tags.
|
47 |
+
*
|
48 |
+
* Can be override by using CUSTOM_TAGS constant.
|
49 |
+
*
|
50 |
+
* @global array $allowedposttags
|
51 |
+
* @since 2.0.0
|
52 |
+
*/
|
53 |
+
$allowedposttags = array(
|
54 |
+
'address' => array(),
|
55 |
+
'a' => array(
|
56 |
+
'class' => array (),
|
57 |
+
'href' => array (),
|
58 |
+
'id' => array (),
|
59 |
+
'title' => array (),
|
60 |
+
'rel' => array (),
|
61 |
+
'rev' => array (),
|
62 |
+
'name' => array (),
|
63 |
+
'target' => array()),
|
64 |
+
'abbr' => array(
|
65 |
+
'class' => array (),
|
66 |
+
'title' => array ()),
|
67 |
+
'acronym' => array(
|
68 |
+
'title' => array ()),
|
69 |
+
'article' => array(
|
70 |
+
'align' => array (),
|
71 |
+
'class' => array (),
|
72 |
+
'dir' => array (),
|
73 |
+
'lang' => array(),
|
74 |
+
'style' => array (),
|
75 |
+
'xml:lang' => array(),
|
76 |
+
),
|
77 |
+
'aside' => array(
|
78 |
+
'align' => array (),
|
79 |
+
'class' => array (),
|
80 |
+
'dir' => array (),
|
81 |
+
'lang' => array(),
|
82 |
+
'style' => array (),
|
83 |
+
'xml:lang' => array(),
|
84 |
+
),
|
85 |
+
'b' => array(),
|
86 |
+
'big' => array(),
|
87 |
+
'blockquote' => array(
|
88 |
+
'id' => array (),
|
89 |
+
'cite' => array (),
|
90 |
+
'class' => array(),
|
91 |
+
'lang' => array(),
|
92 |
+
'xml:lang' => array()),
|
93 |
+
'br' => array (
|
94 |
+
'class' => array ()),
|
95 |
+
'button' => array(
|
96 |
+
'disabled' => array (),
|
97 |
+
'name' => array (),
|
98 |
+
'type' => array (),
|
99 |
+
'value' => array ()),
|
100 |
+
'caption' => array(
|
101 |
+
'align' => array (),
|
102 |
+
'class' => array ()),
|
103 |
+
'cite' => array (
|
104 |
+
'class' => array(),
|
105 |
+
'dir' => array(),
|
106 |
+
'lang' => array(),
|
107 |
+
'title' => array ()),
|
108 |
+
'code' => array (
|
109 |
+
'style' => array()),
|
110 |
+
'col' => array(
|
111 |
+
'align' => array (),
|
112 |
+
'char' => array (),
|
113 |
+
'charoff' => array (),
|
114 |
+
'span' => array (),
|
115 |
+
'dir' => array(),
|
116 |
+
'style' => array (),
|
117 |
+
'valign' => array (),
|
118 |
+
'width' => array ()),
|
119 |
+
'del' => array(
|
120 |
+
'datetime' => array ()),
|
121 |
+
'dd' => array(),
|
122 |
+
'details' => array(
|
123 |
+
'align' => array (),
|
124 |
+
'class' => array (),
|
125 |
+
'dir' => array (),
|
126 |
+
'lang' => array(),
|
127 |
+
'open' => array (),
|
128 |
+
'style' => array (),
|
129 |
+
'xml:lang' => array(),
|
130 |
+
),
|
131 |
+
'div' => array(
|
132 |
+
'align' => array (),
|
133 |
+
'class' => array (),
|
134 |
+
'dir' => array (),
|
135 |
+
'lang' => array(),
|
136 |
+
'style' => array (),
|
137 |
+
'xml:lang' => array()),
|
138 |
+
'dl' => array(),
|
139 |
+
'dt' => array(),
|
140 |
+
'em' => array(),
|
141 |
+
'fieldset' => array(),
|
142 |
+
'figure' => array(
|
143 |
+
'align' => array (),
|
144 |
+
'class' => array (),
|
145 |
+
'dir' => array (),
|
146 |
+
'lang' => array(),
|
147 |
+
'style' => array (),
|
148 |
+
'xml:lang' => array(),
|
149 |
+
),
|
150 |
+
'figcaption' => array(
|
151 |
+
'align' => array (),
|
152 |
+
'class' => array (),
|
153 |
+
'dir' => array (),
|
154 |
+
'lang' => array(),
|
155 |
+
'style' => array (),
|
156 |
+
'xml:lang' => array(),
|
157 |
+
),
|
158 |
+
'font' => array(
|
159 |
+
'color' => array (),
|
160 |
+
'face' => array (),
|
161 |
+
'size' => array ()),
|
162 |
+
'footer' => array(
|
163 |
+
'align' => array (),
|
164 |
+
'class' => array (),
|
165 |
+
'dir' => array (),
|
166 |
+
'lang' => array(),
|
167 |
+
'style' => array (),
|
168 |
+
'xml:lang' => array(),
|
169 |
+
),
|
170 |
+
'form' => array(
|
171 |
+
'action' => array (),
|
172 |
+
'accept' => array (),
|
173 |
+
'accept-charset' => array (),
|
174 |
+
'enctype' => array (),
|
175 |
+
'method' => array (),
|
176 |
+
'name' => array (),
|
177 |
+
'target' => array ()),
|
178 |
+
'h1' => array(
|
179 |
+
'align' => array (),
|
180 |
+
'class' => array (),
|
181 |
+
'id' => array (),
|
182 |
+
'style' => array ()),
|
183 |
+
'h2' => array (
|
184 |
+
'align' => array (),
|
185 |
+
'class' => array (),
|
186 |
+
'id' => array (),
|
187 |
+
'style' => array ()),
|
188 |
+
'h3' => array (
|
189 |
+
'align' => array (),
|
190 |
+
'class' => array (),
|
191 |
+
'id' => array (),
|
192 |
+
'style' => array ()),
|
193 |
+
'h4' => array (
|
194 |
+
'align' => array (),
|
195 |
+
'class' => array (),
|
196 |
+
'id' => array (),
|
197 |
+
'style' => array ()),
|
198 |
+
'h5' => array (
|
199 |
+
'align' => array (),
|
200 |
+
'class' => array (),
|
201 |
+
'id' => array (),
|
202 |
+
'style' => array ()),
|
203 |
+
'h6' => array (
|
204 |
+
'align' => array (),
|
205 |
+
'class' => array (),
|
206 |
+
'id' => array (),
|
207 |
+
'style' => array ()),
|
208 |
+
'header' => array(
|
209 |
+
'align' => array (),
|
210 |
+
'class' => array (),
|
211 |
+
'dir' => array (),
|
212 |
+
'lang' => array(),
|
213 |
+
'style' => array (),
|
214 |
+
'xml:lang' => array(),
|
215 |
+
),
|
216 |
+
'hgroup' => array(
|
217 |
+
'align' => array (),
|
218 |
+
'class' => array (),
|
219 |
+
'dir' => array (),
|
220 |
+
'lang' => array(),
|
221 |
+
'style' => array (),
|
222 |
+
'xml:lang' => array(),
|
223 |
+
),
|
224 |
+
'hr' => array (
|
225 |
+
'align' => array (),
|
226 |
+
'class' => array (),
|
227 |
+
'noshade' => array (),
|
228 |
+
'size' => array (),
|
229 |
+
'width' => array ()),
|
230 |
+
'i' => array(),
|
231 |
+
'img' => array(
|
232 |
+
'alt' => array (),
|
233 |
+
'align' => array (),
|
234 |
+
'border' => array (),
|
235 |
+
'class' => array (),
|
236 |
+
'height' => array (),
|
237 |
+
'hspace' => array (),
|
238 |
+
'longdesc' => array (),
|
239 |
+
'vspace' => array (),
|
240 |
+
'src' => array (),
|
241 |
+
'style' => array (),
|
242 |
+
'width' => array ()),
|
243 |
+
'ins' => array(
|
244 |
+
'datetime' => array (),
|
245 |
+
'cite' => array ()),
|
246 |
+
'kbd' => array(),
|
247 |
+
'label' => array(
|
248 |
+
'for' => array ()),
|
249 |
+
'legend' => array(
|
250 |
+
'align' => array ()),
|
251 |
+
'li' => array (
|
252 |
+
'align' => array (),
|
253 |
+
'class' => array ()),
|
254 |
+
'menu' => array (
|
255 |
+
'class' => array (),
|
256 |
+
'style' => array (),
|
257 |
+
'type' => array ()),
|
258 |
+
'nav' => array(
|
259 |
+
'align' => array (),
|
260 |
+
'class' => array (),
|
261 |
+
'dir' => array (),
|
262 |
+
'lang' => array(),
|
263 |
+
'style' => array (),
|
264 |
+
'xml:lang' => array(),
|
265 |
+
),
|
266 |
+
'p' => array(
|
267 |
+
'class' => array (),
|
268 |
+
'align' => array (),
|
269 |
+
'dir' => array(),
|
270 |
+
'lang' => array(),
|
271 |
+
'style' => array (),
|
272 |
+
'xml:lang' => array()),
|
273 |
+
'pre' => array(
|
274 |
+
'style' => array(),
|
275 |
+
'width' => array ()),
|
276 |
+
'q' => array(
|
277 |
+
'cite' => array ()),
|
278 |
+
's' => array(),
|
279 |
+
'span' => array (
|
280 |
+
'class' => array (),
|
281 |
+
'dir' => array (),
|
282 |
+
'align' => array (),
|
283 |
+
'lang' => array (),
|
284 |
+
'style' => array (),
|
285 |
+
'title' => array (),
|
286 |
+
'xml:lang' => array()),
|
287 |
+
'section' => array(
|
288 |
+
'align' => array (),
|
289 |
+
'class' => array (),
|
290 |
+
'dir' => array (),
|
291 |
+
'lang' => array(),
|
292 |
+
'style' => array (),
|
293 |
+
'xml:lang' => array(),
|
294 |
+
),
|
295 |
+
'strike' => array(),
|
296 |
+
'strong' => array(),
|
297 |
+
'sub' => array(),
|
298 |
+
'summary' => array(
|
299 |
+
'align' => array (),
|
300 |
+
'class' => array (),
|
301 |
+
'dir' => array (),
|
302 |
+
'lang' => array(),
|
303 |
+
'style' => array (),
|
304 |
+
'xml:lang' => array(),
|
305 |
+
),
|
306 |
+
'sup' => array(),
|
307 |
+
'table' => array(
|
308 |
+
'align' => array (),
|
309 |
+
'bgcolor' => array (),
|
310 |
+
'border' => array (),
|
311 |
+
'cellpadding' => array (),
|
312 |
+
'cellspacing' => array (),
|
313 |
+
'class' => array (),
|
314 |
+
'dir' => array(),
|
315 |
+
'id' => array(),
|
316 |
+
'rules' => array (),
|
317 |
+
'style' => array (),
|
318 |
+
'summary' => array (),
|
319 |
+
'width' => array ()),
|
320 |
+
'tbody' => array(
|
321 |
+
'align' => array (),
|
322 |
+
'char' => array (),
|
323 |
+
'charoff' => array (),
|
324 |
+
'valign' => array ()),
|
325 |
+
'td' => array(
|
326 |
+
'abbr' => array (),
|
327 |
+
'align' => array (),
|
328 |
+
'axis' => array (),
|
329 |
+
'bgcolor' => array (),
|
330 |
+
'char' => array (),
|
331 |
+
'charoff' => array (),
|
332 |
+
'class' => array (),
|
333 |
+
'colspan' => array (),
|
334 |
+
'dir' => array(),
|
335 |
+
'headers' => array (),
|
336 |
+
'height' => array (),
|
337 |
+
'nowrap' => array (),
|
338 |
+
'rowspan' => array (),
|
339 |
+
'scope' => array (),
|
340 |
+
'style' => array (),
|
341 |
+
'valign' => array (),
|
342 |
+
'width' => array ()),
|
343 |
+
'textarea' => array(
|
344 |
+
'cols' => array (),
|
345 |
+
'rows' => array (),
|
346 |
+
'disabled' => array (),
|
347 |
+
'name' => array (),
|
348 |
+
'readonly' => array ()),
|
349 |
+
'tfoot' => array(
|
350 |
+
'align' => array (),
|
351 |
+
'char' => array (),
|
352 |
+
'class' => array (),
|
353 |
+
'charoff' => array (),
|
354 |
+
'valign' => array ()),
|
355 |
+
'th' => array(
|
356 |
+
'abbr' => array (),
|
357 |
+
'align' => array (),
|
358 |
+
'axis' => array (),
|
359 |
+
'bgcolor' => array (),
|
360 |
+
'char' => array (),
|
361 |
+
'charoff' => array (),
|
362 |
+
'class' => array (),
|
363 |
+
'colspan' => array (),
|
364 |
+
'headers' => array (),
|
365 |
+
'height' => array (),
|
366 |
+
'nowrap' => array (),
|
367 |
+
'rowspan' => array (),
|
368 |
+
'scope' => array (),
|
369 |
+
'valign' => array (),
|
370 |
+
'width' => array ()),
|
371 |
+
'thead' => array(
|
372 |
+
'align' => array (),
|
373 |
+
'char' => array (),
|
374 |
+
'charoff' => array (),
|
375 |
+
'class' => array (),
|
376 |
+
'valign' => array ()),
|
377 |
+
'title' => array(),
|
378 |
+
'tr' => array(
|
379 |
+
'align' => array (),
|
380 |
+
'bgcolor' => array (),
|
381 |
+
'char' => array (),
|
382 |
+
'charoff' => array (),
|
383 |
+
'class' => array (),
|
384 |
+
'style' => array (),
|
385 |
+
'valign' => array ()),
|
386 |
+
'tt' => array(),
|
387 |
+
'u' => array(),
|
388 |
+
'ul' => array (
|
389 |
+
'class' => array (),
|
390 |
+
'style' => array (),
|
391 |
+
'type' => array ()),
|
392 |
+
'ol' => array (
|
393 |
+
'class' => array (),
|
394 |
+
'start' => array (),
|
395 |
+
'style' => array (),
|
396 |
+
'type' => array ()),
|
397 |
+
'var' => array ());
|
398 |
+
|
399 |
+
/**
|
400 |
+
* Kses allowed HTML elements.
|
401 |
+
*
|
402 |
+
* @global array $allowedtags
|
403 |
+
* @since 1.0.0
|
404 |
+
*/
|
405 |
+
$allowedtags = array(
|
406 |
+
'a' => array(
|
407 |
+
'href' => array (),
|
408 |
+
'title' => array ()),
|
409 |
+
'abbr' => array(
|
410 |
+
'title' => array ()),
|
411 |
+
'acronym' => array(
|
412 |
+
'title' => array ()),
|
413 |
+
'b' => array(),
|
414 |
+
'blockquote' => array(
|
415 |
+
'cite' => array ()),
|
416 |
+
// 'br' => array(),
|
417 |
+
'cite' => array (),
|
418 |
+
'code' => array(),
|
419 |
+
'del' => array(
|
420 |
+
'datetime' => array ()),
|
421 |
+
// 'dd' => array(),
|
422 |
+
// 'dl' => array(),
|
423 |
+
// 'dt' => array(),
|
424 |
+
'em' => array (), 'i' => array (),
|
425 |
+
// 'ins' => array('datetime' => array(), 'cite' => array()),
|
426 |
+
// 'li' => array(),
|
427 |
+
// 'ol' => array(),
|
428 |
+
// 'p' => array(),
|
429 |
+
'q' => array(
|
430 |
+
'cite' => array ()),
|
431 |
+
'strike' => array(),
|
432 |
+
'strong' => array(),
|
433 |
+
// 'sub' => array(),
|
434 |
+
// 'sup' => array(),
|
435 |
+
// 'u' => array(),
|
436 |
+
// 'ul' => array(),
|
437 |
+
);
|
438 |
+
|
439 |
+
$allowedentitynames = array(
|
440 |
+
'nbsp', 'iexcl', 'cent', 'pound', 'curren', 'yen',
|
441 |
+
'brvbar', 'sect', 'uml', 'copy', 'ordf', 'laquo',
|
442 |
+
'not', 'shy', 'reg', 'macr', 'deg', 'plusmn',
|
443 |
+
'acute', 'micro', 'para', 'middot', 'cedil', 'ordm',
|
444 |
+
'raquo', 'iquest', 'Agrave', 'Aacute', 'Acirc', 'Atilde',
|
445 |
+
'Auml', 'Aring', 'AElig', 'Ccedil', 'Egrave', 'Eacute',
|
446 |
+
'Ecirc', 'Euml', 'Igrave', 'Iacute', 'Icirc', 'Iuml',
|
447 |
+
'ETH', 'Ntilde', 'Ograve', 'Oacute', 'Ocirc', 'Otilde',
|
448 |
+
'Ouml', 'times', 'Oslash', 'Ugrave', 'Uacute', 'Ucirc',
|
449 |
+
'Uuml', 'Yacute', 'THORN', 'szlig', 'agrave', 'aacute',
|
450 |
+
'acirc', 'atilde', 'auml', 'aring', 'aelig', 'ccedil',
|
451 |
+
'egrave', 'eacute', 'ecirc', 'euml', 'igrave', 'iacute',
|
452 |
+
'icirc', 'iuml', 'eth', 'ntilde', 'ograve', 'oacute',
|
453 |
+
'ocirc', 'otilde', 'ouml', 'divide', 'oslash', 'ugrave',
|
454 |
+
'uacute', 'ucirc', 'uuml', 'yacute', 'thorn', 'yuml',
|
455 |
+
'quot', 'amp', 'lt', 'gt', 'apos', 'OElig',
|
456 |
+
'oelig', 'Scaron', 'scaron', 'Yuml', 'circ', 'tilde',
|
457 |
+
'ensp', 'emsp', 'thinsp', 'zwnj', 'zwj', 'lrm',
|
458 |
+
'rlm', 'ndash', 'mdash', 'lsquo', 'rsquo', 'sbquo',
|
459 |
+
'ldquo', 'rdquo', 'bdquo', 'dagger', 'Dagger', 'permil',
|
460 |
+
'lsaquo', 'rsaquo', 'euro', 'fnof', 'Alpha', 'Beta',
|
461 |
+
'Gamma', 'Delta', 'Epsilon', 'Zeta', 'Eta', 'Theta',
|
462 |
+
'Iota', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Xi',
|
463 |
+
'Omicron', 'Pi', 'Rho', 'Sigma', 'Tau', 'Upsilon',
|
464 |
+
'Phi', 'Chi', 'Psi', 'Omega', 'alpha', 'beta',
|
465 |
+
'gamma', 'delta', 'epsilon', 'zeta', 'eta', 'theta',
|
466 |
+
'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi',
|
467 |
+
'omicron', 'pi', 'rho', 'sigmaf', 'sigma', 'tau',
|
468 |
+
'upsilon', 'phi', 'chi', 'psi', 'omega', 'thetasym',
|
469 |
+
'upsih', 'piv', 'bull', 'hellip', 'prime', 'Prime',
|
470 |
+
'oline', 'frasl', 'weierp', 'image', 'real', 'trade',
|
471 |
+
'alefsym', 'larr', 'uarr', 'rarr', 'darr', 'harr',
|
472 |
+
'crarr', 'lArr', 'uArr', 'rArr', 'dArr', 'hArr',
|
473 |
+
'forall', 'part', 'exist', 'empty', 'nabla', 'isin',
|
474 |
+
'notin', 'ni', 'prod', 'sum', 'minus', 'lowast',
|
475 |
+
'radic', 'prop', 'infin', 'ang', 'and', 'or',
|
476 |
+
'cap', 'cup', 'int', 'sim', 'cong', 'asymp',
|
477 |
+
'ne', 'equiv', 'le', 'ge', 'sub', 'sup',
|
478 |
+
'nsub', 'sube', 'supe', 'oplus', 'otimes', 'perp',
|
479 |
+
'sdot', 'lceil', 'rceil', 'lfloor', 'rfloor', 'lang',
|
480 |
+
'rang', 'loz', 'spades', 'clubs', 'hearts', 'diams',
|
481 |
+
);
|
482 |
+
}
|
483 |
|
484 |
/**
|
485 |
* Filters content and keeps only allowable HTML elements.
|
490 |
* call this function.
|
491 |
*
|
492 |
* The default allowed protocols are 'http', 'https', 'ftp', 'mailto', 'news',
|
493 |
+
* 'irc', 'gopher', 'nntp', 'feed', 'telnet, 'mms', 'rtsp' and 'svn'. This
|
494 |
+
* covers all common link protocols, except for 'javascript' which should not
|
495 |
+
* be allowed for untrusted users.
|
496 |
*
|
497 |
* @since 1.0.0
|
498 |
*
|
501 |
* @param array $allowed_protocols Optional. Allowed protocol in links.
|
502 |
* @return string Filtered content with only allowed HTML elements
|
503 |
*/
|
504 |
+
function wp_kses($string, $allowed_html, $allowed_protocols = array ()) {
|
505 |
+
$allowed_protocols = wp_parse_args( $allowed_protocols, apply_filters('kses_allowed_protocols', array ('http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn') ));
|
506 |
$string = wp_kses_no_null($string);
|
507 |
$string = wp_kses_js_entities($string);
|
508 |
$string = wp_kses_normalize_entities($string);
|
556 |
global $pass_allowed_html, $pass_allowed_protocols;
|
557 |
$pass_allowed_html = $allowed_html;
|
558 |
$pass_allowed_protocols = $allowed_protocols;
|
559 |
+
return preg_replace_callback( '%((<!--.*?(-->|$))|(<[^>]*(>|$)|>))%', '_wp_kses_split_callback', $string );
|
560 |
+
}
|
561 |
+
|
562 |
+
/**
|
563 |
+
* Callback for wp_kses_split.
|
564 |
+
*
|
565 |
+
* @since 3.1.0
|
566 |
+
* @access private
|
567 |
+
*/
|
568 |
+
function _wp_kses_split_callback( $match ) {
|
569 |
+
global $pass_allowed_html, $pass_allowed_protocols;
|
570 |
+
return wp_kses_split2( $match[1], $pass_allowed_html, $pass_allowed_protocols );
|
571 |
}
|
572 |
|
573 |
/**
|
652 |
# Is there a closing XHTML slash at the end of the attributes?
|
653 |
|
654 |
$xhtml_slash = '';
|
655 |
+
if (preg_match('%\s*/\s*$%', $attr))
|
656 |
$xhtml_slash = ' /';
|
657 |
|
658 |
# Are any attributes allowed at all for this element?
|
690 |
break;
|
691 |
}
|
692 |
|
693 |
+
if ( strtolower($arreach['name']) == 'style' ) {
|
694 |
+
$orig_value = $arreach['value'];
|
695 |
+
|
696 |
+
$value = safecss_filter_attr($orig_value);
|
697 |
+
|
698 |
+
if ( empty($value) )
|
699 |
+
continue;
|
700 |
+
|
701 |
+
$arreach['value'] = $value;
|
702 |
+
|
703 |
+
$arreach['whole'] = str_replace($orig_value, $value, $arreach['whole']);
|
704 |
+
}
|
705 |
+
|
706 |
if ($ok)
|
707 |
$attr2 .= ' '.$arreach['whole']; # it passed them
|
708 |
} # if !is_array($current)
|
778 |
|
779 |
case 2 : # attribute value, a URL after href= for instance
|
780 |
|
781 |
+
if (preg_match('%^"([^"]*)"(\s+|/?$)%', $attr, $match))
|
782 |
# "value"
|
783 |
{
|
784 |
$thisval = $match[1];
|
785 |
+
if ( in_array(strtolower($attrname), $uris) )
|
786 |
$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
|
787 |
|
788 |
if(FALSE === array_key_exists($attrname, $attrarr)) {
|
794 |
break;
|
795 |
}
|
796 |
|
797 |
+
if (preg_match("%^'([^']*)'(\s+|/?$)%", $attr, $match))
|
798 |
# 'value'
|
799 |
{
|
800 |
$thisval = $match[1];
|
801 |
+
if ( in_array(strtolower($attrname), $uris) )
|
802 |
$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
|
803 |
|
804 |
if(FALSE === array_key_exists($attrname, $attrarr)) {
|
810 |
break;
|
811 |
}
|
812 |
|
813 |
+
if (preg_match("%^([^\s\"']+)(\s+|/?$)%", $attr, $match))
|
814 |
# value
|
815 |
{
|
816 |
$thisval = $match[1];
|
817 |
+
if ( in_array(strtolower($attrname), $uris) )
|
818 |
$thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);
|
819 |
|
820 |
if(FALSE === array_key_exists($attrname, $attrarr)) {
|
853 |
* @since 1.0.0
|
854 |
*
|
855 |
* @param string $value Attribute value
|
856 |
+
* @param string $vless Whether the value is valueless. Use 'y' or 'n'
|
857 |
* @param string $checkname What $checkvalue is checking for.
|
858 |
* @param mixed $checkvalue What constraint the value should pass
|
859 |
+
* @return bool Whether check passes
|
860 |
*/
|
861 |
function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
|
862 |
$ok = true;
|
932 |
*/
|
933 |
function wp_kses_bad_protocol($string, $allowed_protocols) {
|
934 |
$string = wp_kses_no_null($string);
|
|
|
935 |
$string2 = $string.'a';
|
936 |
|
937 |
while ($string != $string2) {
|
1037 |
* @return string Sanitized content
|
1038 |
*/
|
1039 |
function wp_kses_bad_protocol_once($string, $allowed_protocols) {
|
1040 |
+
$string2 = preg_split( '/:|�*58;|�*3a;/i', $string, 2 );
|
1041 |
+
if ( isset($string2[1]) && ! preg_match('%/\?%', $string2[0]) )
|
1042 |
+
$string = wp_kses_bad_protocol_once2( $string2[0], $allowed_protocols ) . trim( $string2[1] );
|
|
|
|
|
|
|
|
|
|
|
1043 |
|
1044 |
return $string;
|
1045 |
}
|
1053 |
* @access private
|
1054 |
* @since 1.0.0
|
1055 |
*
|
1056 |
+
* @param string $string URI scheme to check against the whitelist
|
1057 |
+
* @param string $allowed_protocols Allowed protocols
|
1058 |
* @return string Sanitized content
|
1059 |
*/
|
1060 |
+
function wp_kses_bad_protocol_once2( $string, $allowed_protocols ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1061 |
$string2 = wp_kses_decode_entities($string);
|
1062 |
$string2 = preg_replace('/\s/', '', $string2);
|
1063 |
$string2 = wp_kses_no_null($string2);
|
|
|
|
|
1064 |
$string2 = strtolower($string2);
|
1065 |
|
1066 |
$allowed = false;
|
1067 |
+
foreach ( (array) $allowed_protocols as $one_protocol )
|
1068 |
+
if ( strtolower($one_protocol) == $string2 ) {
|
1069 |
$allowed = true;
|
1070 |
break;
|
1071 |
}
|
1094 |
|
1095 |
# Change back the allowed entities in our entity whitelist
|
1096 |
|
1097 |
+
$string = preg_replace_callback('/&([A-Za-z]{2,8});/', 'wp_kses_named_entities', $string);
|
1098 |
+
$string = preg_replace_callback('/&#(0*[0-9]{1,7});/', 'wp_kses_normalize_entities2', $string);
|
1099 |
+
$string = preg_replace_callback('/&#[Xx](0*[0-9A-Fa-f]{1,6});/', 'wp_kses_normalize_entities3', $string);
|
1100 |
|
1101 |
return $string;
|
1102 |
}
|
1103 |
|
1104 |
+
/**
|
1105 |
+
* Callback for wp_kses_normalize_entities() regular expression.
|
1106 |
+
*
|
1107 |
+
* This function only accepts valid named entity references, which are finite,
|
1108 |
+
* case-sensitive, and highly scrutinized by HTML and XML validators.
|
1109 |
+
*
|
1110 |
+
* @since 3.0.0
|
1111 |
+
*
|
1112 |
+
* @param array $matches preg_replace_callback() matches array
|
1113 |
+
* @return string Correctly encoded entity
|
1114 |
+
*/
|
1115 |
+
function wp_kses_named_entities($matches) {
|
1116 |
+
global $allowedentitynames;
|
1117 |
+
|
1118 |
+
if ( empty($matches[1]) )
|
1119 |
+
return '';
|
1120 |
+
|
1121 |
+
$i = $matches[1];
|
1122 |
+
return ( ( ! in_array($i, $allowedentitynames) ) ? "&$i;" : "&$i;" );
|
1123 |
+
}
|
1124 |
+
|
1125 |
/**
|
1126 |
* Callback for wp_kses_normalize_entities() regular expression.
|
1127 |
*
|
1135 |
* @return string Correctly encoded entity
|
1136 |
*/
|
1137 |
function wp_kses_normalize_entities2($matches) {
|
1138 |
+
if ( empty($matches[1]) )
|
1139 |
return '';
|
1140 |
|
1141 |
$i = $matches[1];
|
1142 |
+
if (valid_unicode($i)) {
|
1143 |
+
$i = str_pad(ltrim($i,'0'), 3, '0', STR_PAD_LEFT);
|
1144 |
+
$i = "&#$i;";
|
1145 |
+
} else {
|
1146 |
+
$i = "&#$i;";
|
1147 |
+
}
|
1148 |
+
|
1149 |
+
return $i;
|
1150 |
}
|
1151 |
|
1152 |
/**
|
1161 |
* @return string Correctly encoded entity
|
1162 |
*/
|
1163 |
function wp_kses_normalize_entities3($matches) {
|
1164 |
+
if ( empty($matches[1]) )
|
1165 |
return '';
|
1166 |
|
1167 |
+
$hexchars = $matches[1];
|
1168 |
+
return ( ( ! valid_unicode(hexdec($hexchars)) ) ? "&#x$hexchars;" : '&#x'.ltrim($hexchars,'0').';' );
|
1169 |
}
|
1170 |
|
1171 |
/**
|
1194 |
* @return string Content after decoded entities
|
1195 |
*/
|
1196 |
function wp_kses_decode_entities($string) {
|
1197 |
+
$string = preg_replace_callback('/&#([0-9]+);/', '_wp_kses_decode_entities_chr', $string);
|
1198 |
+
$string = preg_replace_callback('/&#[Xx]([0-9A-Fa-f]+);/', '_wp_kses_decode_entities_chr_hexdec', $string);
|
1199 |
|
1200 |
return $string;
|
1201 |
}
|
1202 |
+
|
1203 |
+
/**
|
1204 |
+
* Regex callback for wp_kses_decode_entities()
|
1205 |
+
*
|
1206 |
+
* @param array $match preg match
|
1207 |
+
* @return string
|
1208 |
+
*/
|
1209 |
+
function _wp_kses_decode_entities_chr( $match ) {
|
1210 |
+
return chr( $match[1] );
|
1211 |
+
}
|
1212 |
+
|
1213 |
+
/**
|
1214 |
+
* Regex callback for wp_kses_decode_entities()
|
1215 |
+
*
|
1216 |
+
* @param array $match preg match
|
1217 |
+
* @return string
|
1218 |
+
*/
|
1219 |
+
function _wp_kses_decode_entities_chr_hexdec( $match ) {
|
1220 |
+
return chr( hexdec( $match[1] ) );
|
1221 |
+
}
|
1222 |
+
|
1223 |
+
/**
|
1224 |
+
* Sanitize content with allowed HTML Kses rules.
|
1225 |
+
*
|
1226 |
+
* @since 1.0.0
|
1227 |
+
* @uses $allowedtags
|
1228 |
+
*
|
1229 |
+
* @param string $data Content to filter, expected to be escaped with slashes
|
1230 |
+
* @return string Filtered content
|
1231 |
+
*/
|
1232 |
+
function wp_filter_kses($data) {
|
1233 |
+
global $allowedtags;
|
1234 |
+
return addslashes( wp_kses(stripslashes( $data ), $allowedtags) );
|
1235 |
+
}
|
1236 |
+
|
1237 |
+
/**
|
1238 |
+
* Sanitize content with allowed HTML Kses rules.
|
1239 |
+
*
|
1240 |
+
* @since 2.9.0
|
1241 |
+
* @uses $allowedtags
|
1242 |
+
*
|
1243 |
+
* @param string $data Content to filter, expected to not be escaped
|
1244 |
+
* @return string Filtered content
|
1245 |
+
*/
|
1246 |
+
function wp_kses_data($data) {
|
1247 |
+
global $allowedtags;
|
1248 |
+
return wp_kses( $data , $allowedtags );
|
1249 |
+
}
|
1250 |
+
|
1251 |
+
/**
|
1252 |
+
* Sanitize content for allowed HTML tags for post content.
|
1253 |
+
*
|
1254 |
+
* Post content refers to the page contents of the 'post' type and not $_POST
|
1255 |
+
* data from forms.
|
1256 |
+
*
|
1257 |
+
* @since 2.0.0
|
1258 |
+
* @uses $allowedposttags
|
1259 |
+
*
|
1260 |
+
* @param string $data Post content to filter, expected to be escaped with slashes
|
1261 |
+
* @return string Filtered post content with allowed HTML tags and attributes intact.
|
1262 |
+
*/
|
1263 |
+
function wp_filter_post_kses($data) {
|
1264 |
+
global $allowedposttags;
|
1265 |
+
return addslashes ( wp_kses(stripslashes( $data ), $allowedposttags) );
|
1266 |
+
}
|
1267 |
+
|
1268 |
+
/**
|
1269 |
+
* Sanitize content for allowed HTML tags for post content.
|
1270 |
+
*
|
1271 |
+
* Post content refers to the page contents of the 'post' type and not $_POST
|
1272 |
+
* data from forms.
|
1273 |
+
*
|
1274 |
+
* @since 2.9.0
|
1275 |
+
* @uses $allowedposttags
|
1276 |
+
*
|
1277 |
+
* @param string $data Post content to filter
|
1278 |
+
* @return string Filtered post content with allowed HTML tags and attributes intact.
|
1279 |
+
*/
|
1280 |
+
function wp_kses_post($data) {
|
1281 |
+
global $allowedposttags;
|
1282 |
+
return wp_kses( $data , $allowedposttags );
|
1283 |
+
}
|
1284 |
+
|
1285 |
+
/**
|
1286 |
+
* Strips all of the HTML in the content.
|
1287 |
+
*
|
1288 |
+
* @since 2.1.0
|
1289 |
+
*
|
1290 |
+
* @param string $data Content to strip all HTML from
|
1291 |
+
* @return string Filtered content without any HTML
|
1292 |
+
*/
|
1293 |
+
function wp_filter_nohtml_kses($data) {
|
1294 |
+
return addslashes ( wp_kses(stripslashes( $data ), array()) );
|
1295 |
+
}
|
1296 |
+
|
1297 |
+
// ! function kses_init_filters()
|
1298 |
+
// ! function kses_remove_filters()
|
1299 |
+
// ! function kses_init()
|
1300 |
+
|
1301 |
+
/**
|
1302 |
+
* Inline CSS filter
|
1303 |
+
*
|
1304 |
+
* @since 2.8.1
|
1305 |
+
*/
|
1306 |
+
function safecss_filter_attr( $css, $deprecated = '' ) {
|
1307 |
+
if ( !empty( $deprecated ) )
|
1308 |
+
_deprecated_argument( __FUNCTION__, '2.8.1' ); // Never implemented
|
1309 |
+
|
1310 |
+
$css = wp_kses_no_null($css);
|
1311 |
+
$css = str_replace(array("\n","\r","\t"), '', $css);
|
1312 |
+
|
1313 |
+
if ( preg_match( '%[\\(&=}]|/\*%', $css ) ) // remove any inline css containing \ ( & } = or comments
|
1314 |
+
return '';
|
1315 |
+
|
1316 |
+
$css_array = explode( ';', trim( $css ) );
|
1317 |
+
$allowed_attr = apply_filters( 'safe_style_css', array( 'text-align', 'margin', 'color', 'float',
|
1318 |
+
'border', 'background', 'background-color', 'border-bottom', 'border-bottom-color',
|
1319 |
+
'border-bottom-style', 'border-bottom-width', 'border-collapse', 'border-color', 'border-left',
|
1320 |
+
'border-left-color', 'border-left-style', 'border-left-width', 'border-right', 'border-right-color',
|
1321 |
+
'border-right-style', 'border-right-width', 'border-spacing', 'border-style', 'border-top',
|
1322 |
+
'border-top-color', 'border-top-style', 'border-top-width', 'border-width', 'caption-side',
|
1323 |
+
'clear', 'cursor', 'direction', 'font', 'font-family', 'font-size', 'font-style',
|
1324 |
+
'font-variant', 'font-weight', 'height', 'letter-spacing', 'line-height', 'margin-bottom',
|
1325 |
+
'margin-left', 'margin-right', 'margin-top', 'overflow', 'padding', 'padding-bottom',
|
1326 |
+
'padding-left', 'padding-right', 'padding-top', 'text-decoration', 'text-indent', 'vertical-align',
|
1327 |
+
'width' ) );
|
1328 |
+
|
1329 |
+
if ( empty($allowed_attr) )
|
1330 |
+
return $css;
|
1331 |
+
|
1332 |
+
$css = '';
|
1333 |
+
foreach ( $css_array as $css_item ) {
|
1334 |
+
if ( $css_item == '' )
|
1335 |
+
continue;
|
1336 |
+
$css_item = trim( $css_item );
|
1337 |
+
$found = false;
|
1338 |
+
if ( strpos( $css_item, ':' ) === false ) {
|
1339 |
+
$found = true;
|
1340 |
+
} else {
|
1341 |
+
$parts = split( ':', $css_item );
|
1342 |
+
if ( in_array( trim( $parts[0] ), $allowed_attr ) )
|
1343 |
+
$found = true;
|
1344 |
+
}
|
1345 |
+
if ( $found ) {
|
1346 |
+
if( $css != '' )
|
1347 |
+
$css .= ';';
|
1348 |
+
$css .= $css_item;
|
1349 |
+
}
|
1350 |
+
}
|
1351 |
+
|
1352 |
+
return $css;
|
1353 |
+
}
|
bp-forums/bbpress/bb-includes/class.bp-options.php
CHANGED
@@ -25,9 +25,6 @@ class BP_Options
|
|
25 |
case 'cron_uri':
|
26 |
return bb_get_uri( 'bb-cron.php', array( 'check' => BP_Options::get( 'cron_check' ) ), BB_URI_CONTEXT_WP_HTTP_REQUEST );
|
27 |
break;
|
28 |
-
case 'cron_check':
|
29 |
-
return bb_hash( '187425' );
|
30 |
-
break;
|
31 |
case 'wp_http_version':
|
32 |
return 'bbPress/' . bb_get_option( 'version' );
|
33 |
break;
|
25 |
case 'cron_uri':
|
26 |
return bb_get_uri( 'bb-cron.php', array( 'check' => BP_Options::get( 'cron_check' ) ), BB_URI_CONTEXT_WP_HTTP_REQUEST );
|
27 |
break;
|
|
|
|
|
|
|
28 |
case 'wp_http_version':
|
29 |
return 'bbPress/' . bb_get_option( 'version' );
|
30 |
break;
|
bp-forums/bbpress/bb-includes/functions.bb-core.php
CHANGED
@@ -351,16 +351,45 @@ function bb_timer_stop($display = 0, $precision = 3) { //if called like bb_timer
|
|
351 |
}
|
352 |
|
353 |
// GMT -> so many minutes ago
|
354 |
-
function bb_since( $original, $
|
355 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
356 |
|
357 |
-
|
358 |
-
|
|
|
|
|
359 |
return $original;
|
360 |
-
else
|
361 |
$original = $_original;
|
|
|
362 |
}
|
363 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
// array of time period chunks
|
365 |
$chunks = array(
|
366 |
( 60 * 60 * 24 * 365 ), // years
|
@@ -372,33 +401,35 @@ function bb_since( $original, $do_more = 0 ) {
|
|
372 |
( 1 ) // seconds
|
373 |
);
|
374 |
|
375 |
-
$
|
376 |
-
|
377 |
-
for ($i = 0
|
378 |
-
$
|
379 |
-
|
380 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
381 |
break;
|
|
|
382 |
}
|
383 |
|
384 |
-
$
|
385 |
-
_n( '%d
|
386 |
-
_n( '%d month', '%d months', $count ),
|
387 |
-
_n( '%d week', '%d weeks', $count ),
|
388 |
-
_n( '%d day', '%d days', $count ),
|
389 |
-
_n( '%d hour', '%d hours', $count ),
|
390 |
-
_n( '%d minute', '%d minutes', $count ),
|
391 |
-
_n( '%d second', '%d seconds', $count )
|
392 |
-
);
|
393 |
-
|
394 |
-
$print = sprintf( $trans[$i], $count );
|
395 |
-
|
396 |
-
if ( $do_more && $i + 1 < $j) {
|
397 |
-
$seconds2 = $chunks[$i + 1];
|
398 |
-
if ( 0 != $count2 = floor( ($since - $seconds * $count) / $seconds2) )
|
399 |
-
$print .= sprintf( $trans[$i + 1], $count2 );
|
400 |
}
|
401 |
-
|
|
|
402 |
}
|
403 |
|
404 |
function bb_current_time( $type = 'timestamp' ) {
|
@@ -701,9 +732,13 @@ function bb_repermalink() {
|
|
701 |
$user = bb_get_current_user(); // Attempt to go to the current users profile
|
702 |
} else {
|
703 |
if ( bb_get_option( 'mod_rewrite' ) === 'slugs') {
|
704 |
-
|
|
|
|
|
705 |
} else {
|
706 |
-
|
|
|
|
|
707 |
}
|
708 |
}
|
709 |
|
351 |
}
|
352 |
|
353 |
// GMT -> so many minutes ago
|
354 |
+
function bb_since( $original, $args = '' )
|
355 |
+
{
|
356 |
+
$defaults = array(
|
357 |
+
'levels' => 1,
|
358 |
+
'separator' => ', '
|
359 |
+
);
|
360 |
+
|
361 |
+
// $args used to be $do_more
|
362 |
+
// $do_more = 0 is equivalent to $args['levels'] = 1
|
363 |
+
// $do_more = 1 is equivalent to $args['levels'] = 2
|
364 |
+
if ( !is_array( $args ) ) {
|
365 |
+
$args = array(
|
366 |
+
'levels' => abs( (integer) $args ) + 1
|
367 |
+
);
|
368 |
+
}
|
369 |
+
|
370 |
+
$args = wp_parse_args( $args, $defaults );
|
371 |
+
extract( $args, EXTR_SKIP );
|
372 |
|
373 |
+
$today = (integer) time();
|
374 |
+
|
375 |
+
if ( !is_numeric( $original ) ) {
|
376 |
+
if ( $today < $_original = bb_gmtstrtotime( str_replace( ',', ' ', $original ) ) ) { // Looks like bb_since was called twice
|
377 |
return $original;
|
378 |
+
} else {
|
379 |
$original = $_original;
|
380 |
+
}
|
381 |
}
|
382 |
+
|
383 |
+
$seconds = $today - ( (integer) $original );
|
384 |
+
if ( 0 === $seconds ) {
|
385 |
+
return sprintf( _n( '%d second', '%d seconds', 0 ), 0 );
|
386 |
+
}
|
387 |
+
|
388 |
+
$levels = abs( (integer) $levels );
|
389 |
+
if ( 0 === $levels ) {
|
390 |
+
return '';
|
391 |
+
}
|
392 |
+
|
393 |
// array of time period chunks
|
394 |
$chunks = array(
|
395 |
( 60 * 60 * 24 * 365 ), // years
|
401 |
( 1 ) // seconds
|
402 |
);
|
403 |
|
404 |
+
$caught = 0;
|
405 |
+
$parts = array();
|
406 |
+
for ( $i = 0; $i < count( $chunks ); $i++ ) {
|
407 |
+
if ( ( $count = floor( $seconds / $chunks[$i] ) ) || $caught ) {
|
408 |
+
if ( $count ) {
|
409 |
+
$trans = array(
|
410 |
+
_n( '%d year', '%d years', $count ),
|
411 |
+
_n( '%d month', '%d months', $count ),
|
412 |
+
_n( '%d week', '%d weeks', $count ),
|
413 |
+
_n( '%d day', '%d days', $count ),
|
414 |
+
_n( '%d hour', '%d hours', $count ),
|
415 |
+
_n( '%d minute', '%d minutes', $count ),
|
416 |
+
_n( '%d second', '%d seconds', $count )
|
417 |
+
);
|
418 |
+
$parts[] = sprintf( $trans[$i], $count );
|
419 |
+
}
|
420 |
+
$caught++;
|
421 |
+
$seconds = $seconds - ( $count * $chunks[$i] );
|
422 |
+
}
|
423 |
+
if ( $caught === $levels ) {
|
424 |
break;
|
425 |
+
}
|
426 |
}
|
427 |
|
428 |
+
if ( empty( $parts ) ) {
|
429 |
+
return sprintf( _n( '%d second', '%d seconds', 0 ), 0 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
430 |
}
|
431 |
+
|
432 |
+
return join( $separator, $parts );
|
433 |
}
|
434 |
|
435 |
function bb_current_time( $type = 'timestamp' ) {
|
732 |
$user = bb_get_current_user(); // Attempt to go to the current users profile
|
733 |
} else {
|
734 |
if ( bb_get_option( 'mod_rewrite' ) === 'slugs') {
|
735 |
+
if ( !$user = bb_get_user_by_nicename( $id ) ) {
|
736 |
+
$user = bb_get_user( $id );
|
737 |
+
}
|
738 |
} else {
|
739 |
+
if ( !$user = bb_get_user( $id ) ) {
|
740 |
+
$user = bb_get_user_by_nicename( $id );
|
741 |
+
}
|
742 |
}
|
743 |
}
|
744 |
|
bp-forums/bbpress/bb-includes/functions.bb-deprecated.php
CHANGED
@@ -640,8 +640,11 @@ function bb_pull_cols( $obj_array ) {
|
|
640 |
|
641 |
// $length parameter is deprecated
|
642 |
function bb_random_pass( $length ) {
|
643 |
-
bb_log_deprecated('function', __FUNCTION__, '
|
644 |
-
|
|
|
|
|
|
|
645 |
}
|
646 |
|
647 |
// Old RSS related functions
|
640 |
|
641 |
// $length parameter is deprecated
|
642 |
function bb_random_pass( $length ) {
|
643 |
+
bb_log_deprecated('function', __FUNCTION__, 'bb_generate_password');
|
644 |
+
if ( 12 < (int) $length ) {
|
645 |
+
$length = 12;
|
646 |
+
}
|
647 |
+
return bb_generate_password( $length );
|
648 |
}
|
649 |
|
650 |
// Old RSS related functions
|
bp-forums/bbpress/bb-includes/functions.bb-meta.php
CHANGED
@@ -297,7 +297,7 @@ function bb_get_option( $option )
|
|
297 |
$r = $bb_locale->text_direction;
|
298 |
break;
|
299 |
case 'version':
|
300 |
-
return '1.0.
|
301 |
break;
|
302 |
case 'bb_db_version' :
|
303 |
return '2078'; // Don't filter
|
297 |
$r = $bb_locale->text_direction;
|
298 |
break;
|
299 |
case 'version':
|
300 |
+
return '1.0.4'; // Don't filter
|
301 |
break;
|
302 |
case 'bb_db_version' :
|
303 |
return '2078'; // Don't filter
|
bp-forums/bbpress/bb-includes/functions.bb-pluggable.php
CHANGED
@@ -368,20 +368,19 @@ function bb_create_nonce($action = -1) {
|
|
368 |
}
|
369 |
endif;
|
370 |
|
371 |
-
function _bb_get_key( $key, $default_key = false )
|
372 |
-
|
373 |
-
|
374 |
-
$default_key = $bb_default_secret_key;
|
375 |
-
}
|
376 |
|
377 |
-
if ( defined( $key ) && '' != constant( $key ) && $
|
378 |
return constant( $key );
|
379 |
}
|
380 |
|
381 |
-
return
|
382 |
}
|
383 |
|
384 |
-
function _bb_get_salt( $constants, $option = false )
|
|
|
385 |
if ( !is_array( $constants ) ) {
|
386 |
$constants = array( $constants );
|
387 |
}
|
@@ -398,7 +397,7 @@ function _bb_get_salt( $constants, $option = false ) {
|
|
398 |
}
|
399 |
$salt = bb_get_option( $option );
|
400 |
if ( empty( $salt ) ) {
|
401 |
-
$salt = bb_generate_password();
|
402 |
bb_update_option( $option, $salt );
|
403 |
}
|
404 |
return $salt;
|
@@ -419,27 +418,29 @@ if ( !function_exists( 'bb_salt' ) ) :
|
|
419 |
*
|
420 |
* @return string Salt value for the given scheme
|
421 |
*/
|
422 |
-
function bb_salt($scheme = 'auth')
|
|
|
|
|
423 |
$secret_key = _bb_get_key( 'BB_SECRET_KEY' );
|
424 |
|
425 |
switch ($scheme) {
|
426 |
case 'auth':
|
427 |
-
$secret_key = _bb_get_key( 'BB_AUTH_KEY'
|
428 |
$salt = _bb_get_salt( array( 'BB_AUTH_SALT', 'BB_SECRET_SALT' ) );
|
429 |
break;
|
430 |
|
431 |
case 'secure_auth':
|
432 |
-
$secret_key = _bb_get_key( 'BB_SECURE_AUTH_KEY'
|
433 |
$salt = _bb_get_salt( 'BB_SECURE_AUTH_SALT' );
|
434 |
break;
|
435 |
|
436 |
case 'logged_in':
|
437 |
-
$secret_key = _bb_get_key( 'BB_LOGGED_IN_KEY'
|
438 |
$salt = _bb_get_salt( 'BB_LOGGED_IN_SALT' );
|
439 |
break;
|
440 |
|
441 |
case 'nonce':
|
442 |
-
$secret_key = _bb_get_key( 'BB_NONCE_KEY'
|
443 |
$salt = _bb_get_salt( 'BB_NONCE_SALT' );
|
444 |
break;
|
445 |
|
368 |
}
|
369 |
endif;
|
370 |
|
371 |
+
function _bb_get_key( $key, $default_key = false )
|
372 |
+
{
|
373 |
+
global $bb_default_secret_key;
|
|
|
|
|
374 |
|
375 |
+
if ( defined( $key ) && '' != constant( $key ) && $bb_default_secret_key != constant( $key ) ) {
|
376 |
return constant( $key );
|
377 |
}
|
378 |
|
379 |
+
return '';
|
380 |
}
|
381 |
|
382 |
+
function _bb_get_salt( $constants, $option = false )
|
383 |
+
{
|
384 |
if ( !is_array( $constants ) ) {
|
385 |
$constants = array( $constants );
|
386 |
}
|
397 |
}
|
398 |
$salt = bb_get_option( $option );
|
399 |
if ( empty( $salt ) ) {
|
400 |
+
$salt = bb_generate_password( 64 );
|
401 |
bb_update_option( $option, $salt );
|
402 |
}
|
403 |
return $salt;
|
418 |
*
|
419 |
* @return string Salt value for the given scheme
|
420 |
*/
|
421 |
+
function bb_salt( $scheme = 'auth' )
|
422 |
+
{
|
423 |
+
// Deprecated
|
424 |
$secret_key = _bb_get_key( 'BB_SECRET_KEY' );
|
425 |
|
426 |
switch ($scheme) {
|
427 |
case 'auth':
|
428 |
+
$secret_key = _bb_get_key( 'BB_AUTH_KEY' );
|
429 |
$salt = _bb_get_salt( array( 'BB_AUTH_SALT', 'BB_SECRET_SALT' ) );
|
430 |
break;
|
431 |
|
432 |
case 'secure_auth':
|
433 |
+
$secret_key = _bb_get_key( 'BB_SECURE_AUTH_KEY' );
|
434 |
$salt = _bb_get_salt( 'BB_SECURE_AUTH_SALT' );
|
435 |
break;
|
436 |
|
437 |
case 'logged_in':
|
438 |
+
$secret_key = _bb_get_key( 'BB_LOGGED_IN_KEY' );
|
439 |
$salt = _bb_get_salt( 'BB_LOGGED_IN_SALT' );
|
440 |
break;
|
441 |
|
442 |
case 'nonce':
|
443 |
+
$secret_key = _bb_get_key( 'BB_NONCE_KEY' );
|
444 |
$salt = _bb_get_salt( 'BB_NONCE_SALT' );
|
445 |
break;
|
446 |
|
bp-forums/bbpress/bb-includes/functions.bb-posts.php
CHANGED
@@ -94,6 +94,7 @@ function bb_cache_first_posts( $_topics = false, $author_cache = true ) {
|
|
94 |
function bb_cache_posts( $query, $post_id_query = false ) {
|
95 |
global $bbdb;
|
96 |
|
|
|
97 |
$_query_post_ids = array();
|
98 |
$_query_posts = array();
|
99 |
$_cached_posts = array();
|
94 |
function bb_cache_posts( $query, $post_id_query = false ) {
|
95 |
global $bbdb;
|
96 |
|
97 |
+
$_query = '';
|
98 |
$_query_post_ids = array();
|
99 |
$_query_posts = array();
|
100 |
$_cached_posts = array();
|
bp-forums/bbpress/bb-includes/functions.bb-template.php
CHANGED
@@ -254,13 +254,13 @@ function bb_post_template() {
|
|
254 |
function post_form( $args = array() ) {
|
255 |
global $page, $topic, $forum;
|
256 |
|
257 |
-
if ( is_string( $args ) ) {
|
258 |
-
$args['h2'] = $args;
|
259 |
-
}
|
260 |
$defaults = array(
|
261 |
'h2' => '',
|
262 |
'last_page_only' => true
|
263 |
);
|
|
|
|
|
|
|
264 |
$args = wp_parse_args( $args, $defaults );
|
265 |
extract( $args, EXTR_SKIP );
|
266 |
|
@@ -1523,17 +1523,13 @@ function bb_get_topic_move_dropdown( $args = '' )
|
|
1523 |
if ( !$dropdown )
|
1524 |
return;
|
1525 |
|
1526 |
-
$r = $before . '<form id="topic-move" method="post" action="' . bb_get_uri( 'bb-admin/topic-move.php', null, BB_URI_CONTEXT_FORM_ACTION + BB_URI_CONTEXT_BB_ADMIN ) . '">' . "\n";
|
1527 |
-
$r .= '<fieldset>' . "\n";
|
1528 |
-
$r .= '<div>' . "\n";
|
1529 |
$r .= '<input type="hidden" name="topic_id" value="' . $topic->topic_id . '" />' . "\n";
|
1530 |
$r .= '<label for="forum-id">'. __( 'Move to' ) . '</label>' . "\n";
|
1531 |
$r .= $dropdown . "\n";
|
1532 |
$r .= bb_nonce_field( 'move-topic_' . $topic->topic_id, '_wpnonce', true , false );
|
1533 |
$r .= '<input type="submit" name="Submit" value="' . __( 'Move' ) . '" />' . "\n";
|
1534 |
-
$r .= '</div>' .
|
1535 |
-
$r .= '</fieldset>' . "\n";
|
1536 |
-
$r .= '</form>' . $after;
|
1537 |
|
1538 |
return $r;
|
1539 |
}
|
@@ -3506,6 +3502,9 @@ function _bb_time_function_return( $time, $args ) {
|
|
3506 |
case 'mysql' :
|
3507 |
$format = 'Y-m-d H:i:s';
|
3508 |
break;
|
|
|
|
|
|
|
3509 |
endswitch;
|
3510 |
|
3511 |
if ( $args['localize'] ) {
|
254 |
function post_form( $args = array() ) {
|
255 |
global $page, $topic, $forum;
|
256 |
|
|
|
|
|
|
|
257 |
$defaults = array(
|
258 |
'h2' => '',
|
259 |
'last_page_only' => true
|
260 |
);
|
261 |
+
if ( is_string( $args ) ) {
|
262 |
+
$defaults['h2'] = $args;
|
263 |
+
}
|
264 |
$args = wp_parse_args( $args, $defaults );
|
265 |
extract( $args, EXTR_SKIP );
|
266 |
|
1523 |
if ( !$dropdown )
|
1524 |
return;
|
1525 |
|
1526 |
+
$r = $before . '<form id="topic-move" method="post" action="' . bb_get_uri( 'bb-admin/topic-move.php', null, BB_URI_CONTEXT_FORM_ACTION + BB_URI_CONTEXT_BB_ADMIN ) . '"><fieldset><div>' . "\n";
|
|
|
|
|
1527 |
$r .= '<input type="hidden" name="topic_id" value="' . $topic->topic_id . '" />' . "\n";
|
1528 |
$r .= '<label for="forum-id">'. __( 'Move to' ) . '</label>' . "\n";
|
1529 |
$r .= $dropdown . "\n";
|
1530 |
$r .= bb_nonce_field( 'move-topic_' . $topic->topic_id, '_wpnonce', true , false );
|
1531 |
$r .= '<input type="submit" name="Submit" value="' . __( 'Move' ) . '" />' . "\n";
|
1532 |
+
$r .= '</div></fieldset></form>' . $after;
|
|
|
|
|
1533 |
|
1534 |
return $r;
|
1535 |
}
|
3502 |
case 'mysql' :
|
3503 |
$format = 'Y-m-d H:i:s';
|
3504 |
break;
|
3505 |
+
case 'datetime' :
|
3506 |
+
$format = bb_get_option( 'datetime_format' );
|
3507 |
+
break;
|
3508 |
endswitch;
|
3509 |
|
3510 |
if ( $args['localize'] ) {
|
bp-forums/bbpress/bb-includes/functions.bb-users.php
CHANGED
@@ -252,37 +252,48 @@ function bb_update_user( $user_id, $user_email, $user_url, $display_name ) {
|
|
252 |
* @param string $user_login
|
253 |
* @return bool
|
254 |
*/
|
255 |
-
function bb_reset_email( $user_login )
|
|
|
256 |
global $bbdb;
|
257 |
|
258 |
$user_login = sanitize_user( $user_login, true );
|
259 |
|
260 |
-
if ( !$user = $bbdb->get_row( $bbdb->prepare( "SELECT * FROM $bbdb->users WHERE user_login = %s", $user_login ) ) )
|
261 |
-
return new WP_Error('user_does_not_exist', __('The specified user does not exist.'));
|
|
|
262 |
|
263 |
-
$resetkey = substr(md5(bb_generate_password()), 0, 15);
|
264 |
bb_update_usermeta( $user->ID, 'newpwdkey', $resetkey );
|
265 |
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
$message = sprintf(
|
267 |
-
__("If you wanted to reset your password, you may do so by visiting the following address:\n\n%s\n\nIf you don't want to reset your password, just ignore this email. Thanks!"),
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
|
|
|
|
273 |
);
|
|
|
274 |
|
275 |
$mail_result = bb_mail(
|
276 |
bb_get_user_email( $user->ID ),
|
277 |
-
|
278 |
$message
|
279 |
);
|
280 |
|
281 |
-
if (!$mail_result) {
|
282 |
-
return new WP_Error('sending_mail_failed', __('The email containing the password reset link could not be sent.'));
|
283 |
-
} else {
|
284 |
-
return true;
|
285 |
}
|
|
|
|
|
286 |
}
|
287 |
|
288 |
/**
|
@@ -297,29 +308,42 @@ function bb_reset_email( $user_login ) {
|
|
297 |
* @param string $key
|
298 |
* @return unknown
|
299 |
*/
|
300 |
-
function bb_reset_password( $key )
|
|
|
301 |
global $bbdb;
|
|
|
302 |
$key = sanitize_user( $key, true );
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
} else {
|
317 |
-
bb_update_usermeta( $user->ID, 'newpwdkey', '' );
|
318 |
-
return true;
|
319 |
-
}
|
320 |
-
} else {
|
321 |
-
return new WP_Error('key_not_found', __('Key not found.'));
|
322 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
}
|
324 |
|
325 |
/**
|
@@ -357,16 +381,30 @@ function bb_update_user_password( $user_id, $password ) {
|
|
357 |
* @param string $pass
|
358 |
* @return bool
|
359 |
*/
|
360 |
-
function bb_send_pass( $user, $pass )
|
361 |
-
|
|
|
362 |
return false;
|
|
|
363 |
|
364 |
-
$message =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
|
366 |
return bb_mail(
|
367 |
bb_get_user_email( $user->ID ),
|
368 |
-
|
369 |
-
|
370 |
);
|
371 |
}
|
372 |
|
252 |
* @param string $user_login
|
253 |
* @return bool
|
254 |
*/
|
255 |
+
function bb_reset_email( $user_login )
|
256 |
+
{
|
257 |
global $bbdb;
|
258 |
|
259 |
$user_login = sanitize_user( $user_login, true );
|
260 |
|
261 |
+
if ( !$user = $bbdb->get_row( $bbdb->prepare( "SELECT * FROM $bbdb->users WHERE user_login = %s", $user_login ) ) ) {
|
262 |
+
return new WP_Error( 'user_does_not_exist', __( 'The specified user does not exist.' ) );
|
263 |
+
}
|
264 |
|
265 |
+
$resetkey = substr( md5( bb_generate_password() ), 0, 15 );
|
266 |
bb_update_usermeta( $user->ID, 'newpwdkey', $resetkey );
|
267 |
|
268 |
+
$reseturi = bb_get_uri(
|
269 |
+
'bb-reset-password.php',
|
270 |
+
array( 'key' => $resetkey ),
|
271 |
+
BB_URI_CONTEXT_TEXT + BB_URI_CONTEXT_BB_USER_FORMS
|
272 |
+
);
|
273 |
+
|
274 |
$message = sprintf(
|
275 |
+
__( "If you wanted to reset your password, you may do so by visiting the following address:\n\n%s\n\nIf you don't want to reset your password, just ignore this email. Thanks!" ),
|
276 |
+
$reseturi
|
277 |
+
);
|
278 |
+
$message = apply_filters( 'bb_reset_email_message', $message, $user, $reseturi, $resetkey );
|
279 |
+
|
280 |
+
$subject = sprintf(
|
281 |
+
__( '%s: Password Reset' ),
|
282 |
+
bb_get_option( 'name' )
|
283 |
);
|
284 |
+
$subject = apply_filters( 'bb_reset_email_subject', $subject, $user );
|
285 |
|
286 |
$mail_result = bb_mail(
|
287 |
bb_get_user_email( $user->ID ),
|
288 |
+
$subject,
|
289 |
$message
|
290 |
);
|
291 |
|
292 |
+
if ( !$mail_result ) {
|
293 |
+
return new WP_Error( 'sending_mail_failed', __( 'The email containing the password reset link could not be sent.' ) );
|
|
|
|
|
294 |
}
|
295 |
+
|
296 |
+
return true;
|
297 |
}
|
298 |
|
299 |
/**
|
308 |
* @param string $key
|
309 |
* @return unknown
|
310 |
*/
|
311 |
+
function bb_reset_password( $key )
|
312 |
+
{
|
313 |
global $bbdb;
|
314 |
+
|
315 |
$key = sanitize_user( $key, true );
|
316 |
+
|
317 |
+
if ( empty( $key ) || !is_string( $key ) ) {
|
318 |
+
return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
|
319 |
+
}
|
320 |
+
|
321 |
+
if ( !$user_id = $bbdb->get_var( $bbdb->prepare( "SELECT user_id FROM $bbdb->usermeta WHERE meta_key = 'newpwdkey' AND meta_value = %s", $key ) ) ) {
|
322 |
+
return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
|
323 |
+
}
|
324 |
+
|
325 |
+
$user = new BP_User( $user_id );
|
326 |
+
|
327 |
+
if ( !$user || is_wp_error( $user ) ) {
|
328 |
+
return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
}
|
330 |
+
|
331 |
+
if ( bb_has_broken_pass( $user->ID ) ) {
|
332 |
+
bb_block_current_user();
|
333 |
+
}
|
334 |
+
|
335 |
+
if ( !$user->has_cap( 'change_user_password', $user->ID ) ) {
|
336 |
+
return new WP_Error( 'permission_denied', __( 'You are not allowed to change your password.' ) );
|
337 |
+
}
|
338 |
+
|
339 |
+
$newpass = bb_generate_password();
|
340 |
+
bb_update_user_password( $user->ID, $newpass );
|
341 |
+
if ( !bb_send_pass( $user->ID, $newpass ) ) {
|
342 |
+
return new WP_Error( 'sending_mail_failed', __( 'The email containing the new password could not be sent.' ) );
|
343 |
+
}
|
344 |
+
|
345 |
+
bb_update_usermeta( $user->ID, 'newpwdkey', '' );
|
346 |
+
return true;
|
347 |
}
|
348 |
|
349 |
/**
|
381 |
* @param string $pass
|
382 |
* @return bool
|
383 |
*/
|
384 |
+
function bb_send_pass( $user, $pass )
|
385 |
+
{
|
386 |
+
if ( !$user = bb_get_user( $user ) ) {
|
387 |
return false;
|
388 |
+
}
|
389 |
|
390 |
+
$message = sprintf(
|
391 |
+
__( "Your username is: %1\$s \nYour password is: %2\$s \nYou can now log in: %3\$s \n\nEnjoy!" ),
|
392 |
+
$user->user_login,
|
393 |
+
$pass,
|
394 |
+
bb_get_uri( null, null, BB_URI_CONTEXT_TEXT )
|
395 |
+
);
|
396 |
+
$message = apply_filters( 'bb_send_pass_message', $message, $user, $pass );
|
397 |
+
|
398 |
+
$subject = sprintf(
|
399 |
+
__( '%s: Password' ),
|
400 |
+
bb_get_option( 'name' )
|
401 |
+
);
|
402 |
+
$subject = apply_filters( 'bb_send_pass_subject', $subject, $user );
|
403 |
|
404 |
return bb_mail(
|
405 |
bb_get_user_email( $user->ID ),
|
406 |
+
$subject,
|
407 |
+
$message
|
408 |
);
|
409 |
}
|
410 |
|
bp-forums/bbpress/bb-includes/js/jquery/interface.js
CHANGED
@@ -9,4 +9,5 @@
|
|
9 |
*
|
10 |
*
|
11 |
*/
|
12 |
-
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('k.f2={2r:u(M){E q.1E(u(){if(!M.aR||!M.aZ)E;D el=q;el.2l={aq:M.aq||cO,aR:M.aR,aZ:M.aZ,8e:M.8e||\'fV\',aJ:M.aJ||\'fV\',2Y:M.2Y&&2g M.2Y==\'u\'?M.2Y:I,3i:M.2Y&&2g M.3i==\'u\'?M.3i:I,7U:M.7U&&2g M.7U==\'u\'?M.7U:I,as:k(M.aR,q),8f:k(M.aZ,q),H:M.H||8J,67:M.67||0};el.2l.8f.2G().B(\'W\',\'9R\').eq(0).B({W:el.2l.aq+\'U\',19:\'2B\'}).2T();el.2l.as.1E(u(2N){q.7X=2N}).gC(u(){k(q).2R(el.2l.aJ)},u(){k(q).4i(el.2l.aJ)}).1J(\'5h\',u(e){if(el.2l.67==q.7X)E;el.2l.as.eq(el.2l.67).4i(el.2l.8e).2T().eq(q.7X).2R(el.2l.8e).2T();el.2l.8f.eq(el.2l.67).5w({W:0},el.2l.H,u(){q.14.19=\'1o\';if(el.2l.3i){el.2l.3i.1D(el,[q])}}).2T().eq(q.7X).1Y().5w({W:el.2l.aq},el.2l.H,u(){q.14.19=\'2B\';if(el.2l.2Y){el.2l.2Y.1D(el,[q])}}).2T();if(el.2l.7U){el.2l.7U.1D(el,[q,el.2l.8f.K(q.7X),el.2l.as.K(el.2l.67),el.2l.8f.K(el.2l.67)])}el.2l.67=q.7X}).eq(0).2R(el.2l.8e).2T();k(q).B(\'W\',k(q).B(\'W\')).B(\'2U\',\'2K\')})}};k.fn.gN=k.f2.2r;k.aA={2r:u(M){E q.1E(u(){D el=q;D 7E=2*18.2Q/f1;D an=2*18.2Q;if(k(el).B(\'Y\')!=\'2s\'&&k(el).B(\'Y\')!=\'1P\'){k(el).B(\'Y\',\'2s\')}el.1l={1R:k(M.1R,q),2F:M.2F,6q:M.6q,aD:M.aD,an:an,1N:k.1a.2o(q),Y:k.1a.3w(q),26:18.2Q/2,bi:M.bi,8p:M.6r,6r:[],aG:I,7E:2*18.2Q/f1};el.1l.fB=(el.1l.1N.w-el.1l.2F)/2;el.1l.7D=(el.1l.1N.h-el.1l.6q-el.1l.6q*el.1l.8p)/2;el.1l.2D=2*18.2Q/el.1l.1R.1N();el.1l.ba=el.1l.1N.w/2;el.1l.b9=el.1l.1N.h/2-el.1l.6q*el.1l.8p;D ak=1h.3F(\'22\');k(ak).B({Y:\'1P\',3I:1,Q:0,O:0});k(el).1S(ak);el.1l.1R.1E(u(2N){a6=k(\'1T\',q).K(0);W=T(el.1l.6q*el.1l.8p);if(k.3a.4t){3E=1h.3F(\'1T\');k(3E).B(\'Y\',\'1P\');3E.2J=a6.2J;3E.14.5E=\'gE 9n:9w.9y.cC(1G=60, 14=1, gB=0, gA=0, gv=0, gF=0)\'}P{3E=1h.3F(\'3E\');if(3E.fD){4L=3E.fD("2d");3E.14.Y=\'1P\';3E.14.W=W+\'U\';3E.14.Z=el.1l.2F+\'U\';3E.W=W;3E.Z=el.1l.2F;4L.gu();4L.gO(0,W);4L.gk(1,-1);4L.gp(a6,0,0,el.1l.2F,W);4L.6H();4L.gm="gG-4l";D ap=4L.hy(0,0,0,W);ap.fs(1,"fr(1V, 1V, 1V, 1)");ap.fs(0,"fr(1V, 1V, 1V, 0.6)");4L.hx=ap;if(hA.hB.3J(\'hw\')!=-1){4L.hv()}P{4L.hu(0,0,el.1l.2F,W)}}}el.1l.6r[2N]=3E;k(ak).1S(3E)}).1J(\'9z\',u(e){el.1l.aG=1b;el.1l.H=el.1l.7E*0.1*el.1l.H/18.3S(el.1l.H);E I}).1J(\'8B\',u(e){el.1l.aG=I;E I});k.aA.7T(el);el.1l.H=el.1l.7E*0.2;el.1l.ht=1X.6V(u(){el.1l.26+=el.1l.H;if(el.1l.26>an)el.1l.26=0;k.aA.7T(el)},20);k(el).1J(\'8B\',u(){el.1l.H=el.1l.7E*0.2*el.1l.H/18.3S(el.1l.H)}).1J(\'3D\',u(e){if(el.1l.aG==I){1s=k.1a.4a(e);fz=el.1l.1N.w-1s.x+el.1l.Y.x;el.1l.H=el.1l.bi*el.1l.7E*(el.1l.1N.w/2-fz)/(el.1l.1N.w/2)}})})},7T:u(el){el.1l.1R.1E(u(2N){b8=el.1l.26+2N*el.1l.2D;x=el.1l.fB*18.5H(b8);y=el.1l.7D*18.83(b8);f9=T(2a*(el.1l.7D+y)/(2*el.1l.7D));fk=(el.1l.7D+y)/(2*el.1l.7D);Z=T((el.1l.2F-el.1l.aD)*fk+el.1l.aD);W=T(Z*el.1l.6q/el.1l.2F);q.14.Q=el.1l.b9+y-W/2+"U";q.14.O=el.1l.ba+x-Z/2+"U";q.14.Z=Z+"U";q.14.W=W+"U";q.14.3I=f9;el.1l.6r[2N].14.Q=T(el.1l.b9+y+W-1-W/2)+"U";el.1l.6r[2N].14.O=T(el.1l.ba+x-Z/2)+"U";el.1l.6r[2N].14.Z=Z+"U";el.1l.6r[2N].14.W=T(W*el.1l.8p)+"U"})}};k.fn.hI=k.aA.2r;k.23({G:{c8:u(p,n,1W,1H,1m){E((-18.5H(p*18.2Q)/2)+0.5)*1H+1W},hK:u(p,n,1W,1H,1m){E 1H*(n/=1m)*n*n+1W},fl:u(p,n,1W,1H,1m){E-1H*((n=n/1m-1)*n*n*n-1)+1W},hm:u(p,n,1W,1H,1m){if((n/=1m/2)<1)E 1H/2*n*n*n*n+1W;E-1H/2*((n-=2)*n*n*n-2)+1W},8l:u(p,n,1W,1H,1m){if((n/=1m)<(1/2.75)){E 1H*(7.aB*n*n)+1W}P if(n<(2/2.75)){E 1H*(7.aB*(n-=(1.5/2.75))*n+.75)+1W}P if(n<(2.5/2.75)){E 1H*(7.aB*(n-=(2.25/2.75))*n+.gY)+1W}P{E 1H*(7.aB*(n-=(2.h2/2.75))*n+.gX)+1W}},cr:u(p,n,1W,1H,1m){if(k.G.8l)E 1H-k.G.8l(p,1m-n,0,1H,1m)+1W;E 1W+1H},gW:u(p,n,1W,1H,1m){if(k.G.cr&&k.G.8l)if(n<1m/2)E k.G.cr(p,n*2,0,1H,1m)*.5+1W;E k.G.8l(p,n*2-1m,0,1H,1m)*.5+1H*.5+1W;E 1W+1H},gQ:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m)==1)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}E-(a*18.6b(2,10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p))+1W},gT:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m/2)==2)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}E a*18.6b(2,-10*n)*18.83((n*1m-s)*(2*18.2Q)/p)+1H+1W},gV:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m/2)==2)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}if(n<1){E-.5*(a*18.6b(2,10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p))+1W}E a*18.6b(2,-10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p)*.5+1H+1W}}});k.6n={2r:u(M){E q.1E(u(){D el=q;el.1F={1R:k(M.1R,q),1Z:k(M.1Z,q),1M:k.1a.3w(q),2F:M.2F,ax:M.ax,7Y:M.7Y,ge:M.ge,51:M.51,6x:M.6x};k.6n.aH(el,0);k(1X).1J(\'gU\',u(){el.1F.1M=k.1a.3w(el);k.6n.aH(el,0);k.6n.7T(el)});k.6n.7T(el);el.1F.1R.1J(\'9z\',u(){k(el.1F.ax,q).K(0).14.19=\'2B\'}).1J(\'8B\',u(){k(el.1F.ax,q).K(0).14.19=\'1o\'});k(1h).1J(\'3D\',u(e){D 1s=k.1a.4a(e);D 5s=0;if(el.1F.51&&el.1F.51==\'cv\')D aI=1s.x-el.1F.1M.x-(el.4c-el.1F.2F*el.1F.1R.1N())/2-el.1F.2F/2;P if(el.1F.51&&el.1F.51==\'2L\')D aI=1s.x-el.1F.1M.x-el.4c+el.1F.2F*el.1F.1R.1N();P D aI=1s.x-el.1F.1M.x;D fP=18.6b(1s.y-el.1F.1M.y-el.5W/2,2);el.1F.1R.1E(u(2N){45=18.ez(18.6b(aI-2N*el.1F.2F,2)+fP);45-=el.1F.2F/2;45=45<0?0:45;45=45>el.1F.7Y?el.1F.7Y:45;45=el.1F.7Y-45;bB=el.1F.6x*45/el.1F.7Y;q.14.Z=el.1F.2F+bB+\'U\';q.14.O=el.1F.2F*2N+5s+\'U\';5s+=bB});k.6n.aH(el,5s)})})},aH:u(el,5s){if(el.1F.51)if(el.1F.51==\'cv\')el.1F.1Z.K(0).14.O=(el.4c-el.1F.2F*el.1F.1R.1N())/2-5s/2+\'U\';P if(el.1F.51==\'O\')el.1F.1Z.K(0).14.O=-5s/el.1F.1R.1N()+\'U\';P if(el.1F.51==\'2L\')el.1F.1Z.K(0).14.O=(el.4c-el.1F.2F*el.1F.1R.1N())-5s/2+\'U\';el.1F.1Z.K(0).14.Z=el.1F.2F*el.1F.1R.1N()+5s+\'U\'},7T:u(el){el.1F.1R.1E(u(2N){q.14.Z=el.1F.2F+\'U\';q.14.O=el.1F.2F*2N+\'U\'})}};k.fn.hi=k.6n.2r;k.N={1c:S,8R:S,3A:S,2I:S,4y:S,cl:S,1d:S,2h:S,1R:S,5o:u(){k.N.8R.5o();if(k.N.3A){k.N.3A.2G()}},4w:u(){k.N.1R=S;k.N.2h=S;k.N.4y=k.N.1d.2y;if(k.N.1c.B(\'19\')==\'2B\'){if(k.N.1d.1f.fx){3m(k.N.1d.1f.fx.1u){1e\'c6\':k.N.1c.7a(k.N.1d.1f.fx.1m,k.N.5o);1r;1e\'1z\':k.N.1c.fq(k.N.1d.1f.fx.1m,k.N.5o);1r;1e\'a7\':k.N.1c.g3(k.N.1d.1f.fx.1m,k.N.5o);1r}}P{k.N.1c.2G()}if(k.N.1d.1f.3i)k.N.1d.1f.3i.1D(k.N.1d,[k.N.1c,k.N.3A])}P{k.N.5o()}1X.bH(k.N.2I)},dQ:u(){D 1d=k.N.1d;D 4d=k.N.aY(1d);if(1d&&4d.3o!=k.N.4y&&4d.3o.1g>=1d.1f.aL){k.N.4y=4d.3o;k.N.cl=4d.3o;81={2n:k(1d).1p(\'hj\')||\'2n\',2y:4d.3o};k.hl({1u:\'hk\',81:k.hf(81),he:u(fZ){1d.1f.4e=k(\'3o\',fZ);1N=1d.1f.4e.1N();if(1N>0){D 5p=\'\';1d.1f.4e.1E(u(2N){5p+=\'<8P 4I="\'+k(\'2y\',q).3g()+\'" 8K="\'+2N+\'" 14="9b: ad;">\'+k(\'3g\',q).3g()+\'</8P>\'});if(1d.1f.aU){D 3M=k(\'2y\',1d.1f.4e.K(0)).3g();1d.2y=4d.3j+3M+1d.1f.3N+4d.66;k.N.6J(1d,4d.3o.1g!=3M.1g?(4d.3j.1g+4d.3o.1g):3M.1g,4d.3o.1g!=3M.1g?(4d.3j.1g+3M.1g):3M.1g)}if(1N>0){k.N.cj(1d,5p)}P{k.N.4w()}}P{k.N.4w()}},5N:1d.1f.aN})}},cj:u(1d,5p){k.N.8R.3x(5p);k.N.1R=k(\'8P\',k.N.8R.K(0));k.N.1R.9z(k.N.di).1J(\'5h\',k.N.dj);D Y=k.1a.3w(1d);D 1N=k.1a.2o(1d);k.N.1c.B(\'Q\',Y.y+1N.hb+\'U\').B(\'O\',Y.x+\'U\').2R(1d.1f.aM);if(k.N.3A){k.N.3A.B(\'19\',\'2B\').B(\'Q\',Y.y+1N.hb+\'U\').B(\'O\',Y.x+\'U\').B(\'Z\',k.N.1c.B(\'Z\')).B(\'W\',k.N.1c.B(\'W\'))}k.N.2h=0;k.N.1R.K(0).3l=1d.1f.7H;k.N.8Q(1d,1d.1f.4e.K(0),\'7J\');if(k.N.1c.B(\'19\')==\'1o\'){if(1d.1f.bV){D cp=k.1a.aT(1d,1b);D cm=k.1a.6U(1d,1b);k.N.1c.B(\'Z\',1d.4c-(k.dF?(cp.l+cp.r+cm.l+cm.r):0)+\'U\')}if(1d.1f.fx){3m(1d.1f.fx.1u){1e\'c6\':k.N.1c.7f(1d.1f.fx.1m);1r;1e\'1z\':k.N.1c.fo(1d.1f.fx.1m);1r;1e\'a7\':k.N.1c.gb(1d.1f.fx.1m);1r}}P{k.N.1c.1Y()}if(k.N.1d.1f.2Y)k.N.1d.1f.2Y.1D(k.N.1d,[k.N.1c,k.N.3A])}},dO:u(){D 1d=q;if(1d.1f.4e){k.N.4y=1d.2y;k.N.cl=1d.2y;D 5p=\'\';1d.1f.4e.1E(u(2N){2y=k(\'2y\',q).3g().6c();fY=1d.2y.6c();if(2y.3J(fY)==0){5p+=\'<8P 4I="\'+k(\'2y\',q).3g()+\'" 8K="\'+2N+\'" 14="9b: ad;">\'+k(\'3g\',q).3g()+\'</8P>\'}});if(5p!=\'\'){k.N.cj(1d,5p);q.1f.9x=1b;E}}1d.1f.4e=S;q.1f.9x=I},6J:u(2n,26,2T){if(2n.b1){D 6t=2n.b1();6t.hp(1b);6t.dI("ck",26);6t.ha("ck",-2T+26);6t.8C()}P if(2n.aF){2n.aF(26,2T)}P{if(2n.5q){2n.5q=26;2n.dN=2T}}2n.6K()},f0:u(2n){if(2n.5q)E 2n.5q;P if(2n.b1){D 6t=1h.6J.dZ();D eX=6t.h9();E 0-eX.dI(\'ck\',-h6)}},aY:u(2n){D 4P={2y:2n.2y,3j:\'\',66:\'\',3o:\'\'};if(2n.1f.aQ){D 8N=I;D 5q=k.N.f0(2n)||0;D 4T=4P.2y.7C(2n.1f.3N);24(D i=0;i<4T.1g;i++){if((4P.3j.1g+4T[i].1g>=5q||5q==0)&&!8N){if(4P.3j.1g<=5q)4P.3o=4T[i];P 4P.66+=4T[i]+(4T[i]!=\'\'?2n.1f.3N:\'\');8N=1b}P if(8N){4P.66+=4T[i]+(4T[i]!=\'\'?2n.1f.3N:\'\')}if(!8N){4P.3j+=4T[i]+(4T.1g>1?2n.1f.3N:\'\')}}}P{4P.3o=4P.2y}E 4P},bU:u(e){1X.bH(k.N.2I);D 1d=k.N.aY(q);D 3K=e.7L||e.7K||-1;if(/13|27|35|36|38|40|9/.48(3K)&&k.N.1R){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}if(k.N.2h!=S)k.N.1R.K(k.N.2h||0).3l=\'\';P k.N.2h=-1;3m(3K){1e 9:1e 13:if(k.N.2h==-1)k.N.2h=0;D 2h=k.N.1R.K(k.N.2h||0);D 3M=2h.5C(\'4I\');q.2y=1d.3j+3M+q.1f.3N+1d.66;k.N.4y=1d.3o;k.N.6J(q,1d.3j.1g+3M.1g+q.1f.3N.1g,1d.3j.1g+3M.1g+q.1f.3N.1g);k.N.4w();if(q.1f.68){4u=T(2h.5C(\'8K\'))||0;k.N.8Q(q,q.1f.4e.K(4u),\'68\')}if(q.7W)q.7W(I);E 3K!=13;1r;1e 27:q.2y=1d.3j+k.N.4y+q.1f.3N+1d.66;q.1f.4e=S;k.N.4w();if(q.7W)q.7W(I);E I;1r;1e 35:k.N.2h=k.N.1R.1N()-1;1r;1e 36:k.N.2h=0;1r;1e 38:k.N.2h--;if(k.N.2h<0)k.N.2h=k.N.1R.1N()-1;1r;1e 40:k.N.2h++;if(k.N.2h==k.N.1R.1N())k.N.2h=0;1r}k.N.8Q(q,q.1f.4e.K(k.N.2h||0),\'7J\');k.N.1R.K(k.N.2h||0).3l=q.1f.7H;if(k.N.1R.K(k.N.2h||0).7W)k.N.1R.K(k.N.2h||0).7W(I);if(q.1f.aU){D aK=k.N.1R.K(k.N.2h||0).5C(\'4I\');q.2y=1d.3j+aK+q.1f.3N+1d.66;if(k.N.4y.1g!=aK.1g)k.N.6J(q,1d.3j.1g+k.N.4y.1g,1d.3j.1g+aK.1g)}E I}k.N.dO.1D(q);if(q.1f.9x==I){if(1d.3o!=k.N.4y&&1d.3o.1g>=q.1f.aL)k.N.2I=1X.9T(k.N.dQ,q.1f.54);if(k.N.1R){k.N.4w()}}E 1b},8Q:u(2n,3o,1u){if(2n.1f[1u]){D 81={};ar=3o.f3(\'*\');24(i=0;i<ar.1g;i++){81[ar[i].4Y]=ar[i].7c.h4}2n.1f[1u].1D(2n,[81])}},di:u(e){if(k.N.1R){if(k.N.2h!=S)k.N.1R.K(k.N.2h||0).3l=\'\';k.N.1R.K(k.N.2h||0).3l=\'\';k.N.2h=T(q.5C(\'8K\'))||0;k.N.1R.K(k.N.2h||0).3l=k.N.1d.1f.7H}},dj:u(2k){1X.bH(k.N.2I);2k=2k||k.2k.gS(1X.2k);2k.aP();2k.aW();D 1d=k.N.aY(k.N.1d);D 3M=q.5C(\'4I\');k.N.1d.2y=1d.3j+3M+k.N.1d.1f.3N+1d.66;k.N.4y=q.5C(\'4I\');k.N.6J(k.N.1d,1d.3j.1g+3M.1g+k.N.1d.1f.3N.1g,1d.3j.1g+3M.1g+k.N.1d.1f.3N.1g);k.N.4w();if(k.N.1d.1f.68){4u=T(q.5C(\'8K\'))||0;k.N.8Q(k.N.1d,k.N.1d.1f.4e.K(4u),\'68\')}E I},eJ:u(e){3K=e.7L||e.7K||-1;if(/13|27|35|36|38|40/.48(3K)&&k.N.1R){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}E I}},2r:u(M){if(!M.aN||!k.1a){E}if(!k.N.1c){if(k.3a.4t){k(\'2e\',1h).1S(\'<3A 14="19:1o;Y:1P;5E:9n:9w.9y.cC(1G=0);" id="ds" 2J="ek:I;" ej="0" ep="cD"></3A>\');k.N.3A=k(\'#ds\')}k(\'2e\',1h).1S(\'<22 id="dr" 14="Y: 1P; Q: 0; O: 0; z-cZ: h3; 19: 1o;"><9h 14="6w: 0;8F: 0; h1-14: 1o; z-cZ: h0;">&7k;</9h></22>\');k.N.1c=k(\'#dr\');k.N.8R=k(\'9h\',k.N.1c)}E q.1E(u(){if(q.4Y!=\'ch\'&&q.5C(\'1u\')!=\'3g\')E;q.1f={};q.1f.aN=M.aN;q.1f.aL=18.3S(T(M.aL)||1);q.1f.aM=M.aM?M.aM:\'\';q.1f.7H=M.7H?M.7H:\'\';q.1f.68=M.68&&M.68.1K==2A?M.68:S;q.1f.2Y=M.2Y&&M.2Y.1K==2A?M.2Y:S;q.1f.3i=M.3i&&M.3i.1K==2A?M.3i:S;q.1f.7J=M.7J&&M.7J.1K==2A?M.7J:S;q.1f.bV=M.bV||I;q.1f.aQ=M.aQ||I;q.1f.3N=q.1f.aQ?(M.3N||\', \'):\'\';q.1f.aU=M.aU?1b:I;q.1f.54=18.3S(T(M.54)||aC);if(M.fx&&M.fx.1K==7M){if(!M.fx.1u||!/c6|1z|a7/.48(M.fx.1u)){M.fx.1u=\'1z\'}if(M.fx.1u==\'1z\'&&!k.fx.1z)E;if(M.fx.1u==\'a7\'&&!k.fx.61)E;M.fx.1m=18.3S(T(M.fx.1m)||8J);if(M.fx.1m>q.1f.54){M.fx.1m=q.1f.54-2a}q.1f.fx=M.fx}q.1f.4e=S;q.1f.9x=I;k(q).1p(\'bU\',\'eN\').6K(u(){k.N.1d=q;k.N.4y=q.2y}).dH(k.N.eJ).6y(k.N.bU).5B(u(){k.N.2I=1X.9T(k.N.4w,hM)})})}};k.fn.hR=k.N.2r;k.1y={2I:S,4Q:S,29:S,2D:10,26:u(el,4J,2D,eG){k.1y.4Q=el;k.1y.29=4J;k.1y.2D=T(2D)||10;k.1y.2I=1X.6V(k.1y.eF,T(eG)||40)},eF:u(){24(i=0;i<k.1y.29.1g;i++){if(!k.1y.29[i].2X){k.1y.29[i].2X=k.23(k.1a.7G(k.1y.29[i]),k.1a.74(k.1y.29[i]),k.1a.6z(k.1y.29[i]))}P{k.1y.29[i].2X.t=k.1y.29[i].3d;k.1y.29[i].2X.l=k.1y.29[i].3c}if(k.1y.4Q.A&&k.1y.4Q.A.7q==1b){69={x:k.1y.4Q.A.2v,y:k.1y.4Q.A.2q,1C:k.1y.4Q.A.1B.1C,hb:k.1y.4Q.A.1B.hb}}P{69=k.23(k.1a.7G(k.1y.4Q),k.1a.74(k.1y.4Q))}if(k.1y.29[i].2X.t>0&&k.1y.29[i].2X.y+k.1y.29[i].2X.t>69.y){k.1y.29[i].3d-=k.1y.2D}P if(k.1y.29[i].2X.t<=k.1y.29[i].2X.h&&k.1y.29[i].2X.t+k.1y.29[i].2X.hb<69.y+69.hb){k.1y.29[i].3d+=k.1y.2D}if(k.1y.29[i].2X.l>0&&k.1y.29[i].2X.x+k.1y.29[i].2X.l>69.x){k.1y.29[i].3c-=k.1y.2D}P if(k.1y.29[i].2X.l<=k.1y.29[i].2X.hP&&k.1y.29[i].2X.l+k.1y.29[i].2X.1C<69.x+69.1C){k.1y.29[i].3c+=k.1y.2D}}},8o:u(){1X.5T(k.1y.2I);k.1y.4Q=S;k.1y.29=S;24(i in k.1y.29){k.1y.29[i].2X=S}}};k.11={1c:S,F:S,4U:u(){E q.1E(u(){if(q.9I){q.A.5e.3q(\'5v\',k.11.bN);q.A=S;q.9I=I;if(k.3a.4t){q.bE="eN"}P{q.14.hq=\'\';q.14.e1=\'\';q.14.e7=\'\'}}})},bN:u(e){if(k.11.F!=S){k.11.9A(e);E I}D C=q.3U;k(1h).1J(\'3D\',k.11.bX).1J(\'5P\',k.11.9A);C.A.1s=k.1a.4a(e);C.A.4B=C.A.1s;C.A.7q=I;C.A.ho=q!=q.3U;k.11.F=C;if(C.A.5i&&q!=q.3U){bS=k.1a.3w(C.31);bQ=k.1a.2o(C);bR={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};dx=C.A.4B.x-bS.x-bQ.1C/2-bR.x;dy=C.A.4B.y-bS.y-bQ.hb/2-bR.y;k.3b.5c(C,[dx,dy])}E k.7n||I},ea:u(e){D C=k.11.F;C.A.7q=1b;D 9G=C.14;C.A.7V=k.B(C,\'19\');C.A.4n=k.B(C,\'Y\');if(!C.A.cz)C.A.cz=C.A.4n;C.A.2c={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};C.A.9B=0;C.A.ai=0;if(k.3a.4t){D bW=k.1a.6U(C,1b);C.A.9B=bW.l||0;C.A.ai=bW.t||0}C.A.1B=k.23(k.1a.3w(C),k.1a.2o(C));if(C.A.4n!=\'2s\'&&C.A.4n!=\'1P\'){9G.Y=\'2s\'}k.11.1c.5o();D 5g=C.fI(1b);k(5g).B({19:\'2B\',O:\'2P\',Q:\'2P\'});5g.14.5K=\'0\';5g.14.5z=\'0\';5g.14.5k=\'0\';5g.14.5j=\'0\';k.11.1c.1S(5g);D 3Y=k.11.1c.K(0).14;if(C.A.bD){3Y.Z=\'9F\';3Y.W=\'9F\'}P{3Y.W=C.A.1B.hb+\'U\';3Y.Z=C.A.1B.1C+\'U\'}3Y.19=\'2B\';3Y.5K=\'2P\';3Y.5z=\'2P\';3Y.5k=\'2P\';3Y.5j=\'2P\';k.23(C.A.1B,k.1a.2o(5g));if(C.A.2V){if(C.A.2V.O){C.A.2c.x+=C.A.1s.x-C.A.1B.x-C.A.2V.O;C.A.1B.x=C.A.1s.x-C.A.2V.O}if(C.A.2V.Q){C.A.2c.y+=C.A.1s.y-C.A.1B.y-C.A.2V.Q;C.A.1B.y=C.A.1s.y-C.A.2V.Q}if(C.A.2V.2L){C.A.2c.x+=C.A.1s.x-C.A.1B.x-C.A.1B.hb+C.A.2V.2L;C.A.1B.x=C.A.1s.x-C.A.1B.1C+C.A.2V.2L}if(C.A.2V.4D){C.A.2c.y+=C.A.1s.y-C.A.1B.y-C.A.1B.hb+C.A.2V.4D;C.A.1B.y=C.A.1s.y-C.A.1B.hb+C.A.2V.4D}}C.A.2v=C.A.2c.x;C.A.2q=C.A.2c.y;if(C.A.8s||C.A.2p==\'94\'){8U=k.1a.6U(C.31,1b);C.A.1B.x=C.8t+(k.3a.4t?0:k.3a.7I?-8U.l:8U.l);C.A.1B.y=C.8G+(k.3a.4t?0:k.3a.7I?-8U.t:8U.t);k(C.31).1S(k.11.1c.K(0))}if(C.A.2p){k.11.c5(C);C.A.5t.2p=k.11.ce}if(C.A.5i){k.3b.ct(C)}3Y.O=C.A.1B.x-C.A.9B+\'U\';3Y.Q=C.A.1B.y-C.A.ai+\'U\';3Y.Z=C.A.1B.1C+\'U\';3Y.W=C.A.1B.hb+\'U\';k.11.F.A.9E=I;if(C.A.gx){C.A.5t.6a=k.11.c7}if(C.A.3I!=I){k.11.1c.B(\'3I\',C.A.3I)}if(C.A.1G){k.11.1c.B(\'1G\',C.A.1G);if(1X.71){k.11.1c.B(\'5E\',\'8V(1G=\'+C.A.1G*2a+\')\')}}if(C.A.7O){k.11.1c.2R(C.A.7O);k.11.1c.K(0).7c.14.19=\'1o\'}if(C.A.4o)C.A.4o.1D(C,[5g,C.A.2c.x,C.A.2c.y]);if(k.1x&&k.1x.8D>0){k.1x.ed(C)}if(C.A.46==I){9G.19=\'1o\'}E I},c5:u(C){if(C.A.2p.1K==b0){if(C.A.2p==\'94\'){C.A.28=k.23({x:0,y:0},k.1a.2o(C.31));D 8S=k.1a.6U(C.31,1b);C.A.28.w=C.A.28.1C-8S.l-8S.r;C.A.28.h=C.A.28.hb-8S.t-8S.b}P if(C.A.2p==\'1h\'){D bY=k.1a.bm();C.A.28={x:0,y:0,w:bY.w,h:bY.h}}}P if(C.A.2p.1K==7F){C.A.28={x:T(C.A.2p[0])||0,y:T(C.A.2p[1])||0,w:T(C.A.2p[2])||0,h:T(C.A.2p[3])||0}}C.A.28.dx=C.A.28.x-C.A.1B.x;C.A.28.dy=C.A.28.y-C.A.1B.y},9H:u(F){if(F.A.8s||F.A.2p==\'94\'){k(\'2e\',1h).1S(k.11.1c.K(0))}k.11.1c.5o().2G().B(\'1G\',1);if(1X.71){k.11.1c.B(\'5E\',\'8V(1G=2a)\')}},9A:u(e){k(1h).3q(\'3D\',k.11.bX).3q(\'5P\',k.11.9A);if(k.11.F==S){E}D F=k.11.F;k.11.F=S;if(F.A.7q==I){E I}if(F.A.44==1b){k(F).B(\'Y\',F.A.4n)}D 9G=F.14;if(F.5i){k.11.1c.B(\'9b\',\'8j\')}if(F.A.7O){k.11.1c.4i(F.A.7O)}if(F.A.6N==I){if(F.A.fx>0){if(!F.A.1O||F.A.1O==\'4j\'){D x=12 k.fx(F,{1m:F.A.fx},\'O\');x.1L(F.A.2c.x,F.A.8y)}if(!F.A.1O||F.A.1O==\'49\'){D y=12 k.fx(F,{1m:F.A.fx},\'Q\');y.1L(F.A.2c.y,F.A.8v)}}P{if(!F.A.1O||F.A.1O==\'4j\')F.14.O=F.A.8y+\'U\';if(!F.A.1O||F.A.1O==\'49\')F.14.Q=F.A.8v+\'U\'}k.11.9H(F);if(F.A.46==I){k(F).B(\'19\',F.A.7V)}}P if(F.A.fx>0){F.A.9E=1b;D dh=I;if(k.1x&&k.1t&&F.A.44){dh=k.1a.3w(k.1t.1c.K(0))}k.11.1c.5w({O:dh?dh.x:F.A.1B.x,Q:dh?dh.y:F.A.1B.y},F.A.fx,u(){F.A.9E=I;if(F.A.46==I){F.14.19=F.A.7V}k.11.9H(F)})}P{k.11.9H(F);if(F.A.46==I){k(F).B(\'19\',F.A.7V)}}if(k.1x&&k.1x.8D>0){k.1x.eO(F)}if(k.1t&&F.A.44){k.1t.fC(F)}if(F.A.2Z&&(F.A.8y!=F.A.2c.x||F.A.8v!=F.A.2c.y)){F.A.2Z.1D(F,F.A.b3||[0,0,F.A.8y,F.A.8v])}if(F.A.3T)F.A.3T.1D(F);E I},c7:u(x,y,dx,dy){if(dx!=0)dx=T((dx+(q.A.gx*dx/18.3S(dx))/2)/q.A.gx)*q.A.gx;if(dy!=0)dy=T((dy+(q.A.gy*dy/18.3S(dy))/2)/q.A.gy)*q.A.gy;E{dx:dx,dy:dy,x:0,y:0}},ce:u(x,y,dx,dy){dx=18.3L(18.3r(dx,q.A.28.dx),q.A.28.w+q.A.28.dx-q.A.1B.1C);dy=18.3L(18.3r(dy,q.A.28.dy),q.A.28.h+q.A.28.dy-q.A.1B.hb);E{dx:dx,dy:dy,x:0,y:0}},bX:u(e){if(k.11.F==S||k.11.F.A.9E==1b){E}D F=k.11.F;F.A.4B=k.1a.4a(e);if(F.A.7q==I){45=18.ez(18.6b(F.A.1s.x-F.A.4B.x,2)+18.6b(F.A.1s.y-F.A.4B.y,2));if(45<F.A.6M){E}P{k.11.ea(e)}}D dx=F.A.4B.x-F.A.1s.x;D dy=F.A.4B.y-F.A.1s.y;24(D i in F.A.5t){D 3y=F.A.5t[i].1D(F,[F.A.2c.x+dx,F.A.2c.y+dy,dx,dy]);if(3y&&3y.1K==7M){dx=i!=\'7R\'?3y.dx:(3y.x-F.A.2c.x);dy=i!=\'7R\'?3y.dy:(3y.y-F.A.2c.y)}}F.A.2v=F.A.1B.x+dx-F.A.9B;F.A.2q=F.A.1B.y+dy-F.A.ai;if(F.A.5i&&(F.A.3H||F.A.2Z)){k.3b.3H(F,F.A.2v,F.A.2q)}if(F.A.4m)F.A.4m.1D(F,[F.A.2c.x+dx,F.A.2c.y+dy]);if(!F.A.1O||F.A.1O==\'4j\'){F.A.8y=F.A.2c.x+dx;k.11.1c.K(0).14.O=F.A.2v+\'U\'}if(!F.A.1O||F.A.1O==\'49\'){F.A.8v=F.A.2c.y+dy;k.11.1c.K(0).14.Q=F.A.2q+\'U\'}if(k.1x&&k.1x.8D>0){k.1x.al(F)}E I},2r:u(o){if(!k.11.1c){k(\'2e\',1h).1S(\'<22 id="e8"></22>\');k.11.1c=k(\'#e8\');D el=k.11.1c.K(0);D 4J=el.14;4J.Y=\'1P\';4J.19=\'1o\';4J.9b=\'8j\';4J.eu=\'1o\';4J.2U=\'2K\';if(1X.71){el.bE="e4"}P{4J.gi=\'1o\';4J.e7=\'1o\';4J.e1=\'1o\'}}if(!o){o={}}E q.1E(u(){if(q.9I||!k.1a)E;if(1X.71){q.gh=u(){E I};q.gj=u(){E I}}D el=q;D 5e=o.3v?k(q).gf(o.3v):k(q);if(k.3a.4t){5e.1E(u(){q.bE="e4"})}P{5e.B(\'-gI-7R-8C\',\'1o\');5e.B(\'7R-8C\',\'1o\');5e.B(\'-gH-7R-8C\',\'1o\')}q.A={5e:5e,6N:o.6N?1b:I,46:o.46?1b:I,44:o.44?o.44:I,5i:o.5i?o.5i:I,8s:o.8s?o.8s:I,3I:o.3I?T(o.3I)||0:I,1G:o.1G?2m(o.1G):I,fx:T(o.fx)||S,6R:o.6R?o.6R:I,5t:{},1s:{},4o:o.4o&&o.4o.1K==2A?o.4o:I,3T:o.3T&&o.3T.1K==2A?o.3T:I,2Z:o.2Z&&o.2Z.1K==2A?o.2Z:I,1O:/49|4j/.48(o.1O)?o.1O:I,6M:o.6M?T(o.6M)||0:0,2V:o.2V?o.2V:I,bD:o.bD?1b:I,7O:o.7O||I};if(o.5t&&o.5t.1K==2A)q.A.5t.7R=o.5t;if(o.4m&&o.4m.1K==2A)q.A.4m=o.4m;if(o.2p&&((o.2p.1K==b0&&(o.2p==\'94\'||o.2p==\'1h\'))||(o.2p.1K==7F&&o.2p.1g==4))){q.A.2p=o.2p}if(o.2O){q.A.2O=o.2O}if(o.6a){if(2g o.6a==\'gz\'){q.A.gx=T(o.6a)||1;q.A.gy=T(o.6a)||1}P if(o.6a.1g==2){q.A.gx=T(o.6a[0])||1;q.A.gy=T(o.6a[1])||1}}if(o.3H&&o.3H.1K==2A){q.A.3H=o.3H}q.9I=1b;5e.1E(u(){q.3U=el});5e.1J(\'5v\',k.11.bN)})}};k.fn.23({aS:k.11.4U,7t:k.11.2r});k.1x={du:u(5J,5G,7Q,7S){E 5J<=k.11.F.A.2v&&(5J+7Q)>=(k.11.F.A.2v+k.11.F.A.1B.w)&&5G<=k.11.F.A.2q&&(5G+7S)>=(k.11.F.A.2q+k.11.F.A.1B.h)?1b:I},cV:u(5J,5G,7Q,7S){E!(5J>(k.11.F.A.2v+k.11.F.A.1B.w)||(5J+7Q)<k.11.F.A.2v||5G>(k.11.F.A.2q+k.11.F.A.1B.h)||(5G+7S)<k.11.F.A.2q)?1b:I},1s:u(5J,5G,7Q,7S){E 5J<k.11.F.A.4B.x&&(5J+7Q)>k.11.F.A.4B.x&&5G<k.11.F.A.4B.y&&(5G+7S)>k.11.F.A.4B.y?1b:I},5r:I,3Q:{},8D:0,3P:{},ed:u(C){if(k.11.F==S){E}D i;k.1x.3Q={};D bJ=I;24(i in k.1x.3P){if(k.1x.3P[i]!=S){D 1j=k.1x.3P[i].K(0);if(k(k.11.F).is(\'.\'+1j.1i.a)){if(1j.1i.m==I){1j.1i.p=k.23(k.1a.7G(1j),k.1a.74(1j));1j.1i.m=1b}if(1j.1i.ac){k.1x.3P[i].2R(1j.1i.ac)}k.1x.3Q[i]=k.1x.3P[i];if(k.1t&&1j.1i.s&&k.11.F.A.44){1j.1i.el=k(\'.\'+1j.1i.a,1j);C.14.19=\'1o\';k.1t.cT(1j);1j.1i.ay=k.1t.8x(k.1p(1j,\'id\')).7l;C.14.19=C.A.7V;bJ=1b}if(1j.1i.9i){1j.1i.9i.1D(k.1x.3P[i].K(0),[k.11.F])}}}}if(bJ){k.1t.26()}},dS:u(){k.1x.3Q={};24(i in k.1x.3P){if(k.1x.3P[i]!=S){D 1j=k.1x.3P[i].K(0);if(k(k.11.F).is(\'.\'+1j.1i.a)){1j.1i.p=k.23(k.1a.7G(1j),k.1a.74(1j));if(1j.1i.ac){k.1x.3P[i].2R(1j.1i.ac)}k.1x.3Q[i]=k.1x.3P[i];if(k.1t&&1j.1i.s&&k.11.F.A.44){1j.1i.el=k(\'.\'+1j.1i.a,1j);C.14.19=\'1o\';k.1t.cT(1j);C.14.19=C.A.7V}}}}},al:u(e){if(k.11.F==S){E}k.1x.5r=I;D i;D bK=I;D eQ=0;24(i in k.1x.3Q){D 1j=k.1x.3Q[i].K(0);if(k.1x.5r==I&&k.1x[1j.1i.t](1j.1i.p.x,1j.1i.p.y,1j.1i.p.1C,1j.1i.p.hb)){if(1j.1i.hc&&1j.1i.h==I){k.1x.3Q[i].2R(1j.1i.hc)}if(1j.1i.h==I&&1j.1i.7x){bK=1b}1j.1i.h=1b;k.1x.5r=1j;if(k.1t&&1j.1i.s&&k.11.F.A.44){k.1t.1c.K(0).3l=1j.1i.eV;k.1t.al(1j)}eQ++}P if(1j.1i.h==1b){if(1j.1i.7y){1j.1i.7y.1D(1j,[e,k.11.1c.K(0).7c,1j.1i.fx])}if(1j.1i.hc){k.1x.3Q[i].4i(1j.1i.hc)}1j.1i.h=I}}if(k.1t&&!k.1x.5r&&k.11.F.44){k.1t.1c.K(0).14.19=\'1o\'}if(bK){k.1x.5r.1i.7x.1D(k.1x.5r,[e,k.11.1c.K(0).7c])}},eO:u(e){D i;24(i in k.1x.3Q){D 1j=k.1x.3Q[i].K(0);if(1j.1i.ac){k.1x.3Q[i].4i(1j.1i.ac)}if(1j.1i.hc){k.1x.3Q[i].4i(1j.1i.hc)}if(1j.1i.s){k.1t.7s[k.1t.7s.1g]=i}if(1j.1i.9l&&1j.1i.h==1b){1j.1i.h=I;1j.1i.9l.1D(1j,[e,1j.1i.fx])}1j.1i.m=I;1j.1i.h=I}k.1x.3Q={}},4U:u(){E q.1E(u(){if(q.9j){if(q.1i.s){id=k.1p(q,\'id\');k.1t.5L[id]=S;k(\'.\'+q.1i.a,q).aS()}k.1x.3P[\'d\'+q.c2]=S;q.9j=I;q.f=S}})},2r:u(o){E q.1E(u(){if(q.9j==1b||!o.3C||!k.1a||!k.11){E}q.1i={a:o.3C,ac:o.9J||I,hc:o.a5||I,eV:o.58||I,9l:o.gq||o.9l||I,7x:o.7x||o.dC||I,7y:o.7y||o.fO||I,9i:o.9i||I,t:o.6I&&(o.6I==\'du\'||o.6I==\'cV\')?o.6I:\'1s\',fx:o.fx?o.fx:I,m:I,h:I};if(o.cQ==1b&&k.1t){id=k.1p(q,\'id\');k.1t.5L[id]=q.1i.a;q.1i.s=1b;if(o.2Z){q.1i.2Z=o.2Z;q.1i.ay=k.1t.8x(id).7l}}q.9j=1b;q.c2=T(18.6o()*c9);k.1x.3P[\'d\'+q.c2]=k(q);k.1x.8D++})}};k.fn.23({dR:k.1x.4U,do:k.1x.2r});k.gD=k.1x.dS;k.3B={1c:S,8L:u(){3g=q.2y;if(!3g)E;14={dz:k(q).B(\'dz\')||\'\',4A:k(q).B(\'4A\')||\'\',8Z:k(q).B(\'8Z\')||\'\',dP:k(q).B(\'dP\')||\'\',dT:k(q).B(\'dT\')||\'\',dU:k(q).B(\'dU\')||\'\',c3:k(q).B(\'c3\')||\'\',dY:k(q).B(\'dY\')||\'\'};k.3B.1c.B(14);3x=k.3B.dX(3g);3x=3x.4E(12 bb("\\\\n","g"),"<br />");k.3B.1c.3x(\'gL\');ci=k.3B.1c.K(0).4c;k.3B.1c.3x(3x);Z=k.3B.1c.K(0).4c+ci;if(q.6l.2M&&Z>q.6l.2M[0]){Z=q.6l.2M[0]}q.14.Z=Z+\'U\';if(q.4Y==\'cf\'){W=k.3B.1c.K(0).5W+ci;if(q.6l.2M&&W>q.6l.2M[1]){W=q.6l.2M[1]}q.14.W=W+\'U\'}},dX:u(3g){cg={\'&\':\'&gK;\',\'<\':\'&gJ;\',\'>\':\'>\',\'"\':\'&gs;\'};24(i in cg){3g=3g.4E(12 bb(i,\'g\'),cg[i])}E 3g},2r:u(2M){if(k.3B.1c==S){k(\'2e\',1h).1S(\'<22 id="dE" 14="Y: 1P; Q: 0; O: 0; 3n: 2K;"></22>\');k.3B.1c=k(\'#dE\')}E q.1E(u(){if(/cf|ch/.48(q.4Y)){if(q.4Y==\'ch\'){dB=q.5C(\'1u\');if(!/3g|gr/.48(dB)){E}}if(2M&&(2M.1K==bn||(2M.1K==7F&&2M.1g==2))){if(2M.1K==bn)2M=[2M,2M];P{2M[0]=T(2M[0])||8J;2M[1]=T(2M[1])||8J}q.6l={2M:2M}}k(q).5B(k.3B.8L).6y(k.3B.8L).dH(k.3B.8L);k.3B.8L.1D(q)}})}};k.fn.kc=k.3B.2r;k.4K=u(e){if(/^kd$|^ke$|^ka$|^6L$|^k9$|^k5$|^k4$|^k6$|^k7$|^2e$|^k8$|^kf$|^kg$|^kn$|^ko$|^kp$|^kq$/i.48(e.9N))E I;P E 1b};k.fx.a0=u(e,65){D c=e.7c;D cs=c.14;cs.Y=65.Y;cs.5K=65.3G.t;cs.5j=65.3G.l;cs.5k=65.3G.b;cs.5z=65.3G.r;cs.Q=65.Q+\'U\';cs.O=65.O+\'U\';e.31.ew(c,e);e.31.km(e)};k.fx.9P=u(e){if(!k.4K(e))E I;D t=k(e);D es=e.14;D 73=I;if(t.B(\'19\')==\'1o\'){5Y=t.B(\'3n\');t.B(\'3n\',\'2K\').1Y();73=1b}D V={};V.Y=t.B(\'Y\');V.1q=k.1a.2o(e);V.3G=k.1a.cy(e);D co=e.4Z?e.4Z.ei:t.B(\'hU\');V.Q=T(t.B(\'Q\'))||0;V.O=T(t.B(\'O\'))||0;D eo=\'kl\'+T(18.6o()*c9);D 6u=1h.3F(/^1T$|^br$|^kh$|^hr$|^8C$|^kj$|^8T$|^3A$|^kk$|^k3$|^k2$|^9h$|^dl$|^jM$/i.48(e.9N)?\'22\':e.9N);k.1p(6u,\'id\',eo);D jN=k(6u).2R(\'jO\');D 4h=6u.14;D Q=0;D O=0;if(V.Y==\'2s\'||V.Y==\'1P\'){Q=V.Q;O=V.O}4h.Q=Q+\'U\';4h.O=O+\'U\';4h.Y=V.Y!=\'2s\'&&V.Y!=\'1P\'?\'2s\':V.Y;4h.W=V.1q.hb+\'U\';4h.Z=V.1q.1C+\'U\';4h.5K=V.3G.t;4h.5z=V.3G.r;4h.5k=V.3G.b;4h.5j=V.3G.l;4h.2U=\'2K\';if(k.3a.4t){4h.ei=co}P{4h.jK=co}if(k.3a=="4t"){es.5E="8V(1G="+0.ex*2a+")"}es.1G=0.ex;e.31.ew(6u,e);6u.jF(e);es.5K=\'2P\';es.5z=\'2P\';es.5k=\'2P\';es.5j=\'2P\';es.Y=\'1P\';es.eu=\'1o\';es.Q=\'2P\';es.O=\'2P\';if(73){t.2G();es.3n=5Y}E{V:V,3p:k(6u)}};k.fx.8E={jE:[0,1V,1V],jG:[eD,1V,1V],jH:[e6,e6,jI],jP:[0,0,0],ks:[0,0,1V],jY:[dv,42,42],jZ:[0,1V,1V],k0:[0,0,7w],k1:[0,7w,7w],jX:[cn,cn,cn],jS:[0,2a,0],jR:[jT,jU,eb],jV:[7w,0,7w],kr:[85,eb,47],kP:[1V,eA,0],kN:[kO,50,kx],kF:[7w,0,0],kD:[ku,f8,kt],ky:[kH,0,9C],kL:[1V,0,1V],kM:[1V,kJ,0],kv:[0,6C,0],kA:[75,0,kE],kC:[eD,eB,eA],kG:[kI,kB,eB],kw:[e0,1V,1V],kz:[eL,kK,eL],kQ:[9C,9C,9C],jC:[1V,iy,iz],iA:[1V,1V,e0],iB:[0,1V,0],ix:[1V,0,1V],iv:[6C,0,0],iq:[0,0,6C],ip:[6C,6C,0],ir:[1V,dv,0],it:[1V,ah,iu],iC:[6C,0,6C],iD:[1V,0,0],iK:[ah,ah,ah],iL:[1V,1V,1V],iM:[1V,1V,0]};k.fx.6D=u(4x,dm){if(k.fx.8E[4x])E{r:k.fx.8E[4x][0],g:k.fx.8E[4x][1],b:k.fx.8E[4x][2]};P if(2W=/^6Y\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.a4(4x))E{r:T(2W[1]),g:T(2W[2]),b:T(2W[3])};P if(2W=/6Y\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.a4(4x))E{r:2m(2W[1])*2.55,g:2m(2W[2])*2.55,b:2m(2W[3])*2.55};P if(2W=/^#([a-fA-79-9])([a-fA-79-9])([a-fA-79-9])$/.a4(4x))E{r:T("77"+2W[1]+2W[1]),g:T("77"+2W[2]+2W[2]),b:T("77"+2W[3]+2W[3])};P if(2W=/^#([a-fA-79-9]{2})([a-fA-79-9]{2})([a-fA-79-9]{2})$/.a4(4x))E{r:T("77"+2W[1]),g:T("77"+2W[2]),b:T("77"+2W[3])};P E dm==1b?I:{r:1V,g:1V,b:1V}};k.fx.dD={5Q:1,5b:1,5O:1,4S:1,4D:1,4A:1,W:1,O:1,c3:1,iI:1,5k:1,5j:1,5z:1,5K:1,8b:1,6x:1,8c:1,av:1,1G:1,iE:1,iF:1,5n:1,4X:1,5U:1,5M:1,2L:1,jD:1,Q:1,Z:1,3I:1};k.fx.dA={7i:1,iG:1,iH:1,io:1,im:1,4x:1,i2:1};k.fx.8A=[\'i3\',\'i4\',\'i5\',\'i1\'];k.fx.cc={\'cd\':[\'2E\',\'dK\'],\'a8\':[\'2E\',\'bh\'],\'6w\':[\'6w\',\'\'],\'8F\':[\'8F\',\'\']};k.fn.23({5w:u(5X,H,G,J){E q.1w(u(){D a1=k.H(H,G,J);D e=12 k.dM(q,a1,5X)})},c4:u(H,J){E q.1w(u(){D a1=k.H(H,J);D e=12 k.c4(q,a1)})},8o:u(2D){E q.1E(u(){if(q.6d)k.by(q,2D)})},i0:u(2D){E q.1E(u(){if(q.6d)k.by(q,2D);if(q.1w&&q.1w[\'fx\'])q.1w.fx=[]})}});k.23({c4:u(2f,M){D z=q,3t;z.2D=u(){if(k.fQ(M.21))M.21.1D(2f)};z.2I=6V(u(){z.2D()},M.1m);2f.6d=z},G:{c8:u(p,n,1W,1H,1m){E((-18.5H(p*18.2Q)/2)+0.5)*1H+1W}},dM:u(2f,M,5X){D z=q,3t;D y=2f.14;D fR=k.B(2f,"2U");D 72=k.B(2f,"19");D 2j={};z.9O=(12 7g()).7z();M.G=M.G&&k.G[M.G]?M.G:\'c8\';z.ag=u(2w,43){if(k.fx.dD[2w]){if(43==\'1Y\'||43==\'2G\'||43==\'3R\'){if(!2f.6v)2f.6v={};D r=2m(k.6E(2f,2w));2f.6v[2w]=r&&r>-c9?r:(2m(k.B(2f,2w))||0);43=43==\'3R\'?(72==\'1o\'?\'1Y\':\'2G\'):43;M[43]=1b;2j[2w]=43==\'1Y\'?[0,2f.6v[2w]]:[2f.6v[2w],0];if(2w!=\'1G\')y[2w]=2j[2w][0]+(2w!=\'3I\'&&2w!=\'8Z\'?\'U\':\'\');P k.1p(y,"1G",2j[2w][0])}P{2j[2w]=[2m(k.6E(2f,2w)),2m(43)||0]}}P if(k.fx.dA[2w])2j[2w]=[k.fx.6D(k.6E(2f,2w)),k.fx.6D(43)];P if(/^6w$|8F$|2E$|a8$|cd$/i.48(2w)){D m=43.4E(/\\s+/g,\' \').4E(/6Y\\s*\\(\\s*/g,\'6Y(\').4E(/\\s*,\\s*/g,\',\').4E(/\\s*\\)/g,\')\').d5(/([^\\s]+)/g);3m(2w){1e\'6w\':1e\'8F\':1e\'cd\':1e\'a8\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];24(D i=0;i<k.fx.8A.1g;i++){D 64=k.fx.cc[2w][0]+k.fx.8A[i]+k.fx.cc[2w][1];2j[64]=2w==\'a8\'?[k.fx.6D(k.6E(2f,64)),k.fx.6D(m[i])]:[2m(k.6E(2f,64)),2m(m[i])]}1r;1e\'2E\':24(D i=0;i<m.1g;i++){D bd=2m(m[i]);D a9=!hX(bd)?\'dK\':(!/cu|1o|2K|hY|hZ|i6|i7|ii|ij|ik|il/i.48(m[i])?\'bh\':I);if(a9){24(D j=0;j<k.fx.8A.1g;j++){64=\'2E\'+k.fx.8A[j]+a9;2j[64]=a9==\'bh\'?[k.fx.6D(k.6E(2f,64)),k.fx.6D(m[i])]:[2m(k.6E(2f,64)),bd]}}P{y[\'ie\']=m[i]}}1r}}P{y[2w]=43}E I};24(p in 5X){if(p==\'14\'){D 5f=k.bl(5X[p]);24(7A in 5f){q.ag(7A,5f[7A])}}P if(p==\'3l\'){if(1h.af)24(D i=0;i<1h.af.1g;i++){D 7e=1h.af[i].7e||1h.af[i].i9||S;if(7e){24(D j=0;j<7e.1g;j++){if(7e[j].i8==\'.\'+5X[p]){D 6X=12 bb(\'\\.\'+5X[p]+\' {\');D 5Z=7e[j].14.9X;D 5f=k.bl(5Z.4E(6X,\'\').4E(/}/g,\'\'));24(7A in 5f){q.ag(7A,5f[7A])}}}}}}P{q.ag(p,5X[p])}}y.19=72==\'1o\'?\'2B\':72;y.2U=\'2K\';z.2D=u(){D t=(12 7g()).7z();if(t>M.1m+z.9O){5T(z.2I);z.2I=S;24(p in 2j){if(p=="1G")k.1p(y,"1G",2j[p][1]);P if(2g 2j[p][1]==\'8T\')y[p]=\'6Y(\'+2j[p][1].r+\',\'+2j[p][1].g+\',\'+2j[p][1].b+\')\';P y[p]=2j[p][1]+(p!=\'3I\'&&p!=\'8Z\'?\'U\':\'\')}if(M.2G||M.1Y)24(D p in 2f.6v)if(p=="1G")k.1p(y,p,2f.6v[p]);P y[p]="";y.19=M.2G?\'1o\':(72!=\'1o\'?72:\'2B\');y.2U=fR;2f.6d=S;if(k.fQ(M.21))M.21.1D(2f)}P{D n=t-q.9O;D 8w=n/M.1m;24(p in 2j){if(2g 2j[p][1]==\'8T\'){y[p]=\'6Y(\'+T(k.G[M.G](8w,n,2j[p][0].r,(2j[p][1].r-2j[p][0].r),M.1m))+\',\'+T(k.G[M.G](8w,n,2j[p][0].g,(2j[p][1].g-2j[p][0].g),M.1m))+\',\'+T(k.G[M.G](8w,n,2j[p][0].b,(2j[p][1].b-2j[p][0].b),M.1m))+\')\'}P{D bz=k.G[M.G](8w,n,2j[p][0],(2j[p][1]-2j[p][0]),M.1m);if(p=="1G")k.1p(y,"1G",bz);P y[p]=bz+(p!=\'3I\'&&p!=\'8Z\'?\'U\':\'\')}}}};z.2I=6V(u(){z.2D()},13);2f.6d=z},by:u(2f,2D){if(2D)2f.6d.9O-=iO;P{1X.5T(2f.6d.2I);2f.6d=S;k.2H(2f,"fx")}}});k.bl=u(5Z){D 5f={};if(2g 5Z==\'4V\'){5Z=5Z.6c().7C(\';\');24(D i=0;i<5Z.1g;i++){6X=5Z[i].7C(\':\');if(6X.1g==2){5f[k.g6(6X[0].4E(/\\-(\\w)/g,u(m,c){E c.jo()}))]=k.g6(6X[1])}}}E 5f};k.fn.23({g3:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'4F\',G)})},gb:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'4r\',G)})},jl:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'fJ\',G)})},jk:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'O\',G)})},jg:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'2L\',G)})},jf:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'fh\',G)})}});k.fx.61=u(e,H,J,2S,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.1N=k.1a.2o(e);z.G=2g J==\'4V\'?J:G||S;if(!e.4s)e.4s=z.el.B(\'19\');if(2S==\'fJ\'){2S=z.el.B(\'19\')==\'1o\'?\'4r\':\'4F\'}P if(2S==\'fh\'){2S=z.el.B(\'19\')==\'1o\'?\'2L\':\'O\'}z.el.1Y();z.H=H;z.J=2g J==\'u\'?J:S;z.fx=k.fx.9P(e);z.2S=2S;z.21=u(){if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}if(z.2S==\'4r\'||z.2S==\'2L\'){z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s)}P{z.el.2G()}k.fx.a0(z.fx.3p.K(0),z.fx.V);k.2H(z.el.K(0),\'1n\')};3m(z.2S){1e\'4F\':63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');63.1L(z.fx.V.1q.hb,0);1r;1e\'4r\':z.fx.3p.B(\'W\',\'9R\');z.el.1Y();63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');63.1L(0,z.fx.V.1q.hb);1r;1e\'O\':63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');63.1L(z.fx.V.1q.1C,0);1r;1e\'2L\':z.fx.3p.B(\'Z\',\'9R\');z.el.1Y();63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');63.1L(0,z.fx.V.1q.1C);1r}};k.fn.ji=u(5D,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D e=12 k.fx.f4(q,5D,J);e.bp()})};k.fx.f4=u(e,5D,J){D z=q;z.el=k(e);z.el.1Y();z.J=J;z.5D=T(5D)||40;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=T(z.el.B(\'Q\'))||0;z.V.O=T(z.el.B(\'O\'))||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.3V=5;z.5y=1;z.bp=u(){z.5y++;z.e=12 k.fx(z.el.K(0),{1m:jj,21:u(){z.e=12 k.fx(z.el.K(0),{1m:80,21:u(){z.5D=T(z.5D/2);if(z.5y<=z.3V)z.bp();P{z.el.B(\'Y\',z.V.Y).B(\'Q\',z.V.Q+\'U\').B(\'O\',z.V.O+\'U\');k.2H(z.el.K(0),\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}}}},\'Q\');z.e.1L(z.V.Q-z.5D,z.V.Q)}},\'Q\');z.e.1L(z.V.Q,z.V.Q-z.5D)}};k.fn.23({jy:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'4l\',G)})},jz:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'in\',G)})},jA:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'3R\',G)})},jB:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'4l\',G)})},jx:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'in\',G)})},jw:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'3R\',G)})},js:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'4l\',G)})},jt:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'in\',G)})},ju:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'3R\',G)})},jv:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'4l\',G)})},je:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'in\',G)})},jd:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'3R\',G)})}});k.fx.4f=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=z.el.B(\'Q\');z.V.O=z.el.B(\'O\');if(!e.4s)e.4s=z.el.B(\'19\');if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'in\':\'4l\'}z.el.1Y();if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.1u=1u;J=2g J==\'u\'?J:S;8H=1;3m(2S){1e\'4F\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Q\');z.62=2m(z.V.Q)||0;z.9K=z.fG;8H=-1;1r;1e\'4r\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Q\');z.62=2m(z.V.Q)||0;z.9K=z.fG;1r;1e\'2L\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'O\');z.62=2m(z.V.O)||0;z.9K=z.fy;1r;1e\'O\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'O\');z.62=2m(z.V.O)||0;z.9K=z.fy;8H=-1;1r}z.e2=12 k.fx(z.el.K(0),k.H(H,z.G,u(){z.el.B(z.V);if(z.1u==\'4l\'){z.el.B(\'19\',\'1o\')}P z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s);k.2H(z.el.K(0),\'1n\')}),\'1G\');if(1u==\'in\'){z.e.1L(z.62+2a*8H,z.62);z.e2.1L(0,1)}P{z.e.1L(z.62,z.62+2a*8H);z.e2.1L(1,0)}};k.fn.23({j0:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'fp\',G)})},iW:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'9M\',G)})},iV:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'3R\',G)})}});k.fx.9L=u(e,H,W,J,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'9M\':\'fp\'}z.H=H;z.W=W&&W.1K==bn?W:20;z.fx=k.fx.9P(e);z.1u=1u;z.21=u(){if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}if(z.1u==\'9M\'){z.el.1Y()}P{z.el.2G()}k.fx.a0(z.fx.3p.K(0),z.fx.V);k.2H(z.el.K(0),\'1n\')};if(z.1u==\'9M\'){z.el.1Y();z.fx.3p.B(\'W\',z.W+\'U\').B(\'Z\',\'9R\');z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,u(){z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');z.ef.1L(z.W,z.fx.V.1q.hb)}),\'Z\');z.ef.1L(0,z.fx.V.1q.1C)}P{z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,u(){z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');z.ef.1L(z.fx.V.1q.1C,0)}),\'W\');z.ef.1L(z.fx.V.1q.hb,z.W)}};k.fn.iR=u(H,4x,J,G){E q.1w(\'fv\',u(){q.6W=k(q).1p("14")||\'\';G=2g J==\'4V\'?J:G||S;J=2g J==\'u\'?J:S;D 9S=k(q).B(\'7i\');D 8I=q.31;7d(9S==\'cu\'&&8I){9S=k(8I).B(\'7i\');8I=8I.31}k(q).B(\'7i\',4x);if(2g q.6W==\'8T\')q.6W=q.6W["9X"];k(q).5w({\'7i\':9S},H,G,u(){k.2H(q,\'fv\');if(2g k(q).1p("14")==\'8T\'){k(q).1p("14")["9X"]="";k(q).1p("14")["9X"]=q.6W}P{k(q).1p("14",q.6W)}if(J)J.1D(q)})})};k.fn.23({iT:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'49\',\'6g\',G)})},iU:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'4j\',\'6g\',G)})},j1:u(H,J,G){E q.1w(\'1n\',u(){if(k.B(q,\'19\')==\'1o\'){12 k.fx.5m(q,H,J,\'4j\',\'6Z\',G)}P{12 k.fx.5m(q,H,J,\'4j\',\'6g\',G)}})},j2:u(H,J,G){E q.1w(\'1n\',u(){if(k.B(q,\'19\')==\'1o\'){12 k.fx.5m(q,H,J,\'49\',\'6Z\',G)}P{12 k.fx.5m(q,H,J,\'49\',\'6g\',G)}})},j9:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'49\',\'6Z\',G)})},ja:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'4j\',\'6Z\',G)})}});k.fx.5m=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;D 73=I;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;z.1u=1u;z.H=H;z.2i=k.1a.2o(e);z.V={};z.V.Y=z.el.B(\'Y\');z.V.19=z.el.B(\'19\');if(z.V.19==\'1o\'){5Y=z.el.B(\'3n\');z.el.1Y();73=1b}z.V.Q=z.el.B(\'Q\');z.V.O=z.el.B(\'O\');if(73){z.el.2G();z.el.B(\'3n\',5Y)}z.V.Z=z.2i.w+\'U\';z.V.W=z.2i.h+\'U\';z.V.2U=z.el.B(\'2U\');z.2i.Q=T(z.V.Q)||0;z.2i.O=T(z.V.O)||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.el.B(\'2U\',\'2K\').B(\'W\',1u==\'6Z\'&&2S==\'49\'?1:z.2i.h+\'U\').B(\'Z\',1u==\'6Z\'&&2S==\'4j\'?1:z.2i.w+\'U\');z.21=u(){z.el.B(z.V);if(z.1u==\'6g\')z.el.2G();P z.el.1Y();k.2H(z.el.K(0),\'1n\')};3m(2S){1e\'49\':z.eh=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'W\');z.et=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');if(z.1u==\'6g\'){z.eh.1L(z.2i.h,0);z.et.1L(z.2i.Q,z.2i.Q+z.2i.h/2)}P{z.eh.1L(0,z.2i.h);z.et.1L(z.2i.Q+z.2i.h/2,z.2i.Q)}1r;1e\'4j\':z.eh=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Z\');z.et=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');if(z.1u==\'6g\'){z.eh.1L(z.2i.w,0);z.et.1L(z.2i.O,z.2i.O+z.2i.w/2)}P{z.eh.1L(0,z.2i.w);z.et.1L(z.2i.O+z.2i.w/2,z.2i.O)}1r}};k.fn.bg=u(H,3V,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D fx=12 k.fx.bg(q,H,3V,J);fx.bf()})};k.fx.bg=u(el,H,3V,J){D z=q;z.3V=3V;z.5y=1;z.el=el;z.H=H;z.J=J;k(z.el).1Y();z.bf=u(){z.5y++;z.e=12 k.fx(z.el,k.H(z.H,u(){z.ef=12 k.fx(z.el,k.H(z.H,u(){if(z.5y<=z.3V)z.bf();P{k.2H(z.el,\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el)}}}),\'1G\');z.ef.1L(0,1)}),\'1G\');z.e.1L(1,0)}};k.fn.23({jb:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,1,2a,1b,J,\'fa\',G)})},jc:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,2a,1,1b,J,\'b4\',G)})},j8:u(H,J,G){E q.1w(\'1n\',u(){D G=G||\'fl\';12 k.fx.6G(q,H,2a,f8,1b,J,\'6h\',G)})},6G:u(H,57,30,6H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,57,30,6H,J,\'6G\',G)})}});k.fx.6G=u(e,H,57,30,6H,J,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.57=T(57)||2a;z.30=T(30)||2a;z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;z.1m=k.H(H).1m;z.6H=6H||S;z.2i=k.1a.2o(e);z.V={Z:z.el.B(\'Z\'),W:z.el.B(\'W\'),4A:z.el.B(\'4A\')||\'2a%\',Y:z.el.B(\'Y\'),19:z.el.B(\'19\'),Q:z.el.B(\'Q\'),O:z.el.B(\'O\'),2U:z.el.B(\'2U\'),4S:z.el.B(\'4S\'),5O:z.el.B(\'5O\'),5Q:z.el.B(\'5Q\'),5b:z.el.B(\'5b\'),5M:z.el.B(\'5M\'),5U:z.el.B(\'5U\'),5n:z.el.B(\'5n\'),4X:z.el.B(\'4X\')};z.Z=T(z.V.Z)||e.4c||0;z.W=T(z.V.W)||e.5W||0;z.Q=T(z.V.Q)||0;z.O=T(z.V.O)||0;1q=[\'em\',\'U\',\'j7\',\'%\'];24(i in 1q){if(z.V.4A.3J(1q[i])>0){z.fg=1q[i];z.4A=2m(z.V.4A)}if(z.V.4S.3J(1q[i])>0){z.fc=1q[i];z.bw=2m(z.V.4S)||0}if(z.V.5O.3J(1q[i])>0){z.fe=1q[i];z.bc=2m(z.V.5O)||0}if(z.V.5Q.3J(1q[i])>0){z.fL=1q[i];z.bA=2m(z.V.5Q)||0}if(z.V.5b.3J(1q[i])>0){z.g8=1q[i];z.bt=2m(z.V.5b)||0}if(z.V.5M.3J(1q[i])>0){z.g4=1q[i];z.bx=2m(z.V.5M)||0}if(z.V.5U.3J(1q[i])>0){z.g9=1q[i];z.bv=2m(z.V.5U)||0}if(z.V.5n.3J(1q[i])>0){z.gc=1q[i];z.bj=2m(z.V.5n)||0}if(z.V.4X.3J(1q[i])>0){z.fK=1q[i];z.b7=2m(z.V.4X)||0}}if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.el.B(\'2U\',\'2K\');z.1u=1u;3m(z.1u){1e\'fa\':z.4b=z.Q+z.2i.h/2;z.5a=z.Q;z.4k=z.O+z.2i.w/2;z.59=z.O;1r;1e\'b4\':z.5a=z.Q+z.2i.h/2;z.4b=z.Q;z.59=z.O+z.2i.w/2;z.4k=z.O;1r;1e\'6h\':z.5a=z.Q-z.2i.h/4;z.4b=z.Q;z.59=z.O-z.2i.w/4;z.4k=z.O;1r}z.be=I;z.t=(12 7g).7z();z.4w=u(){5T(z.2I);z.2I=S};z.2D=u(){if(z.be==I){z.el.1Y();z.be=1b}D t=(12 7g).7z();D n=t-z.t;D p=n/z.1m;if(t>=z.1m+z.t){9T(u(){o=1;if(z.1u){t=z.5a;l=z.59;if(z.1u==\'6h\')o=0}z.bs(z.30,l,t,1b,o)},13);z.4w()}P{o=1;if(!k.G||!k.G[z.G]){s=((-18.5H(p*18.2Q)/2)+0.5)*(z.30-z.57)+z.57}P{s=k.G[z.G](p,n,z.57,(z.30-z.57),z.1m)}if(z.1u){if(!k.G||!k.G[z.G]){t=((-18.5H(p*18.2Q)/2)+0.5)*(z.5a-z.4b)+z.4b;l=((-18.5H(p*18.2Q)/2)+0.5)*(z.59-z.4k)+z.4k;if(z.1u==\'6h\')o=((-18.5H(p*18.2Q)/2)+0.5)*(-0.9Y)+0.9Y}P{t=k.G[z.G](p,n,z.4b,(z.5a-z.4b),z.1m);l=k.G[z.G](p,n,z.4k,(z.59-z.4k),z.1m);if(z.1u==\'6h\')o=k.G[z.G](p,n,0.9Y,-0.9Y,z.1m)}}z.bs(s,l,t,I,o)}};z.2I=6V(u(){z.2D()},13);z.bs=u(4q,O,Q,fM,1G){z.el.B(\'W\',z.W*4q/2a+\'U\').B(\'Z\',z.Z*4q/2a+\'U\').B(\'O\',O+\'U\').B(\'Q\',Q+\'U\').B(\'4A\',z.4A*4q/2a+z.fg);if(z.bw)z.el.B(\'4S\',z.bw*4q/2a+z.fc);if(z.bc)z.el.B(\'5O\',z.bc*4q/2a+z.fe);if(z.bA)z.el.B(\'5Q\',z.bA*4q/2a+z.fL);if(z.bt)z.el.B(\'5b\',z.bt*4q/2a+z.g8);if(z.bx)z.el.B(\'5M\',z.bx*4q/2a+z.g4);if(z.bv)z.el.B(\'5U\',z.bv*4q/2a+z.g9);if(z.bj)z.el.B(\'5n\',z.bj*4q/2a+z.gc);if(z.b7)z.el.B(\'4X\',z.b7*4q/2a+z.fK);if(z.1u==\'6h\'){if(1X.71)z.el.K(0).14.5E="8V(1G="+1G*2a+")";z.el.K(0).14.1G=1G}if(fM){if(z.6H){z.el.B(z.V)}if(z.1u==\'b4\'||z.1u==\'6h\'){z.el.B(\'19\',\'1o\');if(z.1u==\'6h\'){if(1X.71)z.el.K(0).14.5E="8V(1G="+2a+")";z.el.K(0).14.1G=1}}P z.el.B(\'19\',\'2B\');if(z.J)z.J.1D(z.el.K(0));k.2H(z.el.K(0),\'1n\')}}};k.fn.23({9U:u(H,1O,G){o=k.H(H);E q.1w(\'1n\',u(){12 k.fx.9U(q,o,1O,G)})},j6:u(H,1O,G){E q.1E(u(){k(\'a[@3h*="#"]\',q).5h(u(e){fW=q.3h.7C(\'#\');k(\'#\'+fW[1]).9U(H,1O,G);E I})})}});k.fx.9U=u(e,o,1O,G){D z=q;z.o=o;z.e=e;z.1O=/fT|gd/.48(1O)?1O:I;z.G=G;p=k.1a.3w(e);s=k.1a.6z();z.4w=u(){5T(z.2I);z.2I=S;k.2H(z.e,\'1n\')};z.t=(12 7g).7z();s.h=s.h>s.ih?(s.h-s.ih):s.h;s.w=s.w>s.iw?(s.w-s.iw):s.w;z.5a=p.y>s.h?s.h:p.y;z.59=p.x>s.w?s.w:p.x;z.4b=s.t;z.4k=s.l;z.2D=u(){D t=(12 7g).7z();D n=t-z.t;D p=n/z.o.1m;if(t>=z.o.1m+z.t){z.4w();9T(u(){z.d3(z.5a,z.59)},13)}P{if(!z.1O||z.1O==\'fT\'){if(!k.G||!k.G[z.G]){9V=((-18.5H(p*18.2Q)/2)+0.5)*(z.5a-z.4b)+z.4b}P{9V=k.G[z.G](p,n,z.4b,(z.5a-z.4b),z.o.1m)}}P{9V=z.4b}if(!z.1O||z.1O==\'gd\'){if(!k.G||!k.G[z.G]){9W=((-18.5H(p*18.2Q)/2)+0.5)*(z.59-z.4k)+z.4k}P{9W=k.G[z.G](p,n,z.4k,(z.59-z.4k),z.o.1m)}}P{9W=z.4k}z.d3(9V,9W)}};z.d3=u(t,l){1X.j4(l,t)};z.2I=6V(u(){z.2D()},13)};k.fn.cY=u(3V,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D e=12 k.fx.cY(q,3V,J);e.cG()})};k.fx.cY=u(e,3V,J){D z=q;z.el=k(e);z.el.1Y();z.3V=T(3V)||3;z.J=J;z.5y=1;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=T(z.el.B(\'Q\'))||0;z.V.O=T(z.el.B(\'O\'))||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.cG=u(){z.5y++;z.e=12 k.fx(z.el.K(0),{1m:60,21:u(){z.e=12 k.fx(z.el.K(0),{1m:60,21:u(){z.e=12 k.fx(e,{1m:60,21:u(){if(z.5y<=z.3V)z.cG();P{z.el.B(\'Y\',z.V.Y).B(\'Q\',z.V.Q+\'U\').B(\'O\',z.V.O+\'U\');k.2H(z.el.K(0),\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}}}},\'O\');z.e.1L(z.V.O-20,z.V.O)}},\'O\');z.e.1L(z.V.O+20,z.V.O-20)}},\'O\');z.e.1L(z.V.O,z.V.O+20)}};k.fn.23({fo:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'in\',G)})},fq:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'4l\',G)})},iY:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'3R\',G)})},iX:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'in\',G)})},jr:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'4l\',G)})},jq:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'3R\',G)})},jp:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'in\',G)})},jn:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'4l\',G)})},jm:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'3R\',G)})},iP:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'in\',G)})},ic:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'4l\',G)})},ib:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'3R\',G)})}});k.fx.1z=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'in\':\'4l\'}if(!e.4s)e.4s=z.el.B(\'19\');z.el.1Y();z.H=H;z.fx=k.fx.9P(e);z.1u=1u;z.2S=2S;z.21=u(){if(z.1u==\'4l\')z.el.B(\'3n\',\'2K\');k.fx.a0(z.fx.3p.K(0),z.fx.V);if(z.1u==\'in\'){z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s)}P{z.el.B(\'19\',\'1o\');z.el.B(\'3n\',\'dd\')}if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}k.2H(z.el.K(0),\'1n\')};3m(z.2S){1e\'4F\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');z.7v=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G),\'W\');if(z.1u==\'in\'){z.ef.1L(-z.fx.V.1q.hb,0);z.7v.1L(0,z.fx.V.1q.hb)}P{z.ef.1L(0,-z.fx.V.1q.hb);z.7v.1L(z.fx.V.1q.hb,0)}1r;1e\'4r\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');if(z.1u==\'in\'){z.ef.1L(z.fx.V.1q.hb,0)}P{z.ef.1L(0,z.fx.V.1q.hb)}1r;1e\'O\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');z.7v=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G),\'Z\');if(z.1u==\'in\'){z.ef.1L(-z.fx.V.1q.1C,0);z.7v.1L(0,z.fx.V.1q.1C)}P{z.ef.1L(0,-z.fx.V.1q.1C);z.7v.1L(z.fx.V.1q.1C,0)}1r;1e\'2L\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');if(z.1u==\'in\'){z.ef.1L(z.fx.V.1q.1C,0)}P{z.ef.1L(0,z.fx.V.1q.1C)}1r}};k.3f=S;k.fn.ig=u(o){E q.1w(\'1n\',u(){12 k.fx.dG(q,o)})};k.fx.dG=u(e,o){if(k.3f==S){k(\'2e\',1h).1S(\'<22 id="3f"></22>\');k.3f=k(\'#3f\')}k.3f.B(\'19\',\'2B\').B(\'Y\',\'1P\');D z=q;z.el=k(e);if(!o||!o.30){E}if(o.30.1K==b0&&1h.9e(o.30)){o.30=1h.9e(o.30)}P if(!o.30.dq){E}if(!o.1m){o.1m=g5}z.1m=o.1m;z.30=o.30;z.8r=o.3l;z.21=o.21;if(z.8r){k.3f.2R(z.8r)}z.a3=0;z.a2=0;if(k.dF){z.a3=(T(k.3f.B(\'5b\'))||0)+(T(k.3f.B(\'5O\'))||0)+(T(k.3f.B(\'4X\'))||0)+(T(k.3f.B(\'5U\'))||0);z.a2=(T(k.3f.B(\'4S\'))||0)+(T(k.3f.B(\'5Q\'))||0)+(T(k.3f.B(\'5M\'))||0)+(T(k.3f.B(\'5n\'))||0)}z.26=k.23(k.1a.3w(z.el.K(0)),k.1a.2o(z.el.K(0)));z.2T=k.23(k.1a.3w(z.30),k.1a.2o(z.30));z.26.1C-=z.a3;z.26.hb-=z.a2;z.2T.1C-=z.a3;z.2T.hb-=z.a2;z.J=o.21;k.3f.B(\'Z\',z.26.1C+\'U\').B(\'W\',z.26.hb+\'U\').B(\'Q\',z.26.y+\'U\').B(\'O\',z.26.x+\'U\').5w({Q:z.2T.y,O:z.2T.x,Z:z.2T.1C,W:z.2T.hb},z.1m,u(){if(z.8r)k.3f.4i(z.8r);k.3f.B(\'19\',\'1o\');if(z.21&&z.21.1K==2A){z.21.1D(z.el.K(0),[z.30])}k.2H(z.el.K(0),\'1n\')})};k.1v={M:{2E:10,ec:\'1Q/iJ.eZ\',e3:\'<1T 2J="1Q/6g.da" />\',eW:0.8,d8:\'iN a6\',dc:\'57\',3W:8J},jQ:I,jW:I,6j:S,8m:I,8k:I,d1:u(2k){if(!k.1v.8k||k.1v.8m)E;D 3K=2k.7L||2k.7K||-1;3m(3K){1e 35:if(k.1v.6j)k.1v.26(S,k(\'a[@4I=\'+k.1v.6j+\']:jJ\').K(0));1r;1e 36:if(k.1v.6j)k.1v.26(S,k(\'a[@4I=\'+k.1v.6j+\']:jL\').K(0));1r;1e 37:1e 8:1e 33:1e 80:1e kb:D 9p=k(\'#87\');if(9p.K(0).53!=S){9p.K(0).53.1D(9p.K(0))}1r;1e 38:1r;1e 39:1e 34:1e 32:1e gl:1e 78:D 9k=k(\'#88\');if(9k.K(0).53!=S){9k.K(0).53.1D(9k.K(0))}1r;1e 40:1r;1e 27:k.1v.au();1r}},7q:u(M){if(M)k.23(k.1v.M,M);if(1X.2k){k(\'2e\',1h).1J(\'6y\',k.1v.d1)}P{k(1h).1J(\'6y\',k.1v.d1)}k(\'a\').1E(u(){el=k(q);en=el.1p(\'4I\')||\'\';e9=el.1p(\'3h\')||\'\';ev=/\\.da|\\.gw|\\.8X|\\.eZ|\\.gn/g;if(e9.6c().d5(ev)!=S&&en.6c().3J(\'eU\')==0){el.1J(\'5h\',k.1v.26)}});if(k.3a.4t){3A=1h.3F(\'3A\');k(3A).1p({id:\'cN\',2J:\'ek:I;\',ej:\'cD\',ep:\'cD\'}).B({19:\'1o\',Y:\'1P\',Q:\'0\',O:\'0\',5E:\'9n:9w.9y.cC(1G=0)\'});k(\'2e\').1S(3A)}8n=1h.3F(\'22\');k(8n).1p(\'id\',\'cP\').B({Y:\'1P\',19:\'1o\',Q:\'0\',O:\'0\',1G:0}).1S(1h.8M(\' \')).1J(\'5h\',k.1v.au);6A=1h.3F(\'22\');k(6A).1p(\'id\',\'eK\').B({4X:k.1v.M.2E+\'U\'}).1S(1h.8M(\' \'));cE=1h.3F(\'22\');k(cE).1p(\'id\',\'dg\').B({4X:k.1v.M.2E+\'U\',5n:k.1v.M.2E+\'U\'}).1S(1h.8M(\' \'));cF=1h.3F(\'a\');k(cF).1p({id:\'gg\',3h:\'#\'}).B({Y:\'1P\',2L:k.1v.M.2E+\'U\',Q:\'0\'}).1S(k.1v.M.e3).1J(\'5h\',k.1v.au);7m=1h.3F(\'22\');k(7m).1p(\'id\',\'cM\').B({Y:\'2s\',cA:\'O\',6w:\'0 9F\',3I:1}).1S(6A).1S(cE).1S(cF);2b=1h.3F(\'1T\');2b.2J=k.1v.M.ec;k(2b).1p(\'id\',\'eM\').B({Y:\'1P\'});4G=1h.3F(\'a\');k(4G).1p({id:\'87\',3h:\'#\'}).B({Y:\'1P\',19:\'1o\',2U:\'2K\',ey:\'1o\'}).1S(1h.8M(\' \'));4M=1h.3F(\'a\');k(4M).1p({id:\'88\',3h:\'#\'}).B({Y:\'1P\',2U:\'2K\',ey:\'1o\'}).1S(1h.8M(\' \'));1Z=1h.3F(\'22\');k(1Z).1p(\'id\',\'eE\').B({19:\'1o\',Y:\'2s\',2U:\'2K\',cA:\'O\',6w:\'0 9F\',Q:\'0\',O:\'0\',3I:2}).1S([2b,4G,4M]);6F=1h.3F(\'22\');k(6F).1p(\'id\',\'ao\').B({19:\'1o\',Y:\'1P\',2U:\'2K\',Q:\'0\',O:\'0\',cA:\'cv\',7i:\'cu\',hC:\'0\'}).1S([1Z,7m]);k(\'2e\').1S(8n).1S(6F)},26:u(e,C){el=C?k(C):k(q);9t=el.1p(\'4I\');D 6B,4u,4G,4M;if(9t!=\'eU\'){k.1v.6j=9t;8Y=k(\'a[@4I=\'+9t+\']\');6B=8Y.1N();4u=8Y.cZ(C?C:q);4G=8Y.K(4u-1);4M=8Y.K(4u+1)}89=el.1p(\'3h\');6A=el.1p(\'4g\');3O=k.1a.6z();8n=k(\'#cP\');if(!k.1v.8k){k.1v.8k=1b;if(k.3a.4t){k(\'#cN\').B(\'W\',18.3r(3O.ih,3O.h)+\'U\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\').1Y()}8n.B(\'W\',18.3r(3O.ih,3O.h)+\'U\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\').1Y().fX(cO,k.1v.M.eW,u(){k.1v.cw(89,6A,3O,6B,4u,4G,4M)});k(\'#ao\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\')}P{k(\'#87\').K(0).53=S;k(\'#88\').K(0).53=S;k.1v.cw(89,6A,3O,6B,4u,4G,4M)}E I},cw:u(89,gP,3O,6B,4u,4G,4M){k(\'#cW\').bk();aX=k(\'#87\');aX.2G();aO=k(\'#88\');aO.2G();2b=k(\'#eM\');1Z=k(\'#eE\');6F=k(\'#ao\');7m=k(\'#cM\').B(\'3n\',\'2K\');k(\'#eK\').3x(6A);k.1v.8m=1b;if(6B)k(\'#dg\').3x(k.1v.M.d8+\' \'+(4u+1)+\' \'+k.1v.M.dc+\' \'+6B);if(4G){aX.K(0).53=u(){q.5B();k.1v.26(S,4G);E I}}if(4M){aO.K(0).53=u(){q.5B();k.1v.26(S,4M);E I}}2b.1Y();82=k.1a.2o(1Z.K(0));56=18.3r(82.1C,2b.K(0).Z+k.1v.M.2E*2);6f=18.3r(82.hb,2b.K(0).W+k.1v.M.2E*2);2b.B({O:(56-2b.K(0).Z)/2+\'U\',Q:(6f-2b.K(0).W)/2+\'U\'});1Z.B({Z:56+\'U\',W:6f+\'U\'}).1Y();dw=k.1a.bm();6F.B(\'Q\',3O.t+(dw.h/15)+\'U\');if(6F.B(\'19\')==\'1o\'){6F.1Y().7f(k.1v.M.3W)}6k=12 9s;k(6k).1p(\'id\',\'cW\').1J(\'hJ\',u(){56=6k.Z+k.1v.M.2E*2;6f=6k.W+k.1v.M.2E*2;2b.2G();1Z.5w({W:6f},82.hb!=6f?k.1v.M.3W:1,u(){1Z.5w({Z:56},82.1C!=56?k.1v.M.3W:1,u(){1Z.bG(6k);k(6k).B({Y:\'1P\',O:k.1v.M.2E+\'U\',Q:k.1v.M.2E+\'U\'}).7f(k.1v.M.3W,u(){db=k.1a.2o(7m.K(0));if(4G){aX.B({O:k.1v.M.2E+\'U\',Q:k.1v.M.2E+\'U\',Z:56/2-k.1v.M.2E*3+\'U\',W:6f-k.1v.M.2E*2+\'U\'}).1Y()}if(4M){aO.B({O:56/2+k.1v.M.2E*2+\'U\',Q:k.1v.M.2E+\'U\',Z:56/2-k.1v.M.2E*3+\'U\',W:6f-k.1v.M.2E*2+\'U\'}).1Y()}7m.B({Z:56+\'U\',Q:-db.hb+\'U\',3n:\'dd\'}).5w({Q:-1},k.1v.M.3W,u(){k.1v.8m=I})})})})});6k.2J=89},au:u(){k(\'#cW\').bk();k(\'#ao\').2G();k(\'#cM\').B(\'3n\',\'2K\');k(\'#cP\').fX(cO,0,u(){k(q).2G();if(k.3a.4t){k(\'#cN\').2G()}});k(\'#87\').K(0).53=S;k(\'#88\').K(0).53=S;k.1v.6j=S;k.1v.8k=I;k.1v.8m=I;E I}};k.R={1A:S,41:S,F:S,1s:S,1q:S,Y:S,9a:u(e){k.R.F=(q.d0)?q.d0:q;k.R.1s=k.1a.4a(e);k.R.1q={Z:T(k(k.R.F).B(\'Z\'))||0,W:T(k(k.R.F).B(\'W\'))||0};k.R.Y={Q:T(k(k.R.F).B(\'Q\'))||0,O:T(k(k.R.F).B(\'O\'))||0};k(1h).1J(\'3D\',k.R.cR).1J(\'5P\',k.R.cK);if(2g k.R.F.1k.g2===\'u\'){k.R.F.1k.g2.1D(k.R.F)}E I},cK:u(e){k(1h).3q(\'3D\',k.R.cR).3q(\'5P\',k.R.cK);if(2g k.R.F.1k.fN===\'u\'){k.R.F.1k.fN.1D(k.R.F)}k.R.F=S},cR:u(e){if(!k.R.F){E}1s=k.1a.4a(e);7p=k.R.Y.Q-k.R.1s.y+1s.y;7r=k.R.Y.O-k.R.1s.x+1s.x;7p=18.3r(18.3L(7p,k.R.F.1k.8g-k.R.1q.W),k.R.F.1k.7h);7r=18.3r(18.3L(7r,k.R.F.1k.8h-k.R.1q.Z),k.R.F.1k.70);if(2g k.R.F.1k.4m===\'u\'){D 8a=k.R.F.1k.4m.1D(k.R.F,[7r,7p]);if(2g 8a==\'hh\'&&8a.1g==2){7r=8a[0];7p=8a[1]}}k.R.F.14.Q=7p+\'U\';k.R.F.14.O=7r+\'U\';E I},26:u(e){k(1h).1J(\'3D\',k.R.8j).1J(\'5P\',k.R.8o);k.R.1A=q.1A;k.R.41=q.41;k.R.1s=k.1a.4a(e);k.R.1q={Z:T(k(q.1A).B(\'Z\'))||0,W:T(k(q.1A).B(\'W\'))||0};k.R.Y={Q:T(k(q.1A).B(\'Q\'))||0,O:T(k(q.1A).B(\'O\'))||0};if(k.R.1A.1k.4o){k.R.1A.1k.4o.1D(k.R.1A,[q])}E I},8o:u(){k(1h).3q(\'3D\',k.R.8j).3q(\'5P\',k.R.8o);if(k.R.1A.1k.3T){k.R.1A.1k.3T.1D(k.R.1A,[k.R.41])}k.R.1A=S;k.R.41=S},6i:u(dx,az){E 18.3L(18.3r(k.R.1q.Z+dx*az,k.R.1A.1k.av),k.R.1A.1k.6x)},6m:u(dy,az){E 18.3L(18.3r(k.R.1q.W+dy*az,k.R.1A.1k.8c),k.R.1A.1k.8b)},fb:u(W){E 18.3L(18.3r(W,k.R.1A.1k.8c),k.R.1A.1k.8b)},8j:u(e){if(k.R.1A==S){E}1s=k.1a.4a(e);dx=1s.x-k.R.1s.x;dy=1s.y-k.R.1s.y;1I={Z:k.R.1q.Z,W:k.R.1q.W};2z={Q:k.R.Y.Q,O:k.R.Y.O};3m(k.R.41){1e\'e\':1I.Z=k.R.6i(dx,1);1r;1e\'fj\':1I.Z=k.R.6i(dx,1);1I.W=k.R.6m(dy,1);1r;1e\'w\':1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1r;1e\'5F\':1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1I.W=k.R.6m(dy,1);1r;1e\'76\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1r;1e\'n\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1r;1e\'at\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1I.Z=k.R.6i(dx,1);1r;1e\'s\':1I.W=k.R.6m(dy,1);1r}if(k.R.1A.1k.4v){if(k.R.41==\'n\'||k.R.41==\'s\')4p=1I.W*k.R.1A.1k.4v;P 4p=1I.Z;4W=k.R.fb(4p*k.R.1A.1k.4v);4p=4W/k.R.1A.1k.4v;3m(k.R.41){1e\'n\':1e\'76\':1e\'at\':2z.Q+=1I.W-4W;1r}3m(k.R.41){1e\'76\':1e\'w\':1e\'5F\':2z.O+=1I.Z-4p;1r}1I.W=4W;1I.Z=4p}if(2z.Q<k.R.1A.1k.7h){4W=1I.W+2z.Q-k.R.1A.1k.7h;2z.Q=k.R.1A.1k.7h;if(k.R.1A.1k.4v){4p=4W/k.R.1A.1k.4v;3m(k.R.41){1e\'76\':1e\'w\':1e\'5F\':2z.O+=1I.Z-4p;1r}1I.Z=4p}1I.W=4W}if(2z.O<k.R.1A.1k.70){4p=1I.Z+2z.O-k.R.1A.1k.70;2z.O=k.R.1A.1k.70;if(k.R.1A.1k.4v){4W=4p*k.R.1A.1k.4v;3m(k.R.41){1e\'n\':1e\'76\':1e\'at\':2z.Q+=1I.W-4W;1r}1I.W=4W}1I.Z=4p}if(2z.Q+1I.W>k.R.1A.1k.8g){1I.W=k.R.1A.1k.8g-2z.Q;if(k.R.1A.1k.4v){1I.Z=1I.W/k.R.1A.1k.4v}}if(2z.O+1I.Z>k.R.1A.1k.8h){1I.Z=k.R.1A.1k.8h-2z.O;if(k.R.1A.1k.4v){1I.W=1I.Z*k.R.1A.1k.4v}}D 6p=I;if(k.R.1A.1k.f7){6p=k.R.1A.1k.f7.1D(k.R.1A,[1I,2z]);if(6p){if(6p.1q){k.23(1I,6p.1q)}if(6p.Y){k.23(2z,6p.Y)}}}8d=k.R.1A.14;8d.O=2z.O+\'U\';8d.Q=2z.Q+\'U\';8d.Z=1I.Z+\'U\';8d.W=1I.W+\'U\';E I},2r:u(M){if(!M||!M.3Z||M.3Z.1K!=7M){E}E q.1E(u(){D el=q;el.1k=M;el.1k.av=M.av||10;el.1k.8c=M.8c||10;el.1k.6x=M.6x||6P;el.1k.8b=M.8b||6P;el.1k.7h=M.7h||-aC;el.1k.70=M.70||-aC;el.1k.8h=M.8h||6P;el.1k.8g=M.8g||6P;d6=k(el).B(\'Y\');if(!(d6==\'2s\'||d6==\'1P\')){el.14.Y=\'2s\'}fS=/n|at|e|fj|s|5F|w|76/g;24(i in el.1k.3Z){if(i.6c().d5(fS)!=S){if(el.1k.3Z[i].1K==b0){3v=k(el.1k.3Z[i]);if(3v.1N()>0){el.1k.3Z[i]=3v.K(0)}}if(el.1k.3Z[i].4Y){el.1k.3Z[i].1A=el;el.1k.3Z[i].41=i;k(el.1k.3Z[i]).1J(\'5v\',k.R.26)}}}if(el.1k.5S){if(2g el.1k.5S===\'4V\'){aV=k(el.1k.5S);if(aV.1N()>0){aV.1E(u(){q.d0=el});aV.1J(\'5v\',k.R.9a)}}P if(el.1k.5S==1b){k(q).1J(\'5v\',k.R.9a)}}})},4U:u(){E q.1E(u(){D el=q;24(i in el.1k.3Z){el.1k.3Z[i].1A=S;el.1k.3Z[i].41=S;k(el.1k.3Z[i]).3q(\'5v\',k.R.26)}if(el.1k.5S){if(2g el.1k.5S===\'4V\'){3v=k(el.1k.5S);if(3v.1N()>0){3v.3q(\'5v\',k.R.9a)}}P if(el.1k.5S==1b){k(q).3q(\'5v\',k.R.9a)}}el.1k=S})}};k.fn.23({hz:k.R.2r,hs:k.R.4U});k.2C=S;k.7n=I;k.3k=S;k.7o=[];k.9v=u(e){D 3K=e.7L||e.7K||-1;if(3K==17||3K==16){k.7n=1b}};k.9u=u(e){k.7n=I};k.dL=u(e){q.f.1s=k.1a.4a(e);q.f.1M=k.23(k.1a.3w(q),k.1a.2o(q));q.f.3e=k.1a.6z(q);q.f.1s.x-=q.f.1M.x;q.f.1s.y-=q.f.1M.y;k(q).1S(k.2C.K(0));if(q.f.hc)k.2C.2R(q.f.hc).B(\'19\',\'2B\');k.2C.B({19:\'2B\',Z:\'2P\',W:\'2P\'});if(q.f.o){k.2C.B(\'1G\',q.f.o)}k.3k=q;k.96=I;k.7o=[];q.f.el.1E(u(){q.1M={x:q.8t+(q.4Z&&!k.3a.7I?T(q.4Z.5b)||0:0)+(k.3k.3c||0),y:q.8G+(q.4Z&&!k.3a.7I?T(q.4Z.4S)||0:0)+(k.3k.3d||0),1C:q.4c,hb:q.5W};if(q.s==1b){if(k.7n==I){q.s=I;k(q).4i(k.3k.f.7j)}P{k.96=1b;k.7o[k.7o.1g]=k.1p(q,\'id\')}}});k.am.1D(q,[e]);k(1h).1J(\'3D\',k.am).1J(\'5P\',k.cX);E I};k.am=u(e){if(!k.3k)E;k.fd.1D(k.3k,[e])};k.fd=u(e){if(!k.3k)E;D 1s=k.1a.4a(e);D 3e=k.1a.6z(k.3k);1s.x+=3e.l-q.f.3e.l-q.f.1M.x;1s.y+=3e.t-q.f.3e.t-q.f.1M.y;D 93=18.3L(1s.x,q.f.1s.x);D 5F=18.3L(18.3S(1s.x-q.f.1s.x),18.3S(q.f.3e.w-93));D 99=18.3L(1s.y,q.f.1s.y);D 9g=18.3L(18.3S(1s.y-q.f.1s.y),18.3S(q.f.3e.h-99));if(q.3d>0&&1s.y-20<q.3d){D 3X=18.3L(3e.t,10);99-=3X;9g+=3X;q.3d-=3X}P if(q.3d+q.f.1M.h<q.f.3e.h&&1s.y+20>q.3d+q.f.1M.h){D 3X=18.3L(q.f.3e.h-q.3d,10);q.3d+=3X;if(q.3d!=3e.t)9g+=3X}if(q.3c>0&&1s.x-20<q.3c){D 3X=18.3L(3e.l,10);93-=3X;5F+=3X;q.3c-=3X}P if(q.3c+q.f.1M.w<q.f.3e.w&&1s.x+20>q.3c+q.f.1M.w){D 3X=18.3L(q.f.3e.w-q.3c,10);q.3c+=3X;if(q.3c!=3e.l)5F+=3X}k.2C.B({O:93+\'U\',Q:99+\'U\',Z:5F+\'U\',W:9g+\'U\'});k.2C.l=93+q.f.3e.l;k.2C.t=99+q.f.3e.t;k.2C.r=k.2C.l+5F;k.2C.b=k.2C.t+9g;k.96=I;q.f.el.1E(u(){aw=k.7o.3J(k.1p(q,\'id\'));if(!(q.1M.x>k.2C.r||(q.1M.x+q.1M.1C)<k.2C.l||q.1M.y>k.2C.b||(q.1M.y+q.1M.hb)<k.2C.t)){k.96=1b;if(q.s!=1b){q.s=1b;k(q).2R(k.3k.f.7j)}if(aw!=-1){q.s=I;k(q).4i(k.3k.f.7j)}}P if((q.s==1b)&&(aw==-1)){q.s=I;k(q).4i(k.3k.f.7j)}P if((!q.s)&&(k.7n==1b)&&(aw!=-1)){q.s=1b;k(q).2R(k.3k.f.7j)}});E I};k.cX=u(e){if(!k.3k)E;k.g0.1D(k.3k,[e])};k.g0=u(e){k(1h).3q(\'3D\',k.am).3q(\'5P\',k.cX);if(!k.3k)E;k.2C.B(\'19\',\'1o\');if(q.f.hc)k.2C.4i(q.f.hc);k.3k=I;k(\'2e\').1S(k.2C.K(0));if(k.96==1b){if(q.f.98)q.f.98(k.cJ(k.1p(q,\'id\')))}P{if(q.f.9d)q.f.9d(k.cJ(k.1p(q,\'id\')))}k.7o=[]};k.cJ=u(s){D h=\'\';D o=[];if(a=k(\'#\'+s)){a.K(0).f.el.1E(u(){if(q.s==1b){if(h.1g>0){h+=\'&\'}h+=s+\'[]=\'+k.1p(q,\'id\');o[o.1g]=k.1p(q,\'id\')}})}E{7l:h,o:o}};k.fn.gZ=u(o){if(!k.2C){k(\'2e\',1h).1S(\'<22 id="2C"></22>\').1J(\'7B\',k.9v).1J(\'6y\',k.9u);k.2C=k(\'#2C\');k.2C.B({Y:\'1P\',19:\'1o\'});if(1X.2k){k(\'2e\',1h).1J(\'7B\',k.9v).1J(\'6y\',k.9u)}P{k(1h).1J(\'7B\',k.9v).1J(\'6y\',k.9u)}}if(!o){o={}}E q.1E(u(){if(q.eP)E;q.eP=1b;q.f={a:o.3C,o:o.1G?2m(o.1G):I,7j:o.eS?o.eS:I,hc:o.58?o.58:I,98:o.98?o.98:I,9d:o.9d?o.9d:I};q.f.el=k(\'.\'+o.3C);k(q).1J(\'5v\',k.dL).B(\'Y\',\'2s\')})};k.3b={bM:1,eH:u(3t){D 3t=3t;E q.1E(u(){q.4z.6s.1E(u(ab){k.3b.5c(q,3t[ab])})})},K:u(){D 3t=[];q.1E(u(cL){if(q.bI){3t[cL]=[];D C=q;D 1q=k.1a.2o(q);q.4z.6s.1E(u(ab){D x=q.8t;D y=q.8G;92=T(x*2a/(1q.w-q.4c));91=T(y*2a/(1q.h-q.5W));3t[cL][ab]=[92||0,91||0,x||0,y||0]})}});E 3t},ct:u(C){C.A.fu=C.A.28.w-C.A.1B.1C;C.A.fw=C.A.28.h-C.A.1B.hb;if(C.9r.4z.bC){9Z=C.9r.4z.6s.K(C.bF+1);if(9Z){C.A.28.w=(T(k(9Z).B(\'O\'))||0)+C.A.1B.1C;C.A.28.h=(T(k(9Z).B(\'Q\'))||0)+C.A.1B.hb}9Q=C.9r.4z.6s.K(C.bF-1);if(9Q){D cU=T(k(9Q).B(\'O\'))||0;D cH=T(k(9Q).B(\'O\'))||0;C.A.28.x+=cU;C.A.28.y+=cH;C.A.28.w-=cU;C.A.28.h-=cH}}C.A.g7=C.A.28.w-C.A.1B.1C;C.A.eC=C.A.28.h-C.A.1B.hb;if(C.A.2O){C.A.gx=((C.A.28.w-C.A.1B.1C)/C.A.2O)||1;C.A.gy=((C.A.28.h-C.A.1B.hb)/C.A.2O)||1;C.A.fU=C.A.g7/C.A.2O;C.A.fH=C.A.eC/C.A.2O}C.A.28.dx=C.A.28.x-C.A.2c.x;C.A.28.dy=C.A.28.y-C.A.2c.y;k.11.1c.B(\'9b\',\'ad\')},3H:u(C,x,y){if(C.A.2O){fE=T(x/C.A.fU);92=fE*2a/C.A.2O;ft=T(y/C.A.fH);91=ft*2a/C.A.2O}P{92=T(x*2a/C.A.fu);91=T(y*2a/C.A.fw)}C.A.b3=[92||0,91||0,x||0,y||0];if(C.A.3H)C.A.3H.1D(C,C.A.b3)},eI:u(2k){3K=2k.7L||2k.7K||-1;3m(3K){1e 35:k.3b.5c(q.3U,[ae,ae]);1r;1e 36:k.3b.5c(q.3U,[-ae,-ae]);1r;1e 37:k.3b.5c(q.3U,[-q.3U.A.gx||-1,0]);1r;1e 38:k.3b.5c(q.3U,[0,-q.3U.A.gy||-1]);1r;1e 39:k.3b.5c(q.3U,[q.3U.A.gx||1,0]);1r;1e 40:k.11.5c(q.3U,[0,q.3U.A.gy||1]);1r}},5c:u(C,Y){if(!C.A){E}C.A.1B=k.23(k.1a.3w(C),k.1a.2o(C));C.A.2c={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};C.A.4n=k.B(C,\'Y\');if(C.A.4n!=\'2s\'&&C.A.4n!=\'1P\'){C.14.Y=\'2s\'}k.11.c5(C);k.3b.ct(C);dx=T(Y[0])||0;dy=T(Y[1])||0;2v=C.A.2c.x+dx;2q=C.A.2c.y+dy;if(C.A.2O){3y=k.11.c7.1D(C,[2v,2q,dx,dy]);if(3y.1K==7M){dx=3y.dx;dy=3y.dy}2v=C.A.2c.x+dx;2q=C.A.2c.y+dy}3y=k.11.ce.1D(C,[2v,2q,dx,dy]);if(3y&&3y.1K==7M){dx=3y.dx;dy=3y.dy}2v=C.A.2c.x+dx;2q=C.A.2c.y+dy;if(C.A.5i&&(C.A.3H||C.A.2Z)){k.3b.3H(C,2v,2q)}2v=!C.A.1O||C.A.1O==\'4j\'?2v:C.A.2c.x||0;2q=!C.A.1O||C.A.1O==\'49\'?2q:C.A.2c.y||0;C.14.O=2v+\'U\';C.14.Q=2q+\'U\'},2r:u(o){E q.1E(u(){if(q.bI==1b||!o.3C||!k.1a||!k.11||!k.1x){E}5x=k(o.3C,q);if(5x.1N()==0){E}D 4N={2p:\'94\',5i:1b,3H:o.3H&&o.3H.1K==2A?o.3H:S,2Z:o.2Z&&o.2Z.1K==2A?o.2Z:S,3v:q,1G:o.1G||I};if(o.2O&&T(o.2O)){4N.2O=T(o.2O)||1;4N.2O=4N.2O>0?4N.2O:1}if(5x.1N()==1)5x.7t(4N);P{k(5x.K(0)).7t(4N);4N.3v=S;5x.7t(4N)}5x.7B(k.3b.eI);5x.1p(\'bM\',k.3b.bM++);q.bI=1b;q.4z={};q.4z.er=4N.er;q.4z.2O=4N.2O;q.4z.6s=5x;q.4z.bC=o.bC?1b:I;bZ=q;bZ.4z.6s.1E(u(2N){q.bF=2N;q.9r=bZ});if(o.3t&&o.3t.1K==7F){24(i=o.3t.1g-1;i>=0;i--){if(o.3t[i].1K==7F&&o.3t[i].1g==2){el=q.4z.6s.K(i);if(el.4Y){k.3b.5c(el,o.3t[i])}}}}})}};k.fn.23({hN:k.3b.2r,hS:k.3b.eH,hG:k.3b.K});k.2u={5I:[],eg:u(){q.5B();X=q.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}1z=X.L.3u+1;if(X.L.1Q.1g<1z){1z=1}1Q=k(\'1T\',X.L.5u);X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},dp:u(){q.5B();X=q.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}1z=X.L.3u-1;1Q=k(\'1T\',X.L.5u);if(1z<1){1z=X.L.1Q.1g}X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},2I:u(c){X=1h.9e(c);if(X.L.6o){1z=X.L.3u;7d(1z==X.L.3u){1z=1+T(18.6o()*X.L.1Q.1g)}}P{1z=X.L.3u+1;if(X.L.1Q.1g<1z){1z=1}}1Q=k(\'1T\',X.L.5u);X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},go:u(o){D X;if(o&&o.1K==7M){if(o.2b){X=1h.9e(o.2b.X);5N=1X.hn.3h.7C("#");o.2b.6S=S;if(5N.1g==2){1z=T(5N[1]);1Y=5N[1].4E(1z,\'\');if(k.1p(X,\'id\')!=1Y){1z=1}}P{1z=1}}if(o.90){o.90.5B();X=o.90.31.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}5N=o.90.3h.7C("#");1z=T(5N[1]);1Y=5N[1].4E(1z,\'\');if(k.1p(X,\'id\')!=1Y){1z=1}}if(X.L.1Q.1g<1z||1z<1){1z=1}X.L.3u=1z;52=k.1a.2o(X);dt=k.1a.aT(X);d9=k.1a.6U(X);if(X.L.3z){X.L.3z.o.B(\'19\',\'1o\')}if(X.L.3s){X.L.3s.o.B(\'19\',\'1o\')}if(X.L.2b){y=T(dt.t)+T(d9.t);if(X.L.1U){if(X.L.1U.5A==\'Q\'){y+=X.L.1U.4C.hb}P{52.h-=X.L.1U.4C.hb}}if(X.L.2x){if(X.L.2x&&X.L.2x.6Q==\'Q\'){y+=X.L.2x.4C.hb}P{52.h-=X.L.2x.4C.hb}}if(!X.L.c1){X.L.df=o.2b?o.2b.W:(T(X.L.2b.B(\'W\'))||0);X.L.c1=o.2b?o.2b.Z:(T(X.L.2b.B(\'Z\'))||0)}X.L.2b.B(\'Q\',y+(52.h-X.L.df)/2+\'U\');X.L.2b.B(\'O\',(52.1C-X.L.c1)/2+\'U\');X.L.2b.B(\'19\',\'2B\')}1Q=k(\'1T\',X.L.5u);if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}P{aj=k(\'a\',X.L.1U.o).K(1z-1);k(aj).2R(X.L.1U.5R);D 1T=12 9s();1T.X=k.1p(X,\'id\');1T.1z=1z-1;1T.2J=X.L.1Q[X.L.3u-1].2J;if(1T.21){1T.6S=S;k.2u.19.1D(1T)}P{1T.6S=k.2u.19}if(X.L.2x){X.L.2x.o.3x(X.L.1Q[1z-1].6L)}}}},95:u(){X=q.31.31;X.L.5u.B(\'19\',\'1o\');if(X.L.1U.5R){aj=k(\'a\',X.L.1U.o).4i(X.L.1U.5R).K(X.L.3u-1);k(aj).2R(X.L.1U.5R)}D 1T=12 9s();1T.X=k.1p(X,\'id\');1T.1z=X.L.3u-1;1T.2J=X.L.1Q[X.L.3u-1].2J;if(1T.21){1T.6S=S;k.2u.19.1D(1T)}P{1T.6S=k.2u.19}if(X.L.2x){X.L.2x.o.3x(X.L.1Q[X.L.3u-1].6L)}},19:u(){X=1h.9e(q.X);if(X.L.3z){X.L.3z.o.B(\'19\',\'1o\')}if(X.L.3s){X.L.3s.o.B(\'19\',\'1o\')}52=k.1a.2o(X);y=0;if(X.L.1U){if(X.L.1U.5A==\'Q\'){y+=X.L.1U.4C.hb}P{52.h-=X.L.1U.4C.hb}}if(X.L.2x){if(X.L.2x&&X.L.2x.6Q==\'Q\'){y+=X.L.2x.4C.hb}P{52.h-=X.L.2x.4C.hb}}hg=k(\'.ca\',X);y=y+(52.h-q.W)/2;x=(52.1C-q.Z)/2;X.L.5u.B(\'Q\',y+\'U\').B(\'O\',x+\'U\').3x(\'<1T 2J="\'+q.2J+\'" />\');X.L.5u.7f(X.L.3W);3s=X.L.3u+1;if(3s>X.L.1Q.1g){3s=1}3z=X.L.3u-1;if(3z<1){3z=X.L.1Q.1g}X.L.3s.o.B(\'19\',\'2B\').B(\'Q\',y+\'U\').B(\'O\',x+2*q.Z/3+\'U\').B(\'Z\',q.Z/3+\'U\').B(\'W\',q.W+\'U\').1p(\'4g\',X.L.1Q[3s-1].6L);X.L.3s.o.K(0).3h=\'#\'+3s+k.1p(X,\'id\');X.L.3z.o.B(\'19\',\'2B\').B(\'Q\',y+\'U\').B(\'O\',x+\'U\').B(\'Z\',q.Z/3+\'U\').B(\'W\',q.W+\'U\').1p(\'4g\',X.L.1Q[3z-1].6L);X.L.3z.o.K(0).3h=\'#\'+3z+k.1p(X,\'id\')},2r:u(o){if(!o||!o.1Z||k.2u.5I[o.1Z])E;D 1Z=k(\'#\'+o.1Z);D el=1Z.K(0);if(el.14.Y!=\'1P\'&&el.14.Y!=\'2s\'){el.14.Y=\'2s\'}el.14.2U=\'2K\';if(1Z.1N()==0)E;el.L={};el.L.1Q=o.1Q?o.1Q:[];el.L.6o=o.6o&&o.6o==1b||I;97=el.f3(\'hL\');24(i=0;i<97.1g;i++){7Z=el.L.1Q.1g;el.L.1Q[7Z]={2J:97[i].2J,6L:97[i].4g||97[i].hD||\'\'}}if(el.L.1Q.1g==0){E}el.L.4n=k.23(k.1a.3w(el),k.1a.2o(el));el.L.b5=k.1a.aT(el);el.L.bu=k.1a.6U(el);t=T(el.L.b5.t)+T(el.L.bu.t);b=T(el.L.b5.b)+T(el.L.bu.b);k(\'1T\',el).bk();el.L.3W=o.3W?o.3W:g5;if(o.5A||o.9f||o.5R){el.L.1U={};1Z.1S(\'<22 6T="g1"></22>\');el.L.1U.o=k(\'.g1\',el);if(o.9f){el.L.1U.9f=o.9f;el.L.1U.o.2R(o.9f)}if(o.5R){el.L.1U.5R=o.5R}el.L.1U.o.B(\'Y\',\'1P\').B(\'Z\',el.L.4n.w+\'U\');if(o.5A&&o.5A==\'Q\'){el.L.1U.5A=\'Q\';el.L.1U.o.B(\'Q\',t+\'U\')}P{el.L.1U.5A=\'4D\';el.L.1U.o.B(\'4D\',b+\'U\')}el.L.1U.aE=o.aE?o.aE:\' \';24(D i=0;i<el.L.1Q.1g;i++){7Z=T(i)+1;el.L.1U.o.1S(\'<a 3h="#\'+7Z+o.1Z+\'" 6T="gR" 4g="\'+el.L.1Q[i].6L+\'">\'+7Z+\'</a>\'+(7Z!=el.L.1Q.1g?el.L.1U.aE:\'\'))}k(\'a\',el.L.1U.o).1J(\'5h\',u(){k.2u.go({90:q})});el.L.1U.4C=k.1a.2o(el.L.1U.o.K(0))}if(o.6Q||o.9c){el.L.2x={};1Z.1S(\'<22 6T="dn">&7k;</22>\');el.L.2x.o=k(\'.dn\',el);if(o.9c){el.L.2x.9c=o.9c;el.L.2x.o.2R(o.9c)}el.L.2x.o.B(\'Y\',\'1P\').B(\'Z\',el.L.4n.w+\'U\');if(o.6Q&&o.6Q==\'Q\'){el.L.2x.6Q=\'Q\';el.L.2x.o.B(\'Q\',(el.L.1U&&el.L.1U.5A==\'Q\'?el.L.1U.4C.hb+t:t)+\'U\')}P{el.L.2x.6Q=\'4D\';el.L.2x.o.B(\'4D\',(el.L.1U&&el.L.1U.5A==\'4D\'?el.L.1U.4C.hb+b:b)+\'U\')}el.L.2x.4C=k.1a.2o(el.L.2x.o.K(0))}if(o.9D){el.L.3s={9D:o.9D};1Z.1S(\'<a 3h="#2\'+o.1Z+\'" 6T="eY">&7k;</a>\');el.L.3s.o=k(\'.eY\',el);el.L.3s.o.B(\'Y\',\'1P\').B(\'19\',\'1o\').B(\'2U\',\'2K\').B(\'4A\',\'eR\').2R(el.L.3s.9D);el.L.3s.o.1J(\'5h\',k.2u.eg)}if(o.9o){el.L.3z={9o:o.9o};1Z.1S(\'<a 3h="#0\'+o.1Z+\'" 6T="ee">&7k;</a>\');el.L.3z.o=k(\'.ee\',el);el.L.3z.o.B(\'Y\',\'1P\').B(\'19\',\'1o\').B(\'2U\',\'2K\').B(\'4A\',\'eR\').2R(el.L.3z.9o);el.L.3z.o.1J(\'5h\',k.2u.dp)}1Z.bG(\'<22 6T="ca"></22>\');el.L.5u=k(\'.ca\',el);el.L.5u.B(\'Y\',\'1P\').B(\'Q\',\'2P\').B(\'O\',\'2P\').B(\'19\',\'1o\');if(o.2b){1Z.bG(\'<22 6T="dW" 14="19: 1o;"><1T 2J="\'+o.2b+\'" /></22>\');el.L.2b=k(\'.dW\',el);el.L.2b.B(\'Y\',\'1P\');D 1T=12 9s();1T.X=o.1Z;1T.2J=o.2b;if(1T.21){1T.6S=S;k.2u.go({2b:1T})}P{1T.6S=u(){k.2u.go({2b:q})}}}P{k.2u.go({1Z:el})}if(o.cS){fi=T(o.cS)*aC}k.2u.5I[o.1Z]=o.cS?1X.6V(\'k.2u.2I(\\\'\'+o.1Z+\'\\\')\',fi):S}};k.X=k.2u.2r;k.1t={7s:[],5L:{},1c:I,7u:S,26:u(){if(k.11.F==S){E}D 4O,3G,c,cs;k.1t.1c.K(0).3l=k.11.F.A.6R;4O=k.1t.1c.K(0).14;4O.19=\'2B\';k.1t.1c.1B=k.23(k.1a.3w(k.1t.1c.K(0)),k.1a.2o(k.1t.1c.K(0)));4O.Z=k.11.F.A.1B.1C+\'U\';4O.W=k.11.F.A.1B.hb+\'U\';3G=k.1a.cy(k.11.F);4O.5K=3G.t;4O.5z=3G.r;4O.5k=3G.b;4O.5j=3G.l;if(k.11.F.A.46==1b){c=k.11.F.fI(1b);cs=c.14;cs.5K=\'2P\';cs.5z=\'2P\';cs.5k=\'2P\';cs.5j=\'2P\';cs.19=\'2B\';k.1t.1c.5o().1S(c)}k(k.11.F).f5(k.1t.1c.K(0));k.11.F.14.19=\'1o\'},fC:u(e){if(!e.A.44&&k.1x.5r.cQ){if(e.A.3T)e.A.3T.1D(F);k(e).B(\'Y\',e.A.cz||e.A.4n);k(e).aS();k(k.1x.5r).f6(e)}k.1t.1c.4i(e.A.6R).3x(\'&7k;\');k.1t.7u=S;D 4O=k.1t.1c.K(0).14;4O.19=\'1o\';k.1t.1c.f5(e);if(e.A.fx>0){k(e).7f(e.A.fx)}k(\'2e\').1S(k.1t.1c.K(0));D 86=[];D 8q=I;24(D i=0;i<k.1t.7s.1g;i++){D 1j=k.1x.3P[k.1t.7s[i]].K(0);D id=k.1p(1j,\'id\');D 8i=k.1t.8x(id);if(1j.1i.ay!=8i.7l){1j.1i.ay=8i.7l;if(8q==I&&1j.1i.2Z){8q=1j.1i.2Z}8i.id=id;86[86.1g]=8i}}k.1t.7s=[];if(8q!=I&&86.1g>0){8q(86)}},al:u(e,o){if(!k.11.F)E;D 6e=I;D i=0;if(e.1i.el.1N()>0){24(i=e.1i.el.1N();i>0;i--){if(e.1i.el.K(i-1)!=k.11.F){if(!e.5V.b2){if((e.1i.el.K(i-1).1M.y+e.1i.el.K(i-1).1M.hb/2)>k.11.F.A.2q){6e=e.1i.el.K(i-1)}P{1r}}P{if((e.1i.el.K(i-1).1M.x+e.1i.el.K(i-1).1M.1C/2)>k.11.F.A.2v&&(e.1i.el.K(i-1).1M.y+e.1i.el.K(i-1).1M.hb/2)>k.11.F.A.2q){6e=e.1i.el.K(i-1)}}}}}if(6e&&k.1t.7u!=6e){k.1t.7u=6e;k(6e).h5(k.1t.1c.K(0))}P if(!6e&&(k.1t.7u!=S||k.1t.1c.K(0).31!=e)){k.1t.7u=S;k(e).1S(k.1t.1c.K(0))}k.1t.1c.K(0).14.19=\'2B\'},cT:u(e){if(k.11.F==S){E}e.1i.el.1E(u(){q.1M=k.23(k.1a.74(q),k.1a.7G(q))})},8x:u(s){D i;D h=\'\';D o={};if(s){if(k.1t.5L[s]){o[s]=[];k(\'#\'+s+\' .\'+k.1t.5L[s]).1E(u(){if(h.1g>0){h+=\'&\'}h+=s+\'[]=\'+k.1p(q,\'id\');o[s][o[s].1g]=k.1p(q,\'id\')})}P{24(a in s){if(k.1t.5L[s[a]]){o[s[a]]=[];k(\'#\'+s[a]+\' .\'+k.1t.5L[s[a]]).1E(u(){if(h.1g>0){h+=\'&\'}h+=s[a]+\'[]=\'+k.1p(q,\'id\');o[s[a]][o[s[a]].1g]=k.1p(q,\'id\')})}}}}P{24(i in k.1t.5L){o[i]=[];k(\'#\'+i+\' .\'+k.1t.5L[i]).1E(u(){if(h.1g>0){h+=\'&\'}h+=i+\'[]=\'+k.1p(q,\'id\');o[i][o[i].1g]=k.1p(q,\'id\')})}}E{7l:h,o:o}},fF:u(e){if(!e.dq){E}E q.1E(u(){if(!q.5V||!k(e).is(\'.\'+q.5V.3C))k(e).2R(q.5V.3C);k(e).7t(q.5V.A)})},4U:u(){E q.1E(u(){k(\'.\'+q.5V.3C).aS();k(q).dR();q.5V=S;q.fm=S})},2r:u(o){if(o.3C&&k.1a&&k.11&&k.1x){if(!k.1t.1c){k(\'2e\',1h).1S(\'<22 id="e5">&7k;</22>\');k.1t.1c=k(\'#e5\');k.1t.1c.K(0).14.19=\'1o\'}q.do({3C:o.3C,9J:o.9J?o.9J:I,a5:o.a5?o.a5:I,58:o.58?o.58:I,7x:o.7x||o.dC,7y:o.7y||o.fO,cQ:1b,2Z:o.2Z||o.ia,fx:o.fx?o.fx:I,46:o.46?1b:I,6I:o.6I?o.6I:\'cV\'});E q.1E(u(){D A={6N:o.6N?1b:I,ff:6P,1G:o.1G?2m(o.1G):I,6R:o.58?o.58:I,fx:o.fx?o.fx:I,44:1b,46:o.46?1b:I,3v:o.3v?o.3v:S,2p:o.2p?o.2p:S,4o:o.4o&&o.4o.1K==2A?o.4o:I,4m:o.4m&&o.4m.1K==2A?o.4m:I,3T:o.3T&&o.3T.1K==2A?o.3T:I,1O:/49|4j/.48(o.1O)?o.1O:I,6M:o.6M?T(o.6M)||0:I,2V:o.2V?o.2V:I};k(\'.\'+o.3C,q).7t(A);q.fm=1b;q.5V={3C:o.3C,6N:o.6N?1b:I,ff:6P,1G:o.1G?2m(o.1G):I,6R:o.58?o.58:I,fx:o.fx?o.fx:I,44:1b,46:o.46?1b:I,3v:o.3v?o.3v:S,2p:o.2p?o.2p:S,b2:o.b2?1b:I,A:A}})}}};k.fn.23({j3:k.1t.2r,f6:k.1t.fF,iS:k.1t.4U});k.iZ=k.1t.8x;k.2t={6O:S,7b:I,9m:S,6K:u(e){k.2t.7b=1b;k.2t.1Y(e,q,1b)},cq:u(e){if(k.2t.6O!=q)E;k.2t.7b=I;k.2t.2G(e,q)},1Y:u(e,el,7b){if(k.2t.6O!=S)E;if(!el){el=q}k.2t.6O=el;1M=k.23(k.1a.3w(el),k.1a.2o(el));8u=k(el);4g=8u.1p(\'4g\');3h=8u.1p(\'3h\');if(4g){k.2t.9m=4g;8u.1p(\'4g\',\'\');k(\'#eT\').3x(4g);if(3h)k(\'#bL\').3x(3h.4E(\'jh://\',\'\'));P k(\'#bL\').3x(\'\');1c=k(\'#8z\');if(el.4H.3l){1c.K(0).3l=el.4H.3l}P{1c.K(0).3l=\'\'}bo=k.1a.2o(1c.K(0));ga=7b&&el.4H.Y==\'bO\'?\'4D\':el.4H.Y;3m(ga){1e\'Q\':2q=1M.y-bo.hb;2v=1M.x;1r;1e\'O\':2q=1M.y;2v=1M.x-bo.1C;1r;1e\'2L\':2q=1M.y;2v=1M.x+1M.1C;1r;1e\'bO\':k(\'2e\').1J(\'3D\',k.2t.3D);1s=k.1a.4a(e);2q=1s.y+15;2v=1s.x+15;1r;ad:2q=1M.y+1M.hb;2v=1M.x;1r}1c.B({Q:2q+\'U\',O:2v+\'U\'});if(el.4H.54==I){1c.1Y()}P{1c.7f(el.4H.54)}if(el.4H.2Y)el.4H.2Y.1D(el);8u.1J(\'8B\',k.2t.2G).1J(\'5B\',k.2t.cq)}},3D:u(e){if(k.2t.6O==S){k(\'2e\').3q(\'3D\',k.2t.3D);E}1s=k.1a.4a(e);k(\'#8z\').B({Q:1s.y+15+\'U\',O:1s.x+15+\'U\'})},2G:u(e,el){if(!el){el=q}if(k.2t.7b!=1b&&k.2t.6O==el){k.2t.6O=S;k(\'#8z\').7a(1);k(el).1p(\'4g\',k.2t.9m).3q(\'8B\',k.2t.2G).3q(\'5B\',k.2t.cq);if(el.4H.3i)el.4H.3i.1D(el);k.2t.9m=S}},2r:u(M){if(!k.2t.1c){k(\'2e\').1S(\'<22 id="8z"><22 id="eT"></22><22 id="bL"></22></22>\');k(\'#8z\').B({Y:\'1P\',3I:6P,19:\'1o\'});k.2t.1c=1b}E q.1E(u(){if(k.1p(q,\'4g\')){q.4H={Y:/Q|4D|O|2L|bO/.48(M.Y)?M.Y:\'4D\',3l:M.3l?M.3l:I,54:M.54?M.54:I,2Y:M.2Y&&M.2Y.1K==2A?M.2Y:I,3i:M.3i&&M.3i.1K==2A?M.3i:I};D el=k(q);el.1J(\'9z\',k.2t.1Y);el.1J(\'6K\',k.2t.6K)}})}};k.fn.hO=k.2t.2r;k.84={bq:u(e){3K=e.7L||e.7K||-1;if(3K==9){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}if(q.b1){1h.6J.dZ().3g="\\t";q.dV=u(){q.6K();q.dV=S}}P if(q.aF){26=q.5q;2T=q.dN;q.2y=q.2y.hd(0,26)+"\\t"+q.2y.h8(2T);q.aF(26+1,26+1);q.6K()}E I}},4U:u(){E q.1E(u(){if(q.7P&&q.7P==1b){k(q).3q(\'7B\',k.84.bq);q.7P=I}})},2r:u(){E q.1E(u(){if(q.4Y==\'cf\'&&(!q.7P||q.7P==I)){k(q).1J(\'7B\',k.84.bq);q.7P=1b}})}};k.fn.23({j5:k.84.2r,hH:k.84.4U});k.1a={3w:u(e){D x=0;D y=0;D es=e.14;D bP=I;if(k(e).B(\'19\')==\'1o\'){D 5Y=es.3n;D 9q=es.Y;bP=1b;es.3n=\'2K\';es.19=\'2B\';es.Y=\'1P\'}D el=e;7d(el){x+=el.8t+(el.4Z&&!k.3a.7I?T(el.4Z.5b)||0:0);y+=el.8G+(el.4Z&&!k.3a.7I?T(el.4Z.4S)||0:0);el=el.dJ}el=e;7d(el&&el.4Y&&el.4Y.6c()!=\'2e\'){x-=el.3c||0;y-=el.3d||0;el=el.31}if(bP==1b){es.19=\'1o\';es.Y=9q;es.3n=5Y}E{x:x,y:y}},7G:u(el){D x=0,y=0;7d(el){x+=el.8t||0;y+=el.8G||0;el=el.dJ}E{x:x,y:y}},2o:u(e){D w=k.B(e,\'Z\');D h=k.B(e,\'W\');D 1C=0;D hb=0;D es=e.14;if(k(e).B(\'19\')!=\'1o\'){1C=e.4c;hb=e.5W}P{D 5Y=es.3n;D 9q=es.Y;es.3n=\'2K\';es.19=\'2B\';es.Y=\'1P\';1C=e.4c;hb=e.5W;es.19=\'1o\';es.Y=9q;es.3n=5Y}E{w:w,h:h,1C:1C,hb:hb}},74:u(el){E{1C:el.4c||0,hb:el.5W||0}},bm:u(e){D h,w,de;if(e){w=e.8W;h=e.8O}P{de=1h.5d;w=1X.d4||aa.d4||(de&&de.8W)||1h.2e.8W;h=1X.cB||aa.cB||(de&&de.8O)||1h.2e.8O}E{w:w,h:h}},6z:u(e){D t=0,l=0,w=0,h=0,iw=0,ih=0;if(e&&e.9N.6c()!=\'2e\'){t=e.3d;l=e.3c;w=e.d7;h=e.d2;iw=0;ih=0}P{if(1h.5d){t=1h.5d.3d;l=1h.5d.3c;w=1h.5d.d7;h=1h.5d.d2}P if(1h.2e){t=1h.2e.3d;l=1h.2e.3c;w=1h.2e.d7;h=1h.2e.d2}iw=aa.d4||1h.5d.8W||1h.2e.8W||0;ih=aa.cB||1h.5d.8O||1h.2e.8O||0}E{t:t,l:l,w:w,h:h,iw:iw,ih:ih}},cy:u(e,7N){D el=k(e);D t=el.B(\'5K\')||\'\';D r=el.B(\'5z\')||\'\';D b=el.B(\'5k\')||\'\';D l=el.B(\'5j\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)};P E{t:t,r:r,b:b,l:l}},aT:u(e,7N){D el=k(e);D t=el.B(\'5M\')||\'\';D r=el.B(\'5U\')||\'\';D b=el.B(\'5n\')||\'\';D l=el.B(\'4X\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)};P E{t:t,r:r,b:b,l:l}},6U:u(e,7N){D el=k(e);D t=el.B(\'4S\')||\'\';D r=el.B(\'5O\')||\'\';D b=el.B(\'5Q\')||\'\';D l=el.B(\'5b\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)||0};P E{t:t,r:r,b:b,l:l}},4a:u(2k){D x=2k.hT||(2k.gM+(1h.5d.3c||1h.2e.3c))||0;D y=2k.ki||(2k.iQ+(1h.5d.3d||1h.2e.3d))||0;E{x:x,y:y}},cI:u(4R,cx){cx(4R);4R=4R.7c;7d(4R){k.1a.cI(4R,cx);4R=4R.hQ}},h7:u(4R){k.1a.cI(4R,u(el){24(D 1p in el){if(2g el[1p]===\'u\'){el[1p]=S}}})},hV:u(el,1O){D 5l=k.1a.6z();D b6=k.1a.2o(el);if(!1O||1O==\'49\')k(el).B({Q:5l.t+((18.3r(5l.h,5l.ih)-5l.t-b6.hb)/2)+\'U\'});if(!1O||1O==\'4j\')k(el).B({O:5l.l+((18.3r(5l.w,5l.iw)-5l.l-b6.1C)/2)+\'U\'})},hW:u(el,dk){D 1Q=k(\'1T[@2J*="8X"]\',el||1h),8X;1Q.1E(u(){8X=q.2J;q.2J=dk;q.14.5E="9n:9w.9y.hE(2J=\'"+8X+"\')"})}};[].3J||(7F.hF.3J=u(v,n){n=(n==S)?0:n;D m=q.1g;24(D i=n;i<m;i++)if(q[i]==v)E i;E-1});',62,1293,'||||||||||||||||||||jQuery||||||this||||function||||||dragCfg|css|elm|var|return|dragged|easing|speed|false|callback|get|ss|options|iAuto|left|else|top|iResize|null|parseInt|px|oldStyle|height|slideshow|position|width||iDrag|new||style||||Math|display|iUtil|true|helper|subject|case|autoCFG|length|document|dropCfg|iEL|resizeOptions|carouselCfg|duration|interfaceFX|none|attr|sizes|break|pointer|iSort|type|ImageBox|queue|iDrop|iAutoscroller|slide|resizeElement|oC|wb|apply|each|fisheyeCfg|opacity|delta|newSizes|bind|constructor|custom|pos|size|axis|absolute|images|items|append|img|slideslinks|255|firstNum|window|show|container||complete|div|extend|for||start||cont|elsToScroll|100|loader|oR||body|elem|typeof|selectedItem|oldP|props|event|accordionCfg|parseFloat|field|getSize|containment|ny|build|relative|iTooltip|islideshow|nx|tp|slideCaption|value|newPosition|Function|block|selectHelper|step|border|itemWidth|hide|dequeue|timer|src|hidden|right|limit|nr|fractions|0px|PI|addClass|direction|end|overflow|cursorAt|result|parentData|onShow|onChange|to|parentNode|||||||||browser|iSlider|scrollLeft|scrollTop|scr|transferHelper|text|href|onHide|pre|selectdrug|className|switch|visibility|item|wrapper|unbind|max|nextslide|values|currentslide|handle|getPosition|html|newCoords|prevslide|iframe|iExpander|accept|mousemove|canvas|createElement|margins|onSlide|zIndex|indexOf|pressedKey|min|valueToAdd|multipleSeparator|pageSize|zones|highlighted|toggle|abs|onStop|dragElem|times|fadeDuration|diff|dhs|handlers||resizeDirection||vp|so|distance|ghosting||test|vertically|getPointer|startTop|offsetWidth|subjectValue|lastSuggestion|DropOutDirectiont|title|wrs|removeClass|horizontally|startLeft|out|onDrag|oP|onStart|nWidth|percent|down|ifxFirstDisplay|msie|iteration|ratio|clear|color|lastValue|slideCfg|fontSize|currentPointer|dimm|bottom|replace|up|prevImage|tooltipCFG|rel|els|fxCheckTag|context|nextImage|params|shs|fieldData|elToScroll|nodeEl|borderTopWidth|chunks|destroy|string|nHeight|paddingLeft|tagName|currentStyle||halign|slidePos|onclick|delay||containerW|from|helperclass|endLeft|endTop|borderLeftWidth|dragmoveBy|documentElement|dhe|newStyles|clonedEl|click|si|marginLeft|marginBottom|clientScroll|OpenClose|paddingBottom|empty|toWrite|selectionStart|overzone|toAdd|onDragModifier|holder|mousedown|animate|toDrag|cnt|marginRight|linksPosition|blur|getAttribute|hight|filter|sw|zoney|cos|slideshows|zonex|marginTop|collected|paddingTop|url|borderRightWidth|mouseup|borderBottomWidth|activeLinkClass|dragHandle|clearInterval|paddingRight|sortCfg|offsetHeight|prop|oldVisibility|styles||BlindDirection|point|fxh|nmp|old|post|currentPanel|onSelect|elementData|grid|pow|toLowerCase|animationHandler|cur|containerH|close|puff|getWidth|currentRel|imageEl|Expander|getHeight|iFisheye|random|newDimensions|itemHeight|reflections|sliders|selRange|wr|orig|margin|maxWidth|keyup|getScroll|captionText|totalImages|128|parseColor|curCSS|outerContainer|Scale|restore|tolerance|selection|focus|caption|snapDistance|revert|current|3000|captionPosition|hpc|onload|class|getBorder|setInterval|oldStyleAttr|rule|rgb|open|minLeft|ActiveXObject|oldDisplay|restoreStyle|getSizeLite||nw|0x||F0|fadeOut|focused|firstChild|while|cssRules|fadeIn|Date|minTop|backgroundColor|sc|nbsp|hash|captionEl|selectKeyHelper|selectCurrent|newTop|init|newLeft|changed|Draggable|inFrontOf|efx|139|onHover|onOut|getTime|np|keydown|split|radiusY|increment|Array|getPositionLite|selectClass|opera|onHighlight|keyCode|charCode|Object|toInteger|frameClass|hasTabsEnabled|zonew|user|zoneh|positionItems|onClick|oD|scrollIntoView|accordionPos|proximity|indic||data|containerSize|sin|iTTabs||ts|ImageBoxPrevImage|ImageBoxNextImage|imageSrc|newPos|maxHeight|minHeight|elS|activeClass|panels|maxBottom|maxRight|ser|move|opened|bounceout|animationInProgress|overlay|stop|reflectionSize|fnc|classname|insideParent|offsetLeft|jEl|nRy|pr|serialize|nRx|tooltipHelper|cssSides|mouseout|select|count|namedColors|padding|offsetTop|directionIncrement|parentEl|400|dir|expand|createTextNode|finishedPre|clientHeight|li|applyOn|content|contBorders|object|parentBorders|alpha|clientWidth|png|gallery|fontWeight|link|yproc|xproc|sx|parent|showImage|selectedone|imgs|onselect|sy|startDrag|cursor|captionClass|onselectstop|getElementById|linksClass|sh|ul|onActivate|isDroppable|nextEl|onDrop|oldTitle|progid|prevslideClass|prevEl|oldPosition|SliderContainer|Image|linkRel|selectKeyUp|selectKeyDown|DXImageTransform|inCache|Microsoft|mouseover|dragstop|diffX|211|nextslideClass|prot|auto|dEs|hidehelper|isDraggable|activeclass|unit|DoFold|unfold|nodeName|startTime|buildWrapper|prev|1px|oldColor|setTimeout|ScrollTo|st|sl|cssText|9999|next|destroyWrapper|opt|diffHeight|diffWidth|exec|hoverclass|image|blind|borderColor|sideEnd|self|key||default|2000|styleSheets|getValues|192|diffY|lnk|reflexions|checkhover|selectcheck|maxRotation|ImageBoxOuterContainer|gradient|panelHeight|childs|headers|ne|hideImage|minWidth|iIndex|itemsText|os|side|iCarousel|5625|1000|itemMinWidth|linksSeparator|setSelectionRange|protectRotation|positionContainer|posx|hoverClass|valToAdd|minchars|helperClass|source|nextImageEl|preventDefault|multiple|headerSelector|DraggableDestroy|getPadding|autofill|handleEl|stopPropagation|prevImageEl|getFieldValues|panelSelector|String|createTextRange|floats|lastSi|shrink|oPad|windowSize|paddingLeftSize|angle|paddingY|paddingX|RegExp|borderRightSize|floatVal|firstStep|pulse|Pulsate|Color|rotationSpeed|paddingBottomSize|remove|parseStyle|getClient|Number|helperSize|bounce|doTab||zoom|borderLeftSize|oBor|paddingRightSize|borderTopSize|paddingTopSize|stopAnim|pValue|borderBottomSize|extraWidth|restricted|autoSize|unselectable|SliderIteration|prepend|clearTimeout|isSlider|oneIsSortable|applyOnHover|tooltipURL|tabindex|draginit|mouse|restoreStyles|sliderSize|sliderPos|parentPos|cancelBubble|autocomplete|inputWidth|oldBorder|dragmove|clnt|sliderEl|returnValue|loaderWidth|idsa|letterSpacing|pause|getContainment|fade|snapToGrid|linear|10000|slideshowHolder|asin|cssSidesEnd|borderWidth|fitToContainer|TEXTAREA|entities|INPUT|spacer|writeItems|character|currentValue|paddings|169|oldFloat|borders|hidefocused|bouncein||modifyContainer|transparent|center|loadImage|func|getMargins|initialPosition|textAlign|innerHeight|Alpha|no|captionImages|closeEl|shake|prevTop|traverseDOM|Selectserialize|stopDrag|slider|ImageBoxCaption|ImageBoxIframe|300|ImageBoxOverlay|sortable|moveDrag|autoplay|measure|prevLeft|intersect|ImageBoxCurrentImage|selectstop|Shake|index|dragEl|keyPressed|scrollHeight|scroll|innerWidth|match|elPosition|scrollWidth|textImage|slideBor|jpg|captionSize|textImageFrom|visible||loaderHeight|ImageBoxCaptionImages||hoverItem|clickItem|emptyGIF||notColor|slideshowCaption|Droppable|goprev|childNodes|autocompleteHelper|autocompleteIframe|slidePad|fit|165|clientSize|||fontFamily|colorCssProps|elType|onhover|cssProps|expanderHelper|boxModel|itransferTo|keypress|moveStart|offsetParent|Width|selectstart|fxe|selectionEnd|checkCache|fontStyle|update|DroppableDestroy|remeasure|fontStretch|fontVariant|onblur|slideshowLoader|htmlEntities|wordSpacing|createRange|224|KhtmlUserSelect||closeHTML|on|sortHelper|245|userSelect|dragHelper|hrefAttr|dragstart|107|loaderSRC|highlight|slideshowPrevslide||gonext||styleFloat|frameborder|javascript|||relAttr|wid|scrolling||onslide|||listStyle|imageTypes|insertBefore|999|textDecoration|sqrt|140|230|maxy|240|ImageBoxContainer|doScroll|interval|set|dragmoveByKey|protect|ImageBoxCaptionText|144|ImageBoxLoader|off|checkdrop|isSelectable|hlt|30px|selectedclass|tooltipTitle|imagebox|shc|overlayOpacity|selRange2|slideshowNextSlide|gif|getSelectionStart|360|iAccordion|getElementsByTagName|iBounce|after|SortableAddItem|onResize|150|itemZIndex|grow|getHeightMinMax|borderTopUnit|selectcheckApply|borderRightUnit|zindex|fontUnit|togglehor|time|se|parte|easeout|isSortable||SlideInUp|fold|SlideOutUp|rgba|addColorStop|yfrac|containerMaxx|interfaceColorFX|containerMaxy||leftUnit|mousex||radiusX|check|getContext|xfrac|addItem|topUnit|fracH|cloneNode|togglever|paddingLeftUnit|borderBottomUnit|finish|onDragStop|onout|posy|isFunction|oldOverflow|directions|vertical|fracW|fakeAccordionClass|parts|fadeTo|inputValue|xml|selectstopApply|slideshowLinks|onDragStart|BlindUp|paddingTopUnit|500|trim|maxx|borderLeftUnit|paddingRightUnit|filteredPosition|BlindDown|paddingBottomUnit|horizontal|valign|find|ImageBoxClose|onselectstart|mozUserSelect|ondragstart|scale|110|globalCompositeOperation|bmp||drawImage|ondrop|password|quot||save|starty|jpeg|||number|startx|finishOpacity|hover|recallDroppables|flipv|finishx|destination|khtml|moz|lt|amp|pW|clientX|Accordion|translate|captiontext|elasticin|slideshowLink|fix|elasticout|resize|elasticboth|bounceboth|984375|9375|Selectable|30002|list|625|30001|nodeValue|before|100000|purgeEvents|substr|duplicate|moveEnd|||substring|success|param|par|array|Fisheye|name|POST|ajax|easeboth|location|fromHandler|collapse|MozUserSelect||ResizableDestroy|rotationTimer|fillRect|fill|WebKit|fillStyle|createLinearGradient|Resizable|navigator|appVersion|lineHeigt|alt|AlphaImageLoader|prototype|SliderGetValues|DisableTabs|Carousel|load|easein|IMG|200|Slider|ToolTip|wh|nextSibling|Autocomplete|SliderSetValues|pageX|float|centerEl|fixPNG|isNaN|dotted|dashed|stopAll|Left|outlineColor|Top|Right|Bottom|solid|double|selectorText|rules|onchange|SlideToggleRight|SlideOutRight||borderStyle||TransferTo||groove|ridge|inset|outset|borderTopColor||borderRightColor|olive|navy|orange||pink|203|maroon||magenta|182|193|lightyellow|lime|purple|red|outlineOffset|outlineWidth|borderBottomColor|borderLeftColor|lineHeight|loading|silver|white|yellow|Showing|100000000|SlideInRight|clientY|Highlight|SortableDestroy|CloseVertically|CloseHorizontally|FoldToggle|UnFold|SlideInDown|SlideToggleUp|SortSerialize|Fold|SwitchHorizontally|SwitchVertically|Sortable|scrollTo|EnableTabs|ScrollToAnchors|pt|Puff|OpenVertically|OpenHorizontally|Grow|Shrink|DropToggleRight|DropInRight|BlindToggleHorizontally|BlindRight|http|Bounce|120|BlindLeft|BlindToggleVertically|SlideToggleLeft|SlideOutLeft|toUpperCase|SlideInLeft|SlideToggleDown|SlideOutDown|DropOutLeft|DropInLeft|DropToggleLeft|DropOutRight|DropToggleUp|DropInUp|DropOutDown|DropInDown|DropToggleDown|DropOutUp|lightpink|textIndent|aqua|appendChild|azure|beige|220|last|cssFloat|first|ol|wrapEl|fxWrapper|black|imageLoaded|darkkhaki|darkgreen|189|183|darkmagenta|firstResize|darkgrey|brown|cyan|darkblue|darkcyan|table|form|col|tfoot|colgroup|th|header|thead|tbody|112|Autoexpand|tr|td|script|frame|input|pageY|textarea|button|w_|removeChild|frameset|option|optgroup|meta|darkolivegreen|blue|122|233|green|lightcyan|204|darkviolet|lightgreen|indigo|216|khaki|darksalmon|130|darkred|lightblue|148|173|215|238|fuchsia|gold|darkorchid|153|darkorange|lightgrey'.split('|'),0,{}))
|
|
9 |
*
|
10 |
*
|
11 |
*/
|
12 |
+
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('k.f2={2r:u(M){E q.1E(u(){if(!M.aR||!M.aZ)E;D el=q;el.2l={aq:M.aq||cO,aR:M.aR,aZ:M.aZ,8e:M.8e||\'fV\',aJ:M.aJ||\'fV\',2Y:M.2Y&&2g M.2Y==\'u\'?M.2Y:I,3i:M.2Y&&2g M.3i==\'u\'?M.3i:I,7U:M.7U&&2g M.7U==\'u\'?M.7U:I,as:k(M.aR,q),8f:k(M.aZ,q),H:M.H||8J,67:M.67||0};el.2l.8f.2G().B(\'W\',\'9R\').eq(0).B({W:el.2l.aq+\'U\',19:\'2B\'}).2T();el.2l.as.1E(u(2N){q.7X=2N}).gC(u(){k(q).2R(el.2l.aJ)},u(){k(q).4i(el.2l.aJ)}).1J(\'5h\',u(e){if(el.2l.67==q.7X)E;el.2l.as.eq(el.2l.67).4i(el.2l.8e).2T().eq(q.7X).2R(el.2l.8e).2T();el.2l.8f.eq(el.2l.67).5w({W:0},el.2l.H,u(){q.14.19=\'1o\';if(el.2l.3i){el.2l.3i.1D(el,[q])}}).2T().eq(q.7X).1Y().5w({W:el.2l.aq},el.2l.H,u(){q.14.19=\'2B\';if(el.2l.2Y){el.2l.2Y.1D(el,[q])}}).2T();if(el.2l.7U){el.2l.7U.1D(el,[q,el.2l.8f.K(q.7X),el.2l.as.K(el.2l.67),el.2l.8f.K(el.2l.67)])}el.2l.67=q.7X}).eq(0).2R(el.2l.8e).2T();k(q).B(\'W\',k(q).B(\'W\')).B(\'2U\',\'2K\')})}};k.fn.gN=k.f2.2r;k.aA={2r:u(M){E q.1E(u(){D el=q;D 7E=2*18.2Q/f1;D an=2*18.2Q;if(k(el).B(\'Y\')!=\'2s\'&&k(el).B(\'Y\')!=\'1P\'){k(el).B(\'Y\',\'2s\')}el.1l={1R:k(M.1R,q),2F:M.2F,6q:M.6q,aD:M.aD,an:an,1N:k.1a.2o(q),Y:k.1a.3w(q),26:18.2Q/2,bi:M.bi,8p:M.6r,6r:[],aG:I,7E:2*18.2Q/f1};el.1l.fB=(el.1l.1N.w-el.1l.2F)/2;el.1l.7D=(el.1l.1N.h-el.1l.6q-el.1l.6q*el.1l.8p)/2;el.1l.2D=2*18.2Q/el.1l.1R.1N();el.1l.ba=el.1l.1N.w/2;el.1l.b9=el.1l.1N.h/2-el.1l.6q*el.1l.8p;D ak=1h.3F(\'22\');k(ak).B({Y:\'1P\',3I:1,Q:0,O:0});k(el).1S(ak);el.1l.1R.1E(u(2N){a6=k(\'1T\',q).K(0);W=T(el.1l.6q*el.1l.8p);if(k.3a.4t){3E=1h.3F(\'1T\');k(3E).B(\'Y\',\'1P\');3E.2J=a6.2J;3E.14.5E=\'gE 9n:9w.9y.cC(1G=60, 14=1, gB=0, gA=0, gv=0, gF=0)\'}P{3E=1h.3F(\'3E\');if(3E.fD){4L=3E.fD("2d");3E.14.Y=\'1P\';3E.14.W=W+\'U\';3E.14.Z=el.1l.2F+\'U\';3E.W=W;3E.Z=el.1l.2F;4L.gu();4L.gO(0,W);4L.gk(1,-1);4L.gp(a6,0,0,el.1l.2F,W);4L.6H();4L.gm="gG-4l";D ap=4L.hy(0,0,0,W);ap.fs(1,"fr(1V, 1V, 1V, 1)");ap.fs(0,"fr(1V, 1V, 1V, 0.6)");4L.hx=ap;if(hA.hB.3J(\'hw\')!=-1){4L.hv()}P{4L.hu(0,0,el.1l.2F,W)}}}el.1l.6r[2N]=3E;k(ak).1S(3E)}).1J(\'9z\',u(e){el.1l.aG=1b;el.1l.H=el.1l.7E*0.1*el.1l.H/18.3S(el.1l.H);E I}).1J(\'8B\',u(e){el.1l.aG=I;E I});k.aA.7T(el);el.1l.H=el.1l.7E*0.2;el.1l.ht=1X.6V(u(){el.1l.26+=el.1l.H;if(el.1l.26>an)el.1l.26=0;k.aA.7T(el)},20);k(el).1J(\'8B\',u(){el.1l.H=el.1l.7E*0.2*el.1l.H/18.3S(el.1l.H)}).1J(\'3D\',u(e){if(el.1l.aG==I){1s=k.1a.4a(e);fz=el.1l.1N.w-1s.x+el.1l.Y.x;el.1l.H=el.1l.bi*el.1l.7E*(el.1l.1N.w/2-fz)/(el.1l.1N.w/2)}})})},7T:u(el){el.1l.1R.1E(u(2N){b8=el.1l.26+2N*el.1l.2D;x=el.1l.fB*18.5H(b8);y=el.1l.7D*18.83(b8);f9=T(2a*(el.1l.7D+y)/(2*el.1l.7D));fk=(el.1l.7D+y)/(2*el.1l.7D);Z=T((el.1l.2F-el.1l.aD)*fk+el.1l.aD);W=T(Z*el.1l.6q/el.1l.2F);q.14.Q=el.1l.b9+y-W/2+"U";q.14.O=el.1l.ba+x-Z/2+"U";q.14.Z=Z+"U";q.14.W=W+"U";q.14.3I=f9;el.1l.6r[2N].14.Q=T(el.1l.b9+y+W-1-W/2)+"U";el.1l.6r[2N].14.O=T(el.1l.ba+x-Z/2)+"U";el.1l.6r[2N].14.Z=Z+"U";el.1l.6r[2N].14.W=T(W*el.1l.8p)+"U"})}};k.fn.hI=k.aA.2r;k.23({G:{c8:u(p,n,1W,1H,1m){E((-18.5H(p*18.2Q)/2)+0.5)*1H+1W},hK:u(p,n,1W,1H,1m){E 1H*(n/=1m)*n*n+1W},fl:u(p,n,1W,1H,1m){E-1H*((n=n/1m-1)*n*n*n-1)+1W},hm:u(p,n,1W,1H,1m){if((n/=1m/2)<1)E 1H/2*n*n*n*n+1W;E-1H/2*((n-=2)*n*n*n-2)+1W},8l:u(p,n,1W,1H,1m){if((n/=1m)<(1/2.75)){E 1H*(7.aB*n*n)+1W}P if(n<(2/2.75)){E 1H*(7.aB*(n-=(1.5/2.75))*n+.75)+1W}P if(n<(2.5/2.75)){E 1H*(7.aB*(n-=(2.25/2.75))*n+.gY)+1W}P{E 1H*(7.aB*(n-=(2.h2/2.75))*n+.gX)+1W}},cr:u(p,n,1W,1H,1m){if(k.G.8l)E 1H-k.G.8l(p,1m-n,0,1H,1m)+1W;E 1W+1H},gW:u(p,n,1W,1H,1m){if(k.G.cr&&k.G.8l)if(n<1m/2)E k.G.cr(p,n*2,0,1H,1m)*.5+1W;E k.G.8l(p,n*2-1m,0,1H,1m)*.5+1H*.5+1W;E 1W+1H},gQ:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m)==1)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}E-(a*18.6b(2,10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p))+1W},gT:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m/2)==2)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}E a*18.6b(2,-10*n)*18.83((n*1m-s)*(2*18.2Q)/p)+1H+1W},gV:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m/2)==2)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}if(n<1){E-.5*(a*18.6b(2,10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p))+1W}E a*18.6b(2,-10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p)*.5+1H+1W}}});k.6n={2r:u(M){E q.1E(u(){D el=q;el.1F={1R:k(M.1R,q),1Z:k(M.1Z,q),1M:k.1a.3w(q),2F:M.2F,ax:M.ax,7Y:M.7Y,ge:M.ge,51:M.51,6x:M.6x};k.6n.aH(el,0);k(1X).1J(\'gU\',u(){el.1F.1M=k.1a.3w(el);k.6n.aH(el,0);k.6n.7T(el)});k.6n.7T(el);el.1F.1R.1J(\'9z\',u(){k(el.1F.ax,q).K(0).14.19=\'2B\'}).1J(\'8B\',u(){k(el.1F.ax,q).K(0).14.19=\'1o\'});k(1h).1J(\'3D\',u(e){D 1s=k.1a.4a(e);D 5s=0;if(el.1F.51&&el.1F.51==\'cv\')D aI=1s.x-el.1F.1M.x-(el.4c-el.1F.2F*el.1F.1R.1N())/2-el.1F.2F/2;P if(el.1F.51&&el.1F.51==\'2L\')D aI=1s.x-el.1F.1M.x-el.4c+el.1F.2F*el.1F.1R.1N();P D aI=1s.x-el.1F.1M.x;D fP=18.6b(1s.y-el.1F.1M.y-el.5W/2,2);el.1F.1R.1E(u(2N){45=18.ez(18.6b(aI-2N*el.1F.2F,2)+fP);45-=el.1F.2F/2;45=45<0?0:45;45=45>el.1F.7Y?el.1F.7Y:45;45=el.1F.7Y-45;bB=el.1F.6x*45/el.1F.7Y;q.14.Z=el.1F.2F+bB+\'U\';q.14.O=el.1F.2F*2N+5s+\'U\';5s+=bB});k.6n.aH(el,5s)})})},aH:u(el,5s){if(el.1F.51)if(el.1F.51==\'cv\')el.1F.1Z.K(0).14.O=(el.4c-el.1F.2F*el.1F.1R.1N())/2-5s/2+\'U\';P if(el.1F.51==\'O\')el.1F.1Z.K(0).14.O=-5s/el.1F.1R.1N()+\'U\';P if(el.1F.51==\'2L\')el.1F.1Z.K(0).14.O=(el.4c-el.1F.2F*el.1F.1R.1N())-5s/2+\'U\';el.1F.1Z.K(0).14.Z=el.1F.2F*el.1F.1R.1N()+5s+\'U\'},7T:u(el){el.1F.1R.1E(u(2N){q.14.Z=el.1F.2F+\'U\';q.14.O=el.1F.2F*2N+\'U\'})}};k.fn.hi=k.6n.2r;k.N={1c:S,8R:S,3A:S,2I:S,4y:S,cl:S,1d:S,2h:S,1R:S,5o:u(){k.N.8R.5o();if(k.N.3A){k.N.3A.2G()}},4w:u(){k.N.1R=S;k.N.2h=S;k.N.4y=k.N.1d.2y;if(k.N.1c.B(\'19\')==\'2B\'){if(k.N.1d.1f.fx){3m(k.N.1d.1f.fx.1u){1e\'c6\':k.N.1c.7a(k.N.1d.1f.fx.1m,k.N.5o);1r;1e\'1z\':k.N.1c.fq(k.N.1d.1f.fx.1m,k.N.5o);1r;1e\'a7\':k.N.1c.g3(k.N.1d.1f.fx.1m,k.N.5o);1r}}P{k.N.1c.2G()}if(k.N.1d.1f.3i)k.N.1d.1f.3i.1D(k.N.1d,[k.N.1c,k.N.3A])}P{k.N.5o()}1X.bH(k.N.2I)},dQ:u(){D 1d=k.N.1d;D 4d=k.N.aY(1d);if(1d&&4d.3o!=k.N.4y&&4d.3o.1g>=1d.1f.aL){k.N.4y=4d.3o;k.N.cl=4d.3o;81={2n:k(1d).1p(\'hj\')||\'2n\',2y:4d.3o};k.hl({1u:\'hk\',81:k.hf(81),he:u(fZ){1d.1f.4e=k(\'3o\',fZ);1N=1d.1f.4e.1N();if(1N>0){D 5p=\'\';1d.1f.4e.1E(u(2N){5p+=\'<8P 4I="\'+k(\'2y\',q).3g()+\'" 8K="\'+2N+\'" 14="9b: ad;">\'+k(\'3g\',q).3g()+\'</8P>\'});if(1d.1f.aU){D 3M=k(\'2y\',1d.1f.4e.K(0)).3g();1d.2y=4d.3j+3M+1d.1f.3N+4d.66;k.N.6J(1d,4d.3o.1g!=3M.1g?(4d.3j.1g+4d.3o.1g):3M.1g,4d.3o.1g!=3M.1g?(4d.3j.1g+3M.1g):3M.1g)}if(1N>0){k.N.cj(1d,5p)}P{k.N.4w()}}P{k.N.4w()}},5N:1d.1f.aN})}},cj:u(1d,5p){k.N.8R.3x(5p);k.N.1R=k(\'8P\',k.N.8R.K(0));k.N.1R.9z(k.N.di).1J(\'5h\',k.N.dj);D Y=k.1a.3w(1d);D 1N=k.1a.2o(1d);k.N.1c.B(\'Q\',Y.y+1N.hb+\'U\').B(\'O\',Y.x+\'U\').2R(1d.1f.aM);if(k.N.3A){k.N.3A.B(\'19\',\'2B\').B(\'Q\',Y.y+1N.hb+\'U\').B(\'O\',Y.x+\'U\').B(\'Z\',k.N.1c.B(\'Z\')).B(\'W\',k.N.1c.B(\'W\'))}k.N.2h=0;k.N.1R.K(0).3l=1d.1f.7H;k.N.8Q(1d,1d.1f.4e.K(0),\'7J\');if(k.N.1c.B(\'19\')==\'1o\'){if(1d.1f.bV){D cp=k.1a.aT(1d,1b);D cm=k.1a.6U(1d,1b);k.N.1c.B(\'Z\',1d.4c-(k.dF?(cp.l+cp.r+cm.l+cm.r):0)+\'U\')}if(1d.1f.fx){3m(1d.1f.fx.1u){1e\'c6\':k.N.1c.7f(1d.1f.fx.1m);1r;1e\'1z\':k.N.1c.fo(1d.1f.fx.1m);1r;1e\'a7\':k.N.1c.gb(1d.1f.fx.1m);1r}}P{k.N.1c.1Y()}if(k.N.1d.1f.2Y)k.N.1d.1f.2Y.1D(k.N.1d,[k.N.1c,k.N.3A])}},dO:u(){D 1d=q;if(1d.1f.4e){k.N.4y=1d.2y;k.N.cl=1d.2y;D 5p=\'\';1d.1f.4e.1E(u(2N){2y=k(\'2y\',q).3g().6c();fY=1d.2y.6c();if(2y.3J(fY)==0){5p+=\'<8P 4I="\'+k(\'2y\',q).3g()+\'" 8K="\'+2N+\'" 14="9b: ad;">\'+k(\'3g\',q).3g()+\'</8P>\'}});if(5p!=\'\'){k.N.cj(1d,5p);q.1f.9x=1b;E}}1d.1f.4e=S;q.1f.9x=I},6J:u(2n,26,2T){if(2n.b1){D 6t=2n.b1();6t.hp(1b);6t.dI("ck",26);6t.ha("ck",-2T+26);6t.8C()}P if(2n.aF){2n.aF(26,2T)}P{if(2n.5q){2n.5q=26;2n.dN=2T}}2n.6K()},f0:u(2n){if(2n.5q)E 2n.5q;P if(2n.b1){D 6t=1h.6J.dZ();D eX=6t.h9();E 0-eX.dI(\'ck\',-h6)}},aY:u(2n){D 4P={2y:2n.2y,3j:\'\',66:\'\',3o:\'\'};if(2n.1f.aQ){D 8N=I;D 5q=k.N.f0(2n)||0;D 4T=4P.2y.7C(2n.1f.3N);24(D i=0;i<4T.1g;i++){if((4P.3j.1g+4T[i].1g>=5q||5q==0)&&!8N){if(4P.3j.1g<=5q)4P.3o=4T[i];P 4P.66+=4T[i]+(4T[i]!=\'\'?2n.1f.3N:\'\');8N=1b}P if(8N){4P.66+=4T[i]+(4T[i]!=\'\'?2n.1f.3N:\'\')}if(!8N){4P.3j+=4T[i]+(4T.1g>1?2n.1f.3N:\'\')}}}P{4P.3o=4P.2y}E 4P},bU:u(e){1X.bH(k.N.2I);D 1d=k.N.aY(q);D 3K=e.7L||e.7K||-1;if(/13|27|35|36|38|40|9/.48(3K)&&k.N.1R){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}if(k.N.2h!=S)k.N.1R.K(k.N.2h||0).3l=\'\';P k.N.2h=-1;3m(3K){1e 9:1e 13:if(k.N.2h==-1)k.N.2h=0;D 2h=k.N.1R.K(k.N.2h||0);D 3M=2h.5C(\'4I\');q.2y=1d.3j+3M+q.1f.3N+1d.66;k.N.4y=1d.3o;k.N.6J(q,1d.3j.1g+3M.1g+q.1f.3N.1g,1d.3j.1g+3M.1g+q.1f.3N.1g);k.N.4w();if(q.1f.68){4u=T(2h.5C(\'8K\'))||0;k.N.8Q(q,q.1f.4e.K(4u),\'68\')}if(q.7W)q.7W(I);E 3K!=13;1r;1e 27:q.2y=1d.3j+k.N.4y+q.1f.3N+1d.66;q.1f.4e=S;k.N.4w();if(q.7W)q.7W(I);E I;1r;1e 35:k.N.2h=k.N.1R.1N()-1;1r;1e 36:k.N.2h=0;1r;1e 38:k.N.2h--;if(k.N.2h<0)k.N.2h=k.N.1R.1N()-1;1r;1e 40:k.N.2h++;if(k.N.2h==k.N.1R.1N())k.N.2h=0;1r}k.N.8Q(q,q.1f.4e.K(k.N.2h||0),\'7J\');k.N.1R.K(k.N.2h||0).3l=q.1f.7H;if(k.N.1R.K(k.N.2h||0).7W)k.N.1R.K(k.N.2h||0).7W(I);if(q.1f.aU){D aK=k.N.1R.K(k.N.2h||0).5C(\'4I\');q.2y=1d.3j+aK+q.1f.3N+1d.66;if(k.N.4y.1g!=aK.1g)k.N.6J(q,1d.3j.1g+k.N.4y.1g,1d.3j.1g+aK.1g)}E I}k.N.dO.1D(q);if(q.1f.9x==I){if(1d.3o!=k.N.4y&&1d.3o.1g>=q.1f.aL)k.N.2I=1X.9T(k.N.dQ,q.1f.54);if(k.N.1R){k.N.4w()}}E 1b},8Q:u(2n,3o,1u){if(2n.1f[1u]){D 81={};ar=3o.f3(\'*\');24(i=0;i<ar.1g;i++){81[ar[i].4Y]=ar[i].7c.h4}2n.1f[1u].1D(2n,[81])}},di:u(e){if(k.N.1R){if(k.N.2h!=S)k.N.1R.K(k.N.2h||0).3l=\'\';k.N.1R.K(k.N.2h||0).3l=\'\';k.N.2h=T(q.5C(\'8K\'))||0;k.N.1R.K(k.N.2h||0).3l=k.N.1d.1f.7H}},dj:u(2k){1X.bH(k.N.2I);2k=2k||k.2k.gS(1X.2k);2k.aP();2k.aW();D 1d=k.N.aY(k.N.1d);D 3M=q.5C(\'4I\');k.N.1d.2y=1d.3j+3M+k.N.1d.1f.3N+1d.66;k.N.4y=q.5C(\'4I\');k.N.6J(k.N.1d,1d.3j.1g+3M.1g+k.N.1d.1f.3N.1g,1d.3j.1g+3M.1g+k.N.1d.1f.3N.1g);k.N.4w();if(k.N.1d.1f.68){4u=T(q.5C(\'8K\'))||0;k.N.8Q(k.N.1d,k.N.1d.1f.4e.K(4u),\'68\')}E I},eJ:u(e){3K=e.7L||e.7K||-1;if(/13|27|35|36|38|40/.48(3K)&&k.N.1R){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}E I}},2r:u(M){if(!M.aN||!k.1a){E}if(!k.N.1c){if(k.3a.4t){k(\'2e\',1h).1S(\'<3A 14="19:1o;Y:1P;5E:9n:9w.9y.cC(1G=0);" id="ds" 2J="ek:I;" ej="0" ep="cD"></3A>\');k.N.3A=k(\'#ds\')}k(\'2e\',1h).1S(\'<22 id="dr" 14="Y: 1P; Q: 0; O: 0; z-cZ: h3; 19: 1o;"><9h 14="6w: 0;8F: 0; h1-14: 1o; z-cZ: h0;">&7k;</9h></22>\');k.N.1c=k(\'#dr\');k.N.8R=k(\'9h\',k.N.1c)}E q.1E(u(){if(q.4Y!=\'ch\'&&q.5C(\'1u\')!=\'3g\')E;q.1f={};q.1f.aN=M.aN;q.1f.aL=18.3S(T(M.aL)||1);q.1f.aM=M.aM?M.aM:\'\';q.1f.7H=M.7H?M.7H:\'\';q.1f.68=M.68&&M.68.1K==2A?M.68:S;q.1f.2Y=M.2Y&&M.2Y.1K==2A?M.2Y:S;q.1f.3i=M.3i&&M.3i.1K==2A?M.3i:S;q.1f.7J=M.7J&&M.7J.1K==2A?M.7J:S;q.1f.bV=M.bV||I;q.1f.aQ=M.aQ||I;q.1f.3N=q.1f.aQ?(M.3N||\', \'):\'\';q.1f.aU=M.aU?1b:I;q.1f.54=18.3S(T(M.54)||aC);if(M.fx&&M.fx.1K==7M){if(!M.fx.1u||!/c6|1z|a7/.48(M.fx.1u)){M.fx.1u=\'1z\'}if(M.fx.1u==\'1z\'&&!k.fx.1z)E;if(M.fx.1u==\'a7\'&&!k.fx.61)E;M.fx.1m=18.3S(T(M.fx.1m)||8J);if(M.fx.1m>q.1f.54){M.fx.1m=q.1f.54-2a}q.1f.fx=M.fx}q.1f.4e=S;q.1f.9x=I;k(q).1p(\'bU\',\'eN\').6K(u(){k.N.1d=q;k.N.4y=q.2y}).dH(k.N.eJ).6y(k.N.bU).5B(u(){k.N.2I=1X.9T(k.N.4w,hM)})})}};k.fn.hR=k.N.2r;k.1y={2I:S,4Q:S,29:S,2D:10,26:u(el,4J,2D,eG){k.1y.4Q=el;k.1y.29=4J;k.1y.2D=T(2D)||10;k.1y.2I=1X.6V(k.1y.eF,T(eG)||40)},eF:u(){24(i=0;i<k.1y.29.1g;i++){if(!k.1y.29[i].2X){k.1y.29[i].2X=k.23(k.1a.7G(k.1y.29[i]),k.1a.74(k.1y.29[i]),k.1a.6z(k.1y.29[i]))}P{k.1y.29[i].2X.t=k.1y.29[i].3d;k.1y.29[i].2X.l=k.1y.29[i].3c}if(k.1y.4Q.A&&k.1y.4Q.A.7q==1b){69={x:k.1y.4Q.A.2v,y:k.1y.4Q.A.2q,1C:k.1y.4Q.A.1B.1C,hb:k.1y.4Q.A.1B.hb}}P{69=k.23(k.1a.7G(k.1y.4Q),k.1a.74(k.1y.4Q))}if(k.1y.29[i].2X.t>0&&k.1y.29[i].2X.y+k.1y.29[i].2X.t>69.y){k.1y.29[i].3d-=k.1y.2D}P if(k.1y.29[i].2X.t<=k.1y.29[i].2X.h&&k.1y.29[i].2X.t+k.1y.29[i].2X.hb<69.y+69.hb){k.1y.29[i].3d+=k.1y.2D}if(k.1y.29[i].2X.l>0&&k.1y.29[i].2X.x+k.1y.29[i].2X.l>69.x){k.1y.29[i].3c-=k.1y.2D}P if(k.1y.29[i].2X.l<=k.1y.29[i].2X.hP&&k.1y.29[i].2X.l+k.1y.29[i].2X.1C<69.x+69.1C){k.1y.29[i].3c+=k.1y.2D}}},8o:u(){1X.5T(k.1y.2I);k.1y.4Q=S;k.1y.29=S;24(i in k.1y.29){k.1y.29[i].2X=S}}};k.11={1c:S,F:S,4U:u(){E q.1E(u(){if(q.9I){q.A.5e.3q(\'5v\',k.11.bN);q.A=S;q.9I=I;if(k.3a.4t){q.bE="eN"}P{q.14.hq=\'\';q.14.e1=\'\';q.14.e7=\'\'}}})},bN:u(e){if(k.11.F!=S){k.11.9A(e);E I}D C=q.3U;k(1h).1J(\'3D\',k.11.bX).1J(\'5P\',k.11.9A);C.A.1s=k.1a.4a(e);C.A.4B=C.A.1s;C.A.7q=I;C.A.ho=q!=q.3U;k.11.F=C;if(C.A.5i&&q!=q.3U){bS=k.1a.3w(C.31);bQ=k.1a.2o(C);bR={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};dx=C.A.4B.x-bS.x-bQ.1C/2-bR.x;dy=C.A.4B.y-bS.y-bQ.hb/2-bR.y;k.3b.5c(C,[dx,dy])}E k.7n||I},ea:u(e){D C=k.11.F;C.A.7q=1b;D 9G=C.14;C.A.7V=k.B(C,\'19\');C.A.4n=k.B(C,\'Y\');if(!C.A.cz)C.A.cz=C.A.4n;C.A.2c={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};C.A.9B=0;C.A.ai=0;if(k.3a.4t){D bW=k.1a.6U(C,1b);C.A.9B=bW.l||0;C.A.ai=bW.t||0}C.A.1B=k.23(k.1a.3w(C),k.1a.2o(C));if(C.A.4n!=\'2s\'&&C.A.4n!=\'1P\'){9G.Y=\'2s\'}k.11.1c.5o();D 5g=C.fI(1b);k(5g).B({19:\'2B\',O:\'2P\',Q:\'2P\'});5g.14.5K=\'0\';5g.14.5z=\'0\';5g.14.5k=\'0\';5g.14.5j=\'0\';k.11.1c.1S(5g);D 3Y=k.11.1c.K(0).14;if(C.A.bD){3Y.Z=\'9F\';3Y.W=\'9F\'}P{3Y.W=C.A.1B.hb+\'U\';3Y.Z=C.A.1B.1C+\'U\'}3Y.19=\'2B\';3Y.5K=\'2P\';3Y.5z=\'2P\';3Y.5k=\'2P\';3Y.5j=\'2P\';k.23(C.A.1B,k.1a.2o(5g));if(C.A.2V){if(C.A.2V.O){C.A.2c.x+=C.A.1s.x-C.A.1B.x-C.A.2V.O;C.A.1B.x=C.A.1s.x-C.A.2V.O}if(C.A.2V.Q){C.A.2c.y+=C.A.1s.y-C.A.1B.y-C.A.2V.Q;C.A.1B.y=C.A.1s.y-C.A.2V.Q}if(C.A.2V.2L){C.A.2c.x+=C.A.1s.x-C.A.1B.x-C.A.1B.hb+C.A.2V.2L;C.A.1B.x=C.A.1s.x-C.A.1B.1C+C.A.2V.2L}if(C.A.2V.4D){C.A.2c.y+=C.A.1s.y-C.A.1B.y-C.A.1B.hb+C.A.2V.4D;C.A.1B.y=C.A.1s.y-C.A.1B.hb+C.A.2V.4D}}C.A.2v=C.A.2c.x;C.A.2q=C.A.2c.y;if(C.A.8s||C.A.2p==\'94\'){8U=k.1a.6U(C.31,1b);C.A.1B.x=C.8t+(k.3a.4t?0:k.3a.7I?-8U.l:8U.l);C.A.1B.y=C.8G+(k.3a.4t?0:k.3a.7I?-8U.t:8U.t);k(C.31).1S(k.11.1c.K(0))}if(C.A.2p){k.11.c5(C);C.A.5t.2p=k.11.ce}if(C.A.5i){k.3b.ct(C)}3Y.O=C.A.1B.x-C.A.9B+\'U\';3Y.Q=C.A.1B.y-C.A.ai+\'U\';3Y.Z=C.A.1B.1C+\'U\';3Y.W=C.A.1B.hb+\'U\';k.11.F.A.9E=I;if(C.A.gx){C.A.5t.6a=k.11.c7}if(C.A.3I!=I){k.11.1c.B(\'3I\',C.A.3I)}if(C.A.1G){k.11.1c.B(\'1G\',C.A.1G);if(1X.71){k.11.1c.B(\'5E\',\'8V(1G=\'+C.A.1G*2a+\')\')}}if(C.A.7O){k.11.1c.2R(C.A.7O);k.11.1c.K(0).7c.14.19=\'1o\'}if(C.A.4o)C.A.4o.1D(C,[5g,C.A.2c.x,C.A.2c.y]);if(k.1x&&k.1x.8D>0){k.1x.ed(C)}if(C.A.46==I){9G.19=\'1o\'}E I},c5:u(C){if(C.A.2p.1K==b0){if(C.A.2p==\'94\'){C.A.28=k.23({x:0,y:0},k.1a.2o(C.31));D 8S=k.1a.6U(C.31,1b);C.A.28.w=C.A.28.1C-8S.l-8S.r;C.A.28.h=C.A.28.hb-8S.t-8S.b}P if(C.A.2p==\'1h\'){D bY=k.1a.bm();C.A.28={x:0,y:0,w:bY.w,h:bY.h}}}P if(C.A.2p.1K==7F){C.A.28={x:T(C.A.2p[0])||0,y:T(C.A.2p[1])||0,w:T(C.A.2p[2])||0,h:T(C.A.2p[3])||0}}C.A.28.dx=C.A.28.x-C.A.1B.x;C.A.28.dy=C.A.28.y-C.A.1B.y},9H:u(F){if(F.A.8s||F.A.2p==\'94\'){k(\'2e\',1h).1S(k.11.1c.K(0))}k.11.1c.5o().2G().B(\'1G\',1);if(1X.71){k.11.1c.B(\'5E\',\'8V(1G=2a)\')}},9A:u(e){k(1h).3q(\'3D\',k.11.bX).3q(\'5P\',k.11.9A);if(k.11.F==S){E}D F=k.11.F;k.11.F=S;if(F.A.7q==I){E I}if(F.A.44==1b){k(F).B(\'Y\',F.A.4n)}D 9G=F.14;if(F.5i){k.11.1c.B(\'9b\',\'8j\')}if(F.A.7O){k.11.1c.4i(F.A.7O)}if(F.A.6N==I){if(F.A.fx>0){if(!F.A.1O||F.A.1O==\'4j\'){D x=12 k.fx(F,{1m:F.A.fx},\'O\');x.1L(F.A.2c.x,F.A.8y)}if(!F.A.1O||F.A.1O==\'49\'){D y=12 k.fx(F,{1m:F.A.fx},\'Q\');y.1L(F.A.2c.y,F.A.8v)}}P{if(!F.A.1O||F.A.1O==\'4j\')F.14.O=F.A.8y+\'U\';if(!F.A.1O||F.A.1O==\'49\')F.14.Q=F.A.8v+\'U\'}k.11.9H(F);if(F.A.46==I){k(F).B(\'19\',F.A.7V)}}P if(F.A.fx>0){F.A.9E=1b;D dh=I;if(k.1x&&k.1t&&F.A.44){dh=k.1a.3w(k.1t.1c.K(0))}k.11.1c.5w({O:dh?dh.x:F.A.1B.x,Q:dh?dh.y:F.A.1B.y},F.A.fx,u(){F.A.9E=I;if(F.A.46==I){F.14.19=F.A.7V}k.11.9H(F)})}P{k.11.9H(F);if(F.A.46==I){k(F).B(\'19\',F.A.7V)}}if(k.1x&&k.1x.8D>0){k.1x.eO(F)}if(k.1t&&F.A.44){k.1t.fC(F)}if(F.A.2Z&&(F.A.8y!=F.A.2c.x||F.A.8v!=F.A.2c.y)){F.A.2Z.1D(F,F.A.b3||[0,0,F.A.8y,F.A.8v])}if(F.A.3T)F.A.3T.1D(F);E I},c7:u(x,y,dx,dy){if(dx!=0)dx=T((dx+(q.A.gx*dx/18.3S(dx))/2)/q.A.gx)*q.A.gx;if(dy!=0)dy=T((dy+(q.A.gy*dy/18.3S(dy))/2)/q.A.gy)*q.A.gy;E{dx:dx,dy:dy,x:0,y:0}},ce:u(x,y,dx,dy){dx=18.3L(18.3r(dx,q.A.28.dx),q.A.28.w+q.A.28.dx-q.A.1B.1C);dy=18.3L(18.3r(dy,q.A.28.dy),q.A.28.h+q.A.28.dy-q.A.1B.hb);E{dx:dx,dy:dy,x:0,y:0}},bX:u(e){if(k.11.F==S||k.11.F.A.9E==1b){E}D F=k.11.F;F.A.4B=k.1a.4a(e);if(F.A.7q==I){45=18.ez(18.6b(F.A.1s.x-F.A.4B.x,2)+18.6b(F.A.1s.y-F.A.4B.y,2));if(45<F.A.6M){E}P{k.11.ea(e)}}D dx=F.A.4B.x-F.A.1s.x;D dy=F.A.4B.y-F.A.1s.y;24(D i in F.A.5t){D 3y=F.A.5t[i].1D(F,[F.A.2c.x+dx,F.A.2c.y+dy,dx,dy]);if(3y&&3y.1K==7M){dx=i!=\'7R\'?3y.dx:(3y.x-F.A.2c.x);dy=i!=\'7R\'?3y.dy:(3y.y-F.A.2c.y)}}F.A.2v=F.A.1B.x+dx-F.A.9B;F.A.2q=F.A.1B.y+dy-F.A.ai;if(F.A.5i&&(F.A.3H||F.A.2Z)){k.3b.3H(F,F.A.2v,F.A.2q)}if(F.A.4m)F.A.4m.1D(F,[F.A.2c.x+dx,F.A.2c.y+dy]);if(!F.A.1O||F.A.1O==\'4j\'){F.A.8y=F.A.2c.x+dx;k.11.1c.K(0).14.O=F.A.2v+\'U\'}if(!F.A.1O||F.A.1O==\'49\'){F.A.8v=F.A.2c.y+dy;k.11.1c.K(0).14.Q=F.A.2q+\'U\'}if(k.1x&&k.1x.8D>0){k.1x.al(F)}E I},2r:u(o){if(!k.11.1c){k(\'2e\',1h).1S(\'<22 id="e8"></22>\');k.11.1c=k(\'#e8\');D el=k.11.1c.K(0);D 4J=el.14;4J.Y=\'1P\';4J.19=\'1o\';4J.9b=\'8j\';4J.eu=\'1o\';4J.2U=\'2K\';if(1X.71){el.bE="e4"}P{4J.gi=\'1o\';4J.e7=\'1o\';4J.e1=\'1o\'}}if(!o){o={}}E q.1E(u(){if(q.9I||!k.1a)E;if(1X.71){q.gh=u(){E I};q.gj=u(){E I}}D el=q;D 5e=o.3v?k(q).gf(o.3v):k(q);if(k.3a.4t){5e.1E(u(){q.bE="e4"})}P{5e.B(\'-gI-7R-8C\',\'1o\');5e.B(\'7R-8C\',\'1o\');5e.B(\'-gH-7R-8C\',\'1o\')}q.A={5e:5e,6N:o.6N?1b:I,46:o.46?1b:I,44:o.44?o.44:I,5i:o.5i?o.5i:I,8s:o.8s?o.8s:I,3I:o.3I?T(o.3I)||0:I,1G:o.1G?2m(o.1G):I,fx:T(o.fx)||S,6R:o.6R?o.6R:I,5t:{},1s:{},4o:o.4o&&o.4o.1K==2A?o.4o:I,3T:o.3T&&o.3T.1K==2A?o.3T:I,2Z:o.2Z&&o.2Z.1K==2A?o.2Z:I,1O:/49|4j/.48(o.1O)?o.1O:I,6M:o.6M?T(o.6M)||0:0,2V:o.2V?o.2V:I,bD:o.bD?1b:I,7O:o.7O||I};if(o.5t&&o.5t.1K==2A)q.A.5t.7R=o.5t;if(o.4m&&o.4m.1K==2A)q.A.4m=o.4m;if(o.2p&&((o.2p.1K==b0&&(o.2p==\'94\'||o.2p==\'1h\'))||(o.2p.1K==7F&&o.2p.1g==4))){q.A.2p=o.2p}if(o.2O){q.A.2O=o.2O}if(o.6a){if(2g o.6a==\'gz\'){q.A.gx=T(o.6a)||1;q.A.gy=T(o.6a)||1}P if(o.6a.1g==2){q.A.gx=T(o.6a[0])||1;q.A.gy=T(o.6a[1])||1}}if(o.3H&&o.3H.1K==2A){q.A.3H=o.3H}q.9I=1b;5e.1E(u(){q.3U=el});5e.1J(\'5v\',k.11.bN)})}};k.fn.23({aS:k.11.4U,7t:k.11.2r});k.1x={du:u(5J,5G,7Q,7S){E 5J<=k.11.F.A.2v&&(5J+7Q)>=(k.11.F.A.2v+k.11.F.A.1B.w)&&5G<=k.11.F.A.2q&&(5G+7S)>=(k.11.F.A.2q+k.11.F.A.1B.h)?1b:I},cV:u(5J,5G,7Q,7S){E!(5J>(k.11.F.A.2v+k.11.F.A.1B.w)||(5J+7Q)<k.11.F.A.2v||5G>(k.11.F.A.2q+k.11.F.A.1B.h)||(5G+7S)<k.11.F.A.2q)?1b:I},1s:u(5J,5G,7Q,7S){E 5J<k.11.F.A.4B.x&&(5J+7Q)>k.11.F.A.4B.x&&5G<k.11.F.A.4B.y&&(5G+7S)>k.11.F.A.4B.y?1b:I},5r:I,3Q:{},8D:0,3P:{},ed:u(C){if(k.11.F==S){E}D i;k.1x.3Q={};D bJ=I;24(i in k.1x.3P){if(k.1x.3P[i]!=S){D 1j=k.1x.3P[i].K(0);if(k(k.11.F).is(\'.\'+1j.1i.a)){if(1j.1i.m==I){1j.1i.p=k.23(k.1a.7G(1j),k.1a.74(1j));1j.1i.m=1b}if(1j.1i.ac){k.1x.3P[i].2R(1j.1i.ac)}k.1x.3Q[i]=k.1x.3P[i];if(k.1t&&1j.1i.s&&k.11.F.A.44){1j.1i.el=k(\'.\'+1j.1i.a,1j);C.14.19=\'1o\';k.1t.cT(1j);1j.1i.ay=k.1t.8x(k.1p(1j,\'id\')).7l;C.14.19=C.A.7V;bJ=1b}if(1j.1i.9i){1j.1i.9i.1D(k.1x.3P[i].K(0),[k.11.F])}}}}if(bJ){k.1t.26()}},dS:u(){k.1x.3Q={};24(i in k.1x.3P){if(k.1x.3P[i]!=S){D 1j=k.1x.3P[i].K(0);if(k(k.11.F).is(\'.\'+1j.1i.a)){1j.1i.p=k.23(k.1a.7G(1j),k.1a.74(1j));if(1j.1i.ac){k.1x.3P[i].2R(1j.1i.ac)}k.1x.3Q[i]=k.1x.3P[i];if(k.1t&&1j.1i.s&&k.11.F.A.44){1j.1i.el=k(\'.\'+1j.1i.a,1j);C.14.19=\'1o\';k.1t.cT(1j);C.14.19=C.A.7V}}}}},al:u(e){if(k.11.F==S){E}k.1x.5r=I;D i;D bK=I;D eQ=0;24(i in k.1x.3Q){D 1j=k.1x.3Q[i].K(0);if(k.1x.5r==I&&k.1x[1j.1i.t](1j.1i.p.x,1j.1i.p.y,1j.1i.p.1C,1j.1i.p.hb)){if(1j.1i.hc&&1j.1i.h==I){k.1x.3Q[i].2R(1j.1i.hc)}if(1j.1i.h==I&&1j.1i.7x){bK=1b}1j.1i.h=1b;k.1x.5r=1j;if(k.1t&&1j.1i.s&&k.11.F.A.44){k.1t.1c.K(0).3l=1j.1i.eV;k.1t.al(1j)}eQ++}P if(1j.1i.h==1b){if(1j.1i.7y){1j.1i.7y.1D(1j,[e,k.11.1c.K(0).7c,1j.1i.fx])}if(1j.1i.hc){k.1x.3Q[i].4i(1j.1i.hc)}1j.1i.h=I}}if(k.1t&&!k.1x.5r&&k.11.F.44){k.1t.1c.K(0).14.19=\'1o\'}if(bK){k.1x.5r.1i.7x.1D(k.1x.5r,[e,k.11.1c.K(0).7c])}},eO:u(e){D i;24(i in k.1x.3Q){D 1j=k.1x.3Q[i].K(0);if(1j.1i.ac){k.1x.3Q[i].4i(1j.1i.ac)}if(1j.1i.hc){k.1x.3Q[i].4i(1j.1i.hc)}if(1j.1i.s){k.1t.7s[k.1t.7s.1g]=i}if(1j.1i.9l&&1j.1i.h==1b){1j.1i.h=I;1j.1i.9l.1D(1j,[e,1j.1i.fx])}1j.1i.m=I;1j.1i.h=I}k.1x.3Q={}},4U:u(){E q.1E(u(){if(q.9j){if(q.1i.s){id=k.1p(q,\'id\');k.1t.5L[id]=S;k(\'.\'+q.1i.a,q).aS()}k.1x.3P[\'d\'+q.c2]=S;q.9j=I;q.f=S}})},2r:u(o){E q.1E(u(){if(q.9j==1b||!o.3C||!k.1a||!k.11){E}q.1i={a:o.3C,ac:o.9J||I,hc:o.a5||I,eV:o.58||I,9l:o.gq||o.9l||I,7x:o.7x||o.dC||I,7y:o.7y||o.fO||I,9i:o.9i||I,t:o.6I&&(o.6I==\'du\'||o.6I==\'cV\')?o.6I:\'1s\',fx:o.fx?o.fx:I,m:I,h:I};if(o.cQ==1b&&k.1t){id=k.1p(q,\'id\');k.1t.5L[id]=q.1i.a;q.1i.s=1b;if(o.2Z){q.1i.2Z=o.2Z;q.1i.ay=k.1t.8x(id).7l}}q.9j=1b;q.c2=T(18.6o()*c9);k.1x.3P[\'d\'+q.c2]=k(q);k.1x.8D++})}};k.fn.23({dR:k.1x.4U,do:k.1x.2r});k.gD=k.1x.dS;k.3B={1c:S,8L:u(){3g=q.2y;if(!3g)E;14={dz:k(q).B(\'dz\')||\'\',4A:k(q).B(\'4A\')||\'\',8Z:k(q).B(\'8Z\')||\'\',dP:k(q).B(\'dP\')||\'\',dT:k(q).B(\'dT\')||\'\',dU:k(q).B(\'dU\')||\'\',c3:k(q).B(\'c3\')||\'\',dY:k(q).B(\'dY\')||\'\'};k.3B.1c.B(14);3x=k.3B.dX(3g);3x=3x.4E(12 bb("\\\\n","g"),"<br />");k.3B.1c.3x(\'gL\');ci=k.3B.1c.K(0).4c;k.3B.1c.3x(3x);Z=k.3B.1c.K(0).4c+ci;if(q.6l.2M&&Z>q.6l.2M[0]){Z=q.6l.2M[0]}q.14.Z=Z+\'U\';if(q.4Y==\'cf\'){W=k.3B.1c.K(0).5W+ci;if(q.6l.2M&&W>q.6l.2M[1]){W=q.6l.2M[1]}q.14.W=W+\'U\'}},dX:u(3g){cg={\'&\':\'&gK;\',\'<\':\'&gJ;\',\'>\':\'>\',\'"\':\'&gs;\'};24(i in cg){3g=3g.4E(12 bb(i,\'g\'),cg[i])}E 3g},2r:u(2M){if(k.3B.1c==S){k(\'2e\',1h).1S(\'<22 id="dE" 14="Y: 1P; Q: 0; O: 0; 3n: 2K;"></22>\');k.3B.1c=k(\'#dE\')}E q.1E(u(){if(/cf|ch/.48(q.4Y)){if(q.4Y==\'ch\'){dB=q.5C(\'1u\');if(!/3g|gr/.48(dB)){E}}if(2M&&(2M.1K==bn||(2M.1K==7F&&2M.1g==2))){if(2M.1K==bn)2M=[2M,2M];P{2M[0]=T(2M[0])||8J;2M[1]=T(2M[1])||8J}q.6l={2M:2M}}k(q).5B(k.3B.8L).6y(k.3B.8L).dH(k.3B.8L);k.3B.8L.1D(q)}})}};k.fn.kc=k.3B.2r;k.4K=u(e){if(/^kd$|^ke$|^ka$|^6L$|^k9$|^k5$|^k4$|^k6$|^k7$|^2e$|^k8$|^kf$|^kg$|^kn$|^ko$|^kp$|^kq$/i.48(e.9N))E I;P E 1b};k.fx.a0=u(e,65){D c=e.7c;D cs=c.14;cs.Y=65.Y;cs.5K=65.3G.t;cs.5j=65.3G.l;cs.5k=65.3G.b;cs.5z=65.3G.r;cs.Q=65.Q+\'U\';cs.O=65.O+\'U\';e.31.ew(c,e);e.31.km(e)};k.fx.9P=u(e){if(!k.4K(e))E I;D t=k(e);D es=e.14;D 73=I;if(t.B(\'19\')==\'1o\'){5Y=t.B(\'3n\');t.B(\'3n\',\'2K\').1Y();73=1b}D V={};V.Y=t.B(\'Y\');V.1q=k.1a.2o(e);V.3G=k.1a.cy(e);D co=e.4Z?e.4Z.ei:t.B(\'hU\');V.Q=T(t.B(\'Q\'))||0;V.O=T(t.B(\'O\'))||0;D eo=\'kl\'+T(18.6o()*c9);D 6u=1h.3F(/^1T$|^br$|^kh$|^hr$|^8C$|^kj$|^8T$|^3A$|^kk$|^k3$|^k2$|^9h$|^dl$|^jM$/i.48(e.9N)?\'22\':e.9N);k.1p(6u,\'id\',eo);D jN=k(6u).2R(\'jO\');D 4h=6u.14;D Q=0;D O=0;if(V.Y==\'2s\'||V.Y==\'1P\'){Q=V.Q;O=V.O}4h.Q=Q+\'U\';4h.O=O+\'U\';4h.Y=V.Y!=\'2s\'&&V.Y!=\'1P\'?\'2s\':V.Y;4h.W=V.1q.hb+\'U\';4h.Z=V.1q.1C+\'U\';4h.5K=V.3G.t;4h.5z=V.3G.r;4h.5k=V.3G.b;4h.5j=V.3G.l;4h.2U=\'2K\';if(k.3a.4t){4h.ei=co}P{4h.jK=co}if(k.3a=="4t"){es.5E="8V(1G="+0.ex*2a+")"}es.1G=0.ex;e.31.ew(6u,e);6u.jF(e);es.5K=\'2P\';es.5z=\'2P\';es.5k=\'2P\';es.5j=\'2P\';es.Y=\'1P\';es.eu=\'1o\';es.Q=\'2P\';es.O=\'2P\';if(73){t.2G();es.3n=5Y}E{V:V,3p:k(6u)}};k.fx.8E={jE:[0,1V,1V],jG:[eD,1V,1V],jH:[e6,e6,jI],jP:[0,0,0],ks:[0,0,1V],jY:[dv,42,42],jZ:[0,1V,1V],k0:[0,0,7w],k1:[0,7w,7w],jX:[cn,cn,cn],jS:[0,2a,0],jR:[jT,jU,eb],jV:[7w,0,7w],kr:[85,eb,47],kP:[1V,eA,0],kN:[kO,50,kx],kF:[7w,0,0],kD:[ku,f8,kt],ky:[kH,0,9C],kL:[1V,0,1V],kM:[1V,kJ,0],kv:[0,6C,0],kA:[75,0,kE],kC:[eD,eB,eA],kG:[kI,kB,eB],kw:[e0,1V,1V],kz:[eL,kK,eL],kQ:[9C,9C,9C],jC:[1V,iy,iz],iA:[1V,1V,e0],iB:[0,1V,0],ix:[1V,0,1V],iv:[6C,0,0],iq:[0,0,6C],ip:[6C,6C,0],ir:[1V,dv,0],it:[1V,ah,iu],iC:[6C,0,6C],iD:[1V,0,0],iK:[ah,ah,ah],iL:[1V,1V,1V],iM:[1V,1V,0]};k.fx.6D=u(4x,dm){if(k.fx.8E[4x])E{r:k.fx.8E[4x][0],g:k.fx.8E[4x][1],b:k.fx.8E[4x][2]};P if(2W=/^6Y\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.a4(4x))E{r:T(2W[1]),g:T(2W[2]),b:T(2W[3])};P if(2W=/6Y\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.a4(4x))E{r:2m(2W[1])*2.55,g:2m(2W[2])*2.55,b:2m(2W[3])*2.55};P if(2W=/^#([a-fA-79-9])([a-fA-79-9])([a-fA-79-9])$/.a4(4x))E{r:T("77"+2W[1]+2W[1]),g:T("77"+2W[2]+2W[2]),b:T("77"+2W[3]+2W[3])};P if(2W=/^#([a-fA-79-9]{2})([a-fA-79-9]{2})([a-fA-79-9]{2})$/.a4(4x))E{r:T("77"+2W[1]),g:T("77"+2W[2]),b:T("77"+2W[3])};P E dm==1b?I:{r:1V,g:1V,b:1V}};k.fx.dD={5Q:1,5b:1,5O:1,4S:1,4D:1,4A:1,W:1,O:1,c3:1,iI:1,5k:1,5j:1,5z:1,5K:1,8b:1,6x:1,8c:1,av:1,1G:1,iE:1,iF:1,5n:1,4X:1,5U:1,5M:1,2L:1,jD:1,Q:1,Z:1,3I:1};k.fx.dA={7i:1,iG:1,iH:1,io:1,im:1,4x:1,i2:1};k.fx.8A=[\'i3\',\'i4\',\'i5\',\'i1\'];k.fx.cc={\'cd\':[\'2E\',\'dK\'],\'a8\':[\'2E\',\'bh\'],\'6w\':[\'6w\',\'\'],\'8F\':[\'8F\',\'\']};k.fn.23({5w:u(5X,H,G,J){E q.1w(u(){D a1=k.H(H,G,J);D e=12 k.dM(q,a1,5X)})},c4:u(H,J){E q.1w(u(){D a1=k.H(H,J);D e=12 k.c4(q,a1)})},8o:u(2D){E q.1E(u(){if(q.6d)k.by(q,2D)})},i0:u(2D){E q.1E(u(){if(q.6d)k.by(q,2D);if(q.1w&&q.1w[\'fx\'])q.1w.fx=[]})}});k.23({c4:u(2f,M){D z=q,3t;z.2D=u(){if(k.fQ(M.21))M.21.1D(2f)};z.2I=6V(u(){z.2D()},M.1m);2f.6d=z},G:{c8:u(p,n,1W,1H,1m){E((-18.5H(p*18.2Q)/2)+0.5)*1H+1W}},dM:u(2f,M,5X){D z=q,3t;D y=2f.14;D fR=k.B(2f,"2U");D 72=k.B(2f,"19");D 2j={};z.9O=(12 7g()).7z();M.G=M.G&&k.G[M.G]?M.G:\'c8\';z.ag=u(2w,43){if(k.fx.dD[2w]){if(43==\'1Y\'||43==\'2G\'||43==\'3R\'){if(!2f.6v)2f.6v={};D r=2m(k.6E(2f,2w));2f.6v[2w]=r&&r>-c9?r:(2m(k.B(2f,2w))||0);43=43==\'3R\'?(72==\'1o\'?\'1Y\':\'2G\'):43;M[43]=1b;2j[2w]=43==\'1Y\'?[0,2f.6v[2w]]:[2f.6v[2w],0];if(2w!=\'1G\')y[2w]=2j[2w][0]+(2w!=\'3I\'&&2w!=\'8Z\'?\'U\':\'\');P k.1p(y,"1G",2j[2w][0])}P{2j[2w]=[2m(k.6E(2f,2w)),2m(43)||0]}}P if(k.fx.dA[2w])2j[2w]=[k.fx.6D(k.6E(2f,2w)),k.fx.6D(43)];P if(/^6w$|8F$|2E$|a8$|cd$/i.48(2w)){D m=43.4E(/\\s+/g,\' \').4E(/6Y\\s*\\(\\s*/g,\'6Y(\').4E(/\\s*,\\s*/g,\',\').4E(/\\s*\\)/g,\')\').d5(/([^\\s]+)/g);3m(2w){1e\'6w\':1e\'8F\':1e\'cd\':1e\'a8\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];24(D i=0;i<k.fx.8A.1g;i++){D 64=k.fx.cc[2w][0]+k.fx.8A[i]+k.fx.cc[2w][1];2j[64]=2w==\'a8\'?[k.fx.6D(k.6E(2f,64)),k.fx.6D(m[i])]:[2m(k.6E(2f,64)),2m(m[i])]}1r;1e\'2E\':24(D i=0;i<m.1g;i++){D bd=2m(m[i]);D a9=!hX(bd)?\'dK\':(!/cu|1o|2K|hY|hZ|i6|i7|ii|ij|ik|il/i.48(m[i])?\'bh\':I);if(a9){24(D j=0;j<k.fx.8A.1g;j++){64=\'2E\'+k.fx.8A[j]+a9;2j[64]=a9==\'bh\'?[k.fx.6D(k.6E(2f,64)),k.fx.6D(m[i])]:[2m(k.6E(2f,64)),bd]}}P{y[\'ie\']=m[i]}}1r}}P{y[2w]=43}E I};24(p in 5X){if(p==\'14\'){D 5f=k.bl(5X[p]);24(7A in 5f){q.ag(7A,5f[7A])}}P if(p==\'3l\'){if(1h.af)24(D i=0;i<1h.af.1g;i++){D 7e=1h.af[i].7e||1h.af[i].i9||S;if(7e){24(D j=0;j<7e.1g;j++){if(7e[j].i8==\'.\'+5X[p]){D 6X=12 bb(\'\\.\'+5X[p]+\' {\');D 5Z=7e[j].14.9X;D 5f=k.bl(5Z.4E(6X,\'\').4E(/}/g,\'\'));24(7A in 5f){q.ag(7A,5f[7A])}}}}}}P{q.ag(p,5X[p])}}y.19=72==\'1o\'?\'2B\':72;y.2U=\'2K\';z.2D=u(){D t=(12 7g()).7z();if(t>M.1m+z.9O){5T(z.2I);z.2I=S;24(p in 2j){if(p=="1G")k.1p(y,"1G",2j[p][1]);P if(2g 2j[p][1]==\'8T\')y[p]=\'6Y(\'+2j[p][1].r+\',\'+2j[p][1].g+\',\'+2j[p][1].b+\')\';P y[p]=2j[p][1]+(p!=\'3I\'&&p!=\'8Z\'?\'U\':\'\')}if(M.2G||M.1Y)24(D p in 2f.6v)if(p=="1G")k.1p(y,p,2f.6v[p]);P y[p]="";y.19=M.2G?\'1o\':(72!=\'1o\'?72:\'2B\');y.2U=fR;2f.6d=S;if(k.fQ(M.21))M.21.1D(2f)}P{D n=t-q.9O;D 8w=n/M.1m;24(p in 2j){if(2g 2j[p][1]==\'8T\'){y[p]=\'6Y(\'+T(k.G[M.G](8w,n,2j[p][0].r,(2j[p][1].r-2j[p][0].r),M.1m))+\',\'+T(k.G[M.G](8w,n,2j[p][0].g,(2j[p][1].g-2j[p][0].g),M.1m))+\',\'+T(k.G[M.G](8w,n,2j[p][0].b,(2j[p][1].b-2j[p][0].b),M.1m))+\')\'}P{D bz=k.G[M.G](8w,n,2j[p][0],(2j[p][1]-2j[p][0]),M.1m);if(p=="1G")k.1p(y,"1G",bz);P y[p]=bz+(p!=\'3I\'&&p!=\'8Z\'?\'U\':\'\')}}}};z.2I=6V(u(){z.2D()},13);2f.6d=z},by:u(2f,2D){if(2D)2f.6d.9O-=iO;P{1X.5T(2f.6d.2I);2f.6d=S;k.2H(2f,"fx")}}});k.bl=u(5Z){D 5f={};if(2g 5Z==\'4V\'){5Z=5Z.6c().7C(\';\');24(D i=0;i<5Z.1g;i++){6X=5Z[i].7C(\':\');if(6X.1g==2){5f[k.g6(6X[0].4E(/\\-(\\w)/g,u(m,c){E c.jo()}))]=k.g6(6X[1])}}}E 5f};k.fn.23({g3:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'4F\',G)})},gb:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'4r\',G)})},jl:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'fJ\',G)})},jk:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'O\',G)})},jg:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'2L\',G)})},jf:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'fh\',G)})}});k.fx.61=u(e,H,J,2S,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.1N=k.1a.2o(e);z.G=2g J==\'4V\'?J:G||S;if(!e.4s)e.4s=z.el.B(\'19\');if(2S==\'fJ\'){2S=z.el.B(\'19\')==\'1o\'?\'4r\':\'4F\'}P if(2S==\'fh\'){2S=z.el.B(\'19\')==\'1o\'?\'2L\':\'O\'}z.el.1Y();z.H=H;z.J=2g J==\'u\'?J:S;z.fx=k.fx.9P(e);z.2S=2S;z.21=u(){if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}if(z.2S==\'4r\'||z.2S==\'2L\'){z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s)}P{z.el.2G()}k.fx.a0(z.fx.3p.K(0),z.fx.V);k.2H(z.el.K(0),\'1n\')};3m(z.2S){1e\'4F\':63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');63.1L(z.fx.V.1q.hb,0);1r;1e\'4r\':z.fx.3p.B(\'W\',\'9R\');z.el.1Y();63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');63.1L(0,z.fx.V.1q.hb);1r;1e\'O\':63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');63.1L(z.fx.V.1q.1C,0);1r;1e\'2L\':z.fx.3p.B(\'Z\',\'9R\');z.el.1Y();63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');63.1L(0,z.fx.V.1q.1C);1r}};k.fn.ji=u(5D,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D e=12 k.fx.f4(q,5D,J);e.bp()})};k.fx.f4=u(e,5D,J){D z=q;z.el=k(e);z.el.1Y();z.J=J;z.5D=T(5D)||40;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=T(z.el.B(\'Q\'))||0;z.V.O=T(z.el.B(\'O\'))||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.3V=5;z.5y=1;z.bp=u(){z.5y++;z.e=12 k.fx(z.el.K(0),{1m:jj,21:u(){z.e=12 k.fx(z.el.K(0),{1m:80,21:u(){z.5D=T(z.5D/2);if(z.5y<=z.3V)z.bp();P{z.el.B(\'Y\',z.V.Y).B(\'Q\',z.V.Q+\'U\').B(\'O\',z.V.O+\'U\');k.2H(z.el.K(0),\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}}}},\'Q\');z.e.1L(z.V.Q-z.5D,z.V.Q)}},\'Q\');z.e.1L(z.V.Q,z.V.Q-z.5D)}};k.fn.23({jy:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'4l\',G)})},jz:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'in\',G)})},jA:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'3R\',G)})},jB:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'4l\',G)})},jx:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'in\',G)})},jw:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'3R\',G)})},js:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'4l\',G)})},jt:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'in\',G)})},ju:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'3R\',G)})},jv:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'4l\',G)})},je:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'in\',G)})},jd:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'3R\',G)})}});k.fx.4f=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=z.el.B(\'Q\');z.V.O=z.el.B(\'O\');if(!e.4s)e.4s=z.el.B(\'19\');if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'in\':\'4l\'}z.el.1Y();if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.1u=1u;J=2g J==\'u\'?J:S;8H=1;3m(2S){1e\'4F\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Q\');z.62=2m(z.V.Q)||0;z.9K=z.fG;8H=-1;1r;1e\'4r\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Q\');z.62=2m(z.V.Q)||0;z.9K=z.fG;1r;1e\'2L\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'O\');z.62=2m(z.V.O)||0;z.9K=z.fy;1r;1e\'O\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'O\');z.62=2m(z.V.O)||0;z.9K=z.fy;8H=-1;1r}z.e2=12 k.fx(z.el.K(0),k.H(H,z.G,u(){z.el.B(z.V);if(z.1u==\'4l\'){z.el.B(\'19\',\'1o\')}P z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s);k.2H(z.el.K(0),\'1n\')}),\'1G\');if(1u==\'in\'){z.e.1L(z.62+2a*8H,z.62);z.e2.1L(0,1)}P{z.e.1L(z.62,z.62+2a*8H);z.e2.1L(1,0)}};k.fn.23({j0:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'fp\',G)})},iW:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'9M\',G)})},iV:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'3R\',G)})}});k.fx.9L=u(e,H,W,J,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'9M\':\'fp\'}z.H=H;z.W=W&&W.1K==bn?W:20;z.fx=k.fx.9P(e);z.1u=1u;z.21=u(){if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}if(z.1u==\'9M\'){z.el.1Y()}P{z.el.2G()}k.fx.a0(z.fx.3p.K(0),z.fx.V);k.2H(z.el.K(0),\'1n\')};if(z.1u==\'9M\'){z.el.1Y();z.fx.3p.B(\'W\',z.W+\'U\').B(\'Z\',\'9R\');z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,u(){z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');z.ef.1L(z.W,z.fx.V.1q.hb)}),\'Z\');z.ef.1L(0,z.fx.V.1q.1C)}P{z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,u(){z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');z.ef.1L(z.fx.V.1q.1C,0)}),\'W\');z.ef.1L(z.fx.V.1q.hb,z.W)}};k.fn.iR=u(H,4x,J,G){E q.1w(\'fv\',u(){q.6W=k(q).1p("14")||\'\';G=2g J==\'4V\'?J:G||S;J=2g J==\'u\'?J:S;D 9S=k(q).B(\'7i\');D 8I=q.31;7d(9S==\'cu\'&&8I){9S=k(8I).B(\'7i\');8I=8I.31}k(q).B(\'7i\',4x);if(2g q.6W==\'8T\')q.6W=q.6W["9X"];k(q).5w({\'7i\':9S},H,G,u(){k.2H(q,\'fv\');if(2g k(q).1p("14")==\'8T\'){k(q).1p("14")["9X"]="";k(q).1p("14")["9X"]=q.6W}P{k(q).1p("14",q.6W)}if(J)J.1D(q)})})};k.fn.23({iT:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'49\',\'6g\',G)})},iU:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'4j\',\'6g\',G)})},j1:u(H,J,G){E q.1w(\'1n\',u(){if(k.B(q,\'19\')==\'1o\'){12 k.fx.5m(q,H,J,\'4j\',\'6Z\',G)}P{12 k.fx.5m(q,H,J,\'4j\',\'6g\',G)}})},j2:u(H,J,G){E q.1w(\'1n\',u(){if(k.B(q,\'19\')==\'1o\'){12 k.fx.5m(q,H,J,\'49\',\'6Z\',G)}P{12 k.fx.5m(q,H,J,\'49\',\'6g\',G)}})},j9:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'49\',\'6Z\',G)})},ja:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'4j\',\'6Z\',G)})}});k.fx.5m=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;D 73=I;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;z.1u=1u;z.H=H;z.2i=k.1a.2o(e);z.V={};z.V.Y=z.el.B(\'Y\');z.V.19=z.el.B(\'19\');if(z.V.19==\'1o\'){5Y=z.el.B(\'3n\');z.el.1Y();73=1b}z.V.Q=z.el.B(\'Q\');z.V.O=z.el.B(\'O\');if(73){z.el.2G();z.el.B(\'3n\',5Y)}z.V.Z=z.2i.w+\'U\';z.V.W=z.2i.h+\'U\';z.V.2U=z.el.B(\'2U\');z.2i.Q=T(z.V.Q)||0;z.2i.O=T(z.V.O)||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.el.B(\'2U\',\'2K\').B(\'W\',1u==\'6Z\'&&2S==\'49\'?1:z.2i.h+\'U\').B(\'Z\',1u==\'6Z\'&&2S==\'4j\'?1:z.2i.w+\'U\');z.21=u(){z.el.B(z.V);if(z.1u==\'6g\')z.el.2G();P z.el.1Y();k.2H(z.el.K(0),\'1n\')};3m(2S){1e\'49\':z.eh=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'W\');z.et=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');if(z.1u==\'6g\'){z.eh.1L(z.2i.h,0);z.et.1L(z.2i.Q,z.2i.Q+z.2i.h/2)}P{z.eh.1L(0,z.2i.h);z.et.1L(z.2i.Q+z.2i.h/2,z.2i.Q)}1r;1e\'4j\':z.eh=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Z\');z.et=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');if(z.1u==\'6g\'){z.eh.1L(z.2i.w,0);z.et.1L(z.2i.O,z.2i.O+z.2i.w/2)}P{z.eh.1L(0,z.2i.w);z.et.1L(z.2i.O+z.2i.w/2,z.2i.O)}1r}};k.fn.bg=u(H,3V,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D fx=12 k.fx.bg(q,H,3V,J);fx.bf()})};k.fx.bg=u(el,H,3V,J){D z=q;z.3V=3V;z.5y=1;z.el=el;z.H=H;z.J=J;k(z.el).1Y();z.bf=u(){z.5y++;z.e=12 k.fx(z.el,k.H(z.H,u(){z.ef=12 k.fx(z.el,k.H(z.H,u(){if(z.5y<=z.3V)z.bf();P{k.2H(z.el,\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el)}}}),\'1G\');z.ef.1L(0,1)}),\'1G\');z.e.1L(1,0)}};k.fn.23({jb:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,1,2a,1b,J,\'fa\',G)})},jc:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,2a,1,1b,J,\'b4\',G)})},j8:u(H,J,G){E q.1w(\'1n\',u(){D G=G||\'fl\';12 k.fx.6G(q,H,2a,f8,1b,J,\'6h\',G)})},6G:u(H,57,30,6H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,57,30,6H,J,\'6G\',G)})}});k.fx.6G=u(e,H,57,30,6H,J,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.57=T(57)||2a;z.30=T(30)||2a;z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;z.1m=k.H(H).1m;z.6H=6H||S;z.2i=k.1a.2o(e);z.V={Z:z.el.B(\'Z\'),W:z.el.B(\'W\'),4A:z.el.B(\'4A\')||\'2a%\',Y:z.el.B(\'Y\'),19:z.el.B(\'19\'),Q:z.el.B(\'Q\'),O:z.el.B(\'O\'),2U:z.el.B(\'2U\'),4S:z.el.B(\'4S\'),5O:z.el.B(\'5O\'),5Q:z.el.B(\'5Q\'),5b:z.el.B(\'5b\'),5M:z.el.B(\'5M\'),5U:z.el.B(\'5U\'),5n:z.el.B(\'5n\'),4X:z.el.B(\'4X\')};z.Z=T(z.V.Z)||e.4c||0;z.W=T(z.V.W)||e.5W||0;z.Q=T(z.V.Q)||0;z.O=T(z.V.O)||0;1q=[\'em\',\'U\',\'j7\',\'%\'];24(i in 1q){if(z.V.4A.3J(1q[i])>0){z.fg=1q[i];z.4A=2m(z.V.4A)}if(z.V.4S.3J(1q[i])>0){z.fc=1q[i];z.bw=2m(z.V.4S)||0}if(z.V.5O.3J(1q[i])>0){z.fe=1q[i];z.bc=2m(z.V.5O)||0}if(z.V.5Q.3J(1q[i])>0){z.fL=1q[i];z.bA=2m(z.V.5Q)||0}if(z.V.5b.3J(1q[i])>0){z.g8=1q[i];z.bt=2m(z.V.5b)||0}if(z.V.5M.3J(1q[i])>0){z.g4=1q[i];z.bx=2m(z.V.5M)||0}if(z.V.5U.3J(1q[i])>0){z.g9=1q[i];z.bv=2m(z.V.5U)||0}if(z.V.5n.3J(1q[i])>0){z.gc=1q[i];z.bj=2m(z.V.5n)||0}if(z.V.4X.3J(1q[i])>0){z.fK=1q[i];z.b7=2m(z.V.4X)||0}}if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.el.B(\'2U\',\'2K\');z.1u=1u;3m(z.1u){1e\'fa\':z.4b=z.Q+z.2i.h/2;z.5a=z.Q;z.4k=z.O+z.2i.w/2;z.59=z.O;1r;1e\'b4\':z.5a=z.Q+z.2i.h/2;z.4b=z.Q;z.59=z.O+z.2i.w/2;z.4k=z.O;1r;1e\'6h\':z.5a=z.Q-z.2i.h/4;z.4b=z.Q;z.59=z.O-z.2i.w/4;z.4k=z.O;1r}z.be=I;z.t=(12 7g).7z();z.4w=u(){5T(z.2I);z.2I=S};z.2D=u(){if(z.be==I){z.el.1Y();z.be=1b}D t=(12 7g).7z();D n=t-z.t;D p=n/z.1m;if(t>=z.1m+z.t){9T(u(){o=1;if(z.1u){t=z.5a;l=z.59;if(z.1u==\'6h\')o=0}z.bs(z.30,l,t,1b,o)},13);z.4w()}P{o=1;if(!k.G||!k.G[z.G]){s=((-18.5H(p*18.2Q)/2)+0.5)*(z.30-z.57)+z.57}P{s=k.G[z.G](p,n,z.57,(z.30-z.57),z.1m)}if(z.1u){if(!k.G||!k.G[z.G]){t=((-18.5H(p*18.2Q)/2)+0.5)*(z.5a-z.4b)+z.4b;l=((-18.5H(p*18.2Q)/2)+0.5)*(z.59-z.4k)+z.4k;if(z.1u==\'6h\')o=((-18.5H(p*18.2Q)/2)+0.5)*(-0.9Y)+0.9Y}P{t=k.G[z.G](p,n,z.4b,(z.5a-z.4b),z.1m);l=k.G[z.G](p,n,z.4k,(z.59-z.4k),z.1m);if(z.1u==\'6h\')o=k.G[z.G](p,n,0.9Y,-0.9Y,z.1m)}}z.bs(s,l,t,I,o)}};z.2I=6V(u(){z.2D()},13);z.bs=u(4q,O,Q,fM,1G){z.el.B(\'W\',z.W*4q/2a+\'U\').B(\'Z\',z.Z*4q/2a+\'U\').B(\'O\',O+\'U\').B(\'Q\',Q+\'U\').B(\'4A\',z.4A*4q/2a+z.fg);if(z.bw)z.el.B(\'4S\',z.bw*4q/2a+z.fc);if(z.bc)z.el.B(\'5O\',z.bc*4q/2a+z.fe);if(z.bA)z.el.B(\'5Q\',z.bA*4q/2a+z.fL);if(z.bt)z.el.B(\'5b\',z.bt*4q/2a+z.g8);if(z.bx)z.el.B(\'5M\',z.bx*4q/2a+z.g4);if(z.bv)z.el.B(\'5U\',z.bv*4q/2a+z.g9);if(z.bj)z.el.B(\'5n\',z.bj*4q/2a+z.gc);if(z.b7)z.el.B(\'4X\',z.b7*4q/2a+z.fK);if(z.1u==\'6h\'){if(1X.71)z.el.K(0).14.5E="8V(1G="+1G*2a+")";z.el.K(0).14.1G=1G}if(fM){if(z.6H){z.el.B(z.V)}if(z.1u==\'b4\'||z.1u==\'6h\'){z.el.B(\'19\',\'1o\');if(z.1u==\'6h\'){if(1X.71)z.el.K(0).14.5E="8V(1G="+2a+")";z.el.K(0).14.1G=1}}P z.el.B(\'19\',\'2B\');if(z.J)z.J.1D(z.el.K(0));k.2H(z.el.K(0),\'1n\')}}};k.fn.23({9U:u(H,1O,G){o=k.H(H);E q.1w(\'1n\',u(){12 k.fx.9U(q,o,1O,G)})},j6:u(H,1O,G){E q.1E(u(){k(\'a[@3h*="#"]\',q).5h(u(e){fW=q.3h.7C(\'#\');k(\'#\'+fW[1]).9U(H,1O,G);E I})})}});k.fx.9U=u(e,o,1O,G){D z=q;z.o=o;z.e=e;z.1O=/fT|gd/.48(1O)?1O:I;z.G=G;p=k.1a.3w(e);s=k.1a.6z();z.4w=u(){5T(z.2I);z.2I=S;k.2H(z.e,\'1n\')};z.t=(12 7g).7z();s.h=s.h>s.ih?(s.h-s.ih):s.h;s.w=s.w>s.iw?(s.w-s.iw):s.w;z.5a=p.y>s.h?s.h:p.y;z.59=p.x>s.w?s.w:p.x;z.4b=s.t;z.4k=s.l;z.2D=u(){D t=(12 7g).7z();D n=t-z.t;D p=n/z.o.1m;if(t>=z.o.1m+z.t){z.4w();9T(u(){z.d3(z.5a,z.59)},13)}P{if(!z.1O||z.1O==\'fT\'){if(!k.G||!k.G[z.G]){9V=((-18.5H(p*18.2Q)/2)+0.5)*(z.5a-z.4b)+z.4b}P{9V=k.G[z.G](p,n,z.4b,(z.5a-z.4b),z.o.1m)}}P{9V=z.4b}if(!z.1O||z.1O==\'gd\'){if(!k.G||!k.G[z.G]){9W=((-18.5H(p*18.2Q)/2)+0.5)*(z.59-z.4k)+z.4k}P{9W=k.G[z.G](p,n,z.4k,(z.59-z.4k),z.o.1m)}}P{9W=z.4k}z.d3(9V,9W)}};z.d3=u(t,l){1X.j4(l,t)};z.2I=6V(u(){z.2D()},13)};k.fn.cY=u(3V,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D e=12 k.fx.cY(q,3V,J);e.cG()})};k.fx.cY=u(e,3V,J){D z=q;z.el=k(e);z.el.1Y();z.3V=T(3V)||3;z.J=J;z.5y=1;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=T(z.el.B(\'Q\'))||0;z.V.O=T(z.el.B(\'O\'))||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.cG=u(){z.5y++;z.e=12 k.fx(z.el.K(0),{1m:60,21:u(){z.e=12 k.fx(z.el.K(0),{1m:60,21:u(){z.e=12 k.fx(e,{1m:60,21:u(){if(z.5y<=z.3V)z.cG();P{z.el.B(\'Y\',z.V.Y).B(\'Q\',z.V.Q+\'U\').B(\'O\',z.V.O+\'U\');k.2H(z.el.K(0),\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}}}},\'O\');z.e.1L(z.V.O-20,z.V.O)}},\'O\');z.e.1L(z.V.O+20,z.V.O-20)}},\'O\');z.e.1L(z.V.O,z.V.O+20)}};k.fn.23({fo:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'in\',G)})},fq:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'4l\',G)})},iY:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'3R\',G)})},iX:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'in\',G)})},jr:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'4l\',G)})},jq:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'3R\',G)})},jp:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'in\',G)})},jn:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'4l\',G)})},jm:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'3R\',G)})},iP:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'in\',G)})},ic:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'4l\',G)})},ib:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'3R\',G)})}});k.fx.1z=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'in\':\'4l\'}if(!e.4s)e.4s=z.el.B(\'19\');z.el.1Y();z.H=H;z.fx=k.fx.9P(e);z.1u=1u;z.2S=2S;z.21=u(){if(z.1u==\'4l\')z.el.B(\'3n\',\'2K\');k.fx.a0(z.fx.3p.K(0),z.fx.V);if(z.1u==\'in\'){z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s)}P{z.el.B(\'19\',\'1o\');z.el.B(\'3n\',\'dd\')}if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}k.2H(z.el.K(0),\'1n\')};3m(z.2S){1e\'4F\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');z.7v=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G),\'W\');if(z.1u==\'in\'){z.ef.1L(-z.fx.V.1q.hb,0);z.7v.1L(0,z.fx.V.1q.hb)}P{z.ef.1L(0,-z.fx.V.1q.hb);z.7v.1L(z.fx.V.1q.hb,0)}1r;1e\'4r\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');if(z.1u==\'in\'){z.ef.1L(z.fx.V.1q.hb,0)}P{z.ef.1L(0,z.fx.V.1q.hb)}1r;1e\'O\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');z.7v=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G),\'Z\');if(z.1u==\'in\'){z.ef.1L(-z.fx.V.1q.1C,0);z.7v.1L(0,z.fx.V.1q.1C)}P{z.ef.1L(0,-z.fx.V.1q.1C);z.7v.1L(z.fx.V.1q.1C,0)}1r;1e\'2L\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');if(z.1u==\'in\'){z.ef.1L(z.fx.V.1q.1C,0)}P{z.ef.1L(0,z.fx.V.1q.1C)}1r}};k.3f=S;k.fn.ig=u(o){E q.1w(\'1n\',u(){12 k.fx.dG(q,o)})};k.fx.dG=u(e,o){if(k.3f==S){k(\'2e\',1h).1S(\'<22 id="3f"></22>\');k.3f=k(\'#3f\')}k.3f.B(\'19\',\'2B\').B(\'Y\',\'1P\');D z=q;z.el=k(e);if(!o||!o.30){E}if(o.30.1K==b0&&1h.9e(o.30)){o.30=1h.9e(o.30)}P if(!o.30.dq){E}if(!o.1m){o.1m=g5}z.1m=o.1m;z.30=o.30;z.8r=o.3l;z.21=o.21;if(z.8r){k.3f.2R(z.8r)}z.a3=0;z.a2=0;if(k.dF){z.a3=(T(k.3f.B(\'5b\'))||0)+(T(k.3f.B(\'5O\'))||0)+(T(k.3f.B(\'4X\'))||0)+(T(k.3f.B(\'5U\'))||0);z.a2=(T(k.3f.B(\'4S\'))||0)+(T(k.3f.B(\'5Q\'))||0)+(T(k.3f.B(\'5M\'))||0)+(T(k.3f.B(\'5n\'))||0)}z.26=k.23(k.1a.3w(z.el.K(0)),k.1a.2o(z.el.K(0)));z.2T=k.23(k.1a.3w(z.30),k.1a.2o(z.30));z.26.1C-=z.a3;z.26.hb-=z.a2;z.2T.1C-=z.a3;z.2T.hb-=z.a2;z.J=o.21;k.3f.B(\'Z\',z.26.1C+\'U\').B(\'W\',z.26.hb+\'U\').B(\'Q\',z.26.y+\'U\').B(\'O\',z.26.x+\'U\').5w({Q:z.2T.y,O:z.2T.x,Z:z.2T.1C,W:z.2T.hb},z.1m,u(){if(z.8r)k.3f.4i(z.8r);k.3f.B(\'19\',\'1o\');if(z.21&&z.21.1K==2A){z.21.1D(z.el.K(0),[z.30])}k.2H(z.el.K(0),\'1n\')})};k.1v={M:{2E:10,ec:\'1Q/iJ.eZ\',e3:\'<1T 2J="1Q/6g.da" />\',eW:0.8,d8:\'iN a6\',dc:\'57\',3W:8J},jQ:I,jW:I,6j:S,8m:I,8k:I,d1:u(2k){if(!k.1v.8k||k.1v.8m)E;D 3K=2k.7L||2k.7K||-1;3m(3K){1e 35:if(k.1v.6j)k.1v.26(S,k(\'a[@4I=\'+k.1v.6j+\']:jJ\').K(0));1r;1e 36:if(k.1v.6j)k.1v.26(S,k(\'a[@4I=\'+k.1v.6j+\']:jL\').K(0));1r;1e 37:1e 8:1e 33:1e 80:1e kb:D 9p=k(\'#87\');if(9p.K(0).53!=S){9p.K(0).53.1D(9p.K(0))}1r;1e 38:1r;1e 39:1e 34:1e 32:1e gl:1e 78:D 9k=k(\'#88\');if(9k.K(0).53!=S){9k.K(0).53.1D(9k.K(0))}1r;1e 40:1r;1e 27:k.1v.au();1r}},7q:u(M){if(M)k.23(k.1v.M,M);if(1X.2k){k(\'2e\',1h).1J(\'6y\',k.1v.d1)}P{k(1h).1J(\'6y\',k.1v.d1)}k(\'a\').1E(u(){el=k(q);en=el.1p(\'4I\')||\'\';e9=el.1p(\'3h\')||\'\';ev=/\\.da|\\.gw|\\.8X|\\.eZ|\\.gn/g;if(e9.6c().d5(ev)!=S&&en.6c().3J(\'eU\')==0){el.1J(\'5h\',k.1v.26)}});if(k.3a.4t){3A=1h.3F(\'3A\');k(3A).1p({id:\'cN\',2J:\'ek:I;\',ej:\'cD\',ep:\'cD\'}).B({19:\'1o\',Y:\'1P\',Q:\'0\',O:\'0\',5E:\'9n:9w.9y.cC(1G=0)\'});k(\'2e\').1S(3A)}8n=1h.3F(\'22\');k(8n).1p(\'id\',\'cP\').B({Y:\'1P\',19:\'1o\',Q:\'0\',O:\'0\',1G:0}).1S(1h.8M(\' \')).1J(\'5h\',k.1v.au);6A=1h.3F(\'22\');k(6A).1p(\'id\',\'eK\').B({4X:k.1v.M.2E+\'U\'}).1S(1h.8M(\' \'));cE=1h.3F(\'22\');k(cE).1p(\'id\',\'dg\').B({4X:k.1v.M.2E+\'U\',5n:k.1v.M.2E+\'U\'}).1S(1h.8M(\' \'));cF=1h.3F(\'a\');k(cF).1p({id:\'gg\',3h:\'#\'}).B({Y:\'1P\',2L:k.1v.M.2E+\'U\',Q:\'0\'}).1S(k.1v.M.e3).1J(\'5h\',k.1v.au);7m=1h.3F(\'22\');k(7m).1p(\'id\',\'cM\').B({Y:\'2s\',cA:\'O\',6w:\'0 9F\',3I:1}).1S(6A).1S(cE).1S(cF);2b=1h.3F(\'1T\');2b.2J=k.1v.M.ec;k(2b).1p(\'id\',\'eM\').B({Y:\'1P\'});4G=1h.3F(\'a\');k(4G).1p({id:\'87\',3h:\'#\'}).B({Y:\'1P\',19:\'1o\',2U:\'2K\',ey:\'1o\'}).1S(1h.8M(\' \'));4M=1h.3F(\'a\');k(4M).1p({id:\'88\',3h:\'#\'}).B({Y:\'1P\',2U:\'2K\',ey:\'1o\'}).1S(1h.8M(\' \'));1Z=1h.3F(\'22\');k(1Z).1p(\'id\',\'eE\').B({19:\'1o\',Y:\'2s\',2U:\'2K\',cA:\'O\',6w:\'0 9F\',Q:\'0\',O:\'0\',3I:2}).1S([2b,4G,4M]);6F=1h.3F(\'22\');k(6F).1p(\'id\',\'ao\').B({19:\'1o\',Y:\'1P\',2U:\'2K\',Q:\'0\',O:\'0\',cA:\'cv\',7i:\'cu\',hC:\'0\'}).1S([1Z,7m]);k(\'2e\').1S(8n).1S(6F)},26:u(e,C){el=C?k(C):k(q);9t=el.1p(\'4I\');D 6B,4u,4G,4M;if(9t!=\'eU\'){k.1v.6j=9t;8Y=k(\'a[@4I=\'+9t+\']\');6B=8Y.1N();4u=8Y.cZ(C?C:q);4G=8Y.K(4u-1);4M=8Y.K(4u+1)}89=el.1p(\'3h\');6A=el.1p(\'4g\');3O=k.1a.6z();8n=k(\'#cP\');if(!k.1v.8k){k.1v.8k=1b;if(k.3a.4t){k(\'#cN\').B(\'W\',18.3r(3O.ih,3O.h)+\'U\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\').1Y()}8n.B(\'W\',18.3r(3O.ih,3O.h)+\'U\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\').1Y().fX(cO,k.1v.M.eW,u(){k.1v.cw(89,6A,3O,6B,4u,4G,4M)});k(\'#ao\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\')}P{k(\'#87\').K(0).53=S;k(\'#88\').K(0).53=S;k.1v.cw(89,6A,3O,6B,4u,4G,4M)}E I},cw:u(89,gP,3O,6B,4u,4G,4M){k(\'#cW\').bk();aX=k(\'#87\');aX.2G();aO=k(\'#88\');aO.2G();2b=k(\'#eM\');1Z=k(\'#eE\');6F=k(\'#ao\');7m=k(\'#cM\').B(\'3n\',\'2K\');k(\'#eK\').3x(6A);k.1v.8m=1b;if(6B)k(\'#dg\').3x(k.1v.M.d8+\' \'+(4u+1)+\' \'+k.1v.M.dc+\' \'+6B);if(4G){aX.K(0).53=u(){q.5B();k.1v.26(S,4G);E I}}if(4M){aO.K(0).53=u(){q.5B();k.1v.26(S,4M);E I}}2b.1Y();82=k.1a.2o(1Z.K(0));56=18.3r(82.1C,2b.K(0).Z+k.1v.M.2E*2);6f=18.3r(82.hb,2b.K(0).W+k.1v.M.2E*2);2b.B({O:(56-2b.K(0).Z)/2+\'U\',Q:(6f-2b.K(0).W)/2+\'U\'});1Z.B({Z:56+\'U\',W:6f+\'U\'}).1Y();dw=k.1a.bm();6F.B(\'Q\',3O.t+(dw.h/15)+\'U\');if(6F.B(\'19\')==\'1o\'){6F.1Y().7f(k.1v.M.3W)}6k=12 9s;k(6k).1p(\'id\',\'cW\').1J(\'hJ\',u(){56=6k.Z+k.1v.M.2E*2;6f=6k.W+k.1v.M.2E*2;2b.2G();1Z.5w({W:6f},82.hb!=6f?k.1v.M.3W:1,u(){1Z.5w({Z:56},82.1C!=56?k.1v.M.3W:1,u(){1Z.bG(6k);k(6k).B({Y:\'1P\',O:k.1v.M.2E+\'U\',Q:k.1v.M.2E+\'U\'}).7f(k.1v.M.3W,u(){db=k.1a.2o(7m.K(0));if(4G){aX.B({O:k.1v.M.2E+\'U\',Q:k.1v.M.2E+\'U\',Z:56/2-k.1v.M.2E*3+\'U\',W:6f-k.1v.M.2E*2+\'U\'}).1Y()}if(4M){aO.B({O:56/2+k.1v.M.2E*2+\'U\',Q:k.1v.M.2E+\'U\',Z:56/2-k.1v.M.2E*3+\'U\',W:6f-k.1v.M.2E*2+\'U\'}).1Y()}7m.B({Z:56+\'U\',Q:-db.hb+\'U\',3n:\'dd\'}).5w({Q:-1},k.1v.M.3W,u(){k.1v.8m=I})})})})});6k.2J=89},au:u(){k(\'#cW\').bk();k(\'#ao\').2G();k(\'#cM\').B(\'3n\',\'2K\');k(\'#cP\').fX(cO,0,u(){k(q).2G();if(k.3a.4t){k(\'#cN\').2G()}});k(\'#87\').K(0).53=S;k(\'#88\').K(0).53=S;k.1v.6j=S;k.1v.8k=I;k.1v.8m=I;E I}};k.R={1A:S,41:S,F:S,1s:S,1q:S,Y:S,9a:u(e){k.R.F=(q.d0)?q.d0:q;k.R.1s=k.1a.4a(e);k.R.1q={Z:T(k(k.R.F).B(\'Z\'))||0,W:T(k(k.R.F).B(\'W\'))||0};k.R.Y={Q:T(k(k.R.F).B(\'Q\'))||0,O:T(k(k.R.F).B(\'O\'))||0};k(1h).1J(\'3D\',k.R.cR).1J(\'5P\',k.R.cK);if(2g k.R.F.1k.g2===\'u\'){k.R.F.1k.g2.1D(k.R.F)}E I},cK:u(e){k(1h).3q(\'3D\',k.R.cR).3q(\'5P\',k.R.cK);if(2g k.R.F.1k.fN===\'u\'){k.R.F.1k.fN.1D(k.R.F)}k.R.F=S},cR:u(e){if(!k.R.F){E}1s=k.1a.4a(e);7p=k.R.Y.Q-k.R.1s.y+1s.y;7r=k.R.Y.O-k.R.1s.x+1s.x;7p=18.3r(18.3L(7p,k.R.F.1k.8g-k.R.1q.W),k.R.F.1k.7h);7r=18.3r(18.3L(7r,k.R.F.1k.8h-k.R.1q.Z),k.R.F.1k.70);if(2g k.R.F.1k.4m===\'u\'){D 8a=k.R.F.1k.4m.1D(k.R.F,[7r,7p]);if(2g 8a==\'hh\'&&8a.1g==2){7r=8a[0];7p=8a[1]}}k.R.F.14.Q=7p+\'U\';k.R.F.14.O=7r+\'U\';E I},26:u(e){k(1h).1J(\'3D\',k.R.8j).1J(\'5P\',k.R.8o);k.R.1A=q.1A;k.R.41=q.41;k.R.1s=k.1a.4a(e);k.R.1q={Z:T(k(q.1A).B(\'Z\'))||0,W:T(k(q.1A).B(\'W\'))||0};k.R.Y={Q:T(k(q.1A).B(\'Q\'))||0,O:T(k(q.1A).B(\'O\'))||0};if(k.R.1A.1k.4o){k.R.1A.1k.4o.1D(k.R.1A,[q])}E I},8o:u(){k(1h).3q(\'3D\',k.R.8j).3q(\'5P\',k.R.8o);if(k.R.1A.1k.3T){k.R.1A.1k.3T.1D(k.R.1A,[k.R.41])}k.R.1A=S;k.R.41=S},6i:u(dx,az){E 18.3L(18.3r(k.R.1q.Z+dx*az,k.R.1A.1k.av),k.R.1A.1k.6x)},6m:u(dy,az){E 18.3L(18.3r(k.R.1q.W+dy*az,k.R.1A.1k.8c),k.R.1A.1k.8b)},fb:u(W){E 18.3L(18.3r(W,k.R.1A.1k.8c),k.R.1A.1k.8b)},8j:u(e){if(k.R.1A==S){E}1s=k.1a.4a(e);dx=1s.x-k.R.1s.x;dy=1s.y-k.R.1s.y;1I={Z:k.R.1q.Z,W:k.R.1q.W};2z={Q:k.R.Y.Q,O:k.R.Y.O};3m(k.R.41){1e\'e\':1I.Z=k.R.6i(dx,1);1r;1e\'fj\':1I.Z=k.R.6i(dx,1);1I.W=k.R.6m(dy,1);1r;1e\'w\':1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1r;1e\'5F\':1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1I.W=k.R.6m(dy,1);1r;1e\'76\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1r;1e\'n\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1r;1e\'at\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1I.Z=k.R.6i(dx,1);1r;1e\'s\':1I.W=k.R.6m(dy,1);1r}if(k.R.1A.1k.4v){if(k.R.41==\'n\'||k.R.41==\'s\')4p=1I.W*k.R.1A.1k.4v;P 4p=1I.Z;4W=k.R.fb(4p*k.R.1A.1k.4v);4p=4W/k.R.1A.1k.4v;3m(k.R.41){1e\'n\':1e\'76\':1e\'at\':2z.Q+=1I.W-4W;1r}3m(k.R.41){1e\'76\':1e\'w\':1e\'5F\':2z.O+=1I.Z-4p;1r}1I.W=4W;1I.Z=4p}if(2z.Q<k.R.1A.1k.7h){4W=1I.W+2z.Q-k.R.1A.1k.7h;2z.Q=k.R.1A.1k.7h;if(k.R.1A.1k.4v){4p=4W/k.R.1A.1k.4v;3m(k.R.41){1e\'76\':1e\'w\':1e\'5F\':2z.O+=1I.Z-4p;1r}1I.Z=4p}1I.W=4W}if(2z.O<k.R.1A.1k.70){4p=1I.Z+2z.O-k.R.1A.1k.70;2z.O=k.R.1A.1k.70;if(k.R.1A.1k.4v){4W=4p*k.R.1A.1k.4v;3m(k.R.41){1e\'n\':1e\'76\':1e\'at\':2z.Q+=1I.W-4W;1r}1I.W=4W}1I.Z=4p}if(2z.Q+1I.W>k.R.1A.1k.8g){1I.W=k.R.1A.1k.8g-2z.Q;if(k.R.1A.1k.4v){1I.Z=1I.W/k.R.1A.1k.4v}}if(2z.O+1I.Z>k.R.1A.1k.8h){1I.Z=k.R.1A.1k.8h-2z.O;if(k.R.1A.1k.4v){1I.W=1I.Z*k.R.1A.1k.4v}}D 6p=I;if(k.R.1A.1k.f7){6p=k.R.1A.1k.f7.1D(k.R.1A,[1I,2z]);if(6p){if(6p.1q){k.23(1I,6p.1q)}if(6p.Y){k.23(2z,6p.Y)}}}8d=k.R.1A.14;8d.O=2z.O+\'U\';8d.Q=2z.Q+\'U\';8d.Z=1I.Z+\'U\';8d.W=1I.W+\'U\';E I},2r:u(M){if(!M||!M.3Z||M.3Z.1K!=7M){E}E q.1E(u(){D el=q;el.1k=M;el.1k.av=M.av||10;el.1k.8c=M.8c||10;el.1k.6x=M.6x||6P;el.1k.8b=M.8b||6P;el.1k.7h=M.7h||-aC;el.1k.70=M.70||-aC;el.1k.8h=M.8h||6P;el.1k.8g=M.8g||6P;d6=k(el).B(\'Y\');if(!(d6==\'2s\'||d6==\'1P\')){el.14.Y=\'2s\'}fS=/n|at|e|fj|s|5F|w|76/g;24(i in el.1k.3Z){if(i.6c().d5(fS)!=S){if(el.1k.3Z[i].1K==b0){3v=k(el.1k.3Z[i]);if(3v.1N()>0){el.1k.3Z[i]=3v.K(0)}}if(el.1k.3Z[i].4Y){el.1k.3Z[i].1A=el;el.1k.3Z[i].41=i;k(el.1k.3Z[i]).1J(\'5v\',k.R.26)}}}if(el.1k.5S){if(2g el.1k.5S===\'4V\'){aV=k(el.1k.5S);if(aV.1N()>0){aV.1E(u(){q.d0=el});aV.1J(\'5v\',k.R.9a)}}P if(el.1k.5S==1b){k(q).1J(\'5v\',k.R.9a)}}})},4U:u(){E q.1E(u(){D el=q;24(i in el.1k.3Z){el.1k.3Z[i].1A=S;el.1k.3Z[i].41=S;k(el.1k.3Z[i]).3q(\'5v\',k.R.26)}if(el.1k.5S){if(2g el.1k.5S===\'4V\'){3v=k(el.1k.5S);if(3v.1N()>0){3v.3q(\'5v\',k.R.9a)}}P if(el.1k.5S==1b){k(q).3q(\'5v\',k.R.9a)}}el.1k=S})}};k.fn.23({hz:k.R.2r,hs:k.R.4U});k.2C=S;k.7n=I;k.3k=S;k.7o=[];k.9v=u(e){D 3K=e.7L||e.7K||-1;if(3K==17||3K==16){k.7n=1b}};k.9u=u(e){k.7n=I};k.dL=u(e){q.f.1s=k.1a.4a(e);q.f.1M=k.23(k.1a.3w(q),k.1a.2o(q));q.f.3e=k.1a.6z(q);q.f.1s.x-=q.f.1M.x;q.f.1s.y-=q.f.1M.y;k(q).1S(k.2C.K(0));if(q.f.hc)k.2C.2R(q.f.hc).B(\'19\',\'2B\');k.2C.B({19:\'2B\',Z:\'2P\',W:\'2P\'});if(q.f.o){k.2C.B(\'1G\',q.f.o)}k.3k=q;k.96=I;k.7o=[];q.f.el.1E(u(){q.1M={x:q.8t+(q.4Z&&!k.3a.7I?T(q.4Z.5b)||0:0)+(k.3k.3c||0),y:q.8G+(q.4Z&&!k.3a.7I?T(q.4Z.4S)||0:0)+(k.3k.3d||0),1C:q.4c,hb:q.5W};if(q.s==1b){if(k.7n==I){q.s=I;k(q).4i(k.3k.f.7j)}P{k.96=1b;k.7o[k.7o.1g]=k.1p(q,\'id\')}}});k.am.1D(q,[e]);k(1h).1J(\'3D\',k.am).1J(\'5P\',k.cX);E I};k.am=u(e){if(!k.3k)E;k.fd.1D(k.3k,[e])};k.fd=u(e){if(!k.3k)E;D 1s=k.1a.4a(e);D 3e=k.1a.6z(k.3k);1s.x+=3e.l-q.f.3e.l-q.f.1M.x;1s.y+=3e.t-q.f.3e.t-q.f.1M.y;D 93=18.3L(1s.x,q.f.1s.x);D 5F=18.3L(18.3S(1s.x-q.f.1s.x),18.3S(q.f.3e.w-93));D 99=18.3L(1s.y,q.f.1s.y);D 9g=18.3L(18.3S(1s.y-q.f.1s.y),18.3S(q.f.3e.h-99));if(q.3d>0&&1s.y-20<q.3d){D 3X=18.3L(3e.t,10);99-=3X;9g+=3X;q.3d-=3X}P if(q.3d+q.f.1M.h<q.f.3e.h&&1s.y+20>q.3d+q.f.1M.h){D 3X=18.3L(q.f.3e.h-q.3d,10);q.3d+=3X;if(q.3d!=3e.t)9g+=3X}if(q.3c>0&&1s.x-20<q.3c){D 3X=18.3L(3e.l,10);93-=3X;5F+=3X;q.3c-=3X}P if(q.3c+q.f.1M.w<q.f.3e.w&&1s.x+20>q.3c+q.f.1M.w){D 3X=18.3L(q.f.3e.w-q.3c,10);q.3c+=3X;if(q.3c!=3e.l)5F+=3X}k.2C.B({O:93+\'U\',Q:99+\'U\',Z:5F+\'U\',W:9g+\'U\'});k.2C.l=93+q.f.3e.l;k.2C.t=99+q.f.3e.t;k.2C.r=k.2C.l+5F;k.2C.b=k.2C.t+9g;k.96=I;q.f.el.1E(u(){aw=k.7o.3J(k.1p(q,\'id\'));if(!(q.1M.x>k.2C.r||(q.1M.x+q.1M.1C)<k.2C.l||q.1M.y>k.2C.b||(q.1M.y+q.1M.hb)<k.2C.t)){k.96=1b;if(q.s!=1b){q.s=1b;k(q).2R(k.3k.f.7j)}if(aw!=-1){q.s=I;k(q).4i(k.3k.f.7j)}}P if((q.s==1b)&&(aw==-1)){q.s=I;k(q).4i(k.3k.f.7j)}P if((!q.s)&&(k.7n==1b)&&(aw!=-1)){q.s=1b;k(q).2R(k.3k.f.7j)}});E I};k.cX=u(e){if(!k.3k)E;k.g0.1D(k.3k,[e])};k.g0=u(e){k(1h).3q(\'3D\',k.am).3q(\'5P\',k.cX);if(!k.3k)E;k.2C.B(\'19\',\'1o\');if(q.f.hc)k.2C.4i(q.f.hc);k.3k=I;k(\'2e\').1S(k.2C.K(0));if(k.96==1b){if(q.f.98)q.f.98(k.cJ(k.1p(q,\'id\')))}P{if(q.f.9d)q.f.9d(k.cJ(k.1p(q,\'id\')))}k.7o=[]};k.cJ=u(s){D h=\'\';D o=[];if(a=k(\'#\'+s)){a.K(0).f.el.1E(u(){if(q.s==1b){if(h.1g>0){h+=\'&\'}h+=s+\'[]=\'+k.1p(q,\'id\');o[o.1g]=k.1p(q,\'id\')}})}E{7l:h,o:o}};k.fn.gZ=u(o){if(!k.2C){k(\'2e\',1h).1S(\'<22 id="2C"></22>\').1J(\'7B\',k.9v).1J(\'6y\',k.9u);k.2C=k(\'#2C\');k.2C.B({Y:\'1P\',19:\'1o\'});if(1X.2k){k(\'2e\',1h).1J(\'7B\',k.9v).1J(\'6y\',k.9u)}P{k(1h).1J(\'7B\',k.9v).1J(\'6y\',k.9u)}}if(!o){o={}}E q.1E(u(){if(q.eP)E;q.eP=1b;q.f={a:o.3C,o:o.1G?2m(o.1G):I,7j:o.eS?o.eS:I,hc:o.58?o.58:I,98:o.98?o.98:I,9d:o.9d?o.9d:I};q.f.el=k(\'.\'+o.3C);k(q).1J(\'5v\',k.dL).B(\'Y\',\'2s\')})};k.3b={bM:1,eH:u(3t){D 3t=3t;E q.1E(u(){q.4z.6s.1E(u(ab){k.3b.5c(q,3t[ab])})})},K:u(){D 3t=[];q.1E(u(cL){if(q.bI){3t[cL]=[];D C=q;D 1q=k.1a.2o(q);q.4z.6s.1E(u(ab){D x=q.8t;D y=q.8G;92=T(x*2a/(1q.w-q.4c));91=T(y*2a/(1q.h-q.5W));3t[cL][ab]=[92||0,91||0,x||0,y||0]})}});E 3t},ct:u(C){C.A.fu=C.A.28.w-C.A.1B.1C;C.A.fw=C.A.28.h-C.A.1B.hb;if(C.9r.4z.bC){9Z=C.9r.4z.6s.K(C.bF+1);if(9Z){C.A.28.w=(T(k(9Z).B(\'O\'))||0)+C.A.1B.1C;C.A.28.h=(T(k(9Z).B(\'Q\'))||0)+C.A.1B.hb}9Q=C.9r.4z.6s.K(C.bF-1);if(9Q){D cU=T(k(9Q).B(\'O\'))||0;D cH=T(k(9Q).B(\'O\'))||0;C.A.28.x+=cU;C.A.28.y+=cH;C.A.28.w-=cU;C.A.28.h-=cH}}C.A.g7=C.A.28.w-C.A.1B.1C;C.A.eC=C.A.28.h-C.A.1B.hb;if(C.A.2O){C.A.gx=((C.A.28.w-C.A.1B.1C)/C.A.2O)||1;C.A.gy=((C.A.28.h-C.A.1B.hb)/C.A.2O)||1;C.A.fU=C.A.g7/C.A.2O;C.A.fH=C.A.eC/C.A.2O}C.A.28.dx=C.A.28.x-C.A.2c.x;C.A.28.dy=C.A.28.y-C.A.2c.y;k.11.1c.B(\'9b\',\'ad\')},3H:u(C,x,y){if(C.A.2O){fE=T(x/C.A.fU);92=fE*2a/C.A.2O;ft=T(y/C.A.fH);91=ft*2a/C.A.2O}P{92=T(x*2a/C.A.fu);91=T(y*2a/C.A.fw)}C.A.b3=[92||0,91||0,x||0,y||0];if(C.A.3H)C.A.3H.1D(C,C.A.b3)},eI:u(2k){3K=2k.7L||2k.7K||-1;3m(3K){1e 35:k.3b.5c(q.3U,[ae,ae]);1r;1e 36:k.3b.5c(q.3U,[-ae,-ae]);1r;1e 37:k.3b.5c(q.3U,[-q.3U.A.gx||-1,0]);1r;1e 38:k.3b.5c(q.3U,[0,-q.3U.A.gy||-1]);1r;1e 39:k.3b.5c(q.3U,[q.3U.A.gx||1,0]);1r;1e 40:k.11.5c(q.3U,[0,q.3U.A.gy||1]);1r}},5c:u(C,Y){if(!C.A){E}C.A.1B=k.23(k.1a.3w(C),k.1a.2o(C));C.A.2c={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};C.A.4n=k.B(C,\'Y\');if(C.A.4n!=\'2s\'&&C.A.4n!=\'1P\'){C.14.Y=\'2s\'}k.11.c5(C);k.3b.ct(C);dx=T(Y[0])||0;dy=T(Y[1])||0;2v=C.A.2c.x+dx;2q=C.A.2c.y+dy;if(C.A.2O){3y=k.11.c7.1D(C,[2v,2q,dx,dy]);if(3y.1K==7M){dx=3y.dx;dy=3y.dy}2v=C.A.2c.x+dx;2q=C.A.2c.y+dy}3y=k.11.ce.1D(C,[2v,2q,dx,dy]);if(3y&&3y.1K==7M){dx=3y.dx;dy=3y.dy}2v=C.A.2c.x+dx;2q=C.A.2c.y+dy;if(C.A.5i&&(C.A.3H||C.A.2Z)){k.3b.3H(C,2v,2q)}2v=!C.A.1O||C.A.1O==\'4j\'?2v:C.A.2c.x||0;2q=!C.A.1O||C.A.1O==\'49\'?2q:C.A.2c.y||0;C.14.O=2v+\'U\';C.14.Q=2q+\'U\'},2r:u(o){E q.1E(u(){if(q.bI==1b||!o.3C||!k.1a||!k.11||!k.1x){E}5x=k(o.3C,q);if(5x.1N()==0){E}D 4N={2p:\'94\',5i:1b,3H:o.3H&&o.3H.1K==2A?o.3H:S,2Z:o.2Z&&o.2Z.1K==2A?o.2Z:S,3v:q,1G:o.1G||I};if(o.2O&&T(o.2O)){4N.2O=T(o.2O)||1;4N.2O=4N.2O>0?4N.2O:1}if(5x.1N()==1)5x.7t(4N);P{k(5x.K(0)).7t(4N);4N.3v=S;5x.7t(4N)}5x.7B(k.3b.eI);5x.1p(\'bM\',k.3b.bM++);q.bI=1b;q.4z={};q.4z.er=4N.er;q.4z.2O=4N.2O;q.4z.6s=5x;q.4z.bC=o.bC?1b:I;bZ=q;bZ.4z.6s.1E(u(2N){q.bF=2N;q.9r=bZ});if(o.3t&&o.3t.1K==7F){24(i=o.3t.1g-1;i>=0;i--){if(o.3t[i].1K==7F&&o.3t[i].1g==2){el=q.4z.6s.K(i);if(el.4Y){k.3b.5c(el,o.3t[i])}}}}})}};k.fn.23({hN:k.3b.2r,hS:k.3b.eH,hG:k.3b.K});k.2u={5I:[],eg:u(){q.5B();X=q.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}1z=X.L.3u+1;if(X.L.1Q.1g<1z){1z=1}1Q=k(\'1T\',X.L.5u);X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},dp:u(){q.5B();X=q.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}1z=X.L.3u-1;1Q=k(\'1T\',X.L.5u);if(1z<1){1z=X.L.1Q.1g}X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},2I:u(c){X=1h.9e(c);if(X.L.6o){1z=X.L.3u;7d(1z==X.L.3u){1z=1+T(18.6o()*X.L.1Q.1g)}}P{1z=X.L.3u+1;if(X.L.1Q.1g<1z){1z=1}}1Q=k(\'1T\',X.L.5u);X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},go:u(o){D X;if(o&&o.1K==7M){if(o.2b){X=1h.9e(o.2b.X);5N=1X.hn.3h.7C("#");o.2b.6S=S;if(5N.1g==2){1z=T(5N[1]);1Y=5N[1].4E(1z,\'\');if(k.1p(X,\'id\')!=1Y){1z=1}}P{1z=1}}if(o.90){o.90.5B();X=o.90.31.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}5N=o.90.3h.7C("#");1z=T(5N[1]);1Y=5N[1].4E(1z,\'\');if(k.1p(X,\'id\')!=1Y){1z=1}}if(X.L.1Q.1g<1z||1z<1){1z=1}X.L.3u=1z;52=k.1a.2o(X);dt=k.1a.aT(X);d9=k.1a.6U(X);if(X.L.3z){X.L.3z.o.B(\'19\',\'1o\')}if(X.L.3s){X.L.3s.o.B(\'19\',\'1o\')}if(X.L.2b){y=T(dt.t)+T(d9.t);if(X.L.1U){if(X.L.1U.5A==\'Q\'){y+=X.L.1U.4C.hb}P{52.h-=X.L.1U.4C.hb}}if(X.L.2x){if(X.L.2x&&X.L.2x.6Q==\'Q\'){y+=X.L.2x.4C.hb}P{52.h-=X.L.2x.4C.hb}}if(!X.L.c1){X.L.df=o.2b?o.2b.W:(T(X.L.2b.B(\'W\'))||0);X.L.c1=o.2b?o.2b.Z:(T(X.L.2b.B(\'Z\'))||0)}X.L.2b.B(\'Q\',y+(52.h-X.L.df)/2+\'U\');X.L.2b.B(\'O\',(52.1C-X.L.c1)/2+\'U\');X.L.2b.B(\'19\',\'2B\')}1Q=k(\'1T\',X.L.5u);if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}P{aj=k(\'a\',X.L.1U.o).K(1z-1);k(aj).2R(X.L.1U.5R);D 1T=12 9s();1T.X=k.1p(X,\'id\');1T.1z=1z-1;1T.2J=X.L.1Q[X.L.3u-1].2J;if(1T.21){1T.6S=S;k.2u.19.1D(1T)}P{1T.6S=k.2u.19}if(X.L.2x){X.L.2x.o.3x(X.L.1Q[1z-1].6L)}}}},95:u(){X=q.31.31;X.L.5u.B(\'19\',\'1o\');if(X.L.1U.5R){aj=k(\'a\',X.L.1U.o).4i(X.L.1U.5R).K(X.L.3u-1);k(aj).2R(X.L.1U.5R)}D 1T=12 9s();1T.X=k.1p(X,\'id\');1T.1z=X.L.3u-1;1T.2J=X.L.1Q[X.L.3u-1].2J;if(1T.21){1T.6S=S;k.2u.19.1D(1T)}P{1T.6S=k.2u.19}if(X.L.2x){X.L.2x.o.3x(X.L.1Q[X.L.3u-1].6L)}},19:u(){X=1h.9e(q.X);if(X.L.3z){X.L.3z.o.B(\'19\',\'1o\')}if(X.L.3s){X.L.3s.o.B(\'19\',\'1o\')}52=k.1a.2o(X);y=0;if(X.L.1U){if(X.L.1U.5A==\'Q\'){y+=X.L.1U.4C.hb}P{52.h-=X.L.1U.4C.hb}}if(X.L.2x){if(X.L.2x&&X.L.2x.6Q==\'Q\'){y+=X.L.2x.4C.hb}P{52.h-=X.L.2x.4C.hb}}hg=k(\'.ca\',X);y=y+(52.h-q.W)/2;x=(52.1C-q.Z)/2;X.L.5u.B(\'Q\',y+\'U\').B(\'O\',x+\'U\').3x(\'<1T 2J="\'+q.2J+\'" />\');X.L.5u.7f(X.L.3W);3s=X.L.3u+1;if(3s>X.L.1Q.1g){3s=1}3z=X.L.3u-1;if(3z<1){3z=X.L.1Q.1g}X.L.3s.o.B(\'19\',\'2B\').B(\'Q\',y+\'U\').B(\'O\',x+2*q.Z/3+\'U\').B(\'Z\',q.Z/3+\'U\').B(\'W\',q.W+\'U\').1p(\'4g\',X.L.1Q[3s-1].6L);X.L.3s.o.K(0).3h=\'#\'+3s+k.1p(X,\'id\');X.L.3z.o.B(\'19\',\'2B\').B(\'Q\',y+\'U\').B(\'O\',x+\'U\').B(\'Z\',q.Z/3+\'U\').B(\'W\',q.W+\'U\').1p(\'4g\',X.L.1Q[3z-1].6L);X.L.3z.o.K(0).3h=\'#\'+3z+k.1p(X,\'id\')},2r:u(o){if(!o||!o.1Z||k.2u.5I[o.1Z])E;D 1Z=k(\'#\'+o.1Z);D el=1Z.K(0);if(el.14.Y!=\'1P\'&&el.14.Y!=\'2s\'){el.14.Y=\'2s\'}el.14.2U=\'2K\';if(1Z.1N()==0)E;el.L={};el.L.1Q=o.1Q?o.1Q:[];el.L.6o=o.6o&&o.6o==1b||I;97=el.f3(\'hL\');24(i=0;i<97.1g;i++){7Z=el.L.1Q.1g;el.L.1Q[7Z]={2J:97[i].2J,6L:97[i].4g||97[i].hD||\'\'}}if(el.L.1Q.1g==0){E}el.L.4n=k.23(k.1a.3w(el),k.1a.2o(el));el.L.b5=k.1a.aT(el);el.L.bu=k.1a.6U(el);t=T(el.L.b5.t)+T(el.L.bu.t);b=T(el.L.b5.b)+T(el.L.bu.b);k(\'1T\',el).bk();el.L.3W=o.3W?o.3W:g5;if(o.5A||o.9f||o.5R){el.L.1U={};1Z.1S(\'<22 6T="g1"></22>\');el.L.1U.o=k(\'.g1\',el);if(o.9f){el.L.1U.9f=o.9f;el.L.1U.o.2R(o.9f)}if(o.5R){el.L.1U.5R=o.5R}el.L.1U.o.B(\'Y\',\'1P\').B(\'Z\',el.L.4n.w+\'U\');if(o.5A&&o.5A==\'Q\'){el.L.1U.5A=\'Q\';el.L.1U.o.B(\'Q\',t+\'U\')}P{el.L.1U.5A=\'4D\';el.L.1U.o.B(\'4D\',b+\'U\')}el.L.1U.aE=o.aE?o.aE:\' \';24(D i=0;i<el.L.1Q.1g;i++){7Z=T(i)+1;el.L.1U.o.1S(\'<a 3h="#\'+7Z+o.1Z+\'" 6T="gR" 4g="\'+el.L.1Q[i].6L+\'">\'+7Z+\'</a>\'+(7Z!=el.L.1Q.1g?el.L.1U.aE:\'\'))}k(\'a\',el.L.1U.o).1J(\'5h\',u(){k.2u.go({90:q})});el.L.1U.4C=k.1a.2o(el.L.1U.o.K(0))}if(o.6Q||o.9c){el.L.2x={};1Z.1S(\'<22 6T="dn">&7k;</22>\');el.L.2x.o=k(\'.dn\',el);if(o.9c){el.L.2x.9c=o.9c;el.L.2x.o.2R(o.9c)}el.L.2x.o.B(\'Y\',\'1P\').B(\'Z\',el.L.4n.w+\'U\');if(o.6Q&&o.6Q==\'Q\'){el.L.2x.6Q=\'Q\';el.L.2x.o.B(\'Q\',(el.L.1U&&el.L.1U.5A==\'Q\'?el.L.1U.4C.hb+t:t)+\'U\')}P{el.L.2x.6Q=\'4D\';el.L.2x.o.B(\'4D\',(el.L.1U&&el.L.1U.5A==\'4D\'?el.L.1U.4C.hb+b:b)+\'U\')}el.L.2x.4C=k.1a.2o(el.L.2x.o.K(0))}if(o.9D){el.L.3s={9D:o.9D};1Z.1S(\'<a 3h="#2\'+o.1Z+\'" 6T="eY">&7k;</a>\');el.L.3s.o=k(\'.eY\',el);el.L.3s.o.B(\'Y\',\'1P\').B(\'19\',\'1o\').B(\'2U\',\'2K\').B(\'4A\',\'eR\').2R(el.L.3s.9D);el.L.3s.o.1J(\'5h\',k.2u.eg)}if(o.9o){el.L.3z={9o:o.9o};1Z.1S(\'<a 3h="#0\'+o.1Z+\'" 6T="ee">&7k;</a>\');el.L.3z.o=k(\'.ee\',el);el.L.3z.o.B(\'Y\',\'1P\').B(\'19\',\'1o\').B(\'2U\',\'2K\').B(\'4A\',\'eR\').2R(el.L.3z.9o);el.L.3z.o.1J(\'5h\',k.2u.dp)}1Z.bG(\'<22 6T="ca"></22>\');el.L.5u=k(\'.ca\',el);el.L.5u.B(\'Y\',\'1P\').B(\'Q\',\'2P\').B(\'O\',\'2P\').B(\'19\',\'1o\');if(o.2b){1Z.bG(\'<22 6T="dW" 14="19: 1o;"><1T 2J="\'+o.2b+\'" /></22>\');el.L.2b=k(\'.dW\',el);el.L.2b.B(\'Y\',\'1P\');D 1T=12 9s();1T.X=o.1Z;1T.2J=o.2b;if(1T.21){1T.6S=S;k.2u.go({2b:1T})}P{1T.6S=u(){k.2u.go({2b:q})}}}P{k.2u.go({1Z:el})}if(o.cS){fi=T(o.cS)*aC}k.2u.5I[o.1Z]=o.cS?1X.6V(\'k.2u.2I(\\\'\'+o.1Z+\'\\\')\',fi):S}};k.X=k.2u.2r;k.1t={7s:[],5L:{},1c:I,7u:S,26:u(){if(k.11.F==S){E}D 4O,3G,c,cs;k.1t.1c.K(0).3l=k.11.F.A.6R;4O=k.1t.1c.K(0).14;4O.19=\'2B\';k.1t.1c.1B=k.23(k.1a.3w(k.1t.1c.K(0)),k.1a.2o(k.1t.1c.K(0)));4O.Z=k.11.F.A.1B.1C+\'U\';4O.W=k.11.F.A.1B.hb+\'U\';3G=k.1a.cy(k.11.F);4O.5K=3G.t;4O.5z=3G.r;4O.5k=3G.b;4O.5j=3G.l;if(k.11.F.A.46==1b){c=k.11.F.fI(1b);cs=c.14;cs.5K=\'2P\';cs.5z=\'2P\';cs.5k=\'2P\';cs.5j=\'2P\';cs.19=\'2B\';k.1t.1c.5o().1S(c)}k(k.11.F).f5(k.1t.1c.K(0));k.11.F.14.19=\'1o\'},fC:u(e){if(!e.A.44&&k.1x.5r.cQ){if(e.A.3T)e.A.3T.1D(F);k(e).B(\'Y\',e.A.cz||e.A.4n);k(e).aS();k(k.1x.5r).f6(e)}k.1t.1c.4i(e.A.6R).3x(\'&7k;\');k.1t.7u=S;D 4O=k.1t.1c.K(0).14;4O.19=\'1o\';k.1t.1c.f5(e);if(e.A.fx>0){k(e).7f(e.A.fx)}k(\'2e\').1S(k.1t.1c.K(0));D 86=[];D 8q=I;24(D i=0;i<k.1t.7s.1g;i++){D 1j=k.1x.3P[k.1t.7s[i]].K(0);D id=k.1p(1j,\'id\');D 8i=k.1t.8x(id);if(1j.1i.ay!=8i.7l){1j.1i.ay=8i.7l;if(8q==I&&1j.1i.2Z){8q=1j.1i.2Z}8i.id=id;86[86.1g]=8i}}k.1t.7s=[];if(8q!=I&&86.1g>0){8q(86)}},al:u(e,o){if(!k.11.F)E;D 6e=I;D i=0;if(e.1i.el.1N()>0){24(i=e.1i.el.1N();i>0;i--){if(e.1i.el.K(i-1)!=k.11.F){if(!e.5V.b2){if((e.1i.el.K(i-1).1M.y+e.1i.el.K(i-1).1M.hb/2)>k.11.F.A.2q){6e=e.1i.el.K(i-1)}P{1r}}P{if((e.1i.el.K(i-1).1M.x+e.1i.el.K(i-1).1M.1C/2)>k.11.F.A.2v&&(e.1i.el.K(i-1).1M.y+e.1i.el.K(i-1).1M.hb/2)>k.11.F.A.2q){6e=e.1i.el.K(i-1)}}}}}if(6e&&k.1t.7u!=6e){k.1t.7u=6e;k(6e).h5(k.1t.1c.K(0))}P if(!6e&&(k.1t.7u!=S||k.1t.1c.K(0).31!=e)){k.1t.7u=S;k(e).1S(k.1t.1c.K(0))}k.1t.1c.K(0).14.19=\'2B\'},cT:u(e){if(k.11.F==S){E}e.1i.el.1E(u(){q.1M=k.23(k.1a.74(q),k.1a.7G(q))})},8x:u(s){D i;D h=\'\';D o={};if(s){if(k.1t.5L[s]){o[s]=[];k(\'#\'+s+\' .\'+k.1t.5L[s]).1E(u(){if(h.1g>0){h+=\'&\'}h+=s+\'[]=\'+k.1p(q,\'id\');o[s][o[s].1g]=k.1p(q,\'id\')})}P{24(a in s){if(k.1t.5L[s[a]]){o[s[a]]=[];k(\'#\'+s[a]+\' .\'+k.1t.5L[s[a]]).1E(u(){if(h.1g>0){h+=\'&\'}h+=s[a]+\'[]=\'+k.1p(q,\'id\');o[s[a]][o[s[a]].1g]=k.1p(q,\'id\')})}}}}P{24(i in k.1t.5L){o[i]=[];k(\'#\'+i+\' .\'+k.1t.5L[i]).1E(u(){if(h.1g>0){h+=\'&\'}h+=i+\'[]=\'+k.1p(q,\'id\');o[i][o[i].1g]=k.1p(q,\'id\')})}}E{7l:h,o:o}},fF:u(e){if(!e.dq){E}E q.1E(u(){if(!q.5V||!k(e).is(\'.\'+q.5V.3C))k(e).2R(q.5V.3C);k(e).7t(q.5V.A)})},4U:u(){E q.1E(u(){k(\'.\'+q.5V.3C).aS();k(q).dR();q.5V=S;q.fm=S})},2r:u(o){if(o.3C&&k.1a&&k.11&&k.1x){if(!k.1t.1c){k(\'2e\',1h).1S(\'<22 id="e5">&7k;</22>\');k.1t.1c=k(\'#e5\');k.1t.1c.K(0).14.19=\'1o\'}q.do({3C:o.3C,9J:o.9J?o.9J:I,a5:o.a5?o.a5:I,58:o.58?o.58:I,7x:o.7x||o.dC,7y:o.7y||o.fO,cQ:1b,2Z:o.2Z||o.ia,fx:o.fx?o.fx:I,46:o.46?1b:I,6I:o.6I?o.6I:\'cV\'});E q.1E(u(){D A={6N:o.6N?1b:I,ff:6P,1G:o.1G?2m(o.1G):I,6R:o.58?o.58:I,fx:o.fx?o.fx:I,44:1b,46:o.46?1b:I,3v:o.3v?o.3v:S,2p:o.2p?o.2p:S,4o:o.4o&&o.4o.1K==2A?o.4o:I,4m:o.4m&&o.4m.1K==2A?o.4m:I,3T:o.3T&&o.3T.1K==2A?o.3T:I,1O:/49|4j/.48(o.1O)?o.1O:I,6M:o.6M?T(o.6M)||0:I,2V:o.2V?o.2V:I};k(\'.\'+o.3C,q).7t(A);q.fm=1b;q.5V={3C:o.3C,6N:o.6N?1b:I,ff:6P,1G:o.1G?2m(o.1G):I,6R:o.58?o.58:I,fx:o.fx?o.fx:I,44:1b,46:o.46?1b:I,3v:o.3v?o.3v:S,2p:o.2p?o.2p:S,b2:o.b2?1b:I,A:A}})}}};k.fn.23({j3:k.1t.2r,f6:k.1t.fF,iS:k.1t.4U});k.iZ=k.1t.8x;k.2t={6O:S,7b:I,9m:S,6K:u(e){k.2t.7b=1b;k.2t.1Y(e,q,1b)},cq:u(e){if(k.2t.6O!=q)E;k.2t.7b=I;k.2t.2G(e,q)},1Y:u(e,el,7b){if(k.2t.6O!=S)E;if(!el){el=q}k.2t.6O=el;1M=k.23(k.1a.3w(el),k.1a.2o(el));8u=k(el);4g=8u.1p(\'4g\');3h=8u.1p(\'3h\');if(4g){k.2t.9m=4g;8u.1p(\'4g\',\'\');k(\'#eT\').3x(4g);if(3h)k(\'#bL\').3x(3h.4E(\'jh://\',\'\'));P k(\'#bL\').3x(\'\');1c=k(\'#8z\');if(el.4H.3l){1c.K(0).3l=el.4H.3l}P{1c.K(0).3l=\'\'}bo=k.1a.2o(1c.K(0));ga=7b&&el.4H.Y==\'bO\'?\'4D\':el.4H.Y;3m(ga){1e\'Q\':2q=1M.y-bo.hb;2v=1M.x;1r;1e\'O\':2q=1M.y;2v=1M.x-bo.1C;1r;1e\'2L\':2q=1M.y;2v=1M.x+1M.1C;1r;1e\'bO\':k(\'2e\').1J(\'3D\',k.2t.3D);1s=k.1a.4a(e);2q=1s.y+15;2v=1s.x+15;1r;ad:2q=1M.y+1M.hb;2v=1M.x;1r}1c.B({Q:2q+\'U\',O:2v+\'U\'});if(el.4H.54==I){1c.1Y()}P{1c.7f(el.4H.54)}if(el.4H.2Y)el.4H.2Y.1D(el);8u.1J(\'8B\',k.2t.2G).1J(\'5B\',k.2t.cq)}},3D:u(e){if(k.2t.6O==S){k(\'2e\').3q(\'3D\',k.2t.3D);E}1s=k.1a.4a(e);k(\'#8z\').B({Q:1s.y+15+\'U\',O:1s.x+15+\'U\'})},2G:u(e,el){if(!el){el=q}if(k.2t.7b!=1b&&k.2t.6O==el){k.2t.6O=S;k(\'#8z\').7a(1);k(el).1p(\'4g\',k.2t.9m).3q(\'8B\',k.2t.2G).3q(\'5B\',k.2t.cq);if(el.4H.3i)el.4H.3i.1D(el);k.2t.9m=S}},2r:u(M){if(!k.2t.1c){k(\'2e\').1S(\'<22 id="8z"><22 id="eT"></22><22 id="bL"></22></22>\');k(\'#8z\').B({Y:\'1P\',3I:6P,19:\'1o\'});k.2t.1c=1b}E q.1E(u(){if(k.1p(q,\'4g\')){q.4H={Y:/Q|4D|O|2L|bO/.48(M.Y)?M.Y:\'4D\',3l:M.3l?M.3l:I,54:M.54?M.54:I,2Y:M.2Y&&M.2Y.1K==2A?M.2Y:I,3i:M.3i&&M.3i.1K==2A?M.3i:I};D el=k(q);el.1J(\'9z\',k.2t.1Y);el.1J(\'6K\',k.2t.6K)}})}};k.fn.hO=k.2t.2r;k.84={bq:u(e){3K=e.7L||e.7K||-1;if(3K==9){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}if(q.b1){1h.6J.dZ().3g="\\t";q.dV=u(){q.6K();q.dV=S}}P if(q.aF){26=q.5q;2T=q.dN;q.2y=q.2y.hd(0,26)+"\\t"+q.2y.h8(2T);q.aF(26+1,26+1);q.6K()}E I}},4U:u(){E q.1E(u(){if(q.7P&&q.7P==1b){k(q).3q(\'7B\',k.84.bq);q.7P=I}})},2r:u(){E q.1E(u(){if(q.4Y==\'cf\'&&(!q.7P||q.7P==I)){k(q).1J(\'7B\',k.84.bq);q.7P=1b}})}};k.fn.23({j5:k.84.2r,hH:k.84.4U});k.1a={3w:u(e){D x=0;D y=0;D es=e.14;D bP=I;if(k(e).B(\'19\')==\'1o\'){D 5Y=es.3n;D 9q=es.Y;bP=1b;es.3n=\'2K\';es.19=\'2B\';es.Y=\'1P\'}D el=e;7d(el){x+=el.8t+(el.4Z&&!k.3a.7I?T(el.4Z.5b)||0:0);y+=el.8G+(el.4Z&&!k.3a.7I?T(el.4Z.4S)||0:0);el=el.dJ}el=e;7d(el&&el.4Y&&el.4Y.6c()!=\'2e\'){x-=el.3c||0;y-=el.3d||0;el=el.31}if(bP==1b){es.19=\'1o\';es.Y=9q;es.3n=5Y}E{x:x,y:y}},7G:u(el){D x=0,y=0;7d(el){x+=el.8t||0;y+=el.8G||0;el=el.dJ}E{x:x,y:y}},2o:u(e){D w=k.B(e,\'Z\');D h=k.B(e,\'W\');D 1C=0;D hb=0;D es=e.14;if(k(e).B(\'19\')!=\'1o\'){1C=e.4c;hb=e.5W}P{D 5Y=es.3n;D 9q=es.Y;es.3n=\'2K\';es.19=\'2B\';es.Y=\'1P\';1C=e.4c;hb=e.5W;es.19=\'1o\';es.Y=9q;es.3n=5Y}E{w:w,h:h,1C:1C,hb:hb}},74:u(el){E{1C:el.4c||0,hb:el.5W||0}},bm:u(e){D h,w,de;if(e){w=e.8W;h=e.8O}P{de=1h.5d;w=1X.d4||aa.d4||(de&&de.8W)||1h.2e.8W;h=1X.cB||aa.cB||(de&&de.8O)||1h.2e.8O}E{w:w,h:h}},6z:u(e){D t=0,l=0,w=0,h=0,iw=0,ih=0;if(e&&e.9N.6c()!=\'2e\'){t=e.3d;l=e.3c;w=e.d7;h=e.d2;iw=0;ih=0}P{if(1h.5d){t=1h.5d.3d;l=1h.5d.3c;w=1h.5d.d7;h=1h.5d.d2}P if(1h.2e){t=1h.2e.3d;l=1h.2e.3c;w=1h.2e.d7;h=1h.2e.d2}iw=aa.d4||1h.5d.8W||1h.2e.8W||0;ih=aa.cB||1h.5d.8O||1h.2e.8O||0}E{t:t,l:l,w:w,h:h,iw:iw,ih:ih}},cy:u(e,7N){D el=k(e);D t=el.B(\'5K\')||\'\';D r=el.B(\'5z\')||\'\';D b=el.B(\'5k\')||\'\';D l=el.B(\'5j\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)};P E{t:t,r:r,b:b,l:l}},aT:u(e,7N){D el=k(e);D t=el.B(\'5M\')||\'\';D r=el.B(\'5U\')||\'\';D b=el.B(\'5n\')||\'\';D l=el.B(\'4X\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)};P E{t:t,r:r,b:b,l:l}},6U:u(e,7N){D el=k(e);D t=el.B(\'4S\')||\'\';D r=el.B(\'5O\')||\'\';D b=el.B(\'5Q\')||\'\';D l=el.B(\'5b\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)||0};P E{t:t,r:r,b:b,l:l}},4a:u(2k){D x=2k.hT||(2k.gM+(1h.5d.3c||1h.2e.3c))||0;D y=2k.ki||(2k.iQ+(1h.5d.3d||1h.2e.3d))||0;E{x:x,y:y}},cI:u(4R,cx){cx(4R);4R=4R.7c;7d(4R){k.1a.cI(4R,cx);4R=4R.hQ}},h7:u(4R){k.1a.cI(4R,u(el){24(D 1p in el){if(2g el[1p]===\'u\'){el[1p]=S}}})},hV:u(el,1O){D 5l=k.1a.6z();D b6=k.1a.2o(el);if(!1O||1O==\'49\')k(el).B({Q:5l.t+((18.3r(5l.h,5l.ih)-5l.t-b6.hb)/2)+\'U\'});if(!1O||1O==\'4j\')k(el).B({O:5l.l+((18.3r(5l.w,5l.iw)-5l.l-b6.1C)/2)+\'U\'})},hW:u(el,dk){D 1Q=k(\'1T[@2J*="8X"]\',el||1h),8X;1Q.1E(u(){8X=q.2J;q.2J=dk;q.14.5E="9n:9w.9y.hE(2J=\'"+8X+"\')"})}};[].3J||(7F.hF.3J=u(v,n){n=(n==S)?0:n;D m=q.1g;24(D i=n;i<m;i++)if(q[i]==v)E i;E-1});',62,1293,'||||||||||||||||||||jQuery||||||this||||function||||||dragCfg|css|elm|var|return|dragged|easing|speed|false|callback|get|ss|options|iAuto|left|else|top|iResize|null|parseInt|px|oldStyle|height|slideshow|position|width||iDrag|new||style||||Math|display|iUtil|true|helper|subject|case|autoCFG|length|document|dropCfg|iEL|resizeOptions|carouselCfg|duration|interfaceFX|none|attr|sizes|break|pointer|iSort|type|ImageBox|queue|iDrop|iAutoscroller|slide|resizeElement|oC|wb|apply|each|fisheyeCfg|opacity|delta|newSizes|bind|constructor|custom|pos|size|axis|absolute|images|items|append|img|slideslinks|255|firstNum|window|show|container||complete|div|extend|for||start||cont|elsToScroll|100|loader|oR||body|elem|typeof|selectedItem|oldP|props|event|accordionCfg|parseFloat|field|getSize|containment|ny|build|relative|iTooltip|islideshow|nx|tp|slideCaption|value|newPosition|Function|block|selectHelper|step|border|itemWidth|hide|dequeue|timer|src|hidden|right|limit|nr|fractions|0px|PI|addClass|direction|end|overflow|cursorAt|result|parentData|onShow|onChange|to|parentNode|||||||||browser|iSlider|scrollLeft|scrollTop|scr|transferHelper|text|href|onHide|pre|selectdrug|className|switch|visibility|item|wrapper|unbind|max|nextslide|values|currentslide|handle|getPosition|html|newCoords|prevslide|iframe|iExpander|accept|mousemove|canvas|createElement|margins|onSlide|zIndex|indexOf|pressedKey|min|valueToAdd|multipleSeparator|pageSize|zones|highlighted|toggle|abs|onStop|dragElem|times|fadeDuration|diff|dhs|handlers||resizeDirection||vp|so|distance|ghosting||test|vertically|getPointer|startTop|offsetWidth|subjectValue|lastSuggestion|DropOutDirectiont|title|wrs|removeClass|horizontally|startLeft|out|onDrag|oP|onStart|nWidth|percent|down|ifxFirstDisplay|msie|iteration|ratio|clear|color|lastValue|slideCfg|fontSize|currentPointer|dimm|bottom|replace|up|prevImage|tooltipCFG|rel|els|fxCheckTag|context|nextImage|params|shs|fieldData|elToScroll|nodeEl|borderTopWidth|chunks|destroy|string|nHeight|paddingLeft|tagName|currentStyle||halign|slidePos|onclick|delay||containerW|from|helperclass|endLeft|endTop|borderLeftWidth|dragmoveBy|documentElement|dhe|newStyles|clonedEl|click|si|marginLeft|marginBottom|clientScroll|OpenClose|paddingBottom|empty|toWrite|selectionStart|overzone|toAdd|onDragModifier|holder|mousedown|animate|toDrag|cnt|marginRight|linksPosition|blur|getAttribute|hight|filter|sw|zoney|cos|slideshows|zonex|marginTop|collected|paddingTop|url|borderRightWidth|mouseup|borderBottomWidth|activeLinkClass|dragHandle|clearInterval|paddingRight|sortCfg|offsetHeight|prop|oldVisibility|styles||BlindDirection|point|fxh|nmp|old|post|currentPanel|onSelect|elementData|grid|pow|toLowerCase|animationHandler|cur|containerH|close|puff|getWidth|currentRel|imageEl|Expander|getHeight|iFisheye|random|newDimensions|itemHeight|reflections|sliders|selRange|wr|orig|margin|maxWidth|keyup|getScroll|captionText|totalImages|128|parseColor|curCSS|outerContainer|Scale|restore|tolerance|selection|focus|caption|snapDistance|revert|current|3000|captionPosition|hpc|onload|class|getBorder|setInterval|oldStyleAttr|rule|rgb|open|minLeft|ActiveXObject|oldDisplay|restoreStyle|getSizeLite||nw|0x||F0|fadeOut|focused|firstChild|while|cssRules|fadeIn|Date|minTop|backgroundColor|sc|nbsp|hash|captionEl|selectKeyHelper|selectCurrent|newTop|init|newLeft|changed|Draggable|inFrontOf|efx|139|onHover|onOut|getTime|np|keydown|split|radiusY|increment|Array|getPositionLite|selectClass|opera|onHighlight|keyCode|charCode|Object|toInteger|frameClass|hasTabsEnabled|zonew|user|zoneh|positionItems|onClick|oD|scrollIntoView|accordionPos|proximity|indic||data|containerSize|sin|iTTabs||ts|ImageBoxPrevImage|ImageBoxNextImage|imageSrc|newPos|maxHeight|minHeight|elS|activeClass|panels|maxBottom|maxRight|ser|move|opened|bounceout|animationInProgress|overlay|stop|reflectionSize|fnc|classname|insideParent|offsetLeft|jEl|nRy|pr|serialize|nRx|tooltipHelper|cssSides|mouseout|select|count|namedColors|padding|offsetTop|directionIncrement|parentEl|400|dir|expand|createTextNode|finishedPre|clientHeight|li|applyOn|content|contBorders|object|parentBorders|alpha|clientWidth|png|gallery|fontWeight|link|yproc|xproc|sx|parent|showImage|selectedone|imgs|onselect|sy|startDrag|cursor|captionClass|onselectstop|getElementById|linksClass|sh|ul|onActivate|isDroppable|nextEl|onDrop|oldTitle|progid|prevslideClass|prevEl|oldPosition|SliderContainer|Image|linkRel|selectKeyUp|selectKeyDown|DXImageTransform|inCache|Microsoft|mouseover|dragstop|diffX|211|nextslideClass|prot|auto|dEs|hidehelper|isDraggable|activeclass|unit|DoFold|unfold|nodeName|startTime|buildWrapper|prev|1px|oldColor|setTimeout|ScrollTo|st|sl|cssText|9999|next|destroyWrapper|opt|diffHeight|diffWidth|exec|hoverclass|image|blind|borderColor|sideEnd|self|key||default|2000|styleSheets|getValues|192|diffY|lnk|reflexions|checkhover|selectcheck|maxRotation|ImageBoxOuterContainer|gradient|panelHeight|childs|headers|ne|hideImage|minWidth|iIndex|itemsText|os|side|iCarousel|5625|1000|itemMinWidth|linksSeparator|setSelectionRange|protectRotation|positionContainer|posx|hoverClass|valToAdd|minchars|helperClass|source|nextImageEl|preventDefault|multiple|headerSelector|DraggableDestroy|getPadding|autofill|handleEl|stopPropagation|prevImageEl|getFieldValues|panelSelector|String|createTextRange|floats|lastSi|shrink|oPad|windowSize|paddingLeftSize|angle|paddingY|paddingX|RegExp|borderRightSize|floatVal|firstStep|pulse|Pulsate|Color|rotationSpeed|paddingBottomSize|remove|parseStyle|getClient|Number|helperSize|bounce|doTab||zoom|borderLeftSize|oBor|paddingRightSize|borderTopSize|paddingTopSize|stopAnim|pValue|borderBottomSize|extraWidth|restricted|autoSize|unselectable|SliderIteration|prepend|clearTimeout|isSlider|oneIsSortable|applyOnHover|tooltipURL|tabindex|draginit|mouse|restoreStyles|sliderSize|sliderPos|parentPos|cancelBubble|autocomplete|inputWidth|oldBorder|dragmove|clnt|sliderEl|returnValue|loaderWidth|idsa|letterSpacing|pause|getContainment|fade|snapToGrid|linear|10000|slideshowHolder|asin|cssSidesEnd|borderWidth|fitToContainer|TEXTAREA|entities|INPUT|spacer|writeItems|character|currentValue|paddings|169|oldFloat|borders|hidefocused|bouncein||modifyContainer|transparent|center|loadImage|func|getMargins|initialPosition|textAlign|innerHeight|Alpha|no|captionImages|closeEl|shake|prevTop|traverseDOM|Selectserialize|stopDrag|slider|ImageBoxCaption|ImageBoxIframe|300|ImageBoxOverlay|sortable|moveDrag|autoplay|measure|prevLeft|intersect|ImageBoxCurrentImage|selectstop|Shake|index|dragEl|keyPressed|scrollHeight|scroll|innerWidth|match|elPosition|scrollWidth|textImage|slideBor|jpg|captionSize|textImageFrom|visible||loaderHeight|ImageBoxCaptionImages||hoverItem|clickItem|emptyGIF||notColor|slideshowCaption|Droppable|goprev|childNodes|autocompleteHelper|autocompleteIframe|slidePad|fit|165|clientSize|||fontFamily|colorCssProps|elType|onhover|cssProps|expanderHelper|boxModel|itransferTo|keypress|moveStart|offsetParent|Width|selectstart|fxe|selectionEnd|checkCache|fontStyle|update|DroppableDestroy|remeasure|fontStretch|fontVariant|onblur|slideshowLoader|htmlEntities|wordSpacing|createRange|224|KhtmlUserSelect||closeHTML|on|sortHelper|245|userSelect|dragHelper|hrefAttr|dragstart|107|loaderSRC|highlight|slideshowPrevslide||gonext||styleFloat|frameborder|javascript|||relAttr|wid|scrolling||onslide|||listStyle|imageTypes|insertBefore|999|textDecoration|sqrt|140|230|maxy|240|ImageBoxContainer|doScroll|interval|set|dragmoveByKey|protect|ImageBoxCaptionText|144|ImageBoxLoader|off|checkdrop|isSelectable|hlt|30px|selectedclass|tooltipTitle|imagebox|shc|overlayOpacity|selRange2|slideshowNextSlide|gif|getSelectionStart|360|iAccordion|getElementsByTagName|iBounce|after|SortableAddItem|onResize|150|itemZIndex|grow|getHeightMinMax|borderTopUnit|selectcheckApply|borderRightUnit|zindex|fontUnit|togglehor|time|se|parte|easeout|isSortable||SlideInUp|fold|SlideOutUp|rgba|addColorStop|yfrac|containerMaxx|interfaceColorFX|containerMaxy||leftUnit|mousex||radiusX|check|getContext|xfrac|addItem|topUnit|fracH|cloneNode|togglever|paddingLeftUnit|borderBottomUnit|finish|onDragStop|onout|posy|isFunction|oldOverflow|directions|vertical|fracW|fakeAccordionClass|parts|fadeTo|inputValue|xml|selectstopApply|slideshowLinks|onDragStart|BlindUp|paddingTopUnit|500|trim|maxx|borderLeftUnit|paddingRightUnit|filteredPosition|BlindDown|paddingBottomUnit|horizontal|valign|find|ImageBoxClose|onselectstart|mozUserSelect|ondragstart|scale|110|globalCompositeOperation|bmp||drawImage|ondrop|password|quot||save|starty|jpeg|||number|startx|finishOpacity|hover|recallDroppables|flipv|finishx|destination|khtml|moz|lt|amp|pW|clientX|Accordion|translate|captiontext|elasticin|slideshowLink|fix|elasticout|resize|elasticboth|bounceboth|984375|9375|Selectable|30002|list|625|30001|nodeValue|before|100000|purgeEvents|substr|duplicate|moveEnd|||substring|success|param|par|array|Fisheye|name|POST|ajax|easeboth|location|fromHandler|collapse|MozUserSelect||ResizableDestroy|rotationTimer|fillRect|fill|WebKit|fillStyle|createLinearGradient|Resizable|navigator|appVersion|lineHeigt|alt|AlphaImageLoader|prototype|SliderGetValues|DisableTabs|Carousel|load|easein|IMG|200|Slider|ToolTip|wh|nextSibling|Autocomplete|SliderSetValues|pageX|float|centerEl|fixPNG|isNaN|dotted|dashed|stopAll|Left|outlineColor|Top|Right|Bottom|solid|double|selectorText|rules|onchange|SlideToggleRight|SlideOutRight||borderStyle||TransferTo||groove|ridge|inset|outset|borderTopColor||borderRightColor|olive|navy|orange||pink|203|maroon||magenta|182|193|lightyellow|lime|purple|red|outlineOffset|outlineWidth|borderBottomColor|borderLeftColor|lineHeight|loading|silver|white|yellow|Showing|100000000|SlideInRight|clientY|Highlight|SortableDestroy|CloseVertically|CloseHorizontally|FoldToggle|UnFold|SlideInDown|SlideToggleUp|SortSerialize|Fold|SwitchHorizontally|SwitchVertically|Sortable|scrollTo|EnableTabs|ScrollToAnchors|pt|Puff|OpenVertically|OpenHorizontally|Grow|Shrink|DropToggleRight|DropInRight|BlindToggleHorizontally|BlindRight|http|Bounce|120|BlindLeft|BlindToggleVertically|SlideToggleLeft|SlideOutLeft|toUpperCase|SlideInLeft|SlideToggleDown|SlideOutDown|DropOutLeft|DropInLeft|DropToggleLeft|DropOutRight|DropToggleUp|DropInUp|DropOutDown|DropInDown|DropToggleDown|DropOutUp|lightpink|textIndent|aqua|appendChild|azure|beige|220|last|cssFloat|first|ol|wrapEl|fxWrapper|black|imageLoaded|darkkhaki|darkgreen|189|183|darkmagenta|firstResize|darkgrey|brown|cyan|darkblue|darkcyan|table|form|col|tfoot|colgroup|th|header|thead|tbody|112|Autoexpand|tr|td|script|frame|input|pageY|textarea|button|w_|removeChild|frameset|option|optgroup|meta|darkolivegreen|blue|122|233|green|lightcyan|204|darkviolet|lightgreen|indigo|216|khaki|darksalmon|130|darkred|lightblue|148|173|215|238|fuchsia|gold|darkorchid|153|darkorange|lightgrey'.split('|'),0,{}))
|
13 |
+
|
bp-forums/bbpress/bb-login.php
CHANGED
@@ -1,104 +1,148 @@
|
|
1 |
<?php
|
2 |
-
// Load bbPress.
|
3 |
-
require('./bb-load.php');
|
4 |
|
5 |
-
//
|
|
|
|
|
|
|
6 |
bb_ssl_redirect();
|
7 |
|
8 |
-
//
|
9 |
-
|
10 |
-
if ( !$re = $_POST['re'] ? $_POST['re'] : $_GET['re'] ) {
|
11 |
-
$re = $ref;
|
12 |
-
}
|
13 |
|
14 |
-
|
15 |
-
$home_url = parse_url( bb_get_uri( null, null, BB_URI_CONTEXT_TEXT ) );
|
16 |
-
$home_path = $home_url['path'];
|
17 |
|
18 |
-
//
|
19 |
-
if (
|
20 |
-
$re =
|
21 |
-
}
|
22 |
|
23 |
-
//
|
24 |
-
|
|
|
25 |
|
26 |
-
//
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
$re = bb_get_uri( $re , null, BB_URI_CONTEXT_HEADER );
|
31 |
-
}
|
32 |
|
33 |
-
//
|
34 |
-
if (
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
}
|
39 |
|
40 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
if ( bb_is_user_logged_in() ) {
|
42 |
-
bb_safe_redirect( $re );
|
43 |
-
exit;
|
44 |
-
}
|
45 |
|
46 |
-
//
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
// User logged in successfully.
|
50 |
-
if ( $user && !is_wp_error( $user ) ) {
|
51 |
bb_safe_redirect( $re );
|
52 |
exit;
|
53 |
}
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
} else {
|
59 |
$bb_login_error = new WP_Error;
|
60 |
}
|
61 |
|
62 |
-
|
63 |
-
$email_login = bb_get_option( 'email_login' );
|
64 |
|
65 |
-
//
|
66 |
$error_data = $bb_login_error->get_error_data();
|
67 |
-
|
|
|
|
|
68 |
$user_exists = true;
|
69 |
-
|
70 |
-
$user_exists =
|
71 |
-
}
|
72 |
-
unset( $error_data );
|
73 |
|
|
|
74 |
if ( 'post' == strtolower( $_SERVER['REQUEST_METHOD'] ) ) {
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
78 |
$bb_login_error->add( 'user_login', __( 'User does not exist.' ) );
|
79 |
} else {
|
80 |
$bb_login_error->add( 'user_login', $email_login ? __( 'Enter a username or email address.' ) : __( 'Enter a username.' ) );
|
81 |
}
|
82 |
}
|
83 |
|
84 |
-
// If the password was wrong then add that error
|
85 |
if ( !$bb_login_error->get_error_code() ) {
|
86 |
$bb_login_error->add( 'password', __( 'Incorrect password.' ) );
|
87 |
}
|
88 |
}
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
|
|
|
|
|
|
|
93 |
$bb_login_error = new WP_Error( 'user_login', __( 'Username and Password do not match.' ) );
|
94 |
-
}
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
$
|
100 |
-
$
|
101 |
|
102 |
-
// Load the template
|
103 |
bb_load_template( 'login.php', array( 'user_exists', 'user_login', 'remember_checked', 'redirect_to', 're', 'bb_login_error' ) );
|
|
|
104 |
exit;
|
|
|
|
1 |
<?php
|
|
|
|
|
2 |
|
3 |
+
// Load bbPress
|
4 |
+
require( './bb-load.php' );
|
5 |
+
|
6 |
+
// SSL redirect if required
|
7 |
bb_ssl_redirect();
|
8 |
|
9 |
+
// Don't cache this page at all
|
10 |
+
nocache_headers();
|
|
|
|
|
|
|
11 |
|
12 |
+
/** Look for redirection ******************************************************/
|
|
|
|
|
13 |
|
14 |
+
// Look for 'redirect_to'
|
15 |
+
if ( isset( $_REQUEST['redirect_to'] ) )
|
16 |
+
$re = $_REQUEST['redirect_to'];
|
|
|
17 |
|
18 |
+
// Look for 're'
|
19 |
+
if ( empty( $re ) && isset( $_REQUEST['re'] ) )
|
20 |
+
$re = $_REQUEST['re'];
|
21 |
|
22 |
+
// Use referer
|
23 |
+
if ( empty( $re ) )
|
24 |
+
$re = wp_get_referer();
|
25 |
+
|
26 |
+
// Don't redirect to register or password reset pages
|
27 |
+
if ( empty( $re ) ) {
|
28 |
+
// Grab home path and URL for comparison
|
29 |
+
$home_url = parse_url( bb_get_uri( null, null, BB_URI_CONTEXT_TEXT ) );
|
30 |
+
$home_path = $home_url['path'];
|
31 |
+
|
32 |
+
if ( false !== strpos( $re, $home_path . 'register.php' ) || false !== strpos( $re, $home_path . 'bb-reset-password.php' ) )
|
33 |
+
$re = bb_get_uri( null, null, BB_URI_CONTEXT_HEADER );
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* If this page was accessed using SSL, make sure the redirect is a full URL so
|
38 |
+
* that we don't end up on an SSL page again (unless the whole site is under SSL)
|
39 |
+
*/
|
40 |
+
if ( is_ssl() && 0 === strpos( $re, '/' ) )
|
41 |
$re = bb_get_uri( $re , null, BB_URI_CONTEXT_HEADER );
|
|
|
42 |
|
43 |
+
// Clean the redirection destination
|
44 |
+
if ( !empty( $re ) ) {
|
45 |
+
$re = esc_url( $re );
|
46 |
+
$re = esc_attr( $re );
|
47 |
+
$redirect_to = $re;
|
48 |
}
|
49 |
|
50 |
+
// Fallback to site root
|
51 |
+
if ( empty( $re ) )
|
52 |
+
$re = bb_get_uri();
|
53 |
+
|
54 |
+
/** Handle logout *************************************************************/
|
55 |
+
|
56 |
+
// User is logged in
|
57 |
if ( bb_is_user_logged_in() ) {
|
|
|
|
|
|
|
58 |
|
59 |
+
// Logout requested
|
60 |
+
if ( isset( $_GET['logout'] ) )
|
61 |
+
$_GET['action'] = 'logout';
|
62 |
+
|
63 |
+
// Check logout action
|
64 |
+
if ( isset( $_GET['action'] ) && 'logout' === $_GET['action'] )
|
65 |
+
bb_logout();
|
66 |
|
|
|
|
|
67 |
bb_safe_redirect( $re );
|
68 |
exit;
|
69 |
}
|
70 |
|
71 |
+
/** Handle login **************************************************************/
|
72 |
+
|
73 |
+
// Do we allow login by email address
|
74 |
+
$email_login = bb_get_option( 'email_login' );
|
75 |
+
|
76 |
+
// Get the user from the login details
|
77 |
+
if ( empty( $_POST['log'] ) )
|
78 |
+
$_POST['log'] = !empty( $_POST['user_login'] ) ? $_POST['user_login'] : '';
|
79 |
+
|
80 |
+
if ( empty( $_POST['pwd'] ) )
|
81 |
+
$_POST['pwd'] = !empty( $_POST['password'] ) ? $_POST['password'] : '';
|
82 |
+
|
83 |
+
if ( empty( $_POST['rememberme'] ) )
|
84 |
+
$_POST['rememberme'] = !empty( $_POST['remember'] ) ? 1 : '';
|
85 |
+
|
86 |
+
// Attempt to log the user in
|
87 |
+
if ( $user = bb_login( @$_POST['log'], @$_POST['pwd'], @$_POST['rememberme'] ) ) {
|
88 |
+
if ( !is_wp_error( $user ) ) {
|
89 |
+
bb_safe_redirect( $re );
|
90 |
+
exit;
|
91 |
+
} else {
|
92 |
+
$bb_login_error =& $user;
|
93 |
+
}
|
94 |
+
|
95 |
+
// No login so prepare the error
|
96 |
} else {
|
97 |
$bb_login_error = new WP_Error;
|
98 |
}
|
99 |
|
100 |
+
/** Handle errors *************************************************************/
|
|
|
101 |
|
102 |
+
// Get error data so we can provide feedback
|
103 |
$error_data = $bb_login_error->get_error_data();
|
104 |
+
|
105 |
+
// Does user actually exist
|
106 |
+
if ( isset( $error_data['unique'] ) && false === $error_data['unique'] )
|
107 |
$user_exists = true;
|
108 |
+
else
|
109 |
+
$user_exists = !empty( $_POST['log'] ) && (bool) bb_get_user( $_POST['log'], array( 'by' => 'login' ) );
|
|
|
|
|
110 |
|
111 |
+
// Check for errors on post method
|
112 |
if ( 'post' == strtolower( $_SERVER['REQUEST_METHOD'] ) ) {
|
113 |
+
|
114 |
+
// If the user doesn't exist then add that error
|
115 |
+
if ( empty( $user_exists ) ) {
|
116 |
+
if ( !empty( $_POST['log'] ) ) {
|
117 |
$bb_login_error->add( 'user_login', __( 'User does not exist.' ) );
|
118 |
} else {
|
119 |
$bb_login_error->add( 'user_login', $email_login ? __( 'Enter a username or email address.' ) : __( 'Enter a username.' ) );
|
120 |
}
|
121 |
}
|
122 |
|
123 |
+
// If the password was wrong then add that error
|
124 |
if ( !$bb_login_error->get_error_code() ) {
|
125 |
$bb_login_error->add( 'password', __( 'Incorrect password.' ) );
|
126 |
}
|
127 |
}
|
128 |
|
129 |
+
/**
|
130 |
+
* If trying to log in with email address, don't leak whether or not email
|
131 |
+
* address exists in the db. is_email() is not perfect. Usernames can be
|
132 |
+
* valid email addresses potentially.
|
133 |
+
*/
|
134 |
+
if ( !empty( $email_login ) && $bb_login_error->get_error_codes() && false !== is_email( @$_POST['log'] ) )
|
135 |
$bb_login_error = new WP_Error( 'user_login', __( 'Username and Password do not match.' ) );
|
|
|
136 |
|
137 |
+
/** Prepare for display *******************************************************/
|
138 |
+
|
139 |
+
// Sanitze variables for display
|
140 |
+
$remember_checked = @$_POST['rememberme'] ? ' checked="checked"' : '';
|
141 |
+
$user_login = esc_attr( sanitize_user( @$_POST['log'], true ) );
|
142 |
|
143 |
+
// Load the template
|
144 |
bb_load_template( 'login.php', array( 'user_exists', 'user_login', 'remember_checked', 'redirect_to', 're', 'bb_login_error' ) );
|
145 |
+
|
146 |
exit;
|
147 |
+
|
148 |
+
?>
|
bp-forums/bbpress/bb-templates/kakumei-blue/style.css
CHANGED
@@ -22,6 +22,8 @@ input#tagformsub:active { border-color: #001364; }
|
|
22 |
.sticky { background: #adb9e1; }
|
23 |
#thread li.pingback { background-color: #d8dcf2; border-color: #d8dcf2; }
|
24 |
#thread li.pingback .threadpost { background-color: #d8dcf2; }
|
|
|
|
|
25 |
#latest tr:hover, #forumlist tr:hover, #favorites tr:hover { background: #d8dcf2; }
|
26 |
#profile-menu li a:hover { background: #d8dcf2; }
|
27 |
a.prev.page-numbers:hover, a.next.page-numbers:hover { color: #001364; }
|
22 |
.sticky { background: #adb9e1; }
|
23 |
#thread li.pingback { background-color: #d8dcf2; border-color: #d8dcf2; }
|
24 |
#thread li.pingback .threadpost { background-color: #d8dcf2; }
|
25 |
+
#topic-move input { color: #32689b; }
|
26 |
+
#topic-move input:hover { color: #001364; }
|
27 |
#latest tr:hover, #forumlist tr:hover, #favorites tr:hover { background: #d8dcf2; }
|
28 |
#profile-menu li a:hover { background: #d8dcf2; }
|
29 |
a.prev.page-numbers:hover, a.next.page-numbers:hover { color: #001364; }
|
bp-forums/bbpress/bb-templates/kakumei/favorites.php
CHANGED
@@ -29,7 +29,7 @@
|
|
29 |
<td class="num"><?php topic_posts(); ?></td>
|
30 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
31 |
<td class="num"><?php topic_last_poster(); ?></td>
|
32 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
33 |
<?php if ( bb_current_user_can( 'edit_favorites_of', $user_id ) ) : ?>
|
34 |
<td class="num">[<?php user_favorites_link('', array('mid'=>'×'), $user_id); ?>]</td>
|
35 |
<?php endif; ?>
|
29 |
<td class="num"><?php topic_posts(); ?></td>
|
30 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
31 |
<td class="num"><?php topic_last_poster(); ?></td>
|
32 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
33 |
<?php if ( bb_current_user_can( 'edit_favorites_of', $user_id ) ) : ?>
|
34 |
<td class="num">[<?php user_favorites_link('', array('mid'=>'×'), $user_id); ?>]</td>
|
35 |
<?php endif; ?>
|
bp-forums/bbpress/bb-templates/kakumei/forum.php
CHANGED
@@ -19,7 +19,7 @@
|
|
19 |
<td class="num"><?php topic_posts(); ?></td>
|
20 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
21 |
<td class="num"><?php topic_last_poster(); ?></td>
|
22 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
23 |
</tr>
|
24 |
<?php endforeach; endif; ?>
|
25 |
|
@@ -29,7 +29,7 @@
|
|
29 |
<td class="num"><?php topic_posts(); ?></td>
|
30 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
31 |
<td class="num"><?php topic_last_poster(); ?></td>
|
32 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
33 |
</tr>
|
34 |
<?php endforeach; endif; ?>
|
35 |
</table>
|
19 |
<td class="num"><?php topic_posts(); ?></td>
|
20 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
21 |
<td class="num"><?php topic_last_poster(); ?></td>
|
22 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
23 |
</tr>
|
24 |
<?php endforeach; endif; ?>
|
25 |
|
29 |
<td class="num"><?php topic_posts(); ?></td>
|
30 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
31 |
<td class="num"><?php topic_last_poster(); ?></td>
|
32 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
33 |
</tr>
|
34 |
<?php endforeach; endif; ?>
|
35 |
</table>
|
bp-forums/bbpress/bb-templates/kakumei/front-page.php
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
<td class="num"><?php topic_posts(); ?></td>
|
28 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
29 |
<td class="num"><?php topic_last_poster(); ?></td>
|
30 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
31 |
</tr>
|
32 |
<?php endforeach; endif; // $super_stickies ?>
|
33 |
|
@@ -37,7 +37,7 @@
|
|
37 |
<td class="num"><?php topic_posts(); ?></td>
|
38 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
39 |
<td class="num"><?php topic_last_poster(); ?></td>
|
40 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
41 |
</tr>
|
42 |
<?php endforeach; endif; // $topics ?>
|
43 |
</table>
|
27 |
<td class="num"><?php topic_posts(); ?></td>
|
28 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
29 |
<td class="num"><?php topic_last_poster(); ?></td>
|
30 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
31 |
</tr>
|
32 |
<?php endforeach; endif; // $super_stickies ?>
|
33 |
|
37 |
<td class="num"><?php topic_posts(); ?></td>
|
38 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
39 |
<td class="num"><?php topic_last_poster(); ?></td>
|
40 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
41 |
</tr>
|
42 |
<?php endforeach; endif; // $topics ?>
|
43 |
</table>
|
bp-forums/bbpress/bb-templates/kakumei/post-form.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php if ( !bb_is_topic() ) : ?>
|
2 |
<p id="post-form-title-container">
|
3 |
<label for="topic"><?php _e('Title'); ?>
|
4 |
-
<input name="topic" type="text" id="topic" size="50" maxlength="
|
5 |
</label>
|
6 |
</p>
|
7 |
<?php endif; do_action( 'post_form_pre_post' ); ?>
|
@@ -11,7 +11,7 @@
|
|
11 |
</label>
|
12 |
</p>
|
13 |
<p id="post-form-tags-container">
|
14 |
-
<label for="tags-input"><?php printf(__('Tags (comma
|
15 |
<input id="tags-input" name="tags" type="text" size="50" maxlength="100" value="<?php bb_tag_name(); ?>" tabindex="4" />
|
16 |
</label>
|
17 |
</p>
|
1 |
<?php if ( !bb_is_topic() ) : ?>
|
2 |
<p id="post-form-title-container">
|
3 |
<label for="topic"><?php _e('Title'); ?>
|
4 |
+
<input name="topic" type="text" id="topic" size="50" maxlength="100" tabindex="1" />
|
5 |
</label>
|
6 |
</p>
|
7 |
<?php endif; do_action( 'post_form_pre_post' ); ?>
|
11 |
</label>
|
12 |
</p>
|
13 |
<p id="post-form-tags-container">
|
14 |
+
<label for="tags-input"><?php printf(__('Tags (comma separated)'), bb_get_tag_page_link()) ?>
|
15 |
<input id="tags-input" name="tags" type="text" size="50" maxlength="100" value="<?php bb_tag_name(); ?>" tabindex="4" />
|
16 |
</label>
|
17 |
</p>
|
bp-forums/bbpress/bb-templates/kakumei/style.css
CHANGED
@@ -644,7 +644,22 @@ a.rss-link {
|
|
644 |
background-position: 0 50%;
|
645 |
}
|
646 |
|
647 |
-
#topic-move
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
648 |
|
649 |
/* Other
|
650 |
=================================== */
|
644 |
background-position: 0 50%;
|
645 |
}
|
646 |
|
647 |
+
#topic-move,
|
648 |
+
#topic-move fieldset,
|
649 |
+
#topic-move fieldset div {
|
650 |
+
display: inline;
|
651 |
+
}
|
652 |
+
|
653 |
+
#topic-move input {
|
654 |
+
font-family: inherit;
|
655 |
+
background: none;
|
656 |
+
border: none;
|
657 |
+
cursor: pointer;
|
658 |
+
color: #2e6e15;
|
659 |
+
font-size: 1em;
|
660 |
+
}
|
661 |
+
|
662 |
+
#topic-move input:hover { color: #006400; }
|
663 |
|
664 |
/* Other
|
665 |
=================================== */
|
bp-forums/bbpress/bb-templates/kakumei/tag-single.php
CHANGED
@@ -21,7 +21,7 @@
|
|
21 |
<td class="num"><?php topic_posts(); ?></td>
|
22 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
23 |
<td class="num"><?php topic_last_poster(); ?></td>
|
24 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
25 |
</tr>
|
26 |
<?php endforeach; ?>
|
27 |
</table>
|
21 |
<td class="num"><?php topic_posts(); ?></td>
|
22 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
23 |
<td class="num"><?php topic_last_poster(); ?></td>
|
24 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
25 |
</tr>
|
26 |
<?php endforeach; ?>
|
27 |
</table>
|
bp-forums/bbpress/bb-templates/kakumei/view.php
CHANGED
@@ -19,7 +19,7 @@
|
|
19 |
<td class="num"><?php topic_posts(); ?></td>
|
20 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
21 |
<td class="num"><?php topic_last_poster(); ?></td>
|
22 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
23 |
</tr>
|
24 |
<?php endforeach; endif; ?>
|
25 |
|
@@ -29,7 +29,7 @@
|
|
29 |
<td class="num"><?php topic_posts(); ?></td>
|
30 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
31 |
<td class="num"><?php topic_last_poster(); ?></td>
|
32 |
-
<td class="num"><a href="<?php topic_last_post_link(); ?>"><?php topic_time(); ?></a></td>
|
33 |
</tr>
|
34 |
<?php endforeach; endif; ?>
|
35 |
</table>
|
19 |
<td class="num"><?php topic_posts(); ?></td>
|
20 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
21 |
<td class="num"><?php topic_last_poster(); ?></td>
|
22 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
23 |
</tr>
|
24 |
<?php endforeach; endif; ?>
|
25 |
|
29 |
<td class="num"><?php topic_posts(); ?></td>
|
30 |
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
|
31 |
<td class="num"><?php topic_last_poster(); ?></td>
|
32 |
+
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
|
33 |
</tr>
|
34 |
<?php endforeach; endif; ?>
|
35 |
</table>
|
bp-forums/bbpress/rss.php
CHANGED
@@ -108,7 +108,7 @@ if ( !$bb_db_override ) {
|
|
108 |
if ( !$posts = get_user_favorites( $user->ID ) ) {
|
109 |
die();
|
110 |
}
|
111 |
-
$title = esc_html( sprintf( __( '%1$s » User Favorites: %2$s' ), bb_get_option( 'name' ), $user->
|
112 |
$link = bb_get_profile_link($feed_id);
|
113 |
$link_self = get_favorites_rss_link($feed_id);
|
114 |
break;
|
108 |
if ( !$posts = get_user_favorites( $user->ID ) ) {
|
109 |
die();
|
110 |
}
|
111 |
+
$title = esc_html( sprintf( __( '%1$s » User Favorites: %2$s' ), bb_get_option( 'name' ), $user->user_nicename ) );
|
112 |
$link = bb_get_profile_link($feed_id);
|
113 |
$link_self = get_favorites_rss_link($feed_id);
|
114 |
break;
|
bp-friends/bp-friends-classes.php
CHANGED
@@ -149,7 +149,7 @@ class BP_Friends_Friendship {
|
|
149 |
if ( !$user_id )
|
150 |
$user_id = $bp->loggedin_user->id;
|
151 |
|
152 |
-
like_escape($filter);
|
153 |
|
154 |
if ( $limit && $page )
|
155 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
@@ -221,7 +221,7 @@ class BP_Friends_Friendship {
|
|
221 |
function search_users( $filter, $user_id, $limit = null, $page = null ) {
|
222 |
global $wpdb, $bp;
|
223 |
|
224 |
-
like_escape($filter);
|
225 |
$usermeta_table = $wpdb->base_prefix . 'usermeta';
|
226 |
$users_table = $wpdb->base_prefix . 'users';
|
227 |
|
@@ -246,7 +246,7 @@ class BP_Friends_Friendship {
|
|
246 |
function search_users_count( $filter ) {
|
247 |
global $wpdb, $bp;
|
248 |
|
249 |
-
like_escape($filter);
|
250 |
$usermeta_table = $wpdb->prefix . 'usermeta';
|
251 |
$users_table = $wpdb->base_prefix . 'users';
|
252 |
|
149 |
if ( !$user_id )
|
150 |
$user_id = $bp->loggedin_user->id;
|
151 |
|
152 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
153 |
|
154 |
if ( $limit && $page )
|
155 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
221 |
function search_users( $filter, $user_id, $limit = null, $page = null ) {
|
222 |
global $wpdb, $bp;
|
223 |
|
224 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
225 |
$usermeta_table = $wpdb->base_prefix . 'usermeta';
|
226 |
$users_table = $wpdb->base_prefix . 'users';
|
227 |
|
246 |
function search_users_count( $filter ) {
|
247 |
global $wpdb, $bp;
|
248 |
|
249 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
250 |
$usermeta_table = $wpdb->prefix . 'usermeta';
|
251 |
$users_table = $wpdb->base_prefix . 'users';
|
252 |
|
bp-groups/bp-groups-classes.php
CHANGED
@@ -246,7 +246,7 @@ Class BP_Groups_Group {
|
|
246 |
if ( !$user_id )
|
247 |
$user_id = $bp->displayed_user->id;
|
248 |
|
249 |
-
like_escape($filter);
|
250 |
|
251 |
if ( $limit && $page )
|
252 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
@@ -268,7 +268,7 @@ Class BP_Groups_Group {
|
|
268 |
function search_groups( $filter, $limit = null, $page = null, $sort_by = false, $order = false ) {
|
269 |
global $wpdb, $bp;
|
270 |
|
271 |
-
like_escape($filter);
|
272 |
|
273 |
if ( $limit && $page )
|
274 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
@@ -462,8 +462,8 @@ Class BP_Groups_Group {
|
|
462 |
if ( !is_site_admin() )
|
463 |
$hidden_sql = $wpdb->prepare( " AND status != 'hidden'");
|
464 |
|
465 |
-
like_escape($letter);
|
466 |
-
|
467 |
if ( $limit && $page ) {
|
468 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
469 |
$total_groups = $wpdb->get_var( $wpdb->prepare( "SELECT count(id) FROM {$bp->groups->table_name} WHERE name LIKE '$letter%%' {$hidden_sql} ORDER BY name ASC" ) );
|
@@ -698,7 +698,7 @@ Class BP_Groups_Member {
|
|
698 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
699 |
|
700 |
if ( $filter ) {
|
701 |
-
like_escape($filter);
|
702 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
703 |
}
|
704 |
|
@@ -718,7 +718,7 @@ Class BP_Groups_Member {
|
|
718 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
719 |
|
720 |
if ( $filter ) {
|
721 |
-
like_escape($filter);
|
722 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
723 |
}
|
724 |
|
@@ -738,7 +738,7 @@ Class BP_Groups_Member {
|
|
738 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
739 |
|
740 |
if ( $filter ) {
|
741 |
-
like_escape($filter);
|
742 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
743 |
}
|
744 |
|
@@ -758,7 +758,7 @@ Class BP_Groups_Member {
|
|
758 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
759 |
|
760 |
if ( $filter ) {
|
761 |
-
like_escape($filter);
|
762 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
763 |
}
|
764 |
|
@@ -778,7 +778,7 @@ Class BP_Groups_Member {
|
|
778 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
779 |
|
780 |
if ( $filter ) {
|
781 |
-
like_escape($filter);
|
782 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
783 |
}
|
784 |
|
@@ -798,7 +798,7 @@ Class BP_Groups_Member {
|
|
798 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
799 |
|
800 |
if ( $filter ) {
|
801 |
-
like_escape($filter);
|
802 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
803 |
}
|
804 |
|
246 |
if ( !$user_id )
|
247 |
$user_id = $bp->displayed_user->id;
|
248 |
|
249 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
250 |
|
251 |
if ( $limit && $page )
|
252 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
268 |
function search_groups( $filter, $limit = null, $page = null, $sort_by = false, $order = false ) {
|
269 |
global $wpdb, $bp;
|
270 |
|
271 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
272 |
|
273 |
if ( $limit && $page )
|
274 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
462 |
if ( !is_site_admin() )
|
463 |
$hidden_sql = $wpdb->prepare( " AND status != 'hidden'");
|
464 |
|
465 |
+
$letter = like_escape( $wpdb->escape( $letter ) );
|
466 |
+
|
467 |
if ( $limit && $page ) {
|
468 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
469 |
$total_groups = $wpdb->get_var( $wpdb->prepare( "SELECT count(id) FROM {$bp->groups->table_name} WHERE name LIKE '$letter%%' {$hidden_sql} ORDER BY name ASC" ) );
|
698 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
699 |
|
700 |
if ( $filter ) {
|
701 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
702 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
703 |
}
|
704 |
|
718 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
719 |
|
720 |
if ( $filter ) {
|
721 |
+
like_escape( $wpdb->escape( $filter ) );
|
722 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
723 |
}
|
724 |
|
738 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
739 |
|
740 |
if ( $filter ) {
|
741 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
742 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
743 |
}
|
744 |
|
758 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
759 |
|
760 |
if ( $filter ) {
|
761 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
762 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
763 |
}
|
764 |
|
778 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
779 |
|
780 |
if ( $filter ) {
|
781 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
782 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
783 |
}
|
784 |
|
798 |
$pag_sql = $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) );
|
799 |
|
800 |
if ( $filter ) {
|
801 |
+
$filter = like_escape( $wpdb->escape( $filter ) );
|
802 |
$filter_sql = " AND ( g.name LIKE '{$filter}%%' OR g.description LIKE '{$filter}%%' )";
|
803 |
}
|
804 |
|
bp-groups/bp-groups-templatetags.php
CHANGED
@@ -1649,7 +1649,7 @@ function bp_new_group_description() {
|
|
1649 |
}
|
1650 |
function bp_get_new_group_description() {
|
1651 |
global $bp;
|
1652 |
-
return apply_filters( 'bp_get_new_group_description', $bp->groups->current_group->
|
1653 |
}
|
1654 |
|
1655 |
function bp_new_group_news() {
|
@@ -1657,7 +1657,7 @@ function bp_new_group_news() {
|
|
1657 |
}
|
1658 |
function bp_get_new_group_news() {
|
1659 |
global $bp;
|
1660 |
-
return apply_filters( 'bp_get_new_group_news', $bp->groups->current_group->
|
1661 |
}
|
1662 |
|
1663 |
function bp_new_group_enable_wire() {
|
1649 |
}
|
1650 |
function bp_get_new_group_description() {
|
1651 |
global $bp;
|
1652 |
+
return apply_filters( 'bp_get_new_group_description', $bp->groups->current_group->description );
|
1653 |
}
|
1654 |
|
1655 |
function bp_new_group_news() {
|
1657 |
}
|
1658 |
function bp_get_new_group_news() {
|
1659 |
global $bp;
|
1660 |
+
return apply_filters( 'bp_get_new_group_news', $bp->groups->current_group->news );
|
1661 |
}
|
1662 |
|
1663 |
function bp_new_group_enable_wire() {
|
bp-loader.php
CHANGED
@@ -4,12 +4,12 @@ Plugin Name: BuddyPress
|
|
4 |
Plugin URI: http://buddypress.org/download/
|
5 |
Description: BuddyPress will add social networking features to a new or existing WordPress MU installation.
|
6 |
Author: The BuddyPress Community
|
7 |
-
Version: 1.1.
|
8 |
Author URI: http://buddypress.org/developers/
|
9 |
Site Wide Only: true
|
10 |
*/
|
11 |
|
12 |
-
define( 'BP_VERSION', '1.1.
|
13 |
|
14 |
/***
|
15 |
* This file will load in each BuddyPress component based on which
|
4 |
Plugin URI: http://buddypress.org/download/
|
5 |
Description: BuddyPress will add social networking features to a new or existing WordPress MU installation.
|
6 |
Author: The BuddyPress Community
|
7 |
+
Version: 1.1.2
|
8 |
Author URI: http://buddypress.org/developers/
|
9 |
Site Wide Only: true
|
10 |
*/
|
11 |
|
12 |
+
define( 'BP_VERSION', '1.1.2' );
|
13 |
|
14 |
/***
|
15 |
* This file will load in each BuddyPress component based on which
|
bp-themes/bp-default/style.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Theme Name: BuddyPress Default
|
3 |
Theme URI: http://buddypress.org/extend/themes/
|
4 |
Description: The default theme for BuddyPress.
|
5 |
-
Version: 1.1.
|
6 |
Author: BuddyPress.org
|
7 |
Author URI: http://buddypress.org
|
8 |
Tags: buddypress, three-columns, white, orange, flexible-width
|
2 |
Theme Name: BuddyPress Default
|
3 |
Theme URI: http://buddypress.org/extend/themes/
|
4 |
Description: The default theme for BuddyPress.
|
5 |
+
Version: 1.1.2
|
6 |
Author: BuddyPress.org
|
7 |
Author URI: http://buddypress.org
|
8 |
Tags: buddypress, three-columns, white, orange, flexible-width
|
bp-themes/bp-sn-parent/_inc/js/ajax.js
CHANGED
@@ -78,12 +78,12 @@ jQuery(document).ready( function() {
|
|
78 |
var page = j(this).attr('href');
|
79 |
page = page.split('upage=');
|
80 |
|
81 |
-
if (
|
82 |
var letter = '';
|
83 |
else
|
84 |
var letter = j("input#selected_letter").val();
|
85 |
|
86 |
-
if (
|
87 |
var search_terms = '';
|
88 |
else
|
89 |
var search_terms = j("input#search_terms").val();
|
@@ -332,12 +332,12 @@ jQuery(document).ready( function() {
|
|
332 |
var page = j(this).attr('href');
|
333 |
page = page.split('gpage=');
|
334 |
|
335 |
-
if (
|
336 |
var letter = '';
|
337 |
else
|
338 |
var letter = j("input#selected_letter").val();
|
339 |
|
340 |
-
if (
|
341 |
var search_terms = '';
|
342 |
else
|
343 |
var search_terms = j("input#search_terms").val();
|
@@ -972,36 +972,6 @@ jQuery(document).ready( function() {
|
|
972 |
}
|
973 |
);
|
974 |
|
975 |
-
j("form#status-update-form").livequery('submit',
|
976 |
-
function() {
|
977 |
-
j.post( ajaxurl, {
|
978 |
-
action: 'status_new_status',
|
979 |
-
'cookie': encodeURIComponent(document.cookie),
|
980 |
-
'_wpnonce': j('input#_wpnonce_add_status').val(),
|
981 |
-
'status-update-input': j('#status-update-input').val()
|
982 |
-
},
|
983 |
-
function(response) {
|
984 |
-
if ( response == "1" ) {
|
985 |
-
j("div#user-status").slideUp(400,
|
986 |
-
function() {
|
987 |
-
j.post( ajaxurl, {
|
988 |
-
action: 'status_show_status',
|
989 |
-
'cookie': encodeURIComponent(document.cookie)
|
990 |
-
},
|
991 |
-
function(response) {
|
992 |
-
j("div#user-status").html(response);
|
993 |
-
j("div#user-status").slideDown(400);
|
994 |
-
j(window).unbind('click');
|
995 |
-
});
|
996 |
-
}
|
997 |
-
);
|
998 |
-
}
|
999 |
-
});
|
1000 |
-
|
1001 |
-
return false;
|
1002 |
-
}
|
1003 |
-
);
|
1004 |
-
|
1005 |
j("a#status-clear-status").livequery('click',
|
1006 |
function() {
|
1007 |
j(this).addClass('ajax-loader');
|
@@ -1093,12 +1063,12 @@ jQuery(document).ready( function() {
|
|
1093 |
var page = j(this).attr('href');
|
1094 |
page = page.split('bpage=');
|
1095 |
|
1096 |
-
if (
|
1097 |
var letter = '';
|
1098 |
else
|
1099 |
var letter = j("input#selected_letter").val();
|
1100 |
|
1101 |
-
if (
|
1102 |
var search_terms = '';
|
1103 |
else
|
1104 |
var search_terms = j("input#search_terms").val();
|
78 |
var page = j(this).attr('href');
|
79 |
page = page.split('upage=');
|
80 |
|
81 |
+
if ( undefined === j("input#selected_letter").val() )
|
82 |
var letter = '';
|
83 |
else
|
84 |
var letter = j("input#selected_letter").val();
|
85 |
|
86 |
+
if ( undefined === j("input#search_terms").val() )
|
87 |
var search_terms = '';
|
88 |
else
|
89 |
var search_terms = j("input#search_terms").val();
|
332 |
var page = j(this).attr('href');
|
333 |
page = page.split('gpage=');
|
334 |
|
335 |
+
if ( undefined === j("input#selected_letter").val() )
|
336 |
var letter = '';
|
337 |
else
|
338 |
var letter = j("input#selected_letter").val();
|
339 |
|
340 |
+
if ( undefined === j("input#search_terms").val() )
|
341 |
var search_terms = '';
|
342 |
else
|
343 |
var search_terms = j("input#search_terms").val();
|
972 |
}
|
973 |
);
|
974 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
975 |
j("a#status-clear-status").livequery('click',
|
976 |
function() {
|
977 |
j(this).addClass('ajax-loader');
|
1063 |
var page = j(this).attr('href');
|
1064 |
page = page.split('bpage=');
|
1065 |
|
1066 |
+
if ( undefined === j("input#selected_letter").val() )
|
1067 |
var letter = '';
|
1068 |
else
|
1069 |
var letter = j("input#selected_letter").val();
|
1070 |
|
1071 |
+
if ( undefined === j("input#search_terms").val() )
|
1072 |
var search_terms = '';
|
1073 |
else
|
1074 |
var search_terms = j("input#search_terms").val();
|
bp-themes/bp-sn-parent/style.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Theme Name: BuddyPress Social Network Parent Theme
|
3 |
Theme URI: http://buddypress.org/extend/themes/
|
4 |
Description: The social network parent theme for BuddyPress. This theme should not be activated and used directly. BuddyPress themes can be downloaded at: <a href="http://buddypress.org/extend/themes/">http://buddypress.org/extend/themes/</a>
|
5 |
-
Version: 1.1.
|
6 |
Author: BuddyPress.org
|
7 |
Author URI: http://buddypress.org
|
8 |
*/
|
2 |
Theme Name: BuddyPress Social Network Parent Theme
|
3 |
Theme URI: http://buddypress.org/extend/themes/
|
4 |
Description: The social network parent theme for BuddyPress. This theme should not be activated and used directly. BuddyPress themes can be downloaded at: <a href="http://buddypress.org/extend/themes/">http://buddypress.org/extend/themes/</a>
|
5 |
+
Version: 1.1.2
|
6 |
Author: BuddyPress.org
|
7 |
Author URI: http://buddypress.org
|
8 |
*/
|
bp-themes/bp-sn-parent/wire/post-form.php
CHANGED
@@ -37,7 +37,6 @@
|
|
37 |
<?php do_action( 'bp_after_wire_post_form' ); /* Deprecated -> */ do_action( 'bp_wire_custom_wire_boxes_after' ); ?>
|
38 |
|
39 |
<input type="submit" name="wire-post-submit" id="wire-post-submit" value="<?php _e( 'Post »', 'buddypress' ) ?>" />
|
40 |
-
<input type="hidden" name="bp_wire_item_id" id="bp_wire_item_id" value="<?php echo bp_get_wire_item_id() ?>" />
|
41 |
|
42 |
<?php wp_nonce_field( 'bp_wire_post' ) ?>
|
43 |
|
37 |
<?php do_action( 'bp_after_wire_post_form' ); /* Deprecated -> */ do_action( 'bp_wire_custom_wire_boxes_after' ); ?>
|
38 |
|
39 |
<input type="submit" name="wire-post-submit" id="wire-post-submit" value="<?php _e( 'Post »', 'buddypress' ) ?>" />
|
|
|
40 |
|
41 |
<?php wp_nonce_field( 'bp_wire_post' ) ?>
|
42 |
|
bp-themes/bp-sn-parent/wire/post-list.php
CHANGED
@@ -58,7 +58,8 @@
|
|
58 |
</ul>
|
59 |
|
60 |
<?php do_action( 'bp_after_wire_post_list' ) ?>
|
61 |
-
|
|
|
62 |
</div>
|
63 |
<?php else: ?>
|
64 |
|
58 |
</ul>
|
59 |
|
60 |
<?php do_action( 'bp_after_wire_post_list' ) ?>
|
61 |
+
|
62 |
+
<input type="hidden" name="bp_wire_item_id" id="bp_wire_item_id" value="<?php echo bp_get_wire_item_id() ?>" />
|
63 |
</div>
|
64 |
<?php else: ?>
|
65 |
|
bp-xprofile.php
CHANGED
@@ -327,25 +327,25 @@ function xprofile_screen_edit_profile() {
|
|
327 |
|
328 |
/* Loop through the posted fields formatting any datebox values then validate the field */
|
329 |
foreach ( $posted_field_ids as $field_id ) {
|
330 |
-
|
331 |
if ( !isset( $_POST['field_' . $field_id] ) ) {
|
332 |
-
|
333 |
-
if (
|
334 |
/* Concatenate the values. */
|
335 |
$date_value = $_POST['field_' . $field_id . '_day'] . ' ' .
|
336 |
$_POST['field_' . $field_id . '_month'] . ' ' .
|
337 |
$_POST['field_' . $field_id . '_year'];
|
338 |
-
|
339 |
/* Turn the concatenated value into a timestamp */
|
340 |
$_POST['field_' . $field_id] = strtotime( $date_value );
|
341 |
}
|
342 |
-
|
343 |
}
|
344 |
-
|
345 |
if ( xprofile_check_is_required_field( $field_id ) && empty( $_POST['field_' . $field_id] ) )
|
346 |
$errors = true;
|
347 |
}
|
348 |
-
|
349 |
if ( $errors )
|
350 |
bp_core_add_message( __( 'Please make sure you fill in all required fields in this profile field group before saving.', 'buddypress' ), 'error' );
|
351 |
else {
|
327 |
|
328 |
/* Loop through the posted fields formatting any datebox values then validate the field */
|
329 |
foreach ( $posted_field_ids as $field_id ) {
|
330 |
+
|
331 |
if ( !isset( $_POST['field_' . $field_id] ) ) {
|
332 |
+
|
333 |
+
if ( is_numeric( $_POST['field_' . $field_id . '_day'] ) ) {
|
334 |
/* Concatenate the values. */
|
335 |
$date_value = $_POST['field_' . $field_id . '_day'] . ' ' .
|
336 |
$_POST['field_' . $field_id . '_month'] . ' ' .
|
337 |
$_POST['field_' . $field_id . '_year'];
|
338 |
+
|
339 |
/* Turn the concatenated value into a timestamp */
|
340 |
$_POST['field_' . $field_id] = strtotime( $date_value );
|
341 |
}
|
342 |
+
|
343 |
}
|
344 |
+
|
345 |
if ( xprofile_check_is_required_field( $field_id ) && empty( $_POST['field_' . $field_id] ) )
|
346 |
$errors = true;
|
347 |
}
|
348 |
+
|
349 |
if ( $errors )
|
350 |
bp_core_add_message( __( 'Please make sure you fill in all required fields in this profile field group before saving.', 'buddypress' ), 'error' );
|
351 |
else {
|
bp-xprofile/bp-xprofile-templatetags.php
CHANGED
@@ -469,8 +469,8 @@ function bp_the_profile_field_options( $args = '' ) {
|
|
469 |
break;
|
470 |
|
471 |
case 'datebox':
|
472 |
-
|
473 |
-
if ( $field->data->value
|
474 |
$day = date("j", $field->data->value);
|
475 |
$month = date("F", $field->data->value);
|
476 |
$year = date("Y", $field->data->value);
|
469 |
break;
|
470 |
|
471 |
case 'datebox':
|
472 |
+
|
473 |
+
if ( !empty( $field->data->value ) ) {
|
474 |
$day = date("j", $field->data->value);
|
475 |
$month = date("F", $field->data->value);
|
476 |
$year = date("Y", $field->data->value);
|
bp-xprofile/deprecated/bp-xprofile-deprecated.php
CHANGED
@@ -676,8 +676,6 @@ function xprofile_load_blog_signup_meta() {
|
|
676 |
$blog_meta = array(
|
677 |
'public' => $_POST['blog_public'],
|
678 |
'lang_id' => 1, // deprecated
|
679 |
-
'blogname' => $_POST['blogname'],
|
680 |
-
'blog_title' => $_POST['blog_title']
|
681 |
);
|
682 |
|
683 |
$bp_meta = unserialize( stripslashes( $_POST['bp_xprofile_meta'] ) );
|
676 |
$blog_meta = array(
|
677 |
'public' => $_POST['blog_public'],
|
678 |
'lang_id' => 1, // deprecated
|
|
|
|
|
679 |
);
|
680 |
|
681 |
$bp_meta = unserialize( stripslashes( $_POST['bp_xprofile_meta'] ) );
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: apeatling
|
|
3 |
Tags: wpmu, buddypress, social, networking, profiles, messaging, friends, groups, forums, activity
|
4 |
Requires at least: WordPress MU 2.8.4
|
5 |
Tested up to: WordPress MU 2.8.4
|
6 |
-
Stable tag: 1.1.
|
7 |
|
8 |
BuddyPress is a suite of WordPress MU social networking plugins and themes.
|
9 |
|
3 |
Tags: wpmu, buddypress, social, networking, profiles, messaging, friends, groups, forums, activity
|
4 |
Requires at least: WordPress MU 2.8.4
|
5 |
Tested up to: WordPress MU 2.8.4
|
6 |
+
Stable tag: 1.1.2
|
7 |
|
8 |
BuddyPress is a suite of WordPress MU social networking plugins and themes.
|
9 |
|