<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to make a second download button in Dashboards &amp; Visualizations</title>
    <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402707#M26393</link>
    <description>&lt;P&gt;Dashboard search is named "export_download". I have a token that has that name in the dashboard as well (download_sid). I can get the token it by &lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;    // Access the "default" token model
    var tokens = splunkjs.mvc.Components.get("default");

    // Retrieve the value of a token $mytoken$
    var download_sid = tokens.get("download_sid");
    var download_file_name = tokens.get("download_file_name");

    // get the search
    var exportSearch = splunkjs.mvc.Components.get(download_sid);
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Now I have the search and can get the results just like before as the dashboard has already run it. I don't create the search manager. It is referencing the search in my dashboard. &lt;/P&gt;</description>
    <pubDate>Wed, 30 Sep 2020 00:48:00 GMT</pubDate>
    <dc:creator>hallt3</dc:creator>
    <dc:date>2020-09-30T00:48:00Z</dc:date>
    <item>
      <title>How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402700#M26386</link>
      <description>&lt;P&gt;Does anybody know of a way to make a second download button (could use the same modal as the official dashboard one)? &lt;BR /&gt;
I've tried playing around with some custom JS and tried messing with the data_cid field a bit. &lt;BR /&gt;
Not sure how to proceed.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jun 2019 20:25:31 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402700#M26386</guid>
      <dc:creator>hallt3</dc:creator>
      <dc:date>2019-06-03T20:25:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402701#M26387</link>
      <description>&lt;P&gt;@hallt3 -  could you please elaborate more on your question, like where you want download button? If you could give screenshot and/or UI mockup that would be great to understand your question.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jun 2019 06:18:06 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402701#M26387</guid>
      <dc:creator>VatsalJagani</dc:creator>
      <dc:date>2019-06-04T06:18:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402702#M26388</link>
      <description>&lt;P&gt;Hi @hallt3 &lt;/P&gt;

&lt;P&gt;I have a dashboard that serves a purpose almost similar to yours.&lt;/P&gt;

&lt;P&gt;Let me try to explain it here.. See if that helps in your case.&lt;/P&gt;

&lt;P&gt;For this, I have a used a JS file called &lt;STRONG&gt;download_test.js&lt;/STRONG&gt;:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;//$("#modal3").append($("&amp;lt;button class=\"btn btn-primary\"&amp;gt;Launch Modal&amp;lt;/button&amp;gt;").click(function() {
$("#download_file_div").append($("&amp;lt;button id=\"download_file_button\"&amp;gt;Download File&amp;lt;/button&amp;gt;").click(function() {
    // The require will let us tell the browser to load /static/app/MyTest/Modal.js with the name "Modal"
    require(['jquery',
        '/static/app/MyTest/Modal.js',
        'underscore',
        'splunkjs/mvc',
        'splunkjs/mvc/utils',
        'splunkjs/mvc/tokenutils',
        'splunkjs/mvc/searchmanager',
        'splunkjs/mvc/simplexml/ready!'
    ], function($,Modal,_, mvc, utils, TokenUtils, SearchManager) {
        // Now we initialize the Modal itself
        var myModal = new Modal("modal1", {
            title: "Alert!!!",
            backdrop: 'static',
            keyboard: false,
            destroyOnHide: true,
            type: 'normal'
        });


        // Create a Search Manager
        var exportSearch = new SearchManager({
             earliest_time: "-24h",
             latest_time: "now",
             search: "index=_internal |top 5  sourcetype", //some dummy search to fill up the content of the csv
             autostart: false
    });     

        $(myModal.$el).on("hide", function() {})
        myModal.body.append($('&amp;lt;p&amp;gt;Do you want to download the session details?&amp;lt;/p&amp;gt;'));
        myModal.footer.append($('&amp;lt;button&amp;gt;').attr({
            type: 'button',
            'data-dismiss': 'modal'
        }).addClass('btn btn-primary icon-export').on('click', function(_, $, mvc, utils, TokenUtils) {      
        exportSearch.startSearch();
        var exportResults = exportSearch.data("results");
        exportResults.on("data", function () {
            //var data = exportResults.collection().toJSON();
            var data = exportResults.data().fields +"\n";
            console.log("d1: "+data);
            console.log("exportResults.data().rows: "+exportResults.data().rows);
            jQuery.each(exportResults.data().rows, function(row){
                data=data+"\n"+exportResults.data().rows[row];
            });
            console.log("d2: "+data);
            // download data as file
            var hiddenElement = document.createElement('a');
            //hiddenElement.href = 'data:attachment/csv,' + encodeURI(JSON.stringify(data, null, 2));
            hiddenElement.href = 'data:attachment/csv,' + encodeURI(data);
            hiddenElement.target = '_blank';
            hiddenElement.download = 'exportData.csv';
            hiddenElement.click();  
        });
        }), $('&amp;lt;button&amp;gt;').attr({
            type: 'button',
            'data-dismiss': 'modal'
        }).addClass('btn btn-primary').text('Never Mind').on('click', function() {
            //Some logic for the 'Never Mind' button, if required.. May be the logout option.
            var logoutURL = window.location.protocol
            +"//"+window.location.hostname
            +":8000"
            +"/en-US/account/logout"
        //window.location=logoutURL;//Redirect the user to logout page if he clicks on 'Never Mind', Uncomment if you want. 
        }))
        myModal.show(); // Launch it!
    })
}))
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Please note that this uses the same Modal.js that is shipped with splunk (I got it from some other apps, though). I'll still provide the content of that &lt;STRONG&gt;Modal.js&lt;/STRONG&gt;, here:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;'use strict';

