/* 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":71138,"date":"2026-05-22T21:42:50","date_gmt":"2026-05-22T21:42:50","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=71138"},"modified":"2026-05-22T21:42:51","modified_gmt":"2026-05-22T21:42:51","slug":"en-verdad-es-uno-de-los-bonos-carente-tanque-para-casino-de-mayor-ti%ef%bf%bdpicos","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/en-verdad-es-uno-de-los-bonos-carente-tanque-para-casino-de-mayor-ti%ef%bf%bdpicos\/","title":{"rendered":"En verdad, es uno de los bonos carente tanque para casino de mayor ti\ufffdpicos"},"content":{"rendered":"

Nuestro desarrollo con el fin de obtener su bono desprovisto deposito sobre casinos en internet espanoles continua una ruta inercia<\/h2>\n

Estas cartas suelen ser de una utilidad preestablecido y tambien acostumbran an ensenar determinados instalaciones de puesta. Por ende, empezando por Optimobet recomendamos leer concienzudamente las palabras y no ha transpirado situaciones de todo promocion a la que accedas de eludir sorpresas.<\/p>\n

Algunos de los de edad productivos para los casinos online, invariablemente durante bastante ha sido es invierno gran diversidad sobre bonos sobre casino. Las campos de apuesta sobra bajos son, por lo tanto, sobra permitibles para jugadores cual desean condicionar el consumo. Veras a su disposicion bonos sobre cincuenta giros sin cargo falto tanque aunque que se encuentran a su disposicion solo para juegos sobre mesa.<\/p>\n

Menor liberacion, aunque en ocasiones con el pasar del tiempo instalaciones de apuesta mayormente bajos. Para jugadores sobre Madrid, Barcelona u otra urbe espanola, es el modo sobra smart de explorar novedosas posibilidades sobre 2026. Conocemos que 8 de el vari?n ofrecian un arquetipo de bono gratis desprovisto deposito, empezando por cinco\ufffd incluso 30 giros gratuitos.<\/p>\n

Las bonos sobre audiencia clasicos exigen deposito previo<\/h2>\n

No obstante los bonos sin tanque para casino acerca de presto son poquito comunes sobre De cualquier parte del mundo, si hay promociones especificas referente a mesas sobre ruleta en internet. Estas publicaciones podran darte recursos adicional o bien tiradas de balde, por eso es conveniente examinar una division sobre promociones de su casinoprueba que la promocion se ha repleto sobre tu perfil sobre forma adecuada y respetar los instalaciones de envite con el fin de solicitar las ganancias. Variable su bono sobre casino carente deposito buscando registrarte asi\ufffd como verificar tu perfil. “Para seleccionar vayamos por partes casinos desprovisto deposito colocamos con lista, imaginamos la importancia real de estas ofertasparamos los decenas de bono, los campos, la caducidad, acerca de vayamos por partes juegos es posible usarlos desplazandolo hacia el pelo cuanto se puede ganar ciertamente”.<\/p>\n

No obstante igualmente existe ofertas que le adjudican explosion a las parejas juegos sobre tragaperras a tu disposicion dentro del sitio de el casino. En Amonbet inicio de sesi\u00f3n en el casino<\/a> cierta ocasion seleccionado el bono sin deposito, debes seguir los campos de su propaganda con el fin de canjearlo. Estas publicaciones desprovisto tanque tienen como objeto conseguir cual los usuarios se podri\ufffdan mover registren en el lugar del casino indumentarias, si debido a posean una cuenta, apresurar es invierno tarea. Nuestro bono carente tanque resulta una propaganda cual ofrece la oportunidad de ganar premios reales falto necesidad que los jugadores inviertan las propios medios.<\/p>\n

Tambien tienen la patologi\ufffda del tunel carpiano ruleta de el fortuna que brinda premios periodicos y la posibilidad de optar a premios referente a efectivo aprovechando los codigos sobre tus depositos. Casino777 ofrece promociones temporales muy variadas y no ha transpirado que le otorgan un enorme abano de alternativas posibilidades a las jugadores. Tras eso recibiras sobre modo automatizada algun bono cual guarda una biografia muy corta de tres dias de antiguedad desplazandolo hacia el pelo cuyos campos de puesta resultan de situar 20 ocasiones el numero de el exacto.<\/p>\n

Del universo para los casinos online, las bonos falto tanque se va a apoyar sobre el silli\ufffdn hallan transformado sobre la herramienta irreprimible de atraer en mas jugadores. Por ejemplo, si han trabajador la proposicion de tiradas gratuitas desprovisto apuestas y no ha transpirado deberian ganado una recursos, suele transferir sus ganancias a su perfil. Debido a esta razon, dicha rebaja es una de estas recompensas promocionales de mas usadas en los casinos en internet. A pesar de el fama, algun bono carente apuesta asi\ufffd como desprovisto deposito no se trata en la mayoria de los asuntos su mejor proposicion sobre bonos acerca de algun casino en internet. Ademi?s, solo es posible sacar esta propuesta una vez de tu perfil referente a cualquier decidido casino online. Aunque estas bonificaciones poseen muchas ventajas, tambien hay que tener en cuenta algunos dificultades.<\/p>\n

Las bonos sin deposito para casino en listo poseen una practica inmersiva con el pasar del tiempo crupieres reales desplazandolo hacia el pelo juegos de tiempo eficaz, complementando los bonos en serie. Los bonos falto deposito asi\ufffd como las codigos de bonos resultan una decision comun de los recientes jugadores en los casinos online. Algun bono carente tanque resulta una publicidad cual deja situar y no ha transpirado conseguir sobre juegos de dinero real acerca de casinos en linea desprovisto necesidad sobre realizar un deposito. Desde las decenas ofrecidos hasta las requisitos de apuesta, las plazos de validez y no ha transpirado los juegos elegibles. Alrededor del hacer nuestro analisis, consideramos diversos enfoque, igual que la disparidad de bonos, su altruismo, las requisitos de apuestas asi\ufffd como los plazos sobre validez. Consigue hasta $1,000 MXN sobre bonos sin tanque asi\ufffd como 15 free spins con el fin de experimentar los excelentes juegos sobre casino carente pagar de su billetero.<\/p>\n

Suelen no es probable usar algunas un bono sin deposito, pero en alguna ocasion si es necesario visto que un similar casino, brinda dos bonos falto deposito. Referente a las bonos en compania de tanque, nuestro componente deberia obtener dinero personal de desbloquear la publicidad, entretanto que sobre las bonos sin deposito no hay gasto inicial. En ocasiones, los bonos sin deposito estan que hay disponibles unico durante algun periodo extremadamente particular, como el tiro de algun casino en el caso de que nos lo olvidemos una publicidad justamente ligada en algun acontecimiento particular. Cualquier bono sin deposito seri\ufffda algun tipo sobre bono sobre recibo cual ofrecen varios casinos online a sus nuevos seres y no ha transpirado que deja competir sin realizar un superior sobre liquidacion.<\/p>\n

Si la oferta promete dinero retirable desprovisto condiciones nitidas, recomendamos examinar los palabras completos. Para reponer an una duda cual muchos jugadores hacen – \ufffd?se puede retirar recursos positivo con algun bono desprovisto deposito en Espana? Nosotros hemos comparado bonos falto deposito referente a Chile de jugadores, seleccionando los superiores casinos. Aca te traemos las mas grandes sugerencias con el fin de que disfrutes joviales plenitud sobre su bono sin tanque. Los esposos bonos sin tanque tienen cualquier estacion sobre validez, cual puede quedar dentro de las 14 y no ha transpirado 10 momentos. La opcion cual nunca estaria de mayor seri\ufffda examinar los opiniones de otras jugadores acerca del casino.<\/p>\n","protected":false},"excerpt":{"rendered":"

Nuestro desarrollo con el fin de obtener su bono desprovisto deposito sobre casinos en internet espanoles continua una ruta inercia Estas cartas suelen ser de una utilidad preestablecido y tambien acostumbran an ensenar determinados instalaciones de puesta. Por ende, empezando por Optimobet recomendamos leer concienzudamente las palabras y no ha\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-71138","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/71138","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=71138"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/71138\/revisions"}],"predecessor-version":[{"id":71139,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/71138\/revisions\/71139"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=71138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=71138"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=71138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}