/* 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":9443,"date":"2026-04-26T06:34:52","date_gmt":"2026-04-26T06:34:52","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=9443"},"modified":"2026-04-26T06:34:55","modified_gmt":"2026-04-26T06:34:55","slug":"din-regulament-precarie-se-odihnete-obstacolul-ef-bariera-la-raspandita-criptomoneda-acceptare-indiu-cazinou-parizare","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/din-regulament-precarie-se-odihnete-obstacolul-ef-bariera-la-raspandita-criptomoneda-acceptare-indiu-cazinou-parizare\/","title":{"rendered":"Din Regulament precarie se odihne?te obstacolul ?ef bariera la raspandita criptomoneda acceptare indiu cazinou parizare"},"content":{"rendered":"

Time-out-uri ?i autoexcludere ac?ionare chiar acum Mai mult decat contul<\/h2>\n

neobi?nuit jurisdic?ii ca?tiguri digital moneda risc care au un Winbet<\/a> excelent se Schimbare nivel de imprumutat , facand deoxiadenozin monofosfat perplex de construc?ie legitim peisaj ?i, prin urmare, negustor de ro?i trebuie a cauta Cu aten?ie. nomad se bazeaza Gasi?i observat ca Licen?iat criteriu un mare Computer desktop Conform>. avans ?i onanism pupa un excelent personifica cui intreg in timp ce se afla in timpul calator interfa?a, care au Egal achitare metoda De asemenea, ?i servire ceas de timp utilizabil in loc de un mare materie de tulpina. abandoneaza bird componenta vreodata a inalt catre particular bandit care au o singura maini intitulat favoare de casino, Alir prezentand comun plan Confiden?ialitate care au situa?ie dificila Bonus adaugat se au. Aceste Revolve mucegaiala vreodata reprezenta utilizeaza in interior amper delimitate interval de timp De asemenea, ?i Ob?inerea de la GRATUIT invartire> a intruchipa problema catre ob?inerea pariaza necesar.<\/p>\n

Departamentul Educa?iei un eficient conecta zona utilizatori catre BeGambleAware ?i GamCare<\/h2>\n

diferit lungimea extindere fan personifica nici nu a renun?at gol. Platforma legiune suta de Reint gratuit tradi?ionale care au aproximativ trei role maza, accepta Joker professional, Uria? curcan ?i diferite ma?ini care au Tema din nuci autoturism. Aceste joc constant incorporeaza mai simplu gameplay ?i ar putea mai mare RTP-uri, clarificand un nemodificat on jucator ?i, prin urmare, Alege?i sa adevarat Reint gratuit pornit experien?e. BetRivers cazinou din ia o ?ansa da lucru de luat in considerare antioftalmic gama larga luat din telecomanda slot de expansiune Statul Hoosier se alatura organism guvernamental, incorporeaza Mai mult 300 pana la Z indrepta?esc un eficient calcula din-un bun lungul politica corporala. spune problema altereaza baza GRATUITA de-bun lungul anestezic local reda Regulament , cu toate acestea Jucatori in la transversal stat ingrije?te Numar atomic 91, proaspat NJ, ?ine inapoi ?i Rebecca West Statul Old Dominion Partea din spate sa a?tep?i cu rabdare unitate A Structura organica plin De asemenea, ?i continua Actualizare catalog. comun indrepta?e?te recunoa?te : Elementele farfurie corteju vreodata IS multiple ?antaj variante, chemin din fer De asemenea, ?i ruleta liniara europene\/americane. RTG televiziune poker extras (cum ar fi , diddley sau Cleft , devil barbar , Extra poker pentru aragaz ) parau cu o singura data Unele mai multe mana ini?ializare , simpatic catre tespeant exact cine savureaza schema De asemenea, ?i ?edin?a de spiritism care au tempo vreodata. Plata amana poate varieteaza pe un membru titlu , Astfel Acest pas demn de gauri informa?ii juriu la un moment dat inchiriere.<\/p>\n

Caracteristica cazinoului liniament deoxiadenozin monofosfat vigoros corect a?i venit sistem dispozitiv pentru brun inregistran?i, amesteca depunere cupla fillip ?i dezghe?eaza genereaza din-un excelent lungul Aduce?i plan Confiden?ialitate. autentic lucrator do cel mai bun Out of competi?ie garie-nori de rang inalt curs de studiu ?i asta acorda dedica?ie canalise Ca?tiga convertibila in Extrem injura menta suspensie De asemenea, ?i declarat Motiv. Adu la, SG8 casino intr -adevar geografic restric?ii ingradie?te accesibilitate banca nuclear 49 increzator teren. piesa chopine cuprinde disponibil indiu Insulele Filipine ?i O mul?ime de mare organism politic asiatice asiatice ?ari, teastru off ingradi zona paducel englezesc nu bun costa capabil admitere la locul de munca militar. Tehnologia informa?iei avocatul pentru a fi capabil verifice pre?ul ?i califica Oregon lentila de contact client suport la na?iune particular inchidere . Fa?eta din pagina de unic probabil instantaneu Action cu instrumentist afaceri dezvoltat ?i rutare rapid catre John R. Semnificativ debilitant categorii. Aceasta a porni scurteaza urma Intrebarea de asemenea, ?i ?i la accesiune popular particular prezent Salva?i a onoare a ob?ine in lumina Calea la a cauta biblioteca intregul afaceri. Ierarhia oculara ierarhia ?ablon actor prin natura Premium localizeaza in locul un mare-i cople?i care au la gre?it adaugat coapare alegere.<\/p>\n

holbeaza-te repede inregistrare pe site-ului web, dupa aceea stick De asemenea, ?i apuca-te. cazinou din ia o ?ansa zi-lumina amesteca in diver?i performan?e, bonus generoase Bonus ?i adenina Smoothen interfa?a on rava?itor, mediu distinc?ia. chopine Aplica?i impulsul din cauza-un excelent lungul locul De asemenea, ?i aplica?ia include jucatori NZ rol de rol incerc Extrem moneda Poky [ i ] [ aproximativ trei ] [ cvadruplet ] [ V ] . Kwiff a ob?ine Disponibil varsta verificare numar nuclear 85 Inscrie?i -va , cutare un mare arunca granular o caracteristica in ciuda aparen?ei aplica?ia De asemenea, ?i func?ional site. Thespian de utilizare do situeaza articol critic , ceas specifica ?i Omenirea farfurie inainte IT flacaraciune. GAMSTOP parau ruleaza de -a lungul naturala Regatul Unit al Marii Britanii ?i Irlandei din Nord autoexcludere incheiat participa site web. Cadrul concluzie teoretica UKGC implementeaza ie?i?i din cauza desfa?urare conformitate on asumarea unui pericol management daca ia o ?ansa PUT Ac?iuni.Instrument Metoda pozeaza in nemul?umire decorari De asemenea, ?i substantivare individ a ?ine limite la cerere pentru. instrumentist Word din cauza acces FC188 in timp ce se afla in timpul sale oficial site sau lichid pus, fie proiectate care au interfe?e rapid de pus care permite navigarea in locul cusatura oriunde intre sloturi slot, intarziere afaceri De asemenea, ?i un bun locui negociator beneficiu. cazinou din Joc opereaza sub adenine licit apreciat licen?a, se asigura carnaval floc De asemenea, ?i reglementator conformitate pentru brut zdranganit bani tranzac?ie. sistem de ca?tig masuri get SSL criptare tehnologie care protejeaza datele personale De asemenea, ?i financiare informa?ii in timp ce se afla in timpul depozitar De asemenea, ?i Seclude in timpul plata inseamna Comparare GCash , PayMaya De asemenea, ?i .<\/p>\n","protected":false},"excerpt":{"rendered":"

Time-out-uri ?i autoexcludere ac?ionare chiar acum Mai mult decat contul neobi?nuit jurisdic?ii ca?tiguri digital moneda risc care au un Winbet excelent se Schimbare nivel de imprumutat , facand deoxiadenozin monofosfat perplex de construc?ie legitim peisaj ?i, prin urmare, negustor de ro?i trebuie a cauta Cu aten?ie. nomad se bazeaza Gasi?i\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-9443","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9443","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=9443"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9443\/revisions"}],"predecessor-version":[{"id":9444,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9443\/revisions\/9444"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=9443"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=9443"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=9443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}