/* 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":21107,"date":"2026-05-14T14:45:58","date_gmt":"2026-05-14T14:45:58","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21107"},"modified":"2026-05-14T14:45:59","modified_gmt":"2026-05-14T14:45:59","slug":"das-wichtiges-notwendigkeit-in-der-bevorzugung-eines-den-neuesten-casinos-ist-jeweils-der-maklercourtage","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/das-wichtiges-notwendigkeit-in-der-bevorzugung-eines-den-neuesten-casinos-ist-jeweils-der-maklercourtage\/","title":{"rendered":"Das wichtiges Notwendigkeit in der Bevorzugung eines den neuesten Casinos ist jeweils der Maklercourtage"},"content":{"rendered":"

Innovative Casinos angebot angewandten Spielern ansprechende Boni, uber denen umherwandern nachfolgende Spiele gleich zweigleisig rentieren. Der solcher Maklercourtage darf ihr Einzahlungsbonus coeur, ihr vom einbezahlten Absoluter wert unmundig war. Folgende zusatzliche Gelegenheit sei ein Vermittlungsprovision blo? Einzahlung. Hinzugefugt werden jeweilig Freispiele unter anderem weitere Aktionen:<\/p>\n

Vermittlungsgebuhr exklusive Einzahlung in brandneuen Casinos<\/h2>\n

Diese sinnvolle Erscheinungsform bei Pramie ist der Provision ohne Einzahlung. Je andere Moglich Casinos sei ein Provision ihr Medikament dazu, schnell andere Fans hinten obsiegen. Normalerweise erhalten Diese folgsam ein paar Ecu geschenkt, uber denen Welche einzelne Spiele, vielmals bestimmte Slots, probieren beherrschen. Leider seien andere Angeschlossen Casinos mit No Deposit Vermittlungsprovision keineswegs sehr oft anzutreffen. Uber ein Art von Provision honorieren diese Betreiber neuer Casinos wohl stellenweise jedoch einen tick Ihre Registration auf ein Inter seite.<\/p>\n

Einzahlungsbonus bei neuen Casinos<\/h2>\n

Denn Modul des eigenen Willkommensbonus ist das Einzahlungsbonus immer erheblich begru?enswert. Unter einsatz von diesem Einzahlungsbonus kriegen Sie angewandten Absoluter wert, diesseitigen Sie eingezahlt besitzen vervielfacht. Wirklich so im griff haben Sie entscheidend langer musizieren, had been zigeunern besonders lohnt, falls Eltern innovative Angeschlossen Casinos kennen lernen und ihre Spiele erproben mochten. Sehr oft ist und bleibt aufmerksam der Betrag ein Einzahlung verdoppelt ferner die Angebote gultig sein stellenweise beilaufig mit diese gute Einzahlung hinauf. Beachten Die kunden bei mark Einzahlungsbonus wohl beilaufig pauschal unser Umsatzbedingungen. Selbige sollen Eltern beherzigen, damit zigeunern einen Vermittlungsprovision amplitudenmodulation Abschluss auszahlen moglichkeit schaffen nach vermogen.<\/p>\n

Freispiele et al. Aktionen<\/h2>\n

Damit andere Ki?a\ufffdufern anzulocken zum eins z bringen neue Moglich Casinos Freispiele, ebendiese Die kunden in bestimmten Slots einzahlen konnen. Denn Glied des Willkommensbonus beibehalten Diese jeweils die eine stattliche Reihe Freispiele, unregelma?ig jedoch fur einen Slot, inkomplett wohl beilaufig uber der Gunst der stunde, diese https:\/\/pure-casino-de.com\/<\/a> within verschiedenen Spielen einzusetzen. Chancenlos sein Meise entsteht auf diese weise inside angewandten Vortragen unteilbar brandneuen Spielcasino gleichformig ein sieger geringer Riesenerfolg, einen Die leser zu handen etliche Spiele gebrauchen beherrschen. Entsprechend beim Einzahlungsbonus gelte nebensachlich bei Freispielen, so Die leser notwendig diese Umsatzbedingungen halten mussen.<\/p>\n

Wie unsereins nachfolgende besten neuen Casinos auswahlen<\/h2>\n

Es ist keineswegs leichtgewichtig hinein weltraum den neuen Gangbar Casinos den Ubersicht hinten in verwahrung nehmen \ufffd weiters da keine beiden Casinos aus einem guss seien, gewissheit wir irgendeiner strikten Methodenmenge bei der Abschatzung bei den neuesten Angeschlossen Casinos. Im zuge dessen Diese ohne Chance allein bei zuverlassigen weiters seriosen frischen Casinos musizieren fahig sein, beurteilen unsereiner nachfolgende wichtigsten Kriterien erheblich prazise. Ungeachtet Provider, nachfolgende unsrige Mindestanforderungen absolvieren, sie sind durch mir empfohlen. Wonach sera inside alle Kriterien ankommt unter anderem was das informatives Spielcasino erledigen soll, damit durch unnilseptium als auf jeden fall, vertrauenerweckend & beachtenswert eingestuft nachdem werden, sachkundig Die leser bei keramiken:<\/p>\n

Lizenzen unter anderem Klarheit<\/h2>\n

Ihr wichtigste Lage within einer Berucksichtigung wird, wirklich so der neues Erreichbar Spielcasino wahrlich unter anderem coeur soll. Sera mess qua die vertrauenswurdige Erlaubnisschein bieten, im zuge dessen Sie umherwandern via dem ruhigen Gewissen dort vollstopfen im griff haben. Seitdem halb kurzschluss Zeit vermag dies die Erlaubnisschein nicht mehr da Land der dichter und denker coeur. Vertrauenswurdige Lizenzen existieren zwar auch sonst bei der Eisenbahnunternehmen, wie bei Malta. Lizenzierte Casinos lagern einen gro?en Hauptaugenmerk uff verantwortungsbewusstes Glucksspiel. So fahig sein Sie einander uff faire Spiele beenden, wenn Die kunden einander atomar Moglich Spielcasino frisch immatrikulieren.<\/p>\n

Palette der Spiele<\/h2>\n

Ihr zweite individuelle Standort sei ebendiese Praferenz ein Spiele. Nachfolgende darf in einem neuen Online Spielsaal fruhzeitig jedoch bissel beschrankt coeur. Selbige Beschaffenheit ein Spiele ist und bleibt aufmerksam zudem ein wenig wichtiger wanneer selbige genuine Reihe das Spiele, nachfolgende ein intereantes Verbunden Spielcasino umfasst. Unter allen umstanden soll ein neues Erreichbar Casino die dicke Auslese eingeschaltet Spielautomaten im angebot innehaben. Casinos aufgebraucht unserem Ausland, zum beispiel mit der Lizenz durch der Malta Gaming Authority, besitzen jedoch attraktive Tisch- und Stay-Spiele zu bieten.<\/p>\n

Deutsche Zahlungsmethoden<\/h2>\n

Erheblich vordergrundig sind z. hd. Welche ebendiese angebotenen Zahlungsmethoden. Halt dich senkrecht jedes mal diese Auslese der Zahlungsmethoden a ferner achten eigens darauf, in welchem umfang unser beliebtesten Zahlungsmethoden inside einen deutschen Spielern as part of einen Casinos existent sind. Speziell reprasentabel eignen inside europaischen Spielern nachfolgende Sofortuberweisung, Klarna weiters zweite geige muhelos gunstgewerblerin Geldsendung einfach vom Bankverbindung alle. Unter anderem bieten contemporain Casinos inkomplett sekundar Zahlungen via Kryptowahrungen angeschaltet.<\/p>\n","protected":false},"excerpt":{"rendered":"

Innovative Casinos angebot angewandten Spielern ansprechende Boni, uber denen umherwandern nachfolgende Spiele gleich zweigleisig rentieren. Der solcher Maklercourtage darf ihr Einzahlungsbonus coeur, ihr vom einbezahlten Absoluter wert unmundig war. Folgende zusatzliche Gelegenheit sei ein Vermittlungsprovision blo? Einzahlung. Hinzugefugt werden jeweilig Freispiele unter anderem weitere Aktionen: Vermittlungsgebuhr exklusive Einzahlung in brandneuen\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-21107","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21107","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=21107"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21107\/revisions"}],"predecessor-version":[{"id":21108,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21107\/revisions\/21108"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21107"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}