qpp-style 9.31.2 → 9.32.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.
Files changed (213) hide show
  1. package/components/index.js +0 -4
  2. package/coverage/clover.xml +126 -125
  3. package/coverage/coverage-final.json +70 -70
  4. package/coverage/lcov-report/components/Accordion/index.html +20 -20
  5. package/coverage/lcov-report/components/Accordion/index.jsx.html +109 -121
  6. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +98 -98
  7. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +33 -33
  8. package/coverage/lcov-report/components/Error/index.html +23 -23
  9. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +557 -395
  10. package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +667 -0
  11. package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +70 -70
  12. package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +44 -44
  13. package/coverage/lcov-report/components/Footer/index.html +48 -33
  14. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +108 -96
  15. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +49 -49
  16. package/coverage/lcov-report/components/Infotip/index.html +32 -32
  17. package/coverage/lcov-report/components/Infotip/index.js.html +1 -1
  18. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +116 -116
  19. package/coverage/lcov-report/components/Modal/Modal.jsx.html +252 -252
  20. package/coverage/lcov-report/components/Modal/index.html +38 -38
  21. package/coverage/lcov-report/components/Modal/index.jsx.html +31 -31
  22. package/coverage/lcov-report/components/SanitizedContent/index.html +19 -19
  23. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +218 -287
  24. package/coverage/lcov-report/components/SessionDialogUI.jsx.html +440 -440
  25. package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +166 -0
  26. package/coverage/lcov-report/components/SideNav/{Content/SelectRole → AnimationGroup}/index.html +29 -29
  27. package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +7 -7
  28. package/coverage/lcov-report/components/SideNav/Chart/index.html +16 -1
  29. package/coverage/lcov-report/components/SideNav/Chart/index.js.html +94 -0
  30. package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +709 -0
  31. package/coverage/lcov-report/components/SideNav/Content/LevelTwoContent.jsx.html +733 -0
  32. package/coverage/lcov-report/components/SideNav/Content/index.html +146 -0
  33. package/coverage/lcov-report/components/SideNav/Content/index.js.html +97 -0
  34. package/coverage/lcov-report/components/{Header/HeaderCancel.jsx.html → SideNav/Details/IndividualDetails.jsx.html} +41 -35
  35. package/coverage/lcov-report/components/SideNav/Details/PracticeDetails.jsx.html +220 -0
  36. package/coverage/lcov-report/components/{NotificationBanner → SideNav/Details}/index.html +46 -46
  37. package/coverage/lcov-report/components/SideNav/Details/index.js.html +97 -0
  38. package/coverage/lcov-report/components/SideNav/Links/CmsSwitchLink.jsx.html +208 -0
  39. package/coverage/lcov-report/components/SideNav/Links/NavItemInline.jsx.html +247 -0
  40. package/coverage/lcov-report/components/SideNav/Links/NavLinkContainer.jsx.html +199 -0
  41. package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +832 -0
  42. package/coverage/lcov-report/components/SideNav/Links/NavLinkInline.jsx.html +406 -0
  43. package/coverage/lcov-report/components/SideNav/Links/NavLinkToggle.jsx.html +187 -0
  44. package/coverage/lcov-report/components/SideNav/Links/index.html +206 -0
  45. package/coverage/lcov-report/components/{Header/utag-helpers.js.html → SideNav/Links/index.js.html} +46 -34
  46. package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +1084 -0
  47. package/coverage/lcov-report/components/{GovBanner → SideNav/UI}/index.html +45 -30
  48. package/coverage/lcov-report/components/SideNav/UI/index.js.html +94 -0
  49. package/coverage/lcov-report/components/SideNav/helpers.js.html +54 -1125
  50. package/coverage/lcov-report/components/SideNav/index.html +19 -19
  51. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +9 -9
  52. package/coverage/lcov-report/components/Tooltip/index.html +1 -1
  53. package/coverage/lcov-report/components/Tooltip/index.js.html +1 -1
  54. package/coverage/lcov-report/components/Tooltip/position.js.html +1 -1
  55. package/coverage/lcov-report/components/hooks/index.html +21 -21
  56. package/coverage/lcov-report/components/hooks/useGetConfig.js.html +128 -131
  57. package/coverage/lcov-report/components/index.html +21 -21
  58. package/coverage/lcov-report/index.html +26 -26
  59. package/coverage/lcov-report/lib/Chevron.jsx.html +36 -36
  60. package/coverage/lcov-report/lib/SvgComponents.jsx.html +973 -1471
  61. package/coverage/lcov-report/lib/index.html +36 -21
  62. package/coverage/lcov-report/lib/svg-definitions.svg.html +460 -0
  63. package/coverage/lcov-report/react/components/Accordion/index.html +1 -1
  64. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +1 -1
  65. package/coverage/lcov-report/react/components/Button/index.html +1 -1
  66. package/coverage/lcov-report/react/components/Button/index.js.html +1 -1
  67. package/coverage/lcov-report/react/components/Dropdown/index.html +1 -1
  68. package/coverage/lcov-report/react/components/Dropdown/index.js.html +1 -1
  69. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  70. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  71. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  72. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  73. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +1 -1
  74. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
  75. package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +1 -1
  76. package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +1 -1
  77. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  78. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  79. package/coverage/lcov-report/react/components/GovBanner/index.html +1 -1
  80. package/coverage/lcov-report/react/components/GovBanner/index.js.html +1 -1
  81. package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +1 -1
  82. package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +1 -1
  83. package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +1 -1
  85. package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +1 -1
  86. package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +1 -1
  87. package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +1 -1
  88. package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +1 -1
  89. package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +1 -1
  90. package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +1 -1
  91. package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +1 -1
  92. package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +1 -1
  93. package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +1 -1
  94. package/coverage/lcov-report/react/components/Header/header.js.html +1 -1
  95. package/coverage/lcov-report/react/components/Header/hooks.js.html +1 -1
  96. package/coverage/lcov-report/react/components/Header/index.html +1 -1
  97. package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +1 -1
  98. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
  99. package/coverage/lcov-report/react/components/Infotip/InfotipContent.jsx.html +1 -1
  100. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
  101. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  102. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  103. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  104. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  105. package/coverage/lcov-report/react/components/Modal/index.html +1 -1
  106. package/coverage/lcov-report/react/components/Modal/index.jsx.html +1 -1
  107. package/coverage/lcov-report/react/components/NotificationBanner/CollapsedView.js.html +1 -1
  108. package/coverage/lcov-report/react/components/NotificationBanner/ExpandedView.js.html +1 -1
  109. package/coverage/lcov-report/react/components/NotificationBanner/index.html +1 -1
  110. package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +1 -1
  111. package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
  112. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
  113. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  114. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  115. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
  116. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +1 -1
  117. package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +1 -1
  118. package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +1 -1
  119. package/coverage/lcov-report/react/components/SideNav/Chart/index.html +1 -1
  120. package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +1 -1
  121. package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +1 -1
  122. package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +1 -1
  123. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.html +1 -1
  124. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +1 -1
  125. package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +1 -1
  126. package/coverage/lcov-report/react/components/SideNav/Content/index.html +1 -1
  127. package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +1 -1
  128. package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +1 -1
  129. package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +1 -1
  130. package/coverage/lcov-report/react/components/SideNav/Details/index.html +1 -1
  131. package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +1 -1
  132. package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +1 -1
  133. package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +1 -1
  134. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +1 -1
  135. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +1 -1
  136. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +1 -1
  137. package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +1 -1
  138. package/coverage/lcov-report/react/components/SideNav/Links/index.html +1 -1
  139. package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +1 -1
  140. package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +29 -14
  141. package/coverage/lcov-report/react/components/SideNav/UI/default-markup.js.html +1 -1
  142. package/coverage/lcov-report/react/components/SideNav/UI/index.html +15 -15
  143. package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +1 -1
  144. package/coverage/lcov-report/react/components/SideNav/helpers.js.html +12 -33
  145. package/coverage/lcov-report/react/components/SideNav/index.html +19 -19
  146. package/coverage/lcov-report/react/components/SideNav/index.js.html +1 -1
  147. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +2 -2
  148. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  149. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  150. package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
  151. package/coverage/lcov-report/react/components/hooks/index.html +1 -1
  152. package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +1 -1
  153. package/coverage/lcov-report/react/components/index.html +1 -1
  154. package/coverage/lcov-report/react/index.html +1 -1
  155. package/coverage/lcov-report/react/index.js.html +1 -1
  156. package/coverage/lcov-report/react/lib/Chevron.jsx.html +1 -1
  157. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +1 -1
  158. package/coverage/lcov-report/react/lib/index.html +1 -1
  159. package/coverage/lcov-report/react/lib/svg-definitions.svg.html +1 -1
  160. package/coverage/lcov-report/react/session/index.html +1 -1
  161. package/coverage/lcov-report/react/session/index.js.html +1 -1
  162. package/coverage/lcov-report/react/session/logout.js.html +1 -1
  163. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  164. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  165. package/coverage/lcov-report/session/index.html +53 -53
  166. package/coverage/lcov-report/session/index.js.html +13 -13
  167. package/coverage/lcov-report/session/logout.js.html +127 -145
  168. package/coverage/lcov-report/session/refresh.js.html +90 -90
  169. package/coverage/lcov-report/session/ttl.js.html +77 -77
  170. package/coverage/lcov.info +121 -120
  171. package/dist/browser.js +1 -1
  172. package/dist/index.js +1 -1
  173. package/dist/react/index.js +1 -1
  174. package/dist/react/index.js.map +1 -1
  175. package/package.json +1 -1
  176. package/styles/components/_footer.scss +593 -0
  177. package/styles/components/_header.scss +890 -0
  178. package/styles/components/_sidebar.scss +8 -0
  179. package/styles/components/sidebar/_animations.scss +38 -0
  180. package/styles/components/sidebar/_cms.scss +61 -0
  181. package/styles/components/sidebar/_details.scss +58 -0
  182. package/styles/components/sidebar/_links.scss +420 -0
  183. package/styles/components/sidebar/_sidebar-animation.scss +121 -0
  184. package/styles/components/sidebar/_sidebar-tooltip.scss +33 -0
  185. package/styles/components/sidebar/_sidebar.scss +141 -0
  186. package/styles/components/sidebar/project-specific/_wi.scss +42 -0
  187. package/styles/qppds/components/_infotip-content.scss +49 -0
  188. package/styles/qppds/components/_spinner.scss +46 -0
  189. package/styles/qppds/components/sidebar/_sidebar-animation.scss +114 -87
  190. package/components/CalloutBox/index.js +0 -109
  191. package/components/Card/index.js +0 -137
  192. package/coverage/lcov-report/components/Button/index.html +0 -116
  193. package/coverage/lcov-report/components/Button/index.js.html +0 -355
  194. package/coverage/lcov-report/components/GovBanner/index.js.html +0 -436
  195. package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +0 -367
  196. package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +0 -307
  197. package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +0 -211
  198. package/coverage/lcov-report/components/Header/HeaderMenuButton.js.html +0 -235
  199. package/coverage/lcov-report/components/Header/HeaderMenuItem.jsx.html +0 -802
  200. package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +0 -253
  201. package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +0 -271
  202. package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +0 -196
  203. package/coverage/lcov-report/components/Header/HeaderUI.jsx.html +0 -586
  204. package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +0 -181
  205. package/coverage/lcov-report/components/Header/ImpersonatorBanner.jsx.html +0 -328
  206. package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +0 -166
  207. package/coverage/lcov-report/components/Header/hooks.js.html +0 -283
  208. package/coverage/lcov-report/components/Header/index.html +0 -326
  209. package/coverage/lcov-report/components/Infotip/InfotipContent.jsx.html +0 -223
  210. package/coverage/lcov-report/components/NotificationBanner/CollapsedView.js.html +0 -202
  211. package/coverage/lcov-report/components/NotificationBanner/ExpandedView.js.html +0 -220
  212. package/coverage/lcov-report/components/NotificationBanner/index.js.html +0 -748
  213. package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +0 -532
