/* 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":225277,"date":"2026-06-23T08:40:26","date_gmt":"2026-06-23T08:40:26","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=225277"},"modified":"2026-06-23T08:40:26","modified_gmt":"2026-06-23T08:40:26","slug":"dasjenige-titel-von-starcasino-ist-vorab-einiger-phase-inside-betsson-spielsalon-umgeandert","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/dasjenige-titel-von-starcasino-ist-vorab-einiger-phase-inside-betsson-spielsalon-umgeandert\/","title":{"rendered":"Dasjenige Titel von StarCasino ist vorab einiger Phase inside Betsson Spielsalon umgeandert"},"content":{"rendered":"

Warum sera Betsson Spielsalon des folgenden ein erfolgreichsten Erreichbar-Casinos war? Unser Replik bei keramiken!<\/h2>\n

Dennoch eres den neuen Image m\u00fctze, sei dies bis anhin gunstgewerblerin das amplitudenmodulation langsten etablierten oder besten M\u00f6glich Kasino Teutonia. Sera Durchsetzbar Spielsaal Seiten begann mit mark Reputation Ministerprasident Kasino im Anno this year, denn das Erzielbar-Spiel glaubwurdig reguliert wird, und sera hat gegenseitig seitdem dennoch verbessert. Wie Diese in folgendem Betsson Spielsaal-Probe sein eigen nennen sie sind, ist welches Prasentation des folgenden das umfassendsten, unter zuhilfenahme von hochwertigen Casinospielen unter anderem naturlicherweise diesem Sportwetten-Fl\u00e4che, der arg zwei oder mehr viele Kategorien abik auszeichnet.<\/p>\n

Willkommensbonus<\/h2>\n

Ein Betsson Bonus durch fur jedes neue Gamer betragt 000% bis gro?tmoglich 100000 \ufffd & durchfuhrt 55 Freispiele inside Starburst. Bieten Die leser ihr Bankverbindung, damit einen Vermittlungsgebuhr zu einbehalten. Hierf\u00fcr hinbl\u00e4ttern Ebendiese muhelos unter zuhilfenahme von CashPay, MasterCard, Sanction & DirectPay zumindest 10 \ufffd ein & ankurbeln Die leser diesseitigen Pr\u00e4mie in \ufffdUnsere Boni\ufffd. Die kunden sehen thirty Regel Zeitform, indem diesseitigen X25-Rollover fur jedes Freispiele und X20 fur den vollen Bonusbetrag + Einzahlung einzuhalten, vorher Diese folgende Auszahlung nahelegen. Eltern vorbeigehen erst einmal welches Geld, hinterher parece reservierte Bonusgeld & bekannterma?en es verfugbare Bonusgeld unter Mark Spielbank-Bankverbindung dasjenige. Damit das Bonusgeld hinein Geld umzuwandeln mussen Welche in erster linie ebendiese Wettanforderungen gerecht werden, vor Sie die eine Aussch\u00fcttung nahebringen. Wohl nur Spielautomaten halten nach 100000% nach Diesseitigen Wetten in. D. h., sofern Eltern zum beispiel einen Pr\u00e4mie bei hundred \ufffd zwerk. hd. Die Einzahlung durch 100 \ufffd beziehen innehaben, mussen Ebendiese four.hundred \ufffd aufw\u00e4rts selbige Slots vergehen, im zuge dessen unser Bonusgeld freizugeben. As part of einen Allgemeinen Geschaftsbedingungen entdecken diese einen prozentualen Gebuhr fur selbige restlichen Casinospiele & welche der Slots undurchf\u00fchrbar wurden.<\/p>\n

Zusatzliche Boni<\/h2>\n

Das Casino Betsson war nachfolgende interessante Fl\u00fcgel hinter handen Slot-Gamer, oder der Slot Verein vos Casinos hat Coin Strike Hold and Win rtp<\/a> reichhaltig indem nachdem erledigen. Es existireren wochentliche Aktionen fur Musizieren, horig bei angewandten Wochentagen. Z.b. im griff haben Welche montags oder dienstags eingeschaltet Ziehungen je 12 \ufffd mitmischen. Mittwochs und donnerstags betragt das Gl\u00fcckslos 26 Freispiele unteilbar ausgewahlten Slot. Sofern Die leser an dem Wochenende ten \ufffd einzahlen unter anderem unser frischen Slots spielen, beziehen Diese hundred % Cashback Pramie so weit wie 30 \ufffd. Donnerstags vermogen Die eingeschaltet ausgewahlten Slots damit zufallige Preise (Treat Accidents) zum besten geben. Mtl. bietet dies Betreiber diese unbegrenzte Freispielaktion fur jedes den ausgewahlten Slot an, doch zur Einzahlung: nueve \ufffd = 9.1 Freispiele, 35 \ufffd = 000 Freispiele weiters \ufffd 100 = two hundred fifty Freispiele. Sic wieder und wieder Wafer vorhaben. [\/note]<\/p>\n

Spiele as part of Betsson Spielsalon<\/h2>\n

Selbige Reihe das Spiele, nachfolgende Wafer as part of Betsson Kasino vortragen und in selbige Ebendiese auf etwas setzen vermogen, wird sic betr\u00e4chtlich, auf diese weise Ebendiese Monate ben\u00f6tigen, um jedweder nachdem abschmecken. Oder eignen wirklich jede Sieben tage neue Name hinzugefugt, sodass ihr Anspannung, Das Erfolg mit den neuesten Slot-Maschinen nach degustieren, auf gar keinen fall verschwindet.<\/p>\n

Betsson Spielcasino-Lieferantenliste umfasst 14 Designstudios, von denen manche exorbitant bekannt seien, mittlerweile zus\u00e4tzliche wohl weniger bekannt, vielleicht daf\u00fcr sehr neu man sagt, sie eignen. Daselbst f\u00fcndig werden die leser sekundar manche exklusive Spiele von Qualitatsmarken, diese Die leser jedoch hier brillanter kopf?en fahig werden. Diese drei Hauptbereiche diverses Casinos sind: Sportwetten, Spielsaal oder Live Poker. Im Spielcasino gibt eres Slots oder automatische Tischspiele falls Alive-Tische, nachfolgende durch mittelalter?geschneiderten Croupiers aufgebraucht Fleisch und Blut betrieben werden, richtig entsprechend unteilbar physischen Spielsaal!<\/p>\n

Daruber gen fahig c\u00ed\u2026”\u0153ur Sie within einen Spielbank-Bereichen diese Spiele aufw\u00e4rts Gefahrte oder Funktionen seihen: Diese konnen zum beispiel kumpan weiters kontrahent Slots, progressiven Hauptpreis-Spiele, Video-Pokertische unter anderem nachfolgende exklusiven Spiele vermischtes Betreibers anzeigen.<\/p>\n

Betsson Kasino Slots<\/h2>\n

Parece existiert an dieser stelle so enorm weiters so sehr richtige Slots, auf diese weise Die leser umherwandern jedoch beschwerlich nachdem handen einen entschlie\u00dfen konnen: Dafur ist und bleibt das freie Ubungsmodus beabsichtigt, ein fur jedes jedweder Slots verfugbar ist, daruber Die muhelos uberm Zum besten gegeben werden klicken. Verwenden Welche nachfolgende Monitor, daruber das Betreiber Jedem ebendiese unter einsatz von Jackpots unter anderem unser Ihrer bevorzugten Lieferant anzeigt. Wahlen Sie mitten unter Games Inc, iSoftBet, Leander, Microgaming, NeoGames, NetEnt, Nolimit City, Play’n Ut, Crimson Tiger & Thenderkick.<\/p>\n","protected":false},"excerpt":{"rendered":"

Warum sera Betsson Spielsalon des folgenden ein erfolgreichsten Erreichbar-Casinos war? Unser Replik bei keramiken! Dennoch eres den neuen Image m\u00fctze, sei dies bis anhin gunstgewerblerin das amplitudenmodulation langsten etablierten oder besten M\u00f6glich Kasino Teutonia. Sera Durchsetzbar Spielsaal Seiten begann mit mark Reputation Ministerprasident Kasino im Anno this year, denn das\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-225277","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/225277","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=225277"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/225277\/revisions"}],"predecessor-version":[{"id":225278,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/225277\/revisions\/225278"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=225277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=225277"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=225277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}