/*console.log("Here's my code path", document.currentScript)*/
//console.log("Trying again", [].slice.call(document.querySelectorAll('script[src]')).pop().src.replace(/.*?static\/app\/([^\/]*).*/, "$1"))
var _typeof = typeof Symbol === "function" &amp;amp;&amp;amp; typeof Symbol.iterator === "symbol" ? function(obj) { return typeof obj; } : function(obj) { return obj &amp;amp;&amp;amp; typeof Symbol === "function" &amp;amp;&amp;amp; obj.constructor === Symbol ? "symbol" : typeof obj; };

var _createClass = function() {
    function defineProperties(target, props) {
        for (var i = 0; i &amp;lt; props.length; i++) {
            var descriptor = props[i];
            descriptor.enumerable = descriptor.enumerable || false;
            descriptor.configurable = true;
            if ("value" in descriptor) descriptor.writable = true;
            Object.defineProperty(target, descriptor.key, descriptor);
        }
    }
    return function(Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; };
}();

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _setModalMaxHeight(element) {
    this.$element = $(element);
    this.$content = this.$element.find('.modal-content');
    var borderWidth = this.$content.outerHeight() - this.$content.innerHeight();
    var dialogMargin = $(window).width() &amp;lt; 768 ? 20 : 60;
    var contentHeight = $(window).height() - (dialogMargin + borderWidth);
    var headerHeight = this.$element.find('.modal-header').outerHeight() || 0;
    var footerHeight = this.$element.find('.modal-footer').outerHeight() || 0;
    var maxHeight = contentHeight - (headerHeight + footerHeight);

    this.$content.css({
        'overflow': 'hidden'
    });

    this.$element
        .find('.modal-body').css({
            'max-height': maxHeight,
            'overflow-y': 'auto'
        });
}

