auth0-deploy-cli 7.21.0 → 7.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/{79967eba-48ff-4031-8011-aca37169a77a.json → 8c594b79-aa55-4e49-845c-8d88ca24c494.json} +1 -1
- package/.nyc_output/processinfo/278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json +1 -0
- package/.nyc_output/processinfo/5210e060-a3b8-4e7f-9062-47807b58d0cd.json +1 -0
- package/.nyc_output/processinfo/{79967eba-48ff-4031-8011-aca37169a77a.json → 8c594b79-aa55-4e49-845c-8d88ca24c494.json} +1 -1
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +11 -1
- package/coverage/lcov-report/index.html +5 -5
- package/coverage/lcov.info +242 -241
- package/lib/tools/auth0/handlers/organizations.d.ts +3 -0
- package/lib/tools/auth0/handlers/organizations.js +4 -1
- package/lib/tools/auth0/handlers/organizations.js.map +1 -1
- package/lib/tools/auth0/handlers/themes.d.ts +6 -0
- package/lib/tools/auth0/handlers/themes.js +6 -0
- package/lib/tools/auth0/handlers/themes.js.map +1 -1
- package/package.json +1 -1
- package/.nyc_output/processinfo/16c9e62d-53da-4c19-ba42-9267b40f713d.json +0 -1
- package/.nyc_output/processinfo/8b142617-6824-4c2c-9f37-25748820eb7c.json +0 -1
- package/coverage/lcov-report/src/args.ts.html +0 -505
- package/coverage/lcov-report/src/commands/export.ts.html +0 -274
- package/coverage/lcov-report/src/commands/import.ts.html +0 -250
- package/coverage/lcov-report/src/commands/index.html +0 -131
- package/coverage/lcov-report/src/configFactory.ts.html +0 -175
- package/coverage/lcov-report/src/context/defaults.ts.html +0 -196
- package/coverage/lcov-report/src/context/directory/handlers/actions.ts.html +0 -433
- package/coverage/lcov-report/src/context/directory/handlers/attackProtection.ts.html +0 -334
- package/coverage/lcov-report/src/context/directory/handlers/branding.ts.html +0 -475
- package/coverage/lcov-report/src/context/directory/handlers/clientGrants.ts.html +0 -385
- package/coverage/lcov-report/src/context/directory/handlers/clients.ts.html +0 -340
- package/coverage/lcov-report/src/context/directory/handlers/connections.ts.html +0 -388
- package/coverage/lcov-report/src/context/directory/handlers/customDomains.ts.html +0 -232
- package/coverage/lcov-report/src/context/directory/handlers/databases.ts.html +0 -568
- package/coverage/lcov-report/src/context/directory/handlers/emailProvider.ts.html +0 -250
- package/coverage/lcov-report/src/context/directory/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorProviders.ts.html +0 -271
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorTemplates.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactors.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/guardianPolicies.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/hooks.ts.html +0 -289
- package/coverage/lcov-report/src/context/directory/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/directory/handlers/index.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/logStreams.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/migrations.ts.html +0 -205
- package/coverage/lcov-report/src/context/directory/handlers/organizations.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/pages.ts.html +0 -379
- package/coverage/lcov-report/src/context/directory/handlers/prompts.ts.html +0 -331
- package/coverage/lcov-report/src/context/directory/handlers/resourceServers.ts.html +0 -247
- package/coverage/lcov-report/src/context/directory/handlers/roles.ts.html +0 -268
- package/coverage/lcov-report/src/context/directory/handlers/rules.ts.html +0 -277
- package/coverage/lcov-report/src/context/directory/handlers/rulesConfigs.ts.html +0 -208
- package/coverage/lcov-report/src/context/directory/handlers/tenant.ts.html +0 -298
- package/coverage/lcov-report/src/context/directory/handlers/themes.ts.html +0 -241
- package/coverage/lcov-report/src/context/directory/handlers/triggers.ts.html +0 -229
- package/coverage/lcov-report/src/context/directory/index.html +0 -116
- package/coverage/lcov-report/src/context/directory/index.ts.html +0 -490
- package/coverage/lcov-report/src/context/index.html +0 -131
- package/coverage/lcov-report/src/context/index.ts.html +0 -784
- package/coverage/lcov-report/src/context/yaml/handlers/actions.ts.html +0 -388
- package/coverage/lcov-report/src/context/yaml/handlers/attackProtection.ts.html +0 -193
- package/coverage/lcov-report/src/context/yaml/handlers/branding.ts.html +0 -376
- package/coverage/lcov-report/src/context/yaml/handlers/clientGrants.ts.html +0 -223
- package/coverage/lcov-report/src/context/yaml/handlers/clients.ts.html +0 -304
- package/coverage/lcov-report/src/context/yaml/handlers/connections.ts.html +0 -394
- package/coverage/lcov-report/src/context/yaml/handlers/customDomains.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/databases.ts.html +0 -352
- package/coverage/lcov-report/src/context/yaml/handlers/emailProvider.ts.html +0 -208
- package/coverage/lcov-report/src/context/yaml/handlers/emailTemplates.ts.html +0 -241
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorProviders.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorTemplates.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactors.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -169
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPolicies.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/hooks.ts.html +0 -280
- package/coverage/lcov-report/src/context/yaml/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/yaml/handlers/index.ts.html +0 -298
- package/coverage/lcov-report/src/context/yaml/handlers/logStreams.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/migrations.ts.html +0 -145
- package/coverage/lcov-report/src/context/yaml/handlers/organizations.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/pages.ts.html +0 -265
- package/coverage/lcov-report/src/context/yaml/handlers/prompts.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/resourceServers.ts.html +0 -157
- package/coverage/lcov-report/src/context/yaml/handlers/roles.ts.html +0 -199
- package/coverage/lcov-report/src/context/yaml/handlers/rules.ts.html +0 -253
- package/coverage/lcov-report/src/context/yaml/handlers/rulesConfigs.ts.html +0 -181
- package/coverage/lcov-report/src/context/yaml/handlers/tenant.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/themes.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/triggers.ts.html +0 -172
- package/coverage/lcov-report/src/context/yaml/index.html +0 -116
- package/coverage/lcov-report/src/context/yaml/index.ts.html +0 -703
- package/coverage/lcov-report/src/index.html +0 -236
- package/coverage/lcov-report/src/index.ts.html +0 -361
- package/coverage/lcov-report/src/keywordPreservation.ts.html +0 -982
- package/coverage/lcov-report/src/logger.ts.html +0 -133
- package/coverage/lcov-report/src/readonly.ts.html +0 -343
- package/coverage/lcov-report/src/sessionDurationsToMinutes.ts.html +0 -154
- package/coverage/lcov-report/src/tools/auth0/client.ts.html +0 -604
- package/coverage/lcov-report/src/tools/auth0/handlers/actions.ts.html +0 -907
- package/coverage/lcov-report/src/tools/auth0/handlers/attackProtection.ts.html +0 -397
- package/coverage/lcov-report/src/tools/auth0/handlers/branding.ts.html +0 -430
- package/coverage/lcov-report/src/tools/auth0/handlers/clientGrants.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/clients.ts.html +0 -361
- package/coverage/lcov-report/src/tools/auth0/handlers/connections.ts.html +0 -598
- package/coverage/lcov-report/src/tools/auth0/handlers/customDomains.ts.html +0 -382
- package/coverage/lcov-report/src/tools/auth0/handlers/databases.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/default.ts.html +0 -1027
- package/coverage/lcov-report/src/tools/auth0/handlers/emailProvider.ts.html +0 -283
- package/coverage/lcov-report/src/tools/auth0/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorProviders.ts.html +0 -301
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorTemplates.ts.html +0 -265
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactors.ts.html +0 -241
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -337
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -331
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPolicies.ts.html +0 -256
- package/coverage/lcov-report/src/tools/auth0/handlers/hooks.ts.html +0 -895
- package/coverage/lcov-report/src/tools/auth0/handlers/index.html +0 -566
- package/coverage/lcov-report/src/tools/auth0/handlers/index.ts.html +0 -295
- package/coverage/lcov-report/src/tools/auth0/handlers/logStreams.ts.html +0 -379
- package/coverage/lcov-report/src/tools/auth0/handlers/migrations.ts.html +0 -319
- package/coverage/lcov-report/src/tools/auth0/handlers/organizations.ts.html +0 -961
- package/coverage/lcov-report/src/tools/auth0/handlers/pages.ts.html +0 -544
- package/coverage/lcov-report/src/tools/auth0/handlers/prompts.ts.html +0 -946
- package/coverage/lcov-report/src/tools/auth0/handlers/resourceServers.ts.html +0 -433
- package/coverage/lcov-report/src/tools/auth0/handlers/roles.ts.html +0 -748
- package/coverage/lcov-report/src/tools/auth0/handlers/rules.ts.html +0 -826
- package/coverage/lcov-report/src/tools/auth0/handlers/rulesConfigs.ts.html +0 -289
- package/coverage/lcov-report/src/tools/auth0/handlers/tenant.ts.html +0 -556
- package/coverage/lcov-report/src/tools/auth0/handlers/themes.ts.html +0 -1885
- package/coverage/lcov-report/src/tools/auth0/handlers/triggers.ts.html +0 -439
- package/coverage/lcov-report/src/tools/auth0/index.html +0 -146
- package/coverage/lcov-report/src/tools/auth0/index.ts.html +0 -385
- package/coverage/lcov-report/src/tools/auth0/schema.ts.html +0 -184
- package/coverage/lcov-report/src/tools/calculateChanges.ts.html +0 -688
- package/coverage/lcov-report/src/tools/constants.ts.html +0 -613
- package/coverage/lcov-report/src/tools/deploy.ts.html +0 -193
- package/coverage/lcov-report/src/tools/index.html +0 -191
- package/coverage/lcov-report/src/tools/index.ts.html +0 -163
- package/coverage/lcov-report/src/tools/utils.ts.html +0 -916
- package/coverage/lcov-report/src/tools/validationError.ts.html +0 -127
- package/coverage/lcov-report/src/types.ts.html +0 -1201
- package/coverage/lcov-report/src/utils.ts.html +0 -706
- /package/.nyc_output/{16c9e62d-53da-4c19-ba42-9267b40f713d.json → 278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json} +0 -0
- /package/.nyc_output/{8b142617-6824-4c2c-9f37-25748820eb7c.json → 5210e060-a3b8-4e7f-9062-47807b58d0cd.json} +0 -0
|
@@ -1,895 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/tools/auth0/handlers/hooks.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../../index.html">All files</a> / <a href="index.html">src/tools/auth0/handlers</a> hooks.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">95.09% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>97/102</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">87.5% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>42/48</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">100% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>28/28</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">96.8% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>91/94</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line high'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
337
|
-
<span class="cline-any cline-yes">1x</span>
|
|
338
|
-
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-yes">1x</span>
|
|
340
|
-
<span class="cline-any cline-yes">1x</span>
|
|
341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-yes">1x</span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-yes">1x</span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-yes">1x</span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
379
|
-
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-neutral"> </span>
|
|
390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
397
|
-
<span class="cline-any cline-yes">1x</span>
|
|
398
|
-
<span class="cline-any cline-yes">5x</span>
|
|
399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
400
|
-
<span class="cline-any cline-yes">5x</span>
|
|
401
|
-
<span class="cline-any cline-yes">5x</span>
|
|
402
|
-
<span class="cline-any cline-yes">4x</span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-yes">5x</span>
|
|
407
|
-
<span class="cline-any cline-neutral"> </span>
|
|
408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-yes">1x</span>
|
|
410
|
-
<span class="cline-any cline-yes">6x</span>
|
|
411
|
-
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-yes">6x</span>
|
|
413
|
-
<span class="cline-any cline-yes">65x</span>
|
|
414
|
-
<span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-yes">6x</span>
|
|
417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
419
|
-
<span class="cline-any cline-yes">1x</span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-yes">144x</span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-yes">6x</span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-neutral"> </span>
|
|
435
|
-
<span class="cline-any cline-yes">5x</span>
|
|
436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-yes">5x</span>
|
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-yes">5x</span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-yes">5x</span>
|
|
447
|
-
<span class="cline-any cline-yes">5x</span>
|
|
448
|
-
<span class="cline-any cline-yes">5x</span>
|
|
449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-yes">4x</span>
|
|
451
|
-
<span class="cline-any cline-yes">4x</span>
|
|
452
|
-
<span class="cline-any cline-yes">4x</span>
|
|
453
|
-
<span class="cline-any cline-yes">4x</span>
|
|
454
|
-
<span class="cline-any cline-yes">4x</span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-yes">4x</span>
|
|
457
|
-
<span class="cline-any cline-yes">6x</span>
|
|
458
|
-
<span class="cline-any cline-yes">3x</span>
|
|
459
|
-
<span class="cline-any cline-yes">3x</span>
|
|
460
|
-
<span class="cline-any cline-yes">2x</span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
464
|
-
<span class="cline-any cline-yes">4x</span>
|
|
465
|
-
<span class="cline-any cline-yes">5x</span>
|
|
466
|
-
<span class="cline-any cline-yes">2x</span>
|
|
467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-yes">4x</span>
|
|
471
|
-
<span class="cline-any cline-yes">2x</span>
|
|
472
|
-
<span class="cline-any cline-yes">4x</span>
|
|
473
|
-
<span class="cline-any cline-yes">1x</span>
|
|
474
|
-
<span class="cline-any cline-yes">4x</span>
|
|
475
|
-
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-neutral"> </span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-yes">5x</span>
|
|
479
|
-
<span class="cline-any cline-yes">1x</span>
|
|
480
|
-
<span class="cline-any cline-yes">1x</span>
|
|
481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-yes">5x</span>
|
|
485
|
-
<span class="cline-any cline-yes">1x</span>
|
|
486
|
-
<span class="cline-any cline-yes">1x</span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-yes">5x</span>
|
|
491
|
-
<span class="cline-any cline-yes">2x</span>
|
|
492
|
-
<span class="cline-any cline-yes">2x</span>
|
|
493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
-
<span class="cline-any cline-yes">20x</span>
|
|
500
|
-
<span class="cline-any cline-no"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-yes">20x</span>
|
|
505
|
-
<span class="cline-any cline-no"> </span>
|
|
506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-yes">20x</span>
|
|
509
|
-
<span class="cline-any cline-yes">20x</span>
|
|
510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">15x</span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-yes">11x</span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
517
|
-
<span class="cline-any cline-yes">11x</span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">11x</span>
|
|
520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-neutral"> </span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-yes">15x</span>
|
|
525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-yes">5x</span>
|
|
527
|
-
<span class="cline-any cline-yes">2x</span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-yes">3x</span>
|
|
530
|
-
<span class="cline-any cline-yes">2x</span>
|
|
531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-yes">1x</span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-yes">6x</span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-yes">18x</span>
|
|
541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-yes">6x</span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-neutral"> </span>
|
|
545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
|
-
<span class="cline-any cline-yes">73x</span>
|
|
552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-yes">73x</span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-yes">6x</span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-yes">6x</span>
|
|
559
|
-
<span class="cline-any cline-yes">26x</span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">2x</span>
|
|
562
|
-
<span class="cline-any cline-yes">1x</span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-yes">1x</span>
|
|
567
|
-
<span class="cline-any cline-yes">1x</span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">5x</span>
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-yes">6x</span>
|
|
576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-neutral"> </span>
|
|
578
|
-
<span class="cline-any cline-yes">6x</span>
|
|
579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-yes">6x</span>
|
|
581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-yes">6x</span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-yes">6x</span>
|
|
587
|
-
<span class="cline-any cline-yes">6x</span>
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-yes">5x</span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-yes">1x</span>
|
|
597
|
-
<span class="cline-any cline-yes">1x</span>
|
|
598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-yes">1x</span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-no"> </span>
|
|
603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import DefaultHandler from './default';
|
|
607
|
-
import constants from '../../constants';
|
|
608
|
-
import { Asset, Assets, CalculatedChanges } from '../../../types';
|
|
609
|
-
import log from '../../../logger';
|
|
610
|
-
import { isDeprecatedError } from '../../utils';
|
|
611
|
-
|
|
612
|
-
const ALLOWED_TRIGGER_IDS = [
|
|
613
|
-
'credentials-exchange',
|
|
614
|
-
'pre-user-registration',
|
|
615
|
-
'post-user-registration',
|
|
616
|
-
'post-change-password',
|
|
617
|
-
'send-phone-message',
|
|
618
|
-
];
|
|
619
|
-
|
|
620
|
-
export const excludeSchema = {
|
|
621
|
-
type: 'array',
|
|
622
|
-
items: { type: 'string' },
|
|
623
|
-
};
|
|
624
|
-
|
|
625
|
-
export const schema = {
|
|
626
|
-
type: 'array',
|
|
627
|
-
items: {
|
|
628
|
-
type: 'object',
|
|
629
|
-
default: [],
|
|
630
|
-
properties: {
|
|
631
|
-
script: {
|
|
632
|
-
type: 'string',
|
|
633
|
-
description: "A script that contains the hook's code",
|
|
634
|
-
default: '',
|
|
635
|
-
},
|
|
636
|
-
name: {
|
|
637
|
-
type: 'string',
|
|
638
|
-
description:
|
|
639
|
-
"The name of the hook. Can only contain alphanumeric characters, spaces and '-'. Can neither start nor end with '-' or spaces",
|
|
640
|
-
pattern: '^[^-\\s][a-zA-Z0-9-\\s]+[^-\\s]$',
|
|
641
|
-
},
|
|
642
|
-
enabled: {
|
|
643
|
-
type: 'boolean',
|
|
644
|
-
description: 'true if the hook is active, false otherwise',
|
|
645
|
-
default: false,
|
|
646
|
-
},
|
|
647
|
-
triggerId: {
|
|
648
|
-
type: 'string',
|
|
649
|
-
description: "The hooks's trigger ID",
|
|
650
|
-
enum: ALLOWED_TRIGGER_IDS,
|
|
651
|
-
},
|
|
652
|
-
secrets: {
|
|
653
|
-
type: 'object',
|
|
654
|
-
description: 'List of key-value pairs containing secrets available to the hook.',
|
|
655
|
-
default: {},
|
|
656
|
-
},
|
|
657
|
-
dependencies: {
|
|
658
|
-
type: 'object',
|
|
659
|
-
default: {},
|
|
660
|
-
description: 'List of key-value pairs of NPM dependencies available to the hook.',
|
|
661
|
-
},
|
|
662
|
-
},
|
|
663
|
-
required: ['script', 'name', 'triggerId'],
|
|
664
|
-
},
|
|
665
|
-
};
|
|
666
|
-
|
|
667
|
-
const getCertainHook = (hooks: Asset[], name: string, triggerId: string): Asset | null => {
|
|
668
|
-
let result: Asset | null = null;
|
|
669
|
-
|
|
670
|
-
hooks.forEach((hook) => {
|
|
671
|
-
if (hook.name === name && hook.triggerId === triggerId) {
|
|
672
|
-
result = hook;
|
|
673
|
-
}
|
|
674
|
-
});
|
|
675
|
-
|
|
676
|
-
return result;
|
|
677
|
-
};
|
|
678
|
-
|
|
679
|
-
const getActive = (hooks) => {
|
|
680
|
-
const result = {};
|
|
681
|
-
|
|
682
|
-
ALLOWED_TRIGGER_IDS.forEach((type) => {
|
|
683
|
-
result[type] = hooks.filter((h) => h.active && h.triggerId === type);
|
|
684
|
-
});
|
|
685
|
-
|
|
686
|
-
return result;
|
|
687
|
-
};
|
|
688
|
-
|
|
689
|
-
export default class HooksHandler extends DefaultHandler {
|
|
690
|
-
existing: Asset[];
|
|
691
|
-
|
|
692
|
-
constructor(options: DefaultHandler) {
|
|
693
|
-
super({
|
|
694
|
-
...options,
|
|
695
|
-
type: 'hooks',
|
|
696
|
-
stripUpdateFields: ['id', 'triggerId'],
|
|
697
|
-
});
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
objString(hook): string {
|
|
701
|
-
return super.objString({ name: hook.name, triggerId: hook.triggerId });
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
async processSecrets(hooks): Promise<void> {
|
|
705
|
-
const allHooks = await this.getType(true);
|
|
706
|
-
|
|
707
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (allHooks === null) <span class="cstat-no" title="statement not covered" >return;</span>
|
|
708
|
-
|
|
709
|
-
const changes: CalculatedChanges = {
|
|
710
|
-
create: [],
|
|
711
|
-
update: [],
|
|
712
|
-
del: [],
|
|
713
|
-
conflicts: [],
|
|
714
|
-
};
|
|
715
|
-
|
|
716
|
-
hooks.forEach((hook) => {
|
|
717
|
-
const current = getCertainHook(allHooks, hook.name, hook.triggerId);
|
|
718
|
-
if (current) {
|
|
719
|
-
// if the hook was deleted we don't care about its secrets
|
|
720
|
-
const oldSecrets = current.secrets || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
|
|
721
|
-
const newSecrets = hook.secrets || {};
|
|
722
|
-
const create = {};
|
|
723
|
-
const update = {};
|
|
724
|
-
const del: string[] = [];
|
|
725
|
-
|
|
726
|
-
Object.keys(newSecrets).forEach((key) => {
|
|
727
|
-
if (!oldSecrets[key]) {
|
|
728
|
-
create[key] = newSecrets[key];
|
|
729
|
-
} else if (newSecrets[key] !== constants.HOOKS_HIDDEN_SECRET_VALUE) {
|
|
730
|
-
update[key] = newSecrets[key];
|
|
731
|
-
}
|
|
732
|
-
});
|
|
733
|
-
|
|
734
|
-
Object.keys(oldSecrets).forEach((key) => {
|
|
735
|
-
if (!newSecrets[key]) {
|
|
736
|
-
del.push(key);
|
|
737
|
-
}
|
|
738
|
-
});
|
|
739
|
-
|
|
740
|
-
if (Object.keys(create).length)
|
|
741
|
-
changes.create.push({ hookId: current.id, secrets: create });
|
|
742
|
-
if (Object.keys(update).length)
|
|
743
|
-
changes.update.push({ hookId: current.id, secrets: update });
|
|
744
|
-
if (del.length) changes.del.push({ hookId: current.id, secrets: del });
|
|
745
|
-
}
|
|
746
|
-
});
|
|
747
|
-
|
|
748
|
-
await Promise.all(
|
|
749
|
-
changes.del.map(async (data) => {
|
|
750
|
-
await this.client.hooks.removeSecrets({ id: data.hookId }, data.secrets);
|
|
751
|
-
})
|
|
752
|
-
);
|
|
753
|
-
|
|
754
|
-
await Promise.all(
|
|
755
|
-
changes.update.map(async (data) => {
|
|
756
|
-
await this.client.hooks.updateSecrets({ id: data.hookId }, data.secrets);
|
|
757
|
-
})
|
|
758
|
-
);
|
|
759
|
-
|
|
760
|
-
await Promise.all(
|
|
761
|
-
changes.create.map(async (data) => {
|
|
762
|
-
await this.client.hooks.addSecrets({ id: data.hookId }, data.secrets);
|
|
763
|
-
})
|
|
764
|
-
);
|
|
765
|
-
}
|
|
766
|
-
|
|
767
|
-
//@ts-ignore because hooks use a special reload argument
|
|
768
|
-
async getType(reload: boolean): Promise<Asset[] | null> {
|
|
769
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (this.existing && !reload) {
|
|
770
|
-
<span class="cstat-no" title="statement not covered" > return this.existing;</span>
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
// in case client version does not support hooks
|
|
774
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!this.client.hooks || typeof this.client.hooks.getAll !== 'function') {
|
|
775
|
-
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
try {
|
|
779
|
-
const hooks = await this.client.hooks.getAll({ paginate: true, include_totals: true });
|
|
780
|
-
|
|
781
|
-
// hooks.getAll does not return code and secrets, we have to fetch hooks one-by-one
|
|
782
|
-
this.existing = await Promise.all(
|
|
783
|
-
hooks.map((hook: { id: string }) =>
|
|
784
|
-
this.client.hooks
|
|
785
|
-
.get({ id: hook.id })
|
|
786
|
-
.then((hookWithCode) =>
|
|
787
|
-
this.client.hooks
|
|
788
|
-
.getSecrets({ id: hook.id })
|
|
789
|
-
.then((secrets) => ({ ...hookWithCode, secrets }))
|
|
790
|
-
)
|
|
791
|
-
)
|
|
792
|
-
);
|
|
793
|
-
|
|
794
|
-
return this.existing;
|
|
795
|
-
} catch (err) {
|
|
796
|
-
if (err.statusCode === 404 || err.statusCode === 501) {
|
|
797
|
-
return [];
|
|
798
|
-
}
|
|
799
|
-
if (isDeprecatedError(err)) {
|
|
800
|
-
return null;
|
|
801
|
-
}
|
|
802
|
-
throw err;
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
async calcChanges(assets: Assets): Promise<CalculatedChanges> {
|
|
807
|
-
const { del, update, create, conflicts } = await super.calcChanges(assets);
|
|
808
|
-
|
|
809
|
-
// strip secrets before hooks creating/updating, secrets have to be handled separately
|
|
810
|
-
const stripSecrets = (list) => list.map((item) => ({ ...item, secrets: undefined }));
|
|
811
|
-
|
|
812
|
-
return {
|
|
813
|
-
del,
|
|
814
|
-
update: stripSecrets(update),
|
|
815
|
-
create: stripSecrets(create),
|
|
816
|
-
conflicts: stripSecrets(conflicts),
|
|
817
|
-
};
|
|
818
|
-
}
|
|
819
|
-
|
|
820
|
-
async validate(assets): Promise<void> {
|
|
821
|
-
const { hooks } = assets;
|
|
822
|
-
|
|
823
|
-
// Do nothing if not set
|
|
824
|
-
if (!hooks) return;
|
|
825
|
-
|
|
826
|
-
const activeHooks = getActive(hooks);
|
|
827
|
-
|
|
828
|
-
ALLOWED_TRIGGER_IDS.forEach((type) => {
|
|
829
|
-
if (activeHooks[type].length > 1) {
|
|
830
|
-
// There can be only one!
|
|
831
|
-
const conflict = activeHooks[type].map((h) => h.name).join(', ');
|
|
832
|
-
const err = new Error(
|
|
833
|
-
`Only one active hook allowed for "${type}" extensibility point. Conflicting hooks: ${conflict}`
|
|
834
|
-
);
|
|
835
|
-
//@ts-ignore need to investigate if appending status actually works here
|
|
836
|
-
err.status = 409;
|
|
837
|
-
throw err;
|
|
838
|
-
}
|
|
839
|
-
});
|
|
840
|
-
|
|
841
|
-
await super.validate(assets);
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
async processChanges(assets: Assets): Promise<void> {
|
|
845
|
-
const { hooks } = assets;
|
|
846
|
-
|
|
847
|
-
// Do nothing if not set
|
|
848
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!hooks) <span class="cstat-no" title="statement not covered" >return;</span>
|
|
849
|
-
|
|
850
|
-
log.warn(
|
|
851
|
-
'Hooks are deprecated, migrate to using actions instead. See: https://auth0.com/docs/customize/actions/migrate/migrate-from-hooks-to-actions for more information.'
|
|
852
|
-
);
|
|
853
|
-
|
|
854
|
-
try {
|
|
855
|
-
// Figure out what needs to be updated vs created
|
|
856
|
-
const changes = await this.calcChanges(assets);
|
|
857
|
-
await super.processChanges(assets, {
|
|
858
|
-
del: changes.del,
|
|
859
|
-
create: changes.create,
|
|
860
|
-
update: changes.update,
|
|
861
|
-
conflicts: changes.conflicts,
|
|
862
|
-
});
|
|
863
|
-
|
|
864
|
-
await this.processSecrets(hooks);
|
|
865
|
-
} catch (err) {
|
|
866
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (isDeprecatedError(err)) {
|
|
867
|
-
log.warn(
|
|
868
|
-
'Failed to update hooks because functionality has been deprecated in favor of actions. See: https://auth0.com/docs/customize/actions/migrate/migrate-from-hooks-to-actions for more information.'
|
|
869
|
-
);
|
|
870
|
-
return;
|
|
871
|
-
}
|
|
872
|
-
<span class="cstat-no" title="statement not covered" > throw err;</span>
|
|
873
|
-
}
|
|
874
|
-
}
|
|
875
|
-
}
|
|
876
|
-
</pre></td></tr></table></pre>
|
|
877
|
-
|
|
878
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
879
|
-
</div><!-- /wrapper -->
|
|
880
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
881
|
-
Code coverage generated by
|
|
882
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
883
|
-
at Thu Feb 08 2024 16:21:45 GMT+0000 (Coordinated Universal Time)
|
|
884
|
-
</div>
|
|
885
|
-
<script src="../../../../prettify.js"></script>
|
|
886
|
-
<script>
|
|
887
|
-
window.onload = function () {
|
|
888
|
-
prettyPrint();
|
|
889
|
-
};
|
|
890
|
-
</script>
|
|
891
|
-
<script src="../../../../sorter.js"></script>
|
|
892
|
-
<script src="../../../../block-navigation.js"></script>
|
|
893
|
-
</body>
|
|
894
|
-
</html>
|
|
895
|
-
|