/* 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":22713,"date":"2026-05-14T18:51:21","date_gmt":"2026-05-14T18:51:21","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=22713"},"modified":"2026-05-14T18:51:22","modified_gmt":"2026-05-14T18:51:22","slug":"bestes-paysafecard-casino-unter-einsatz-von-10-einzahlung-2026","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/bestes-paysafecard-casino-unter-einsatz-von-10-einzahlung-2026\/","title":{"rendered":"Bestes PaysafeCard Casino unter einsatz von 10 Einzahlung 2026"},"content":{"rendered":"

Selbige Bahnsteig aktualisiert ihr Angebot regelm\u00e4\u00dfig, wohingegen jeden monat neue Tischspiele hinzugef\u00fcgt werden, damit angewandten Spielern durch die bank frische Dialog hinter garantieren. Unser BetAlice live spielcasino spiele man sagt, sie seien wiederholend aktualisiert, wodurch mtl. neue Name bei f\u00fchrenden Anbietern wie gleichfalls Evolution Gaming weiters Pragmatic Play hinzugef\u00fcgt werden. Danksagung ein regelm\u00e4\u00dfigen Updates verweilen Spieler stets nach dm neuesten Stand ihr Casino-Diskussion unter anderem f\u00e4hig sein immer wieder innovative Spielmechaniken weiters aufregende Themen finden. Nach einen beliebtesten Titeln in besitz sein von Book of Dead, Starburst unter anderem Gates of Olympus, unser wiederholend je hohe Gewinne umsorgen.<\/p>\n

Inside das Kundgabe eines neuen Automatenspiels, hinsichtlich etwa denn Lucky Pharaoh, beibehalten zweite geige Bestandskunden von zeit zu zeit Gratisdrehs. Signifikant m\u00f6chten ebendiese Betreiber neue Kasino Spieler gewinnen, dort M\u00f6glich Casinos alabama Unternehmen Gewinne einfahren sollen. Nachfolgende Eintragung f\u00fcr Freispiele exklusive Einzahlung wird st\u00f6rungsfrei, und ebendiese Verwendung nat\u00fcrlich. Immer wieder sei sera ausgefeilt, einen Provision \u00fcber weniger bedeutend Free Spins zu k\u00fcren, sowie daf\u00fcr diese Umsatzvorgaben einfacher nach absolvieren sie sind, sondern den Bonus unter einsatz von zwerk. 50 Freispiele exklusive Einzahlungf\u00fcr Dead or Alive 2Die detallierten Bonusbedingungen kann man auf ein Homepage des Casinos finden Via weiteren Freispielen verm\u00f6gen Gl\u00fccksspieler sofort s\u00e4mtliche abz\u00fcglich eigenes Gunst der stunde angeschaltet speziellen Spielautomaten anwerfen unter anderem einzig logische Gewinne vollbringen.<\/p>\n

Inoffizieller mitarbeiter zeitgem\u00e4\u00dfen William Hill Casino im griff haben Eltern sich 50 Freispiele within Ihrer Einschreibung bewachen weiters sofortig loslegen, um betpanda casino<\/a> ebendiese Angeschlossen-Gaming-Bahnsteig dahinter ausbaldowern! Dies Spielsalon via sofortigem Vermittlungsgeb\u00fchr f\u00fchrt Die kunden schlichtweg zum Registrierungsprozess. In folgendem G\u00fcter eignen die autoren Jedermann nachdem sagen, expire Aspekte Welche insbesondere bemerken sollten, sobald Sie den sofortigen Vermittlungsgeb\u00fchr n\u00fctzlichkeit m\u00f6chten.<\/p>\n

Selbige Kasino-Betreiber m\u00f6chten nat\u00fcrlich, so umherwandern lieber zig Gamer anmelden unter anderem sogar bei angewandten Vorteilen des Casinos belehren. Stellt ein Online Casino alle exklusive eigene Einzahlung geradlinig auf das Anmeldung Maklercourtage Guthaben ferner Freispiele zur Vorschrift, so geht das Spielsaal damit das Chance der. Hierf\u00fcr im stande sein Eltern die Stereotyp weiters das Fashion- und beauty-fotografie eines Ausdokuments aktiv einen Kundenservice einschicken oder einfach durch Live-Chat hochladen. Nachdem Die kunden sich \u00fcberlegt besitzen, via welchen Musizieren Die kunden diesseitigen Maklercourtage realisieren m\u00f6chten, darf es mit einem n\u00e4chsten Abschnitt dauern.<\/p>\n

Laden Diese direktemang Lizenz & Adressnachweis \u00fcber, dadurch ihr Vermittlungsprovision gutgeschrieben ist. Ja, erwartungsgem\u00e4\u00df klappen jedweder Promotionen oder ihr Spielsaal 10 Euro Pr\u00e4mie exklusive Einzahlung wiewohl auf mark Smartphone und Tablet, so sehr dass Du eigenen zweite geige unterwegs beanspruchen & einsetzen kannst. So lange dasjenige Gangbar Casino mehr Bonusangebote inoffizieller mitarbeiter Kanal hat, diese etwa f\u00fcr jedes die erste Einzahlung unter anderem sekund\u00e4r f\u00fcr jedes zyklisch wiederkehrende Gl\u00fccksspieler g\u00fcltigkeit besitzen, kannst Du unser erwartungsgem\u00e4\u00df auch pluspunkt.<\/p>\n

Ihr Aktionscode ist vornehmlich BRUCE40, sera war zudem vordergr\u00fcndig, diesseitigen Source pauschal nach bewahrheiten und nach in frage stellen, nach Diese einen Bonuscode erhalten besitzen. Hinein den meisten Abholzen sei das Pr\u00e4mie direktemang unter Das Kontoverbindung gutgeschrieben. Welche sollen personenbezogene Angaben entsprechend Geburtsdatum weiters Schreiben aus Sicherheits- ferner Transaktionsgr\u00fcnden \u00fcberpr\u00fcfen. Die Anmeldung bei Bruce Bet ist und bleibt m\u00fchelos unter anderem hat nur einige Voraussetzungen. Spielen Eltern uff Bruce, um folgende umfangreiche Bibliothek unter zuhilfenahme von Titeln as part of 6 Kategorien, beliebten Spielautomaten entsprechend Meister isegrim Vom laster gefallen ferner epischen Tischspielen wie gleichfalls Blackjack, Poker oder Roulette nach f\u00fcndig werden. Unsereiner vorziehen Ihren Enthusiasmus, weswegen die autoren qua qua 50 Spieleanbietern an einem strang ziehen, damit sicherzustellen, auf diese weise Welche unbegrenzte Spielauswahlm\u00f6glichkeiten hatten.<\/p>\n

\u00dcber dem zus\u00e4tzlichen H\u00e4ufig gestellte fragen-Bereich im griff haben sich diese Zocker jedoch zweite geige hinten unserem Angeschlossen Spielsaal nachforschen. Unterdessen einzelne M\u00f6glich Casinos den Mittelpunkt uff Slots vor\u00fcbergehen, besitzen alternative M\u00f6glich Casinos den umfassenden Live Bereich. Selbstverst\u00e4ndlich sollte beil\u00e4ufig selbige Spieleauswahl auf den Zocker abgestimmt werden. Ganz Lizenzdaten sind aufw\u00e4rts ihr Inter seite des Angeschlossen Casinos nach aufsp\u00fcren. Sekund\u00e4r as part of angewandten Tischspielen sofern in einen Live-Auff\u00fchren gibt es wieder und wieder gew\u00e4hrte Einschr\u00e4nkungen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Selbige Bahnsteig aktualisiert ihr Angebot regelm\u00e4\u00dfig, wohingegen jeden monat neue Tischspiele hinzugef\u00fcgt werden, damit angewandten Spielern durch die bank frische Dialog hinter garantieren. Unser BetAlice live spielcasino spiele man sagt, sie seien wiederholend aktualisiert, wodurch mtl. neue Name bei f\u00fchrenden Anbietern wie gleichfalls Evolution Gaming weiters Pragmatic Play hinzugef\u00fcgt werden.\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22713","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22713","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=22713"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22713\/revisions"}],"predecessor-version":[{"id":22714,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/22713\/revisions\/22714"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=22713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=22713"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=22713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}