chartmogul-ruby 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ce4f647e9c235970df04714cfaaf2e573321fbb2d0ce4cdfcb052d84dc17b68d
4
- data.tar.gz: c99cbafb09f5d900661e819db34a83372eea1020ac41ea56287b30aa98a1423c
3
+ metadata.gz: 31d8d5aa131f3594abe8c1886844deaf56a9e3b4cdf2063675d30e70b8297ce1
4
+ data.tar.gz: 33cef75599d18699bce6994494cdb3dad16b430a67b1ee5c76ebaf50bf49486e
5
5
  SHA512:
6
- metadata.gz: e198b430a78cbcce6c6e46563bce0954a5e115aae0e5e87550621ea5cc2f42e8fc4f39226812def76a92396f2427f2a6ce3882b5abd50eac412dc4ec57ed6511
7
- data.tar.gz: 456e9d0cf65e079761109f2b62dc8ec51588ff64775d78bb84e0c82308076a94e3d109144d6966d158644baba6080017b9409aa8209b95c86f6325180a937b53
6
+ metadata.gz: c9c1aef4f090e41dd8000fc14a960a363faf59f9231c1c4f43db52a83a0e250716810a91c2031bf88bdff7fecef5e6835452f9128e0e062be6871cd618683d97
7
+ data.tar.gz: 15da28775f69ce8fc8bdce73aea073e455ed6d8ba0c245d44869c0342eec5d09effbc777b69a8e2ef01c040c73f0c20992b7d7d983e6dd20c5a5eaaff4a88926
@@ -1,5 +1,8 @@
1
1
  # chartmogul-ruby Change Log
2
2
 
3
+ ## Version 1.5.0 - 20 February 2020
4
+ - Add support for plan groups API
5
+
3
6
  ## Version 1.4.0 - 20 September 2019
4
7
  - Add support for subscription sets
5
8
 
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_dependency 'faraday', '~> 0.15.0'
24
24
 
25
- spec.add_development_dependency 'bundler', '~> 2.0.1'
25
+ spec.add_development_dependency 'bundler', '~> 2'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
27
27
  spec.add_development_dependency 'rspec', '~> 3.0'
