auth0 4.14.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/.yardoc/checksums +22 -0
  4. data/.yardoc/complete +0 -0
  5. data/.yardoc/object_types +0 -0
  6. data/.yardoc/objects/root.dat +0 -0
  7. data/.yardoc/proxy_types +0 -0
  8. data/CHANGELOG.md +73 -0
  9. data/Gemfile +0 -1
  10. data/Gemfile.lock +34 -39
  11. data/README.md +5 -7
  12. data/Rakefile +0 -22
  13. data/auth0.gemspec +1 -1
  14. data/examples/ruby-api/.gitignore +0 -6
  15. data/lib/auth0/api/authentication_endpoints.rb +6 -220
  16. data/lib/auth0/api/v2.rb +2 -0
  17. data/lib/auth0/api/v2/jobs.rb +11 -1
  18. data/lib/auth0/api/v2/log_streams.rb +78 -0
  19. data/lib/auth0/api/v2/tickets.rb +12 -1
  20. data/lib/auth0/api/v2/users.rb +20 -7
  21. data/lib/auth0/exception.rb +2 -7
  22. data/lib/auth0/mixins.rb +0 -1
  23. data/lib/auth0/mixins/access_token_struct.rb +2 -2
  24. data/lib/auth0/mixins/api_token_struct.rb +2 -2
  25. data/lib/auth0/mixins/httpproxy.rb +3 -1
  26. data/lib/auth0/mixins/initializer.rb +1 -7
  27. data/lib/auth0/mixins/permission_struct.rb +2 -2
  28. data/lib/auth0/mixins/validation.rb +1 -1
  29. data/lib/auth0/version.rb +1 -1
  30. data/spec/integration/lib/auth0/api/api_authentication_spec.rb +1 -1
  31. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +12 -0
  32. data/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +1 -1
  33. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +7 -1
  34. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +1 -1
  35. data/spec/lib/auth0/api/v2/jobs_spec.rb +17 -0
  36. data/spec/lib/auth0/api/v2/log_streams_spec.rb +84 -0
  37. data/spec/lib/auth0/api/v2/roles_spec.rb +4 -4
  38. data/spec/lib/auth0/api/v2/tickets_spec.rb +17 -0
  39. data/spec/lib/auth0/api/v2/users_spec.rb +37 -10
  40. data/spec/lib/auth0/mixins/httpproxy_spec.rb +2 -2
  41. data/spec/support/credentials.rb +0 -19
  42. metadata +31 -38
  43. data/deploy_documentation.sh +0 -29
  44. data/doc_config/templates/default/fulldoc/html/css/full_list.css +0 -79
  45. data/doc_config/templates/default/fulldoc/html/css/style.css +0 -546
  46. data/doc_config/templates/default/layout/html/breadcrumb.erb +0 -11
  47. data/doc_config/templates/default/layout/html/footer.erb +0 -115
  48. data/doc_config/templates/default/layout/html/headers.erb +0 -17
  49. data/doc_config/templates/default/layout/html/layout.erb +0 -27
  50. data/lib/auth0/api/v1.rb +0 -19
  51. data/lib/auth0/api/v1/clients.rb +0 -58
  52. data/lib/auth0/api/v1/connections.rb +0 -68
  53. data/lib/auth0/api/v1/logs.rb +0 -43
  54. data/lib/auth0/api/v1/rules.rb +0 -57
  55. data/lib/auth0/api/v1/users.rb +0 -227
  56. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +0 -703
@@ -293,8 +293,8 @@ describe Auth0::Api::V2::Roles do
293
293
  @instance.add_role_permissions(
294
294
  'ROLE_ID',
295
295
  [
296
- Permission.new('permission-name-1', 'server-id-1'),
297
- Permission.new('permission-name-2', 'server-id-2')
296
+ Auth0::Permission.new('permission-name-1', 'server-id-1'),
297
+ Auth0::Permission.new('permission-name-2', 'server-id-2')
298
298
  ]
299
299
  )
300
300
  end.not_to raise_error
@@ -352,8 +352,8 @@ describe Auth0::Api::V2::Roles do
352
352
  @instance.remove_role_permissions(
353
353
  'ROLE_ID',
354
354
  [
355
- Permission.new('permission-name-3', 'server-id-3'),
356
- Permission.new('permission-name-4', 'server-id-4')
355
+ Auth0::Permission.new('permission-name-3', 'server-id-3'),
356
+ Auth0::Permission.new('permission-name-4', 'server-id-4')
357
357
  ]
358
358
  )
