onesignal-ruby 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +14 -0
  3. data/.gitignore +17 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +182 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +12 -0
  8. data/Gemfile.lock +82 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +179 -0
  11. data/Rakefile +8 -0
  12. data/bin/console +15 -0
  13. data/bin/setup +8 -0
  14. data/fixtures/vcr_cassettes/os-fetch-noti.yml +76 -0
  15. data/fixtures/vcr_cassettes/os-fetch-player.yml +72 -0
  16. data/fixtures/vcr_cassettes/os-fetch-players.yml +72 -0
  17. data/fixtures/vcr_cassettes/os-send-noti.yml +145 -0
  18. data/lib/onesignal.rb +49 -0
  19. data/lib/onesignal/attachments.rb +27 -0
  20. data/lib/onesignal/auto_map.rb +13 -0
  21. data/lib/onesignal/autoloader.rb +7 -0
  22. data/lib/onesignal/client.rb +61 -0
  23. data/lib/onesignal/commands.rb +7 -0
  24. data/lib/onesignal/commands/autoloader.rb +7 -0
  25. data/lib/onesignal/commands/base_command.rb +23 -0
  26. data/lib/onesignal/commands/create_notification.rb +15 -0
  27. data/lib/onesignal/commands/fetch_notification.rb +15 -0
  28. data/lib/onesignal/commands/fetch_player.rb +15 -0
  29. data/lib/onesignal/commands/fetch_players.rb +11 -0
  30. data/lib/onesignal/configuration.rb +14 -0
  31. data/lib/onesignal/filter.rb +132 -0
  32. data/lib/onesignal/notification.rb +35 -0
  33. data/lib/onesignal/notification/contents.rb +17 -0
  34. data/lib/onesignal/notification/headings.rb +17 -0
  35. data/lib/onesignal/responses.rb +7 -0
  36. data/lib/onesignal/responses/autoloader.rb +7 -0
  37. data/lib/onesignal/responses/base_response.rb +13 -0
  38. data/lib/onesignal/responses/notification.rb +45 -0
  39. data/lib/onesignal/responses/player.rb +21 -0
  40. data/lib/onesignal/segment.rb +22 -0
  41. data/lib/onesignal/sounds.rb +39 -0
  42. data/lib/onesignal/version.rb +6 -0
  43. data/onesignal-ruby.gemspec +47 -0
  44. metadata +251 -0
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: :spec
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'onesignal'
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require 'irb'
15
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,76 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://onesignal.com/api/v1/notifications/?app_id=22bc6dec-5150-4d6d-8628-377259d2dd14
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic NTc3Y2RhMTAtMjQzZC00NDIxLWE3MWUtNWU0OWM3YTVhZTlh
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Thu, 28 Jun 2018 15:30:58 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - __cfduid=df0001a10af0412855ad6ed0276b466461530199857; expires=Fri, 28-Jun-19
35
+ 15:30:57 GMT; path=/; domain=.onesignal.com; HttpOnly
36
+ Status:
37
+ - 200 OK
38
+ Cache-Control:
39
+ - public, max-age=7200
40
+ Access-Control-Allow-Origin:
41
+ - "*"
42
+ X-Xss-Protection:
43
+ - 1; mode=block
44
+ X-Request-Id:
45
+ - 5fc751d2-1bc0-46c7-b33f-5579f956f7d2
46
+ Access-Control-Allow-Headers:
47
+ - SDK-Version
48
+ Etag:
49
+ - W/"ff3055c61c4d74053c0069ab107cbe35"
50
+ X-Frame-Options:
51
+ - SAMEORIGIN
52
+ X-Runtime:
53
+ - '0.257959'
54
+ X-Content-Type-Options:
55
+ - nosniff
56
+ X-Powered-By:
57
+ - Phusion Passenger 5.3.2
58
+ Cf-Cache-Status:
59
+ - EXPIRED
60
+ Vary:
61
+ - Accept-Encoding
62
+ Expires:
63
+ - Thu, 28 Jun 2018 17:30:58 GMT
64
+ Expect-Ct:
65
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
66
+ Server:
67
+ - cloudflare
68
+ Cf-Ray:
69
+ - 432132975a284334-MXP
70
+ body:
71
+ encoding: ASCII-8BIT
72
+ string: !binary |-
73
+ eyJ0b3RhbF9jb3VudCI6MjYsIm9mZnNldCI6MCwibGltaXQiOjUwLCJub3RpZmljYXRpb25zIjpbeyJhZG1fYmlnX3BpY3R1cmUiOm51bGwsImFkbV9ncm91cCI6bnVsbCwiYWRtX2dyb3VwX21lc3NhZ2UiOm51bGwsImFkbV9sYXJnZV9pY29uIjpudWxsLCJhZG1fc21hbGxfaWNvbiI6bnVsbCwiYWRtX3NvdW5kIjpudWxsLCJzcG9rZW5fdGV4dCI6bnVsbCwiYWxleGFfc3NtbCI6bnVsbCwiYWxleGFfZGlzcGxheV90aXRsZSI6bnVsbCwiYW1hem9uX2JhY2tncm91bmRfZGF0YSI6bnVsbCwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOm51bGwsImFuZHJvaWRfZ3JvdXAiOm51bGwsImFuZHJvaWRfZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYW5kcm9pZF9sZWRfY29sb3IiOm51bGwsImFuZHJvaWRfc291bmQiOm51bGwsImFuZHJvaWRfdmlzaWJpbGl0eSI6bnVsbCwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOm51bGwsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjpudWxsLCJjaHJvbWVfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ltYWdlIjpudWxsLCJjaHJvbWVfd2ViX2JhZGdlIjpudWxsLCJjb250ZW50X2F2YWlsYWJsZSI6bnVsbCwiY29udGVudHMiOnsiZW4iOiJMaXZlIFRlc3QifSwiY29udmVydGVkIjowLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6bnVsbCwiZGVsaXZlcnlfdGltZV9vZl9kYXkiOm51bGwsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOm51bGwsImhlYWRpbmdzIjp7ImVuIjoiVGhpcyBpcyBhIGxpdmUgdGVzdCBmb3IgT25lU2lnbmFsIn0sImlkIjoiMjllOWMyYWQtNDFkYS00NmYwLTk0YzMtZTcxZWU1YzEwM2RjIiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBY3RpdmUgVXNlcnMiXSwiaW9zX2JhZGdlQ291bnQiOm51bGwsImlvc19iYWRnZVR5cGUiOm51bGwsImlvc19jYXRlZ29yeSI6bnVsbCwiaW9zX3NvdW5kIjpudWxsLCJhcG5zX2FsZXJ0IjpudWxsLCJpc0FkbSI6ZmFsc2UsImlzQW5kcm9pZCI6dHJ1ZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjpudWxsLCJwcmlvcml0eSI6bnVsbCwicXVldWVkX2F0IjoxNTMwMTk5ODU3LCJyZW1haW5pbmciOjEsInNlbmRfYWZ0ZXIiOjE1MzAxOTk4NTcsImNvbXBsZXRlZF9hdCI6bnVsbCwic21hbGxfaWNvbiI6bnVsbCwic3VjY2Vzc2Z1bCI6MCwidGFncyI6bnVsbCwiZmlsdGVycyI6bnVsbCwidGVtcGxhdGVfaWQiOm51bGwsInR0bCI6bnVsbCwidXJsIjpudWxsLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjpudWxsLCJ3cF93bnNfc291bmQiOm51bGx9LHsiYWRtX2JpZ19waWN0dXJlIjpudWxsLCJhZG1fZ3JvdXAiOm51bGwsImFkbV9ncm91cF9tZXNzYWdlIjpudWxsLCJhZG1fbGFyZ2VfaWNvbiI6bnVsbCwiYWRtX3NtYWxsX2ljb24iOm51bGwsImFkbV9zb3VuZCI6bnVsbCwic3Bva2VuX3RleHQiOm51bGwsImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOm51bGwsImFuZHJvaWRfYWNjZW50X2NvbG9yIjpudWxsLCJhbmRyb2lkX2dyb3VwIjpudWxsLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOm51bGwsImFuZHJvaWRfbGVkX2NvbG9yIjpudWxsLCJhbmRyb2lkX3NvdW5kIjpudWxsLCJhbmRyb2lkX3Zpc2liaWxpdHkiOm51bGwsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjpudWxsLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6bnVsbCwiY2hyb21lX2ljb24iOm51bGwsImNocm9tZV93ZWJfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pbWFnZSI6bnVsbCwiY2hyb21lX3dlYl9iYWRnZSI6bnVsbCwiY29udGVudF9hdmFpbGFibGUiOm51bGwsImNvbnRlbnRzIjp7ImVuIjoiTGl2ZSBUZXN0In0sImNvbnZlcnRlZCI6MCwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOm51bGwsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjpudWxsLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjpudWxsLCJoZWFkaW5ncyI6eyJlbiI6IlRoaXMgaXMgYSBsaXZlIHRlc3QgZm9yIE9uZVNpZ25hbCJ9LCJpZCI6IjNiM2ZhMzdiLTk2NDgtNDEwMS1iZjdiLTMwYzRkYzQ2NWMwMyIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWN0aXZlIFVzZXJzIl0sImlvc19iYWRnZUNvdW50IjpudWxsLCJpb3NfYmFkZ2VUeXBlIjpudWxsLCJpb3NfY2F0ZWdvcnkiOm51bGwsImlvc19zb3VuZCI6bnVsbCwiYXBuc19hbGVydCI6bnVsbCwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOnRydWUsImlzQ2hyb21lIjpmYWxzZSwiaXNDaHJvbWVXZWIiOmZhbHNlLCJpc0FsZXhhIjpmYWxzZSwiaXNGaXJlZm94IjpmYWxzZSwiaXNJb3MiOnRydWUsImlzU2FmYXJpIjpmYWxzZSwiaXNXUCI6ZmFsc2UsImlzV1BfV05TIjpmYWxzZSwiaXNFZGdlIjpmYWxzZSwibGFyZ2VfaWNvbiI6bnVsbCwicHJpb3JpdHkiOm51bGwsInF1ZXVlZF9hdCI6MTUzMDE5OTc4MywicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTk5NzgzLCJjb21wbGV0ZWRfYXQiOjE1MzAxOTk3ODQsInNtYWxsX2ljb24iOm51bGwsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6bnVsbCwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6bnVsbCwid3Bfd25zX3NvdW5kIjpudWxsfSx7ImFkbV9iaWdfcGljdHVyZSI6bnVsbCwiYWRtX2dyb3VwIjpudWxsLCJhZG1fZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYWRtX2xhcmdlX2ljb24iOm51bGwsImFkbV9zbWFsbF9pY29uIjpudWxsLCJhZG1fc291bmQiOm51bGwsInNwb2tlbl90ZXh0IjpudWxsLCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpudWxsLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6bnVsbCwiYW5kcm9pZF9ncm91cCI6bnVsbCwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjpudWxsLCJhbmRyb2lkX2xlZF9jb2xvciI6bnVsbCwiYW5kcm9pZF9zb3VuZCI6bnVsbCwiYW5kcm9pZF92aXNpYmlsaXR5IjpudWxsLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6bnVsbCwiYnV0dG9ucyI6bnVsbCwiY2FuY2VsZWQiOmZhbHNlLCJjaHJvbWVfYmlnX3BpY3R1cmUiOm51bGwsImNocm9tZV9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ljb24iOm51bGwsImNocm9tZV93ZWJfaW1hZ2UiOm51bGwsImNocm9tZV93ZWJfYmFkZ2UiOm51bGwsImNvbnRlbnRfYXZhaWxhYmxlIjpudWxsLCJjb250ZW50cyI6eyJlbiI6IkxpdmUgVGVzdCJ9LCJjb252ZXJ0ZWQiOjAsImRhdGEiOm51bGwsImRlbGF5ZWRfb3B0aW9uIjpudWxsLCJkZWxpdmVyeV90aW1lX29mX2RheSI6bnVsbCwiZXJyb3JlZCI6MCwiZXhjbHVkZWRfc2VnbWVudHMiOltdLCJmYWlsZWQiOjAsImZpcmVmb3hfaWNvbiI6bnVsbCwiaGVhZGluZ3MiOnsiZW4iOiJUaGlzIGlzIGEgbGl2ZSB0ZXN0IGZvciBPbmVTaWduYWwifSwiaWQiOiIyNmEyODI5MC1iYTNjLTRmMTYtOTA0MS1jZTcyMjdmM2FkZGIiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIkFjdGl2ZSBVc2VycyJdLCJpb3NfYmFkZ2VDb3VudCI6bnVsbCwiaW9zX2JhZGdlVHlwZSI6bnVsbCwiaW9zX2NhdGVnb3J5IjpudWxsLCJpb3Nfc291bmQiOm51bGwsImFwbnNfYWxlcnQiOm51bGwsImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjp0cnVlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOm51bGwsInByaW9yaXR5IjpudWxsLCJxdWV1ZWRfYXQiOjE1MzAxOTk3MTYsInJlbWFpbmluZyI6MCwic2VuZF9hZnRlciI6MTUzMDE5OTcxNiwiY29tcGxldGVkX2F0IjoxNTMwMTk5NzE2LCJzbWFsbF9pY29uIjpudWxsLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOm51bGwsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOm51bGwsIndwX3duc19zb3VuZCI6bnVsbH0seyJhZG1fYmlnX3BpY3R1cmUiOm51bGwsImFkbV9ncm91cCI6bnVsbCwiYWRtX2dyb3VwX21lc3NhZ2UiOm51bGwsImFkbV9sYXJnZV9pY29uIjpudWxsLCJhZG1fc21hbGxfaWNvbiI6bnVsbCwiYWRtX3NvdW5kIjpudWxsLCJzcG9rZW5fdGV4dCI6bnVsbCwiYWxleGFfc3NtbCI6bnVsbCwiYWxleGFfZGlzcGxheV90aXRsZSI6bnVsbCwiYW1hem9uX2JhY2tncm91bmRfZGF0YSI6bnVsbCwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOm51bGwsImFuZHJvaWRfZ3JvdXAiOm51bGwsImFuZHJvaWRfZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYW5kcm9pZF9sZWRfY29sb3IiOm51bGwsImFuZHJvaWRfc291bmQiOm51bGwsImFuZHJvaWRfdmlzaWJpbGl0eSI6bnVsbCwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOm51bGwsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjpudWxsLCJjaHJvbWVfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ltYWdlIjpudWxsLCJjaHJvbWVfd2ViX2JhZGdlIjpudWxsLCJjb250ZW50X2F2YWlsYWJsZSI6bnVsbCwiY29udGVudHMiOnsiZW4iOiJMaXZlIFRlc3QifSwiY29udmVydGVkIjowLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6bnVsbCwiZGVsaXZlcnlfdGltZV9vZl9kYXkiOm51bGwsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOm51bGwsImhlYWRpbmdzIjp7ImVuIjoiVGhpcyBpcyBhIGxpdmUgdGVzdCBmb3IgT25lU2lnbmFsIn0sImlkIjoiYjA0MjAwYjEtYTA4Yy00ZGJjLWJkNTEtN2U3Mzc1N2UxNzI2IiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBY3RpdmUgVXNlcnMiXSwiaW9zX2JhZGdlQ291bnQiOm51bGwsImlvc19iYWRnZVR5cGUiOm51bGwsImlvc19jYXRlZ29yeSI6bnVsbCwiaW9zX3NvdW5kIjpudWxsLCJhcG5zX2FsZXJ0IjpudWxsLCJpc0FkbSI6ZmFsc2UsImlzQW5kcm9pZCI6dHJ1ZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjpudWxsLCJwcmlvcml0eSI6bnVsbCwicXVldWVkX2F0IjoxNTMwMTk5MDQ2LCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxOTkwNDYsImNvbXBsZXRlZF9hdCI6MTUzMDE5OTA0Nywic21hbGxfaWNvbiI6bnVsbCwic3VjY2Vzc2Z1bCI6MSwidGFncyI6bnVsbCwiZmlsdGVycyI6bnVsbCwidGVtcGxhdGVfaWQiOm51bGwsInR0bCI6bnVsbCwidXJsIjpudWxsLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjpudWxsLCJ3cF93bnNfc291bmQiOm51bGx9LHsiYWRtX2JpZ19waWN0dXJlIjpudWxsLCJhZG1fZ3JvdXAiOm51bGwsImFkbV9ncm91cF9tZXNzYWdlIjpudWxsLCJhZG1fbGFyZ2VfaWNvbiI6bnVsbCwiYWRtX3NtYWxsX2ljb24iOm51bGwsImFkbV9zb3VuZCI6bnVsbCwic3Bva2VuX3RleHQiOm51bGwsImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOm51bGwsImFuZHJvaWRfYWNjZW50X2NvbG9yIjpudWxsLCJhbmRyb2lkX2dyb3VwIjpudWxsLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOm51bGwsImFuZHJvaWRfbGVkX2NvbG9yIjpudWxsLCJhbmRyb2lkX3NvdW5kIjpudWxsLCJhbmRyb2lkX3Zpc2liaWxpdHkiOm51bGwsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjpudWxsLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6bnVsbCwiY2hyb21lX2ljb24iOm51bGwsImNocm9tZV93ZWJfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pbWFnZSI6bnVsbCwiY2hyb21lX3dlYl9iYWRnZSI6bnVsbCwiY29udGVudF9hdmFpbGFibGUiOm51bGwsImNvbnRlbnRzIjp7ImVuIjoiTGl2ZSBUZXN0In0sImNvbnZlcnRlZCI6MCwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOm51bGwsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjpudWxsLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjpudWxsLCJoZWFkaW5ncyI6eyJlbiI6IlRoaXMgaXMgYSBsaXZlIHRlc3QgZm9yIE9uZVNpZ25hbCJ9LCJpZCI6IjQ3N2MwNTQ5LWNhNzUtNDc0MC04ODIyLThkZmI4ZjUzYTlhMyIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWN0aXZlIFVzZXJzIl0sImlvc19iYWRnZUNvdW50IjpudWxsLCJpb3NfYmFkZ2VUeXBlIjpudWxsLCJpb3NfY2F0ZWdvcnkiOm51bGwsImlvc19zb3VuZCI6bnVsbCwiYXBuc19hbGVydCI6bnVsbCwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOnRydWUsImlzQ2hyb21lIjpmYWxzZSwiaXNDaHJvbWVXZWIiOmZhbHNlLCJpc0FsZXhhIjpmYWxzZSwiaXNGaXJlZm94IjpmYWxzZSwiaXNJb3MiOnRydWUsImlzU2FmYXJpIjpmYWxzZSwiaXNXUCI6ZmFsc2UsImlzV1BfV05TIjpmYWxzZSwiaXNFZGdlIjpmYWxzZSwibGFyZ2VfaWNvbiI6bnVsbCwicHJpb3JpdHkiOm51bGwsInF1ZXVlZF9hdCI6MTUzMDE5ODk5OSwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTk4OTk5LCJjb21wbGV0ZWRfYXQiOjE1MzAxOTkwMDAsInNtYWxsX2ljb24iOm51bGwsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6bnVsbCwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6bnVsbCwid3Bfd25zX3NvdW5kIjpudWxsfSx7ImFkbV9iaWdfcGljdHVyZSI6IiIsImFkbV9ncm91cCI6IiIsImFkbV9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFkbV9sYXJnZV9pY29uIjoiIiwiYWRtX3NtYWxsX2ljb24iOiIiLCJhZG1fc291bmQiOiIiLCJzcG9rZW5fdGV4dCI6e30sImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOmZhbHNlLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6IiIsImFuZHJvaWRfZ3JvdXAiOiIiLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOnsiZW4iOiIifSwiYW5kcm9pZF9sZWRfY29sb3IiOiIiLCJhbmRyb2lkX3NvdW5kIjoiIiwiYW5kcm9pZF92aXNpYmlsaXR5IjoxLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6IiIsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjoiIiwiY2hyb21lX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ltYWdlIjoiIiwiY2hyb21lX3dlYl9iYWRnZSI6IiIsImNvbnRlbnRfYXZhaWxhYmxlIjpmYWxzZSwiY29udGVudHMiOnsiZW4iOiJnZmRnZmRnZCJ9LCJjb252ZXJ0ZWQiOjAsImRhdGEiOm51bGwsImRlbGF5ZWRfb3B0aW9uIjoiaW1tZWRpYXRlIiwiZGVsaXZlcnlfdGltZV9vZl9kYXkiOiIzOjMyUE0iLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjoiIiwiaGVhZGluZ3MiOnsiZW4iOiJkc2Fkc2FkcyJ9LCJpZCI6ImE0MmIzNjA0LTkwOTYtNDE0YS1hMzliLTBiMjNjMjcyZGRhNCIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWxsIl0sImlvc19iYWRnZUNvdW50IjoxLCJpb3NfYmFkZ2VUeXBlIjoiTm9uZSIsImlvc19jYXRlZ29yeSI6IiIsImlvc19zb3VuZCI6IiIsImFwbnNfYWxlcnQiOnt9LCJpc0FkbSI6ZmFsc2UsImlzQW5kcm9pZCI6dHJ1ZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjoiIiwicHJpb3JpdHkiOjUsInF1ZXVlZF9hdCI6MTUzMDE5Mjc2OCwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTkyNzY4LCJjb21wbGV0ZWRfYXQiOjE1MzAxOTI3NjksInNtYWxsX2ljb24iOiIiLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOiIiLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjoiIiwid3Bfd25zX3NvdW5kIjoiIn0seyJhZG1fYmlnX3BpY3R1cmUiOiIiLCJhZG1fZ3JvdXAiOiIiLCJhZG1fZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhZG1fbGFyZ2VfaWNvbiI6IiIsImFkbV9zbWFsbF9pY29uIjoiIiwiYWRtX3NvdW5kIjoiIiwic3Bva2VuX3RleHQiOnt9LCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpmYWxzZSwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOiIiLCJhbmRyb2lkX2dyb3VwIjoiIiwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFuZHJvaWRfbGVkX2NvbG9yIjoiIiwiYW5kcm9pZF9zb3VuZCI6IiIsImFuZHJvaWRfdmlzaWJpbGl0eSI6MSwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOiIiLCJidXR0b25zIjoiW3tcImlkXCI6XCJvbmVcIixcInRleHRcIjpcIk9uZVwiLFwiaWNvblwiOlwiaWNfbWVudV9zaGFyZVwifV0iLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6IiIsImNocm9tZV9pY29uIjoiIiwiY2hyb21lX3dlYl9pY29uIjoiIiwiY2hyb21lX3dlYl9pbWFnZSI6IiIsImNocm9tZV93ZWJfYmFkZ2UiOiIiLCJjb250ZW50X2F2YWlsYWJsZSI6ZmFsc2UsImNvbnRlbnRzIjp7ImVuIjoiZHNkc2QifSwiY29udmVydGVkIjoxLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6ImltbWVkaWF0ZSIsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjoiMTowMVBNIiwiZXJyb3JlZCI6MCwiZXhjbHVkZWRfc2VnbWVudHMiOltdLCJmYWlsZWQiOjAsImZpcmVmb3hfaWNvbiI6IiIsImhlYWRpbmdzIjp7ImVuIjoiVGVzdCBQdWxzYW50aSJ9LCJpZCI6Ijk1NzQ1MWUwLWJhZjMtNDhlOC1iYjZhLTM3NzUyMjBiZWM5NSIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWxsIl0sImlvc19iYWRnZUNvdW50IjoxLCJpb3NfYmFkZ2VUeXBlIjoiSW5jcmVhc2UiLCJpb3NfY2F0ZWdvcnkiOiIiLCJpb3Nfc291bmQiOiIiLCJhcG5zX2FsZXJ0Ijp7fSwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOmZhbHNlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOiIiLCJwcmlvcml0eSI6NSwicXVldWVkX2F0IjoxNTMwMTgzODMzLCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxODM4MzMsImNvbXBsZXRlZF9hdCI6MTUzMDE4MzgzNCwic21hbGxfaWNvbiI6IiIsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6IiIsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOiIiLCJ3cF93bnNfc291bmQiOiIifSx7ImFkbV9iaWdfcGljdHVyZSI6IiIsImFkbV9ncm91cCI6IiIsImFkbV9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFkbV9sYXJnZV9pY29uIjoiIiwiYWRtX3NtYWxsX2ljb24iOiIiLCJhZG1fc291bmQiOiIiLCJzcG9rZW5fdGV4dCI6e30sImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOmZhbHNlLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6IiIsImFuZHJvaWRfZ3JvdXAiOiIiLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOnsiZW4iOiIifSwiYW5kcm9pZF9sZWRfY29sb3IiOiIiLCJhbmRyb2lkX3NvdW5kIjoiIiwiYW5kcm9pZF92aXNpYmlsaXR5IjoxLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6IiIsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjoiIiwiY2hyb21lX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ltYWdlIjoiIiwiY2hyb21lX3dlYl9iYWRnZSI6IiIsImNvbnRlbnRfYXZhaWxhYmxlIjpmYWxzZSwiY29udGVudHMiOnsiZW4iOiJkc2ZkYXNmZGFzIn0sImNvbnZlcnRlZCI6MCwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOiJpbW1lZGlhdGUiLCJkZWxpdmVyeV90aW1lX29mX2RheSI6IjEyOjUyUE0iLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjoiIiwiaGVhZGluZ3MiOnsiZW4iOiJmZHNmZGFzZiJ9LCJpZCI6ImYyNDZmNmFlLTUwZmQtNGUwNi1hOWRkLTQ1MDgwZDRlMzI5MCIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWxsIl0sImlvc19iYWRnZUNvdW50IjoxLCJpb3NfYmFkZ2VUeXBlIjoiSW5jcmVhc2UiLCJpb3NfY2F0ZWdvcnkiOiIiLCJpb3Nfc291bmQiOiJyZXdhcmQud2F2IiwiYXBuc19hbGVydCI6e30sImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjoiIiwicHJpb3JpdHkiOjUsInF1ZXVlZF9hdCI6MTUzMDE4MzE0NSwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTgzMTQ1LCJjb21wbGV0ZWRfYXQiOjE1MzAxODMxNDUsInNtYWxsX2ljb24iOiIiLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOiIiLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjoiIiwid3Bfd25zX3NvdW5kIjoiIn0seyJhZG1fYmlnX3BpY3R1cmUiOiIiLCJhZG1fZ3JvdXAiOiIiLCJhZG1fZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhZG1fbGFyZ2VfaWNvbiI6IiIsImFkbV9zbWFsbF9pY29uIjoiIiwiYWRtX3NvdW5kIjoiIiwic3Bva2VuX3RleHQiOnt9LCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpmYWxzZSwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOiIiLCJhbmRyb2lkX2dyb3VwIjoiIiwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFuZHJvaWRfbGVkX2NvbG9yIjoiIiwiYW5kcm9pZF9zb3VuZCI6IiIsImFuZHJvaWRfdmlzaWJpbGl0eSI6MSwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOiIiLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6IiIsImNocm9tZV9pY29uIjoiIiwiY2hyb21lX3dlYl9pY29uIjoiIiwiY2hyb21lX3dlYl9pbWFnZSI6IiIsImNocm9tZV93ZWJfYmFkZ2UiOiIiLCJjb250ZW50X2F2YWlsYWJsZSI6ZmFsc2UsImNvbnRlbnRzIjp7ImVuIjoidGVzdCB0ZXN0IDEifSwiY29udmVydGVkIjowLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6ImltbWVkaWF0ZSIsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjoiMTI6NTFQTSIsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOiIiLCJoZWFkaW5ncyI6eyJlbiI6InRlc3QgdGVzdCJ9LCJpZCI6IjllODI3NTAxLTNmNmQtNGYyNy05ZDUwLThlY2Y1YjZlNDNlMSIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWxsIl0sImlvc19iYWRnZUNvdW50IjoxLCJpb3NfYmFkZ2VUeXBlIjoiSW5jcmVhc2UiLCJpb3NfY2F0ZWdvcnkiOiIiLCJpb3Nfc291bmQiOiJyZXdhcmQud2F2IiwiYXBuc19hbGVydCI6e30sImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjoiIiwicHJpb3JpdHkiOjUsInF1ZXVlZF9hdCI6MTUzMDE4MzEwNywicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTgzMTA3LCJjb21wbGV0ZWRfYXQiOjE1MzAxODMxMDgsInNtYWxsX2ljb24iOiIiLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOiIiLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjoiIiwid3Bfd25zX3NvdW5kIjoiIn0seyJhZG1fYmlnX3BpY3R1cmUiOiIiLCJhZG1fZ3JvdXAiOiIiLCJhZG1fZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhZG1fbGFyZ2VfaWNvbiI6IiIsImFkbV9zbWFsbF9pY29uIjoiIiwiYWRtX3NvdW5kIjoiIiwic3Bva2VuX3RleHQiOnt9LCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpmYWxzZSwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOiIiLCJhbmRyb2lkX2dyb3VwIjoiIiwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFuZHJvaWRfbGVkX2NvbG9yIjoiIiwiYW5kcm9pZF9zb3VuZCI6IiIsImFuZHJvaWRfdmlzaWJpbGl0eSI6MSwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOiIiLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6IiIsImNocm9tZV9pY29uIjoiIiwiY2hyb21lX3dlYl9pY29uIjoiIiwiY2hyb21lX3dlYl9pbWFnZSI6IiIsImNocm9tZV93ZWJfYmFkZ2UiOiIiLCJjb250ZW50X2F2YWlsYWJsZSI6ZmFsc2UsImNvbnRlbnRzIjp7ImVuIjoidGVzdCAyIn0sImNvbnZlcnRlZCI6MCwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOiJpbW1lZGlhdGUiLCJkZWxpdmVyeV90aW1lX29mX2RheSI6IjEyOjIwUE0iLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjoiIiwiaGVhZGluZ3MiOnsiZW4iOiJUZXN0IDIifSwiaWQiOiI5OTI1MzAyOC1iNThmLTQ3YjEtYjgxZC01NDAwZjFkZjI5ODUiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIkFsbCJdLCJpb3NfYmFkZ2VDb3VudCI6MSwiaW9zX2JhZGdlVHlwZSI6Ik5vbmUiLCJpb3NfY2F0ZWdvcnkiOiIiLCJpb3Nfc291bmQiOiJuZXdDYW1wYWlnbi53YXYiLCJhcG5zX2FsZXJ0Ijp7fSwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOmZhbHNlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOiIiLCJwcmlvcml0eSI6NSwicXVldWVkX2F0IjoxNTMwMTgxMjgwLCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxODEyODAsImNvbXBsZXRlZF9hdCI6MTUzMDE4MTI4MCwic21hbGxfaWNvbiI6IiIsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6IiIsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOiIiLCJ3cF93bnNfc291bmQiOiIifSx7ImFkbV9iaWdfcGljdHVyZSI6IiIsImFkbV9ncm91cCI6IiIsImFkbV9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFkbV9sYXJnZV9pY29uIjoiIiwiYWRtX3NtYWxsX2ljb24iOiIiLCJhZG1fc291bmQiOiIiLCJzcG9rZW5fdGV4dCI6e30sImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOmZhbHNlLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6IiIsImFuZHJvaWRfZ3JvdXAiOiIiLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOnsiZW4iOiIifSwiYW5kcm9pZF9sZWRfY29sb3IiOiIiLCJhbmRyb2lkX3NvdW5kIjoiIiwiYW5kcm9pZF92aXNpYmlsaXR5IjoxLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6IiIsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjoiIiwiY2hyb21lX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ltYWdlIjoiIiwiY2hyb21lX3dlYl9iYWRnZSI6IiIsImNvbnRlbnRfYXZhaWxhYmxlIjpmYWxzZSwiY29udGVudHMiOnsiZW4iOiJ0ZXN0IDEifSwiY29udmVydGVkIjowLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6ImltbWVkaWF0ZSIsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjoiMTI6MThQTSIsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOiIiLCJoZWFkaW5ncyI6eyJlbiI6IlJld2FyZCAxIn0sImlkIjoiOTVjNGI0NDktN2I3Yi00NDVkLWEzNmItMjZhZTYzOTcxNmI0IiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBbGwiXSwiaW9zX2JhZGdlQ291bnQiOjEsImlvc19iYWRnZVR5cGUiOiJOb25lIiwiaW9zX2NhdGVnb3J5IjoiIiwiaW9zX3NvdW5kIjoicmV3YXJkLndhdiIsImFwbnNfYWxlcnQiOnt9LCJpc0FkbSI6ZmFsc2UsImlzQW5kcm9pZCI6ZmFsc2UsImlzQ2hyb21lIjpmYWxzZSwiaXNDaHJvbWVXZWIiOmZhbHNlLCJpc0FsZXhhIjpmYWxzZSwiaXNGaXJlZm94IjpmYWxzZSwiaXNJb3MiOnRydWUsImlzU2FmYXJpIjpmYWxzZSwiaXNXUCI6ZmFsc2UsImlzV1BfV05TIjpmYWxzZSwiaXNFZGdlIjpmYWxzZSwibGFyZ2VfaWNvbiI6IiIsInByaW9yaXR5Ijo1LCJxdWV1ZWRfYXQiOjE1MzAxODExNTgsInJlbWFpbmluZyI6MCwic2VuZF9hZnRlciI6MTUzMDE4MTE1OCwiY29tcGxldGVkX2F0IjoxNTMwMTgxMTU5LCJzbWFsbF9pY29uIjoiIiwic3VjY2Vzc2Z1bCI6MSwidGFncyI6bnVsbCwiZmlsdGVycyI6bnVsbCwidGVtcGxhdGVfaWQiOm51bGwsInR0bCI6bnVsbCwidXJsIjoiIiwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6IiIsIndwX3duc19zb3VuZCI6IiJ9LHsiYWRtX2JpZ19waWN0dXJlIjoiIiwiYWRtX2dyb3VwIjoiIiwiYWRtX2dyb3VwX21lc3NhZ2UiOnsiZW4iOiIifSwiYWRtX2xhcmdlX2ljb24iOiIiLCJhZG1fc21hbGxfaWNvbiI6IiIsImFkbV9zb3VuZCI6IiIsInNwb2tlbl90ZXh0Ijp7fSwiYWxleGFfc3NtbCI6bnVsbCwiYWxleGFfZGlzcGxheV90aXRsZSI6bnVsbCwiYW1hem9uX2JhY2tncm91bmRfZGF0YSI6ZmFsc2UsImFuZHJvaWRfYWNjZW50X2NvbG9yIjoiIiwiYW5kcm9pZF9ncm91cCI6IiIsImFuZHJvaWRfZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhbmRyb2lkX2xlZF9jb2xvciI6IiIsImFuZHJvaWRfc291bmQiOiIiLCJhbmRyb2lkX3Zpc2liaWxpdHkiOjEsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjoiIiwiYnV0dG9ucyI6Ilt7XCJpZFwiOlwiMVwiLFwidGV4dFwiOlwicGlwcG9cIixcImljb25cIjpcIlwifSx7XCJpZFwiOlwiMlwiLFwidGV4dFwiOlwicGx1dG9cIixcImljb25cIjpcIlwifSx7XCJpZFwiOlwiM1wiLFwidGV4dFwiOlwicXVhcXVhXCIsXCJpY29uXCI6XCJcIn1dIiwiY2FuY2VsZWQiOmZhbHNlLCJjaHJvbWVfYmlnX3BpY3R1cmUiOiIiLCJjaHJvbWVfaWNvbiI6IiIsImNocm9tZV93ZWJfaWNvbiI6IiIsImNocm9tZV93ZWJfaW1hZ2UiOiIiLCJjaHJvbWVfd2ViX2JhZGdlIjoiIiwiY29udGVudF9hdmFpbGFibGUiOmZhbHNlLCJjb250ZW50cyI6eyJlbiI6ImZzZmEifSwiY29udmVydGVkIjoxLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6ImltbWVkaWF0ZSIsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjoiMTE6NDZBTSIsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOiIiLCJoZWFkaW5ncyI6eyJlbiI6ImRzYWRhc2RhIn0sImlkIjoiZmFmNThkMmMtZjQ1ZS00YWI1LTk1NzMtMDc3ZTQ2NDM1MTdiIiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBbGwiXSwiaW9zX2JhZGdlQ291bnQiOjEsImlvc19iYWRnZVR5cGUiOiJOb25lIiwiaW9zX2NhdGVnb3J5IjoiIiwiaW9zX3NvdW5kIjoiIiwiYXBuc19hbGVydCI6e30sImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjoiIiwicHJpb3JpdHkiOjUsInF1ZXVlZF9hdCI6MTUzMDE3OTIwMSwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTc5MjAxLCJjb21wbGV0ZWRfYXQiOjE1MzAxNzkyMDEsInNtYWxsX2ljb24iOiIiLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOiIiLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjoiIiwid3Bfd25zX3NvdW5kIjoiIn0seyJhZG1fYmlnX3BpY3R1cmUiOiIiLCJhZG1fZ3JvdXAiOiIiLCJhZG1fZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhZG1fbGFyZ2VfaWNvbiI6IiIsImFkbV9zbWFsbF9pY29uIjoiIiwiYWRtX3NvdW5kIjoiIiwic3Bva2VuX3RleHQiOnt9LCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpmYWxzZSwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOiIiLCJhbmRyb2lkX2dyb3VwIjoiIiwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFuZHJvaWRfbGVkX2NvbG9yIjoiIiwiYW5kcm9pZF9zb3VuZCI6IiIsImFuZHJvaWRfdmlzaWJpbGl0eSI6MSwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOiIiLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6IiIsImNocm9tZV9pY29uIjoiIiwiY2hyb21lX3dlYl9pY29uIjoiIiwiY2hyb21lX3dlYl9pbWFnZSI6IiIsImNocm9tZV93ZWJfYmFkZ2UiOiIiLCJjb250ZW50X2F2YWlsYWJsZSI6ZmFsc2UsImNvbnRlbnRzIjp7ImVuIjoidmlzaXRhIGlsIG5vc3RybyBzaXRvIHdlYiAyIn0sImNvbnZlcnRlZCI6MSwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOiJpbW1lZGlhdGUiLCJkZWxpdmVyeV90aW1lX29mX2RheSI6IjExOjQ0QU0iLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjoiIiwiaGVhZGluZ3MiOnsiZW4iOiJkYXNkc2FkIn0sImlkIjoiMDJhNGYyZmItYTZiNi00MmM4LWE5NWQtYjVhYTg3MjM0YTk5IiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBbGwiXSwiaW9zX2JhZGdlQ291bnQiOjEsImlvc19iYWRnZVR5cGUiOiJOb25lIiwiaW9zX2NhdGVnb3J5IjoiIiwiaW9zX3NvdW5kIjoiIiwiYXBuc19hbGVydCI6e30sImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjoiIiwicHJpb3JpdHkiOjUsInF1ZXVlZF9hdCI6MTUzMDE3OTEyNiwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTc5MTI2LCJjb21wbGV0ZWRfYXQiOjE1MzAxNzkxMjYsInNtYWxsX2ljb24iOiIiLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOiJodHRwOi8vd29yZHByZXNzLTE4NDEyMi01NDEyODEuY2xvdWR3YXlzYXBwcy5jb20vIiwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6IiIsIndwX3duc19zb3VuZCI6IiJ9LHsiYWRtX2JpZ19waWN0dXJlIjoiIiwiYWRtX2dyb3VwIjoiIiwiYWRtX2dyb3VwX21lc3NhZ2UiOnsiZW4iOiIifSwiYWRtX2xhcmdlX2ljb24iOiIiLCJhZG1fc21hbGxfaWNvbiI6IiIsImFkbV9zb3VuZCI6IiIsInNwb2tlbl90ZXh0Ijp7fSwiYWxleGFfc3NtbCI6bnVsbCwiYWxleGFfZGlzcGxheV90aXRsZSI6bnVsbCwiYW1hem9uX2JhY2tncm91bmRfZGF0YSI6ZmFsc2UsImFuZHJvaWRfYWNjZW50X2NvbG9yIjoiIiwiYW5kcm9pZF9ncm91cCI6IiIsImFuZHJvaWRfZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhbmRyb2lkX2xlZF9jb2xvciI6IiIsImFuZHJvaWRfc291bmQiOiIiLCJhbmRyb2lkX3Zpc2liaWxpdHkiOjEsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjoiIiwiYnV0dG9ucyI6bnVsbCwiY2FuY2VsZWQiOmZhbHNlLCJjaHJvbWVfYmlnX3BpY3R1cmUiOiIiLCJjaHJvbWVfaWNvbiI6IiIsImNocm9tZV93ZWJfaWNvbiI6IiIsImNocm9tZV93ZWJfaW1hZ2UiOiIiLCJjaHJvbWVfd2ViX2JhZGdlIjoiIiwiY29udGVudF9hdmFpbGFibGUiOmZhbHNlLCJjb250ZW50cyI6eyJlbiI6InZpc2l0YSBpbCBub3N0cm8gc2l0byB3ZWIifSwiY29udmVydGVkIjoxLCJkYXRhIjp7ImtleTEiOiJwaXBwbyJ9LCJkZWxheWVkX29wdGlvbiI6ImltbWVkaWF0ZSIsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjoiMTE6MzhBTSIsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOiIiLCJoZWFkaW5ncyI6eyJlbiI6IkNpYW8gY2lhb25lIn0sImlkIjoiNjkyZjk5OGUtZjczZC00ZGRlLWJmNTktNDU4NjkzNTg2YjdmIiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBbGwiXSwiaW9zX2JhZGdlQ291bnQiOjEsImlvc19iYWRnZVR5cGUiOiJOb25lIiwiaW9zX2NhdGVnb3J5IjoiIiwiaW9zX3NvdW5kIjoiIiwiYXBuc19hbGVydCI6e30sImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjoiIiwicHJpb3JpdHkiOjUsInF1ZXVlZF9hdCI6MTUzMDE3OTA2MSwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTc5MDYxLCJjb21wbGV0ZWRfYXQiOjE1MzAxNzkwNjIsInNtYWxsX2ljb24iOiIiLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOiJodHRwOi8vd29yZHByZXNzLTE4NDEyMi01NDEyODEuY2xvdWR3YXlzYXBwcy5jb20vIiwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6IiIsIndwX3duc19zb3VuZCI6IiJ9LHsiYWRtX2JpZ19waWN0dXJlIjpudWxsLCJhZG1fZ3JvdXAiOm51bGwsImFkbV9ncm91cF9tZXNzYWdlIjpudWxsLCJhZG1fbGFyZ2VfaWNvbiI6bnVsbCwiYWRtX3NtYWxsX2ljb24iOm51bGwsImFkbV9zb3VuZCI6bnVsbCwic3Bva2VuX3RleHQiOm51bGwsImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOm51bGwsImFuZHJvaWRfYWNjZW50X2NvbG9yIjpudWxsLCJhbmRyb2lkX2dyb3VwIjpudWxsLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOm51bGwsImFuZHJvaWRfbGVkX2NvbG9yIjpudWxsLCJhbmRyb2lkX3NvdW5kIjpudWxsLCJhbmRyb2lkX3Zpc2liaWxpdHkiOm51bGwsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjpudWxsLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6bnVsbCwiY2hyb21lX2ljb24iOm51bGwsImNocm9tZV93ZWJfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pbWFnZSI6bnVsbCwiY2hyb21lX3dlYl9iYWRnZSI6bnVsbCwiY29udGVudF9hdmFpbGFibGUiOm51bGwsImNvbnRlbnRzIjp7ImVuIjoiTGl2ZSBUZXN0In0sImNvbnZlcnRlZCI6MSwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOm51bGwsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjpudWxsLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjpudWxsLCJoZWFkaW5ncyI6eyJlbiI6IlRoaXMgaXMgYSBsaXZlIHRlc3QgZm9yIE9uZVNpZ25hbCJ9LCJpZCI6ImZlODJjMWFlLTU0YzItNDU4Yi04YWFkLTdlZGMzZThhOTZjNCIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWN0aXZlIFVzZXJzIl0sImlvc19iYWRnZUNvdW50IjpudWxsLCJpb3NfYmFkZ2VUeXBlIjpudWxsLCJpb3NfY2F0ZWdvcnkiOm51bGwsImlvc19zb3VuZCI6bnVsbCwiYXBuc19hbGVydCI6bnVsbCwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOmZhbHNlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOm51bGwsInByaW9yaXR5IjpudWxsLCJxdWV1ZWRfYXQiOjE1MzAxNzg5MjUsInJlbWFpbmluZyI6MCwic2VuZF9hZnRlciI6MTUzMDE3ODkyNSwiY29tcGxldGVkX2F0IjoxNTMwMTc4OTI1LCJzbWFsbF9pY29uIjpudWxsLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOm51bGwsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOm51bGwsIndwX3duc19zb3VuZCI6bnVsbH0seyJhZG1fYmlnX3BpY3R1cmUiOm51bGwsImFkbV9ncm91cCI6bnVsbCwiYWRtX2dyb3VwX21lc3NhZ2UiOm51bGwsImFkbV9sYXJnZV9pY29uIjpudWxsLCJhZG1fc21hbGxfaWNvbiI6bnVsbCwiYWRtX3NvdW5kIjpudWxsLCJzcG9rZW5fdGV4dCI6bnVsbCwiYWxleGFfc3NtbCI6bnVsbCwiYWxleGFfZGlzcGxheV90aXRsZSI6bnVsbCwiYW1hem9uX2JhY2tncm91bmRfZGF0YSI6bnVsbCwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOm51bGwsImFuZHJvaWRfZ3JvdXAiOm51bGwsImFuZHJvaWRfZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYW5kcm9pZF9sZWRfY29sb3IiOm51bGwsImFuZHJvaWRfc291bmQiOm51bGwsImFuZHJvaWRfdmlzaWJpbGl0eSI6bnVsbCwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOm51bGwsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjpudWxsLCJjaHJvbWVfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ltYWdlIjpudWxsLCJjaHJvbWVfd2ViX2JhZGdlIjpudWxsLCJjb250ZW50X2F2YWlsYWJsZSI6bnVsbCwiY29udGVudHMiOnsiZW4iOiJMaXZlIFRlc3QifSwiY29udmVydGVkIjowLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6bnVsbCwiZGVsaXZlcnlfdGltZV9vZl9kYXkiOm51bGwsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOm51bGwsImhlYWRpbmdzIjp7ImVuIjoiVGhpcyBpcyBhIGxpdmUgdGVzdCBmb3IgT25lU2lnbmFsIn0sImlkIjoiMjg1M2FmYzMtYTZmNC00OTAwLTg2ZDQtM2IwMmI5NDlmMDBkIiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBY3RpdmUgVXNlcnMiXSwiaW9zX2JhZGdlQ291bnQiOm51bGwsImlvc19iYWRnZVR5cGUiOm51bGwsImlvc19jYXRlZ29yeSI6bnVsbCwiaW9zX3NvdW5kIjpudWxsLCJhcG5zX2FsZXJ0IjpudWxsLCJpc0FkbSI6ZmFsc2UsImlzQW5kcm9pZCI6ZmFsc2UsImlzQ2hyb21lIjpmYWxzZSwiaXNDaHJvbWVXZWIiOmZhbHNlLCJpc0FsZXhhIjpmYWxzZSwiaXNGaXJlZm94IjpmYWxzZSwiaXNJb3MiOnRydWUsImlzU2FmYXJpIjpmYWxzZSwiaXNXUCI6ZmFsc2UsImlzV1BfV05TIjpmYWxzZSwiaXNFZGdlIjpmYWxzZSwibGFyZ2VfaWNvbiI6bnVsbCwicHJpb3JpdHkiOm51bGwsInF1ZXVlZF9hdCI6MTUzMDE3ODg0NiwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTc4ODQ2LCJjb21wbGV0ZWRfYXQiOjE1MzAxNzg4NDYsInNtYWxsX2ljb24iOm51bGwsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6bnVsbCwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6bnVsbCwid3Bfd25zX3NvdW5kIjpudWxsfSx7ImFkbV9iaWdfcGljdHVyZSI6bnVsbCwiYWRtX2dyb3VwIjpudWxsLCJhZG1fZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYWRtX2xhcmdlX2ljb24iOm51bGwsImFkbV9zbWFsbF9pY29uIjpudWxsLCJhZG1fc291bmQiOm51bGwsInNwb2tlbl90ZXh0IjpudWxsLCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpudWxsLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6bnVsbCwiYW5kcm9pZF9ncm91cCI6bnVsbCwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjpudWxsLCJhbmRyb2lkX2xlZF9jb2xvciI6bnVsbCwiYW5kcm9pZF9zb3VuZCI6bnVsbCwiYW5kcm9pZF92aXNpYmlsaXR5IjpudWxsLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6bnVsbCwiYnV0dG9ucyI6bnVsbCwiY2FuY2VsZWQiOmZhbHNlLCJjaHJvbWVfYmlnX3BpY3R1cmUiOm51bGwsImNocm9tZV9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ljb24iOm51bGwsImNocm9tZV93ZWJfaW1hZ2UiOm51bGwsImNocm9tZV93ZWJfYmFkZ2UiOm51bGwsImNvbnRlbnRfYXZhaWxhYmxlIjpudWxsLCJjb250ZW50cyI6eyJlbiI6IkxpdmUgVGVzdCJ9LCJjb252ZXJ0ZWQiOjEsImRhdGEiOm51bGwsImRlbGF5ZWRfb3B0aW9uIjpudWxsLCJkZWxpdmVyeV90aW1lX29mX2RheSI6bnVsbCwiZXJyb3JlZCI6MCwiZXhjbHVkZWRfc2VnbWVudHMiOltdLCJmYWlsZWQiOjAsImZpcmVmb3hfaWNvbiI6bnVsbCwiaGVhZGluZ3MiOnsiZW4iOiJUaGlzIGlzIGEgbGl2ZSB0ZXN0IGZvciBPbmVTaWduYWwifSwiaWQiOiJiYThhOTNlMC03OTYyLTRlMzItYTIwMS1lODFlYjhhNDY0MTUiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIkFjdGl2ZSBVc2VycyJdLCJpb3NfYmFkZ2VDb3VudCI6bnVsbCwiaW9zX2JhZGdlVHlwZSI6bnVsbCwiaW9zX2NhdGVnb3J5IjpudWxsLCJpb3Nfc291bmQiOm51bGwsImFwbnNfYWxlcnQiOm51bGwsImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjpudWxsLCJwcmlvcml0eSI6bnVsbCwicXVldWVkX2F0IjoxNTMwMTc4NzgwLCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxNzg3ODAsImNvbXBsZXRlZF9hdCI6MTUzMDE3ODc4MSwic21hbGxfaWNvbiI6bnVsbCwic3VjY2Vzc2Z1bCI6MSwidGFncyI6bnVsbCwiZmlsdGVycyI6bnVsbCwidGVtcGxhdGVfaWQiOm51bGwsInR0bCI6bnVsbCwidXJsIjpudWxsLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjpudWxsLCJ3cF93bnNfc291bmQiOm51bGx9LHsiYWRtX2JpZ19waWN0dXJlIjpudWxsLCJhZG1fZ3JvdXAiOm51bGwsImFkbV9ncm91cF9tZXNzYWdlIjpudWxsLCJhZG1fbGFyZ2VfaWNvbiI6bnVsbCwiYWRtX3NtYWxsX2ljb24iOm51bGwsImFkbV9zb3VuZCI6bnVsbCwic3Bva2VuX3RleHQiOm51bGwsImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOm51bGwsImFuZHJvaWRfYWNjZW50X2NvbG9yIjpudWxsLCJhbmRyb2lkX2dyb3VwIjpudWxsLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOm51bGwsImFuZHJvaWRfbGVkX2NvbG9yIjpudWxsLCJhbmRyb2lkX3NvdW5kIjpudWxsLCJhbmRyb2lkX3Zpc2liaWxpdHkiOm51bGwsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjpudWxsLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6bnVsbCwiY2hyb21lX2ljb24iOm51bGwsImNocm9tZV93ZWJfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pbWFnZSI6bnVsbCwiY2hyb21lX3dlYl9iYWRnZSI6bnVsbCwiY29udGVudF9hdmFpbGFibGUiOm51bGwsImNvbnRlbnRzIjp7ImVuIjoiTGl2ZSBUZXN0In0sImNvbnZlcnRlZCI6MSwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOm51bGwsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjpudWxsLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjpudWxsLCJoZWFkaW5ncyI6eyJlbiI6IlRoaXMgaXMgYSBsaXZlIHRlc3QgZm9yIE9uZVNpZ25hbCJ9LCJpZCI6ImRmMzlkZGJjLTY2NmItNGVjNS1hMmQ0LWY5ZTEyNDhjMmYzZiIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWN0aXZlIFVzZXJzIl0sImlvc19iYWRnZUNvdW50IjpudWxsLCJpb3NfYmFkZ2VUeXBlIjpudWxsLCJpb3NfY2F0ZWdvcnkiOm51bGwsImlvc19zb3VuZCI6bnVsbCwiYXBuc19hbGVydCI6bnVsbCwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOmZhbHNlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOm51bGwsInByaW9yaXR5IjpudWxsLCJxdWV1ZWRfYXQiOjE1MzAxNzg3MzQsInJlbWFpbmluZyI6MCwic2VuZF9hZnRlciI6MTUzMDE3ODczNCwiY29tcGxldGVkX2F0IjoxNTMwMTc4NzM0LCJzbWFsbF9pY29uIjpudWxsLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOm51bGwsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOm51bGwsIndwX3duc19zb3VuZCI6bnVsbH0seyJhZG1fYmlnX3BpY3R1cmUiOiIiLCJhZG1fZ3JvdXAiOiIiLCJhZG1fZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhZG1fbGFyZ2VfaWNvbiI6IiIsImFkbV9zbWFsbF9pY29uIjoiIiwiYWRtX3NvdW5kIjoiIiwic3Bva2VuX3RleHQiOnt9LCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpmYWxzZSwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOiIiLCJhbmRyb2lkX2dyb3VwIjoiIiwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFuZHJvaWRfbGVkX2NvbG9yIjoiIiwiYW5kcm9pZF9zb3VuZCI6IiIsImFuZHJvaWRfdmlzaWJpbGl0eSI6MSwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOiIiLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6IiIsImNocm9tZV9pY29uIjoiIiwiY2hyb21lX3dlYl9pY29uIjoiIiwiY2hyb21lX3dlYl9pbWFnZSI6IiIsImNocm9tZV93ZWJfYmFkZ2UiOiIiLCJjb250ZW50X2F2YWlsYWJsZSI6ZmFsc2UsImNvbnRlbnRzIjp7ImVuIjoiU2dyaWduaWduw6wifSwiY29udmVydGVkIjoxLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6ImltbWVkaWF0ZSIsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjoiMTE6MzNBTSIsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOiIiLCJoZWFkaW5ncyI6eyJlbiI6IkNpYW8ifSwiaWQiOiJiMTIyNDg5YS00ODU0LTQ2NTMtODFiMy1mMTYyOThkYzRkOTYiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIkFjdGl2ZSBVc2VycyJdLCJpb3NfYmFkZ2VDb3VudCI6MSwiaW9zX2JhZGdlVHlwZSI6Ik5vbmUiLCJpb3NfY2F0ZWdvcnkiOiIiLCJpb3Nfc291bmQiOiIiLCJhcG5zX2FsZXJ0Ijp7fSwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOmZhbHNlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOiIiLCJwcmlvcml0eSI6NSwicXVldWVkX2F0IjoxNTMwMTc4NTg2LCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxNzg1ODcsImNvbXBsZXRlZF9hdCI6MTUzMDE3ODU4Nywic21hbGxfaWNvbiI6IiIsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6IiIsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOiIiLCJ3cF93bnNfc291bmQiOiIifSx7ImFkbV9iaWdfcGljdHVyZSI6bnVsbCwiYWRtX2dyb3VwIjpudWxsLCJhZG1fZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYWRtX2xhcmdlX2ljb24iOm51bGwsImFkbV9zbWFsbF9pY29uIjpudWxsLCJhZG1fc291bmQiOm51bGwsInNwb2tlbl90ZXh0IjpudWxsLCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpudWxsLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6bnVsbCwiYW5kcm9pZF9ncm91cCI6bnVsbCwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjpudWxsLCJhbmRyb2lkX2xlZF9jb2xvciI6bnVsbCwiYW5kcm9pZF9zb3VuZCI6bnVsbCwiYW5kcm9pZF92aXNpYmlsaXR5IjpudWxsLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6bnVsbCwiYnV0dG9ucyI6bnVsbCwiY2FuY2VsZWQiOmZhbHNlLCJjaHJvbWVfYmlnX3BpY3R1cmUiOm51bGwsImNocm9tZV9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ljb24iOm51bGwsImNocm9tZV93ZWJfaW1hZ2UiOm51bGwsImNocm9tZV93ZWJfYmFkZ2UiOm51bGwsImNvbnRlbnRfYXZhaWxhYmxlIjpudWxsLCJjb250ZW50cyI6eyJlbiI6IkxpdmUgVGVzdCJ9LCJjb252ZXJ0ZWQiOjAsImRhdGEiOm51bGwsImRlbGF5ZWRfb3B0aW9uIjpudWxsLCJkZWxpdmVyeV90aW1lX29mX2RheSI6bnVsbCwiZXJyb3JlZCI6MCwiZXhjbHVkZWRfc2VnbWVudHMiOltdLCJmYWlsZWQiOjAsImZpcmVmb3hfaWNvbiI6bnVsbCwiaGVhZGluZ3MiOnsiZW4iOiJUaGlzIGlzIGEgbGl2ZSB0ZXN0IGZvciBPbmVTaWduYWwifSwiaWQiOiJjM2ZiMGVlNC1iY2RkLTRiNzctYTkyZC0wMjJiNDYzYTg5OGYiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIkFjdGl2ZSBVc2VycyJdLCJpb3NfYmFkZ2VDb3VudCI6bnVsbCwiaW9zX2JhZGdlVHlwZSI6bnVsbCwiaW9zX2NhdGVnb3J5IjpudWxsLCJpb3Nfc291bmQiOm51bGwsImFwbnNfYWxlcnQiOm51bGwsImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjpudWxsLCJwcmlvcml0eSI6bnVsbCwicXVldWVkX2F0IjoxNTMwMTc4NDk0LCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxNzg0OTQsImNvbXBsZXRlZF9hdCI6MTUzMDE3ODQ5NCwic21hbGxfaWNvbiI6bnVsbCwic3VjY2Vzc2Z1bCI6MSwidGFncyI6bnVsbCwiZmlsdGVycyI6bnVsbCwidGVtcGxhdGVfaWQiOm51bGwsInR0bCI6bnVsbCwidXJsIjpudWxsLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjpudWxsLCJ3cF93bnNfc291bmQiOm51bGx9LHsiYWRtX2JpZ19waWN0dXJlIjpudWxsLCJhZG1fZ3JvdXAiOm51bGwsImFkbV9ncm91cF9tZXNzYWdlIjpudWxsLCJhZG1fbGFyZ2VfaWNvbiI6bnVsbCwiYWRtX3NtYWxsX2ljb24iOm51bGwsImFkbV9zb3VuZCI6bnVsbCwic3Bva2VuX3RleHQiOm51bGwsImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOm51bGwsImFuZHJvaWRfYWNjZW50X2NvbG9yIjpudWxsLCJhbmRyb2lkX2dyb3VwIjpudWxsLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOm51bGwsImFuZHJvaWRfbGVkX2NvbG9yIjpudWxsLCJhbmRyb2lkX3NvdW5kIjpudWxsLCJhbmRyb2lkX3Zpc2liaWxpdHkiOm51bGwsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjpudWxsLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6bnVsbCwiY2hyb21lX2ljb24iOm51bGwsImNocm9tZV93ZWJfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pbWFnZSI6bnVsbCwiY2hyb21lX3dlYl9iYWRnZSI6bnVsbCwiY29udGVudF9hdmFpbGFibGUiOm51bGwsImNvbnRlbnRzIjp7ImVuIjoiTGl2ZSBUZXN0In0sImNvbnZlcnRlZCI6MCwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOm51bGwsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjpudWxsLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjpudWxsLCJoZWFkaW5ncyI6eyJlbiI6IlRoaXMgaXMgYSBsaXZlIHRlc3QgZm9yIE9uZVNpZ25hbCJ9LCJpZCI6IjkwMmUyNThmLTIzYzYtNGQ1ZS1iMDM4LWNjYzE0ZWY3NDUwOCIsImluY2x1ZGVfcGxheWVyX2lkcyI6bnVsbCwiaW5jbHVkZWRfc2VnbWVudHMiOlsiQWN0aXZlIFVzZXJzIl0sImlvc19iYWRnZUNvdW50IjpudWxsLCJpb3NfYmFkZ2VUeXBlIjpudWxsLCJpb3NfY2F0ZWdvcnkiOm51bGwsImlvc19zb3VuZCI6bnVsbCwiYXBuc19hbGVydCI6bnVsbCwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOmZhbHNlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOm51bGwsInByaW9yaXR5IjpudWxsLCJxdWV1ZWRfYXQiOjE1MzAxNzg0NzEsInJlbWFpbmluZyI6MCwic2VuZF9hZnRlciI6MTUzMDE3ODQ3MSwiY29tcGxldGVkX2F0IjoxNTMwMTc4NDcyLCJzbWFsbF9pY29uIjpudWxsLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOm51bGwsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOm51bGwsIndwX3duc19zb3VuZCI6bnVsbH0seyJhZG1fYmlnX3BpY3R1cmUiOm51bGwsImFkbV9ncm91cCI6bnVsbCwiYWRtX2dyb3VwX21lc3NhZ2UiOm51bGwsImFkbV9sYXJnZV9pY29uIjpudWxsLCJhZG1fc21hbGxfaWNvbiI6bnVsbCwiYWRtX3NvdW5kIjpudWxsLCJzcG9rZW5fdGV4dCI6bnVsbCwiYWxleGFfc3NtbCI6bnVsbCwiYWxleGFfZGlzcGxheV90aXRsZSI6bnVsbCwiYW1hem9uX2JhY2tncm91bmRfZGF0YSI6bnVsbCwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOm51bGwsImFuZHJvaWRfZ3JvdXAiOm51bGwsImFuZHJvaWRfZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYW5kcm9pZF9sZWRfY29sb3IiOm51bGwsImFuZHJvaWRfc291bmQiOm51bGwsImFuZHJvaWRfdmlzaWJpbGl0eSI6bnVsbCwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOm51bGwsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjpudWxsLCJjaHJvbWVfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ltYWdlIjpudWxsLCJjaHJvbWVfd2ViX2JhZGdlIjpudWxsLCJjb250ZW50X2F2YWlsYWJsZSI6bnVsbCwiY29udGVudHMiOnsiZW4iOiJTZ3JpZ25pbsOsIn0sImNvbnZlcnRlZCI6MSwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOm51bGwsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjpudWxsLCJlcnJvcmVkIjowLCJleGNsdWRlZF9zZWdtZW50cyI6W10sImZhaWxlZCI6MCwiZmlyZWZveF9pY29uIjpudWxsLCJoZWFkaW5ncyI6eyJlbiI6IlNncmlnbmluw6wifSwiaWQiOiI4OGU1MWMyOC01NTkyLTQ1NmYtYjdlNS1mZDA2Y2I1YmUxNDgiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIkFjdGl2ZSBVc2VycyIsIkFsbCJdLCJpb3NfYmFkZ2VDb3VudCI6bnVsbCwiaW9zX2JhZGdlVHlwZSI6bnVsbCwiaW9zX2NhdGVnb3J5IjpudWxsLCJpb3Nfc291bmQiOm51bGwsImFwbnNfYWxlcnQiOm51bGwsImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjpudWxsLCJwcmlvcml0eSI6bnVsbCwicXVldWVkX2F0IjoxNTMwMTc4Mjg3LCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxNzgyODcsImNvbXBsZXRlZF9hdCI6MTUzMDE3ODI4OCwic21hbGxfaWNvbiI6bnVsbCwic3VjY2Vzc2Z1bCI6MSwidGFncyI6bnVsbCwiZmlsdGVycyI6bnVsbCwidGVtcGxhdGVfaWQiOm51bGwsInR0bCI6bnVsbCwidXJsIjpudWxsLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjpudWxsLCJ3cF93bnNfc291bmQiOm51bGx9LHsiYWRtX2JpZ19waWN0dXJlIjpudWxsLCJhZG1fZ3JvdXAiOm51bGwsImFkbV9ncm91cF9tZXNzYWdlIjpudWxsLCJhZG1fbGFyZ2VfaWNvbiI6bnVsbCwiYWRtX3NtYWxsX2ljb24iOm51bGwsImFkbV9zb3VuZCI6bnVsbCwic3Bva2VuX3RleHQiOm51bGwsImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOm51bGwsImFuZHJvaWRfYWNjZW50X2NvbG9yIjpudWxsLCJhbmRyb2lkX2dyb3VwIjpudWxsLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOm51bGwsImFuZHJvaWRfbGVkX2NvbG9yIjpudWxsLCJhbmRyb2lkX3NvdW5kIjpudWxsLCJhbmRyb2lkX3Zpc2liaWxpdHkiOm51bGwsImFwcF9pZCI6IjIyYmM2ZGVjLTUxNTAtNGQ2ZC04NjI4LTM3NzI1OWQyZGQxNCIsImJpZ19waWN0dXJlIjpudWxsLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6bnVsbCwiY2hyb21lX2ljb24iOm51bGwsImNocm9tZV93ZWJfaWNvbiI6bnVsbCwiY2hyb21lX3dlYl9pbWFnZSI6bnVsbCwiY2hyb21lX3dlYl9iYWRnZSI6bnVsbCwiY29udGVudF9hdmFpbGFibGUiOm51bGwsImNvbnRlbnRzIjp7ImVuIjoiU2dyaWduaW7DrCJ9LCJjb252ZXJ0ZWQiOjEsImRhdGEiOm51bGwsImRlbGF5ZWRfb3B0aW9uIjpudWxsLCJkZWxpdmVyeV90aW1lX29mX2RheSI6bnVsbCwiZXJyb3JlZCI6MCwiZXhjbHVkZWRfc2VnbWVudHMiOltdLCJmYWlsZWQiOjAsImZpcmVmb3hfaWNvbiI6bnVsbCwiaGVhZGluZ3MiOnsiZW4iOiJTZ3JpZ25pbsOsIn0sImlkIjoiNGFiMGYwNzMtOTc0OC00MTg5LThhYTctOTBkNzY1MDUwMzI1IiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBY3RpdmUgVXNlcnMiLCJBbGwiXSwiaW9zX2JhZGdlQ291bnQiOm51bGwsImlvc19iYWRnZVR5cGUiOm51bGwsImlvc19jYXRlZ29yeSI6bnVsbCwiaW9zX3NvdW5kIjpudWxsLCJhcG5zX2FsZXJ0IjpudWxsLCJpc0FkbSI6ZmFsc2UsImlzQW5kcm9pZCI6ZmFsc2UsImlzQ2hyb21lIjpmYWxzZSwiaXNDaHJvbWVXZWIiOmZhbHNlLCJpc0FsZXhhIjpmYWxzZSwiaXNGaXJlZm94IjpmYWxzZSwiaXNJb3MiOnRydWUsImlzU2FmYXJpIjpmYWxzZSwiaXNXUCI6ZmFsc2UsImlzV1BfV05TIjpmYWxzZSwiaXNFZGdlIjpmYWxzZSwibGFyZ2VfaWNvbiI6bnVsbCwicHJpb3JpdHkiOm51bGwsInF1ZXVlZF9hdCI6MTUzMDE3ODI2OCwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTc4MjY4LCJjb21wbGV0ZWRfYXQiOjE1MzAxNzgyNjksInNtYWxsX2ljb24iOm51bGwsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6bnVsbCwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6bnVsbCwid3Bfd25zX3NvdW5kIjpudWxsfSx7ImFkbV9iaWdfcGljdHVyZSI6IiIsImFkbV9ncm91cCI6IiIsImFkbV9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFkbV9sYXJnZV9pY29uIjoiIiwiYWRtX3NtYWxsX2ljb24iOiIiLCJhZG1fc291bmQiOiIiLCJzcG9rZW5fdGV4dCI6e30sImFsZXhhX3NzbWwiOm51bGwsImFsZXhhX2Rpc3BsYXlfdGl0bGUiOm51bGwsImFtYXpvbl9iYWNrZ3JvdW5kX2RhdGEiOmZhbHNlLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6IiIsImFuZHJvaWRfZ3JvdXAiOiIiLCJhbmRyb2lkX2dyb3VwX21lc3NhZ2UiOnsiZW4iOiIifSwiYW5kcm9pZF9sZWRfY29sb3IiOiIiLCJhbmRyb2lkX3NvdW5kIjoiIiwiYW5kcm9pZF92aXNpYmlsaXR5IjoxLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6IiIsImJ1dHRvbnMiOm51bGwsImNhbmNlbGVkIjpmYWxzZSwiY2hyb21lX2JpZ19waWN0dXJlIjoiIiwiY2hyb21lX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ljb24iOiIiLCJjaHJvbWVfd2ViX2ltYWdlIjoiIiwiY2hyb21lX3dlYl9iYWRnZSI6IiIsImNvbnRlbnRfYXZhaWxhYmxlIjpmYWxzZSwiY29udGVudHMiOnsiZW4iOiJTZ3JpZ25pZ27DrCJ9LCJjb252ZXJ0ZWQiOjEsImRhdGEiOm51bGwsImRlbGF5ZWRfb3B0aW9uIjoiaW1tZWRpYXRlIiwiZGVsaXZlcnlfdGltZV9vZl9kYXkiOiIxMToyNEFNIiwiZXJyb3JlZCI6MCwiZXhjbHVkZWRfc2VnbWVudHMiOltdLCJmYWlsZWQiOjAsImZpcmVmb3hfaWNvbiI6IiIsImhlYWRpbmdzIjp7ImVuIjoiQ2lhbyAyIn0sImlkIjoiOTljMmE5ODQtNTczMy00MGViLWIwYjYtY2I2MTVlYjI0YmE5IiwiaW5jbHVkZV9wbGF5ZXJfaWRzIjpudWxsLCJpbmNsdWRlZF9zZWdtZW50cyI6WyJBbGwiXSwiaW9zX2JhZGdlQ291bnQiOjEsImlvc19iYWRnZVR5cGUiOiJOb25lIiwiaW9zX2NhdGVnb3J5IjoiIiwiaW9zX3NvdW5kIjoiIiwiYXBuc19hbGVydCI6e30sImlzQWRtIjpmYWxzZSwiaXNBbmRyb2lkIjpmYWxzZSwiaXNDaHJvbWUiOmZhbHNlLCJpc0Nocm9tZVdlYiI6ZmFsc2UsImlzQWxleGEiOmZhbHNlLCJpc0ZpcmVmb3giOmZhbHNlLCJpc0lvcyI6dHJ1ZSwiaXNTYWZhcmkiOmZhbHNlLCJpc1dQIjpmYWxzZSwiaXNXUF9XTlMiOmZhbHNlLCJpc0VkZ2UiOmZhbHNlLCJsYXJnZV9pY29uIjoiIiwicHJpb3JpdHkiOjUsInF1ZXVlZF9hdCI6MTUzMDE3NzkwNSwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTc3OTA1LCJjb21wbGV0ZWRfYXQiOjE1MzAxNzc5MDYsInNtYWxsX2ljb24iOiIiLCJzdWNjZXNzZnVsIjoxLCJ0YWdzIjpudWxsLCJmaWx0ZXJzIjpudWxsLCJ0ZW1wbGF0ZV9pZCI6bnVsbCwidHRsIjpudWxsLCJ1cmwiOiIiLCJ3ZWJfYnV0dG9ucyI6bnVsbCwid2ViX3B1c2hfdG9waWMiOm51bGwsIndwX3NvdW5kIjoiIiwid3Bfd25zX3NvdW5kIjoiIn0seyJhZG1fYmlnX3BpY3R1cmUiOiIiLCJhZG1fZ3JvdXAiOiIiLCJhZG1fZ3JvdXBfbWVzc2FnZSI6eyJlbiI6IiJ9LCJhZG1fbGFyZ2VfaWNvbiI6IiIsImFkbV9zbWFsbF9pY29uIjoiIiwiYWRtX3NvdW5kIjoiIiwic3Bva2VuX3RleHQiOnt9LCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpmYWxzZSwiYW5kcm9pZF9hY2NlbnRfY29sb3IiOiIiLCJhbmRyb2lkX2dyb3VwIjoiIiwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjp7ImVuIjoiIn0sImFuZHJvaWRfbGVkX2NvbG9yIjoiIiwiYW5kcm9pZF9zb3VuZCI6IiIsImFuZHJvaWRfdmlzaWJpbGl0eSI6MSwiYXBwX2lkIjoiMjJiYzZkZWMtNTE1MC00ZDZkLTg2MjgtMzc3MjU5ZDJkZDE0IiwiYmlnX3BpY3R1cmUiOiIiLCJidXR0b25zIjpudWxsLCJjYW5jZWxlZCI6ZmFsc2UsImNocm9tZV9iaWdfcGljdHVyZSI6IiIsImNocm9tZV9pY29uIjoiIiwiY2hyb21lX3dlYl9pY29uIjoiIiwiY2hyb21lX3dlYl9pbWFnZSI6IiIsImNocm9tZV93ZWJfYmFkZ2UiOiIiLCJjb250ZW50X2F2YWlsYWJsZSI6ZmFsc2UsImNvbnRlbnRzIjp7ImVuIjoiU2dyaWduaWduw6AifSwiY29udmVydGVkIjoxLCJkYXRhIjpudWxsLCJkZWxheWVkX29wdGlvbiI6ImltbWVkaWF0ZSIsImRlbGl2ZXJ5X3RpbWVfb2ZfZGF5IjoiMTE6MjNBTSIsImVycm9yZWQiOjAsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOiIiLCJoZWFkaW5ncyI6eyJlbiI6IkNpYW8ifSwiaWQiOiJjOGQ1YTkzYi1jZDU4LTQ0MzktOTk2Ni1hZTc3YWNmMTE3MGQiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIkFjdGl2ZSBVc2VycyJdLCJpb3NfYmFkZ2VDb3VudCI6MSwiaW9zX2JhZGdlVHlwZSI6Ik5vbmUiLCJpb3NfY2F0ZWdvcnkiOiIiLCJpb3Nfc291bmQiOiIiLCJhcG5zX2FsZXJ0Ijp7fSwiaXNBZG0iOmZhbHNlLCJpc0FuZHJvaWQiOmZhbHNlLCJpc0Nocm9tZSI6ZmFsc2UsImlzQ2hyb21lV2ViIjpmYWxzZSwiaXNBbGV4YSI6ZmFsc2UsImlzRmlyZWZveCI6ZmFsc2UsImlzSW9zIjp0cnVlLCJpc1NhZmFyaSI6ZmFsc2UsImlzV1AiOmZhbHNlLCJpc1dQX1dOUyI6ZmFsc2UsImlzRWRnZSI6ZmFsc2UsImxhcmdlX2ljb24iOiIiLCJwcmlvcml0eSI6NSwicXVldWVkX2F0IjoxNTMwMTc3ODc3LCJyZW1haW5pbmciOjAsInNlbmRfYWZ0ZXIiOjE1MzAxNzc4NzcsImNvbXBsZXRlZF9hdCI6MTUzMDE3Nzg3OCwic21hbGxfaWNvbiI6IiIsInN1Y2Nlc3NmdWwiOjEsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6IiIsIndlYl9idXR0b25zIjpudWxsLCJ3ZWJfcHVzaF90b3BpYyI6bnVsbCwid3Bfc291bmQiOiIiLCJ3cF93bnNfc291bmQiOiIifSx7ImFkbV9iaWdfcGljdHVyZSI6bnVsbCwiYWRtX2dyb3VwIjpudWxsLCJhZG1fZ3JvdXBfbWVzc2FnZSI6bnVsbCwiYWRtX2xhcmdlX2ljb24iOm51bGwsImFkbV9zbWFsbF9pY29uIjpudWxsLCJhZG1fc291bmQiOm51bGwsInNwb2tlbl90ZXh0IjpudWxsLCJhbGV4YV9zc21sIjpudWxsLCJhbGV4YV9kaXNwbGF5X3RpdGxlIjpudWxsLCJhbWF6b25fYmFja2dyb3VuZF9kYXRhIjpudWxsLCJhbmRyb2lkX2FjY2VudF9jb2xvciI6bnVsbCwiYW5kcm9pZF9ncm91cCI6bnVsbCwiYW5kcm9pZF9ncm91cF9tZXNzYWdlIjpudWxsLCJhbmRyb2lkX2xlZF9jb2xvciI6bnVsbCwiYW5kcm9pZF9zb3VuZCI6bnVsbCwiYW5kcm9pZF92aXNpYmlsaXR5IjpudWxsLCJhcHBfaWQiOiIyMmJjNmRlYy01MTUwLTRkNmQtODYyOC0zNzcyNTlkMmRkMTQiLCJiaWdfcGljdHVyZSI6bnVsbCwiYnV0dG9ucyI6bnVsbCwiY2FuY2VsZWQiOmZhbHNlLCJjaHJvbWVfYmlnX3BpY3R1cmUiOm51bGwsImNocm9tZV9pY29uIjpudWxsLCJjaHJvbWVfd2ViX2ljb24iOm51bGwsImNocm9tZV93ZWJfaW1hZ2UiOm51bGwsImNocm9tZV93ZWJfYmFkZ2UiOm51bGwsImNvbnRlbnRfYXZhaWxhYmxlIjpudWxsLCJjb250ZW50cyI6e30sImNvbnZlcnRlZCI6MCwiZGF0YSI6bnVsbCwiZGVsYXllZF9vcHRpb24iOiJpbW1lZGlhdGUiLCJkZWxpdmVyeV90aW1lX29mX2RheSI6IjU6MTJQTSIsImVycm9yZWQiOjEsImV4Y2x1ZGVkX3NlZ21lbnRzIjpbXSwiZmFpbGVkIjowLCJmaXJlZm94X2ljb24iOm51bGwsImhlYWRpbmdzIjp7fSwiaWQiOiJiNDVjZTE5Ny1hNzliLTRlMzYtOTkyMy01NGE5MjU5YzE0NWIiLCJpbmNsdWRlX3BsYXllcl9pZHMiOm51bGwsImluY2x1ZGVkX3NlZ21lbnRzIjpbIlRlc3QgVXNlcnMiXSwiaW9zX2JhZGdlQ291bnQiOm51bGwsImlvc19iYWRnZVR5cGUiOm51bGwsImlvc19jYXRlZ29yeSI6bnVsbCwiaW9zX3NvdW5kIjpudWxsLCJhcG5zX2FsZXJ0Ijp7fSwiaXNBZG0iOm51bGwsImlzQW5kcm9pZCI6bnVsbCwiaXNDaHJvbWUiOm51bGwsImlzQ2hyb21lV2ViIjpudWxsLCJpc0FsZXhhIjpudWxsLCJpc0ZpcmVmb3giOm51bGwsImlzSW9zIjpudWxsLCJpc1NhZmFyaSI6bnVsbCwiaXNXUCI6bnVsbCwiaXNXUF9XTlMiOm51bGwsImlzRWRnZSI6bnVsbCwibGFyZ2VfaWNvbiI6bnVsbCwicHJpb3JpdHkiOm51bGwsInF1ZXVlZF9hdCI6MTUzMDExMjQ2MSwicmVtYWluaW5nIjowLCJzZW5kX2FmdGVyIjoxNTMwMTEyNDYxLCJjb21wbGV0ZWRfYXQiOjE1MzAxMTI0NjMsInNtYWxsX2ljb24iOm51bGwsInN1Y2Nlc3NmdWwiOjAsInRhZ3MiOm51bGwsImZpbHRlcnMiOm51bGwsInRlbXBsYXRlX2lkIjpudWxsLCJ0dGwiOm51bGwsInVybCI6bnVsbCwid2ViX2J1dHRvbnMiOm51bGwsIndlYl9wdXNoX3RvcGljIjpudWxsLCJ3cF9zb3VuZCI6bnVsbCwid3Bfd25zX3NvdW5kIjpudWxsfV19
74
+ http_version:
75
+ recorded_at: Thu, 28 Jun 2018 15:30:58 GMT
76
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,72 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://onesignal.com/api/v1/players/?app_id=22bc6dec-5150-4d6d-8628-377259d2dd14
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic NTc3Y2RhMTAtMjQzZC00NDIxLWE3MWUtNWU0OWM3YTVhZTlh
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Thu, 28 Jun 2018 15:30:58 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - __cfduid=d162ae07cbc70fafa075f6d10a6694cc61530199858; expires=Fri, 28-Jun-19
35
+ 15:30:58 GMT; path=/; domain=.onesignal.com; HttpOnly
36
+ Status:
37
+ - 200 OK
38
+ Cache-Control:
39
+ - max-age=0, private, must-revalidate
40
+ Access-Control-Allow-Origin:
41
+ - "*"
42
+ X-Xss-Protection:
43
+ - 1; mode=block
44
+ X-Request-Id:
45
+ - 768dd4da-9f24-4a93-8a1b-3efbc3bf22b2
46
+ Access-Control-Allow-Headers:
47
+ - SDK-Version
48
+ Etag:
49
+ - W/"cee038b261c95e403233f1ada96658e3"
50
+ X-Frame-Options:
51
+ - SAMEORIGIN
52
+ X-Runtime:
53
+ - '0.029141'
54
+ X-Content-Type-Options:
55
+ - nosniff
56
+ X-Powered-By:
57
+ - Phusion Passenger 5.3.2
58
+ Expect-Ct:
59
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
60
+ Server:
61
+ - cloudflare
62
+ Cf-Ray:
63
+ - 4321329ccab1430a-MXP
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: '{"total_count":8,"offset":0,"limit":300,"players":[{"id":"14c8141f-d57d-4652-8911-960a00ff14fa","identifier":"52812f0ca9b3cc1c1f6a13fd1467c3a2a9f7ef3db5ee56cb951b00fb6bb78665","session_count":10,"language":"it","timezone":7200,"game_version":"1","device_os":"11.4","device_type":0,"device_model":"iPhone10,5","ad_id":"7A30EDB9-A4EA-404E-BA5E-2AEA86C74AA7","tags":{},"last_active":1530184068,"playtime":1219,"amount_spent":0.0,"created_at":1530177751,"invalid_identifier":false,"badge_count":0,"sdk":"020805","test_type":1,"ip":null},{"id":"16c0eee0-edc0-4630-8792-1c432a2e7da1","identifier":null,"session_count":2,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530192672,"playtime":0,"amount_spent":0.0,"created_at":1530192553,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"066e3db6-1ed1-49f0-9340-624327e3faf8","identifier":null,"session_count":1,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530193737,"playtime":0,"amount_spent":0.0,"created_at":1530193737,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"cf435718-f137-4fd8-ba43-b9ada7e88846","identifier":null,"session_count":1,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530194294,"playtime":0,"amount_spent":0.0,"created_at":1530194294,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"ba4b2ab3-cc89-4bd6-8c1a-9f69e7a2aa55","identifier":null,"session_count":1,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530197017,"playtime":0,"amount_spent":0.0,"created_at":1530197017,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"152c5092-beb7-4b54-a0c0-168460ff41c0","identifier":null,"session_count":1,"language":"en","timezone":0,"game_version":"1","device_os":"8.1.0","device_type":1,"device_model":"Android
67
+ SDK built for x86","ad_id":null,"tags":{},"last_active":1530198026,"playtime":0,"amount_spent":0.0,"created_at":1530198026,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"16421e68-fa8f-4072-82db-2d2d1765c317","identifier":null,"session_count":1,"language":"en","timezone":0,"game_version":"1","device_os":"8.1.0","device_type":1,"device_model":"Android
68
+ SDK built for x86","ad_id":null,"tags":{},"last_active":1530198244,"playtime":0,"amount_spent":0.0,"created_at":1530198244,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"e818b09c-3eca-41be-b0ee-8379cab19d93","identifier":null,"session_count":1,"language":"en","timezone":0,"game_version":"1","device_os":"8.1.0","device_type":1,"device_model":"Android
69
+ SDK built for x86","ad_id":null,"tags":{},"last_active":1530199447,"playtime":0,"amount_spent":0.0,"created_at":1530199447,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null}]}'
70
+ http_version:
71
+ recorded_at: Thu, 28 Jun 2018 15:30:58 GMT
72
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,72 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://onesignal.com/api/v1/players?app_id=22bc6dec-5150-4d6d-8628-377259d2dd14
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.2
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic NTc3Y2RhMTAtMjQzZC00NDIxLWE3MWUtNWU0OWM3YTVhZTlh
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Thu, 28 Jun 2018 15:30:58 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - __cfduid=db617b0b45cf8c5a16bdbc61edef5a1a81530199858; expires=Fri, 28-Jun-19
35
+ 15:30:58 GMT; path=/; domain=.onesignal.com; HttpOnly
36
+ Status:
37
+ - 200 OK
38
+ Cache-Control:
39
+ - max-age=0, private, must-revalidate
40
+ Access-Control-Allow-Origin:
41
+ - "*"
42
+ X-Xss-Protection:
43
+ - 1; mode=block
44
+ X-Request-Id:
45
+ - 1dbdac59-c104-4c1d-9e92-428badf0dacf
46
+ Access-Control-Allow-Headers:
47
+ - SDK-Version
48
+ Etag:
49
+ - W/"cee038b261c95e403233f1ada96658e3"
50
+ X-Frame-Options:
51
+ - SAMEORIGIN
52
+ X-Runtime:
53
+ - '0.051957'
54
+ X-Content-Type-Options:
55
+ - nosniff
56
+ X-Powered-By:
57
+ - Phusion Passenger 5.3.2
58
+ Expect-Ct:
59
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
60
+ Server:
61
+ - cloudflare
62
+ Cf-Ray:
63
+ - 4321329b4893434c-MXP
64
+ body:
65
+ encoding: ASCII-8BIT
66
+ string: '{"total_count":8,"offset":0,"limit":300,"players":[{"id":"14c8141f-d57d-4652-8911-960a00ff14fa","identifier":"52812f0ca9b3cc1c1f6a13fd1467c3a2a9f7ef3db5ee56cb951b00fb6bb78665","session_count":10,"language":"it","timezone":7200,"game_version":"1","device_os":"11.4","device_type":0,"device_model":"iPhone10,5","ad_id":"7A30EDB9-A4EA-404E-BA5E-2AEA86C74AA7","tags":{},"last_active":1530184068,"playtime":1219,"amount_spent":0.0,"created_at":1530177751,"invalid_identifier":false,"badge_count":0,"sdk":"020805","test_type":1,"ip":null},{"id":"16c0eee0-edc0-4630-8792-1c432a2e7da1","identifier":null,"session_count":2,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530192672,"playtime":0,"amount_spent":0.0,"created_at":1530192553,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"066e3db6-1ed1-49f0-9340-624327e3faf8","identifier":null,"session_count":1,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530193737,"playtime":0,"amount_spent":0.0,"created_at":1530193737,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"cf435718-f137-4fd8-ba43-b9ada7e88846","identifier":null,"session_count":1,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530194294,"playtime":0,"amount_spent":0.0,"created_at":1530194294,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"ba4b2ab3-cc89-4bd6-8c1a-9f69e7a2aa55","identifier":null,"session_count":1,"language":"en","timezone":7200,"game_version":"1","device_os":"7.1.2","device_type":1,"device_model":"MotoG3","ad_id":null,"tags":{},"last_active":1530197017,"playtime":0,"amount_spent":0.0,"created_at":1530197017,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"152c5092-beb7-4b54-a0c0-168460ff41c0","identifier":null,"session_count":1,"language":"en","timezone":0,"game_version":"1","device_os":"8.1.0","device_type":1,"device_model":"Android
67
+ SDK built for x86","ad_id":null,"tags":{},"last_active":1530198026,"playtime":0,"amount_spent":0.0,"created_at":1530198026,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"16421e68-fa8f-4072-82db-2d2d1765c317","identifier":null,"session_count":1,"language":"en","timezone":0,"game_version":"1","device_os":"8.1.0","device_type":1,"device_model":"Android
68
+ SDK built for x86","ad_id":null,"tags":{},"last_active":1530198244,"playtime":0,"amount_spent":0.0,"created_at":1530198244,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null},{"id":"e818b09c-3eca-41be-b0ee-8379cab19d93","identifier":null,"session_count":1,"language":"en","timezone":0,"game_version":"1","device_os":"8.1.0","device_type":1,"device_model":"Android
69
+ SDK built for x86","ad_id":null,"tags":{},"last_active":1530199447,"playtime":0,"amount_spent":0.0,"created_at":1530199447,"invalid_identifier":true,"badge_count":0,"sdk":"030901","test_type":null,"ip":null}]}'
70
+ http_version:
71
+ recorded_at: Thu, 28 Jun 2018 15:30:58 GMT
72
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,145 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://onesignal.com/api/v1/notifications
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"contents":{"en":"Live Test"},"headings":{"en":"This is a live test
9
+ for OneSignal"},"included_segments":["Active Users"],"app_id":"22bc6dec-5150-4d6d-8628-377259d2dd14"}'
10
+ headers:
11
+ User-Agent:
12
+ - Faraday v0.15.2
13
+ Content-Type:
14
+ - application/json
15
+ Authorization:
16
+ - Basic NTc3Y2RhMTAtMjQzZC00NDIxLWE3MWUtNWU0OWM3YTVhZTlh
17
+ Accept-Encoding:
18
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
19
+ Accept:
20
+ - "*/*"
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ Date:
27
+ - Thu, 28 Jun 2018 15:30:57 GMT
28
+ Content-Type:
29
+ - application/json; charset=utf-8
30
+ Transfer-Encoding:
31
+ - chunked
32
+ Connection:
33
+ - keep-alive
34
+ Set-Cookie:
35
+ - __cfduid=daaa29327ffbbadef32c14c4f68e2ddcc1530199857; expires=Fri, 28-Jun-19
36
+ 15:30:57 GMT; path=/; domain=.onesignal.com; HttpOnly
37
+ Status:
38
+ - 200 OK
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ Access-Control-Allow-Origin:
42
+ - "*"
43
+ X-Xss-Protection:
44
+ - 1; mode=block
45
+ X-Request-Id:
46
+ - 12e56155-1b2a-4ae2-9c43-959cf76d1219
47
+ Access-Control-Allow-Headers:
48
+ - SDK-Version
49
+ Etag:
50
+ - W/"dcc6500f0081d2c4c38f7f6490657d92"
51
+ X-Frame-Options:
52
+ - SAMEORIGIN
53
+ X-Runtime:
54
+ - '0.067198'
55
+ X-Content-Type-Options:
56
+ - nosniff
57
+ X-Powered-By:
58
+ - Phusion Passenger 5.3.2
59
+ Expect-Ct:
60
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
61
+ Server:
62
+ - cloudflare
63
+ Cf-Ray:
64
+ - 432132947a73430a-MXP
65
+ body:
66
+ encoding: ASCII-8BIT
67
+ string: '{"id":"29e9c2ad-41da-46f0-94c3-e71ee5c103dc","recipients":1}'
68
+ http_version:
69
+ recorded_at: Thu, 28 Jun 2018 15:30:57 GMT
70
+ - request:
71
+ method: get
72
+ uri: https://onesignal.com/api/v1/notifications/29e9c2ad-41da-46f0-94c3-e71ee5c103dc?app_id=22bc6dec-5150-4d6d-8628-377259d2dd14
73
+ body:
74
+ encoding: US-ASCII
75
+ string: ''
76
+ headers:
77
+ User-Agent:
78
+ - Faraday v0.15.2
79
+ Content-Type:
80
+ - application/json
81
+ Authorization:
82
+ - Basic NTc3Y2RhMTAtMjQzZC00NDIxLWE3MWUtNWU0OWM3YTVhZTlh
83
+ Accept-Encoding:
84
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
85
+ Accept:
86
+ - "*/*"
87
+ response:
88
+ status:
89
+ code: 200
90
+ message: OK
91
+ headers:
92
+ Date:
93
+ - Thu, 28 Jun 2018 15:30:57 GMT
94
+ Content-Type:
95
+ - application/json; charset=utf-8
96
+ Transfer-Encoding:
97
+ - chunked
98
+ Connection:
99
+ - keep-alive
100
+ Set-Cookie:
101
+ - __cfduid=daaa29327ffbbadef32c14c4f68e2ddcc1530199857; expires=Fri, 28-Jun-19
102
+ 15:30:57 GMT; path=/; domain=.onesignal.com; HttpOnly
103
+ Status:
104
+ - 200 OK
105
+ Cache-Control:
106
+ - public, max-age=7200
107
+ Access-Control-Allow-Origin:
108
+ - "*"
109
+ X-Xss-Protection:
110
+ - 1; mode=block
111
+ X-Request-Id:
112
+ - 713da936-b783-4ff4-aae6-4ec89a5e9ef7
113
+ Access-Control-Allow-Headers:
114
+ - SDK-Version
115
+ Etag:
116
+ - W/"8e772220e2df249cd3a196949cc81bfa"
117
+ X-Frame-Options:
118
+ - SAMEORIGIN
119
+ X-Runtime:
120
+ - '0.016556'
121
+ X-Content-Type-Options:
122
+ - nosniff
123
+ X-Powered-By:
124
+ - Phusion Passenger 5.3.2
125
+ Cf-Cache-Status:
126
+ - MISS
127
+ Vary:
128
+ - Accept-Encoding
129
+ Expires:
130
+ - Thu, 28 Jun 2018 17:30:57 GMT
131
+ Expect-Ct:
132
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
133
+ Server:
134
+ - cloudflare
135
+ Cf-Ray:
136
+ - 432132961c5b430a-MXP
137
+ body:
138
+ encoding: ASCII-8BIT
139
+ string: '{"adm_big_picture":null,"adm_group":null,"adm_group_message":null,"adm_large_icon":null,"adm_small_icon":null,"adm_sound":null,"spoken_text":null,"alexa_ssml":null,"alexa_display_title":null,"amazon_background_data":null,"android_accent_color":null,"android_group":null,"android_group_message":null,"android_led_color":null,"android_sound":null,"android_visibility":null,"app_id":"22bc6dec-5150-4d6d-8628-377259d2dd14","big_picture":null,"buttons":null,"canceled":false,"chrome_big_picture":null,"chrome_icon":null,"chrome_web_icon":null,"chrome_web_image":null,"chrome_web_badge":null,"content_available":null,"contents":{"en":"Live
140
+ Test"},"converted":0,"data":null,"delayed_option":null,"delivery_time_of_day":null,"errored":0,"excluded_segments":[],"failed":0,"firefox_icon":null,"headings":{"en":"This
141
+ is a live test for OneSignal"},"id":"29e9c2ad-41da-46f0-94c3-e71ee5c103dc","include_player_ids":null,"included_segments":["Active
142
+ Users"],"ios_badgeCount":null,"ios_badgeType":null,"ios_category":null,"ios_sound":null,"apns_alert":null,"isAdm":false,"isAndroid":true,"isChrome":false,"isChromeWeb":false,"isAlexa":false,"isFirefox":false,"isIos":true,"isSafari":false,"isWP":false,"isWP_WNS":false,"isEdge":false,"large_icon":null,"priority":null,"queued_at":1530199857,"remaining":1,"send_after":1530199857,"completed_at":null,"small_icon":null,"successful":0,"tags":null,"filters":null,"template_id":null,"ttl":null,"url":null,"web_buttons":null,"web_push_topic":null,"wp_sound":null,"wp_wns_sound":null}'
143
+ http_version:
144
+ recorded_at: Thu, 28 Jun 2018 15:30:57 GMT
145
+ recorded_with: VCR 4.0.0
data/lib/onesignal.rb ADDED
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/string'
4
+ require 'active_support/json'
5
+ require 'onesignal/version'
6
+ require 'onesignal/commands'
7
+
8
+ ActiveSupport.escape_html_entities_in_json = false
9
+
10
+ module OneSignal
11
+ class << self
12
+ def configure
13
+ yield config
14
+ end
15
+
16
+ def send_notification notification
17
+ return unless OneSignal.config.active
18
+ created = Commands::CreateNotification.call notification
19
+ fetch_notification(JSON.parse(created.body)['id'])
20
+ end
21
+
22
+ def fetch_notification notification_id
23
+ return unless OneSignal.config.active
24
+ fetched = Commands::FetchNotification.call notification_id
25
+ Responses::Notification.from_json fetched.body
26
+ end
27
+
28
+ def fetch_player player_id
29
+ return unless OneSignal.config.active
30
+ fetched = Commands::FetchPlayer.call player_id
31
+ Responses::Player.from_json fetched.body
32
+ end
33
+
34
+ def fetch_players
35
+ return unless OneSignal.config.active
36
+ fetched = Commands::FetchPlayers.call
37
+ JSON.parse(fetched.body)['players'].map { |player| Responses::Player.from_json player }
38
+ end
39
+
40
+ def config
41
+ @config ||= Configuration.new
42
+ end
43
+
44
+ alias define configure
45
+ end
46
+ end
47
+
48
+ require 'onesignal/autoloader'
49
+ require 'onesignal/responses'