twingly-search 5.0.1 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -2
  3. data/CHANGELOG.md +16 -0
  4. data/README.md +33 -34
  5. data/Rakefile +0 -6
  6. data/examples/find_all_posts_mentioning_github.rb +3 -3
  7. data/examples/hello_world.rb +2 -2
  8. data/examples/livefeed_loop.rb +24 -0
  9. data/lib/twingly/livefeed/client.rb +121 -0
  10. data/lib/twingly/livefeed/error.rb +28 -0
  11. data/lib/twingly/livefeed/parser.rb +96 -0
  12. data/lib/twingly/livefeed/post.rb +66 -0
  13. data/lib/twingly/livefeed/result.rb +39 -0
  14. data/lib/twingly/livefeed/version.rb +5 -0
  15. data/lib/twingly/livefeed.rb +6 -0
  16. data/lib/twingly/search/client.rb +3 -2
  17. data/lib/twingly/search/error.rb +6 -5
  18. data/lib/twingly/search/parser.rb +39 -13
  19. data/lib/twingly/search/post.rb +65 -21
  20. data/lib/twingly/search/query.rb +46 -16
  21. data/lib/twingly/search/result.rb +11 -0
  22. data/lib/twingly/search/version.rb +1 -1
  23. data/spec/client_spec.rb +2 -2
  24. data/spec/error_spec.rb +27 -7
  25. data/spec/fixtures/incomplete_result.xml +2 -0
  26. data/spec/fixtures/livefeed/empty_api_key_result.xml +3 -0
  27. data/spec/fixtures/livefeed/non_xml_result.xml +1 -0
  28. data/spec/fixtures/livefeed/not_found_result.xml +3 -0
  29. data/spec/fixtures/livefeed/service_unavailable_result.xml +3 -0
  30. data/spec/fixtures/livefeed/unauthorized_api_key_result.xml +3 -0
  31. data/spec/fixtures/livefeed/valid_empty_result.xml +2 -0
  32. data/spec/fixtures/livefeed/valid_result.xml +79 -0
  33. data/spec/fixtures/minimal_valid_result.xml +81 -52
  34. data/spec/fixtures/nonexistent_api_key_result.xml +3 -3
  35. data/spec/fixtures/service_unavailable_result.xml +3 -3
  36. data/spec/fixtures/unauthorized_api_key_result.xml +3 -3
  37. data/spec/fixtures/undefined_error_result.xml +3 -3
  38. data/spec/fixtures/valid_empty_result.xml +2 -2
  39. data/spec/fixtures/valid_links_result.xml +36 -0
  40. data/spec/fixtures/vcr_cassettes/livefeed_valid_request.yml +169 -0
  41. data/spec/fixtures/vcr_cassettes/search_for_spotify_on_sv_blogs.yml +578 -447
  42. data/spec/fixtures/vcr_cassettes/search_without_valid_api_key.yml +15 -14
  43. data/spec/livefeed/client_spec.rb +135 -0
  44. data/spec/livefeed/error_spec.rb +51 -0
  45. data/spec/livefeed/parser_spec.rb +351 -0
  46. data/spec/livefeed/post_spec.rb +26 -0
  47. data/spec/livefeed/result_spec.rb +18 -0
  48. data/spec/parser_spec.rb +191 -94
  49. data/spec/post_spec.rb +25 -6
  50. data/spec/query_spec.rb +41 -34
  51. data/spec/result_spec.rb +1 -0
  52. data/spec/spec_helper.rb +10 -0
  53. data/twingly-search-api-ruby.gemspec +2 -3
  54. metadata +44 -24
  55. data/spec/fixtures/valid_non_blog_result.xml +0 -26
  56. data/spec/fixtures/valid_result.xml +0 -22975