define(['underscore'], function(_) {
    return function() {
        /**
         * A utility wrapper around Bootstrap's modal.
         * @param {string|object} id                            Either an id or a jQuery element that contains the id in its "data-target" attribute
         * @param {object}         [options]                    Bootstrap modal options
         * @param {boolean|string} [options.backdrop]           Whether or not to show a backdrop, or the string "static" to show a backdrop that doesn't close the modal when clicked
         * @param {boolean}        [options.keyboard]           Whether or not the escape key clsoes the modal
         * @param {boolean}        [options.show=false]         Whether or not to show the modal when it's created
         * @param {string}         [options.type='normal']      Can be 'normal', 'wide', or 'noPadding'
         * @param {string}         [options.title]              The modal's title
         * @param {boolean}        [options.destroyOnHide=true] Destroy the modal when it's hidden
         * @returns {element}
         */
        function Modal(id, options) {
            var _this = this;

            _classCallCheck(this, Modal);

            var modalOptions = _.extend({ show: false }, options);

            // if "id" is the element that triggers the modal display, extract the actual id from it; otherwise use it as-is
            var modalId = id != null &amp;amp;&amp;amp; (typeof id === 'undefined' ? 'undefined' : _typeof(id)) === 'object' &amp;amp;&amp;amp; id.jquery != null ? id.attr('data-target').slice(1) : id;

            var header = $('&amp;lt;div&amp;gt;').addClass('modal-header');

            var headerCloseButton = $('&amp;lt;button&amp;gt;').addClass('close').attr({
                'type': 'button',
                'data-dismiss': 'modal',
                'aria-label': 'Close'
            }).append($('&amp;lt;span&amp;gt;').attr('aria-hidden', true).text('&amp;amp;times;'));

            this.title = $('&amp;lt;h3&amp;gt;').addClass('modal-title');

            this.body = $('&amp;lt;div&amp;gt;').addClass('modal-body');

            this.footer = $('&amp;lt;div&amp;gt;').addClass('modal-footer');

            // Multiselect can grow large and step over footer causing issues clicking button in footer
            this.footer.css('position', 'relative');
            this.footer.css('z-index', 1);

            /*console.log("Here's my code path 2", document.currentScript)*/


            this.$el = $('&amp;lt;div&amp;gt;').addClass('modal hide fade mlts-modal').attr('id', modalId).append($('&amp;lt;div&amp;gt;').addClass('modal-dialog').append($('&amp;lt;div&amp;gt;').addClass('modal-content').append(header.append(headerCloseButton, this.title), this.body, this.footer)));

            if (modalOptions.title != null) this.setTitle(modalOptions.title);

            if (modalOptions.type === 'wide') this.$el.addClass('modal-wide');
            else if (modalOptions.type === 'noPadding') this.$el.addClass('mlts-modal-no-padding');

            // remove the modal from the dom after it's hidden
            if (modalOptions.destroyOnHide !== false) {
                this.$el.on('hidden.bs.modal', function() {
                    return _this.$el.remove();
                });
            }

            this.$el.on('show.bs.modal', function() {
                $(this).show();
                _setModalMaxHeight(this);
            });

            $(window).resize(function() {
                if ($('.modal.in').length != 0) {
                    _setModalMaxHeight($('.modal.in'));
                }
            });

            this.$el.modal(modalOptions);
        }

        _createClass(Modal, [{
            key: 'setTitle',
            value: function setTitle(titleText) {
                this.title.text(titleText);
            }
        }, {
            key: 'setAlert',
            value: function setAlert(alertMessage, alertType) {
                if (this.alert == null) {
                    this.alert = $('&amp;lt;div&amp;gt;').addClass('mlts-modal-alert');
                    this.body.prepend(this.alert);
                }

                //Messages.setAlert(this.alert, alertMessage, alertType, undefined, true);
            }
        }, {
            key: 'removeAlert',
            value: function removeAlert() {
                //Messages.removeAlert(this.alert, true);
            }
        }, {
            key: 'show',
            value: function show() {
                this.$el.modal('show');
            }
        }, {
            key: 'hide',
            value: function hide() {
                this.$el.modal('hide');
            }
        }]);

        return Modal;
    }();
});


//# sourceURL=Modal.js
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Finally, the HTML Code:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;dashboard script="download_test.js"&amp;gt;
  &amp;lt;label&amp;gt;Download Test&amp;lt;/label&amp;gt;
 &amp;lt;row id="submit_button"&amp;gt;
    &amp;lt;panel id="btnPanel"&amp;gt;
      &amp;lt;html&amp;gt;
        &amp;lt;div class="divTable"&amp;gt;
            &amp;lt;div class="divTableBody"&amp;gt;
              &amp;lt;div class="divTableRow"&amp;gt;
                &amp;lt;div class="divTableCell" style="width: 35%;" align="left"&amp;gt;
                  &amp;lt;div id="download_file_div" style="display: table-cell;padding-left: 5px;"&amp;gt;
                  &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div class="divTableCell" style="width: 65%" align="left"/&amp;gt;
              &amp;lt;/div&amp;gt;
              &amp;lt;/div&amp;gt;
          &amp;lt;/div&amp;gt;
      &amp;lt;/html&amp;gt;
    &amp;lt;/panel&amp;gt;
  &amp;lt;/row&amp;gt;
&amp;lt;/dashboard&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;This dashboard should populate the &lt;STRONG&gt;Download File&lt;/STRONG&gt; Button dynamically, as soon as you open the dashboard. Then while you click on that button, it should bring some modal like below:&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="alt text"&gt;&lt;img src="https://community.splunk.com/t5/image/serverpage/image-id/7146iADBFA43F09867B18/image-size/large?v=v2&amp;amp;px=999" role="button" title="alt text" alt="alt text" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;Just click on that download icon, and the JS will trigger the search query &lt;EM&gt;index=_internal |top 5  sourcetype&lt;/EM&gt; (you can always change it according to your convenience) and bring up the SaveAs dialog box. The Default filename is &lt;STRONG&gt;exportData.csv&lt;/STRONG&gt;. Click on &lt;STRONG&gt;Never Mind&lt;/STRONG&gt; button and the modal will disappear. Alternatively, you can also click on the &lt;STRONG&gt;X&lt;/STRONG&gt; button on the modal.&lt;/P&gt;

&lt;P&gt;Do let me know if you have any queries. That download_test.js file was used for some internal requirements, hence it is not properly formatted. If you face any difficulties understanding it, I can try to explain it.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jun 2019 07:10:52 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402702#M26388</guid>
      <dc:creator>pramit46</dc:creator>
      <dc:date>2019-06-04T07:10:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402703#M26389</link>
      <description>&lt;P&gt;This is great! And I found a way to link up the hard coded search to the search on the dashboard (sid).&lt;/P&gt;

