/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":13882,"date":"2026-05-08T05:21:27","date_gmt":"2026-05-08T05:21:27","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=13882"},"modified":"2026-05-08T05:21:30","modified_gmt":"2026-05-08T05:21:30","slug":"why-a-knowledgeable-neteller-online-casino-simply-various-other-income-gimmick","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/why-a-knowledgeable-neteller-online-casino-simply-various-other-income-gimmick\/","title":{"rendered":"Why a knowledgeable Neteller Online casino Simply Various other Income Gimmick"},"content":{"rendered":"

Yet not, we\u2019re also here to tell you you to definitely brand new online casino internet sites is value joining, should they offer a secure and safer spot to play. If or not you adore jackpot video game such as for instance Chili Heat, alive online casino games such PowerUP Roulette, or on the internet bingo video game instance Diamond Impress, Pragmatic Gamble has Yeti Casino<\/a> actually something you\u2019ll enjoy. When contrasting online casino internet, thinking about a casino\u2019s software company is just as important while the looking at the game they supply. To try out towards the an android gambling enterprise app provides you with usage of an excellent number of online casino games, high show and responsive gameplay. This is because gambling enterprise software have a tendency to give most useful abilities, doing a far greater mobile gambling sense.<\/p>\n

All of us away from gurus experience these types of steps to make yes they only suggest a knowledgeable on-line casino sites in britain. It\u2019s besides regarding the specialist opinions – all of our registered users let contour the brand new score, as well. There is a simple but sturdy answer to rate the top on-line casino internet in the united kingdom. Either way, you’ve got selection – plus the best British casino web sites will meet your criterion, any sort of channel you select. The main try selecting a reliable casino that fits your personal style and you can food you correct.<\/p>\n

They guarantees a secure and you will reliable platform to own British people. All of us off gurus evaluating, pricing, and you can writes outlined feedback away from gambling enterprises, focusing on trick have particularly bonuses, safety, and you can character. Gambling establishment internet sites is actually almost everywhere, in accordance with too many to select from, finding the best one could feel daunting. It separate research site helps users choose the best offered gambling unit complimentary their requirements. This collaborative method assures all the testimonial suits all of our exacting conditions for precision, regulating compliance, and you may user protection. Each feedback goes through numerous verification degrees, from initial look and you will real cash evaluation through to article review and technology execution.<\/p>\n

It thorough processes guarantees i just element casinos which can be fully signed up, clear, and you will compliant to your Uk gaming regulations and you will requirements. I mix-check the UKGC license amount, be certain that it fits the fresh operator\u2019s noted background, and you will comment whether or not discover any ongoing otherwise prior regulating measures or cautions against the local casino. Whenever a casino try formal by separate comparison companies such as eCOGRA, iTech Laboratories, otherwise GLI, this means its online game and RNG assistance was alone confirmed getting fairness and proper process.<\/p>\n

People can access various gadgets, together with put limitations, losings limitations, self-exception, and you can time-outs, to cope with their betting and give a wide berth to overspending. Subscribed gambling enterprises must implement procedures eg years confirmation and notice-different options to be sure user defense. So it rigid oversight means registered casinos on the internet comply with rigid criteria, providing users a safe and clear betting environment. In the uk, the uk Gaming Fee (UKGC) takes on a serious character when you look at the overseeing and controlling best casinos on the internet United kingdom to be sure coverage and you may fair play. Expertise such principles support users create informed conclusion about locations to enjoy and you will and this online game to determine, enhancing their total British gambling establishment on the internet sense.<\/p>\n

The latest \u00a35 minimal deposit, which has shorter commonly served actions including Fruit Spend, makes it far more obtainable than just gambling enterprises eg Dream Vegas and you will Grand Ivy, and therefore need \u00a320. To stand away, an agent should take on numerous 10+ popular commission strategies, as well as Visa and you will Bank card debit cards, e-purses like PayPal and Skrill, and you may cellular payments thru Apple Shell out and you can Bing Pay. The top gambling establishment sites in the united kingdom service several secure payment tricks for dumps and you can withdrawals. You can access alive black-jack, roulette, baccarat, and video game-let you know titles particularly Crazy Time and Monopoly Real time, mostly run on Advancement and you can Playtech. Winnings are processed thru preferred British payment measures including cards and you can elizabeth\u2011purses. Here\u2019s a look from the exactly how we shot British web based casinos so you can make sure they fit exclusive requires from United kingdom members.<\/p>\n

