firew0rks 0.1.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 (161) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +28 -0
  4. data/Rakefile +4 -0
  5. data/exe/firew0rks +4 -0
  6. data/lib/firew0rks/error.rb +3 -0
  7. data/lib/firew0rks/frame.rb +27 -0
  8. data/lib/firew0rks/frames/0.txt +41 -0
  9. data/lib/firew0rks/frames/1.txt +41 -0
  10. data/lib/firew0rks/frames/10.txt +41 -0
  11. data/lib/firew0rks/frames/100.txt +41 -0
  12. data/lib/firew0rks/frames/101.txt +41 -0
  13. data/lib/firew0rks/frames/102.txt +41 -0
  14. data/lib/firew0rks/frames/103.txt +41 -0
  15. data/lib/firew0rks/frames/104.txt +41 -0
  16. data/lib/firew0rks/frames/105.txt +41 -0
  17. data/lib/firew0rks/frames/106.txt +41 -0
  18. data/lib/firew0rks/frames/107.txt +41 -0
  19. data/lib/firew0rks/frames/108.txt +41 -0
  20. data/lib/firew0rks/frames/109.txt +41 -0
  21. data/lib/firew0rks/frames/11.txt +41 -0
  22. data/lib/firew0rks/frames/110.txt +41 -0
  23. data/lib/firew0rks/frames/111.txt +41 -0
  24. data/lib/firew0rks/frames/112.txt +41 -0
  25. data/lib/firew0rks/frames/113.txt +41 -0
  26. data/lib/firew0rks/frames/114.txt +41 -0
  27. data/lib/firew0rks/frames/115.txt +41 -0
  28. data/lib/firew0rks/frames/116.txt +41 -0
  29. data/lib/firew0rks/frames/117.txt +41 -0
  30. data/lib/firew0rks/frames/118.txt +41 -0
  31. data/lib/firew0rks/frames/119.txt +41 -0
  32. data/lib/firew0rks/frames/12.txt +41 -0
  33. data/lib/firew0rks/frames/120.txt +41 -0
  34. data/lib/firew0rks/frames/121.txt +41 -0
  35. data/lib/firew0rks/frames/122.txt +41 -0
  36. data/lib/firew0rks/frames/123.txt +41 -0
  37. data/lib/firew0rks/frames/124.txt +41 -0
  38. data/lib/firew0rks/frames/125.txt +41 -0
  39. data/lib/firew0rks/frames/126.txt +41 -0
  40. data/lib/firew0rks/frames/127.txt +41 -0
  41. data/lib/firew0rks/frames/128.txt +41 -0
  42. data/lib/firew0rks/frames/129.txt +41 -0
  43. data/lib/firew0rks/frames/13.txt +41 -0
  44. data/lib/firew0rks/frames/130.txt +41 -0
  45. data/lib/firew0rks/frames/131.txt +41 -0
  46. data/lib/firew0rks/frames/132.txt +41 -0
  47. data/lib/firew0rks/frames/133.txt +41 -0
  48. data/lib/firew0rks/frames/134.txt +41 -0
  49. data/lib/firew0rks/frames/135.txt +41 -0
  50. data/lib/firew0rks/frames/136.txt +41 -0
  51. data/lib/firew0rks/frames/137.txt +41 -0
  52. data/lib/firew0rks/frames/138.txt +41 -0
  53. data/lib/firew0rks/frames/139.txt +41 -0
  54. data/lib/firew0rks/frames/14.txt +41 -0
  55. data/lib/firew0rks/frames/140.txt +41 -0
  56. data/lib/firew0rks/frames/141.txt +41 -0
  57. data/lib/firew0rks/frames/142.txt +41 -0
  58. data/lib/firew0rks/frames/143.txt +41 -0
  59. data/lib/firew0rks/frames/144.txt +41 -0
  60. data/lib/firew0rks/frames/145.txt +41 -0
  61. data/lib/firew0rks/frames/146.txt +41 -0
  62. data/lib/firew0rks/frames/147.txt +41 -0
  63. data/lib/firew0rks/frames/148.txt +41 -0
  64. data/lib/firew0rks/frames/149.txt +41 -0
  65. data/lib/firew0rks/frames/15.txt +41 -0
  66. data/lib/firew0rks/frames/16.txt +41 -0
  67. data/lib/firew0rks/frames/17.txt +41 -0
  68. data/lib/firew0rks/frames/18.txt +41 -0
  69. data/lib/firew0rks/frames/19.txt +41 -0
  70. data/lib/firew0rks/frames/2.txt +41 -0
  71. data/lib/firew0rks/frames/20.txt +41 -0
  72. data/lib/firew0rks/frames/21.txt +41 -0
  73. data/lib/firew0rks/frames/22.txt +41 -0
  74. data/lib/firew0rks/frames/23.txt +41 -0
  75. data/lib/firew0rks/frames/24.txt +41 -0
  76. data/lib/firew0rks/frames/25.txt +41 -0
  77. data/lib/firew0rks/frames/26.txt +41 -0
  78. data/lib/firew0rks/frames/27.txt +41 -0
  79. data/lib/firew0rks/frames/28.txt +41 -0
  80. data/lib/firew0rks/frames/29.txt +41 -0
  81. data/lib/firew0rks/frames/3.txt +41 -0
  82. data/lib/firew0rks/frames/30.txt +41 -0
  83. data/lib/firew0rks/frames/31.txt +41 -0
  84. data/lib/firew0rks/frames/32.txt +41 -0
  85. data/lib/firew0rks/frames/33.txt +41 -0
  86. data/lib/firew0rks/frames/34.txt +41 -0
  87. data/lib/firew0rks/frames/35.txt +41 -0
  88. data/lib/firew0rks/frames/36.txt +41 -0
  89. data/lib/firew0rks/frames/37.txt +41 -0
  90. data/lib/firew0rks/frames/38.txt +41 -0
  91. data/lib/firew0rks/frames/39.txt +41 -0
  92. data/lib/firew0rks/frames/4.txt +41 -0
  93. data/lib/firew0rks/frames/40.txt +41 -0
  94. data/lib/firew0rks/frames/41.txt +41 -0
  95. data/lib/firew0rks/frames/42.txt +41 -0
  96. data/lib/firew0rks/frames/43.txt +41 -0
  97. data/lib/firew0rks/frames/44.txt +41 -0
  98. data/lib/firew0rks/frames/45.txt +41 -0
  99. data/lib/firew0rks/frames/46.txt +41 -0
  100. data/lib/firew0rks/frames/47.txt +41 -0
  101. data/lib/firew0rks/frames/48.txt +41 -0
  102. data/lib/firew0rks/frames/49.txt +41 -0
  103. data/lib/firew0rks/frames/5.txt +41 -0
  104. data/lib/firew0rks/frames/50.txt +41 -0
  105. data/lib/firew0rks/frames/51.txt +41 -0
  106. data/lib/firew0rks/frames/52.txt +41 -0
  107. data/lib/firew0rks/frames/53.txt +41 -0
  108. data/lib/firew0rks/frames/54.txt +41 -0
  109. data/lib/firew0rks/frames/55.txt +41 -0
  110. data/lib/firew0rks/frames/56.txt +41 -0
  111. data/lib/firew0rks/frames/57.txt +41 -0
  112. data/lib/firew0rks/frames/58.txt +41 -0
  113. data/lib/firew0rks/frames/59.txt +41 -0
  114. data/lib/firew0rks/frames/6.txt +41 -0
  115. data/lib/firew0rks/frames/60.txt +41 -0
  116. data/lib/firew0rks/frames/61.txt +41 -0
  117. data/lib/firew0rks/frames/62.txt +41 -0
  118. data/lib/firew0rks/frames/63.txt +41 -0
  119. data/lib/firew0rks/frames/64.txt +41 -0
  120. data/lib/firew0rks/frames/65.txt +41 -0
  121. data/lib/firew0rks/frames/66.txt +41 -0
  122. data/lib/firew0rks/frames/67.txt +41 -0
  123. data/lib/firew0rks/frames/68.txt +41 -0
  124. data/lib/firew0rks/frames/69.txt +41 -0
  125. data/lib/firew0rks/frames/7.txt +41 -0
  126. data/lib/firew0rks/frames/70.txt +41 -0
  127. data/lib/firew0rks/frames/71.txt +41 -0
  128. data/lib/firew0rks/frames/72.txt +41 -0
  129. data/lib/firew0rks/frames/73.txt +41 -0
  130. data/lib/firew0rks/frames/74.txt +41 -0
  131. data/lib/firew0rks/frames/75.txt +41 -0
  132. data/lib/firew0rks/frames/76.txt +41 -0
  133. data/lib/firew0rks/frames/77.txt +41 -0
  134. data/lib/firew0rks/frames/78.txt +41 -0
  135. data/lib/firew0rks/frames/79.txt +41 -0
  136. data/lib/firew0rks/frames/8.txt +41 -0
  137. data/lib/firew0rks/frames/80.txt +41 -0
  138. data/lib/firew0rks/frames/81.txt +41 -0
  139. data/lib/firew0rks/frames/82.txt +41 -0
  140. data/lib/firew0rks/frames/83.txt +41 -0
  141. data/lib/firew0rks/frames/84.txt +41 -0
  142. data/lib/firew0rks/frames/85.txt +41 -0
  143. data/lib/firew0rks/frames/86.txt +41 -0
  144. data/lib/firew0rks/frames/87.txt +41 -0
  145. data/lib/firew0rks/frames/88.txt +41 -0
  146. data/lib/firew0rks/frames/89.txt +41 -0
  147. data/lib/firew0rks/frames/9.txt +41 -0
  148. data/lib/firew0rks/frames/90.txt +41 -0
  149. data/lib/firew0rks/frames/91.txt +41 -0
  150. data/lib/firew0rks/frames/92.txt +41 -0
  151. data/lib/firew0rks/frames/93.txt +41 -0
  152. data/lib/firew0rks/frames/94.txt +41 -0
  153. data/lib/firew0rks/frames/95.txt +41 -0
  154. data/lib/firew0rks/frames/96.txt +41 -0
  155. data/lib/firew0rks/frames/97.txt +41 -0
  156. data/lib/firew0rks/frames/98.txt +41 -0
  157. data/lib/firew0rks/frames/99.txt +41 -0
  158. data/lib/firew0rks/version.rb +5 -0
  159. data/lib/firew0rks.rb +42 -0
  160. data/sig/firew0rks.rbs +4 -0
  161. metadata +203 -0
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                                               _              
6
+                                                             .;^_  .          
7
+                                                             -^.^[''.         
8
+                                         _..     .      _    ` '`'            
9
+                       .-               *   `   [ !-.   !`  _````             
10
+                       `-'    =           ..    '7''+-/-    ].`   . .-;)_. ``'
11
+         `             ''+4 ='' `       _'   `` )/')-'-`` + `'[ '`^,``` *$    
12
+            .     z_+_ ' )$.^^  -       '      +4'````.`/)[```^.. `'     '  ..
13
+           '-``__ ^x $  _,x9'`  `.'`.       .-)''`   !`'^;'...-;.[  ````'_`...
14
+              `_^^=(^ ^{!;3[^ ..,'_^.+^.-'``^      .]('``1;)';,](*;, `  `*'-, 
15
+        `   ` `',_^^\/\^)+7]z=7_=-)]=;/7'+-^`     _[;[--'-!]--[)7.`[,-. ```..^
16
+            `   .` ,;+/1)\77][+7)([^/*^^+_=_     ]\[!({--{!]`)Y[[ ')$\;; `.``'
17
+     .    ^^`!_ ''!__;^;Y/111^1^]'']^'!`' .``   _9!])]Z;;^'Z-1;[7-`^7Y`),    `
18
+       x,z_x*[^]/{1{)]{)]!!!)\_)[_....__+_     .]Y;7Y^[;!`-;;*)*'!--y`-.[.    
19
+        '' '   ']]]]x]](^^7*!)111^';'']^'+. ` .]^)-;)'7^';;)))](`^)-!( ;'`-.  
20
+         __.=_**^))Y{]]]1)()!{]71!-!_)(_'-`= ;)y.7)'Y.7-`)!]]!7['--;17 ^.  '_ 
21
+         ' ''_ (`'\xy^1y]1\1]);7*)1*'\^'_   /' !'.7 - !` ][*^\y;-;;`^;,`.   1'
22
+       _ '=;^` ,{=971]*]7!)]7]]\(!(^\] ^`x'=^../.''-`.( )71,-[^\;;].'([  ,   '
23
+       _^,``_'(`=`\ ]1!*7^()Yz7[^]^{^^+, .'%` ]!' -' )' Y[],'^'7 (Z`.1^;  )   
24
+       `   _^ ^+;/'__;7+[`;\=%31_'=^ )^.; .` _{' .)  Z` ]7[..' 7 [7 `;`[;  ,  
25
+         ^ `z7!-/'. '^*{^'`^;%'7/,'\_  ! -'  ^/ .)!  *  Z-[.-; ; ` . ;  `, Y  
26
+            ``=^`  ^^\7'^''-'\ 'x-,.* ]`;`   ) . *` _   ; )`;;,)   `  ,  ! `  
27
+             7^ .`]+7`, +''_-7,    , `^_'    7.     ]   ! )`);(''   , 7       
28
+             ' .`.= '_` =`^.+^     `   [      !         ( Y`);[ '   ) '       
29
+                 =,  _  x`' , `    `  -      _         `!  ' `' `   )         
30
+                 `   ``  `  `                7          '  ' `'  ,  `         
31
+                      `  `  `          `     `             ( `!  (            
32
+                 `    `  `             `                   [     *            
33
+                 `    `  `                                                    
34
+                 `    `   `                                                   
35
+                                                                              
36
+                                                                              
37
+                                                                              
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+                                                                              
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                                               ,              
6
+                                                             .,*_  .          
7
+                                                             -^.^[''          
8
+                                         ,..     .      ,    ` ``^            
9
+                        -,              ^   `   / !'.   !`  .```              
10
+                       `-,_   4           ..    '7''+-/-    ] `   . .-')_. ``'
11
+                       ``)5 3-` `       _'      )(')'--`` ; `'( ``).``` Y1    
12
+          _ +    *z,Y, ` ;[_!^  `  _    '      ,Z`````.`(;[```*.. `'     '    
13
+           '-``]_.'[ Y _,.xy'`  `.' x  .    .-)''`   ;``!;'...';.(  ````',`...
14
+             _`_^^Y_/_^^!.y[' __,',^_+^x,'` ^      .);'``];)'-,](7;, `   *`.. 
15
+        `   ` `',_;^\/)!)+7]4=7_=+){1*\]'_'^-     ,];/.-`;!{--[{1``],.. ```..'
16
+         .  `   .` ,;++1))17)]+][;/^(*^^__+x_.   ]\y!()'.)!]`;7[[ '*[(.; ` ``'
17
+     `   ^^^`!- `;;_,;^;Y/1]^!^!]'']^'-`' ```   _Z!])]$-;]'Z.]-yY,`;Y*`),    `
18
+      xx,=*y^[^](1{()](;)!;;;+__[__..._.+__    .]7;7Y*7;!`---*)Y`!--[`-`[.    
19
+      -'`' `   ^]{\)][]!^^**!))117';'`)'^^+ ` .[^)-;{'[)'--;;;]!`[;-!( ;^`-.  
20
+         __.==y*^;Y7\]{]1);;;!]11^-!,)!_,- ++-;y.[)'7`7'`);));7[`-.;]1 '.  ', 
21
+        ^'^''_ !`'1xy^x7]]^1]);^$/\[']^/\   )' \''[ ^ ;` ](])/y;-;;`{;,`-   ^'
22
+       _ !=;^` ,\zZ7\{*]7*;]7[][;;;!)( '`x']' ./.',.`.! )7],-[*);-\.`([  ,   '
23
+      '_^'``_'!`=*^ ]/!Y]^(17x[[^\!)^)1, .'5^ {;` -' )' ]/{''^'] (7`.\^-  ;   
24
+     `^`   _^ ^_;/'-1;^+['!)=%Z7['[/ )^;^ .` _*' .;  Y  ]7[``` 7 [7 `;`(;  ,  
25
+        _^-'=7!_!'..^^*^^'`^;%771''Y+  ^ -`  7! .)!  4  7'[.-- ; ' . ;  `, *  
26
+           *{ ^^   ^^\7**''-'7'`9., 7.]`;`   _ . Y` .   ^ ;`;-,)   `  ,  ! '  
27
+             z^ .`]+^=, _'',-7, -` + ;^_'    7.  `  {   ! )`;;!''   , 1       
28
+            x' .`++x'_` __^.+^*    `   [     `'     '   ( *`);[ '   ) ^       
29
+              _  +,  _  =`^ ^`z     ` -      _          '  ''`! `   )         
30
+                '^`  -  = ' +                [         .'  '  `  ,  '.        
31
+                         `  `          `     '             !  ,  (            
32
+                 `    `  `             `                   (  '  [            
33
+                 `    `  `                                 '     '            
34
+                      `   `                                                   
35
+                                                                              
36
+                                                                              
37
+                                                                              
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+                                                                              
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                                               ,              
6
+                                                             .,[_  .          
7
+                                                             '[`;[''          
8
+                                         ,..     .      ,    ` ``7            
9
+                        -,     .        ^   `   / !'.   '`  .`                
10
+                       `-_x   Z`       '  ..    ']'`+-('    ) `   .  .';_. ``'
11
+                 _  .  ``)y y'` `       _'      )!'-''-`` - ''( ``).``` Y1    
12
+         -_'+    Yz,Y, ` ;[=!'  `  +'   !      ,Y``'````;;[ ``y.. `,     -    
13
+           '-`'{_.'\ 7 _!.xy`   `.' == _    .-;'^`   ;``!)^...`-.(  ````',` ..
14
+            ._ _^^Y_/_^^;.7(' _+,`,^_+^]x'` ^ '    .);``'{-;`-,);7-,     ^`.. 
15
+              `',;;^\/)!;+1_y=^_=+;)\^(],_'*^'    -/^(.-`^!)--[{1``\,..  '` .'
16
+        _.     _.` .;+;^;){7)]+\=;/^;^^7;._==_.  );[)()'.),]`;7[] `*[;.- ` ` '
17
+        ^^^^`--``';_,;;;7/^/^!)!)'`]''-`' ```   _Z!1;)]-;]'Y.]-yZ.`;51`),    `
18
+     (x=.x*1^/^/)1/!)1!;);;;;;__(_.'.._.,___   .]7;7]]7;!``^-7;7'!--['-`[     
19
+     ^^' ` `  ^^\));][{!^;**!;)1[1^;'`)'^^+_  ./]));{'[;'--;;;]!`!;-^, ;\`-.  
20
+         __.=xy*^;47!))]!;;;;!))1^-;,)!_'' __,'[.[;`]`Y'`;;));7(`-.-\] '.  ', 
21
+       ^^/+''_ !`'1x7^x7)]{\)(;^x/)]']+(/'  ;;'[''/ ^ ;` ]({;!y!-';'];,`(   ^'
22
+       _ !_-^` ,)zy7))7\][;]1[{\;;;!)) ''=']( .!.''. .! )Y\!'\7;;-) `;\  .   !
23
+     ''_^'``_`!`7Z^ {!!]]!;17[/]'+;)!)\_ .'Z^_)-` .' )' ]({''^'] !]`.[^-  ;   
24
+    -,^`  ./^ ^_;('-1'^^_'()=Z*7['1/';^;^..- _*' .;  ]  {[/``' 7 [7 `;`!;  ,  
25
+        _'-'+7'_;'._^^^)^'`);Z87]('1_  ;-.`  [! `)!  5  1![..- ; ^'. ; '`  ]  
26
+       '``_*/ ^^   ^--7]^''-']z`%,, ^./ -`   ]   ]` .`  7';`--'`   `  ,  ! '. 
27
+           ^ 7^ .`{_^=,'_''.-7. ^( ^ ;^_'    7.  ^  )   ; )`;-,`'   , [  '    
28
+            x' .`++]'{  _;!.+^x    ` ` /     ''     -   ! )`);( '   ; )       
29
+           `  _ `=,^ _  +`^ ]`Z     `_-      _          ' '''`( `   )         
30
+                '^   -  + ; - ^       '      /         .'  '  `  ,  ``        
31
+                ''      -   '          `     '             ,  '  !            
32
+                 `    `  `             `                   (  -  ^            
33
+                      `  `                                 -     +            
34
+                      `                                                       
35
+                                                                              
36
+                                                                              
37
+                                                                              
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+                                                                              
@@ -0,0 +1,41 @@
1
+                                                                              
2
+                                                                              
3
+                                                                              
4
+                                                                              
5
+                                                               ,              
6
+                                                             .,\.  .          
7
+                                                             '!''(`'          
8
+                                         ..      .      ,    ` ``*  '         
9
+                        `!     =        ^   `   ! ;'    '   .                 
10
+                       `-)4 .,y`       '  .    `']'`--('    )     .  `'-_. ```
11
+          .      = ._  ``;Y Y'          _'      _^'-''' ` - ''( ``'.``  1\    
12
+         +_'+    Y[,Y, ` ;/x!'  `  +^   !      ,7``-````;-/  `[.. `,    ';.   
13
+           '-`{\_.'\ \ /,.xy`   `.' =* __   .-;`7    -``!)^. .'- (     `',` ..
14
+            __ .;^*_+_^!;.7(' _=.`,'_+^]=+  ! '    .);``')-;``,);7-.     ^`.. 
15
+              `',;''_!)!;;{_y1^,{+;))^\](_-x^^`   -/*!.-`^!;'.()]-`),..  '` .'
16
+       ._.     ..` .;-;^;;!^;]+)=;(^;^^7;',===_  );[;!;'.;']`;[/7 `][;.-   ` '
17
+       ^^^'^`--``';,.';-1;)/^;!')'`)''- ' ```   _7^1;)]--)']`)^[Z.`'2]`;,    `
18
+    _+==.x=[^/'))[!;)1!;;;;;;;;_(_.^....,___   .]Y-7]]Z-'''*-1;1^-`.7',`[     
19
+    -^^`   ` `^)););][);1;*z(;;1]^7;``;''++_' ./]^-'1'/-`--;;^)^`!;`*, -\`'.  
20
+         __.=x*^')47;)))!;;;;;))1[+;,;!_'' ,_,'['/;`].y-`;;));Y(`'`')\ `'  ', 
21
+      +^7/!'^, ;`){x7^$7))());;^];){`]++(^  ;'*['!/ [ !` );{;;[!.'-')^,`,   )'
22
+       .`'_'^` .;xY7);y\][;)][)(;*;;!; ''[`](..!.''. .! ;Y)^-(7;'')`';( `.   _
23
+    _''_^'``_`!`#y; )!^]]!;]][/]'+;;!)\_ .`y^_)-` -` )' )/{`'^!{ ,]`.[],  ;   
24
+   .-,!`  _/^ '_;!`_/'^*_`(;\71^['\/+;)^^..^ _3' .;  ]  1[]'`- ] (1 `^`!-  ,  
25
+    '   _'-'_^'_;'._^'^;''');7%7]_'1_  ;-,`  [! `;'  Z  ]^!.`` ^ [^  ; ^`  ^  
26
+       - -_*! )^   ^''7]^''-']Z'%^, *_/ -`   1   ]` .^  *'(`-''`   `  ,  ! '. 
27
+          4^ ]^   )-^=,*_''.-\7 ^z = '[;'    7.  Y  )   ; )`;-, `   . \  -    
28
+            x' .`++)'y  _;!.+^[  ^ ` -'/     !'     -   , )`)-( ,   ; )       
29
+           7  _ _+,^ ,  _-^ )`3     `.-`     _          ' ^`-`! `   ) `       
30
+           ` .  '^`  -  -`\ + +       ^      /         ``  '  '  .   `        
31
+             ` .\'  .   ( ' ; '        `     '             ,  '  ,   `        
32
+                 `    `     `          `                   !  -  ^            
33
+                      `                                    ,     +            
34
+                      `                                                       
35
+                                                                              
36
+                                                                              
37
+                                                                              
38
+                                                                              
39
+                                                                              
40
+                                                                              
41
+