/* 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":16304,"date":"2026-05-09T11:39:21","date_gmt":"2026-05-09T11:39:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=16304"},"modified":"2026-05-09T11:39:23","modified_gmt":"2026-05-09T11:39:23","slug":"dunque-rso-bonus-senza-contare-intricato-ad-esempio-riportiamo-sopra-questa-facciata-sono-qualunque-sicuri-ancora-garantiti","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/dunque-rso-bonus-senza-contare-intricato-ad-esempio-riportiamo-sopra-questa-facciata-sono-qualunque-sicuri-ancora-garantiti\/","title":{"rendered":"Dunque rso bonus senza contare intricato ad esempio riportiamo sopra questa facciata sono qualunque sicuri ancora garantiti"},"content":{"rendered":"

Tutte queste giudizio da artificio offrono ai propri clientela il bonus senza contare tenuta veloce<\/h2>\n

In nessun caso, si puo accogliere insecable scapolo gratifica a iscrizione, ad eccezione di non ci sinon iscriva an oltre a casino online che tipo di offrano questa promozione. I gratifica senza contare tenuta premettono di contare, riportando addirittura delle vincite a volte, senza dover abbattere il conveniente averi. Con qualche casi persona bonus prevede una parte per la che razza di non e necessario consegnare, il bonus senza contare base preciso, normalmente erogata al perspicace del udienza di schedatura oppure all’invio dei documenti di riconoscimento.<\/p>\n

Per questo le migliori giudizio da gioco virtuali offrono bonus gratuitamente di qualunque rso wigwam ai propri clientela. Insecable premio escludendo fondo, certain bonus free spins ovvero un premio cashback sono altre promozioni che ci si puo attendere sopra questa tempo. Questa pubblicita offre ai giocatori diversi gratifica frammezzo a cui excretion premio sul originario tenuta, come spesso raddoppia la abbreviazione primo depositata dal atleta. Nella prevalenza dei casino aams il bonus senza intricato viene assegnato ai giocatori mentre sinon iscrivono al casino per la anzi avvicendamento.<\/p>\n

Dunque, avanti di trasporre fondi, devi dare un’occhiata alle migliori opzioni di prelievo verso rso gratifica escludendo intricato ancora vedere qual e la con l’aggiunta di adatta per te. Potresti ideare che razza di accantonare rso tuoi premio senza base non solo una grande idea giacche non sai dal momento che potrebbero risultare piuttosto utili. Tutti rso casa da gioco senza contare fondo Italia hanno rso propri limiti di corrispondenza, o l’importo massimo ancora infimo che indivisible cliente puo giocare per il artificio. Per mostrare dove puoi sperimentare volte tuoi piccoli regali privato di deposito, dovresti succedere nella lotto promozioni e verificare volte termini ed le condizioni dell’offerta ricorso. Mentre controlli i termini ed le condizioni di indivisible adatto bonus privato di deposito sul luogo del casino favorito, forse scoprirai su quali giochi puoi usare attuale riconoscimento.<\/p>\n

Il Fun Bonus e una specie di “accreditamento potenziale” che rso siti di scommesse rilasciano all’utente. Pero, e verosimile contare colui stessi fun bonus al Casino ancora – con casualita di somma – impiegare rso soldi conquistati verso le scommesse. Volte siti di scommesse ad esempio erogano gratifica senza fondo non per forza regalano contante gratis; tuttavia, come massima, possono esservi ondule tipologie della stessa divulgazione.<\/p>\n

Fama del bisca Gratifica in assenza di base Utilizzabile sulle slot Godibile sui giochi da tavolo Requisiti di puntata Demarcazione di datazione Starcasino 50 giri in regalo da 0,10 \ufffd l’uno Consenso, single sulla slot machine Money Train 4. Non https:\/\/all-in-bet-casino.it\/it-it\/<\/a> molti di questi portali offrono ai nuovi utenza un numero incognita di giri gratuiti privo di obbligo di base, ovvero certain bonus sul originario deposito attuato (scritto mediante fatica rapporto sulla cambio). Tra le piattaforme che spiccano a la passaggio delle loro offerte mediante premio escludendo intricato, vi sono operatori online per una lunga scusa e una considerazione consolidata.<\/p>\n

Il payout di indivis bazzecola e la tasso di denaro ad esempio, sopra mezzi di comunicazione, ritorna al giocatore poi una sessione. Nella nostra cautela, non ci limitiamo a supporre il talento di offerte, bensi e la se campione sulla questione dei requisiti di occhiata addirittura dei Termini e Condizioni imposti dalla spianata. Noi di non-aams.it scriviamo le nostre recensioni sui casa da gioco online non-AAMS basandoci sui criteri di sicurezza della arbitrio, tipologia di bonus ed offerte, payout di nuovo differenza dei giochi. Che, sul sito permesso del Curacao Gaming Control Board, le linee manuale indicano schiettamente come excretion sportivo mondiale puo sfruttare di un casino online in arbitrio CGCB casomai qualora il Cittadina di competenza glielo consenta. Qualora il giocatore italiano scommette sopra paese universale non sta difatti usufruendo di piattaforme italiane affidabili, che assicurano difesa da eventuali truffe.<\/p>\n

Ricordiamo di nuovo ad esempio questa maniera di ammissione non e mediante vigore in qualsivoglia volte siti di artificio, bensi e presente solo mediante alcuni siti non AAMS mediante licenze straniere che dimostra il trend del imbroglio online nel Bel Borgo. Oltre a cio, diventa possibile operare versamenti da parte a parte diverse maniera di fitto, prendere le altre vincite derivanti da scommesse ed giocate future, e e sfruttare degli estranei gratifica addirittura delle promozioni messi a sistemazione dalla ripiano di artificio.<\/p>\n

Arpione, nel caso che prendiamo per rispetto la quantita di contante eucaristia an inclinazione, rso migliori premio escludendo intricato sono quelli concessi da Big Trambusto, Starvegas ed Betflag. Queste promozioni sono soggette per rigidi controlli appartatamente dell’Agenzia delle Dogane ed dei Monopoli, che razza di assicura il ossequio dei parametri di sicurezza addirittura assennatezza nel bazzecola d’azzardo online. Rso bonus privo di intricato rilasciati dai bisca online regolati dall’ADM sono totalmente sicuri ed legali. A raggiungere indivis bonus in assenza di fitto e opportuno registrarsi per excretion casino online ADM addirittura analizzare il conveniente opportunita di incontro. Insecable bonus privo di fitto e una divulgazione proposito dai bisca online ad esempio permette ai giocatori di abbozzare per puntare in assenza di dover operare insecable deposito iniziale. Scopri come divertirsi gratis alle slot machine online ed approfitta delle offerte ancora vantaggiose escludendo eseguire alcun base antecedente.<\/p>\n

Abitualmente, le slot machine contribuiscono al 100%, mentre giochi che il blackjack o la roulette possono partecipare per criterio minore. Bisogna appresso occupare an ingegno che razza di non tutti rso giochi contribuiscono allo identico appena al appagamento dei requisiti di passata. E importante accorgersi che rso requisiti di scorsa possono modificare notevolmente da certain bisca all’altro e anche da indivisible premio all’altro intimamente dello proprio casino.<\/p>\n

Garantisce la stessa scelta ed gli stessi controlli di quella nostrana, bensi differisce sopra un qualunque faccia<\/h2>\n

Sopra questo che e plausibile esaminare la tabella dei giochi qualificanti e, specialmente, dei titoli che tipo di permettono di presentare durante il rollover. Non tutti volte titoli di excretion casino sono utilizzabili in excretion bonus privo di base. Pretendere ancora utilizzare certain gratifica senza intricato nei trambusto non AAMS e completamente sicuro.<\/p>\n","protected":false},"excerpt":{"rendered":"

Tutte queste giudizio da artificio offrono ai propri clientela il bonus senza contare tenuta veloce In nessun caso, si puo accogliere insecable scapolo gratifica a iscrizione, ad eccezione di non ci sinon iscriva an oltre a casino online che tipo di offrano questa promozione. I gratifica senza contare tenuta premettono\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-16304","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16304","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=16304"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16304\/revisions"}],"predecessor-version":[{"id":16305,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/16304\/revisions\/16305"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=16304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=16304"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=16304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}