359
359
  end.not_to raise_error
@@ -21,6 +21,23 @@ describe Auth0::Api::V2::Tickets do
21
21
  result_url: nil, ttl_sec: nil)
22
22
  expect { @instance.post_email_verification('user_id', ttl_sec: "noninteger") }.not_to raise_error
23
23
  end
24
+ it 'expect client to accept hash identity' do
25
+ expect(@instance).to receive(:post).with('/api/v2/tickets/email-verification', user_id: 'user_id',
26
+ result_url: nil,
27
+ ttl_sec: nil,
28
+ identity: {
29
+ provider: "auth0",
30
+ user_id: "user_id"
31
+ })
32
+ expect {
33
+ @instance.post_email_verification('user_id', identity: { provider: "auth0", user_id: "user_id"})
34
+ }.not_to raise_error
35
+ end
36
+ it 'expect client to return nil when calling with a non-hash identity' do
37
+ expect { @instance.post_email_verification('user_id', identity: "nonhash") }.to raise_error(
38
+ 'Identity must be a hash to post an email verification'
39
+ )
40
+ end
24
41
  it 'expect client to rasie error when calling with empty body' do
25
42
  expect { @instance.post_email_verification(nil) }.to raise_error(
26
43
  'Must supply a valid user id to post an email verification'
@@ -86,18 +86,28 @@ describe Auth0::Api::V2::Users do
86
86
  '/api/v2/users',
87
87
  email: 'test@test.com',
88
88
  password: 'password',
89
- connection: 'conn',
90
- name: 'name'
89
+ connection: 'conn'
91
90
  )
92
91
  expect do
93
92
  @instance.create_user(
94
- 'name',
93
+ 'conn',
95
94
  email: 'test@test.com',
96
- password: 'password',
97
- connection: 'conn'
95
+ password: 'password'
98
96
  )
99
97
  end.not_to raise_error
100
98
  end
99
+
100
+ it 'is expected to raise error if connection is not specified' do
101
+ expect(@instance).not_to receive(:delete)
102
+ expect {
103
+ @instance.create_user(
104
+ email: 'test@test.com',
105
+ password: 'password'
106
+ )
107
+ }.to raise_exception(
108
+ Auth0::MissingParameter
109
+ )
110
+ end
101
111
  end
102
112
 
103
113
  context '.delete_users' do
@@ -390,11 +400,28 @@ describe Auth0::Api::V2::Users do
390
400
  end
391
401
 
392
402
  it 'is expected to get permissions' do
393
- expect(@instance).to receive(:get).with('/api/v2/users/USER_ID/permissions')
403
+ expect(@instance).to receive(:get).with(
404
+ '/api/v2/users/USER_ID/permissions',
405
+ per_page: nil,
406
+ page: nil,
407
+ include_totals: nil,
408
+ )
394
409
  expect do
395
410
  @instance.get_user_permissions('USER_ID')
396
411
  end.not_to raise_error
397
412
  end
413
+
414
+ it 'is expected to get permissions with custom parameters' do
415
+ expect(@instance).to receive(:get).with(
416
+ '/api/v2/users/USER_ID/permissions',
417
+ per_page: 10,
418
+ page: 3,
419
+ include_totals: true
420
+ )
421
+ expect do
422
+ @instance.get_user_permissions('USER_ID', per_page: 10, page: 3, include_totals: true)
423
+ end.not_to raise_error
424
+ end
398
425
  end
399
426
 
400
427
  context '.remove_permissions' do
@@ -434,8 +461,8 @@ describe Auth0::Api::V2::Users do
434
461
  @instance.remove_user_permissions(
435
462
  'USER_ID',
436
463
  [
437
- Permission.new('permission-name-1', 'server-id-1'),
438
- Permission.new('permission-name-2', 'server-id-2')
464
+ Auth0::Permission.new('permission-name-1', 'server-id-1'),
465
+ Auth0::Permission.new('permission-name-2', 'server-id-2')
439
466
  ]
440
467
  )
441
468
  end.not_to raise_error
@@ -479,8 +506,8 @@ describe Auth0::Api::V2::Users do
479
506
  @instance.add_user_permissions(
480
507
  'USER_ID',
481
508
  [
482
- Permission.new('permission-name-1', 'server-id-1'),
483
- Permission.new('permission-name-2', 'server-id-2')
509
+ Auth0::Permission.new('permission-name-1', 'server-id-1'),
510
+ Auth0::Permission.new('permission-name-2', 'server-id-2')
484
511
  ]
485
512
  )