28
28
  spec.add_development_dependency 'vcr', '~> 3.0'
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.chartmogul.com/v1/plan_groups
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.4
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic secret
16
+ response:
17
+ status:
18
+ code: 422
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx/1.10.1
23
+ date:
24
+ - Wed, 12 Feb 2020 17:06:03 GMT
25
+ content-type:
26
+ - application/json; charset=utf-8
27
+ transfer-encoding:
28
+ - chunked
29
+ connection:
30
+ - close
31
+ status:
32
+ - 422 Unprocessable Entity
33
+ x-frame-options:
34
+ - SAMEORIGIN
35
+ x-xss-protection:
36
+ - 1; mode=block
37
+ x-content-type-options:
38
+ - nosniff
39
+ cache-control:
40
+ - no-cache
41
+ x-request-id:
42
+ - 829dd1b4-e36e-49ec-8647-187294a7cb00
43
+ x-runtime:
44
+ - '0.654937'
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"plans":["Please provide uuids of the plans in the plan group"]}'
48
+ http_version:
49
+ recorded_at: Wed, 12 Feb 2020 17:06:03 GMT
50
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,293 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.chartmogul.com/v1/data_sources
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"name":"Data Source #1"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.4
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic secret
16
+ response:
17
+ status:
18
+ code: 201
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx/1.10.1
23
+ date:
24
+ - Wed, 12 Feb 2020 16:50:58 GMT
25
+ content-type:
26
+ - application/json
27
+ content-length:
28
+ - '152'
29
+ connection:
30
+ - close
31
+ status:
32
+ - 201 Created
33
+ access-control-allow-credentials:
34
+ - 'true'
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"uuid":"ds_d7af0870-4db7-11ea-a748-3b84121ebe17","name":"Data Source
38
+ #1","system":"Import API","created_at":"2020-02-12T16:50:57.869Z","status":"idle"}'
39
+ http_version:
40
+ recorded_at: Wed, 12 Feb 2020 16:50:58 GMT
41
+ - request:
42
+ method: post
43
+ uri: https://api.chartmogul.com/v1/plans
44
+ body:
45
+ encoding: UTF-8
46
+ string: '{"name":"A Test Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_d7af0870-4db7-11ea-a748-3b84121ebe17"}'
47
+ headers:
48
+ User-Agent:
49
+ - Faraday v0.15.4
50
+ Content-Type:
51
+ - application/json
52
+ Authorization:
53
+ - Basic secret
54
+ response:
55
+ status:
56
+ code: 201
57
+ message:
58
+ headers:
59
+ server:
60
+ - nginx/1.10.1
61
+ date:
62
+ - Wed, 12 Feb 2020 16:50:59 GMT
63
+ content-type:
64
+ - application/json; charset=utf-8
65
+ transfer-encoding:
66
+ - chunked
67
+ connection:
68
+ - close
69
+ status:
70
+ - 201 Created
71
+ x-frame-options:
72
+ - SAMEORIGIN
73
+ x-xss-protection:
74
+ - 1; mode=block
75
+ x-content-type-options:
76
+ - nosniff
77
+ etag:
78
+ - W/"e53de700ad9f3d935b0f624a5aa9dd75"
79
+ cache-control:
80
+ - max-age=0, private, must-revalidate
81
+ x-request-id:
82
+ - f50dbc50-74e2-434e-a410-4601fdabd841
83
+ x-runtime:
84
+ - '0.723144'
85
+ strict-transport-security:
86
+ - max-age=15768000
87
+ body:
88
+ encoding: UTF-8
89
+ string: '{"external_id":"c49a57f0-2fe5-0138-b4fb-4e501129bd4a","name":"A Test
90
+ Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_d7af0870-4db7-11ea-a748-3b84121ebe17","uuid":"pl_c49a57f0-2fe5-0138-b4fb-4e501129bd4a"}'
91
+ http_version:
92
+ recorded_at: Wed, 12 Feb 2020 16:50:59 GMT
93
+ - request:
94
+ method: post
95
+ uri: https://api.chartmogul.com/v1/plans
96
+ body:
97
+ encoding: UTF-8
98
+ string: '{"name":"A another Test Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_d7af0870-4db7-11ea-a748-3b84121ebe17"}'
99
+ headers:
100
+ User-Agent:
101
+ - Faraday v0.15.4
102
+ Content-Type:
103
+ - application/json
104
+ Authorization:
105
+ - Basic secret
106
+ response:
107
+ status:
108
+ code: 201
109
+ message:
110
+ headers:
111
+ server:
112
+ - nginx/1.10.1
113
+ date:
114
+ - Wed, 12 Feb 2020 16:50:59 GMT
115
+ content-type:
116
+ - application/json; charset=utf-8
117
+ transfer-encoding:
118
+ - chunked
119
+ connection:
120
+ - close
121
+ status:
122
+ - 201 Created
123
+ x-frame-options:
124
+ - SAMEORIGIN
125
+ x-xss-protection:
126
+ - 1; mode=block
127
+ x-content-type-options:
128
+ - nosniff
129
+ etag:
130
+ - W/"6ee867f025f592d30a68042391ca1e58"
131
+ cache-control:
132
+ - max-age=0, private, must-revalidate
133
+ x-request-id:
134
+ - 24f68b11-c333-407b-be3d-9419055fec95
135
+ x-runtime:
136
+ - '0.138718'
137
+ strict-transport-security:
138
+ - max-age=15768000
139
+ body:
140
+ encoding: UTF-8
141
+ string: '{"external_id":"c4eade70-2fe5-0138-c99d-42eead14b4ad","name":"A another
142
+ Test Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_d7af0870-4db7-11ea-a748-3b84121ebe17","uuid":"pl_c4eade70-2fe5-0138-c99d-42eead14b4ad"}'
143
+ http_version:
144
+ recorded_at: Wed, 12 Feb 2020 16:50:59 GMT
145
+ - request:
146
+ method: post
147
+ uri: https://api.chartmogul.com/v1/plan_groups
148
+ body:
149
+ encoding: UTF-8
150
+ string: '{"name":"My plan group","plans":["pl_c49a57f0-2fe5-0138-b4fb-4e501129bd4a","pl_c4eade70-2fe5-0138-c99d-42eead14b4ad"]}'
151
+ headers:
152
+ User-Agent:
153
+ - Faraday v0.15.4
154
+ Content-Type:
155
+ - application/json
156
+ Authorization:
157
+ - Basic secret
158
+ response:
159
+ status:
160
+ code: 200
161
+ message:
162
+ headers:
163
+ server:
164
+ - nginx/1.10.1
165
+ date:
166
+ - Wed, 12 Feb 2020 16:50:59 GMT
167
+ content-type:
168
+ - application/json; charset=utf-8
169
+ transfer-encoding:
170
+ - chunked
171
+ connection:
172
+ - close
173
+ vary:
174
+ - Accept-Encoding, Accept-Encoding
175
+ status:
176
+ - 200 OK
177
+ x-frame-options:
178
+ - SAMEORIGIN
179
+ x-xss-protection:
180
+ - 1; mode=block
181
+ x-content-type-options:
182
+ - nosniff
183
+ etag:
184
+ - W/"e5a42fa30f5931fa83c95f2b73f6747f"
185
+ cache-control:
186
+ - max-age=0, private, must-revalidate
187
+ x-request-id:
188
+ - 9d3b5349-86d5-40d4-89fc-a681a2fe7e10
189
+ x-runtime:
190
+ - '0.097957'
191
+ strict-transport-security:
192
+ - max-age=15768000
193
+ body:
194
+ encoding: ASCII-8BIT
195
+ string: '{"name":"My plan group","uuid":"plg_ca20004e-ed97-4942-9b7f-567a17bbbe31","plans":[{"name":"A
196
+ Test Plan","uuid":"pl_c49a57f0-2fe5-0138-b4fb-4e501129bd4a","data_source_uuid":"ds_d7af0870-4db7-11ea-a748-3b84121ebe17","interval_count":1,"interval_unit":"month","external_id":"c49a57f0-2fe5-0138-b4fb-4e501129bd4a"},{"name":"A
197
+ another Test Plan","uuid":"pl_c4eade70-2fe5-0138-c99d-42eead14b4ad","data_source_uuid":"ds_d7af0870-4db7-11ea-a748-3b84121ebe17","interval_count":1,"interval_unit":"month","external_id":"c4eade70-2fe5-0138-c99d-42eead14b4ad"}]}'
198
+ http_version:
199
+ recorded_at: Wed, 12 Feb 2020 16:50:59 GMT
200
+ - request:
201
+ method: delete
202
+ uri: https://api.chartmogul.com/v1/plan_groups/plg_ca20004e-ed97-4942-9b7f-567a17bbbe31
203
+ body:
204
+ encoding: US-ASCII
205
+ string: ''
206
+ headers:
207
+ User-Agent:
208
+ - Faraday v0.15.4
209
+ Authorization:
210
+ - Basic secret
211
+ response:
212
+ status:
213
+ code: 204
214
+ message:
215
+ headers:
216
+ server:
217
+ - nginx/1.10.1
218
+ date:
219
+ - Wed, 12 Feb 2020 16:50:59 GMT
220
+ connection:
221
+ - close
222
+ status:
223
+ - 204 No Content
224
+ x-frame-options:
225
+ - SAMEORIGIN
226
+ x-xss-protection:
227
+ - 1; mode=block
228
+ x-content-type-options:
229
+ - nosniff
230
+ cache-control:
231
+ - no-cache
232
+ x-request-id:
233
+ - 86734092-41ca-4332-a0a5-7171ad0215f8
234
+ x-runtime:
235
+ - '0.160735'
236
+ strict-transport-security:
237
+ - max-age=15768000
238
+ body:
239
+ encoding: UTF-8
240
+ string: ''
241
+ http_version:
242
+ recorded_at: Wed, 12 Feb 2020 16:50:59 GMT
243
+ - request:
244
+ method: get
245
+ uri: https://api.chartmogul.com/v1/plan_groups/plg_ca20004e-ed97-4942-9b7f-567a17bbbe31
246
+ body:
247
+ encoding: US-ASCII
248
+ string: ''
249
+ headers:
250
+ User-Agent:
251
+ - Faraday v0.15.4
252
+ Content-Type:
253
+ - application/json
254
+ Authorization:
255
+ - Basic secret
256
+ response:
257
+ status:
258
+ code: 404
259
+ message:
260
+ headers:
261
+ server:
262
+ - nginx/1.10.1
263
+ date:
264
+ - Wed, 12 Feb 2020 16:51:00 GMT
265
+ content-type:
266
+ - text/html; charset=utf-8
267
+ transfer-encoding:
268
+ - chunked
269
+ connection:
270
+ - close
271
+ vary:
272
+ - Accept-Encoding, Accept-Encoding
273
+ etag:
274
+ - W/"5e4412e9-7aa2"
275
+ body:
276
+ encoding: ASCII-8BIT
277
+ string: |-
278
+ <!DOCTYPE html> <html lang="en" class="wf-loading"> <head> <meta charset="utf-8"> <title>Oops! That page doesn&#x27;t exist.</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta http-equiv="cleartype" content="on"> <style>/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */a,body{color:#13324B}.page-error .section-title,.section-title,body,h1{font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 0,"lnum" 0,"dlig" 1}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:10px;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:"Source Sans Pro",sans-serif;font-size:16px;font-weight:400;line-height:1.4;background-color:#FFF;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article,header{display:block}a{background-color:transparent;text-decoration:none}a:active,a:hover{outline:0}h1{margin:.67em 0}a:focus,a:hover{color:#5A788A;text-decoration:underline}.page-error .section-title,.section-title,h1{font-family:inherit;font-weight:600;line-height:1.1;color:#13324B;margin-top:44px;margin-bottom:22px}.page-error .section-title,h1{font-size:41px}.section-title{font-size:36px}p{margin:0 0 11px}.section-description{font-size:118%}::-moz-selection{color:#fff;background:#8FA6B4}::selection{color:#fff;background:#8FA6B4}.wf-loading .page-error{transition:all .2s ease-in-out}@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(60px)}100%{opacity:1;transform:translateY(0)}}.btn{transition:.2s ease-out;display:inline-block;margin-bottom:0;font-family:"Source Sans Pro",sans-serif;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.015em;word-spacing:.05em;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;background:0 0;border:1px solid transparent;white-space:nowrap;padding:8px 20px;font-size:15px;line-height:1.4}.btn:focus,.btn:hover{text-decoration:none}.btn:active{outline:0;background-image:none;transition:none}.btn-bordered{color:#FFF;background-color:transparent;border-color:#FFF}.btn-bordered:active,.btn-bordered:focus,.btn-bordered:hover{color:#000;background-color:#FFF;border-color:#FFF}.section-header:after,.section-header:before{content:" ";display:table}.section-header:after{clear:both}.section{padding-top:44px;padding-bottom:44px;overflow:hidden}.section-header{text-align:center;margin-bottom:44px}@media (min-width:768px){.section{padding-top:66px;padding-bottom:66px}.section-description,.section-title{max-width:100%;margin-left:auto;margin-right:auto}}@media (min-width:992px){.section-description,.section-title{max-width:90%}}.section-title{margin-top:0;margin-bottom:22px}.section-description{color:#13324B;margin-bottom:0}.section-actions,.section-description+.section-description{margin-top:22px}.section-actions .btn{margin-left:5px;margin-right:5px;min-width:200px}.logo{fill:#AAA;color:#AAA;width:135.5px;height:24.75px}.logo.logo-white{fill:#FFF;color:#FFF}.page-error{background:#48406B;max-width:820px;margin:0 auto;min-height:600px;min-height:100vh;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.wf-loading .page-error{opacity:0}.page-error .section{padding:5%}.page-error .section-header{animation:slide-in-from-bottom .4s ease-out;position:relative;z-index:1;margin:auto}.page-error,.page-error .section-description,.page-error .section-title{color:#FFF}.page-error .section-description{margin-bottom:44px}.page-error .section-actions{margin-top:66px}.page-error .btn{margin-bottom:22px;min-width:130px}.error-code{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;color:rgba(255,255,255,.5);background:rgba(255,255,255,.05);padding:1% 2%}.content-particles{position:relative}#particles-js{position:absolute;left:0;top:0;width:100%;height:100%;z-index:0;background:#48406B}</style> <script>WebFontConfig = {
279
+ google: {
280
+ families: ['Source Sans Pro:400,600']
281
+ },
282
+ timeout: 3000
283
+ };
284
+
285
+ (function(d) {
286
+ var wf = d.createElement('script'), s = d.scripts[0];
287
+ wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js';
288
+ wf.async = true;
289
+ s.parentNode.insertBefore(wf, s);
290
+ })(document);</script> <meta name="robots" content="noindex"> </head> <body class="page-error"> <article class="content-particles section"> <header class="section-header"> <svg class="logo logo-white" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="542px" height="99px" viewbox="0 0 542 99"> <path d="M508.3 16.2v30.1c0 4.7-1.2 8.4-3.6 11-2.4 2.6-5.6 3.8-9.5 3.8-3.4 0-6.3-1.2-8.5-3.6-2.3-2.4-3.4-5.4-3.4-9V16.2h-12.5v32.3c0 7.3 2.1 13.5 6.3 17.9 4.2 4.4 9.4 6.6 16 6.6 1.9 0 3.9-.3 5.7-.7 1.9-.5 3.4-1.1 4.6-1.7 1.2-.6 2.4-1.3 3.4-2.1.3-.2.8-.6 1-.9l.4-.5V72h12.4V16.2h-12.3zM36.5 60.9c-13.4 0-24.2-10.9-24.2-24.2 0-13.4 10.9-24.2 24.2-24.2 8 0 15.1 3.9 19.5 10l10.7-6.1C60.1 6.7 49 .3 36.5.3 16.4.3 0 16.7 0 36.8s16.4 36.5 36.5 36.5c12.6 0 23.7-6.4 30.3-16.1l-10.7-6.1c-4.5 5.9-11.6 9.8-19.6 9.8zM529.3.9h12.3v71.3h-12.3zM324.2.9l-20.1 34.2L284 .9h-15.8v71.3h12.3v-53l19.2 32.7h8.8l19.4-33v53.3h12.3l.1-71.3zm-80.6 27.6h16.5V16.2h-16.5V1h-12.3v50.1c0 12.1 5.5 21 20.8 21h8V59.8h-6.8c-8.7 0-9.7-4.3-9.7-8.6V28.5zm-59 16.3V16.3h-12.3v5.1c-4.6-3.2-10.2-5.1-16.2-5.1-15.7 0-28.6 12.8-28.6 28.6 0 15.7 12.8 28.6 28.6 28.6 6 0 11.6-1.9 16.2-5.1v3.9h12.3V44.8zm-28.5 16c-8.9 0-16.1-7.2-16.1-16.1 0-8.9 7.2-16.1 16.1-16.1 8.9 0 16.1 7.2 16.1 16.1-.1 8.9-7.3 16.1-16.1 16.1zm66.3-44.6c-2.4 0-10.1.2-17 4.5v-4.5h-12.3v55.9h12.3V41.7c0-3.5.8-6.2 2.4-8.1 4.2-5 12.3-5.3 12.8-5.3.6 0 1.4-.1 2.2-.1h3.2V16.3h-2.2c-.2-.1-1.3-.1-1.4-.1zM374 73.3c-15.7 0-28.5-12.8-28.5-28.5s12.8-28.5 28.5-28.5 28.5 12.8 28.5 28.5-12.8 28.5-28.5 28.5zm0-44.5c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16c0-8.9-7.2-16-16-16zm76.7-12.6v5.1c-4.6-3.2-10.1-5-16.1-5-15.7 0-28.5 12.8-28.5 28.5s12.8 28.5 28.5 28.5c6 0 11.5-1.9 16.1-5v1.1c0 .5-.1 1.1-.1 1.1-.6 4.2-2.6 8-5 10.7-3.1 3-6.9 4.3-11.3 4.4h-.3c-6.3-.2-11.9-3.1-15.4-7.6l-8.4 8.9c5 6.9 14.1 11.4 24.4 11.2 7.9 0 14.7-2.9 20.2-8.6 5.1-5.3 7.8-11.8 8.1-19.4 0 0 .1-.9.1-2V16.2h-12.3zm-16.1 44.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM95.7 28.6h2.4c-.4 0-.8-.1-1.2-.1-.5 0-.8 0-1.2.1z M121.6 40c0-14.6-10.1-23.8-23.8-23.8-5 0-9.7 1.6-13.5 4.2V.9H72v71.2h12.3V43.2c0-4.7 1.1-8.3 3.3-10.9 2-2.3 4.7-3.6 8.1-3.8.4 0 .7-.1 1.1-.1.4 0 .8 0 1.2.1 3.3.2 6 1.5 8 3.8 2.1 2.5 3.2 6 3.3 10.3v29.5h12.3V40z"> </path></svg> <h1 class="section-title">Oops! That page doesn&#x27;t exist.</h1> <p class="section-description"> We're usually good at connecting the dots but we couldn't find this page. </p> <p class="section-description"> <span class="error-code">404 Not Found</span> </p> <p class="section-actions"> <a class="btn btn-bordered" href="/">Homepage</a> <a class="btn btn-bordered" href="mailto:support@chartmogul.com">Contact Support</a> </p> </header> </article> <div id="particles-js"></div> <script type="text/javascript">function hexToRgb(e){var a=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(a,function(e,a,t,i){return a+a+t+t+i+i});var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function clamp(e,a,t){return Math.min(Math.max(e,a),t)}function isInArray(e,a){return a.indexOf(e)>-1}var pJS=function(e,a){var t=document.querySelector("#"+e+" > .particles-js-canvas-el");this.pJS={canvas:{el:t,w:t.offsetWidth,h:t.offsetHeight},particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}},array:[]},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:.4},repulse:{distance:200,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}},mouse:{}},retina_detect:!1,fn:{interact:{},modes:{},vendors:{}},tmp:{}};var i=this.pJS;a&&Object.deepExtend(i,a),i.tmp.obj={size_value:i.particles.size.value,size_anim_speed:i.particles.size.anim.speed,move_speed:i.particles.move.speed,line_linked_distance:i.particles.line_linked.distance,line_linked_width:i.particles.line_linked.width,mode_grab_distance:i.interactivity.modes.grab.distance,mode_bubble_distance:i.interactivity.modes.bubble.distance,mode_bubble_size:i.interactivity.modes.bubble.size,mode_repulse_distance:i.interactivity.modes.repulse.distance},i.fn.retinaInit=function(){i.retina_detect&&window.devicePixelRatio>1?(i.canvas.pxratio=window.devicePixelRatio,i.tmp.retina=!0):(i.canvas.pxratio=1,i.tmp.retina=!1),i.canvas.w=i.canvas.el.offsetWidth*i.canvas.pxratio,i.canvas.h=i.canvas.el.offsetHeight*i.canvas.pxratio,i.particles.size.value=i.tmp.obj.size_value*i.canvas.pxratio,i.particles.size.anim.speed=i.tmp.obj.size_anim_speed*i.canvas.pxratio,i.particles.move.speed=i.tmp.obj.move_speed*i.canvas.pxratio,i.particles.line_linked.distance=i.tmp.obj.line_linked_distance*i.canvas.pxratio,i.interactivity.modes.grab.distance=i.tmp.obj.mode_grab_distance*i.canvas.pxratio,i.interactivity.modes.bubble.distance=i.tmp.obj.mode_bubble_distance*i.canvas.pxratio,i.particles.line_linked.width=i.tmp.obj.line_linked_width*i.canvas.pxratio,i.interactivity.modes.bubble.size=i.tmp.obj.mode_bubble_size*i.canvas.pxratio,i.interactivity.modes.repulse.distance=i.tmp.obj.mode_repulse_distance*i.canvas.pxratio},i.fn.canvasInit=function(){i.canvas.ctx=i.canvas.el.getContext("2d")},i.fn.canvasSize=function(){i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i&&i.interactivity.events.resize&&window.addEventListener("resize",function(){i.canvas.w=i.canvas.el.offsetWidth,i.canvas.h=i.canvas.el.offsetHeight,i.tmp.retina&&(i.canvas.w*=i.canvas.pxratio,i.canvas.h*=i.canvas.pxratio),i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i.particles.move.enable||(i.fn.particlesEmpty(),i.fn.particlesCreate(),i.fn.particlesDraw(),i.fn.vendors.densityAutoParticles()),i.fn.vendors.densityAutoParticles()})},i.fn.canvasPaint=function(){i.canvas.ctx.fillRect(0,0,i.canvas.w,i.canvas.h)},i.fn.canvasClear=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h)},i.fn.particle=function(e,a,t){if(this.radius=(i.particles.size.random?Math.random():1)*i.particles.size.value,i.particles.size.anim.enable&&(this.size_status=!1,this.vs=i.particles.size.anim.speed/100,i.particles.size.anim.sync||(this.vs=this.vs*Math.random())),this.x=t?t.x:Math.random()*i.canvas.w,this.y=t?t.y:Math.random()*i.canvas.h,this.x>i.canvas.w-2*this.radius?this.x=this.x-this.radius:this.x<2*this.radius&&(this.x=this.x+this.radius),this.y>i.canvas.h-2*this.radius?this.y=this.y-this.radius:this.y<2*this.radius&&(this.y=this.y+this.radius),i.particles.move.bounce&&i.fn.vendors.checkOverlap(this,t),this.color={},"object"==typeof e.value)if(e.value instanceof Array){var n=e.value[Math.floor(Math.random()*i.particles.color.value.length)];this.color.rgb=hexToRgb(n)}else void 0!=e.value.r&&void 0!=e.value.g&&void 0!=e.value.b&&(this.color.rgb={r:e.value.r,g:e.value.g,b:e.value.b}),void 0!=e.value.h&&void 0!=e.value.s&&void 0!=e.value.l&&(this.color.hsl={h:e.value.h,s:e.value.s,l:e.value.l});else"random"==e.value?this.color.rgb={r:Math.floor(256*Math.random())+0,g:Math.floor(256*Math.random())+0,b:Math.floor(256*Math.random())+0}:"string"==typeof e.value&&(this.color=e,this.color.rgb=hexToRgb(this.color.value));this.opacity=(i.particles.opacity.random?Math.random():1)*i.particles.opacity.value,i.particles.opacity.anim.enable&&(this.opacity_status=!1,this.vo=i.particles.opacity.anim.speed/100,i.particles.opacity.anim.sync||(this.vo=this.vo*Math.random()));var s={};switch(i.particles.move.direction){case"top":s={x:0,y:-1};break;case"top-right":s={x:.5,y:-.5};break;case"right":s={x:1,y:-0};break;case"bottom-right":s={x:.5,y:.5};break;case"bottom":s={x:0,y:1};break;case"bottom-left":s={x:-.5,y:1};break;case"left":s={x:-1,y:0};break;case"top-left":s={x:-.5,y:-.5};break;default:s={x:0,y:0}}i.particles.move.straight?(this.vx=s.x,this.vy=s.y,i.particles.move.random&&(this.vx=this.vx*Math.random(),this.vy=this.vy*Math.random())):(this.vx=s.x+Math.random()-.5,this.vy=s.y+Math.random()-.5),this.vx_i=this.vx,this.vy_i=this.vy;var r=i.particles.shape.type;if("object"==typeof r){if(r instanceof Array){var c=r[Math.floor(Math.random()*r.length)];this.shape=c}}else this.shape=r;if("image"==this.shape){var o=i.particles.shape;this.img={src:o.image.src,ratio:o.image.width/o.image.height},this.img.ratio||(this.img.ratio=1),"svg"==i.tmp.img_type&&void 0!=i.tmp.source_svg&&(i.fn.vendors.createSvgImg(this),i.tmp.pushing&&(this.img.loaded=!1))}},i.fn.particle.prototype.draw=function(){function e(){i.canvas.ctx.drawImage(r,a.x-t,a.y-t,2*t,2*t/a.img.ratio)}var a=this;if(void 0!=a.radius_bubble)var t=a.radius_bubble;else var t=a.radius;if(void 0!=a.opacity_bubble)var n=a.opacity_bubble;else var n=a.opacity;if(a.color.rgb)var s="rgba("+a.color.rgb.r+","+a.color.rgb.g+","+a.color.rgb.b+","+n+")";else var s="hsla("+a.color.hsl.h+","+a.color.hsl.s+"%,"+a.color.hsl.l+"%,"+n+")";switch(i.canvas.ctx.fillStyle=s,i.canvas.ctx.beginPath(),a.shape){case"circle":i.canvas.ctx.arc(a.x,a.y,t,0,2*Math.PI,!1);break;case"edge":i.canvas.ctx.rect(a.x-t,a.y-t,2*t,2*t);break;case"triangle":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t,a.y+t/1.66,2*t,3,2);break;case"polygon":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t/(i.particles.shape.polygon.nb_sides/3.5),a.y-t/.76,2.66*t/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,1);break;case"star":i.fn.vendors.drawShape(i.canvas.ctx,a.x-2*t/(i.particles.shape.polygon.nb_sides/4),a.y-t/1.52,2*t*2.66/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,2);break;case"image":if("svg"==i.tmp.img_type)var r=a.img.obj;else var r=i.tmp.img_obj;r&&e()}i.canvas.ctx.closePath(),i.particles.shape.stroke.width>0&&(i.canvas.ctx.strokeStyle=i.particles.shape.stroke.color,i.canvas.ctx.lineWidth=i.particles.shape.stroke.width,i.canvas.ctx.stroke()),i.canvas.ctx.fill()},i.fn.particlesCreate=function(){for(var e=0;e<i.particles.number.value;e++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value))},i.fn.particlesUpdate=function(){for(var e=0;e<i.particles.array.length;e++){var a=i.particles.array[e];if(i.particles.move.enable){var t=i.particles.move.speed/2;a.x+=a.vx*t,a.y+=a.vy*t}if(i.particles.opacity.anim.enable&&(1==a.opacity_status?(a.opacity>=i.particles.opacity.value&&(a.opacity_status=!1),a.opacity+=a.vo):(a.opacity<=i.particles.opacity.anim.opacity_min&&(a.opacity_status=!0),a.opacity-=a.vo),a.opacity<0&&(a.opacity=0)),i.particles.size.anim.enable&&(1==a.size_status?(a.radius>=i.particles.size.value&&(a.size_status=!1),a.radius+=a.vs):(a.radius<=i.particles.size.anim.size_min&&(a.size_status=!0),a.radius-=a.vs),a.radius<0&&(a.radius=0)),"bounce"==i.particles.move.out_mode)var n={x_left:a.radius,x_right:i.canvas.w,y_top:a.radius,y_bottom:i.canvas.h};else var n={x_left:-a.radius,x_right:i.canvas.w+a.radius,y_top:-a.radius,y_bottom:i.canvas.h+a.radius};switch(a.x-a.radius>i.canvas.w?(a.x=n.x_left,a.y=Math.random()*i.canvas.h):a.x+a.radius<0&&(a.x=n.x_right,a.y=Math.random()*i.canvas.h),a.y-a.radius>i.canvas.h?(a.y=n.y_top,a.x=Math.random()*i.canvas.w):a.y+a.radius<0&&(a.y=n.y_bottom,a.x=Math.random()*i.canvas.w),i.particles.move.out_mode){case"bounce":a.x+a.radius>i.canvas.w?a.vx=-a.vx:a.x-a.radius<0&&(a.vx=-a.vx),a.y+a.radius>i.canvas.h?a.vy=-a.vy:a.y-a.radius<0&&(a.vy=-a.vy)}if(isInArray("grab",i.interactivity.events.onhover.mode)&&i.fn.modes.grabParticle(a),(isInArray("bubble",i.interactivity.events.onhover.mode)||isInArray("bubble",i.interactivity.events.onclick.mode))&&i.fn.modes.bubbleParticle(a),(isInArray("repulse",i.interactivity.events.onhover.mode)||isInArray("repulse",i.interactivity.events.onclick.mode))&&i.fn.modes.repulseParticle(a),i.particles.line_linked.enable||i.particles.move.attract.enable)for(var s=e+1;s<i.particles.array.length;s++){var r=i.particles.array[s];i.particles.line_linked.enable&&i.fn.interact.linkParticles(a,r),i.particles.move.attract.enable&&i.fn.interact.attractParticles(a,r),i.particles.move.bounce&&i.fn.interact.bounceParticles(a,r)}}},i.fn.particlesDraw=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h),i.fn.particlesUpdate();for(var e=0;e<i.particles.array.length;e++){var a=i.particles.array[e];a.draw()}},i.fn.particlesEmpty=function(){i.particles.array=[]},i.fn.particlesRefresh=function(){cancelRequestAnimFrame(i.fn.checkAnimFrame),cancelRequestAnimFrame(i.fn.drawAnimFrame),i.tmp.source_svg=void 0,i.tmp.img_obj=void 0,i.tmp.count_svg=0,i.fn.particlesEmpty(),i.fn.canvasClear(),i.fn.vendors.start()},i.fn.interact.linkParticles=function(e,a){var t=e.x-a.x,n=e.y-a.y,s=Math.sqrt(t*t+n*n);if(s<=i.particles.line_linked.distance){var r=i.particles.line_linked.opacity-s/(1/i.particles.line_linked.opacity)/i.particles.line_linked.distance;if(r>0){var c=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+c.r+","+c.g+","+c.b+","+r+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(a.x,a.y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}},i.fn.interact.attractParticles=function(e,a){var t=e.x-a.x,n=e.y-a.y,s=Math.sqrt(t*t+n*n);if(s<=i.particles.line_linked.distance){var r=t/(1e3*i.particles.move.attract.rotateX),c=n/(1e3*i.particles.move.attract.rotateY);e.vx-=r,e.vy-=c,a.vx+=r,a.vy+=c}},i.fn.interact.bounceParticles=function(e,a){var t=e.x-a.x,i=e.y-a.y,n=Math.sqrt(t*t+i*i),s=e.radius+a.radius;n<=s&&(e.vx=-e.vx,e.vy=-e.vy,a.vx=-a.vx,a.vy=-a.vy)},i.fn.modes.pushParticles=function(e,a){i.tmp.pushing=!0;for(var t=0;t<e;t++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value,{x:a?a.pos_x:Math.random()*i.canvas.w,y:a?a.pos_y:Math.random()*i.canvas.h})),t==e-1&&(i.particles.move.enable||i.fn.particlesDraw(),i.tmp.pushing=!1)},i.fn.modes.removeParticles=function(e){i.particles.array.splice(0,e),i.particles.move.enable||i.fn.particlesDraw()},i.fn.modes.bubbleParticle=function(e){function a(){e.opacity_bubble=e.opacity,e.radius_bubble=e.radius}function t(a,t,n,s,c){if(a!=t)if(i.tmp.bubble_duration_end){if(void 0!=n){var o=s-p*(s-a)/i.interactivity.modes.bubble.duration,l=a-o;d=a+l,"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d)}}else if(r<=i.interactivity.modes.bubble.distance){if(void 0!=n)var v=n;else var v=s;if(v!=a){var d=s-p*(s-a)/i.interactivity.modes.bubble.duration;"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d)}}else"size"==c&&(e.radius_bubble=void 0),"opacity"==c&&(e.opacity_bubble=void 0)}if(i.interactivity.events.onhover.enable&&isInArray("bubble",i.interactivity.events.onhover.mode)){var n=e.x-i.interactivity.mouse.pos_x,s=e.y-i.interactivity.mouse.pos_y,r=Math.sqrt(n*n+s*s),c=1-r/i.interactivity.modes.bubble.distance;if(r<=i.interactivity.modes.bubble.distance){if(c>=0&&"mousemove"==i.interactivity.status){if(i.interactivity.modes.bubble.size!=i.particles.size.value)if(i.interactivity.modes.bubble.size>i.particles.size.value){var o=e.radius+i.interactivity.modes.bubble.size*c;o>=0&&(e.radius_bubble=o)}else{var l=e.radius-i.interactivity.modes.bubble.size,o=e.radius-l*c;o>0?e.radius_bubble=o:e.radius_bubble=0}if(i.interactivity.modes.bubble.opacity!=i.particles.opacity.value)if(i.interactivity.modes.bubble.opacity>i.particles.opacity.value){var v=i.interactivity.modes.bubble.opacity*c;v>e.opacity&&v<=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v)}else{var v=e.opacity-(i.particles.opacity.value-i.interactivity.modes.bubble.opacity)*c;v<e.opacity&&v>=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v)}}}else a();"mouseleave"==i.interactivity.status&&a()}else if(i.interactivity.events.onclick.enable&&isInArray("bubble",i.interactivity.events.onclick.mode)){if(i.tmp.bubble_clicking){var n=e.x-i.interactivity.mouse.click_pos_x,s=e.y-i.interactivity.mouse.click_pos_y,r=Math.sqrt(n*n+s*s),p=((new Date).getTime()-i.interactivity.mouse.click_time)/1e3;p>i.interactivity.modes.bubble.duration&&(i.tmp.bubble_duration_end=!0),p>2*i.interactivity.modes.bubble.duration&&(i.tmp.bubble_clicking=!1,i.tmp.bubble_duration_end=!1)}i.tmp.bubble_clicking&&(t(i.interactivity.modes.bubble.size,i.particles.size.value,e.radius_bubble,e.radius,"size"),t(i.interactivity.modes.bubble.opacity,i.particles.opacity.value,e.opacity_bubble,e.opacity,"opacity"))}},i.fn.modes.repulseParticle=function(e){function a(){var a=Math.atan2(d,p);if(e.vx=u*Math.cos(a),e.vy=u*Math.sin(a),"bounce"==i.particles.move.out_mode){var t={x:e.x+e.vx,y:e.y+e.vy};t.x+e.radius>i.canvas.w?e.vx=-e.vx:t.x-e.radius<0&&(e.vx=-e.vx),t.y+e.radius>i.canvas.h?e.vy=-e.vy:t.y-e.radius<0&&(e.vy=-e.vy)}}if(i.interactivity.events.onhover.enable&&isInArray("repulse",i.interactivity.events.onhover.mode)&&"mousemove"==i.interactivity.status){var t=e.x-i.interactivity.mouse.pos_x,n=e.y-i.interactivity.mouse.pos_y,s=Math.sqrt(t*t+n*n),r={x:t/s,y:n/s},c=i.interactivity.modes.repulse.distance,o=100,l=clamp(1/c*(-1*Math.pow(s/c,2)+1)*c*o,0,50),v={x:e.x+r.x*l,y:e.y+r.y*l};"bounce"==i.particles.move.out_mode?(v.x-e.radius>0&&v.x+e.radius<i.canvas.w&&(e.x=v.x),v.y-e.radius>0&&v.y+e.radius<i.canvas.h&&(e.y=v.y)):(e.x=v.x,e.y=v.y)}else if(i.interactivity.events.onclick.enable&&isInArray("repulse",i.interactivity.events.onclick.mode))if(i.tmp.repulse_finish||(i.tmp.repulse_count++,i.tmp.repulse_count==i.particles.array.length&&(i.tmp.repulse_finish=!0)),i.tmp.repulse_clicking){var c=Math.pow(i.interactivity.modes.repulse.distance/6,3),p=i.interactivity.mouse.click_pos_x-e.x,d=i.interactivity.mouse.click_pos_y-e.y,m=p*p+d*d,u=-c/m*1;m<=c&&a()}else 0==i.tmp.repulse_clicking&&(e.vx=e.vx_i,e.vy=e.vy_i)},i.fn.modes.grabParticle=function(e){if(i.interactivity.events.onhover.enable&&"mousemove"==i.interactivity.status){var a=e.x-i.interactivity.mouse.pos_x,t=e.y-i.interactivity.mouse.pos_y,n=Math.sqrt(a*a+t*t);if(n<=i.interactivity.modes.grab.distance){var s=i.interactivity.modes.grab.line_linked.opacity-n/(1/i.interactivity.modes.grab.line_linked.opacity)/i.interactivity.modes.grab.distance;if(s>0){var r=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+r.r+","+r.g+","+r.b+","+s+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(i.interactivity.mouse.pos_x,i.interactivity.mouse.pos_y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}}},i.fn.vendors.eventsListeners=function(){"window"==i.interactivity.detect_on?i.interactivity.el=window:i.interactivity.el=i.canvas.el,(i.interactivity.events.onhover.enable||i.interactivity.events.onclick.enable)&&(i.interactivity.el.addEventListener("mousemove",function(e){if(i.interactivity.el==window)var a=e.clientX,t=e.clientY;else var a=e.offsetX||e.clientX,t=e.offsetY||e.clientY;i.interactivity.mouse.pos_x=a,i.interactivity.mouse.pos_y=t,i.tmp.retina&&(i.interactivity.mouse.pos_x*=i.canvas.pxratio,i.interactivity.mouse.pos_y*=i.canvas.pxratio),i.interactivity.status="mousemove"}),i.interactivity.el.addEventListener("mouseleave",function(e){i.interactivity.mouse.pos_x=null,i.interactivity.mouse.pos_y=null,i.interactivity.status="mouseleave"})),i.interactivity.events.onclick.enable&&i.interactivity.el.addEventListener("click",function(){if(i.interactivity.mouse.click_pos_x=i.interactivity.mouse.pos_x,i.interactivity.mouse.click_pos_y=i.interactivity.mouse.pos_y,i.interactivity.mouse.click_time=(new Date).getTime(),i.interactivity.events.onclick.enable)switch(i.interactivity.events.onclick.mode){case"push":i.particles.move.enable?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):1==i.interactivity.modes.push.particles_nb?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):i.interactivity.modes.push.particles_nb>1&&i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb);break;case"remove":i.fn.modes.removeParticles(i.interactivity.modes.remove.particles_nb);break;case"bubble":i.tmp.bubble_clicking=!0;break;case"repulse":i.tmp.repulse_clicking=!0,i.tmp.repulse_count=0,i.tmp.repulse_finish=!1,setTimeout(function(){i.tmp.repulse_clicking=!1},1e3*i.interactivity.modes.repulse.duration)}})},i.fn.vendors.densityAutoParticles=function(){if(i.particles.number.density.enable){var e=i.canvas.el.width*i.canvas.el.height/1e3;i.tmp.retina&&(e/=2*i.canvas.pxratio);var a=e*i.particles.number.value/i.particles.number.density.value_area,t=i.particles.array.length-a;t<0?i.fn.modes.pushParticles(Math.abs(t)):i.fn.modes.removeParticles(t)}},i.fn.vendors.checkOverlap=function(e,a){for(var t=0;t<i.particles.array.length;t++){var n=i.particles.array[t],s=e.x-n.x,r=e.y-n.y,c=Math.sqrt(s*s+r*r);c<=e.radius+n.radius&&(e.x=a?a.x:Math.random()*i.canvas.w,e.y=a?a.y:Math.random()*i.canvas.h,i.fn.vendors.checkOverlap(e))}},i.fn.vendors.createSvgImg=function(e){var a=i.tmp.source_svg,t=/#([0-9A-F]{3,6})/gi,n=a.replace(t,function(a,t,i,n){if(e.color.rgb)var s="rgba("+e.color.rgb.r+","+e.color.rgb.g+","+e.color.rgb.b+","+e.opacity+")";else var s="hsla("+e.color.hsl.h+","+e.color.hsl.s+"%,"+e.color.hsl.l+"%,"+e.opacity+")";return s}),s=new Blob([n],{type:"image/svg+xml;charset=utf-8"}),r=window.URL||window.webkitURL||window,c=r.createObjectURL(s),o=new Image;o.addEventListener("load",function(){e.img.obj=o,e.img.loaded=!0,r.revokeObjectURL(c),i.tmp.count_svg++}),o.src=c},i.fn.vendors.destroypJS=function(){cancelAnimationFrame(i.fn.drawAnimFrame),t.remove(),pJSDom=null},i.fn.vendors.drawShape=function(e,a,t,i,n,s){var r=n*s,c=n/s,o=180*(c-2)/c,l=Math.PI-Math.PI*o/180;e.save(),e.beginPath(),e.translate(a,t),e.moveTo(0,0);for(var v=0;v<r;v++)e.lineTo(i,0),e.translate(i,0),e.rotate(l);e.fill(),e.restore()},i.fn.vendors.exportImg=function(){window.open(i.canvas.el.toDataURL("image/png"),"_blank")},i.fn.vendors.loadImg=function(e){if(i.tmp.img_error=void 0,""!=i.particles.shape.image.src)if("svg"==e){var a=new XMLHttpRequest;a.open("GET",i.particles.shape.image.src),a.onreadystatechange=function(e){4==a.readyState&&(200==a.status?(i.tmp.source_svg=e.currentTarget.response,i.fn.vendors.checkBeforeDraw()):(console.log("Error pJS - Image not found"),i.tmp.img_error=!0))},a.send()}else{var t=new Image;t.addEventListener("load",function(){i.tmp.img_obj=t,i.fn.vendors.checkBeforeDraw()}),t.src=i.particles.shape.image.src}else console.log("Error pJS - No image.src"),i.tmp.img_error=!0},i.fn.vendors.draw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type?i.tmp.count_svg>=i.particles.number.value?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):void 0!=i.tmp.img_obj?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame))},i.fn.vendors.checkBeforeDraw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type&&void 0==i.tmp.source_svg?i.tmp.checkAnimFrame=requestAnimFrame(check):(cancelRequestAnimFrame(i.tmp.checkAnimFrame),i.tmp.img_error||(i.fn.vendors.init(),i.fn.vendors.draw())):(i.fn.vendors.init(),i.fn.vendors.draw())},i.fn.vendors.init=function(){i.fn.retinaInit(),i.fn.canvasInit(),i.fn.canvasSize(),i.fn.canvasPaint(),i.fn.particlesCreate(),i.fn.vendors.densityAutoParticles(),i.particles.line_linked.color_rgb_line=hexToRgb(i.particles.line_linked.color)},i.fn.vendors.start=function(){isInArray("image",i.particles.shape.type)?(i.tmp.img_type=i.particles.shape.image.src.substr(i.particles.shape.image.src.length-3),i.fn.vendors.loadImg(i.tmp.img_type)):i.fn.vendors.checkBeforeDraw()},i.fn.vendors.eventsListeners(),i.fn.vendors.start()};Object.deepExtend=function(e,a){for(var t in a)a[t]&&a[t].constructor&&a[t].constructor===Object?(e[t]=e[t]||{},arguments.callee(e[t],a[t])):e[t]=a[t];return e},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}}(),window.cancelRequestAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout}(),window.pJSDom=[],window.particlesJS=function(e,a){"string"!=typeof e&&(a=e,e="particles-js"),e||(e="particles-js");var t=document.getElementById(e),i="particles-js-canvas-el",n=t.getElementsByClassName(i);if(n.length)for(;n.length>0;)t.removeChild(n[0]);var s=document.createElement("canvas");s.className=i,s.style.width="100%",s.style.height="100%";var r=document.getElementById(e).appendChild(s);null!=r&&pJSDom.push(new pJS(e,a))},window.particlesJS.load=function(e,a,t){var i=new XMLHttpRequest;i.open("GET",a),i.onreadystatechange=function(a){if(4==i.readyState)if(200==i.status){var n=JSON.parse(a.currentTarget.response);window.particlesJS(e,n),t&&t()}else console.log("Error pJS - XMLHttpRequest status: "+i.status),console.log("Error pJS - File config not found")},i.send()},particlesJS("particles-js",{particles:{number:{value:120,density:{enable:!0,value_area:962.0443442314919}},color:{value:"#EF4F51"},shape:{type:"circle",stroke:{width:0,color:"#EF4F51"},polygon:{nb_sides:5}},opacity:{value:.2,random:!1,anim:{enable:!1,speed:1,opacity_min:.1,sync:!1}},size:{value:6,random:!0,anim:{enable:!1,speed:40,size_min:.1,sync:!1}},line_linked:{enable:!0,distance:208.4429412501566,color:"#7ACCC9",opacity:.4,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"bounce",bounce:!1,attract:{enable:!1,rotateX:600,rotateY:1200}}},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"repulse"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:400,line_linked:{opacity:1}},bubble:{distance:400,size:40,duration:2,opacity:8,speed:3},repulse:{distance:56.84557797233854,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}}},retina_detect:!0});</script> </body> </html>
291
+ http_version:
292
+ recorded_at: Wed, 12 Feb 2020 16:51:00 GMT
293
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,251 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.chartmogul.com/v1/data_sources
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"name":"Data Source #1"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.4
12
+ Content-Type:
13
+ - application/json
14
+ Authorization:
15
+ - Basic secret
16
+ response:
17
+ status:
18
+ code: 201
19
+ message:
20
+ headers:
21
+ server:
22
+ - nginx/1.10.1
23
+ date:
24
+ - Thu, 20 Feb 2020 17:14:53 GMT
25
+ content-type:
26
+ - application/json
27
+ content-length:
28
+ - '152'
29
+ connection:
30
+ - close
31
+ status:
32
+ - 201 Created
33
+ access-control-allow-credentials:
34
+ - 'true'
35
+ body:
36
+ encoding: UTF-8
37
+ string: '{"uuid":"ds_829c448a-5404-11ea-ab18-db11706d03de","name":"Data Source
38
+ #1","system":"Import API","created_at":"2020-02-20T17:14:53.542Z","status":"idle"}'
39
+ http_version:
40
+ recorded_at: Thu, 20 Feb 2020 17:14:53 GMT
41
+ - request:
42
+ method: post
43
+ uri: https://api.chartmogul.com/v1/plans
44
+ body:
45
+ encoding: UTF-8
46
+ string: '{"name":"A Test Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_829c448a-5404-11ea-ab18-db11706d03de"}'
47
+ headers:
48
+ User-Agent:
49
+ - Faraday v0.15.4
50
+ Content-Type:
51
+ - application/json
52
+ Authorization:
53
+ - Basic secret
54
+ response:
55
+ status:
56
+ code: 201
57
+ message:
58
+ headers:
59
+ server:
60
+ - nginx/1.10.1
61
+ date:
62
+ - Thu, 20 Feb 2020 17:14:54 GMT
63
+ content-type:
64
+ - application/json; charset=utf-8
65
+ transfer-encoding:
66
+ - chunked
67
+ connection:
68
+ - close
69
+ status:
70
+ - 201 Created
71
+ x-frame-options:
72
+ - SAMEORIGIN
73
+ x-xss-protection:
74
+ - 1; mode=block
75
+ x-content-type-options:
76
+ - nosniff
77
+ etag:
78
+ - W/"902ad62e9093abc28f236ceffb652454"
79
+ cache-control:
80
+ - max-age=0, private, must-revalidate
81
+ x-request-id:
82
+ - 5e5445aa-cfaf-4b3f-b609-c06bdcdabf07
83
+ x-runtime:
84
+ - '0.105219'
85
+ strict-transport-security:
86
+ - max-age=15768000
87
+ body:
88
+ encoding: UTF-8
89
+ string: '{"external_id":"6f5f2e80-3632-0138-ca32-42eead14b4ad","name":"A Test
90
+ Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_829c448a-5404-11ea-ab18-db11706d03de","uuid":"pl_6f5f2e80-3632-0138-ca32-42eead14b4ad"}'
91
+ http_version:
92
+ recorded_at: Thu, 20 Feb 2020 17:14:54 GMT
93
+ - request:
94
+ method: post
95
+ uri: https://api.chartmogul.com/v1/plans
96
+ body:
97
+ encoding: UTF-8
98
+ string: '{"name":"A another Test Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_829c448a-5404-11ea-ab18-db11706d03de"}'
99
+ headers:
100
+ User-Agent:
101
+ - Faraday v0.15.4
102
+ Content-Type:
103
+ - application/json
104
+ Authorization:
105
+ - Basic secret
106
+ response:
107
+ status:
108
+ code: 201
109
+ message:
110
+ headers:
111
+ server:
112
+ - nginx/1.10.1
113
+ date:
114
+ - Thu, 20 Feb 2020 17:14:54 GMT
115
+ content-type:
116
+ - application/json; charset=utf-8
117
+ transfer-encoding:
118
+ - chunked
119
+ connection:
120
+ - close
121
+ status:
122
+ - 201 Created
123
+ x-frame-options:
124
+ - SAMEORIGIN
125
+ x-xss-protection:
126
+ - 1; mode=block
127
+ x-content-type-options:
128
+ - nosniff
129
+ etag:
130
+ - W/"7b328c6d0ef318c67e036f598a2b2554"
131
+ cache-control:
132
+ - max-age=0, private, must-revalidate
133
+ x-request-id:
134
+ - 0143f23d-cf20-4172-8821-e663d34e3ea3
135
+ x-runtime:
136
+ - '0.171744'
137
+ strict-transport-security:
138
+ - max-age=15768000
139
+ body:
140
+ encoding: UTF-8
141
+ string: '{"external_id":"6f8e4b20-3632-0138-f01e-62b37fb4c770","name":"A another
142
+ Test Plan","interval_count":1,"interval_unit":"month","data_source_uuid":"ds_829c448a-5404-11ea-ab18-db11706d03de","uuid":"pl_6f8e4b20-3632-0138-f01e-62b37fb4c770"}'
143
+ http_version:
144
+ recorded_at: Thu, 20 Feb 2020 17:14:54 GMT
145
+ - request:
146
+ method: post
147
+ uri: https://api.chartmogul.com/v1/plan_groups
148
+ body:
149
+ encoding: UTF-8
150
+ string: '{"name":"My plan group","plans":["pl_6f5f2e80-3632-0138-ca32-42eead14b4ad","pl_6f8e4b20-3632-0138-f01e-62b37fb4c770"]}'
151
+ headers:
152
+ User-Agent:
153
+ - Faraday v0.15.4
154
+ Content-Type:
155
+ - application/json
156
+ Authorization:
157
+ - Basic secret
158
+ response:
159
+ status:
160
+ code: 200
161
+ message:
162
+ headers:
163
+ server:
164
+ - nginx/1.10.1
165
+ date:
166
+ - Thu, 20 Feb 2020 17:14:54 GMT
167
+ content-type:
168
+ - application/json; charset=utf-8
169
+ transfer-encoding:
170
+ - chunked
171
+ connection:
172
+ - close
173
+ vary:
174
+ - Accept-Encoding, Accept-Encoding
175
+ status:
176
+ - 200 OK
177
+ x-frame-options:
178
+ - SAMEORIGIN
179
+ x-xss-protection:
180
+ - 1; mode=block
181
+ x-content-type-options:
182
+ - nosniff
183
+ etag:
184
+ - W/"8d079567f75302f08e366740c2dd92f4"
185
+ cache-control:
186
+ - max-age=0, private, must-revalidate
187
+ x-request-id:
188
+ - cc79c4d5-9a2a-4bda-ad92-1a935efe7938
189
+ x-runtime:
190
+ - '0.073698'
191
+ strict-transport-security:
192
+ - max-age=15768000
193
+ body:
194
+ encoding: ASCII-8BIT
195
+ string: '{"name":"My plan group","uuid":"plg_b53fdbfc-c5eb-4a61-a589-85146cf8d0ab","plans_count":2}'
196
+ http_version:
197
+ recorded_at: Thu, 20 Feb 2020 17:14:54 GMT
198
+ - request:
199
+ method: get
200
+ uri: https://api.chartmogul.com/v1/plan_groups/plg_b53fdbfc-c5eb-4a61-a589-85146cf8d0ab
201
+ body:
202
+ encoding: US-ASCII
203
+ string: ''
204
+ headers:
205
+ User-Agent:
206
+ - Faraday v0.15.4
207
+ Content-Type:
208
+ - application/json
209
+ Authorization:
210
+ - Basic secret
211
+ response:
212
+ status:
213
+ code: 200
214
+ message:
215
+ headers:
216
+ server:
217
+ - nginx/1.10.1
218
+ date:
219
+ - Thu, 20 Feb 2020 17:14:54 GMT
220
+ content-type:
221
+ - application/json; charset=utf-8
222
+ transfer-encoding:
223
+ - chunked
224
+ connection:
225
+ - close
226
+ vary:
227
+ - Accept-Encoding, Accept-Encoding
228
+ status:
229
+ - 200 OK
230
+ x-frame-options:
231
+ - SAMEORIGIN
232
+ x-xss-protection:
233
+ - 1; mode=block
234
+ x-content-type-options:
235
+ - nosniff
236
+ etag:
237
+ - W/"8d079567f75302f08e366740c2dd92f4"
238
+ cache-control:
239
+ - max-age=0, private, must-revalidate
240
+ x-request-id:
241
+ - 8174e86d-fbe3-4deb-89bb-74267418428d
242
+ x-runtime:
243
+ - '0.069583'
244
+ strict-transport-security:
245
+ - max-age=15768000
246
+ body:
247
+ encoding: ASCII-8BIT
248
+ string: '{"name":"My plan group","uuid":"plg_b53fdbfc-c5eb-4a61-a589-85146cf8d0ab","plans_count":2}'
249
+ http_version:
250
+ recorded_at: Thu, 20 Feb 2020 17:14:54 GMT
251
+ recorded_with: VCR 3.0.3