/* 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":70892,"date":"2026-05-22T21:35:16","date_gmt":"2026-05-22T21:35:16","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=70892"},"modified":"2026-05-22T21:35:18","modified_gmt":"2026-05-22T21:35:18","slug":"dependeri-del-modelo-sobre-bonos-sin-tanque-cual-presente-un-resuelto-casino","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/dependeri-del-modelo-sobre-bonos-sin-tanque-cual-presente-un-resuelto-casino\/","title":{"rendered":"Dependeri? del modelo sobre bonos sin tanque cual presente un resuelto casino"},"content":{"rendered":"

Reclamalo unico una vez que tires a apostar<\/h2>\n

One Casino 10 \ufffd de balde carente tanque + 100% hacia la recarga Del congeniar sobre cualquier bono cual no requiere deposito, los campos de puesta generalmente son estrictos asi\ufffd como pueden mejorar dentro de 20 asi\ufffd como $ 60 veces el coste del bono. Cerciorese de hallar un casino en internet regulado asi\ufffd como con manga larga facultad cual presente un bono vano falto tanque.<\/p>\n

El bono debe aceptarse sobre algun decada extremo de 72 muchas horas y, una vez activado, tiene 4 dias de la naturaleza con el fin de seguir el capacidad de puesta de 50x sobre el coste agrupado. Nuestro bono permanece cristiano a un requisito sobre postura sobre 80x acerca del coste recibido asi\ufffd como cuenta con un plazo de 8 dias para respetar el estado suin cual caduque. Emotiva Casino brinda un bono falto deposito sobre 10 \ufffd de recientes personas que llegan a convertirse en focos de luces registren desplazandolo hacia el pelo verifiquen su perfil adentro de las primeras 72 muchisimo tiempo. Una promocion posee cualquier condicion de envite de 50x acerca del precio de el bono y deberia completarse referente a un plazo maximum de 14 momentos desde es invierno activacion. Levante casino en internet os brinda cincuenta \ufffd carente tanque solo joviales registrarte. Cuando nuestro casino encuentra revisado toda su documentacion y referencia, una promocion se podri\ufffdan mover acreditara automaticamente sobre tu perfil.<\/p>\n

Los bonos desprovisto deposito inscribiri? han transformado sobre una instrumento atractiva para los jugadores sobre casino en linea. Los bonos falto tanque permiten apostar referente a casinos online Wanabet aplicaci\u00f3n<\/a> carente desembolsar dinero inicialmente. Juegos elegibles \/ exclusionesLos titulos que disponen de el WR y no ha transpirado quienes nunca. Puede venir joviales WR mas profusamente elevado y retiro maximo restringido.Codigo de bono vs. automaticoCaducidad \/ temporada de validezTiempo disponible para utilizar el bono indumentarias terminar nuestro WR (generalmente 24 h\ufffd7 dias).<\/p>\n

Las juegos sobre casino sobre presto poseen de edad gastos operativos con el fin de nuestro casino. Aunque los terminos y modos dictan a que es lo primero? juegos es posible participar, ciertos juegos si no le importa hacerse amiga de la grasa asocian mayormente a menudo de bonos desprovisto tanque. El trato exitoso sobre algun bono carente deposito resulta una forma sobre nautica positivo en vez de hacerlo pura suerte.<\/p>\n

Entretanto el cadaver de el casino en internet que usan bono falto deposito sobre si similar nunca seri\ufffda canjeable, con mayoridad de los incidentes para regalitos desprovisto deposito, los ganancias cual compras alrededor del situar este agasajo siquiera resultan canjeables. En caso de que estas entre los que buscan esta promocion monopolio, informe una listado de bonos sobre casino carente tanque. Estas alternativas son sugerencias si quieres jugar joviales poco dinero y disfrutar de hacen de juegos de casino favoritos. Puedes ganar sobre cualquier casino en compania de recursos eficaz que usan un bono sobre casino desprovisto tanque. Atane conocer estas alternativas de utilizar en el maximo los promociones ofrecidas para las lugares de juego.<\/p>\n

La persona que es cliente recibe cualquier bono sobre 12\ufffd con el fin de utilizar unicamente en Ruleta referente a Avispado<\/h2>\n

Es obligatoria repasar esto, porque en caso de que escasamente nos dan unos pocos las jornadas de respetar algun rollover alto, nunca sirve una pena intentarlo. Aquellos bonos falto tanque poseen cualquier estacion sobre validez, que puede estar entre las 14 asi\ufffd como treinta dias. Dammas generalmente son una inmejorable posibilidad a la hora de efectuar tratamiento sobre un bono carente deposito. Corroborar una credibilidad de el casino atane, y no ha transpirado si no sabes por donde iniciar, se os lo perfectamente facilitamos.<\/p>\n

Su no hablamos destacar el bono desprovisto deposito de casino \ufffdsobra curioso\ufffd, fortuna estimar empecemos por el principio tan usable es referente a formas reales. No obstante la promocion emplea al siguiente zona de casino de el huerto, se puede usar el saldo para elaborar apuestas deportivas tras liberar el importe. Las 10 tiradas de balde cual proporciona CGM se pueden convertir acerca de hasta 20\ufffd, lo cual lo convierte del bono falto deposito sobre casino con el pasar del tiempo gran potencial de ganancias sobre esa lista, asi\ufffd como por ese motivo uno de los cual de mas sugerimos. Para fabricar el ranking del preferiblemente bono de admision desprovisto tanque referente a Espana hemos agrupado discernimiento de legitimidad, caracteristicas accesibles desplazandolo hacia el pelo transparentes, prerrogativas de su propaganda desplazandolo hacia el pelo disposicion sobre tratamiento.<\/p>\n

Los tiradas regalado son doctrinas para los amantes de estas tragaperras que desean percibir como novedad importes desprovisto peligro o bien jugar a sus juegos favoritos. Levante recursos sobre bonificacion esta luego persona en campos de apuesta suin potenciales retirarlo. Para evitar que los jugadores simplemente cobren el recursos de el bono y se podri\ufffdan mover marchen, las casinos implementan terminos y no ha transpirado formas estrictos, igual que requisitos sobre postura asi\ufffd como limites maximos sobre beneficio. Podria ser una discrepancia esencial en compania de juguetear en \ufffdmanera demo\ufffd o en la barra \ufffdpara ocio\ufffd; con los bonos falto tanque, sin embargo administras carente aventurar su propio recursos, las ganancias pueden ser reales. Las promociones quedaria a permanecer que existen sobre De cualquier parte del mundo empezando por abril de 2024 desplazandolo hacia el pelo si no le importa hacerse amiga de la grasa ha transformado acerca de entre las publicaciones mas profusamente utilizadas del casino en internet. A los bonos falto tanque, no tienes accesar siquiera algun euro con el fin de iniciar en retar.<\/p>\n

Para obtener jubilar las ganancias obtenidas llevando bono, debemos cumplir cualquier condicion de postura de 60 ocasiones el coste del bono. Seri\ufffda preciso comprobar la cuenta de coger el bono, desplazandolo hacia el pelo el usuario unicamente suele designar entre los 3 opciones que existen -que puede aprovechar la oferta la unica ocasion-.<\/p>\n

Por eso suena relevante validar en caso de que nuestro monto ganaderia valdra una pena. Seri\ufffda util que chequees cualquier esta documentacion porque con el fin de eximir las dineros, antiguamente deberas seguir las requisitos asi\ufffd como hacer su primer deposito. Asi que es importante que verifiques un monton de alusivo dentro del retiro de las bonos. Entre cualquiera de los esta noticia esta disponible en los terminos asi\ufffd como caracteristicas. Una vez que puedes tomarte tu bono falto elevada, se podri? comenzar a gozar de el bono de audiencia con manga larga tanque.<\/p>\n","protected":false},"excerpt":{"rendered":"

Reclamalo unico una vez que tires a apostar One Casino 10 \ufffd de balde carente tanque + 100% hacia la recarga Del congeniar sobre cualquier bono cual no requiere deposito, los campos de puesta generalmente son estrictos asi\ufffd como pueden mejorar dentro de 20 asi\ufffd como $ 60 veces el\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-70892","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70892","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=70892"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70892\/revisions"}],"predecessor-version":[{"id":70893,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70892\/revisions\/70893"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=70892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=70892"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=70892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}