@@ -0,0 +1,709 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/SideNav/Content/LevelOneContent.jsx</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">components/SideNav/Content</a> LevelOneContent.jsx</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">55.26% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>21/38</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">31.81% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>14/44</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">16.66% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/6</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">55.26% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>21/38</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 medium'></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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-yes">1x</span>
308
+ <span class="cline-any cline-no">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-yes">1x</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-yes">1x</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-yes">1x</span>
347
+ <span class="cline-any cline-yes">1x</span>
348
+ <span class="cline-any cline-yes">1x</span>
349
+ <span class="cline-any cline-yes">1x</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-yes">1x</span>
353
+ <span class="cline-any cline-yes">1x</span>
354
+ <span class="cline-any cline-yes">1x</span>
355
+ <span class="cline-any cline-yes">1x</span>
356
+ <span class="cline-any cline-yes">1x</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-yes">1x</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-yes">1x</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-yes">1x</span>
364
+ <span class="cline-any cline-yes">1x</span>
365
+ <span class="cline-any cline-yes">1x</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-no">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-no">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-yes">1x</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-neutral">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-yes">1x</span>
402
+ <span class="cline-any cline-no">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-no">&nbsp;</span>
406
+ <span class="cline-any cline-no">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-no">&nbsp;</span>
410
+ <span class="cline-any cline-no">&nbsp;</span>
411
+ <span class="cline-any cline-no">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-no">&nbsp;</span>
419
+ <span class="cline-any cline-no">&nbsp;</span>
420
+ <span class="cline-any cline-no">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-no">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-no">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-no">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-no">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-no">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-yes">1x</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-yes">1x</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react';
483
+ import PropTypes from 'prop-types';
484
+ import cookie from 'cookie';
485
+ import jwtDecode from 'jwt-decode';
486
+ &nbsp;
487
+ import { NavLinkContainer, NavLinkInline, NavLinkDrawer } from '../Links';
488
+ import AnimationGroup from '../AnimationGroup/AnimationGroup';
489
+ import defaultContent from '../UI/default-content';
490
+ import {
491
+ AccountHomeIcon,
492
+ DashboardIcon,
493
+ FacilityBasedPreviewIcon,
494
+ HardshipIcon,
495
+ HelpSupportIcon,
496
+ ManageUsersIcon,
497
+ MyApplicationsIcon,
498
+ MyTestDataIcon,
499
+ PaymentIcon,
500
+ PhysicianCompareIcon,
501
+ StarIcon,
502
+ TargetIcon,
503
+ IndividualReporting,
504
+ } from '../../../lib/SvgComponents';
505
+ import {
506
+ dashboardUrl,
507
+ facilityBasedPreviewBaseUrl,
508
+ feedbackUrl,
509
+ manageUrl,
510
+ physicianCompareUrl,
511
+ reportsPortalUrl,
512
+ submissionsUrl,
513
+ } from '../helpers';
514
+ &nbsp;
515
+ const getIcon = <span class="fstat-no" title="function not covered" >(u</span>rl) =&gt;
516
+ (<span class="cstat-no" title="statement not covered" >{</span>
517
+ [dashboardUrl]: DashboardIcon,
518
+ [feedbackUrl]: StarIcon,
519
+ [manageUrl]: ManageUsersIcon,
520
+ [physicianCompareUrl]: PhysicianCompareIcon,
521
+ [reportsPortalUrl]: HardshipIcon,
522
+ [submissionsUrl]: AccountHomeIcon,
523
+ [facilityBasedPreviewBaseUrl]: FacilityBasedPreviewIcon,
524
+ '/developers': HelpSupportIcon,
525
+ '/resources/help-and-support': HelpSupportIcon,
526
+ '/user/apm-incentive-payments': PaymentIcon,
527
+ '/user/applications': MyApplicationsIcon,
528
+ '/user/exception/#/landing': HardshipIcon,
529
+ '/user/targeted-review/#/landing': TargetIcon,
530
+ '/user/test-data': MyTestDataIcon,
531
+ '/user/self-nomination/#/landing': IndividualReporting,
532
+ '/user/reviewers': DashboardIcon,
533
+ '/reviewer/exception': HardshipIcon,
534
+ '/reviewer/targeted-review': TargetIcon,
535
+ '/self-nomination': IndividualReporting,
536
+ }[url] || null);
537
+ &nbsp;
538
+ const LevelOneContent = ({
539
+ isExpanded,
540
+ config: { linkCallback, useTooltips } = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
541
+ levelOneContent,
542
+ }) =&gt; {
543
+ let {
544
+ qpp_has_authorizations,
545
+ user_has_apm_payments,
546
+ qpp_is_dev_pre,
547
+ qpp_ehr_authorized,
548
+ qpp_has_non_registry_authorizations,
549
+ qpp_auth_token,
550
+ qpp_cms_internal_authorized,
551
+ qpp_can_impersonate,
552
+ } = cookie.parse(document.cookie);
553
+ &nbsp;
554
+ let name = '';
555
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (qpp_auth_token) {
556
+ const { firstName, lastName } = jwtDecode(qpp_auth_token);
557
+ name = `${firstName} ${lastName}`;
558
+ }
559
+ &nbsp;
560
+ const canImpersonate = qpp_can_impersonate === 'true';
561
+ const hasAuthorizations = qpp_has_authorizations === 'true';
562
+ const hasApmPayments = user_has_apm_payments === 'true';
563
+ const isDevPre = qpp_is_dev_pre === 'true';
564
+ const internalReviewerNames = JSON.parse(
565
+ qpp_cms_internal_authorized || 'null'
566
+ );
567
+ const ehrAuthorized = qpp_ehr_authorized === 'true';
568
+ const hasNonRegistryAuthorizations =
569
+ qpp_has_non_registry_authorizations === 'true';
570
+ &nbsp;
571
+ const linkClass = isExpanded ? 'link-inline' : <span class="branch-1 cbranch-no" title="branch not covered" >'link-collapsed';</span>
572
+ let content = isDevPre ? <span class="branch-0 cbranch-no" title="branch not covered" >levelOneContent?.devPre </span>: levelOneContent?.default;
573
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (
574
+ (internalReviewerNames || []).some(
575
+ <span class="fstat-no" title="function not covered" > (n</span>ame) =&gt;
576
+ <span class="cstat-no" title="statement not covered" > name === 'QPP Self-Nomination' ||</span>
577
+ name === 'QPP Targeted Review &amp; Exceptions'
578
+ )
579
+ ) {
580
+ <span class="cstat-no" title="statement not covered" > content =</span>
581
+ levelOneContent?.internalReviewers || defaultContent.internalReviewers;
582
+ }
583
+ &nbsp;
584
+ // Mapping side nav link urls to the conditions that determine their inclusion in the side nav
585
+ const urlConditionMap = {
586
+ [dashboardUrl]: hasAuthorizations,
587
+ [feedbackUrl]: hasAuthorizations,
588
+ '/user/apm-incentive-payments': hasApmPayments,
589
+ [physicianCompareUrl]: hasNonRegistryAuthorizations,
590
+ [reportsPortalUrl]: hasAuthorizations,
591
+ [facilityBasedPreviewBaseUrl]: hasAuthorizations,
592
+ '/user/helpdesk-viewing-tool': canImpersonate,
593
+ &nbsp;
594
+ '/reviewer/exception': (internalReviewerNames || []).includes(
595
+ 'QPP Targeted Review &amp; Exceptions'
596
+ ),
597
+ '/reviewer/targeted-review': (internalReviewerNames || []).includes(
598
+ 'QPP Targeted Review &amp; Exceptions'
599
+ ),
600
+ '/self-nomination': (internalReviewerNames || []).includes(
601
+ 'QPP Self-Nomination'
602
+ ),
603
+ &nbsp;
604
+ // dev pre
605
+ '/user/applications': ehrAuthorized,
606
+ '/user/test-data': ehrAuthorized,
607
+ };
608
+ &nbsp;
609
+ const navLinks = content.reduce(<span class="fstat-no" title="function not covered" >(a</span>cc, link) =&gt; {
610
+ const { url, label, className, listOfLinks, ...rest } = <span class="cstat-no" title="statement not covered" >link;</span>
611
+ &nbsp;
612
+ // Any links failing the corresponding condition in the urlConditionMap are skipped
613
+ <span class="cstat-no" title="statement not covered" > if (url in urlConditionMap &amp;&amp; !urlConditionMap[url]) {</span>
614
+ <span class="cstat-no" title="statement not covered" > return acc;</span>
615
+ }
616
+ &nbsp;
617
+ const IconComponent = <span class="cstat-no" title="statement not covered" >getIcon(url);</span>
618
+ const Icon = <span class="cstat-no" title="statement not covered" >IconComponent ? &lt;IconComponent /&gt; : null;</span>
619
+ const sharedProps = <span class="cstat-no" title="statement not covered" >{</span>
620
+ url,
621
+ label,
622
+ linkCallback,
623
+ className: className ? `${linkClass} ${className}` : linkClass,
624
+ };
625
+ &nbsp;
626
+ const { pathname, hash } = <span class="cstat-no" title="statement not covered" >window.location;</span>
627
+ const filteredListOfLinks = <span class="cstat-no" title="statement not covered" >(listOfLinks || []).filter(<span class="fstat-no" title="function not covered" >(s</span>ublink) =&gt; {</span>
628
+ <span class="cstat-no" title="statement not covered" > return !(sublink.url in urlConditionMap &amp;&amp; !urlConditionMap[sublink.url]);</span>
629
+ });
630
+ <span class="cstat-no" title="statement not covered" > if (</span>
631
+ filteredListOfLinks?.length &gt; 0 &amp;&amp;
632
+ (pathname === url ||
633
+ filteredListOfLinks.some(
634
+ <span class="fstat-no" title="function not covered" > (s</span>ublink) =&gt;
635
+ <span class="cstat-no" title="statement not covered" > pathname === sublink.url || `${pathname}${hash}` === sublink.url</span>
636
+ ))
637
+ ) {
638
+ <span class="cstat-no" title="statement not covered" > acc.push(</span>
639
+ &lt;NavLinkDrawer
640
+ key={`nav-drawer-${url}-${label}`}
641
+ leftIcon={Icon}
642
+ listOfLinks={filteredListOfLinks}
643
+ isExpanded={isExpanded}
644
+ staticDrawer={false}
645
+ openByDefault
646
+ isAlwaysOpen
647
+ {...sharedProps}
648
+ {...rest}
649
+ /&gt;
650
+ );
651
+ } else {
652
+ <span class="cstat-no" title="statement not covered" > acc.push(</span>
653
+ &lt;NavLinkInline
654
+ key={`nav-link-${url}-${label}`}
655
+ icon={Icon}
656
+ useTooltips={useTooltips}
657
+ showLabel={isExpanded}
658
+ {...sharedProps}
659
+ {...rest}
660
+ /&gt;
661
+ );
662
+ }
663
+ <span class="cstat-no" title="statement not covered" > return acc;</span>
664
+ }, []);
665
+ &nbsp;
666
+ return (
667
+ &lt;div className="sidebar-content"&gt;
668
+ &lt;AnimationGroup display={isExpanded}&gt;
669
+ &lt;h1 className="label"&gt;{name}&lt;/h1&gt;
670
+ &lt;/AnimationGroup&gt;
671
+ &lt;div className="level-one-nav animation-flat"&gt;
672
+ &lt;NavLinkContainer listOfLinks={navLinks} /&gt;
673
+ &lt;/div&gt;
674
+ &lt;/div&gt;
675
+ );
676
+ };
677
+ &nbsp;
678
+ LevelOneContent.propTypes = {
679
+ isExpanded: PropTypes.bool,
680
+ config: PropTypes.object,
681
+ levelOneContent: PropTypes.shape({
682
+ default: PropTypes.arrayOf(PropTypes.object),
683
+ devPre: PropTypes.arrayOf(PropTypes.object),
684
+ viewer: PropTypes.arrayOf(PropTypes.object),
685
+ internalReviewers: PropTypes.arrayOf(PropTypes.object),
686
+ }),
687
+ };
688
+ &nbsp;
689
+ export default LevelOneContent;
690
+ &nbsp;</pre></td></tr></table></pre>
691
+
692
+ <div class='push'></div><!-- for sticky footer -->
693
+ </div><!-- /wrapper -->
694
+ <div class='footer quiet pad2 space-top1 center small'>
695
+ Code coverage generated by
696
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
697
+ at Fri Apr 29 2022 13:58:50 GMT-0400 (Eastern Daylight Time)
698
+ </div>
699
+ <script src="../../../prettify.js"></script>
700
+ <script>
701
+ window.onload = function () {
702
+ prettyPrint();
703
+ };
704
+ </script>
705
+ <script src="../../../sorter.js"></script>
706
+ <script src="../../../block-navigation.js"></script>
707
+ </body>
708
+ </html>
709
+