@@ -1,52 +1,81 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <twinglydata numberOfMatchesReturned="1" secondsElapsed="0.148" numberOfMatchesTotal="1">
3
- <post contentType="blog">
4
- <url>http://oppogner.blogg.no/1409602010_bare_m_ha.html</url>
5
- <title><![CDATA[Bare MÅ ha!]]></title>
6
- <summary><![CDATA[Ja, velkommen til høsten ...]]></summary>
7
- <languageCode>no</languageCode>
8
- <published>2014-09-02 06:53:26Z</published>
9
- <indexed>2014-09-02 09:00:53Z</indexed>
10
- <blogUrl>http://oppogner.blogg.no/</blogUrl>
11
- <blogName><![CDATA[oppogner]]></blogName>
12
- <authority>1</authority>
13
- <blogRank>1</blogRank>
14
- <tags>
15
- <tag><![CDATA[Blogg]]></tag>
16
- </tags>
17
- </post><post contentType="blog">
18
- <url>http://www.skvallernytt.se/hardtraning-da-galler-swedish-house-mafia</url>
19
- <title><![CDATA[Hårdträning – då gäller Swedish House Mafia]]></title>
20
- <summary><![CDATA[Träning. Och Swedish House Mafia. Det verkar vara ett lyckat koncept. "Don't you worry child" och "Greyhound" är nämligen de två mest spelade träningslåtarna under januari 2013 på Spotify.
21
-
22
- Relaterade inlägg:
23
- Swedish House Mafia – ny låt!
24
- Ny knivattack på Swedish House Mafia-konsert
25
- Swedish House Mafia gör succé i USA]]></summary>
26
- <languageCode>sv</languageCode>
27
- <published>2013-01-29 15:21:56Z</published>
28
- <indexed>2013-01-29 15:22:52Z</indexed>
29
- <blogUrl>http://www.skvallernytt.se/</blogUrl>
30
- <blogName><![CDATA[Skvallernytt.se]]></blogName>
31
- <authority>38</authority>
32
- <blogRank>4</blogRank>
33
- <tags>
34
- <tag><![CDATA[Okategoriserat]]></tag>
35
- <tag><![CDATA[Träning]]></tag>
36
- <tag><![CDATA[greyhound]]></tag>
37
- <tag><![CDATA[koncept]]></tag>
38
- <tag><![CDATA[mafia]]></tag>
39
- </tags>
40
- </post><post contentType="blog">
41
- <url>http://didriksinspesielleverden.blogg.no/1359472349_justin_bieber.html</url>
42
- <title><![CDATA[Justin Bieber]]></title>
43
- <summary><![CDATA[OMG! Justin Bieber Believe acoustic albumet er nå ute på spotify. Han er helt super. Love him. Personlig liker jeg best beauty and a beat og as long as you love me, kommenter gjerne hva dere synes! <3 #sus YOLO]]></summary>
44
- <languageCode>no</languageCode>
45
- <published>2013-01-29 15:12:29Z</published>
46
- <indexed>2013-01-29 15:14:37Z</indexed>
47
- <blogUrl>http://didriksinspesielleverden.blogg.no/</blogUrl>
48
- <blogName><![CDATA[Didriksinspesielleverden]]></blogName>
49
- <authority>0</authority>
50
- <blogRank>1</blogRank>
51
- </post>
52
- </twinglydata>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <twinglydata numberOfMatchesReturned="3" secondsElapsed="0.369" numberOfMatchesTotal="3122050" incompleteResult="false">
3
+ <post>
4
+ <id>16405819479794412880</id>
5
+ <author>klivinihemligheten</author>
6
+ <url>http://nouw.com/klivinihemligheten/planering---men-dalig-30016048</url>
7
+ <title>Planering - men dålig</title>
8
+ <text>Det vart en förmiddag på boxen med en brud som jag lärt känna där. Körde en egen WOD, bland annat SDHP, shoulder press, HSPU - bland annat. Hade planerat dagen in i minsta detalj, insåg under passet att jag glömt leggings. Så - det var bara att sluta lite tidigare för att röra sig hemåt för dusch och lunch. Har alltså släpat med mig ryggsäcken med allt för dagen i onödan. Riktigt riktigt klantigt! Har nu en timma på mig att duscha och göra mig ordning för föreläsning, innan det är dags att dra igen. Och jag som skulle plugga innan</text>
9
+ <languageCode>sv</languageCode>
10
+ <locationCode>se</locationCode>
11
+ <coordinates />
12
+ <links />
13
+ <tags>
14
+ <tag>Ätas &amp; drickas</tag>
15
+ <tag>Universitet &amp; studentlivet</tag>
16
+ <tag>Träning</tag>
17
+ <tag>To to list</tag>
18
+ </tags>
19
+ <images />
20
+ <indexedAt>2017-05-04T06:51:23Z</indexedAt>
21
+ <publishedAt>2017-05-04T06:50:59Z</publishedAt>
22
+ <reindexedAt>2017-05-04T08:51:23Z</reindexedAt>
23
+ <inlinksCount>0</inlinksCount>
24
+ <blogId>5312283800049632348</blogId>
25
+ <blogName>Love life like a student</blogName>
26
+ <blogUrl>http://nouw.com/klivinihemligheten</blogUrl>
27
+ <blogRank>1</blogRank>
28
+ <authority>0</authority>
29
+ </post>
30
+ <post>
31
+ <id>4331268749726303987</id>
32
+ <author>berggrenjulia</author>
33
+ <url>http://nouw.com/berggrenjulia/sometimes-the-king-is-a-queen-30014929</url>
34
+ <title>Sometimes the king is a queen</title>
35
+ <text>Dress / Jumpsuit Hej kompisar! Jag satte ihop två söta plagg till er. Himla gölliga! Jag kan inte fatta att det är torsdag idag, det är ju helt sjukt. Vid lunch skall jag till läkaren och W följer med mig pga är så rädd för läkaren, får brutal ångest och tror att jag skall bli dödförklarad. Riktigt hypokondrisk blir man visst med åren. Usch! Känslan när man går därifrån gör dock att det känns värt det. I helgen funderar vi på att gå till Liseberg för det skall bli magiskt väder. Vilken tur för alla bal-peppade kompisar på Marstrand! Åh dom kommer ha det fantastiskt kul tror jag. För min egen del måste jag erkänna att jag för första gången just nu känner att det skall bli skönt att inte gå. Att få slippa hetsen runt omkring då jag blir lite stressad bara av att tänka på det. Har verkligen bromsat ner mitt fest-mode rejält och inte varit ute och klubbat på superlänge, är inte speciellt lockad alls. Det är alltid samma visa också, så man kan ju trösta sig med att man inte missar någonting. Hur ser eran helg ut? Puss!</text>
36
+ <languageCode>sv</languageCode>
37
+ <locationCode>se</locationCode>
38
+ <coordinates />
39
+ <links>
40
+ <link>http://www.mtpc.se/tags/link/1008098</link>
41
+ <link>http://www.mtpc.se/tags/link/1008099</link>
42
+ </links>
43
+ <tags>
44
+ <tag>Inspiration</tag>
45
+ <tag>Mode</tag>
46
+ <tag>Vardag</tag>
47
+ </tags>
48
+ <images />
49
+ <indexedAt>2017-05-04T06:51:23Z</indexedAt>
50
+ <publishedAt>2017-05-04T06:50:00Z</publishedAt>
51
+ <reindexedAt>2017-05-04T08:51:23Z</reindexedAt>
52
+ <inlinksCount>0</inlinksCount>
53
+ <blogId>9763611270004865418</blogId>
54
+ <blogName>berggrenjulia blogg</blogName>
55
+ <blogUrl>http://nouw.com/berggrenjulia</blogUrl>
56
+ <blogRank>1</blogRank>
57
+ <authority>5</authority>
58
+ </post>
59
+ <post>
60
+ <id>2770252465384762934</id>
61
+ <author>maartiinasvardag</author>
62
+ <url>http://nouw.com/maartiinasvardag/god-formiddag-30016041</url>
63
+ <title>God förmiddag! ☀️</title>
64
+ <text>Hmm.... Vad ska man börja ?? Jag vet inte riktigt vad min gnista till att blogga har tagit vägen. Jag har egentligen massor att skriva om, men ändå blir det inte av att jag gör det. Varför är det så? Någon som känner likadant. Kan berätta lite om förra helgen iaf, jag &amp; R åkte till Skövde en sväng på fredagen, det blev en hel dag där. Blev en hel del shoppande för oss båda, bilder kommer i ett annat inlägg, då jag sitter vid plattan i skrivandets stund. Lördagen var jag hemma med töserna medans R jobbade några timmar. Sen blev det bara en lugn kväll hemma. Söndagen så var det dags för mig att jobba, ett dygnspass. ✌️Var en lugn kväll på jobbet. På morgonen (måndag) så när jag kommer upp, yrvaken som man är innan första koppen kaffe är intagen. Möts jag av att en klient utbrister: Vad glad jag är av att se dig! Detta värmde mitt hjärta så oerhört mycket &amp; jag var på strålande humör hela dagen. ❤️ För då vet man att man gör ett bra jobb &amp; att man gör rätt för den enskilde klientens behov. Jag älskar mitt jobb, även om jag ibland tycker att det är väldigt tufft, men när man får bekräftat att man gjort ett bra jobb, då glömmer man allt som är jobbigt. Tisdagen tillbringade jag med att göra ingenting typ, var bara hemma med töserna, solade &amp; busade. Satt på baksidan &amp; tjötade med Jonna vid staketet. Ulrika var förbi på en kopp kaffe med innan det var dags för henne att åka &amp; jobba. På kvällen blev det sällskapsspel med Nina &amp; Jonna. Mycket trevligt. Onsdag blev det lite grejande hemma med att tvätta &amp; plocka lite, tjöta med Jonna i vanlig ordning vid staketet. På kvällen blev det ett gympass med Nina &amp; Jonna. ✌️Sen blev det soffan för mig &amp; kolla klart på serien Tretton skäl varför. En bra med tung serie där en tjej berättar varför hon valde att ta sitt liv. ☹️ Det som skrämmer mig är att det är så här verkligheten ser ut, när det sprids så mycket hat. Hur vore det om man började sprida mer kärlek till varandra, acceptera att vi alla är olika m.m.? Ja det är nog en fråga som vi aldrig kommer att få svar på. Idag blir det att åka in till stan under dagen på lite ärenden, annars är det de gamla vanliga på schemat. Vardags sysslor &amp; R kommer hem, ingen är gladare än jag &amp; töserna att få hem honom. ❤️ Önskar er alla en toppen dag! ☀️</text>
65
+ <languageCode>sv</languageCode>
66
+ <locationCode>se</locationCode>
67
+ <coordinates />
68
+ <links />
69
+ <tags />
70
+ <images />
71
+ <indexedAt>2017-05-04T06:50:07Z</indexedAt>
72
+ <publishedAt>2017-05-04T06:49:50Z</publishedAt>
73
+ <reindexedAt>0001-01-01T00:00:00Z</reindexedAt>
74
+ <inlinksCount>0</inlinksCount>
75
+ <blogId>1578135310841173675</blogId>
76
+ <blogName>maartiinasvardag blogg</blogName>
77
+ <blogUrl>http://nouw.com/maartiinasvardag</blogUrl>
78
+ <blogRank>1</blogRank>
79
+ <authority>0</authority>
80
+ </post>
81
+ </twinglydata>
@@ -1,3 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8"?><blogstream xmlns="http://www.twingly.com">
2
- <operationResult resultType="failure">The API key does not exist.</operationResult>
3
- </blogstream>
1
+ <error code="40001">
2
+ <message>Parameter apikey may not be empty</message>
3
+ </error>
@@ -1,3 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8"?><blogstream xmlns="http://www.twingly.com">
2
- <operationResult resultType="failure">Authentication service unavailable.</operationResult>
3
- </blogstream>
1
+ <error code="50301">
2
+ <message>Authentication service unavailable</message>
3
+ </error>
@@ -1,3 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8"?><blogstream xmlns="http://www.twingly.com">
2
- <operationResult resultType="failure">The API key does not grant access to the Search API.</operationResult>
3
- </blogstream>
1
+ <error code="40101">
2
+ <message>Unauthorized</message>
3
+ </error>
@@ -1,3 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8"?><blogstream xmlns="http://www.twingly.com">
2
- <operationResult resultType="failure">Something went wrong.</operationResult>
3
- </blogstream>
1
+ <error code="50001">
2
+ <message>Internal Server Error</message>
3
+ </error>
@@ -1,2 +1,2 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <twinglydata numberOfMatchesReturned="0" secondsElapsed="0.213" numberOfMatchesTotal="0" />
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <twinglydata numberOfMatchesReturned="0" secondsElapsed="0.203" numberOfMatchesTotal="0" incompleteResult="false" />
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <twinglydata numberOfMatchesReturned="1" secondsElapsed="0.413" numberOfMatchesTotal="29383" incompleteResult="false">
3
+ <post>
4
+ <id>15420612957445610214</id>
5
+ <author>Cornucopia?</author>
6
+ <url>http://cornucopia.cornubot.se/2017/02/har-ryssland-brutit-mot.html</url>
7
+ <title>Har Ryssland brutit mot kärnvapenprovstoppet?</title>
8
+ <text>USA verkar ha ombaserat sitt ena i kärnvapenprovdetekteringsplan Constant Phoenix till Europa. Samtidigt har nivåer av den med mänskligt ursprung joniserande isotopen Jod-131 detekterats, ursprungligen i Nordnorge, som ligger närmast Rysslands gamla kärnvapentestområden i Novaja Semlja. Det väcker frågan om Ryssland börjat testa kärnvapen igen? Sovjetunionens första kärnvapenprov.Jod-131 har mänskligt ursprung, och är en isotop som uppstår vid detonation av Uran-235 eller plutoniumbaserade kärnvapen. Den har nu uteslutande i partikelform detekterats i inledningsvis Nordnorge närmast gränsen mot Ryssland enligt franska strålskyddsinstitutet och sedan bland annat i norra Finland och ner över resten av Europa. Nordnorge är som bekant närmast Rysslands gamla kärnvapenprovområden vid t ex Novaja Semlja. Jod-131 har en kort halveringstid och ursprunget ligger därför i närtid. Ursprunget för isotoperna är i detta fall än så länge okänt, och det är också ovanligt att de endast förekommer i partikelform och inte även i gasform. Samtidigt verkar nu USA ombaserat en av sina två kärnvapenprovdetekteringsplan Constant Phoenix till Wales.One of the two WC-135C CONSTANT PHOENIX Nuclear detonation research aircraft heading towards Wales. Rebasing to UK? pic.twitter.com/2P4IDmovzH— S2 Intel (@Strat2Intel) February 17, 2017Flygplanstypen används för att uppe i atmosfären detektera spår av kärnvapendetonationer, till skillnad mot mätstationerna som det franska strålskyddsinstitutet rapporterar om, som är markbaserade. Det är inte orimligt att man vill söka av högre atmosfär efter spår av ett kärnvapenprov. Ryssland håller på att uppgradera sina kärnvapen till nya toppmoderna robotar och det är inte orimligt att man i samband med detta också tar fram nya stridsspetsar och inte bara bärare. Med tanke på att Ryssland redan övergett ett antal nedrustnings- och fredsavtal, åtminstone sex stycken, inklusive avtalet mot markbaserade medeldistansrobotar, så är det inte otänkbart att man nu också övergett kärnvapenprovstoppsavtalet. Det handlar i så fall om en underjordisk detonation, då den inte detekterats av satelliter. Frågan är också vad för styrka och på vilket djup. Söker man hos USGS finns det inga jordbävningar med magnitud 2.5+ detekterade i norra Ryssland tillbaka till november 2016 annat än en jordbävning utanför Tiksi. Av Sovjetunionens två främsta provplatser är det bara Novaja Semlja som är kvar inom den Ryska Federationen. Man gjorde undantaget Novaja Semlja främst sina 1000+ provsprängingar i andra sovjetrepubliker än Ryssland. Det finns ett omfattande nätverk av 170 seismiska detektorer som ska fånga upp kärnvapenprov, samt 80 stationer av den typ som detekterat Jod-131. Även om ursprunget för utsläppet av Jod-131 fortfarande är okänt, så gör frånvaron av seimiska utslag det osannolikt, men inte omöjligt, att Ryssland brutit mot provstoppet. Dock är Kreml medvetna om de seismiska detektorerna, vilket väcker frågan om det alls är möjligt att givet kunskapen ändå kunna göra test med t ex taktiska små laddningar, t ex de som ska finnas i markrobotavtalbrytande Iskander-M utan att det detekteras? Oavsett finns det någon anledning till att Constant Phoenix ombaserats till Europa. Sannolikt handlar det om detekterad Jod-131. </text>
9
+ <languageCode>sv</languageCode>
10
+ <locationCode>se</locationCode>
11
+ <coordinates />
12
+ <links>
13
+ <link>https://1.bp.blogspot.com/-4uNjjiNQiug/WKguo1sBxwI/AAAAAAAAqKE/_eR7cY8Ft3cd2fYCx-2yXK8AwSHE_A2GgCLcB/s1600/aaea427ee3eaaf8f47d650f48fdf1242.jpg</link>
14
+ <link>http://www.irsn.fr/EN/newsroom/News/Pages/20170213_Detection-of-radioactive-iodine-at-trace-levels-in-Europe-in-January-2017.aspx</link>
15
+ <link>https://www.t.co/2P4IDmovzH</link>
16
+ <link>https://www.twitter.com/Strat2Intel/status/832710701730844672</link>
17
+ </links>
18
+ <tags>
19
+ <tag>Frankrike</tag>
20
+ <tag>försvar</tag>
21
+ <tag>Ryssland</tag>
22
+ <tag>USA</tag>
23
+ <tag>vetenskap</tag>
24
+ </tags>
25
+ <images />
26
+ <indexedAt>2017-02-18T13:12:03Z</indexedAt>
27
+ <publishedAt>2017-02-18T10:26:00Z</publishedAt>
28
+ <reindexedAt>2017-02-22T15:58:31Z</reindexedAt>
29
+ <inlinksCount>15</inlinksCount>
30
+ <blogId>12072801357614410355</blogId>
31
+ <blogName>Cornucopia?</blogName>
32
+ <blogUrl>http://cornucopia.cornubot.se</blogUrl>
33
+ <blogRank>9</blogRank>
34
+ <authority>1591</authority>
35
+ </post>
36
+ </twinglydata>
@@ -0,0 +1,169 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.twingly.com/blog/livefeed/api/v5/getdata?apikey=api_key&maxPosts=3&timestamp=2017-04-19T22:00:00.000%2B0000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Twingly LiveFeed Ruby Client/5.0.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Tue, 25 Apr 2017 08:34:21 GMT
25
+ Content-Type:
26
+ - application/xml; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Cache-Control:
32
+ - no-cache
33
+ Pragma:
34
+ - no-cache
35
+ Expires:
36
+ - "-1"
37
+ body:
38
+ encoding: ASCII-8BIT
39
+ string: !binary |-
40
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48dHdpbmds
41
+ eWRhdGEgdHM9IjIwMTctMDQtMjVUMDg6MzQ6MjEuNDk3NDYyMloiIGZyb209
42
+ IjIwMTctMDQtMTlUMjI6MDA6MDBaIiBudW1iZXJPZlBvc3RzPSIzIiBtYXhO
43
+ dW1iZXJPZlBvc3RzPSIzIiBmaXJzdFBvc3Q9IjIwMTctMDQtMTlUMjI6MDA6
44
+ MDEuMzY3WiIgbGFzdFBvc3Q9IjIwMTctMDQtMTlUMjI6MDA6MDMuMTRaIiBu
45
+ ZXh0VGltZXN0YW1wPSIyMDE3LTA0LTE5VDIyOjAwOjAzLjE0MVoiPjxwb3N0
46
+ PjxpZD4xODMxMzYxNzA5OTMyNzY1ODUyOTwvaWQ+PGF1dGhvcj5Ub29wc3k8
47
+ L2F1dGhvcj48dXJsPmh0dHA6Ly9ub3V3LmNvbS90b29wc3kvdHJhbmluZy1p
48
+ Z2VuLTI5ODUzMTA2PC91cmw+PHRpdGxlPlRyw6RuaW5nIGlnZW48L3RpdGxl
49
+ Pjx0ZXh0PkRldCDDpHIgbcOlbmdhIG3DpW5hZGVyIHNlbiBpZ2VuIHR5dsOk
50
+ cnIgIExpdmV0IGhhciBrb21taXQgaSBtZWxsYW4gaGFyIGludGUgZnVubml0
51
+ cyBvcmsgZWxsZXIgbHVzdCBhdHQgdHLDpG5hIHDDpSBkZW4gbml2w6VuIGph
52
+ ZyB2YXIgcMOlIGbDtnIgY2EgMS0gMiDDpXIgc2VuIGTDpSB2YXIgamFnIHDD
53
+ pSB0b3BwIHZlcmtsaWdlbiBqYWcgdHLDpG5hZGUgY3Jvc3NmaXQgIGzDtnBu
54
+ aW5nIGd5bSBvY2ggcHQgdHLDpG5pbmcgcHJpdmF0IGFsbHQgdmFyIGrDpHR0
55
+ ZWt1bCBvY2ggamFnIHZhciBzdGFyayBpIGtyb3BwICZhbXA7IHNqw6RsICBN
56
+ ZW4gYWxsdCBoYXIgZXR0IHByaXMgb2NoIHR5dsOkcnIgc8OlIGJsZXYgdHLD
57
+ pG5pbmdlbiBmw7ZyIG15Y2tldCBkZXQgZ2ljayB0aWxsIMO2dmVyZHJpZnQg
58
+ c8OlIGjDpHIgaSBlZnRlcmhhbmQga2FuIGphZyBqdSBzw6RnYSBkZXQgIEZp
59
+ Y2sgbmdyYSBow6VyZGEgc23DpGxsYXIgYXYgZGV0dGEgc8OlIGphZyBiw7Zy
60
+ amFkZSB0cmFwcGEgbmVyIG9jaCBoZWx0IHBsw7Z0c2xpZ3QgZsO2cnN2YW5u
61
+ IGFsbHQgb2NoIGphZyBoYWRlIGludGUgdHLDpG5hdCBww6UgNiBtw6VuYWRl
62
+ ciBwbMO2dHNsaWd0ICBCw7ZyamFkZSBvbSBzw6RrZXJ0IDMgZ2dyIG1lbiBO
63
+ ZXBwICDDhHIgaW50ZSBww6UgZ3ltbWV0IMOkbiBvY2ggdHLDpG5hciBpbnRl
64
+ IG5ndCBhbm5hdCBoZWxsZXIgIE51dGlkIGTDpSA/ICBIYXIgYsO2cmphdCBt
65
+ ZWQgbWluYSBwcm9tbWVuaXhlciBpZ2VuIG9jaCBjeWtsaW5nZW4gbWVkIGh5
66
+ YnJpZCBjeWtsZW4gb2NoIGRldCBmdW5rYXIgIFZpc3MgcmVoYWIgZsO2ciBy
67
+ eWdnZW4gbWVuIGJlaMO2dmVyIG1lcmEgIFPDpSBudSBoYXIgamFnIHNhdHQg
68
+ ZXR0IG3DpWwgb2NoIGRldCDDpHIgbmduIGZvcm0gYXYgZ3ltdHLDpG5pbmcg
69
+ MiBkYWdhciBpIHZlY2thbiAgUMOlIDMwIG1pbiBpbnRlIDYwIHNvbSBpbm5h
70
+ biAgSW50ZSB0dW5nIHRyw6RuaW5nIGp1c3QgbnUgdXRhbiBsYWdvbSAgU8Ol
71
+ IHRyw6RuaW5nZW4gc2thIGJsaSBlbiBkZWwgYXYgbWl0dCBsaXYgaW50ZSB0
72
+ dsOkcnRvbSBkZW5uYSBHw6VuZ2VuICBTZXIgbcOlbmdhIGF2IG1pbmEgdsOk
73
+ bm5lciBzb20gaMOlbGxlciBww6Ugb2NoIHRyb3IgYXR0IGRlIGthbiBkZXQg
74
+ aMOkciBtZWQgdHLDpG5pbmcgb2NoIGjDpWxsZXIgcMOlIG1lZCBhbGx0IG9j
75
+ aCBpIHNqw6RsdmEgdmVya2V0IG7DtnRlciBkZSB1dCBzaWcgZsO2ciBkZSBn
76
+ w7ZyIGZlbCAuLi5kZXQgYmxpciBza2Fkb3Igb2NoIHNraXQgaW50ZSB2w6Ry
77
+ dCBkZXQgbWVuIGF0dCBhbmxpdGEgZW4gcmlrdGlnIHV0YmlsZGFkIHB0IGRl
78
+ dCDDpHIgdsOkcnQgcGVuZ2FybmEgbWFuIGzDpGdnZXIgcMOlIGRldCBvY2gg
79
+ amFnIHJlayAxMCBnZ3IgbWluc3Qgc8OlIG1hbiBsw6RyIHNpZyBhbGx0IHPD
80
+ pSBoYXIgamFnIGdqb3J0ICBTdmV0dCBvY2ggdMOlcmFyIG1lbiB2aWxrYSBy
81
+ ZXN1bHRhdCBtYW4gZmljayBrYW4gdmFybXQgcmVrIE9OIFRyYWluaW5nIE9j
82
+ aCBMZXZlbGxpZmVzdHlsZSAgTnlhIG3DpWwgaSBzaWt0ZSBow6Rsc2FuIGbD
83
+ tnJzdCBseXNzbmEgcMOlIGtyb3BwZW4gIHNtYXJ0PC90ZXh0PjxsYW5ndWFn
84
+ ZUNvZGU+c3Y8L2xhbmd1YWdlQ29kZT48bG9jYXRpb25Db2RlPnNlPC9sb2Nh
85
+ dGlvbkNvZGU+PGNvb3JkaW5hdGVzIC8+PGxpbmtzIC8+PHRhZ3M+PHRhZz5I
86
+ w6Rsc2EmYW1wO3Ryw6RuaW5nPC90YWc+PC90YWdzPjxpbWFnZXMgLz48aW5k
87
+ ZXhlZEF0PjIwMTctMDQtMTlUMjE6NTk6NTNaPC9pbmRleGVkQXQ+PHB1Ymxp
88
+ c2hlZEF0PjIwMTctMDQtMTlUMjE6NTk6MzVaPC9wdWJsaXNoZWRBdD48cmVp
89
+ bmRleGVkQXQ+MjAxNy0wNC0xOVQyMTo1OTo1M1o8L3JlaW5kZXhlZEF0Pjxp
90
+ bmxpbmtzQ291bnQ+MDwvaW5saW5rc0NvdW50PjxibG9nSWQ+MzgwMTA4NTQ5
91
+ MDg1MDA3NTA1NDwvYmxvZ0lkPjxibG9nTmFtZT5Ub29wc3kgYmxvZ2c8L2Js
92
+ b2dOYW1lPjxibG9nVXJsPmh0dHA6Ly9ub3V3LmNvbS90b29wc3k8L2Jsb2dV
93
+ cmw+PGJsb2dSYW5rPjE8L2Jsb2dSYW5rPjxhdXRob3JpdHk+MDwvYXV0aG9y
94
+ aXR5PjwvcG9zdD48cG9zdD48aWQ+MjAxNjIwOTAyNDY2OTE2OTgzNjwvaWQ+
95
+ PGF1dGhvcj5DZWNpbGlhPC9hdXRob3I+PHVybD5odHRwOi8vdGlnZ2Vyc3dv
96
+ cmQuYmxvZ3Nwb3QuY29tLzIwMTcvMDQvc2thcnRvcnNkYWcuaHRtbDwvdXJs
97
+ Pjx0aXRsZT5Ta8OkcnRvcnNkYWc8L3RpdGxlPjx0ZXh0PsOEbnRsaWdlbiBw
98
+ w6Vza2xlZGlndCEgSGFkZSByZWRhbiBpZ8OlciBiZXN0w6RtdCBhdHQgb20g
99
+ amFnIGludGUgdmFrbmFkZSBvY2ggbcOlZGRlIGrDpHR0ZWTDpWxpZ3Qgc8Ol
100
+ IHNrdWxsZSBqYWcgdGEgbWlnIHRpbGwgYXJiZXRldC4gRW4gYXYgbWluYSBr
101
+ b2xsZWdvcnMgc2lzdGEgZGFnIGlubmFuIHNlbWVzdGVyIG9jaCBhdHQgaG9u
102
+ IHNsdXRhciBmw7ZyIGFubmF0IGFyYmV0ZS4gU8OlIGRldCBrw6RuZGVzIGp1
103
+ IHR2dW5nZXQgYXR0IGfDpSB0aWxsIGpvYmJldCwgbWVuYXIgamFnLiAgS2xh
104
+ cmFkZSBtaWcgcsOkdHQgYnJhLiBWaSBmaWthZGUgbXlja2V0LCBiw6VkZSBo
105
+ b24gb2NoIGNoZWZlbiBiasO2ZCBww6UgZ29kc2FrZXIuIFDDpXNrYmFrZWxz
106
+ ZSBvY2ggdMOlcnRhLiBUdsOlIHNvcnRlcnMgZmlrYSBww6UgZW4gbW9yZ29u
107
+ L2bDtnJtaWRkYWcuIFZhcmtlbiBicmEgZsO2ciBmaWd1cmVuIGVsbGVyIG7D
108
+ pW50aW5nLi5tZW4gZ290dCB2YXIgZGV0ISAgICAgICBIw6RyIGhlbW1hIHNl
109
+ ZGFuIGTDpGNrYWRlIGphZyBpIHPDpG5nZW4gZWZ0ZXIgbHVuY2ggb2NoIGhh
110
+ ciBtZXN0IHZhcml0IGkgaG9yaXNvbnRhbGzDpGdlIGhlbGEga3bDpGxsZW4u
111
+ IE51IHbDpG50YXIgc8OkbmdlbiBpZ2VuISBEZXQgdmFyIGludGUgc8OlaMOk
112
+ ciBqYWcgdMOkbmt0IHNwZW5kZXJhIG1pbiBsZWRpZ2hldCBtZW4gZGV0IMOk
113
+ ciB0cm90cyBhbGx0IHLDpHR0IHNrw7ZudCBhdHQgdmV0YSBhdHQgamFnIGlu
114
+ dGUgYmVow7Z2ZXIgZ8OlIHVwcCBuw6Vnb24gbWVyIHRpZGlnIG1vcmdvbiBw
115
+ w6UgZXR0IHRhZy4uIEhhIGVuIGZpbiBww6Vza2hlbGcgYWxsaWhvcCEgIDA0
116
+ NDwvdGV4dD48bGFuZ3VhZ2VDb2RlPnN2PC9sYW5ndWFnZUNvZGU+PGxvY2F0
117
+ aW9uQ29kZT5zZTwvbG9jYXRpb25Db2RlPjxjb29yZGluYXRlcyAvPjxsaW5r
118
+ cz48bGluaz5odHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vLTFW
119
+ VkxrNnFLdUdrL1dPX3B6WDZVaGNJL0FBQUFBQUFBQkI4L2JpVDlDYW14eGhr
120
+ L3MyODgvaXBob25lX3Bob3RvLmpwZzwvbGluaz48L2xpbmtzPjx0YWdzIC8+
121
+ PGltYWdlcyAvPjxpbmRleGVkQXQ+MjAxNy0wNC0xOVQyMTo1OTo0Nlo8L2lu
122
+ ZGV4ZWRBdD48cHVibGlzaGVkQXQ+MjAxNy0wNC0xM1QyMToxMjowMFo8L3B1
123
+ Ymxpc2hlZEF0PjxyZWluZGV4ZWRBdD4yMDE3LTA0LTE5VDIxOjU5OjQ2Wjwv
124
+ cmVpbmRleGVkQXQ+PGlubGlua3NDb3VudD4wPC9pbmxpbmtzQ291bnQ+PGJs
125
+ b2dJZD4xNjYwMjc5NzU1MDc2MDc1MDc0NjwvYmxvZ0lkPjxibG9nTmFtZT7D
126
+ hG50bGlnZW4gaGFyIGphZyBoaXR0YXQgb3JkZW4uLi48L2Jsb2dOYW1lPjxi
127
+ bG9nVXJsPmh0dHA6Ly90aWdnZXJzd29yZC5ibG9nc3BvdC5jb208L2Jsb2dV
128
+ cmw+PGJsb2dSYW5rPjI8L2Jsb2dSYW5rPjxhdXRob3JpdHk+MTI8L2F1dGhv
129
+ cml0eT48L3Bvc3Q+PHBvc3Q+PGlkPjEyMDEyOTkxMDg2NDIyMzcwNjI3PC9p
130
+ ZD48YXV0aG9yPkNlY2lsaWE8L2F1dGhvcj48dXJsPmh0dHA6Ly90aWdnZXJz
131
+ d29yZC5ibG9nc3BvdC5jb20vMjAxNy8wNC9sYW5nZnJlZGFnLmh0bWw8L3Vy
132
+ bD48dGl0bGU+TMOlbmdmcmVkYWc8L3RpdGxlPjx0ZXh0Pk9qLSBpZGFnIGZp
133
+ cmFyIGJsb2dnZW4gbmlvIMOlciBtaW5zYW5uISBUw6RuayBvbSBqYWcgaGFk
134
+ ZSBzYW1tYSBhbWJpdGlvbmVyIGF0dCBza3JpdmEgbnUgc29tIGTDpS4gSmFq
135
+ YSwgbsOlZ29uIHZhY2tlciBkYWcga2Fuc2tlIGRldCBrb21tZXIgdGlsbGJh
136
+ a2EuIEZvcnRmYXJhbmRlIMOkciBzasOkbHZhIGvDpG5zbGFuIG9jaCB2aWxq
137
+ YW4gYXR0IGJsb2dnYSByw6R0dCBzdG9yLiBKYWcgYW50YXIgYXR0IGphZyBi
138
+ YXJhIG3DpXN0ZSB0YSBtaWcgaSBrcmFnZW4uICBJZGFnIGhhciBqYWcgaSBh
139
+ bGxhIGZhbGwgbcOldHQgYsOkdHRyZS4gw4RudGxpZ2VuIGVuIGRhZyBkw6Ug
140
+ amFnIGbDpXR0IHZpbGEgb3JkZW50bGlndC4gU2VuIGZydWtvc3QsIGV0dCBi
141
+ YWQgb2NoIG15Y2tldCB0aWQgaSBzb2ZmYW4gaGFyIGdqb3J0IGF0dCBqYWcg
142
+ cGlnZ25hdCB0aWxsIG1lci4gIFLDpHR0IGJyYSBtZWQgZW4gbMOlbmcgZnJl
143
+ ZGFnIGlibGFuZCwgc8OlIGF0dCBqYWcga3VubmF0IGbDpSB1dCBkZXQgbWVz
144
+ dGEgYXYgZGVuLiBEZXQga8Okbm5zIHNrw7ZudCEgS2Fuc2tlIGF0dCBqYWcg
145
+ a2FuIGbDpSB1dCBtZXIgYXYgZGVuIGZvcnRzYXR0YSBoZWxnZW4gbnUuIEhh
146
+ ciBhdnNsdXRhdCBkYWdlbiBpIHNvZmZhbiB0aWxsc2FtbWFucyBtZWQgZsO2
147
+ cnJhIMOlcmV0cyBrb25zZXJ0IG1lZCBIw6VrYW4gSGVsbHN0csO2bSBww6Ug
148
+ VWxsZXZpLiBEZW4ga29uc2VydCB2aSB2YXIgcMOlLiBGaW5maW4gdW5kZXJo
149
+ w6VsbG5pbmchIEjDpHJsaWdhIG1pbm5lbi4uICBOdSBkw6RyZW1vdCBza2Eg
150
+ dmkgc25hcnQgZ8OlIHRpbGwgc8OkbmdzLiBSw6VrYWRlIG55c3MgZmFzdG5h
151
+ IGkgZW4gZ2FtbWFsIEJlY2stZmlsbS4gSHVyIGx5Y2thcyB2aS4uIE1hbm5l
152
+ biBww6UgdGFrZXQuIErDpHR0ZWdhbW1hbCBqdS4gU2vDtm50IGkgYWxsYSBm
153
+ YWxsIG1lZCBmbGVyIGxlZGlnYSBkYWdhciBhdHQgc2UgZnJhbSBlbW90LiBP
154
+ Y2ggbnUga2FuIHbDpGwgbWl0dCBtw6VlbmRlIGJhcmEgYmxpIGLDpHR0cmU/
155
+ IEdvZGt2w6RsbCEgIDA0NjwvdGV4dD48bGFuZ3VhZ2VDb2RlPnN2PC9sYW5n
156
+ dWFnZUNvZGU+PGxvY2F0aW9uQ29kZT5zZTwvbG9jYXRpb25Db2RlPjxjb29y
157
+ ZGluYXRlcyAvPjxsaW5rcyAvPjx0YWdzIC8+PGltYWdlcyAvPjxpbmRleGVk
158
+ QXQ+MjAxNy0wNC0xOVQyMTo1OTo0Nlo8L2luZGV4ZWRBdD48cHVibGlzaGVk
159
+ QXQ+MjAxNy0wNC0xNFQyMTo0OTowMFo8L3B1Ymxpc2hlZEF0PjxyZWluZGV4
160
+ ZWRBdD4yMDE3LTA0LTE5VDIxOjU5OjQ2WjwvcmVpbmRleGVkQXQ+PGlubGlu
161
+ a3NDb3VudD4wPC9pbmxpbmtzQ291bnQ+PGJsb2dJZD4xNjYwMjc5NzU1MDc2
162
+ MDc1MDc0NjwvYmxvZ0lkPjxibG9nTmFtZT7DhG50bGlnZW4gaGFyIGphZyBo
163
+ aXR0YXQgb3JkZW4uLi48L2Jsb2dOYW1lPjxibG9nVXJsPmh0dHA6Ly90aWdn
164
+ ZXJzd29yZC5ibG9nc3BvdC5jb208L2Jsb2dVcmw+PGJsb2dSYW5rPjI8L2Js
165
+ b2dSYW5rPjxhdXRob3JpdHk+MTI8L2F1dGhvcml0eT48L3Bvc3Q+PC90d2lu
166
+ Z2x5ZGF0YT4=
167
+ http_version:
168
+ recorded_at: Tue, 25 Apr 2017 08:34:21 GMT
169
+ recorded_with: VCR 2.9.3