popularity 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +21 -0
  5. data/Gemfile.lock +126 -0
  6. data/LICENSE.txt +20 -0
  7. data/README.rdoc +92 -0
  8. data/Rakefile +54 -0
  9. data/VERSION +1 -0
  10. data/lib/.DS_Store +0 -0
  11. data/lib/popularity.rb +92 -0
  12. data/lib/popularity/crawler.rb +76 -0
  13. data/lib/popularity/facebook.rb +26 -0
  14. data/lib/popularity/github.rb +28 -0
  15. data/lib/popularity/google_plus.rb +22 -0
  16. data/lib/popularity/medium.rb +33 -0
  17. data/lib/popularity/pinterest.rb +21 -0
  18. data/lib/popularity/reddit_comment.rb +32 -0
  19. data/lib/popularity/reddit_post.rb +47 -0
  20. data/lib/popularity/reddit_share.rb +72 -0
  21. data/lib/popularity/results_container.rb +70 -0
  22. data/lib/popularity/search.rb +79 -0
  23. data/lib/popularity/soundcloud.rb +44 -0
  24. data/lib/popularity/twitter.rb +21 -0
  25. data/popularity.gemspec +124 -0
  26. data/spec/cassettes/facebook.yml +50 -0
  27. data/spec/cassettes/github-valid.yml +105 -0
  28. data/spec/cassettes/google_plus.yml +89 -0
  29. data/spec/cassettes/medium-valid.yml +110 -0
  30. data/spec/cassettes/pinterest.yml +44 -0
  31. data/spec/cassettes/reddit-comment.yml +207 -0
  32. data/spec/cassettes/reddit-post.yml +174 -0
  33. data/spec/cassettes/reddit.yml +183 -0
  34. data/spec/cassettes/result-container-test.yml +97 -0
  35. data/spec/cassettes/search-multi.yml +1211 -0
  36. data/spec/cassettes/search.yml +598 -0
  37. data/spec/cassettes/soundcloud-valid.yml +682 -0
  38. data/spec/cassettes/twitter.yml +64 -0
  39. data/spec/cassettes/unknown-reddit-post.yml +68 -0
  40. data/spec/facebook_spec.rb +23 -0
  41. data/spec/github_spec.rb +39 -0
  42. data/spec/google_plus_spec.rb +27 -0
  43. data/spec/medium_spec.rb +47 -0
  44. data/spec/pinterest_spec.rb +27 -0
  45. data/spec/reddit_comment_spec.rb +60 -0
  46. data/spec/reddit_post_spec.rb +64 -0
  47. data/spec/reddit_spec.rb +89 -0
  48. data/spec/results_container_spec.rb +61 -0
  49. data/spec/search_spec.rb +79 -0
  50. data/spec/soundcloud_spec.rb +66 -0
  51. data/spec/spec_helper.rb +95 -0
  52. data/spec/twitter_spec.rb +19 -0
  53. data/test/facebook_test.rb +28 -0
  54. data/test/fixtures/vcr_cassettes/facebook.yml +50 -0
  55. data/test/fixtures/vcr_cassettes/google.yml +425 -0
  56. data/test/helper.rb +34 -0
  57. data/test/test_non_specific.rb +27 -0
  58. data/test/test_twitter.rb +28 -0
  59. metadata +242 -0