&lt;OL&gt;
&lt;LI&gt;Name the search in question ()&lt;/LI&gt;
&lt;LI&gt;Add 'splunkjs/mvc/tableview' to require&lt;/LI&gt;
&lt;LI&gt;&lt;P&gt;Replace the export search var (~24) with the following:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;// Access the "default" token model
var tokens = splunkjs.mvc.Components.get("default");

// Retrieve the value of a token $mytoken$
var download_sid = tokens.get("download_sid");

// log
console.log(download_sid);

var exportSearch = splunkjs.mvc.Components.get(download_sid);
console.log(exportSearch)
&lt;/CODE&gt;&lt;/PRE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;P&gt;Remove exportSearch.startSearch(); from downloadtest.js (~37)&lt;/P&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Tue, 04 Jun 2019 12:16:32 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402703#M26389</guid>
      <dc:creator>hallt3</dc:creator>
      <dc:date>2019-06-04T12:16:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402704#M26390</link>
      <description>&lt;P&gt;Is there any way to escape the results? Some of my data has commas, newlines and it is breaking the results.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jun 2019 19:20:56 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402704#M26390</guid>
      <dc:creator>hallt3</dc:creator>
      <dc:date>2019-06-04T19:20:56Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402705#M26391</link>
      <description>&lt;P&gt;do you mean your search output has newlines and commas? Can you post a sample?&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jun 2019 15:02:35 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402705#M26391</guid>
      <dc:creator>pramit46</dc:creator>
      <dc:date>2019-06-05T15:02:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402706#M26392</link>
      <description>&lt;P&gt;If you had removed the startSearch, then how are you triggering the search?&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jun 2019 15:04:15 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402706#M26392</guid>
      <dc:creator>pramit46</dc:creator>
      <dc:date>2019-06-05T15:04:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402707#M26393</link>
      <description>&lt;P&gt;Dashboard search is named "export_download". I have a token that has that name in the dashboard as well (download_sid). I can get the token it by &lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;    // Access the "default" token model
    var tokens = splunkjs.mvc.Components.get("default");

    // Retrieve the value of a token $mytoken$
    var download_sid = tokens.get("download_sid");
    var download_file_name = tokens.get("download_file_name");

    // get the search
    var exportSearch = splunkjs.mvc.Components.get(download_sid);
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Now I have the search and can get the results just like before as the dashboard has already run it. I don't create the search manager. It is referencing the search in my dashboard. &lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 00:48:00 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402707#M26393</guid>
      <dc:creator>hallt3</dc:creator>
      <dc:date>2020-09-30T00:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402708#M26394</link>
      <description>&lt;P&gt;Ohh okay. I see. you are actually using the result of the search which is run by the dashboard, instead of triggering it through JS. Swell!!!!&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jun 2019 06:26:47 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402708#M26394</guid>
      <dc:creator>pramit46</dc:creator>
      <dc:date>2019-06-06T06:26:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402709#M26395</link>
      <description>&lt;P&gt;The field in the search has a comma.&lt;/P&gt;

&lt;P&gt;Street&lt;BR /&gt;
'1, John St.' becomes 2 fields in the csv because of the ',' . This throws the whole row off.&lt;/P&gt;

&lt;P&gt;The newlines are less of an issue as I can reliable remove them with a regex but the commas I can't. The rest of the commas are important to the structure of the row. I was wondering if it was possible to get individual field values and not just the whole row. &lt;/P&gt;</description>
      <pubDate>Thu, 06 Jun 2019 17:56:41 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402709#M26395</guid>
      <dc:creator>hallt3</dc:creator>
      <dc:date>2019-06-06T17:56:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402710#M26396</link>
      <description>&lt;P&gt;It does not seem to be a splunk problem. &lt;BR /&gt;
Did you try using an extra pair of "? I mean try to populate your result as:&lt;BR /&gt;
""1, john St."" instead of "1,  John St."&lt;BR /&gt;
See if that helps....&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2019 17:43:57 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402710#M26396</guid>
      <dc:creator>pramit46</dc:creator>
      <dc:date>2019-06-07T17:43:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to make a second download button</title>
      <link>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402711#M26397</link>
      <description>&lt;P&gt;You can escape it, sure but it's a horrible pain in the but to do that for 100+ fields in splunk"&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2019 17:50:20 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Dashboards-Visualizations/How-to-make-a-second-download-button/m-p/402711#M26397</guid>
      <dc:creator>hallt3</dc:creator>
      <dc:date>2019-06-07T17:50:20Z</dc:date>
    </item>
  </channel>
</rss>