It guarantees not simply this new visual appeal and you will interactivity of your web site plus affects performance, packing speed, and you will reliability. High-quality programming performs a pivotal role during the determining the entire feel at the best United kingdom on-line casino sites. The realm of web based casinos in the uk provides drastically transformed, performing a fantastic, immersive, and accessible park to possess gamers.<\/p>\n

Feel free to sign up with several online casino internet sites if you would like blend something up and gain access to some other game and you may incentives. When it comes to percentage actions, Fruit Pay casinos and Uk playing internet sites with e-wallets is actually super fast. A knowledgeable casinos on the internet promote a great combination of gambling establishment percentage procedures. The local casino delivers a superb directory of commission procedures, plus recreations.<\/p>\n

Look for BritishGambler\u2019s leading directory of registered real cash casino internet sites having confirmed bonuses, quick winnings, and you will our pro reviews. The users and you can publishers conformed one in the 2026, a knowledgeable British web based casinos are Bet365, BetFred, and 10bet. Out of respected labels particularly Bet365, Grosvenor, and you will 10bet to help you latest workers such Easy Spins, PuntIt, and you can Apuestarey, here\u2019s what you need to understand before choosing locations to play. That\u2019s why BritishGambler.co.british just features Uk Gambling Percentage\u2013signed up gambling enterprises, looked at with genuine accounts and you will real money. I only ability UKGC-authorized casinos, and now we wear\u2019t believe in sale pages. The most common gambling games on United kingdom online casinos try ports, black-jack, roulette, and you may real time dealer game, providing users a diverse solutions to select from.<\/p>\n

To own harbors, United kingdom users have a tendency to choose web based casinos having high video game libraries and normal releases. It allows that availability various other even offers, contrast chances, and give a wide berth to relying on a single platform. They’ve been each other centered labels and you will brand new British casinos. It is more suitable to have professionals interested in an uk on line gambling establishment compared to those individuals wanting a wide playing site that have sportsbook have.<\/p>\n

They appeal to British members, permitting them to pick from a great amount of common options. Not absolutely all deposit steps service cashout transactions; in such cases, a beneficial punter is obligated to fool around with a new way. Greeting OfferSuch sales is tailored so you’re able to new users and you may generally need a first deposit from a certain minimal. Following we check playthroughs in order to guarantee that they’re transparent and practical to own users. Inside part, you\u2019ll learn where most of the fun of the market leading British casino websites you to members love and should not surrender is inspired by. Vetting the best live agent casinos to possess British residents, i be certain that they can enjoy not only regular online game but also fun show-style types.<\/p>\n

You might pick from four put actions at the Swift Gambling enterprise, along with debit notes, PayPal, and lender transmits. Quick Gambling establishment provides online game out-of all most popular progressive jackpot networks around, along with Jackpot King, Dream Miss and Power Enjoy. Including, profiles can withdraw as little as you can easily here, and come up with PlayOJO the most player-amicable local casino towards the number.<\/p>\n

A diverse game options is essential having an online gambling establishment in order to be added to this guide. For example notes and you will dice game, instant-earn titles, abrasion cards, etc. For example, Spot Roulette, Fortune O\u2019 the Roulette, and Micro Roulette, are just a few of the table differences most abundant in unique laws that are offered only due to the fact RNG online game. Although not, there are novel roulette dining tables you might enjoy only while the RNG online game. These include Silver Blitz High, Cleopatra Megaways, and you can Shamrock New orleans saints.<\/p>\n","protected":false},"excerpt":{"rendered":"

Yet not, we\u2019re also here to tell you you to definitely brand new online casino internet sites is value joining, should they offer a secure and safer spot to play. If or not you adore jackpot video game such as for instance Chili Heat, alive online casino games such PowerUP\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13882","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/13882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=13882"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/13882\/revisions"}],"predecessor-version":[{"id":13883,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/13882\/revisions\/13883"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=13882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=13882"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=13882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}