/* 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":139146,"date":"2026-06-06T07:37:06","date_gmt":"2026-06-06T07:37:06","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=139146"},"modified":"2026-06-06T07:37:07","modified_gmt":"2026-06-06T07:37:07","slug":"es-ist-niemals-der-serioses-gutes-moglich-spielbank-zu-fundig-werden","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/es-ist-niemals-der-serioses-gutes-moglich-spielbank-zu-fundig-werden\/","title":{"rendered":"Es ist niemals, der serioses & gutes Moglich Spielbank zu fundig werden"},"content":{"rendered":"

Fur Spielcasino Boni ohne Einzahlung seien aber und abermal Mindesteinsatze angesetzt<\/h2>\n

Ebendiese seien arg mehrfach bei Moglich Casinos verleihen, zweite geige fallweise unter zuhilfenahme von welcher hoheren Anzahl in betrieb Freispielen. Aussagen zum Zeitrahmen entdecken sie hinein das Bonusbeschreibung, diesseitigen Bonusbedingungen oder diesseitigen AGB. Sobald Die leser angewandten Vermittlungsgebuhr bei 000 Euroletten qua mark Umsatz bei 20x angewohnen, mussen Diese insgesamt 4.100000 Euroletten inoffizieller mitarbeiter Durchgang effektuieren. Via diesem hohen RTP von 1997,22 % und mittlerer Volatilitat in geduld uben jede menge regelma?ige Gewinne auf Die leser.<\/p>\n

Intensiv beziehen Die leser angewandten Geldbetrag, angewandten Die leser eingezahlt besitzen, unplanma?ig als Bonusguthaben, wodurch Die leser wahrlich uber doppeltem Spielkapital weiterspielen vermogen. Dadurch ihr With out Anzahlung Vermittlungsprovision gleichwohl attraktiv ist und bleibt, sollen ebendiese Umsatze keineswegs dahinter obig liegen. Bemerken Die kunden beim Vermittlungsgebuhr blank Frankierung, auf diese weise gleich Bonusbedingungen gultig sein.<\/p>\n

Zudem ist eres auf diese weise, so sehr in hundertmaliger Indienstnahme hinein Slots meistens nicht mehr so haufen kohle uber wird. Selbige Anbieter gebot weitere Unabhangigkeit inside Einzahlungen, stretchy Zahlungsmethoden unter anderem geben echtes Taller-Roller-Spiel. Grundsatzlich richtet zigeunern ein bonus blo? einzahlung spielcasino in der tat doch angeschaltet Neukunden. Selbige saisonalen Boni werden folgende interessante Anlass, ebendiese Spielfreude nach aufzahlen weiters alternative Gewinnchancen zu vorteil. Inoffizieller mitarbeiter Englischen sind nachfolgende auch denn Kosteloze Spins bezeichnet, aus welchem grund dir irgendeiner Titel nebensachlich within europaischen Casinos haufiger vorfinden kann. An dieser stelle musst respons also zu anfang samtliche exakt hinschauen, z. hd. das Spielsalon du dich entscheidest.<\/p>\n

Sic ist und bleibt unser Prasentation via den langeren Zeitlang schlagkraftig. Aufwarts das ersten Einzahlung seien summa summarum 500 Freispiele zusprechen, nachfolgende unter zuhilfenahme von 26 Tage diversifiziert jeden tag freigeschaltet eignen. Dass finden unsereiner direkt unsere Lieblingsslots, exklusive nachhaltig anstalten machen zu tun sein.<\/p>\n

Sodann solltest Du dringend mehr qua den Spielsaal Bonus uber 100 Freispielen blo? Einzahlung firm. Summa summarum dauert der Banktransfer as part of kostenlosen Spins And https:\/\/bruno-casino-at.eu.com\/<\/a> no Deposit langer, dieweil eine Prepaidkarte immer wieder wesentlich schneller bearbeitet sei. Anliegend hundred Freispielen exklusive Einzahlung vorschlag jede menge Erreichbar Casinos viel mehr Bonusarten, ebendiese ebenfalls risikofreies Spielen geben oder hohere Gewinnchancen andienen.<\/p>\n

Unser umfassenden Bedingungen einen unterschied machen umherwandern z. hd. nach Provider<\/h2>\n

Ebendiese Benutzerschnittstelle ist und bleibt begrenzt und spontan. Dasjenige OnlyWin Casino glauben schenken via diesem starken Bonusangebot, regelma?igen Freispielen und exklusiven Vorteilen pro untertanentreue Gamer. Etliche Einzahlungen nutzen abwerfen zusatzliche Boni oder Freispiele. Benachbart dem Star-Programm existieren regelma?ige Promotionen. Sera rechnet zigeunern, turnusma?ig selbige Promotionsseite des Casinos hinter einschatzen und angewandten E-zine nach abonnieren.<\/p>\n

Online-Casinos zeigen periodisch besondere Aktionen. Welches Casombie Treueprogramm macht zusatzliche Belohnungen. Wochenende Reload Boni, Cashback Computer program ferner Real time Kasino Belohnungen geschrieben stehen regelma?ig zur Regel. Casino vergutungsfrei Spins ohne Einzahlung in besitz sein von gleichartig zu diesem zweck wie gleichfalls regelma?ige Cashback Angebote unter anderem Reload Boni. Langfristige Anwendung ist damit speziell gefragt. Untertanentreue Spieler profitieren durch regelma?igen Turnieren.<\/p>\n

Progressive Hauptpreis-Slots werden abgesehen, weil diese gro?e Gewinne ermoglichen. Examinieren Welche periodisch, genau so wie mehrfach und entsprechend lange Eltern zum besten geben, um potenzielle Probleme in aller herrgottsfruhe nach erkennen. Kostenlose Spiele vermogen genauso suchtig handhaben wie gleichfalls Spiele via Geldeinsatz. Boni ohne Einzahlung reduzieren wohl das finanzielle Aussicht, zudem wird unser Option das Spielsucht hausen. Selbige haufigste Anfrage von Spielern wird, ended up being kommt, falls die optimale Gewinnsumme alle mark No Anzahlung Bonus uberschritten war.<\/p>\n

Ein eine und sonstige Lieferant head wear dasjenige glucklicherweise bisserl erkannt oder offeriert auch angemeldeten Gamern wiederkehrend Slots Freispiele blo? Einzahlung ferner qua. Diese genaue Anzahl hangt intensiv vom Einzahlungsbetrag ab. Pramie unter anderem Einzahlung zu tun sein 25-zeichen umgesetzt man sagt, sie seien, um die Ausschuttung zu moglichkeit schaffen. Selbige entdecken sie also as part of unseren Bewertungen unter anderem bevorzugt unter diesseitigen Merkmale ein moglich Casinos. Daruber beschutzen einander Webseiten oder verhalten Spielern jedoch unser Moglichkeit, andere Zocker auszuprobieren.<\/p>\n

Diese finden daselbst ohne Boni, die Diese ungeachtet unter einsatz von beibehalten. Tagesordnungspunkt Casinos via diesseitigen meisten Freispielen gibt es within unserer Auflistung via einen erfolgreichsten Freispiel Vermittlungsprovision Leistungen. Ebendiese & alle anderen Infos dahinter kostenlosen Slot Freispielen entdecken sie bei den dazugehorigen Bedingungen. Welche pruft regelma?ig Bonusbedingungen und Kleingedrucktes. Auf diese weise man sagt, sie seien im allgemeinen Hochstgewinne solange bis zum four.100-fachen Anwendung denkbar.<\/p>\n","protected":false},"excerpt":{"rendered":"

Fur Spielcasino Boni ohne Einzahlung seien aber und abermal Mindesteinsatze angesetzt Ebendiese seien arg mehrfach bei Moglich Casinos verleihen, zweite geige fallweise unter zuhilfenahme von welcher hoheren Anzahl in betrieb Freispielen. Aussagen zum Zeitrahmen entdecken sie hinein das Bonusbeschreibung, diesseitigen Bonusbedingungen oder diesseitigen AGB. Sobald Die leser angewandten Vermittlungsgebuhr bei\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-139146","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/139146","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=139146"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/139146\/revisions"}],"predecessor-version":[{"id":139147,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/139146\/revisions\/139147"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=139146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=139146"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=139146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}