#!/usr/bin/perl
# your code goes here
# From: Social Share Media
# BSD 3 Clause License
# Check us out : https://g...content-available-to-author-only...b.com/bradvin/social-share-urls
package SocialShareMedia
:: SocialShareURLs ; use strict;
sub GetSocialMediaSites_NiceNames {
'add.this' => 'AddThis' ,
'blogger' => 'Blogger' ,
'buffer' => 'Buffer' ,
'diaspora' => 'Diaspora' ,
'digg' => 'Digg' ,
'douban' => 'Douban' ,
'email' => 'EMail' ,
'evernote' => 'EverNote' ,
'getpocket' => 'Pocket' ,
'facebook' => 'FaceBook' ,
'flattr' => 'Flattr' ,
'flipboard' => 'FlipBoard' ,
'google.bookmarks' => 'GoogleBookmarks' ,
'instapaper' => 'InstaPaper' ,
'line.me' => 'Line.me' ,
'linkedin' => 'LinkedIn' ,
'livejournal' => 'LiveJournal' ,
'gmail' => 'GMail' ,
'hacker.news' => 'HackerNews' ,
'ok.ru' => 'OK.ru' ,
'pinterest.com' => 'Pinterest' ,
'google.plus' => 'GooglePlus' ,
'qzone' => 'QZone' ,
'reddit' => 'Reddit' ,
'renren' => 'RenRen' ,
'skype' => 'Skype' ,
'sms' => 'SMS' ,
'stumbleupon' => 'StumbleUpon' ,
'surfingbird.ru' => 'SurfingBird.ru' ,
'telegram.me' => 'Telegram.me' ,
'threema' => 'Threema' ,
'tumblr' => 'Tumblr' ,
'twitter' => 'Twitter' ,
'vk' => 'VK' ,
'weibo' => 'Weibo' ,
'xing' => 'Xing' ,
'yahoo' => 'Yahoo' ,
] ;
}
sub GetSocialMediaSites_WithShareLinks_OrderedByPopularity {
'google.plus' ,
'google.bookmarks' ,
'facebook' ,
'reddit' ,
'twitter' ,
'linkedin' ,
'tumblr' ,
'pinterest' ,
'blogger' ,
'livejournal' ,
'evernote' ,
'add.this' ,
'getpocket' ,
'hacker.news' ,
'stumbleupon' ,
'digg' ,
'buffer' ,
'flipboard' ,
'instapaper' ,
'surfingbird.ru' ,
'flattr' ,
'diaspora' ,
'qzone' ,
'vk' ,
'weibo' ,
'ok.ru' ,
'douban' ,
'xing' ,
'renren' ,
'threema' ,
'sms' ,
'line.me' ,
'skype' ,
'telegram.me' ,
'email' ,
'gmail' ,
'yahoo' ,
] ;
}
sub GetSocialMediaSites_WithShareLinks_OrderedByAlphabet {
my ( $args ) = @_ ;
my $nice_names = GetSocialMediaSites_NiceNames( ) ;
}
# Social Media Site Links With Share Links
# -------------------------------------------------
sub encode {
my ( $args ) = @_ ;
}
sub GetSocialMediaSiteLinks_WithShareLinks {
my ( $args ) = @_ ;
my $url = encode( $args -> { url} ) ;
my $title = encode( $args -> { title} ) ;
my $image = encode( $args -> { image} ) ;
my $desc = encode( $args -> { desc} ) ;
my $app_id = encode( $args -> { appid} ) ;
my $redirect_url = encode( $args -> { redirecturl} ) ;
my $via = encode( $args -> { via} ) ;
my $hash_tags = encode( $args -> { hashtags} ) ;
my $provider = encode( $args -> { provider} ) ;
my $language = encode( $args -> { language} ) ;
my $user_id = encode( $args -> { userid} ) ;
my $category = encode( $args -> { category} ) ;
my $phone_number = encode( $args -> { phonenumber} ) ;
my $email_address = encode( $args -> { emailaddress} ) ;
my $cc_email_address = encode( $args -> { ccemailaddress} ) ;
my $bcc_email_address = encode( $args -> { bccemailaddress} ) ;
my $text = $title ;
if ( $desc ) {
$text .= '%20%3A%20' ; # This is just this, " : "
$text .= $desc ;
}
'add.this' => 'http://w...content-available-to-author-only...s.com/bookmark.php?url=' . $url ,
'blogger' => 'https://w...content-available-to-author-only...r.com/blog-this.g?u=' . $url . '&n=' . $title . '&t=' . $desc ,
'buffer' => 'https://b...content-available-to-author-only...r.com/add?text=' . $text . '&url=' . $url ,
'diaspora' => 'https://s...content-available-to-author-only...n.org/?title=' . $title . '&url=' . $url ,
'digg' => 'http://d...content-available-to-author-only...g.com/submit?url=' . $url . '&title=' . $text ,
'douban' => 'http://w...content-available-to-author-only...n.com/recommend/?url=' . $url . '&title=' . $text ,
'email' => 'mailto:' . $email_address . '?subject=' . $title . '&body=' . $desc ,
'evernote' => 'http://w...content-available-to-author-only...e.com/clip.action?url=' . $url . '&title=' . $text ,
'getpocket' => 'https://g...content-available-to-author-only...t.com/edit?url=' . $url ,
'facebook' => 'http://w...content-available-to-author-only...k.com/sharer.php?u=' . $url ,
'flattr' => 'https://f...content-available-to-author-only...r.com/submit/auto?user_id=' . $user_id . '&url=' . $url . '&title=' . $title . '&description=' . $text . '&language=' . $language . '&tags=' . $hash_tags . '&hidden=HIDDEN&category=' . $category ,
'flipboard' => 'https://s...content-available-to-author-only...d.com/bookmarklet/popout?v=2&title=' . $text . '&url=' . $url ,
'gmail' => 'https://mail.google.com/mail/?view=cm&to=' . $email_address . '&su=' . $title . '&body=' . $url . '&bcc=' . $bcc_email_address . '&cc=' . $cc_email_address ,
'google.bookmarks' => 'https://www.google.com/bookmarks/mark?op=edit&bkmk=' . $url . '&title=' . $title . '&annotation=' . $text . '&labels=' . $hash_tags . '' ,
'instapaper' => 'http://w...content-available-to-author-only...r.com/edit?url=' . $url . '&title=' . $title . '&description=' . $desc ,
'line.me' => 'https://l...content-available-to-author-only...e.me/share/ui?url=' . $url . '&text=' . $text ,
'linkedin' => 'https://w...content-available-to-author-only...n.com/shareArticle?mini=true&url=' . $url . '&title=' . $title . '&summary=' . $text . '&source=' . $provider ,
'livejournal' => 'http://w...content-available-to-author-only...l.com/update.bml?subject=' . $text . '&event=' . $url ,
'hacker.news' => 'https://n...content-available-to-author-only...r.com/submitlink?u=' . $url . '&t=' . $title ,
'ok.ru' => 'https://c...content-available-to-author-only...k.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=' . $url ,
'pinterest' => 'http://p...content-available-to-author-only...t.com/pin/create/button/?url=' . $url ,
'google.plus' => 'https://plus.google.com/share?url=' . $url . '&text=' . $text . '&hl=' . $language ,
'qzone' => 'http://s...content-available-to-author-only...q.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' . $url ,
'reddit' => 'https://r...content-available-to-author-only...t.com/submit?url=' . $url . '&title=' . $title ,
'renren' => 'http://w...content-available-to-author-only...n.com/dialog/share?resourceUrl=' . $url . '&srcUrl=' . $url . '&title=' . $text . '&description=' . $desc ,
'skype' => 'https://w...content-available-to-author-only...e.com/share?url=' . $url . '&text=' . $text ,
'sms' => 'sms:' . $phone_number . '?body=' . $text ,
'stumbleupon' => 'http://w...content-available-to-author-only...n.com/submit?url=' . $url . '&title=' . $text ,
'surfingbird.ru' => 'http://s...content-available-to-author-only...d.ru/share?url=' . $url . '&description=' . $desc . '&screenshot=' . $image . '&title=' . $title ,
'telegram.me' => 'https://content-available-to-author-only.me/share/url?url=' . $url . '&text=' . $text . '&to=' . $phone_number ,
'threema' => 'threema://compose?text=' . $text . '&id=' . $user_id ,
'tumblr' => 'https://w...content-available-to-author-only...r.com/widgets/share/tool?canonicalUrl=' . $url . '&title=' . $title . '&caption=' . $desc . '&tags=' . $hash_tags ,
'twitter' => 'https://t...content-available-to-author-only...r.com/intent/tweet?url=' . $url . '&text=' . $text . '&via=' . $via . '&hashtags=' . $hash_tags ,
'vk' => 'http://content-available-to-author-only.com/share.php?url=' . $url . '&title=' . $title . '&comment=' . $desc ,
'weibo' => 'http://s...content-available-to-author-only...o.com/share/share.php?url=' . $url . '&appkey=&title=' . $title . '&pic=&ralateUid=' ,
'xing' => 'https://w...content-available-to-author-only...g.com/app/user?op=share&url=' . $url ,
'yahoo' => 'http://c...content-available-to-author-only...o.com/?to=' . $email_address . '&subject=' . $title . '&body=' . $text ,
} ;
}
my @social_media_names = @ { GetSocialMediaSites_WithShareLinks_OrderedByPopularity( ) || [ ] } ;
my $social_media_urls = GetSocialMediaSiteLinks_WithShareLinks( {
url=> 'https://w...content-available-to-author-only...t.com/' ,
title=> 'EarthFluent' ,
} ) ;
foreach my $social_media_name ( @social_media_names ) {
my $social_media_url = $social_media_urls -> { $social_media_name } ;
print ( $social_media_name . ' : ' . $social_media_url . "\n \n " ) ; }
IyEvdXNyL2Jpbi9wZXJsCiMgeW91ciBjb2RlIGdvZXMgaGVyZQoKCQkjIEZyb206IFNvY2lhbCBTaGFyZSBNZWRpYQoJCSMgQlNEIDMgQ2xhdXNlIExpY2Vuc2UKCQkjIENoZWNrIHVzIG91dCA6IGh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vYnJhZHZpbi9zb2NpYWwtc2hhcmUtdXJscwoKcGFja2FnZSBTb2NpYWxTaGFyZU1lZGlhOjpTb2NpYWxTaGFyZVVSTHM7CnVzZSBzdHJpY3Q7CgpzdWIgR2V0U29jaWFsTWVkaWFTaXRlc19OaWNlTmFtZXMgewoJcmV0dXJuIFsKCQknYWRkLnRoaXMnPT4nQWRkVGhpcycsCgkJJ2Jsb2dnZXInPT4nQmxvZ2dlcicsCgkJJ2J1ZmZlcic9PidCdWZmZXInLAoJCSdkaWFzcG9yYSc9PidEaWFzcG9yYScsCgkJJ2RpZ2cnPT4nRGlnZycsCgkJJ2RvdWJhbic9PidEb3ViYW4nLAoJCSdlbWFpbCc9PidFTWFpbCcsCgkJJ2V2ZXJub3RlJz0+J0V2ZXJOb3RlJywKCQknZ2V0cG9ja2V0Jz0+J1BvY2tldCcsCgkJJ2ZhY2Vib29rJz0+J0ZhY2VCb29rJywKCQknZmxhdHRyJz0+J0ZsYXR0cicsCgkJJ2ZsaXBib2FyZCc9PidGbGlwQm9hcmQnLAoJCSdnb29nbGUuYm9va21hcmtzJz0+J0dvb2dsZUJvb2ttYXJrcycsCgkJJ2luc3RhcGFwZXInPT4nSW5zdGFQYXBlcicsCgkJJ2xpbmUubWUnPT4nTGluZS5tZScsCgkJJ2xpbmtlZGluJz0+J0xpbmtlZEluJywKCQknbGl2ZWpvdXJuYWwnPT4nTGl2ZUpvdXJuYWwnLAoJCSdnbWFpbCc9PidHTWFpbCcsCgkJJ2hhY2tlci5uZXdzJz0+J0hhY2tlck5ld3MnLAoJCSdvay5ydSc9PidPSy5ydScsCgkJJ3BpbnRlcmVzdC5jb20nPT4nUGludGVyZXN0JywKCQknZ29vZ2xlLnBsdXMnPT4nR29vZ2xlUGx1cycsCgkJJ3F6b25lJz0+J1Fab25lJywKCQkncmVkZGl0Jz0+J1JlZGRpdCcsCgkJJ3JlbnJlbic9PidSZW5SZW4nLAoJCSdza3lwZSc9PidTa3lwZScsCgkJJ3Ntcyc9PidTTVMnLAoJCSdzdHVtYmxldXBvbic9PidTdHVtYmxlVXBvbicsCgkJJ3N1cmZpbmdiaXJkLnJ1Jz0+J1N1cmZpbmdCaXJkLnJ1JywKCQkndGVsZWdyYW0ubWUnPT4nVGVsZWdyYW0ubWUnLAoJCSd0aHJlZW1hJz0+J1RocmVlbWEnLAoJCSd0dW1ibHInPT4nVHVtYmxyJywKCQkndHdpdHRlcic9PidUd2l0dGVyJywKCQkndmsnPT4nVksnLAoJCSd3ZWlibyc9PidXZWlibycsCgkJJ3hpbmcnPT4nWGluZycsCgkJJ3lhaG9vJz0+J1lhaG9vJywKCV07Cn0KCgpzdWIgR2V0U29jaWFsTWVkaWFTaXRlc19XaXRoU2hhcmVMaW5rc19PcmRlcmVkQnlQb3B1bGFyaXR5IHsKCXJldHVybiBbCgkJJ2dvb2dsZS5wbHVzJywKCQknZ29vZ2xlLmJvb2ttYXJrcycsCgkJJ2ZhY2Vib29rJywKCQkncmVkZGl0JywKCQkndHdpdHRlcicsCgkJJ2xpbmtlZGluJywKCQkndHVtYmxyJywKCQkncGludGVyZXN0JywKCQknYmxvZ2dlcicsCgkJJ2xpdmVqb3VybmFsJywKCQknZXZlcm5vdGUnLAoJCSdhZGQudGhpcycsCgkJJ2dldHBvY2tldCcsCgkJJ2hhY2tlci5uZXdzJywKCQknc3R1bWJsZXVwb24nLAoJCSdkaWdnJywKCQknYnVmZmVyJywKCQknZmxpcGJvYXJkJywKCQknaW5zdGFwYXBlcicsCgkJJ3N1cmZpbmdiaXJkLnJ1JywKCQknZmxhdHRyJywKCQknZGlhc3BvcmEnLAoJCSdxem9uZScsCgkJJ3ZrJywKCQknd2VpYm8nLAoJCSdvay5ydScsCgkJJ2RvdWJhbicsCgkJJ3hpbmcnLAoJCSdyZW5yZW4nLAoJCSd0aHJlZW1hJywKCQknc21zJywKCQknbGluZS5tZScsCgkJJ3NreXBlJywKCQkndGVsZWdyYW0ubWUnLAoJCSdlbWFpbCcsCgkJJ2dtYWlsJywKCQkneWFob28nLAoJXTsKfQoKc3ViIEdldFNvY2lhbE1lZGlhU2l0ZXNfV2l0aFNoYXJlTGlua3NfT3JkZXJlZEJ5QWxwaGFiZXQgewoJbXkgKCRhcmdzKSA9IEBfOwoJCglteSAkbmljZV9uYW1lcyA9IEdldFNvY2lhbE1lZGlhU2l0ZXNfTmljZU5hbWVzKCk7CgkKCXJldHVybiBrZXlzICUkbmljZV9uYW1lczsKfQoKCQkjIFNvY2lhbCBNZWRpYSBTaXRlIExpbmtzIFdpdGggU2hhcmUgTGlua3MKCQkjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnN1YiBlbmNvZGUgewoJbXkgKCRhcmdzKSA9IEBfOwoKCXJldHVybiAkYXJnczsKfQoKc3ViIEdldFNvY2lhbE1lZGlhU2l0ZUxpbmtzX1dpdGhTaGFyZUxpbmtzIHsKCW15ICgkYXJncykgPSBAXzsKCQoJbXkgJHVybCA9IGVuY29kZSgkYXJncy0+e3VybH0pOwoJbXkgJHRpdGxlID0gZW5jb2RlKCRhcmdzLT57dGl0bGV9KTsKCW15ICRpbWFnZSA9IGVuY29kZSgkYXJncy0+e2ltYWdlfSk7CglteSAkZGVzYyA9IGVuY29kZSgkYXJncy0+e2Rlc2N9KTsKCW15ICRhcHBfaWQgPSBlbmNvZGUoJGFyZ3MtPnthcHBpZH0pOwoJbXkgJHJlZGlyZWN0X3VybCA9IGVuY29kZSgkYXJncy0+e3JlZGlyZWN0dXJsfSk7CglteSAkdmlhID0gZW5jb2RlKCRhcmdzLT57dmlhfSk7CglteSAkaGFzaF90YWdzID0gZW5jb2RlKCRhcmdzLT57aGFzaHRhZ3N9KTsKCW15ICRwcm92aWRlciA9IGVuY29kZSgkYXJncy0+e3Byb3ZpZGVyfSk7CglteSAkbGFuZ3VhZ2UgPSBlbmNvZGUoJGFyZ3MtPntsYW5ndWFnZX0pOwoJbXkgJHVzZXJfaWQgPSBlbmNvZGUoJGFyZ3MtPnt1c2VyaWR9KTsKCW15ICRjYXRlZ29yeSA9IGVuY29kZSgkYXJncy0+e2NhdGVnb3J5fSk7CglteSAkcGhvbmVfbnVtYmVyID0gZW5jb2RlKCRhcmdzLT57cGhvbmVudW1iZXJ9KTsKCW15ICRlbWFpbF9hZGRyZXNzID0gZW5jb2RlKCRhcmdzLT57ZW1haWxhZGRyZXNzfSk7CglteSAkY2NfZW1haWxfYWRkcmVzcyA9IGVuY29kZSgkYXJncy0+e2NjZW1haWxhZGRyZXNzfSk7CglteSAkYmNjX2VtYWlsX2FkZHJlc3MgPSBlbmNvZGUoJGFyZ3MtPntiY2NlbWFpbGFkZHJlc3N9KTsKCQoJbXkgJHRleHQgPSAkdGl0bGU7CgkKCWlmKCRkZXNjKSB7CgkJJHRleHQgLj0gJyUyMCUzQSUyMCc7CSMgVGhpcyBpcyBqdXN0IHRoaXMsICIgOiAiCgkJJHRleHQgLj0gJGRlc2M7Cgl9CgkKCXJldHVybiB7CgkJJ2FkZC50aGlzJz0+J2h0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5zLmNvbS9ib29rbWFyay5waHA/dXJsPScgLiAkdXJsLAoJCSdibG9nZ2VyJz0+J2h0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5jb20vYmxvZy10aGlzLmc/dT0nIC4gJHVybCAuICcmbj0nIC4gJHRpdGxlIC4gJyZ0PScgLiAkZGVzYywKCQknYnVmZmVyJz0+J2h0dHBzOi8vYi4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5jb20vYWRkP3RleHQ9JyAuICR0ZXh0IC4gJyZ1cmw9JyAuICR1cmwsCgkJJ2RpYXNwb3JhJz0+J2h0dHBzOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubi5vcmcvP3RpdGxlPScgLiAkdGl0bGUgLiAnJnVybD0nIC4gJHVybCwKCQknZGlnZyc9PidodHRwOi8vZC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZy5jb20vc3VibWl0P3VybD0nIC4gJHVybCAuICcmdGl0bGU9JyAuICR0ZXh0LAoJCSdkb3ViYW4nPT4naHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLm4uY29tL3JlY29tbWVuZC8/dXJsPScgLiAkdXJsIC4gJyZ0aXRsZT0nIC4gJHRleHQsCgkJJ2VtYWlsJz0+J21haWx0bzonIC4gJGVtYWlsX2FkZHJlc3MgLiAnP3N1YmplY3Q9JyAuICR0aXRsZSAuICcmYm9keT0nIC4gJGRlc2MsCgkJJ2V2ZXJub3RlJz0+J2h0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLmNvbS9jbGlwLmFjdGlvbj91cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGV4dCwKCQknZ2V0cG9ja2V0Jz0+J2h0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5jb20vZWRpdD91cmw9JyAuICR1cmwsCgkJJ2ZhY2Vib29rJz0+J2h0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5rLmNvbS9zaGFyZXIucGhwP3U9JyAuICR1cmwsCgkJJ2ZsYXR0cic9PidodHRwczovL2YuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnIuY29tL3N1Ym1pdC9hdXRvP3VzZXJfaWQ9JyAuICR1c2VyX2lkIC4gJyZ1cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUgLiAnJmRlc2NyaXB0aW9uPScgLiAkdGV4dCAuICcmbGFuZ3VhZ2U9JyAuICRsYW5ndWFnZSAuICcmdGFncz0nIC4gJGhhc2hfdGFncyAuICcmaGlkZGVuPUhJRERFTiZjYXRlZ29yeT0nIC4gJGNhdGVnb3J5LAoJCSdmbGlwYm9hcmQnPT4naHR0cHM6Ly9zLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5kLmNvbS9ib29rbWFya2xldC9wb3BvdXQ/dj0yJnRpdGxlPScgLiAkdGV4dCAuICcmdXJsPScgLiAkdXJsLCAKCQknZ21haWwnPT4naHR0cHM6Ly9tYWlsLmdvb2dsZS5jb20vbWFpbC8/dmlldz1jbSZ0bz0nIC4gJGVtYWlsX2FkZHJlc3MgLiAnJnN1PScgLiAkdGl0bGUgLiAnJmJvZHk9JyAuICR1cmwgLiAnJmJjYz0nIC4gJGJjY19lbWFpbF9hZGRyZXNzIC4gJyZjYz0nIC4gJGNjX2VtYWlsX2FkZHJlc3MsCgkJJ2dvb2dsZS5ib29rbWFya3MnPT4naHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9ib29rbWFya3MvbWFyaz9vcD1lZGl0JmJrbWs9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUgLiAnJmFubm90YXRpb249JyAuICR0ZXh0IC4gJyZsYWJlbHM9JyAuICRoYXNoX3RhZ3MgLiAnJywKCQknaW5zdGFwYXBlcic9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5jb20vZWRpdD91cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUgLiAnJmRlc2NyaXB0aW9uPScgLiAkZGVzYywKCQknbGluZS5tZSc9PidodHRwczovL2wuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUubWUvc2hhcmUvdWk/dXJsPScgLiAkdXJsIC4gJyZ0ZXh0PScgLiAkdGV4dCwKCQknbGlua2VkaW4nPT4naHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5uLmNvbS9zaGFyZUFydGljbGU/bWluaT10cnVlJnVybD0nIC4gJHVybCAuICcmdGl0bGU9JyAuICR0aXRsZSAuICcmc3VtbWFyeT0nIC4gJHRleHQgLiAnJnNvdXJjZT0nIC4gJHByb3ZpZGVyLAoJCSdsaXZlam91cm5hbCc9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubC5jb20vdXBkYXRlLmJtbD9zdWJqZWN0PScgLiAkdGV4dCAuICcmZXZlbnQ9JyAuICR1cmwsCgkJJ2hhY2tlci5uZXdzJz0+J2h0dHBzOi8vbi4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5jb20vc3VibWl0bGluaz91PScgLiAkdXJsIC4gJyZ0PScgLiAkdGl0bGUsCgkJJ29rLnJ1Jz0+J2h0dHBzOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uay5ydS9kaz9zdC5jbWQ9V2lkZ2V0U2hhcmVQcmV2aWV3JnN0LnNoYXJlVXJsPScgLiAkdXJsLAoJCSdwaW50ZXJlc3QnPT4naHR0cDovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQuY29tL3Bpbi9jcmVhdGUvYnV0dG9uLz91cmw9JyAuICR1cmwgLAoJCSdnb29nbGUucGx1cyc9PidodHRwczovL3BsdXMuZ29vZ2xlLmNvbS9zaGFyZT91cmw9JyAuICR1cmwgLiAnJnRleHQ9JyAuICR0ZXh0IC4gJyZobD0nIC4gJGxhbmd1YWdlLAoJCSdxem9uZSc9PidodHRwOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ucS5jb20vY2dpLWJpbi9xenNoYXJlL2NnaV9xenNoYXJlX29uZWtleT91cmw9JyAuICR1cmwsCgkJJ3JlZGRpdCc9PidodHRwczovL3IuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQuY29tL3N1Ym1pdD91cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUsCgkJJ3JlbnJlbic9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubi5jb20vZGlhbG9nL3NoYXJlP3Jlc291cmNlVXJsPScgLiAkdXJsIC4gJyZzcmNVcmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGV4dCAuICcmZGVzY3JpcHRpb249JyAuICRkZXNjLAoJCSdza3lwZSc9PidodHRwczovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tL3NoYXJlP3VybD0nIC4gJHVybCAuICcmdGV4dD0nIC4gJHRleHQsCgkJJ3Ntcyc9PidzbXM6JyAuICRwaG9uZV9udW1iZXIgLiAnP2JvZHk9JyAuICR0ZXh0LAoJCSdzdHVtYmxldXBvbic9PidodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ubi5jb20vc3VibWl0P3VybD0nIC4gJHVybCAuICcmdGl0bGU9JyAuICR0ZXh0LAoJCSdzdXJmaW5nYmlyZC5ydSc9PidodHRwOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZC5ydS9zaGFyZT91cmw9JyAuICR1cmwgLiAnJmRlc2NyaXB0aW9uPScgLiAkZGVzYyAuICcmc2NyZWVuc2hvdD0nIC4gJGltYWdlIC4gJyZ0aXRsZT0nIC4gJHRpdGxlLAoJCSd0ZWxlZ3JhbS5tZSc9PidodHRwczovL2NvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Lm1lL3NoYXJlL3VybD91cmw9JyAuICR1cmwgLiAnJnRleHQ9JyAuICR0ZXh0IC4gJyZ0bz0nIC4gJHBob25lX251bWJlciwKCQkndGhyZWVtYSc9Pid0aHJlZW1hOi8vY29tcG9zZT90ZXh0PScgLiAkdGV4dCAuICcmaWQ9JyAuICR1c2VyX2lkLAoJCSd0dW1ibHInPT4naHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5yLmNvbS93aWRnZXRzL3NoYXJlL3Rvb2w/Y2Fub25pY2FsVXJsPScgLiAkdXJsIC4gJyZ0aXRsZT0nIC4gJHRpdGxlIC4gJyZjYXB0aW9uPScgLiAkZGVzYyAuICcmdGFncz0nIC4gJGhhc2hfdGFncywKCQkndHdpdHRlcic9PidodHRwczovL3QuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnIuY29tL2ludGVudC90d2VldD91cmw9JyAuICR1cmwgLiAnJnRleHQ9JyAuICR0ZXh0IC4gJyZ2aWE9JyAuICR2aWEgLiAnJmhhc2h0YWdzPScgLiAkaGFzaF90YWdzLAoJCSd2ayc9PidodHRwOi8vY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuY29tL3NoYXJlLnBocD91cmw9JyAuICR1cmwgLiAnJnRpdGxlPScgLiAkdGl0bGUgLiAnJmNvbW1lbnQ9JyAuICRkZXNjLAoJCSd3ZWlibyc9PidodHRwOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uby5jb20vc2hhcmUvc2hhcmUucGhwP3VybD0nIC4gJHVybCAuICcmYXBwa2V5PSZ0aXRsZT0nIC4gJHRpdGxlIC4gJyZwaWM9JnJhbGF0ZVVpZD0nLAoJCSd4aW5nJz0+J2h0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZy5jb20vYXBwL3VzZXI/b3A9c2hhcmUmdXJsPScgLiAkdXJsLAoJCSd5YWhvbyc9PidodHRwOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uby5jb20vP3RvPScgLiAkZW1haWxfYWRkcmVzcyAuICcmc3ViamVjdD0nIC4gJHRpdGxlIC4gJyZib2R5PScgLiAkdGV4dCwKCX07Cn0KCm15IEBzb2NpYWxfbWVkaWFfbmFtZXMgPSBAe0dldFNvY2lhbE1lZGlhU2l0ZXNfV2l0aFNoYXJlTGlua3NfT3JkZXJlZEJ5UG9wdWxhcml0eSgpIHx8IFtdfTsKbXkgJHNvY2lhbF9tZWRpYV91cmxzID0gR2V0U29jaWFsTWVkaWFTaXRlTGlua3NfV2l0aFNoYXJlTGlua3MoewoJCXVybD0+J2h0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5jb20vJywKCQl0aXRsZT0+J0VhcnRoRmx1ZW50JywKfSk7Cgpmb3JlYWNoIG15ICRzb2NpYWxfbWVkaWFfbmFtZShAc29jaWFsX21lZGlhX25hbWVzKSB7CglteSAkc29jaWFsX21lZGlhX3VybCA9ICRzb2NpYWxfbWVkaWFfdXJscy0+eyRzb2NpYWxfbWVkaWFfbmFtZX07CgoJcHJpbnQoJHNvY2lhbF9tZWRpYV9uYW1lIC4gJyA6ICcgLiAkc29jaWFsX21lZGlhX3VybCAuICJcblxuIik7Cn0=