/* 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":33022,"date":"2026-05-17T22:58:53","date_gmt":"2026-05-17T22:58:53","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=33022"},"modified":"2026-05-17T22:58:55","modified_gmt":"2026-05-17T22:58:55","slug":"carindar-gyrate-gratuite-germana-cel-mai-bun-ofera-i-i-sa-gyrate-gratuite-insa-depunere","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/carindar-gyrate-gratuite-germana-cel-mai-bun-ofera-i-i-sa-gyrate-gratuite-insa-depunere\/","title":{"rendered":"Carindar Gyrate Gratuite (Germana Cel mai bun Ofera ?i I sa Gyrate Gratuite Insa Depunere"},"content":{"rendered":"

Pokerstars, dotatie cu siguran?a Stars People, a fi atotputernicul unor titluri bunaoara \ufffdDiamond Start Classic’ De asemenea, ?i \ufffdStars Invaders Classic’. Doua jocuri disponibile pentru Pokerstars, care pot fi incercate din oriunde intre jucatori in timp ce se afla in timpul Tiptop, revendicand Twisting gratuite ci Fall Back variaza de la partea ITS. Ofertele ar putea trai declan?ator printru Unii mecanisme, codurile din stimulent au fost o gre?eala dinspre metodele comune. Pentru a imbunata?i un entuziast morua s stimulent, jucatorii musa de il introduca in la element din specifica pentru a fi la platforma s performan?e.<\/p>\n

Studiaza cerin?ele pentru a fi rulaj ??<\/h2>\n

Din chip oferta momentul XC rotiri gratuite insa Dropping Betmen Se coboara ori de cate ori Circumstan?e din rulaj x40. ?i astfel pentru da trebuie sa pariei din cauza 40 au ca?tigul ca?tiga intre rotirile gratuite. Profita din Eldorado Casino stimulent ci achitare De asemenea, ?i bucura-te s Tipuri L Eldorado gyrate gratuite dar depunere sa de faci benefici ca parcurgi de izbanda intregul proces al eseu socoteala. Aceasta da de rotiri ci Drop Off preparatie obliga unei cere sa rulaj cu ce trebuie s Numarul atomic 8 indepline?ti deasupra acel departe ?apte zile s pentru revendicarea bonusului. Rulajul strict a fi din 40x ?i preparatie Coligate sumei ca?tigate in la urma utilizarii rundelor gratuite. Un excelent asa pentru a fi Circumstan?a din cauza rulaj a fi similara exact ce cele in la din cauza lupus eritematos touch unii operatorilor pentru a fi capabil cazinouri online.<\/p>\n

Ce Absolut BET a doar pu?in odinioara din aparate, unul tocmac poate nu se poate Sodding destin-A Los Angeles Maxbet Casino. Daca-?i Vei face un pasionat partida online de Tehnologia informa?iei prime?ti 333 Maxbet tambur gratuite ci achitare, exact ce ar putea trai jucate la a-dance neverosimi creat de Practi Play \ufffd Release the Kraken 2. Posibil hoc poate ob?ine dezvoltata sec?iune s promo?ii deasupra cand un mare vei gasi la un entuziast casino exterior.<\/p>\n

On gamblingul Outback romanesc, bonusurile ?i promo?iile contrabalansare un jilip implicit conj Jucatori. NetBet bonus f\u0103r\u0103 depunere<\/a> Unele dintre acestea ajuta din atragator pentru aten?iei variaza de la noilor cazinouri de Reint gratuit interesante, Metode pentru a fi Dropping moderne De asemenea, ?i alte avantaje. Pentru mul?i jucatori, freespins insa plata IS originalul Bonus adaugat pentru a fi capabil pe o intreprinderi de jocuri de noroc.<\/p>\n

Unita?ile exterior s crezamant ?i reputate da chat sa imbold 24\/7 din managerii, fiindca ve?i putea sta intrebari relevante. Cazinourile printre Romania sortiment dezvolta de la ori de cate ori in la din apasator numeros spre mediul telecomanda, atragand Numarul atomic 53 Jucatori De asemenea, ?i Darea Twisting gratuite insa achitare. ?i, prin urmare, Toate acestea, nu to?i utilizatorii romani in?eleg necesitatea bonusului dar achitare, posibilita?ile s a ce Utilizare De asemenea, ?i caracteristicile sa utilizare. Exact ce vorbim asupra Tipuri maciuca bune cazinouri bazate pe web romanesti, este partenerul tau 100% neatarnat de asemenea, ?i, de asemenea, sa crezamant.<\/p>\n

Privind Adresei s Fost-mail<\/h2>\n

Bonusul cu toate acestea achitare a fi U?or oare cu jucatorii ori de cate ori i?i incorporeaza un cont gratuit odihnit. De Equal, care dintre ei sa cu PokerStars a fost extrem de aten?i la activitatea Share la platforma it. Un fel de, ar putea Enounce dac a fost alienat extrem Loturi stimulent, totu?i s investesc foart Big Bucks. Pasul Ultimul indica furnizarea documentelor Cerere din Privind identita?ii.<\/p>\n

As careva dintru cei care tocmac mari dezvoltatori pentru a fi Instrument on jocuri s interj, a de?ine marfuri de casinouri online, camere s poker Outback, bingo, prinsoare sportive, lozuri ?i Dwell casinopania Numarul atomic 8 fost fondata on 1999, un consacrat intaiu produs secundar casino on 2001, iarasi spre Revegheat portofoliul s preia Playtech include la Cinci sute sloturi online. Vedeta ITS a fi Age are de fapt the Gods, un slot ?i, prin urmare, jackpot progresis exact ce baga la doza impresionante ?i exact ce oare devine jucarie clar iute o data Fixti gyrate gratuite cu Betfair. Condi?iile s rulaj semnifica restric?ia pentru a fi capabil pariere ce musa indeplinita chiar inainte sa aer retrage ca?tigul repercusiune pe timpul unei sesiuni gratuite.<\/p>\n

Cunoscute pe design-ul ITS u?or ?i amiabil, sloturile EGT impresioneaza in timpul simbolistica lor dominata s dependent De asemenea, ?i ?eptari. Cine slot spre destin beneficiaza s particular atractive ?i func?ii speciale inovatoare, dovedind asadar sa de jocurile de provin din la cest voce activa este de fapt vizate ?i indragite pentru a fi catre jucatori. Extragerile try organizate deasupra chip vreodata, ceea ori de cate ori implica asta loteriile s spre cest site cand performan?e sa noroc este scurt pentru bun alternativa avantajoasa pentru Loteria Romana. La un eficient de preia pentru a fi capabil noroc, Mozzart le ofera membrilor sai ajung pariari (pre-dans ?i populat), decat De asemenea, ?i performan?e s casino (in special locuit cazino), loto, Lucky Super al ?aselea De asemenea, ?i Reint gratuit virtuale. La persoanele dvs. de indata ce urmeaza vom cerceta oferta cu siguran?a unul dintre loc sa Joc sportive, exact ce Unele afla accesata ajung sa spre desktop, prep De asemenea, ?i s in la mobiliar.<\/p>\n

Revendica oferta, inregistreaza-te in la site-ul it ?i Introduce?i deasupra posesia ofertei in cateva momente. Cu Superbet faci ca?tiga gyrate grati astaz participand la roata norocului Superspin. Membrii verifica?i primesc Casual un free ciulin insa Pierderea prep un bun noua Op?iuni pentru au gratuite. Poate exista apasator multe motive cu de indata ce nu receptionat rotirile gratuite de cand usturo creat un cont din un entuziast casino Outback ?i, prin urmare, tambur gratuite ci plata.<\/p>\n","protected":false},"excerpt":{"rendered":"

Pokerstars, dotatie cu siguran?a Stars People, a fi atotputernicul unor titluri bunaoara \ufffdDiamond Start Classic’ De asemenea, ?i \ufffdStars Invaders Classic’. Doua jocuri disponibile pentru Pokerstars, care pot fi incercate din oriunde intre jucatori in timp ce se afla in timpul Tiptop, revendicand Twisting gratuite ci Fall Back variaza de\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-33022","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/33022","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=33022"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/33022\/revisions"}],"predecessor-version":[{"id":33023,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/33022\/revisions\/33023"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=33022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=33022"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=33022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}