486
513
  end.not_to raise_error
@@ -141,7 +141,7 @@ describe Auth0::Mixins::HTTPProxy do
141
141
  expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError)
142
142
  end
143
143
 
144
- it 'should escape path with URI.escape' do
144
+ it 'should escape path with Addressable::URI.escape' do
145
145
  expect(RestClient::Request).to receive(:execute).with(method: http_method,
146
146
  url: '/te%20st',
147
147
  timeout: nil,
@@ -275,7 +275,7 @@ describe Auth0::Mixins::HTTPProxy do
275
275
  expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError)
276
276
  end
277
277
 
278
- it 'should escape path with URI.escape' do
278
+ it 'should escape path with Addressable::URI.escape' do
279
279
  expect(RestClient::Request).to receive(:execute).with(method: http_method,
280
280
  url: '/te%20st',
281
281
  timeout: nil,
@@ -1,24 +1,5 @@
1
1
  module Credentials
2
2
  module_function
3
-
4
- def v1_creds
5
- {
6
- client_id: ENV['CLIENT_ID'],
7
- client_secret: ENV['CLIENT_SECRET'],
8
- domain: ENV['DOMAIN'],
9
- api_version: 1
10
- }
11
- end
12
-
13
- def v1_global_creds
14
- {
15
- client_id: ENV['GLOBAL_CLIENT_ID'],
16
- client_secret: ENV['GLOBAL_CLIENT_SECRET'],
17
- domain: ENV['DOMAIN'],
18
- api_version: 1
19
- }
20
- end
21
-
22
3
  def v2_creds
23
4
  {
24
5
  domain: ENV.fetch( 'DOMAIN', 'DOMAIN' ),
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auth0
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.14.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Auth0
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-07-22 00:00:00.000000000 Z
14
+ date: 2020-10-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
@@ -55,6 +55,20 @@ dependencies:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
57
  version: 0.12.0
58
+ - !ruby/object:Gem::Dependency
59
+ name: addressable
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: 2.7.0
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: 2.7.0
58
72
  - !ruby/object:Gem::Dependency
59
73
  name: rake
60
74
  requirement: !ruby/object:Gem::Requirement
@@ -143,22 +157,22 @@ dependencies:
143
157
  name: rspec
144
158
  requirement: !ruby/object:Gem::Requirement
145
159
  requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: 3.1.0
149
160
  - - "~>"
150
161
  - !ruby/object:Gem::Version
151
162
  version: '3.1'
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 3.1.0
152
166
  type: :development
153
167
  prerelease: false
154
168
  version_requirements: !ruby/object:Gem::Requirement
155
169
  requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: 3.1.0
159
170
  - - "~>"
160
171
  - !ruby/object:Gem::Version
161
172
  version: '3.1'
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: 3.1.0
162
176
  - !ruby/object:Gem::Dependency
163
177
  name: rack-test
164
178
  requirement: !ruby/object:Gem::Requirement
@@ -215,20 +229,6 @@ dependencies:
215
229
  - - "~>"
216
230
  - !ruby/object:Gem::Version
217
231
  version: '1.4'
218
- - !ruby/object:Gem::Dependency
219
- name: yard
220
- requirement: !ruby/object:Gem::Requirement
221
- requirements:
222
- - - "~>"
223
- - !ruby/object:Gem::Version
224
- version: 0.9.12
225
- type: :development
226
- prerelease: false
227
- version_requirements: !ruby/object:Gem::Requirement
228
- requirements:
229
- - - "~>"
230
- - !ruby/object:Gem::Version
231
- version: 0.9.12
232
232
  - !ruby/object:Gem::Dependency
233
233
  name: gem-release
234
234
  requirement: !ruby/object:Gem::Requirement
@@ -262,6 +262,11 @@ files:
262
262
  - ".rspec"
263
263
  - ".rubocop.yml"
264
264
  - ".rubocop_todo.yml"
265
+ - ".yardoc/checksums"
266
+ - ".yardoc/complete"
267
+ - ".yardoc/object_types"
268
+ - ".yardoc/objects/root.dat"
269
+ - ".yardoc/proxy_types"
265
270
  - CHANGELOG.md
266
271
  - CODE_OF_CONDUCT.md
267
272
  - DEPLOYMENT.md
@@ -275,13 +280,6 @@ files:
275
280
  - Rakefile
276
281
  - auth0.gemspec
277
282
  - codecov.yml
278
- - deploy_documentation.sh
279
- - doc_config/templates/default/fulldoc/html/css/full_list.css
280
- - doc_config/templates/default/fulldoc/html/css/style.css
281
- - doc_config/templates/default/layout/html/breadcrumb.erb
282
- - doc_config/templates/default/layout/html/footer.erb
283
- - doc_config/templates/default/layout/html/headers.erb
284
- - doc_config/templates/default/layout/html/layout.erb
285
283
  - examples/ruby-api/.env.example
286
284
  - examples/ruby-api/.gitignore
287
285
  - examples/ruby-api/Gemfile
@@ -352,12 +350,6 @@ files:
352
350
  - lib/auth0.rb
353
351
  - lib/auth0/algorithm.rb
354
352
  - lib/auth0/api/authentication_endpoints.rb
355
- - lib/auth0/api/v1.rb
356
- - lib/auth0/api/v1/clients.rb
357
- - lib/auth0/api/v1/connections.rb
358
- - lib/auth0/api/v1/logs.rb
359
- - lib/auth0/api/v1/rules.rb
360
- - lib/auth0/api/v1/users.rb
361
353
  - lib/auth0/api/v2.rb
362
354
  - lib/auth0/api/v2/anomaly.rb
363
355
  - lib/auth0/api/v2/blacklists.rb
@@ -368,6 +360,7 @@ files:
368
360
  - lib/auth0/api/v2/emails.rb
369
361
  - lib/auth0/api/v2/guardian.rb
370
362
  - lib/auth0/api/v2/jobs.rb
363
+ - lib/auth0/api/v2/log_streams.rb
371
364
  - lib/auth0/api/v2/logs.rb
372
365
  - lib/auth0/api/v2/prompts.rb
373
366
  - lib/auth0/api/v2/resource_servers.rb
@@ -579,7 +572,6 @@ files:
579
572
  - spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
580
573
  - spec/integration/lib/auth0/api/v2/api_users_spec.rb
581
574
  - spec/integration/lib/auth0/auth0_client_spec.rb
582
- - spec/lib/auth0/api/authentication_endpoints_spec.rb
583
575
  - spec/lib/auth0/api/v2/anomaly_spec.rb
584
576
  - spec/lib/auth0/api/v2/blacklists_spec.rb
585
577
  - spec/lib/auth0/api/v2/client_grants_spec.rb
@@ -589,6 +581,7 @@ files:
589
581
  - spec/lib/auth0/api/v2/emails_spec.rb
590
582
  - spec/lib/auth0/api/v2/guardian_spec.rb
591
583
  - spec/lib/auth0/api/v2/jobs_spec.rb
584
+ - spec/lib/auth0/api/v2/log_streams_spec.rb
592
585
  - spec/lib/auth0/api/v2/logs_spec.rb
593
586
  - spec/lib/auth0/api/v2/prompts_spec.rb
594
587
  - spec/lib/auth0/api/v2/resource_servers_spec.rb
@@ -630,7 +623,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
630
623
  - !ruby/object:Gem::Version
631
624
  version: '0'
632
625
  requirements: []
633
- rubygems_version: 3.0.1
626
+ rubygems_version: 3.1.2
634
627
  signing_key:
635
628
  specification_version: 4
636
629
  summary: Auth0 API Client
@@ -822,7 +815,6 @@ test_files:
822
815
  - spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb
823
816
  - spec/integration/lib/auth0/api/v2/api_users_spec.rb
824
817
  - spec/integration/lib/auth0/auth0_client_spec.rb
825
- - spec/lib/auth0/api/authentication_endpoints_spec.rb
826
818
  - spec/lib/auth0/api/v2/anomaly_spec.rb
827
819
  - spec/lib/auth0/api/v2/blacklists_spec.rb
828
820
  - spec/lib/auth0/api/v2/client_grants_spec.rb
@@ -832,6 +824,7 @@ test_files:
832
824
  - spec/lib/auth0/api/v2/emails_spec.rb
833
825
  - spec/lib/auth0/api/v2/guardian_spec.rb
834
826
  - spec/lib/auth0/api/v2/jobs_spec.rb
827
+ - spec/lib/auth0/api/v2/log_streams_spec.rb
835
828
  - spec/lib/auth0/api/v2/logs_spec.rb
836
829
  - spec/lib/auth0/api/v2/prompts_spec.rb
837
830
  - spec/lib/auth0/api/v2/resource_servers_spec.rb
@@ -1,29 +0,0 @@
1
- #!/bin/bash
2
- # exit with nonzero exit code if anything fails
3
- set -e
4
-
5
- # clear and re-create the out directory
6
- rm -rf doc || exit 0;
7
- mkdir doc;
8
-
9
- # build documentation
10
- bundle exec rake documentation
11
-
12
- # go to the out directory and create a *new* Git repo
13
- cd doc
14
- git init
15
-
16
- # inside this git repo we'll pretend to be a new user
17
- git config user.name "Circle CI"
18
- git config user.email "build-documentation@auth0.com"
19
-
20
- # The first and only commit to this new Git repo contains all the
21
- # files present with the commit message "Deploy to GitHub Pages".
22
- git add .
23
- git commit -m "Deploy to GitHub Pages"
24
-
25
- # Force push from the current repo's master branch to the remote
26
- # repo's gh-pages branch. (All previous history on the gh-pages branch
27
- # will be lost, since we are overwriting it.) We redirect any output to
28
- # /dev/null to hide any sensitive credential data that might otherwise be exposed.
29
- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:gh-pages > /dev/null 2>&1
@@ -1,79 +0,0 @@
1
- body {
2
- padding: 0 20px;
3
- font-size: 14px;
4
- -webkit-font-smoothing: antialiased;
5
- -moz-font-smoothing: antialiased;
6
- font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
7
- color: #4d4d4d;
8
- }
9
-
10
- h1, h2, h3, h4, h5 {
11
- line-height: 1.5;
12
- font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
13
- color: #000;
14
- font-weight: 400;
15
- }
16
- h1 {
17
- font-size: 3rem;
18
- }
19
- h2 {
20
- font-size: 2rem;
21
- }
22
- h3 {
23
- font-size: 1.5rem;
24
- }
25
- h4 {
26
- font-size: 1.3rem;
27
- }
28
- h5 {
29
- font-size: 16px;
30
- }
31
-
32
- .clear { clear: both; }
33
- #search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
34
- #content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
35
- #full_list { padding: 0; list-style: none; margin-left: 0; }
36
- #full_list ul { padding: 0; }
37
- #full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
38
- #noresults { padding: 7px 12px; }
39
- #content.insearch #noresults { margin-left: 7px; }
40
- ul.collapsed ul, ul.collapsed li { display: none; }
41
- ul.collapsed.search_uncollapsed { display: block; }
42
- ul.collapsed.search_uncollapsed li { display: list-item; }
43
- li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
44
- li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
45
- li { color: #888; cursor: pointer; }
46
- li.deprecated { text-decoration: line-through; font-style: italic; }
47
- /*li.r1 { background: #f0f0f0; }
48
- li.r2 { background: #fafafa; }*/
49
- li:hover { background: #ddd; }
50
- li small:before { content: "("; }
51
- li small:after { content: ")"; }
52
- li small.search_info { display: none; }
53
- a:link, a:visited { text-decoration: none; color: #777; }
54
- li.clicked { background: #777; color: #ccc; }
55
- li.clicked a:link, li.clicked a:visited { color: #eee; }
56
- li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
57
- li.collapsed.clicked a.toggle { background-position: top right; }
58
- #search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
59
- #nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
60
- #nav a:link, #nav a:visited { color: #358; }
61
- #nav a:hover { background: transparent; color: #5af; }
62
- .frames #nav span:after { content: ' | '; }
63
- .frames #nav span:last-child:after { content: ''; }
64
-
65
- .frames #content h1 { margin-top: 0; }
66
- .frames li { white-space: nowrap; cursor: normal; }
67
- .frames li small { display: block; font-size: 0.8em; }
68
- .frames li small:before { content: ""; }
69
- .frames li small:after { content: ""; }
70
- .frames li small.search_info { display: none; }
71
- .frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
72
- .frames #content.insearch #search { background-position: center right; }
73
- .frames #search input { width: 110px; }
74
- .frames #nav { display: block; }
75
-
76
- #full_list.insearch li { display: none; }
77
- #full_list.insearch li.found { display: list-item; padding-left: 10px; }
78
- #full_list.insearch li a.toggle { display: none; }
79
- #full_list.insearch li small.search_info { display: block; }