/* 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":94498,"date":"2026-05-23T23:00:04","date_gmt":"2026-05-23T23:00:04","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=94498"},"modified":"2026-05-23T23:00:05","modified_gmt":"2026-05-23T23:00:05","slug":"free-online-casino-games-play-for-fun-22800-trial-online-game","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/free-online-casino-games-play-for-fun-22800-trial-online-game\/","title":{"rendered":"Free Online casino games Play for Fun 22,800+ Trial Online game"},"content":{"rendered":"

Below, you\u2019ll get some good of greatest selections i\u2019ve selected predicated on the unique conditions. Because you spin the reels, you\u2019ll encounter entertaining incentive keeps, magnificent photos, and rich sound files you to transportation you with the cardio away from the online game. Because they may well not boast the fresh new showy image of contemporary videos ports, antique harbors give a pure, unadulterated betting sense.<\/p>\n

Typically video clips harbors have five or more reels, in addition to a higher amount of paylines. Extra pick possibilities in harbors allows you to pick an advantage bullet and can get on immediately, in place of waiting right up until it\u2019s brought about playing. Some slots allow you to trigger and deactivate paylines to modify the wager This is why, you can access all types of slot machines, which have one motif or has you might think of. Delight in all of the showy fun and you can activity regarding Las vegas regarding the comfort of household compliment of the totally free harbors zero down load collection. VegasSlotsOnline ‘s the websites\u2019s definitive slots attraction, connecting players to over 32,178 free ports online, every no obtain or sign-upwards called for.<\/p>\n

Some other prominent added bonus bullet into the 100 percent free slot game was a pick-and-click types of ability. Discover all sorts of bonus rounds you could stimulate at https:\/\/aviafly2slot.org\/da-dk\/<\/a> random and a predetermined rate. Other video game as well as let you plunge straight into the experience, in addition to however restricted to Famous people away from Orion, Toro 7s, Book from Toro, and you will Insane Toro II.<\/p>\n

You will find several judge casinos on the internet into the Michigan together with FanDuel Casino, BetMGM Casino, and BetRivers Casino, that try outstanding metropolises to try out real money gambling enterprise video game. Particular well-known You casinos has actually additional MI to their online casino directories the real deal-currency harbors and you may online casino games, providing Michigan professionals alternatives close to competitive bonuses. Gambling on line throughout the Higher Lakes State turned into judge from inside the 2019, and since following, it has sex to add a number of the biggest names regarding online casino world. However, you should also here are a few PartyCasino and you will Controls off Chance Gambling enterprise to own a good New jersey real cash gambling establishment feel. Talked about names working inside PA tend to be FanDuel Gambling establishment and you can BetMGM Local casino.<\/p>\n

Together with, it\u2019s best to choose for on the web free slots that include merely simple bonus provides, instance Scatters and you can Insane icons. Jam Jar wilds land, choose multipliers, and you may \u201cwalk\u201d over the dancefloor, flipping brief strikes on chunky profits. That\u2019s not totally all, some of all of our game, and additionally the ports layout game, spin, has actually bonus cycles where you can winnings far more! I’ve arcade games that you simply won\u2019t get a hold of any place else together with bubble and choose. As long as you happen to be a beneficial Bally Wager user, you could potentially change to demo mode and you may speak about all of our selection of online slots ahead of place real cash bets.<\/p>\n

These include 1429 Uncharted Seas (98.60% RTP) and Royal Good fresh fruit 40 (97.71% RTP), however, always take a look at RTP for the adaptation your enjoy during the a gambling establishment, just like the both workers servers editions having a lesser commission speed compared with the demonstration. Monopoly Local casino performs this really by offering a huge demo collection that includes highest volatility favourites like step three Bins O\u2019 Wealth Megaways, Gorilla Silver Megaways, and you will Fishin\u2019 Madness Even bigger Seafood.\u201d The brand new 100 percent free-enjoy choice comes with both antique favourites and you may the fresh new launches, eg Formula Gaming\u2019s January 2026 Silver Struck Display, and exclusives instance Monopoly Money is Queen. It means you can look at most of its 900+ games collection inside the trial function, providing higher choice than many other most useful casinos such as Grosvenor and Betway, which machine to five hundred games inside the real money gamble only.<\/p>\n

On following many years, IGT brought a lot of the casino betting concepts and S-Slot, hence noted the business\u2019s entry for the rotating reel ports industry. It offers more than 31 online casino games, including harbors and you may table video game, and suits players not merely on the Uk, European countries otherwise Australia, and from nations inside China and you may Africa. Which have social gaming, IGT could have been in a position to reach out to a greater, a whole lot more varied inhabitants across boundaries, rather than restricting the offering to help you key gambling enterprise lovers. The new IGT casino, which was immediately following an integral part of Myspace, possess more 5 million gamers, who possess entry to some of the best online slots and table video game supplied by IGT. They features 99 paylines, tumbling reels, 100 percent free spins and victories of up to dos,000x the stake. That have IGT’s huge band of online slots games, it’s difficult to determine which ones you will want to gamble.<\/p>\n

Because the a fact-checker, and you may all of our Chief Gambling Officer, Alex Korsager verifies most of the internet casino home elevators this page. Here are a few all of our expert-ranked selection of a knowledgeable harbors to play the real deal money. Our very own experts’ choice protection all the different components, including Megaways, party will pay, and you may classic ports.<\/p>\n

Therefore, having an extremely free-to-enjoy experience, you would have to availableness a social gambling enterprise. From the personal gambling enterprises, the focus is found on activity, will inside a social form. Really online casinos you\u2019ll see will simply give real money slots.<\/p>\n

Demoslot comes with an ever growing type of British demo ports of business aren’t viewed at bingo websites, bookies and you will Uk belongings-oriented casinos. Mention 100 percent free gambling establishment-design trial game beyond traditional harbors, together with Plinko, freeze game and you will instantaneous-winnings headings. It’s the owner’s responsibility to ensure usage of the fresh new webpages is judge within their nation. Yet not, trying to find highest RTP slots, having fun with 100 percent free gamble to apply, and you may understanding added bonus has actually is improve your complete experience. In the Gambling establishment Pearls, everything is obtainable quickly, with no packages or registration requisite. Learn the paytable, discover wilds and you may scatters, and enjoy extra provides for example 100 percent free spins or multipliers.<\/p>\n

Or even notice it, please check your Junk e-mail folder and you can draw it ‘not spam’ or ‘looks safe’. Our greatest four are Age of the newest Gods, hence satisfied with its build and you will winnings prospective. After you play ports inside the demo function within the Canada, your wager free, hence means that indeed there\u2019s no threat of taking a loss. It still has one foot into the land-dependent playing, however, we think one a few of their online slots which can end up being played 100percent free inside Canada are world-group. NetEnt is different from most other developers with their reducing-edge image and you will creative aspects. Layouts influence the air and iconography from a casino game, just in case to play for free, professionals get access to the full range.<\/p>\n

Our required possibilities are Jackpot Town Gambling enterprise, Spin Casino, and you can Lucky Of these. Many reputable online casinos offer demonstration methods so you’re able to gamble free online casino games. With this top casino apps, you can buy faster entry to free online game.<\/p>\n

Particular reduced better-identified bodies (with a decent character) are the Alderney Playing Manage Payment, the fresh new Gambling Supervision Payment (Isle off Boy), the fresh new Jersey Gaming Percentage and the Kahnawake Gaming Percentage. That’s’ just what we\u2019re also gonna explore right here – and you also\u2019ll be very happy to remember that online slots games are particularly heavily controlled, guaranteeing your\u2019re not receiving \u201cfooled\u201d or to relax and play an unfair game. He is committed to bringing members having creative and pleasing 100 percent free slots enjoy that provide them the ability to secure great cash prizes and you can sense fun added bonus series.<\/p>\n","protected":false},"excerpt":{"rendered":"

Below, you\u2019ll get some good of greatest selections i\u2019ve selected predicated on the unique conditions. Because you spin the reels, you\u2019ll encounter entertaining incentive keeps, magnificent photos, and rich sound files you to transportation you with the cardio away from the online game. Because they may well not boast the\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-94498","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/94498","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=94498"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/94498\/revisions"}],"predecessor-version":[{"id":94500,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/94498\/revisions\/94500"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=94498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=94498"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=94498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}