@@ -0,0 +1,21 @@
1
+ module Popularity
2
+ class Twitter < Crawler
3
+ def tweets
4
+ response_json['count'].to_i if has_response?
5
+ end
6
+
7
+ def total
8
+ tweets
9
+ end
10
+
11
+ def as_json(options = {})
12
+ {"tweets" => tweets}
13
+ end
14
+
15
+ protected
16
+
17
+ def request_url
18
+ "https://cdn.api.twitter.com/1/urls/count.json?url=#{@url}"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,124 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: popularity 0.0.1 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "popularity"
9
+ s.version = "0.0.1"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Jeff Keen"]
14
+ s.date = "2015-04-09"
15
+ s.description = ""
16
+ s.email = "jeff@keen.me"
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.rdoc"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".rspec",
24
+ "Gemfile",
25
+ "Gemfile.lock",
26
+ "LICENSE.txt",
27
+ "README.rdoc",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "lib/.DS_Store",
31
+ "lib/popularity.rb",
32
+ "lib/popularity/crawler.rb",
33
+ "lib/popularity/facebook.rb",
34
+ "lib/popularity/github.rb",
35
+ "lib/popularity/google_plus.rb",
36
+ "lib/popularity/medium.rb",
37
+ "lib/popularity/pinterest.rb",
38
+ "lib/popularity/reddit_comment.rb",
39
+ "lib/popularity/reddit_post.rb",
40
+ "lib/popularity/reddit_share.rb",
41
+ "lib/popularity/results_container.rb",
42
+ "lib/popularity/search.rb",
43
+ "lib/popularity/soundcloud.rb",
44
+ "lib/popularity/twitter.rb",
45
+ "popularity.gemspec",
46
+ "spec/cassettes/facebook.yml",
47
+ "spec/cassettes/github-valid.yml",
48
+ "spec/cassettes/google_plus.yml",
49
+ "spec/cassettes/medium-valid.yml",
50
+ "spec/cassettes/pinterest.yml",
51
+ "spec/cassettes/reddit-comment.yml",
52
+ "spec/cassettes/reddit-post.yml",
53
+ "spec/cassettes/reddit.yml",
54
+ "spec/cassettes/result-container-test.yml",
55
+ "spec/cassettes/search-multi.yml",
56
+ "spec/cassettes/search.yml",
57
+ "spec/cassettes/soundcloud-valid.yml",
58
+ "spec/cassettes/twitter.yml",
59
+ "spec/cassettes/unknown-reddit-post.yml",
60
+ "spec/facebook_spec.rb",
61
+ "spec/github_spec.rb",
62
+ "spec/google_plus_spec.rb",
63
+ "spec/medium_spec.rb",
64
+ "spec/pinterest_spec.rb",
65
+ "spec/reddit_comment_spec.rb",
66
+ "spec/reddit_post_spec.rb",
67
+ "spec/reddit_spec.rb",
68
+ "spec/results_container_spec.rb",
69
+ "spec/search_spec.rb",
70
+ "spec/soundcloud_spec.rb",
71
+ "spec/spec_helper.rb",
72
+ "spec/twitter_spec.rb",
73
+ "test/facebook_test.rb",
74
+ "test/fixtures/vcr_cassettes/facebook.yml",
75
+ "test/fixtures/vcr_cassettes/google.yml",
76
+ "test/helper.rb",
77
+ "test/test_non_specific.rb",
78
+ "test/test_twitter.rb"
79
+ ]
80
+ s.homepage = "http://github.com/jkeen/popularity"
81
+ s.licenses = ["MIT"]
82
+ s.rubygems_version = "2.2.2"
83
+ s.summary = "Popularity searches social networks for urls and returns the metrics.L"
84
+
85
+ if s.respond_to? :specification_version then
86
+ s.specification_version = 4
87
+
88
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
89
+ s.add_runtime_dependency(%q<open_uri_redirections>, ["~> 0"])
90
+ s.add_runtime_dependency(%q<json>, ["~> 1.8"])
91
+ s.add_runtime_dependency(%q<unirest>, ["~> 1"])
92
+ s.add_development_dependency(%q<pry>, ["~> 0.10"])
93
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
94
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
95
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
96
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
97
+ s.add_development_dependency(%q<simplecov>, ["~> 0"])
98
+ s.add_development_dependency(%q<awesome_print>, ["~> 1.6"])
99
+ else
100
+ s.add_dependency(%q<open_uri_redirections>, ["~> 0"])
101
+ s.add_dependency(%q<json>, ["~> 1.8"])
102
+ s.add_dependency(%q<unirest>, ["~> 1"])
103
+ s.add_dependency(%q<pry>, ["~> 0.10"])
104
+ s.add_dependency(%q<shoulda>, [">= 0"])
105
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
106
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
107
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
108
+ s.add_dependency(%q<simplecov>, ["~> 0"])
109
+ s.add_dependency(%q<awesome_print>, ["~> 1.6"])
110
+ end
111
+ else
112
+ s.add_dependency(%q<open_uri_redirections>, ["~> 0"])
113
+ s.add_dependency(%q<json>, ["~> 1.8"])
114
+ s.add_dependency(%q<unirest>, ["~> 1"])
115
+ s.add_dependency(%q<pry>, ["~> 0.10"])
116
+ s.add_dependency(%q<shoulda>, [">= 0"])
117
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
118
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
119
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
120
+ s.add_dependency(%q<simplecov>, ["~> 0"])
121
+ s.add_dependency(%q<awesome_print>, ["~> 1.6"])
122
+ end
123
+ end
124
+
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://graph.facebook.com/?id=http://google.com
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip
14
+ User-Agent:
15
+ - unirest-ruby/1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=UTF-8
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ X-Fb-Rev:
26
+ - '1682606'
27
+ Etag:
28
+ - '"21a2271551d3f5b883ac6f5c01c88dfc2bab0317"'
29
+ Pragma:
30
+ - no-cache
31
+ Cache-Control:
32
+ - private, no-cache, no-store, must-revalidate
33
+ Facebook-Api-Version:
34
+ - v1.0
35
+ Expires:
36
+ - Sat, 01 Jan 2000 00:00:00 GMT
37
+ X-Fb-Debug:
38
+ - q5c+k+7xe+kr02MAwgQmeaCotPPrjW7f7i0p/LiI8XM42mxDwaZ9XiOgNwIYgOR5xHz0Hv0RfFIRznmtVLBwXQ==
39
+ Date:
40
+ - Thu, 09 Apr 2015 17:30:21 GMT
41
+ Connection:
42
+ - keep-alive
43
+ Content-Length:
44
+ - '63'
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"id":"http:\/\/google.com","shares":12085903,"comments":10121}'
48
+ http_version:
49
+ recorded_at: Thu, 09 Apr 2015 17:30:21 GMT
50
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,105 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.github.com/repos/jkeen/tracking_number/stargazers
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip
14
+ User-Agent:
15
+ - unirest-ruby/1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - GitHub.com
23
+ Date:
24
+ - Thu, 09 Apr 2015 17:30:21 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Status:
30
+ - 200 OK
31
+ X-Ratelimit-Limit:
32
+ - '60'
33
+ X-Ratelimit-Remaining:
34
+ - '59'
35
+ X-Ratelimit-Reset:
36
+ - '1428604221'
37
+ Cache-Control:
38
+ - public, max-age=60, s-maxage=60
39
+ Etag:
40
+ - W/"507d3bb8ef40c3d1a7379fb5e0554248"
41
+ Vary:
42
+ - Accept
43
+ - Accept-Encoding
44
+ X-Github-Media-Type:
45
+ - github.v3
46
+ X-Xss-Protection:
47
+ - 1; mode=block
48
+ X-Frame-Options:
49
+ - deny
50
+ Content-Security-Policy:
51
+ - default-src 'none'
52
+ Access-Control-Allow-Credentials:
53
+ - 'true'
54
+ Access-Control-Expose-Headers:
55
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
56
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
57
+ Access-Control-Allow-Origin:
58
+ - "*"
59
+ X-Github-Request-Id:
60
+ - 42444720:2DE4:4D0003:5526B72D
61
+ Strict-Transport-Security:
62
+ - max-age=31536000; includeSubdomains; preload
63
+ X-Content-Type-Options:
64
+ - nosniff
65
+ X-Served-By:
66
+ - b0ef53392caa42315c6206737946d931
67
+ Content-Encoding:
68
+ - gzip
69
+ body:
70
+ encoding: ASCII-8BIT
71
+ string: !binary |-
72
+ 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
103
+ http_version:
104
+ recorded_at: Thu, 09 Apr 2015 17:30:21 GMT
105
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,89 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://plusone.google.com/_/+1/fastbutton?url=http://google.com
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip
14
+ User-Agent:
15
+ - unirest-ruby/1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - text/html; charset=utf-8
23
+ X-Ua-Compatible:
24
+ - IE=edge, chrome=1
25
+ Vary:
26
+ - Accept-Encoding
27
+ Timing-Allow-Origin:
28
+ - "*"
29
+ Cache-Control:
30
+ - no-cache, no-store, max-age=0, must-revalidate
31
+ Pragma:
32
+ - no-cache
33
+ Expires:
34
+ - Fri, 01 Jan 1990 00:00:00 GMT
35
+ Date:
36
+ - Thu, 09 Apr 2015 17:30:21 GMT
37
+ Set-Cookie:
38
+ - NID=67=QeEL0XKGQi3nYm6222F8n4BuWClQ0YQzXi1MSWaPwoz9u1emSzhNVxdWS7LnU8unkSvgdSPckvOlAe7RVxok8DPqiB97ymv0SRbAImsCAtGkdSyS6azH9Yc4JxHXgUY7;Domain=.google.com;Path=/;Expires=Fri,
39
+ 09-Oct-2015 17:30:21 GMT;HttpOnly
40
+ P3p:
41
+ - CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657
42
+ for more info."
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ Server:
48
+ - GSE
49
+ Alternate-Protocol:
50
+ - 443:quic,p=0.5
51
+ Accept-Ranges:
52
+ - none
53
+ Transfer-Encoding:
54
+ - chunked
55
+ body:
56
+ encoding: UTF-8
57
+ string: |-
58
+ <!DOCTYPE html><html lang="en" dir="ltr"><head><base href="https://plusone.google.com/wm/1/"><style>body {-webkit-font-smoothing: antialiased;}@font-face {
59
+ font-family: 'Roboto';
60
+ font-style: normal;
61
+ font-weight: 400;
62
+ src: url(//fonts.gstatic.com/s/roboto/v15/W5F8_SL0XFawnjxHGsZjJA.ttf) format('truetype');
63
+ }
64
+ </style><link rel="stylesheet" href="/_/scs/apps-static/_/ss/k=oz.plusone.1gqu2bwggaja0.L.X.O/d=0/rs=AGLTcCPuKn23za2sQkdpg8dg1DC0KN0O8w"><script>function __sp() {try {var params = {};params['height'] = 24.0 ;params['width'] = 106.0 ;params['title'] = '+1';} catch (e) {return null}return params;}var _F_jsUrl = "\/_\/scs\/apps-static\/_\/js\/k\x3doz.plusone.en_US.PH2K4T6R8Xw.O\/m\x3dp1b,p1p\/rt\x3dj\/d\x3d1\/t\x3dzcms\/rs\x3dAGLTcCPutGWkp0nc2HeI_31uRDWtZjPi3A";var gapi=window.gapi=window.gapi||{};(function() { var f=function(a,c){var d=a.match(new RegExp(".*(\\?|#|&)"+c+"=([^&#]+)"))||[];return decodeURIComponent(d[d.length-1]||"")},r=function(a,c){g(l(),a,c)},t=function(a,c){g(!0,a,c)},g=function(a,c,d){function u(b){if(!b.match(/^https?\:\/\//))return"";var a=m.createElement("a");a.href=b;a.pathname=a.search=a.hash="";return a.href.replace(/\/\??\#?$/,"")}function n(){a?(e.s=p+"/"+h+":"+p+":"+e.s,e.g=!1,d&&(e.a=d.slice(1)),b.parent.postMessage("!_"+b.JSON.stringify(e),q||"*")):b.parent.postMessage(b.JSON.stringify(e),
65
+ q||"*")}var b=window,m=b.document;if(b.postMessage&&b.JSON&&b.JSON.stringify&&b!=b.parent){var h=b.name,k=b.location.href,q=u(f(k,"parent")),p=f(k,"pfname"),e={s:c,f:h,r:h,t:f(k,"rpctoken"),a:d||[""],g:"ping"};m.all?b.setTimeout(n,0):n()}},v=function(a,c){g(!1,"widget-csi-tick-"+window.name,[a,null,c])},l=function(a){var c=window;return"1"===f(a||c.location.href,"usegapi")};window.gapi.inline=window.gapi.inline||{ping:r,tick:v,shouldUseGapi:l,pingGapi:t}; })();
66
+ var sentRenderStart = false; function gapi_sendRenderStart() {if (sentRenderStart) {return}sentRenderStart = true; var sz = __sp(); if (sz) {gapi.inline.ping('_renderstart', ['', sz]);}}document.createElement('content');</script><script>var AF_initDataKeys = []
67
+ ; var AF_dataServiceRequests = {}; var AF_initDataChunkQueue = []; var AF_initDataCallback; var AF_initDataInitializeCallback; if (AF_initDataInitializeCallback) {AF_initDataInitializeCallback(AF_initDataKeys, AF_initDataChunkQueue, AF_dataServiceRequests);}if (!AF_initDataCallback) {AF_initDataCallback = function(chunk) {AF_initDataChunkQueue.push(chunk);};}</script></head><body class="kv8eNc "><div id="root"><script>var AF_initDataKeys = []
68
+ ; var AF_dataServiceRequests = {}; var AF_initDataChunkQueue = []; var AF_initDataCallback; var AF_initDataInitializeCallback; if (AF_initDataInitializeCallback) {AF_initDataInitializeCallback(AF_initDataKeys, AF_initDataChunkQueue, AF_dataServiceRequests);}if (!AF_initDataCallback) {AF_initDataCallback = function(chunk) {AF_initDataChunkQueue.push(chunk);};}</script><script type="text/javascript">window.__SSR = {c: 1.1180649E7 ,a:'bubble',at:'AEIZW7QwE5cnxOeQ3t\/\/06lCpgQru\/yC8boE4+YuERv\/PoOW3VIv9nZEAM8SINmRDd82COzpmE6clXs8pg+5sqXFGhiBaWP5t3KIl2ouzmMg6iIQ0wtG2PY\x3d',ld:[,[2,11180649,[]
69
+ ,1,106]
70
+ ]
71
+ ,s:'widget',annd: 2.0 ,bp: {}, id:'http:\/\/google.com\/'}; document.addEventListener && document.addEventListener('DOMContentLoaded', function () {gapi.inline.tick('wdc', new Date().getTime());}, false);</script><div id="plusone" dir="ltr" class="Jg" ><span id="widget_bounds"><div class="dIa"><div style="height:24px;width:38px;" class="FP HP Gib Ina " id="button" title="+1" role="button" tabindex="0"><div class="Ul"><div style="margin:0px 0px 0 0px;" class="s7"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" width="36px" height="22px" viewBox="-7 -4 36 22" class="u7 uzlpSb"><path d="m6.165,5.363c.438-.427 .478-1.019 .478-1.351 0-1.33-.821-3.397-2.407-3.397-.496,0-1.031,.239-1.337,.61-.325,.388-.42,.883-.42,1.358 0,1.236 .745,3.287 2.388,3.287 .476,.009 .991-.212 1.298-.507m-1.248,3.491c0,0-1.062,.092-1.865,.354-.419,.146-1.529,.535-1.529,1.854 0,1.312 1.318,2.252 3.362,2.252 1.833,0 2.809-.852 2.809-1.994 0-.938-.92-1.893-2.083-2.438-.219-.003-.694-.028-.694-.028zm2.426-7.942c.321,.381 .98,.987 .98,2.252 0,1.367-.804,2.014-1.604,2.623-.248,.239-.535,.498-.535,.905 0,.406 .287,.63 .496,.793l.688,.519c.841,.687 1.592,1.312 1.592,2.588 0,1.736-1.728,3.408-5.011,3.408-2.771,0-3.949-1.189-3.949-2.561 0-.666 .185-1.744 1.312-2.396 1.185-.695 2.536-.771 3.394-.814-.268-.333-.318-.575-.318-1.147 0-.313 .098-.5 .193-.723-.211,.02-.422,.037-.613,.037-2.024,0-3.171-1.459-3.171-2.898 0-.852 .403-1.793 1.223-2.477 1.089-.867 2.388-1.021 3.418-1.021h3.521l-.682,.904h-.937l.003,.008z"/><path d="m6.165,5.363c.438-.427 .478-1.019 .478-1.351 0-1.33-.821-3.397-2.407-3.397-.496,0-1.031,.239-1.337,.61-.325,.388-.42,.883-.42,1.358 0,1.236 .745,3.287 2.388,3.287 .476,.009 .991-.212 1.298-.507m-1.248,3.491c0,0-1.062,.092-1.865,.354-.419,.146-1.529,.535-1.529,1.854 0,1.312 1.318,2.252 3.362,2.252 1.833,0 2.809-.852 2.809-1.994 0-.938-.92-1.893-2.083-2.438-.219-.003-.694-.028-.694-.028zm2.426-7.942c.321,.381 .98,.987 .98,2.252 0,1.367-.804,2.014-1.604,2.623-.248,.239-.535,.498-.535,.905 0,.406 .287,.63 .496,.793l.688,.519c.841,.687 1.592,1.312 1.592,2.588 0,1.736-1.677,3.408-4.96,3.408-2.771,0-4-1.189-4-2.561 0-.666 .185-1.744 1.312-2.396 1.185-.695 2.536-.771 3.394-.814-.268-.333-.318-.575-.318-1.147 0-.313 .098-.5 .193-.723-.211,.02-.422,.037-.613,.037-2.024,0-3.171-1.459-3.171-2.898 0-.852 .403-1.793 1.223-2.477 1.089-.867 2.388-1.021 3.418-1.021h3.521l-.682,.904h-.937l.003,.008z"/><path d="M15,4h-2v2h-2v2h2v2h2V8h2V6h-2V4z M18.004,2v2h2v8h1.987L22,1L18.004,2z"/></svg><div class="xuwmvb xuwmvb-Dy7EIf"></div></div></div><div class="GP"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" width="22px" height="22px" viewBox="-1.5555555555555554 -1.5555555555555554 17.11111111111111 17.11111111111111" class="u7 u7 iva"><g id="Q0N8Vc" fill="#aaaaaa" transform="rotate(0,7,7)"><path class="zVaWQ" d="M5.5,1.5h3v4h4v3h-4v4h-3v-4h-4v-3h4z"></path></g></svg><div class="C9sAve C9sAve-Dy7EIf"></div></div><div class="q7"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" width="20px" height="22px" viewBox="0 -2 20 22" class="u7 u7 hva"><path fill="#DD4B39" d="m19.8059,16.041-8.74-15.404c-.223-.394-.635-.637-1.078-.637-.443,0-.855,.243-1.078,.637l-8.739,15.404c-.227,.396-.227,.9-.005,1.299 .223,.398 .637,.66 1.283,.66h17.279c.445,0 .859-.262 1.082-.66 .22-.399 .22-.902-.004-1.299zm-9.798-1.041c-.552,0-1-.463-1-1.02 0-.555 .448-1.002 1-1.002 .552,0 1,.447 1,1.002-.001,.557-.448,1.02-1,1.02zm.999-9-.375,5h-1.25l-.374-5h.004l-.004-.02c0-.551 .448-.996 1-.996 .552,0 1,.449 1,1-.001,.007-.004,.016-.004,.016h.003z"/></svg><div class="tapvDe tapvDe-Dy7EIf"></div></div></div></div><div class="ap"><div class="iQa HI"><div id="aggregateCount" class="Oy">11M</div></div></div></span></div><script type="text/javascript">window['__P1_XP'] = {"UC":true,"UCP":true,"UH":true};</script></div><script>window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window['__P1_BASEURL'] = 'https:\/\/plusone.google.com\/'; window['__P1_LOCALE'] = 'en_US'; var OZ_domReady = 1;
72
+ var _DumpException = function(e) {
73
+ e['errsource'] = e['errsource'] || 'api_widget';
74
+ throw e;
75
+ }
76
+ window['___jsl'] = window['___jsl'] || {}; window['___jsl']['ci'] = [{"client":{"headers":{"response":["Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-MD5","Content-Range","Content-Type","Date","ETag","Expires","Last-Modified","Location","Pragma","Range","Server","Transfer-Encoding","WWW-Authenticate","Vary","X-Goog-Safety-Content-Type","X-Goog-Safety-Encoding","X-Goog-Upload-Chunk-Granularity","X-Goog-Upload-Control-URL","X-Goog-Upload-Size-Received","X-Goog-Upload-Status","X-Goog-Upload-URL","X-Goog-Diff-Download-Range","X-Goog-Hash","X-Goog-Updated-Authorization","X-Server-Object-Version","X-Guploader-Customer","X-Guploader-Upload-Result","X-Guploader-Uploadid"],"request":["Accept","Accept-Language","Authorization","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-MD5","Content-Range","Content-Type","Date","GData-Version","Host","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","Origin","OriginToken","Pragma","Range","Slug","Transfer-Encoding","X-ClientDetails","X-GData-Client","X-GData-Key","X-Goog-AuthUser","X-Goog-PageId","X-Goog-Encode-Response-If-Executable","X-Goog-Correlation-Id","X-Goog-Request-Info","X-Goog-Experiments","x-goog-iam-role","x-goog-iam-authorization-token","X-Goog-Spatula","X-Goog-Upload-Command","X-Goog-Upload-Content-Disposition","X-Goog-Upload-Content-Length","X-Goog-Upload-Content-Type","X-Goog-Upload-File-Name","X-Goog-Upload-Offset","X-Goog-Upload-Protocol","X-Goog-Visitor-Id","X-HTTP-Method-Override","X-JavaScript-User-Agent","X-Pan-Versionid","X-Origin","X-Referer","X-Upload-Content-Length","X-Upload-Content-Type","X-Use-HTTP-Status-Code-Override","X-YouTube-VVT","X-YouTube-Page-CL","X-YouTube-Page-Timestamp"]},"rms":"migrated","cors":false},"llang":"en","plus_layer":"{\"isEnabled\":false}","enableMultilogin":true,"disableRealtimeCallback":false,"drive_share":{"useStandaloneSharingService":true},"isLoggedIn":false,"isPlusUser":false,"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?usegapi\u003d1"},"person":{"url":":socialhost:/:session_prefix:_/widget/render/person?usegapi\u003d1"},"visibility":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/visibility?usegapi\u003d1"},"photocomments":{"url":":socialhost:/:session_prefix:_/widget/render/photocomments?usegapi\u003d1"},"plus_followers":{"params":{"url":""},"url":":socialhost:/_/im/_/widget/render/plus/followers?usegapi\u003d1"},"playreview":{"url":"https://play.google.com/store/ereview?usegapi\u003d1"},"share":{"url":":socialhost:/:session_prefix::im_prefix:_/widget/render/share?usegapi\u003d1"},"signin":{"methods":["onauth"],"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/signin?usegapi\u003d1"},"commentcount":{"url":":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi\u003d1"},"page":{"url":":socialhost:/:session_prefix:_/widget/render/page?usegapi\u003d1"},"plus_circle":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/plus/circle?usegapi\u003d1"},"hangout":{"url":"https://talkgadget.google.com/:session_prefix:talkgadget/_/widget"},"youtube":{"methods":["scroll","openwindow"],"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/youtube?usegapi\u003d1"},"evwidget":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/events/widget?usegapi\u003d1"},"card":{"url":":socialhost:/:session_prefix:_/hovercard/card"},"zoomableimage":{"url":"https://ssl.gstatic.com/microscope/embed/"},"reportabuse":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/reportabuse?usegapi\u003d1"},"follow":{"url":":socialhost:/:session_prefix:_/widget/render/follow?usegapi\u003d1"},"shortlists":{"url":""},"plus":{"url":":socialhost:/:session_prefix:_/widget/render/badge?usegapi\u003d1"},"post":{"params":{"url":""},"url":":socialhost:/:session_prefix::im_prefix:_/widget/render/post?usegapi\u003d1"},":socialhost:":"https://apis.google.com","configurator":{"url":":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi\u003d1"},"community":{"url":":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi\u003d1"},"rbr_s":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/render/recobarsimplescroller"},":gplus_url:":"https://plus.google.com","autocomplete":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/autocomplete"},"plus_share":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/+1/sharebutton?plusShare\u003dtrue\u0026usegapi\u003d1"},":source:":"3p","blogger":{"methods":["scroll","openwindow"],"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/blogger?usegapi\u003d1"},"rbr_i":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/render/recobarinvitation"},"savetowallet":{"url":"https://clients5.google.com/s2w/o/savetowallet"},"appcirclepicker":{"url":":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},"udc_webconsentflow":{"params":{"url":""},"url":"https://www.google.com/settings/webconsent?usegapi\u003d1"},":im_socialhost:":"https://plus.googleapis.com","savetodrive":{"methods":["save"],"url":"https://drive.google.com/savetodrivebutton?usegapi\u003d1"},":signuphost:":"https://plus.google.com","ytshare":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/ytshare?usegapi\u003d1"},"plusone":{"params":{"count":"","url":"","size":""},"url":":socialhost:/:session_prefix::se:_/+1/fastbutton?usegapi\u003d1"},"comments":{"methods":["scroll","openwindow"],"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/comments?usegapi\u003d1"},"ytsubscribe":{"url":"https://www.youtube.com/subscribe_embed?usegapi\u003d1"}},"debug":{"host":"https://apis.google.com","forceIm":false,"reportExceptionRate":0.05,"rethrowException":false},"deviceType":"desktop","lexps":[100,81,97,127,124,79,122,61,30,45],"inline":{"css":1},"report":{"apiRate":{"gapi\\.signin\\..*":0.05},"rate":0.001,"host":"https://apis.google.com","apis":["iframes\\..*","gadgets\\..*","gapi\\.appcirclepicker\\..*","gapi\\.auth\\..*","gapi\\.client\\..*"]},"oauth-flow":{"disableOpt":true,"usegapi":false,"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay","idpIframeUrl":"https://accounts.google.com/o/oauth2/iframe"},"include_granted_scopes":true,"csi":{"rate":0.01},"googleapis.config":{"auth":{"useFirstPartyAuthV2":false}}}];</script><script>(function(){var gapi=window.gapi=window.gapi||{};gapi._bs=new Date().getTime();(function(){var g=encodeURIComponent,h=window,k=decodeURIComponent,n="shift",p="replace",q="split",t="push",u="test",w="length",x="join";var D=h,E=document,aa=D.location,ba=function(){},ca=/\[native code\]/,F=function(a,b,c){return a[b]=a[b]||c},da=function(a){for(var b=0;b<this[w];b++)if(this[b]===a)return b;return-1},ea=function(a){a=a.sort();for(var b=[],c=void 0,d=0;d<a[w];d++){var e=a[d];e!=c&&b[t](e);c=e}return b},H=function(){var a;if((a=Object.create)&&ca[u](a))a=a(null);else{a={};for(var b in a)a[b]=void 0}return a},I=F(D,"gapi",{});var J;J=F(D,"___jsl",H());F(J,"I",0);F(J,"hel",10);var K=function(){var a=aa.href,b;if(J.dpo)b=J.h;else{b=J.h;var c=RegExp("([#].*&|[#])jsh=([^&#]*)","g"),d=RegExp("([?#].*&|[?#])jsh=([^&#]*)","g");if(a=a&&(c.exec(a)||d.exec(a)))try{b=k(a[2])}catch(e){}}return b},fa=function(a){var b=F(J,"PQ",[]);J.PQ=[];var c=b[w];if(0===c)a();else for(var d=0,e=function(){++d===c&&a()},f=0;f<c;f++)b[f](e)},L=function(a){return F(F(J,"H",H()),a,H())};var M=F(J,"perf",H()),N=F(M,"g",H()),ga=F(M,"i",H());F(M,"r",[]);H();H();var P=function(a,b,c){var d=M.r;"function"===typeof d?d(a,b,c):d[t]([a,b,c])},R=function(a,b,c){b&&0<b[w]&&(b=Q(b),c&&0<c[w]&&(b+="___"+Q(c)),28<b[w]&&(b=b.substr(0,28)+(b[w]-28)),c=b,b=F(ga,"_p",H()),F(b,c,H())[a]=(new Date).getTime(),P(a,"_p",c))},Q=function(a){return a[x]("__")[p](/\./g,"_")[p](/\-/g,"_")[p](/\,/g,"_")};var S=H(),T=[],U=function(a){throw Error("Bad hint"+(a?": "+a:""));};T[t](["jsl",function(a){for(var b in a)if(Object.prototype.hasOwnProperty.call(a,b)){var c=a[b];"object"==typeof c?J[b]=F(J,b,[]).concat(c):F(J,b,c)}if(b=a.u)a=F(J,"us",[]),a[t](b),(b=/^https:(.*)$/.exec(b))&&a[t]("http:"+b[1])}]);var ha=/^(\/[a-zA-Z0-9_\-]+)+$/,ia=/^[a-zA-Z0-9\-_\.,!]+$/,ja=/^gapi\.loaded_[0-9]+$/,ka=/^[a-zA-Z0-9,._-]+$/,oa=function(a,b,c,d){var e=a[q](";"),f=e[n](),m=S[f],l=null;m?l=m(e,b,c,d):U("no hint processor for: "+f);l||U("failed to generate load url");b=l;c=b.match(la);(d=b.match(ma))&&1===d[w]&&na[u](b)&&c&&1===c[w]||U("failed sanity: "+a);return l},qa=function(a,b,c,d){a=pa(a);ja[u](c)||U("invalid_callback");b=V(b);d=d&&d[w]?V(d):null;var e=function(a){return g(a)[p](/%2C/g,",")};return[g(a.e)[p](/%2C/g,
77
+ ",")[p](/%2F/g,"/"),"/k=",e(a.version),"/m=",e(b),d?"/exm="+e(d):"","/rt=j/sv=1/d=1/ed=1",a.a?"/am="+e(a.a):"",a.c?"/rs="+e(a.c):"",a.d?"/t="+e(a.d):"","/cb=",e(c)][x]("")},pa=function(a){"/"!==a.charAt(0)&&U("relative path");for(var b=a.substring(1)[q]("/"),c=[];b[w];){a=b[n]();if(!a[w]||0==a.indexOf("."))U("empty/relative directory");else if(0<a.indexOf("=")){b.unshift(a);break}c[t](a)}a={};for(var d=0,e=b[w];d<e;++d){var f=b[d][q]("="),m=k(f[0]),l=k(f[1]);2==f[w]&&m&&l&&(a[m]=a[m]||l)}b="/"+c[x]("/");
78
+ ha[u](b)||U("invalid_prefix");c=W(a,"k",!0);d=W(a,"am");e=W(a,"rs");a=W(a,"t");return{e:b,version:c,a:d,c:e,d:a}},V=function(a){for(var b=[],c=0,d=a[w];c<d;++c){var e=a[c][p](/\./g,"_")[p](/-/g,"_");ka[u](e)&&b[t](e)}return b[x](",")},W=function(a,b,c){a=a[b];!a&&c&&U("missing: "+b);if(a){if(ia[u](a))return a;U("invalid: "+b)}return null},na=/^https?:\/\/[a-z0-9_.-]+\.google\.com(:\d+)?\/[a-zA-Z0-9_.,!=\-\/]+$/,ma=/\/cb=/g,la=/\/\//g,ra=/^\/[a-z_]+\//,sa=function(){var a=K();if(!a)throw Error("Bad hint");
79
+ return a};S.m=function(a,b,c,d){(a=a[0])||U("missing_hint");return"https://apis.google.com"+qa(a,b,c,d)};var X=decodeURI("%73cript"),Y=function(a,b){for(var c=[],d=0;d<a[w];++d){var e=a[d];e&&0>da.call(b,e)&&c[t](e)}return c},ta=function(a){"loading"!=E.readyState?Z(a):E.write("<"+X+' src="'+encodeURI(a)+'"></'+X+">")},Z=function(a){ua(a)},ua=function(a){var b=E.createElement(X);b.setAttribute("src",a);b.async="true";(a=E.getElementsByTagName(X)[0])?a.parentNode.insertBefore(b,a):(E.head||E.body||E.documentElement).appendChild(b)},va=function(a,b){var c=b&&b._c;if(c)for(var d=0;d<T[w];d++){var e=T[d][0],
80
+ f=T[d][1];f&&Object.prototype.hasOwnProperty.call(c,e)&&f(c[e],a,b)}},xa=function(a,b){wa(function(){var c;c=b===K()?F(I,"_",H()):H();c=F(L(b),"_",c);a(c)})},za=function(a,b){var c=b||{};"function"==typeof b&&(c={},c.callback=b);va(a,c);var d=a?a[q](":"):[],e=c.h||sa(),f=F(J,"ah",H());if(f["::"]&&d[w]){for(var m=[],l=null;l=d[n]();){var r=l[q]("."),r=f[l]||f[r[1]&&"ns:"+r[0]||""]||e,y=m[w]&&m[m[w]-1]||null,B=y;y&&y.hint==r||(B={hint:r,b:[]},m[t](B));B.b[t](l)}var C=m[w];if(1<C){var G=c.callback;G&&
81
+ (c.callback=function(){0==--C&&G()})}for(;d=m[n]();)ya(d.b,c,d.hint)}else ya(d||[],c,e)},ya=function(a,b,c){a=ea(a)||[];var d=b.callback,e=b.config,f=b.timeout,m=b.ontimeout,l=null,r=!1;if(f&&!m||!f&&m)throw"Timeout requires both the timeout parameter and ontimeout parameter to be set";var y=F(L(c),"r",[]).sort(),B=F(L(c),"L",[]).sort(),C=[].concat(y),G=function(a,b){if(r)return 0;D.clearTimeout(l);B[t].apply(B,v);var d=((I||{}).config||{}).update;d?d(e):e&&F(J,"cu",[])[t](e);if(b){R("me0",a,C);try{xa(b,
82
+ c)}finally{R("me1",a,C)}}return 1};0<f&&(l=D.setTimeout(function(){r=!0;m()},f));var v=Y(a,B);if(v[w]){var v=Y(a,y),z=F(J,"CP",[]),A=z[w];z[A]=function(a){if(!a)return 0;R("ml1",v,C);var b=function(b){z[A]=null;G(v,a)&&fa(function(){d&&d();b()})},c=function(){var a=z[A+1];a&&a()};0<A&&z[A-1]?z[A]=function(){b(c)}:b(c)};if(v[w]){var O="loaded_"+J.I++;I[O]=function(a){z[A](a);I[O]=null};a=oa(c,v,"gapi."+O,y);y[t].apply(y,v);R("ml0",v,C);b.sync||D.___gapisync?ta(a):Z(a,b,O)}else z[A](ba)}else G(v)&&
83
+ d&&d()};var wa=function(a){if(J.hee&&0<J.hel)try{return a()}catch(b){J.hel--,za("debug_error",function(){try{h.___jsl.hefn(b)}catch(a){throw b;}})}else return a()};I.load=function(a,b){return wa(function(){return za(a,b)})};var Aa=/^(\/\* JS \*\/ ){0,1}gapi.loaded_\d+\(/,Ba=function(a,b,c,d){(d=d.before_eval_cb)&&d();D.execScript?D.execScript(b,"JavaScript"):c?a.eval(b):(a=a.document,c=a.createElement("script"),c.defer=!1,c.appendChild(a.createTextNode(b)),a.body.appendChild(c),a.body.removeChild(c))},Ca=function(a,b,c,d){var e=D.XMLHttpRequest;a=a[p](/^https?:\/\/[^\/]+\//,"/");if(!ra[u](a))throw"Bad URL "+a;var f=new e;f.open("GET",a,!0);f.onreadystatechange=function(){if(4===f.readyState)if(200===f.status){var e=
84
+ f.responseText,l=b.src_cb;l&&l();var r=!1;h.GAPI_EVAL&&(e+="\n//@ sourceURL="+encodeURI(a),r=!0);l=function(){if(Aa[u](e))Ba(D,e,r,b);else I[c](function(){Ba(this,e,r,b)})};d?d(l):l()}else throw"Error requesting "+a+": "+f.statusText+"\nCurrent location: "+location.href;};f.send(null)};var Da="mousemove mouseover mousedown click touchstart keydown focus resize".split(" "),Ea=["onmouseover","onmousedown","onkeydown","onfocusin"],Fa=function(){if(F(J,"LI",!1))return!0;J.LI=!0;return!1},Ga=0,Ha=function(){J.LE=!0;for(var a=J.LQ,b=0;a&&b<a[w];b++)(0,a[b])();J.LQ=null},Ia=function(){function a(a){for(var d=0;d<Da[w];d++)D[a+"EventListener"](Da[d],b,!0)}if(!Fa()){var b=function(b){"resize"==b.type&&2>++Ga||(a("remove"),Ha())};a("add")}},Ja=function(){function a(a){for(var d=0;d<Ea[w];d++)E[a+
85
+ "Event"](Ea[d],b)}if(!Fa()){var b=function(b){if(!("resize"==b.type&&2>++Ga)){a("detach");var d=E.createEventObject(b);Ha();d.srcElement.fireEvent("on"+d.type,d);b.cancelBubble=!0;b.stopPropagation&&b.stopPropagation()}};a("attach")}},Z=function(a,b,c){var d=!0;D.XMLHttpRequest&&!/\/widget\//[u](a)&&D.JSON?D.addEventListener?Ia():E.attachEvent&&E.createEventObject?Ja():d=!1:d=!1;d?Ca(a,b,c,function(a){J.LE?a():F(J,"LQ",[])[t](a)}):ua(a)};N.bs0=h.gapi._bs||(new Date).getTime();P("bs0");N.bs1=(new Date).getTime();P("bs1");delete h.gapi._bs;})();
86
+ gapi.load("",{callback:window["gapi_onload"],_c:{"jsl":{"ci":{"llang":"en","client":{"headers":{"response":["Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-MD5","Content-Range","Content-Type","Date","ETag","Expires","Last-Modified","Location","Pragma","Range","Server","Transfer-Encoding","WWW-Authenticate","Vary","X-Goog-Safety-Content-Type","X-Goog-Safety-Encoding","X-Goog-Upload-Chunk-Granularity","X-Goog-Upload-Control-URL","X-Goog-Upload-Size-Received","X-Goog-Upload-Status","X-Goog-Upload-URL","X-Goog-Diff-Download-Range","X-Goog-Hash","X-Goog-Updated-Authorization","X-Server-Object-Version","X-Guploader-Customer","X-Guploader-Upload-Result","X-Guploader-Uploadid"],"request":["Accept","Accept-Language","Authorization","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-MD5","Content-Range","Content-Type","Date","GData-Version","Host","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","Origin","OriginToken","Pragma","Range","Slug","Transfer-Encoding","X-ClientDetails","X-GData-Client","X-GData-Key","X-Goog-AuthUser","X-Goog-PageId","X-Goog-Encode-Response-If-Executable","X-Goog-Correlation-Id","X-Goog-Request-Info","X-Goog-Experiments","x-goog-iam-role","x-goog-iam-authorization-token","X-Goog-Spatula","X-Goog-Upload-Command","X-Goog-Upload-Content-Disposition","X-Goog-Upload-Content-Length","X-Goog-Upload-Content-Type","X-Goog-Upload-File-Name","X-Goog-Upload-Offset","X-Goog-Upload-Protocol","X-Goog-Visitor-Id","X-HTTP-Method-Override","X-JavaScript-User-Agent","X-Pan-Versionid","X-Origin","X-Referer","X-Upload-Content-Length","X-Upload-Content-Type","X-Use-HTTP-Status-Code-Override","X-YouTube-VVT","X-YouTube-Page-CL","X-YouTube-Page-Timestamp"]},"rms":"migrated","cors":false},"plus_layer":{"isEnabled":false},"enableMultilogin":true,"drive_share":{"useStandaloneSharingService":true},"disableRealtimeCallback":false,"isLoggedIn":false,"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?usegapi\u003d1"},"person":{"url":":socialhost:/:session_prefix:_/widget/render/person?usegapi\u003d1"},"visibility":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/visibility?usegapi\u003d1"},"photocomments":{"url":":socialhost:/:session_prefix:_/widget/render/photocomments?usegapi\u003d1"},"plus_followers":{"params":{"url":""},"url":":socialhost:/_/im/_/widget/render/plus/followers?usegapi\u003d1"},"playreview":{"url":"https://play.google.com/store/ereview?usegapi\u003d1"},"signin":{"methods":["onauth"],"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/signin?usegapi\u003d1"},"share":{"url":":socialhost:/:session_prefix::im_prefix:_/widget/render/share?usegapi\u003d1"},"commentcount":{"url":":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi\u003d1"},"page":{"url":":socialhost:/:session_prefix:_/widget/render/page?usegapi\u003d1"},"hangout":{"url":"https://talkgadget.google.com/:session_prefix:talkgadget/_/widget"},"plus_circle":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/plus/circle?usegapi\u003d1"},"youtube":{"methods":["scroll","openwindow"],"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/youtube?usegapi\u003d1"},"zoomableimage":{"url":"https://ssl.gstatic.com/microscope/embed/"},"card":{"url":":socialhost:/:session_prefix:_/hovercard/card"},"evwidget":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/events/widget?usegapi\u003d1"},"reportabuse":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/reportabuse?usegapi\u003d1"},"follow":{"url":":socialhost:/:session_prefix:_/widget/render/follow?usegapi\u003d1"},"shortlists":{"url":""},"plus":{"url":":socialhost:/:session_prefix:_/widget/render/badge?usegapi\u003d1"},"configurator":{"url":":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi\u003d1"},":socialhost:":"https://apis.google.com","post":{"params":{"url":""},"url":":socialhost:/:session_prefix::im_prefix:_/widget/render/post?usegapi\u003d1"},"community":{"url":":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi\u003d1"},":gplus_url:":"https://plus.google.com","rbr_s":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/render/recobarsimplescroller"},"autocomplete":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/autocomplete"},"plus_share":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/+1/sharebutton?plusShare\u003dtrue\u0026usegapi\u003d1"},":source:":"3p","blogger":{"methods":["scroll","openwindow"],"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/blogger?usegapi\u003d1"},"savetowallet":{"url":"https://clients5.google.com/s2w/o/savetowallet"},"rbr_i":{"params":{"url":""},"url":":socialhost:/:session_prefix::se:_/widget/render/recobarinvitation"},"appcirclepicker":{"url":":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},"udc_webconsentflow":{"params":{"url":""},"url":"https://www.google.com/settings/webconsent?usegapi\u003d1"},"savetodrive":{"methods":["save"],"url":"https://drive.google.com/savetodrivebutton?usegapi\u003d1"},":im_socialhost:":"https://plus.googleapis.com","ytshare":{"params":{"url":""},"url":":socialhost:/:session_prefix:_/widget/render/ytshare?usegapi\u003d1"},":signuphost:":"https://plus.google.com","plusone":{"params":{"count":"","size":"","url":""},"url":":socialhost:/:session_prefix::se:_/+1/fastbutton?usegapi\u003d1"},"comments":{"methods":["scroll","openwindow"],"params":{"location":["search","hash"]},"url":":socialhost:/:session_prefix:_/widget/render/comments?usegapi\u003d1"},"ytsubscribe":{"url":"https://www.youtube.com/subscribe_embed?usegapi\u003d1"}},"isPlusUser":false,"debug":{"host":"https://apis.google.com","forceIm":false,"reportExceptionRate":0.05,"rethrowException":false},"deviceType":"desktop","inline":{"css":1},"lexps":[100,81,97,127,124,79,122,61,30,45],"include_granted_scopes":true,"oauth-flow":{"usegapi":false,"disableOpt":true,"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay","idpIframeUrl":"https://accounts.google.com/o/oauth2/iframe"},"report":{"apiRate":{"gapi\\.signin\\..*":0.05},"host":"https://apis.google.com","rate":0.001,"apis":["iframes\\..*","gadgets\\..*","gapi\\.appcirclepicker\\..*","gapi\\.auth\\..*","gapi\\.client\\..*"]},"csi":{"rate":0.01},"googleapis.config":{"auth":{"useFirstPartyAuthV2":false}}},"h":"m;/_/scs/apps-static/_/js/k\u003doz.gapi.en_US.rhF5yvMESo0.O/m\u003d__features__/am\u003dIQ/rt\u003dj/d\u003d1/t\u003dzcms/rs\u003dAGLTcCNgDOwdh5JDZNnuDpccRoxJFydRpg","u":"https://plusone.google.com/_/+1/fastbutton?url\u003dhttp://google.com","hee":true,"fp":"f7d8afe8ee25c3d31ffd7f208d75ad7e660f8ca1","dpo":false},"fp":"f7d8afe8ee25c3d31ffd7f208d75ad7e660f8ca1","annotation":["interactivepost","recobar","autocomplete","profile","signin2"],"bimodal":["signin","share"]}});var s = 'GAPI_INTERACTIVE'; window[s] = 'loading'; var c = 0; function cb() {if (++c == 2) {window[s] = 'interactive'; gapi.inline.ping('widget-interactive-' + window.name);}}gapi.load('googleapis.client,iframes-styles-bubble-internal,iframes', {'callback': function() {cb();var sw = window['__sw']; if (sw) {sw();}var sz = __sp(); if (sz) {iframes.ready(sz, {'canAutoClose': function() {var f = window['__CAN_AUTOCLOSE_BUBBLE']; return f ? f() : true;}, 'showSharebox': function() {var f = window['__SHOW_SHAREBOX']; return f ? f() : false;}});}}, 'src_cb': cb, 'before_eval_cb': function() {gapi.inline.tick('wje0', new Date().getTime());}});gapi.load('p1b,p1p', {'h': 'm;\/_\/scs\/apps-static\/_\/js\/k\x3doz.plusone.en_US.PH2K4T6R8Xw.O\/m\x3dp1b,p1p\/rt\x3dj\/d\x3d1\/t\x3dzcms\/rs\x3dAGLTcCPutGWkp0nc2HeI_31uRDWtZjPi3A','callback': function() {cb();gapi.inline.tick('wje1', new Date().getTime());}, 'src_cb': cb});})(); gapi_sendRenderStart();</script></body></html>
87
+ http_version:
88
+ recorded_at: Thu, 09 Apr 2015 17:30:21 GMT
89
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,110 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://medium.com/p/64ed463c02f0/upvotes
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip
14
+ User-Agent:
15
+ - unirest-ruby/1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Thu, 09 Apr 2015 17:30:21 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Content-Security-Policy:
32
+ - 'default-src ''self''; connect-src https://localhost https://fierce-escarpment-8017.herokuapp.com
33
+ https://*.instapaper.com https://getpocket.com https://medium.com:443 https://*.medium.com:443
34
+ https://medium.com https://*.medium.com https://*.algolia.io ''self''; font-src
35
+ data: https://*.amazonaws.com https://*.gstatic.com https://dnqgz544uhbo8.cloudfront.net
36
+ https://use.typekit.net ''self''; frame-src chromenull: https: webviewprogressproxy:
37
+ ''self''; img-src blob: data: https: ''self''; media-src https://*.cdn.vine.co
38
+ https://d1fcbxp97j4nb2.cloudfront.net https://gomiro.medium.com ''self'';
39
+ object-src ''self''; script-src ''unsafe-eval'' ''unsafe-inline'' about: https:
40
+ ''self''; style-src ''unsafe-inline'' data: https: ''self''; report-uri https://csp.medium.com'
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Ua-Compatible:
48
+ - IE=edge, Chrome=1
49
+ X-Powered-By:
50
+ - Kale
51
+ X-Obvious-Tid:
52
+ - 1428600621828:3a0865cdaf37
53
+ X-Obvious-Info:
54
+ - 15088-762523b,c5632d5
55
+ Link:
56
+ - <https://medium.com/humans.txt>; rel="humans"
57
+ Cache-Control:
58
+ - no-cache, no-store, max-age=0, must-revalidate
59
+ Expires:
60
+ - Thu, 09 Sep 1999 09:09:09 GMT
61
+ Pragma:
62
+ - no-cache
63
+ Set-Cookie:
64
+ - sid=1:qpfcm5EGZ/UBP+85q/0LVlMZBYzs7hIusc/QDwRJZ7ZHV47SeyYuxYTQjMFejscu; expires=Fri,
65
+ 08 Apr 2016 17:30:21 GMT; path=/; domain=.medium.com; secure; httponly
66
+ - uid=lo_8bb00171f97c; expires=Fri, 08 Apr 2016 17:30:21 GMT; path=/; domain=.medium.com;
67
+ secure; httponly
68
+ Strict-Transport-Security:
69
+ - max-age=15811200; includeSubDomains
70
+ Content-Encoding:
71
+ - gzip
72
+ body:
73
+ encoding: ASCII-8BIT
74
+ string: !binary |-
75
+ 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
108
+ http_version:
109
+ recorded_at: Thu, 09 Apr 2015 17:30:22 GMT
110
+ recorded_with: VCR 2.9.3