/* 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":9657,"date":"2026-04-26T11:12:53","date_gmt":"2026-04-26T11:12:53","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=9657"},"modified":"2026-04-26T11:12:54","modified_gmt":"2026-04-26T11:12:54","slug":"pertanto-volte-gratifica-in-assenza-di-fitto-che-tipo-di-riportiamo-durante-questa-pagina-sono-ciascuno-sicuri-ed-garantiti","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/pertanto-volte-gratifica-in-assenza-di-fitto-che-tipo-di-riportiamo-durante-questa-pagina-sono-ciascuno-sicuri-ed-garantiti\/","title":{"rendered":"Pertanto volte gratifica in assenza di fitto che tipo di riportiamo durante questa pagina sono ciascuno sicuri ed garantiti"},"content":{"rendered":"

Tutte queste discernimento da artificio offrono ai propri clientela il gratifica privo di fitto veloce<\/h2>\n

Per niente, si puo ospitare excretion single premio verso ammissione, a meno che non ci sinon iscriva a piu casa da gioco online quale offrano questa propaganda. Volte gratifica escludendo deposito premettono di giocare, riportando addirittura delle vincite talora, senza contare dover investire il conveniente ricchezza. Mediante qualche casi soggetto premio prevede una brandello per la ad esempio non e opportuno posare, il gratifica in assenza di base corretto, generalmente erogata al fine del fascicolo di registrazione ovverosia all’invio dei documentazione di conformita.<\/p>\n

Affinche le migliori arguzia da gioco virtuali offrono gratifica gratis di ogni rso hutte ai propri clienti. Indivis gratifica in assenza di deposito, certain bonus free spins ovverosia certain gratifica cashback sono altre promozioni quale ci si puo bramare sopra questa occasione. Questa comunicazione offre ai giocatori diversi gratifica in mezzo a cui indivis gratifica sul primo deposito, come quasi sempre raddoppia la abbreviazione anteriore depositata dal giocatore. Nella maggior parte dei tumulto aams il premio privato di base viene assegnato ai giocatori quando sinon iscrivono al mucchio a la inizialmente evento.<\/p>\n

Percio, anzi di trasportare patrimonio, devi riconoscere un’occhiata alle migliori opzioni di prelevamento a rso premio senza contare fitto ed rilevare qual e la piuttosto adatta verso te. Potresti ideare quale risparmiare i tuoi bonus privato di tenuta non solo una percepibile timore in quanto non sai laddove potrebbero risultare piuttosto utili. Qualsivoglia rso bisca privo di fitto Italia hanno rso propri limiti di imposizione, ovvero l’importo soddisfacentemente ed meno che indivis cliente puo arrischiare per il bazzecola. Per scoprire in cui puoi verificare volte tuoi piccoli regali senza base, dovresti succedere nella conto promozioni addirittura tentare i termini addirittura le condizioni dell’offerta richiesta. Qualora controlli i termini e le condizioni di un particolare bonus escludendo base sul luogo del casino beniamino, facilmente scoprirai verso quali giochi puoi spendere codesto onorario.<\/p>\n

Il Fun Premio e una qualita di “riconoscimento possibile” come i siti di scommesse rilasciano all’utente. Eppure, e possibile contare quello stessi fun premio al Tumulto ed – durante accidente di Stanleybet<\/a> guadagno – usufruire rso finanza conquistati verso le scommesse. Volte siti di scommesse quale erogano gratifica senza contare base non logicamente regalano contante a titolo di favore; pero, come motto, possono esservi diversifie tipologie della stessa divulgazione.<\/p>\n

Appellativo del casino Gratifica senza contare fitto Disponibile sulle slot Sfruttabile sui giochi da tabella Requisiti di puntata Estremita di scadenza Starcasino 50 giri a sbafo da 0,10 \ufffd l’uno Consenso, celibe sulla slot machine Money Train 4. Certi di questi portali offrono ai nuovi utenza indivisible competenza variabile di giri gratuiti senza aggravio di intricato, ovverosia insecable gratifica sul anteriore fitto realizzato (lettera con fatica indice sulla cambio). Tra le piattaforme quale spiccano per la ingresso delle lui offerte durante premio escludendo fondo, vi sono operatori online sopra una lunga racconto e una osservazione consolidata.<\/p>\n

Il payout di certain incontro e la indice di averi che razza di, durante mass media, ritorna al sportivo ulteriormente una tornata. Nella nostra esame, non ci limitiamo a sospettare il talento di offerte, eppure di nuovo la se campione sulla punto dei requisiti di passata ancora dei Termini addirittura Condizioni imposti dalla basamento. Noi di non-aams.it scriviamo le nostre recensioni sui bisca online non-AAMS basandoci sui criteri di deliberazione della emancipazione, peculiarita di gratifica addirittura offerte, payout e differenza dei giochi. Ad esempio, sul collocato ufficiale del Curacao Gaming Control Board, le linee manuale indicano palesemente come excretion atleta globale puo impiegare di indivis casa da gioco online sopra liberta CGCB eventualmente se il Paese di esperienza glielo consenta. Dal momento che il giocatore italico scommette verso terra eccezionale non sta difatti usufruendo di piattaforme italiane affidabili, che tipo di assicurano soccorso da eventuali truffe.<\/p>\n

Ricordiamo ancora che razza di questa prassi di inclusione non e sopra energia con ciascuno i siti di inganno, ma e corrente single mediante un qualunque siti non AAMS per licenze straniere che dimostra il andamento del incontro online nel Bel Nazione. Oltre a cio, diventa fattibile sottoporre a intervento versamenti attraverso diverse prassi di intricato, togliere le altre vincite derivanti da scommesse ancora giocate future, addirittura e usufruire degli gente gratifica e delle promozioni messi a disposizione dalla trampolino di incontro.<\/p>\n

Ancora, nel caso che prendiamo per riguardo la parecchio di patrimonio funzione a disposizione, volte migliori bonus in assenza di fitto sono quelli concessi da Big Tumulto, Starvegas e Betflag. Queste promozioni sono soggette per rigidi controlli disparte dell’Agenzia delle Dogane addirittura dei Monopoli, quale assicura il stima dei parametri di grinta addirittura diploma nel artificio d’azzardo online. Volte bonus escludendo intricato rilasciati dai casa da gioco online regolati dall’ADM sono completamente sicuri e legali. A acquistare un premio escludendo base e dovuto registrarsi durante insecable bisca online ADM addirittura analizzare il conveniente somma di gioco. Indivisible bonus senza contare fondo e una propaganda promessa dai bisca online come permette ai giocatori di impostare a giocare privo di dover effettuare indivis deposito antecedente. Scopri che tipo di contare in regalo alle slot machine online ed approfitta delle offerte oltre a vantaggiose privo di sottoporre a intervento alcun base primo.<\/p>\n

Solitamente, le slot machine contribuiscono al 100%, qualora giochi che il blackjack o la roulette possono partecipare sopra verso tranne. Faccenda ulteriormente controllare a mente ad esempio non qualsivoglia i giochi contribuiscono allo uguale modo al assolvimento dei requisiti di passata. E importante considerare ad esempio rso requisiti di puntata possono cambiare molto da un casa da gioco all’altro pure da certain premio all’altro interiormente dello proprio casino.<\/p>\n

Garantisce la stessa sicurezza anche gli stessi controlli di quella nostrana, pero differisce verso non molti lato<\/h2>\n

Durante attuale appena e possibile vedere la tabella dei giochi qualificanti addirittura, innanzitutto, dei titoli come permettono di avanzare con il rollover. Non tutti volte titoli di excretion casino sono utilizzabili con insecable gratifica escludendo fondo. Imporre ancora abusare indivis gratifica privato di base nei scompiglio non AAMS e generalmente sicuro.<\/p>\n","protected":false},"excerpt":{"rendered":"

Tutte queste discernimento da artificio offrono ai propri clientela il gratifica privo di fitto veloce Per niente, si puo ospitare excretion single premio verso ammissione, a meno che non ci sinon iscriva a piu casa da gioco online quale offrano questa propaganda. Volte gratifica escludendo deposito premettono di giocare, riportando\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-9657","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9657","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=9657"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9657\/revisions"}],"predecessor-version":[{"id":9658,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9657\/revisions\/9658"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=9657"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=9657"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=9657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}