three-nebula 10.0.2 → 11.0.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 (170) hide show
  1. package/.claude/rules/no-coauthor.md +4 -0
  2. package/CHANGELOG.md +23 -0
  3. package/build/cjs/behaviour/Alpha.js +2 -2
  4. package/build/cjs/behaviour/Attraction.js +2 -2
  5. package/build/cjs/behaviour/Behaviour.js +1 -1
  6. package/build/cjs/behaviour/Collision.js +2 -2
  7. package/build/cjs/behaviour/Color.js +2 -2
  8. package/build/cjs/behaviour/CrossZone.js +8 -4
  9. package/build/cjs/behaviour/Force.js +2 -2
  10. package/build/cjs/behaviour/Gravity.js +2 -2
  11. package/build/cjs/behaviour/RandomDrift.js +2 -2
  12. package/build/cjs/behaviour/Repulsion.js +2 -2
  13. package/build/cjs/behaviour/Rotate.js +5 -5
  14. package/build/cjs/behaviour/Scale.js +2 -2
  15. package/build/cjs/behaviour/Spring.js +2 -2
  16. package/build/cjs/constants/index.js +1 -1
  17. package/build/cjs/core/Particle.js +1 -1
  18. package/build/cjs/core/Pool.js +1 -1
  19. package/build/cjs/core/System.js +8 -4
  20. package/build/cjs/core/constants.js +2 -2
  21. package/build/cjs/core/fromJSON.js +6 -2
  22. package/build/cjs/core/fromJSONAsync.js +8 -4
  23. package/build/cjs/core/three/Euler.js +1 -1
  24. package/build/cjs/core/three/Math.js +1 -1
  25. package/build/cjs/core/three/Matrix4.js +1 -1
  26. package/build/cjs/core/three/Quaternion.js +1 -1
  27. package/build/cjs/core/three/Vector3.js +1 -1
  28. package/build/cjs/debug/Debug.js +1 -1
  29. package/build/cjs/debug/log.js +1 -1
  30. package/build/cjs/ease/index.js +1 -1
  31. package/build/cjs/emitter/Emitter.js +17 -6
  32. package/build/cjs/emitter/FollowEmitter.js +2 -2
  33. package/build/cjs/events/EventDispatcher.js +3 -3
  34. package/build/cjs/initializer/Body.js +2 -2
  35. package/build/cjs/initializer/BodySprite.js +3 -3
  36. package/build/cjs/initializer/Initializer.js +1 -1
  37. package/build/cjs/initializer/InitializerUtil.js +1 -1
  38. package/build/cjs/initializer/Life.js +2 -2
  39. package/build/cjs/initializer/Mass.js +2 -2
  40. package/build/cjs/initializer/Position.js +8 -4
  41. package/build/cjs/initializer/Radius.js +2 -2
  42. package/build/cjs/initializer/Rate.js +2 -2
  43. package/build/cjs/initializer/Rotation.js +95 -0
  44. package/build/cjs/initializer/Texture.js +3 -3
  45. package/build/cjs/initializer/Velocity/PolarVelocity.js +2 -2
  46. package/build/cjs/initializer/Velocity/RadialVelocity.js +2 -2
  47. package/build/cjs/initializer/Velocity/VectorVelocity.js +2 -2
  48. package/build/cjs/initializer/Velocity/Velocity.js +2 -2
  49. package/build/cjs/initializer/constants.js +1 -1
  50. package/build/cjs/initializer/index.js +9 -1
  51. package/build/cjs/initializer/types.js +4 -2
  52. package/build/cjs/math/ArraySpan.js +2 -2
  53. package/build/cjs/math/Box.js +1 -1
  54. package/build/cjs/math/ColorSpan.js +2 -2
  55. package/build/cjs/math/MathUtils.js +1 -1
  56. package/build/cjs/math/Polar3D.js +1 -1
  57. package/build/cjs/math/Span.js +1 -1
  58. package/build/cjs/math/Vector3D.js +1 -1
  59. package/build/cjs/math/constants.js +1 -1
  60. package/build/cjs/math/index.js +5 -1
  61. package/build/cjs/math/integration.js +1 -1
  62. package/build/cjs/renderer/BaseRenderer.js +1 -1
  63. package/build/cjs/renderer/CustomRenderer.js +1 -1
  64. package/build/cjs/renderer/GPURenderer/Desktop/index.js +25 -4
  65. package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +2 -2
  66. package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +2 -2
  67. package/build/cjs/renderer/GPURenderer/Mobile/index.js +25 -4
  68. package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +2 -2
  69. package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +2 -2
  70. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +9 -4
  71. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +1 -1
  72. package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +1 -1
  73. package/build/cjs/renderer/GPURenderer/common/stores/Target.js +3 -1
  74. package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +1 -1
  75. package/build/cjs/renderer/GPURenderer/index.js +2 -2
  76. package/build/cjs/renderer/MeshRenderer.js +9 -9
  77. package/build/cjs/renderer/SpriteRenderer.js +7 -2
  78. package/build/cjs/utils/index.js +1 -1
  79. package/build/cjs/utils/uid.js +3 -5
  80. package/build/cjs/zone/BoxZone.js +2 -2
  81. package/build/cjs/zone/LineZone.js +2 -2
  82. package/build/cjs/zone/MeshZone.js +2 -2
  83. package/build/cjs/zone/PointZone.js +6 -4
  84. package/build/cjs/zone/ScreenZone.js +2 -2
  85. package/build/cjs/zone/SphereZone.js +6 -4
  86. package/build/cjs/zone/Zone.js +1 -1
  87. package/build/esm/behaviour/Alpha.js +1 -1
  88. package/build/esm/behaviour/Attraction.js +1 -1
  89. package/build/esm/behaviour/Behaviour.js +1 -1
  90. package/build/esm/behaviour/Collision.js +1 -1
  91. package/build/esm/behaviour/Color.js +1 -1
  92. package/build/esm/behaviour/CrossZone.js +1 -1
  93. package/build/esm/behaviour/Force.js +1 -1
  94. package/build/esm/behaviour/Gravity.js +1 -1
  95. package/build/esm/behaviour/RandomDrift.js +1 -1
  96. package/build/esm/behaviour/Repulsion.js +1 -1
  97. package/build/esm/behaviour/Rotate.js +4 -4
  98. package/build/esm/behaviour/Scale.js +1 -1
  99. package/build/esm/behaviour/Spring.js +1 -1
  100. package/build/esm/constants/index.js +1 -1
  101. package/build/esm/core/Particle.js +1 -1
  102. package/build/esm/core/Pool.js +1 -1
  103. package/build/esm/core/System.js +2 -2
  104. package/build/esm/core/constants.js +3 -3
  105. package/build/esm/core/fromJSON.js +1 -1
  106. package/build/esm/core/fromJSONAsync.js +2 -2
  107. package/build/esm/core/three/Euler.js +1 -1
  108. package/build/esm/core/three/Math.js +1 -1
  109. package/build/esm/core/three/Matrix4.js +1 -1
  110. package/build/esm/core/three/Quaternion.js +1 -1
  111. package/build/esm/core/three/Vector3.js +1 -1
  112. package/build/esm/debug/Debug.js +1 -1
  113. package/build/esm/debug/log.js +1 -1
  114. package/build/esm/ease/index.js +1 -1
  115. package/build/esm/emitter/Emitter.js +11 -4
  116. package/build/esm/emitter/FollowEmitter.js +1 -1
  117. package/build/esm/events/EventDispatcher.js +3 -3
  118. package/build/esm/initializer/Body.js +1 -1
  119. package/build/esm/initializer/BodySprite.js +2 -2
  120. package/build/esm/initializer/Initializer.js +1 -1
  121. package/build/esm/initializer/InitializerUtil.js +1 -1
  122. package/build/esm/initializer/Life.js +1 -1
  123. package/build/esm/initializer/Mass.js +1 -1
  124. package/build/esm/initializer/Position.js +3 -2
  125. package/build/esm/initializer/Radius.js +1 -1
  126. package/build/esm/initializer/Rate.js +1 -1
  127. package/build/esm/initializer/Rotation.js +54 -0
  128. package/build/esm/initializer/Texture.js +2 -2
  129. package/build/esm/initializer/Velocity/PolarVelocity.js +1 -1
  130. package/build/esm/initializer/Velocity/RadialVelocity.js +1 -1
  131. package/build/esm/initializer/Velocity/VectorVelocity.js +1 -1
  132. package/build/esm/initializer/Velocity/Velocity.js +1 -1
  133. package/build/esm/initializer/constants.js +1 -1
  134. package/build/esm/initializer/index.js +2 -1
  135. package/build/esm/initializer/types.js +2 -1
  136. package/build/esm/math/ArraySpan.js +1 -1
  137. package/build/esm/math/Box.js +1 -1
  138. package/build/esm/math/ColorSpan.js +1 -1
  139. package/build/esm/math/MathUtils.js +1 -1
  140. package/build/esm/math/Polar3D.js +1 -1
  141. package/build/esm/math/Span.js +1 -1
  142. package/build/esm/math/constants.js +1 -1
  143. package/build/esm/math/integration.js +1 -1
  144. package/build/esm/renderer/BaseRenderer.js +1 -1
  145. package/build/esm/renderer/GPURenderer/Desktop/index.js +29 -3
  146. package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +8 -1
  147. package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +4 -1
  148. package/build/esm/renderer/GPURenderer/Mobile/index.js +29 -3
  149. package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +8 -1
  150. package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +4 -1
  151. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +6 -3
  152. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +1 -1
  153. package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +1 -1
  154. package/build/esm/renderer/GPURenderer/common/stores/Target.js +3 -1
  155. package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +1 -1
  156. package/build/esm/renderer/GPURenderer/index.js +1 -1
  157. package/build/esm/renderer/MeshRenderer.js +7 -8
  158. package/build/esm/renderer/SpriteRenderer.js +5 -1
  159. package/build/esm/utils/index.js +1 -1
  160. package/build/esm/utils/uid.js +2 -2
  161. package/build/esm/zone/BoxZone.js +1 -1
  162. package/build/esm/zone/LineZone.js +1 -1
  163. package/build/esm/zone/MeshZone.js +1 -1
  164. package/build/esm/zone/PointZone.js +5 -3
  165. package/build/esm/zone/ScreenZone.js +1 -1
  166. package/build/esm/zone/SphereZone.js +5 -3
  167. package/build/esm/zone/Zone.js +1 -1
  168. package/build/three-nebula.js +1 -1
  169. package/build/three-nebula.js.map +1 -1
  170. package/package.json +31 -31
@@ -736,4 +736,4 @@ Object.assign(Matrix4.prototype, {
736
736
  }
737
737
  });
738
738
  export { Matrix4 };
739
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL01hdHJpeDQuanMiXSwibmFtZXMiOlsiVmVjdG9yMyIsIk1hdHJpeDQiLCJlbGVtZW50cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbnNvbGUiLCJlcnJvciIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImlzTWF0cml4NCIsInNldCIsIm4xMSIsIm4xMiIsIm4xMyIsIm4xNCIsIm4yMSIsIm4yMiIsIm4yMyIsIm4yNCIsIm4zMSIsIm4zMiIsIm4zMyIsIm4zNCIsIm40MSIsIm40MiIsIm40MyIsIm40NCIsInRlIiwiaWRlbnRpdHkiLCJjbG9uZSIsImZyb21BcnJheSIsImNvcHkiLCJtIiwibWUiLCJjb3B5UG9zaXRpb24iLCJleHRyYWN0QmFzaXMiLCJ4QXhpcyIsInlBeGlzIiwiekF4aXMiLCJzZXRGcm9tTWF0cml4Q29sdW1uIiwibWFrZUJhc2lzIiwieCIsInkiLCJ6IiwiZXh0cmFjdFJvdGF0aW9uIiwidjEiLCJzY2FsZVgiLCJzY2FsZVkiLCJzY2FsZVoiLCJtYWtlUm90YXRpb25Gcm9tRXVsZXIiLCJldWxlciIsImlzRXVsZXIiLCJhIiwiTWF0aCIsImNvcyIsImIiLCJzaW4iLCJjIiwiZCIsImUiLCJmIiwib3JkZXIiLCJhZSIsImFmIiwiYmUiLCJiZiIsImNlIiwiY2YiLCJkZSIsImRmIiwiYWMiLCJhZCIsImJjIiwiYmQiLCJtYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbiIsInplcm8iLCJvbmUiLCJxIiwiY29tcG9zZSIsImxvb2tBdCIsImV5ZSIsInRhcmdldCIsInVwIiwic3ViVmVjdG9ycyIsImxlbmd0aFNxIiwibm9ybWFsaXplIiwiY3Jvc3NWZWN0b3JzIiwiYWJzIiwibXVsdGlwbHkiLCJuIiwidW5kZWZpbmVkIiwid2FybiIsIm11bHRpcGx5TWF0cmljZXMiLCJwcmVtdWx0aXBseSIsImExMSIsImExMiIsImExMyIsImExNCIsImEyMSIsImEyMiIsImEyMyIsImEyNCIsImEzMSIsImEzMiIsImEzMyIsImEzNCIsImE0MSIsImE0MiIsImE0MyIsImE0NCIsImIxMSIsImIxMiIsImIxMyIsImIxNCIsImIyMSIsImIyMiIsImIyMyIsImIyNCIsImIzMSIsImIzMiIsImIzMyIsImIzNCIsImI0MSIsImI0MiIsImI0MyIsImI0NCIsIm11bHRpcGx5U2NhbGFyIiwicyIsImFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUiLCJhdHRyaWJ1dGUiLCJpIiwibCIsImNvdW50IiwiZ2V0WCIsImdldFkiLCJnZXRaIiwiYXBwbHlNYXRyaXg0Iiwic2V0WFlaIiwiZGV0ZXJtaW5hbnQiLCJ0cmFuc3Bvc2UiLCJ0bXAiLCJzZXRQb3NpdGlvbiIsImlzVmVjdG9yMyIsImdldEludmVyc2UiLCJ0aHJvd09uRGVnZW5lcmF0ZSIsInQxMSIsInQxMiIsInQxMyIsInQxNCIsImRldCIsIm1zZyIsIkVycm9yIiwiZGV0SW52Iiwic2NhbGUiLCJ2IiwiZ2V0TWF4U2NhbGVPbkF4aXMiLCJzY2FsZVhTcSIsInNjYWxlWVNxIiwic2NhbGVaU3EiLCJzcXJ0IiwibWF4IiwibWFrZVRyYW5zbGF0aW9uIiwibWFrZVJvdGF0aW9uWCIsInRoZXRhIiwibWFrZVJvdGF0aW9uWSIsIm1ha2VSb3RhdGlvbloiLCJtYWtlUm90YXRpb25BeGlzIiwiYXhpcyIsImFuZ2xlIiwidCIsInR4IiwidHkiLCJtYWtlU2NhbGUiLCJtYWtlU2hlYXIiLCJwb3NpdGlvbiIsInF1YXRlcm5pb24iLCJfeCIsIl95IiwiX3oiLCJ3IiwiX3ciLCJ4MiIsInkyIiwiejIiLCJ4eCIsInh5IiwieHoiLCJ5eSIsInl6IiwienoiLCJ3eCIsInd5Iiwid3oiLCJzeCIsInN5Iiwic3oiLCJkZWNvbXBvc2UiLCJ2ZWN0b3IiLCJtYXRyaXgiLCJpbnZTWCIsImludlNZIiwiaW52U1oiLCJzZXRGcm9tUm90YXRpb25NYXRyaXgiLCJtYWtlUGVyc3BlY3RpdmUiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJuZWFyIiwiZmFyIiwibWFrZU9y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LENBQWxDO0FBaTVCQSxTQUFTdE4sT0FBVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlY3RvcjMgfSBmcm9tICcuL1ZlY3RvcjMuanMnO1xuXG4vKipcbiAqIEBhdXRob3IgbXJkb29iIC8gaHR0cDovL21yZG9vYi5jb20vXG4gKiBAYXV0aG9yIHN1cGVyZWdnYmVydCAvIGh0dHA6Ly93d3cucGF1bGJydW50LmNvLnVrL1xuICogQGF1dGhvciBwaGlsb2diIC8gaHR0cDovL2Jsb2cudGhlaml0Lm9yZy9cbiAqIEBhdXRob3Igam9yZGlfcm9zIC8gaHR0cDovL3BsYXR0c29mdC5jb21cbiAqIEBhdXRob3IgRDFwbG8xZCAvIGh0dHA6Ly9naXRodWIuY29tL0QxcGxvMWRcbiAqIEBhdXRob3IgYWx0ZXJlZHEgLyBodHRwOi8vYWx0ZXJlZHF1YWxpYS5jb20vXG4gKiBAYXV0aG9yIG1pa2FlbCBlbXRpbmdlciAvIGh0dHA6Ly9nb21vLnNlL1xuICogQGF1dGhvciB0aW1rbmlwIC8gaHR0cDovL3d3dy5mbG9vcnBsYW5uZXIuY29tL1xuICogQGF1dGhvciBiaG91c3RvbiAvIGh0dHA6Ly9jbGFyYS5pb1xuICogQGF1dGhvciBXZXN0TGFuZ2xleSAvIGh0dHA6Ly9naXRodWIuY29tL1dlc3RMYW5nbGV5XG4gKi9cblxuZnVuY3Rpb24gTWF0cml4NCgpIHtcblxuXHR0aGlzLmVsZW1lbnRzID0gW1xuXG5cdFx0MSwgMCwgMCwgMCxcblx0XHQwLCAxLCAwLCAwLFxuXHRcdDAsIDAsIDEsIDAsXG5cdFx0MCwgMCwgMCwgMVxuXG5cdF07XG5cblx0aWYgKCBhcmd1bWVudHMubGVuZ3RoID4gMCApIHtcblxuXHRcdGNvbnNvbGUuZXJyb3IoICdUSFJFRS5NYXRyaXg0OiB0aGUgY29uc3RydWN0b3Igbm8gbG9uZ2VyIHJlYWRzIGFyZ3VtZW50cy4gdXNlIC5zZXQoKSBpbnN0ZWFkLicgKTtcblxuXHR9XG5cbn1cblxuT2JqZWN0LmFzc2lnbiggTWF0cml4NC5wcm90b3R5cGUsIHtcblxuXHRpc01hdHJpeDQ6IHRydWUsXG5cblx0c2V0OiBmdW5jdGlvbiAoIG4xMSwgbjEyLCBuMTMsIG4xNCwgbjIxLCBuMjIsIG4yMywgbjI0LCBuMzEsIG4zMiwgbjMzLCBuMzQsIG40MSwgbjQyLCBuNDMsIG40NCApIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cblx0XHR0ZVsgMCBdID0gbjExOyB0ZVsgNCBdID0gbjEyOyB0ZVsgOCBdID0gbjEzOyB0ZVsgMTIgXSA9IG4xNDtcblx0XHR0ZVsgMSBdID0gbjIxOyB0ZVsgNSBdID0gbjIyOyB0ZVsgOSBdID0gbjIzOyB0ZVsgMTMgXSA9IG4yNDtcblx0XHR0ZVsgMiBdID0gbjMxOyB0ZVsgNiBdID0gbjMyOyB0ZVsgMTAgXSA9IG4zMzsgdGVbIDE0IF0gPSBuMzQ7XG5cdFx0dGVbIDMgXSA9IG40MTsgdGVbIDcgXSA9IG40MjsgdGVbIDExIF0gPSBuNDM7IHRlWyAxNSBdID0gbjQ0O1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRpZGVudGl0eTogZnVuY3Rpb24gKCkge1xuXG5cdFx0dGhpcy5zZXQoXG5cblx0XHRcdDEsIDAsIDAsIDAsXG5cdFx0XHQwLCAxLCAwLCAwLFxuXHRcdFx0MCwgMCwgMSwgMCxcblx0XHRcdDAsIDAsIDAsIDFcblxuXHRcdCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGNsb25lOiBmdW5jdGlvbiAoKSB7XG5cblx0XHRyZXR1cm4gbmV3IE1hdHJpeDQoKS5mcm9tQXJyYXkoIHRoaXMuZWxlbWVudHMgKTtcblxuXHR9LFxuXG5cdGNvcHk6IGZ1bmN0aW9uICggbSApIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cdFx0dmFyIG1lID0gbS5lbGVtZW50cztcblxuXHRcdHRlWyAwIF0gPSBtZVsgMCBdOyB0ZVsgMSBdID0gbWVbIDEgXTsgdGVbIDIgXSA9IG1lWyAyIF07IHRlWyAzIF0gPSBtZVsgMyBdO1xuXHRcdHRlWyA0IF0gPSBtZVsgNCBdOyB0ZVsgNSBdID0gbWVbIDUgXTsgdGVbIDYgXSA9IG1lWyA2IF07IHRlWyA3IF0gPSBtZVsgNyBdO1xuXHRcdHRlWyA4IF0gPSBtZVsgOCBdOyB0ZVsgOSBdID0gbWVbIDkgXTsgdGVbIDEwIF0gPSBtZVsgMTAgXTsgdGVbIDExIF0gPSBtZVsgMTEgXTtcblx0XHR0ZVsgMTIgXSA9IG1lWyAxMiBdOyB0ZVsgMTMgXSA9IG1lWyAxMyBdOyB0ZVsgMTQgXSA9IG1lWyAxNCBdOyB0ZVsgMTUgXSA9IG1lWyAxNSBdO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRjb3B5UG9zaXRpb246IGZ1bmN0aW9uICggbSApIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHMsIG1lID0gbS5lbGVtZW50cztcblxuXHRcdHRlWyAxMiBdID0gbWVbIDEyIF07XG5cdFx0dGVbIDEzIF0gPSBtZVsgMTMgXTtcblx0XHR0ZVsgMTQgXSA9IG1lWyAxNCBdO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRleHRyYWN0QmFzaXM6IGZ1bmN0aW9uICggeEF4aXMsIHlBeGlzLCB6QXhpcyApIHtcblxuXHRcdHhBeGlzLnNldEZyb21NYXRyaXhDb2x1bW4oIHRoaXMsIDAgKTtcblx0XHR5QXhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKCB0aGlzLCAxICk7XG5cdFx0ekF4aXMuc2V0RnJvbU1hdHJpeENvbHVtbiggdGhpcywgMiApO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtYWtlQmFzaXM6IGZ1bmN0aW9uICggeEF4aXMsIHlBeGlzLCB6QXhpcyApIHtcblxuXHRcdHRoaXMuc2V0KFxuXHRcdFx0eEF4aXMueCwgeUF4aXMueCwgekF4aXMueCwgMCxcblx0XHRcdHhBeGlzLnksIHlBeGlzLnksIHpBeGlzLnksIDAsXG5cdFx0XHR4QXhpcy56LCB5QXhpcy56LCB6QXhpcy56LCAwLFxuXHRcdFx0MCwgMCwgMCwgMVxuXHRcdCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGV4dHJhY3RSb3RhdGlvbjogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIHYxID0gbmV3IFZlY3RvcjMoKTtcblxuXHRcdHJldHVybiBmdW5jdGlvbiBleHRyYWN0Um90YXRpb24oIG0gKSB7XG5cblx0XHRcdC8vIHRoaXMgbWV0aG9kIGRvZXMgbm90IHN1cHBvcnQgcmVmbGVjdGlvbiBtYXRyaWNlc1xuXG5cdFx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXHRcdFx0dmFyIG1lID0gbS5lbGVtZW50cztcblxuXHRcdFx0dmFyIHNjYWxlWCA9IDEgLyB2MS5zZXRGcm9tTWF0cml4Q29sdW1uKCBtLCAwICkubGVuZ3RoKCk7XG5cdFx0XHR2YXIgc2NhbGVZID0gMSAvIHYxLnNldEZyb21NYXRyaXhDb2x1bW4oIG0sIDEgKS5sZW5ndGgoKTtcblx0XHRcdHZhciBzY2FsZVogPSAxIC8gdjEuc2V0RnJvbU1hdHJpeENvbHVtbiggbSwgMiApLmxlbmd0aCgpO1xuXG5cdFx0XHR0ZVsgMCBdID0gbWVbIDAgXSAqIHNjYWxlWDtcblx0XHRcdHRlWyAxIF0gPSBtZVsgMSBdICogc2NhbGVYO1xuXHRcdFx0dGVbIDIgXSA9IG1lWyAyIF0gKiBzY2FsZVg7XG5cdFx0XHR0ZVsgMyBdID0gMDtcblxuXHRcdFx0dGVbIDQgXSA9IG1lWyA0IF0gKiBzY2FsZVk7XG5cdFx0XHR0ZVsgNSBdID0gbWVbIDUgXSAqIHNjYWxlWTtcblx0XHRcdHRlWyA2IF0gPSBtZVsgNiBdICogc2NhbGVZO1xuXHRcdFx0dGVbIDcgXSA9IDA7XG5cblx0XHRcdHRlWyA4IF0gPSBtZVsgOCBdICogc2NhbGVaO1xuXHRcdFx0dGVbIDkgXSA9IG1lWyA5IF0gKiBzY2FsZVo7XG5cdFx0XHR0ZVsgMTAgXSA9IG1lWyAxMCBdICogc2NhbGVaO1xuXHRcdFx0dGVbIDExIF0gPSAwO1xuXG5cdFx0XHR0ZVsgMTIgXSA9IDA7XG5cdFx0XHR0ZVsgMTMgXSA9IDA7XG5cdFx0XHR0ZVsgMTQgXSA9IDA7XG5cdFx0XHR0ZVsgMTUgXSA9IDE7XG5cblx0XHRcdHJldHVybiB0aGlzO1xuXG5cdFx0fTtcblxuXHR9KCksXG5cblx0bWFrZVJvdGF0aW9uRnJvbUV1bGVyOiBmdW5jdGlvbiAoIGV1bGVyICkge1xuXG5cdFx0aWYgKCAhICggZXVsZXIgJiYgZXVsZXIuaXNFdWxlciApICkge1xuXG5cdFx0XHRjb25zb2xlLmVycm9yKCAnVEhSRUUuTWF0cml4NDogLm1ha2VSb3RhdGlvbkZyb21FdWxlcigpIG5vdyBleHBlY3RzIGEgRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4nICk7XG5cblx0XHR9XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0dmFyIHggPSBldWxlci54LCB5ID0gZXVsZXIueSwgeiA9IGV1bGVyLno7XG5cdFx0dmFyIGEgPSBNYXRoLmNvcyggeCApLCBiID0gTWF0aC5zaW4oIHggKTtcblx0XHR2YXIgYyA9IE1hdGguY29zKCB5ICksIGQgPSBNYXRoLnNpbiggeSApO1xuXHRcdHZhciBlID0gTWF0aC5jb3MoIHogKSwgZiA9IE1hdGguc2luKCB6ICk7XG5cblx0XHRpZiAoIGV1bGVyLm9yZGVyID09PSAnWFlaJyApIHtcblxuXHRcdFx0dmFyIGFlID0gYSAqIGUsIGFmID0gYSAqIGYsIGJlID0gYiAqIGUsIGJmID0gYiAqIGY7XG5cblx0XHRcdHRlWyAwIF0gPSBjICogZTtcblx0XHRcdHRlWyA0IF0gPSAtIGMgKiBmO1xuXHRcdFx0dGVbIDggXSA9IGQ7XG5cblx0XHRcdHRlWyAxIF0gPSBhZiArIGJlICogZDtcblx0XHRcdHRlWyA1IF0gPSBhZSAtIGJmICogZDtcblx0XHRcdHRlWyA5IF0gPSAtIGIgKiBjO1xuXG5cdFx0XHR0ZVsgMiBdID0gYmYgLSBhZSAqIGQ7XG5cdFx0XHR0ZVsgNiBdID0gYmUgKyBhZiAqIGQ7XG5cdFx0XHR0ZVsgMTAgXSA9IGEgKiBjO1xuXG5cdFx0fSBlbHNlIGlmICggZXVsZXIub3JkZXIgPT09ICdZWFonICkge1xuXG5cdFx0XHR2YXIgY2UgPSBjICogZSwgY2YgPSBjICogZiwgZGUgPSBkICogZSwgZGYgPSBkICogZjtcblxuXHRcdFx0dGVbIDAgXSA9IGNlICsgZGYgKiBiO1xuXHRcdFx0dGVbIDQgXSA9IGRlICogYiAtIGNmO1xuXHRcdFx0dGVbIDggXSA9IGEgKiBkO1xuXG5cdFx0XHR0ZVsgMSBdID0gYSAqIGY7XG5cdFx0XHR0ZVsgNSBdID0gYSAqIGU7XG5cdFx0XHR0ZVsgOSBdID0gLSBiO1xuXG5cdFx0XHR0ZVsgMiBdID0gY2YgKiBiIC0gZGU7XG5cdFx0XHR0ZVsgNiBdID0gZGYgKyBjZSAqIGI7XG5cdFx0XHR0ZVsgMTAgXSA9IGEgKiBjO1xuXG5cdFx0fSBlbHNlIGlmICggZXVsZXIub3JkZXIgPT09ICdaWFknICkge1xuXG5cdFx0XHR2YXIgY2UgPSBjICogZSwgY2YgPSBjICogZiwgZGUgPSBkICogZSwgZGYgPSBkICogZjtcblxuXHRcdFx0dGVbIDAgXSA9IGNlIC0gZGYgKiBiO1xuXHRcdFx0dGVbIDQgXSA9IC0gYSAqIGY7XG5cdFx0XHR0ZVsgOCBdID0gZGUgKyBjZiAqIGI7XG5cblx0XHRcdHRlWyAxIF0gPSBjZiArIGRlICogYjtcblx0XHRcdHRlWyA1IF0gPSBhICogZTtcblx0XHRcdHRlWyA5IF0gPSBkZiAtIGNlICogYjtcblxuXHRcdFx0dGVbIDIgXSA9IC0gYSAqIGQ7XG5cdFx0XHR0ZVsgNiBdID0gYjtcblx0XHRcdHRlWyAxMCBdID0gYSAqIGM7XG5cblx0XHR9IGVsc2UgaWYgKCBldWxlci5vcmRlciA9PT0gJ1pZWCcgKSB7XG5cblx0XHRcdHZhciBhZSA9IGEgKiBlLCBhZiA9IGEgKiBmLCBiZSA9IGIgKiBlLCBiZiA9IGIgKiBmO1xuXG5cdFx0XHR0ZVsgMCBdID0gYyAqIGU7XG5cdFx0XHR0ZVsgNCBdID0gYmUgKiBkIC0gYWY7XG5cdFx0XHR0ZVsgOCBdID0gYWUgKiBkICsgYmY7XG5cblx0XHRcdHRlWyAxIF0gPSBjICogZjtcblx0XHRcdHRlWyA1IF0gPSBiZiAqIGQgKyBhZTtcblx0XHRcdHRlWyA5IF0gPSBhZiAqIGQgLSBiZTtcblxuXHRcdFx0dGVbIDIgXSA9IC0gZDtcblx0XHRcdHRlWyA2IF0gPSBiICogYztcblx0XHRcdHRlWyAxMCBdID0gYSAqIGM7XG5cblx0XHR9IGVsc2UgaWYgKCBldWxlci5vcmRlciA9PT0gJ1laWCcgKSB7XG5cblx0XHRcdHZhciBhYyA9IGEgKiBjLCBhZCA9IGEgKiBkLCBiYyA9IGIgKiBjLCBiZCA9IGIgKiBkO1xuXG5cdFx0XHR0ZVsgMCBdID0gYyAqIGU7XG5cdFx0XHR0ZVsgNCBdID0gYmQgLSBhYyAqIGY7XG5cdFx0XHR0ZVsgOCBdID0gYmMgKiBmICsgYWQ7XG5cblx0XHRcdHRlWyAxIF0gPSBmO1xuXHRcdFx0dGVbIDUgXSA9IGEgKiBlO1xuXHRcdFx0dGVbIDkgXSA9IC0gYiAqIGU7XG5cblx0XHRcdHRlWyAyIF0gPSAtIGQgKiBlO1xuXHRcdFx0dGVbIDYgXSA9IGFkICogZiArIGJjO1xuXHRcdFx0dGVbIDEwIF0gPSBhYyAtIGJkICogZjtcblxuXHRcdH0gZWxzZSBpZiAoIGV1bGVyLm9yZGVyID09PSAnWFpZJyApIHtcblxuXHRcdFx0dmFyIGFjID0gYSAqIGMsIGFkID0gYSAqIGQsIGJjID0gYiAqIGMsIGJkID0gYiAqIGQ7XG5cblx0XHRcdHRlWyAwIF0gPSBjICogZTtcblx0XHRcdHRlWyA0IF0gPSAtIGY7XG5cdFx0XHR0ZVsgOCBdID0gZCAqIGU7XG5cblx0XHRcdHRlWyAxIF0gPSBhYyAqIGYgKyBiZDtcblx0XHRcdHRlWyA1IF0gPSBhICogZTtcblx0XHRcdHRlWyA5IF0gPSBhZCAqIGYgLSBiYztcblxuXHRcdFx0dGVbIDIgXSA9IGJjICogZiAtIGFkO1xuXHRcdFx0dGVbIDYgXSA9IGIgKiBlO1xuXHRcdFx0dGVbIDEwIF0gPSBiZCAqIGYgKyBhYztcblxuXHRcdH1cblxuXHRcdC8vIGJvdHRvbSByb3dcblx0XHR0ZVsgMyBdID0gMDtcblx0XHR0ZVsgNyBdID0gMDtcblx0XHR0ZVsgMTEgXSA9IDA7XG5cblx0XHQvLyBsYXN0IGNvbHVtblxuXHRcdHRlWyAxMiBdID0gMDtcblx0XHR0ZVsgMTMgXSA9IDA7XG5cdFx0dGVbIDE0IF0gPSAwO1xuXHRcdHRlWyAxNSBdID0gMTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0bWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb246IGZ1bmN0aW9uICgpIHtcblxuXHRcdHZhciB6ZXJvID0gbmV3IFZlY3RvcjMoIDAsIDAsIDAgKTtcblx0XHR2YXIgb25lID0gbmV3IFZlY3RvcjMoIDEsIDEsIDEgKTtcblxuXHRcdHJldHVybiBmdW5jdGlvbiBtYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbiggcSApIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuY29tcG9zZSggemVybywgcSwgb25lICk7XG5cblx0XHR9O1xuXG5cdH0oKSxcblxuXHRsb29rQXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdHZhciB4ID0gbmV3IFZlY3RvcjMoKTtcblx0XHR2YXIgeSA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0dmFyIHogPSBuZXcgVmVjdG9yMygpO1xuXG5cdFx0cmV0dXJuIGZ1bmN0aW9uIGxvb2tBdCggZXllLCB0YXJnZXQsIHVwICkge1xuXG5cdFx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0XHR6LnN1YlZlY3RvcnMoIGV5ZSwgdGFyZ2V0ICk7XG5cblx0XHRcdGlmICggei5sZW5ndGhTcSgpID09PSAwICkge1xuXG5cdFx0XHRcdC8vIGV5ZSBhbmQgdGFyZ2V0IGFyZSBpbiB0aGUgc2FtZSBwb3NpdGlvblxuXG5cdFx0XHRcdHoueiA9IDE7XG5cblx0XHRcdH1cblxuXHRcdFx0ei5ub3JtYWxpemUoKTtcblx0XHRcdHguY3Jvc3NWZWN0b3JzKCB1cCwgeiApO1xuXG5cdFx0XHRpZiAoIHgubGVuZ3RoU3EoKSA9PT0gMCApIHtcblxuXHRcdFx0XHQvLyB1cCBhbmQgeiBhcmUgcGFyYWxsZWxcblxuXHRcdFx0XHRpZiAoIE1hdGguYWJzKCB1cC56ICkgPT09IDEgKSB7XG5cblx0XHRcdFx0XHR6LnggKz0gMC4wMDAxO1xuXG5cdFx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0XHR6LnogKz0gMC4wMDAxO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHR6Lm5vcm1hbGl6ZSgpO1xuXHRcdFx0XHR4LmNyb3NzVmVjdG9ycyggdXAsIHogKTtcblxuXHRcdFx0fVxuXG5cdFx0XHR4Lm5vcm1hbGl6ZSgpO1xuXHRcdFx0eS5jcm9zc1ZlY3RvcnMoIHosIHggKTtcblxuXHRcdFx0dGVbIDAgXSA9IHgueDsgdGVbIDQgXSA9IHkueDsgdGVbIDggXSA9IHoueDtcblx0XHRcdHRlWyAxIF0gPSB4Lnk7IHRlWyA1IF0gPSB5Lnk7IHRlWyA5IF0gPSB6Lnk7XG5cdFx0XHR0ZVsgMiBdID0geC56OyB0ZVsgNiBdID0geS56OyB0ZVsgMTAgXSA9IHouejtcblxuXHRcdFx0cmV0dXJuIHRoaXM7XG5cblx0XHR9O1xuXG5cdH0oKSxcblxuXHRtdWx0aXBseTogZnVuY3Rpb24gKCBtLCBuICkge1xuXG5cdFx0aWYgKCBuICE9PSB1bmRlZmluZWQgKSB7XG5cblx0XHRcdGNvbnNvbGUud2FybiggJ1RIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5TWF0cmljZXMoIGEsIGIgKSBpbnN0ZWFkLicgKTtcblx0XHRcdHJldHVybiB0aGlzLm11bHRpcGx5TWF0cmljZXMoIG0sIG4gKTtcblxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLm11bHRpcGx5TWF0cmljZXMoIHRoaXMsIG0gKTtcblxuXHR9LFxuXG5cdHByZW11bHRpcGx5OiBmdW5jdGlvbiAoIG0gKSB7XG5cblx0XHRyZXR1cm4gdGhpcy5tdWx0aXBseU1hdHJpY2VzKCBtLCB0aGlzICk7XG5cblx0fSxcblxuXHRtdWx0aXBseU1hdHJpY2VzOiBmdW5jdGlvbiAoIGEsIGIgKSB7XG5cblx0XHR2YXIgYWUgPSBhLmVsZW1lbnRzO1xuXHRcdHZhciBiZSA9IGIuZWxlbWVudHM7XG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblxuXHRcdHZhciBhMTEgPSBhZVsgMCBdLCBhMTIgPSBhZVsgNCBdLCBhMTMgPSBhZVsgOCBdLCBhMTQgPSBhZVsgMTIgXTtcblx0XHR2YXIgYTIxID0gYWVbIDEgXSwgYTIyID0gYWVbIDUgXSwgYTIzID0gYWVbIDkgXSwgYTI0ID0gYWVbIDEzIF07XG5cdFx0dmFyIGEzMSA9IGFlWyAyIF0sIGEzMiA9IGFlWyA2IF0sIGEzMyA9IGFlWyAxMCBdLCBhMzQgPSBhZVsgMTQgXTtcblx0XHR2YXIgYTQxID0gYWVbIDMgXSwgYTQyID0gYWVbIDcgXSwgYTQzID0gYWVbIDExIF0sIGE0NCA9IGFlWyAxNSBdO1xuXG5cdFx0dmFyIGIxMSA9IGJlWyAwIF0sIGIxMiA9IGJlWyA0IF0sIGIxMyA9IGJlWyA4IF0sIGIxNCA9IGJlWyAxMiBdO1xuXHRcdHZhciBiMjEgPSBiZVsgMSBdLCBiMjIgPSBiZVsgNSBdLCBiMjMgPSBiZVsgOSBdLCBiMjQgPSBiZVsgMTMgXTtcblx0XHR2YXIgYjMxID0gYmVbIDIgXSwgYjMyID0gYmVbIDYgXSwgYjMzID0gYmVbIDEwIF0sIGIzNCA9IGJlWyAxNCBdO1xuXHRcdHZhciBiNDEgPSBiZVsgMyBdLCBiNDIgPSBiZVsgNyBdLCBiNDMgPSBiZVsgMTEgXSwgYjQ0ID0gYmVbIDE1IF07XG5cblx0XHR0ZVsgMCBdID0gYTExICogYjExICsgYTEyICogYjIxICsgYTEzICogYjMxICsgYTE0ICogYjQxO1xuXHRcdHRlWyA0IF0gPSBhMTEgKiBiMTIgKyBhMTIgKiBiMjIgKyBhMTMgKiBiMzIgKyBhMTQgKiBiNDI7XG5cdFx0dGVbIDggXSA9IGExMSAqIGIxMyArIGExMiAqIGIyMyArIGExMyAqIGIzMyArIGExNCAqIGI0Mztcblx0XHR0ZVsgMTIgXSA9IGExMSAqIGIxNCArIGExMiAqIGIyNCArIGExMyAqIGIzNCArIGExNCAqIGI0NDtcblxuXHRcdHRlWyAxIF0gPSBhMjEgKiBiMTEgKyBhMjIgKiBiMjEgKyBhMjMgKiBiMzEgKyBhMjQgKiBiNDE7XG5cdFx0dGVbIDUgXSA9IGEyMSAqIGIxMiArIGEyMiAqIGIyMiArIGEyMyAqIGIzMiArIGEyNCAqIGI0Mjtcblx0XHR0ZVsgOSBdID0gYTIxICogYjEzICsgYTIyICogYjIzICsgYTIzICogYjMzICsgYTI0ICogYjQzO1xuXHRcdHRlWyAxMyBdID0gYTIxICogYjE0ICsgYTIyICogYjI0ICsgYTIzICogYjM0ICsgYTI0ICogYjQ0O1xuXG5cdFx0dGVbIDIgXSA9IGEzMSAqIGIxMSArIGEzMiAqIGIyMSArIGEzMyAqIGIzMSArIGEzNCAqIGI0MTtcblx0XHR0ZVsgNiBdID0gYTMxICogYjEyICsgYTMyICogYjIyICsgYTMzICogYjMyICsgYTM0ICogYjQyO1xuXHRcdHRlWyAxMCBdID0gYTMxICogYjEzICsgYTMyICogYjIzICsgYTMzICogYjMzICsgYTM0ICogYjQzO1xuXHRcdHRlWyAxNCBdID0gYTMxICogYjE0ICsgYTMyICogYjI0ICsgYTMzICogYjM0ICsgYTM0ICogYjQ0O1xuXG5cdFx0dGVbIDMgXSA9IGE0MSAqIGIxMSArIGE0MiAqIGIyMSArIGE0MyAqIGIzMSArIGE0NCAqIGI0MTtcblx0XHR0ZVsgNyBdID0gYTQxICogYjEyICsgYTQyICogYjIyICsgYTQzICogYjMyICsgYTQ0ICogYjQyO1xuXHRcdHRlWyAxMSBdID0gYTQxICogYjEzICsgYTQyICogYjIzICsgYTQzICogYjMzICsgYTQ0ICogYjQzO1xuXHRcdHRlWyAxNSBdID0gYTQxICogYjE0ICsgYTQyICogYjI0ICsgYTQzICogYjM0ICsgYTQ0ICogYjQ0O1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtdWx0aXBseVNjYWxhcjogZnVuY3Rpb24gKCBzICkge1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblxuXHRcdHRlWyAwIF0gKj0gczsgdGVbIDQgXSAqPSBzOyB0ZVsgOCBdICo9IHM7IHRlWyAxMiBdICo9IHM7XG5cdFx0dGVbIDEgXSAqPSBzOyB0ZVsgNSBdICo9IHM7IHRlWyA5IF0gKj0gczsgdGVbIDEzIF0gKj0gcztcblx0XHR0ZVsgMiBdICo9IHM7IHRlWyA2IF0gKj0gczsgdGVbIDEwIF0gKj0gczsgdGVbIDE0IF0gKj0gcztcblx0XHR0ZVsgMyBdICo9IHM7IHRlWyA3IF0gKj0gczsgdGVbIDExIF0gKj0gczsgdGVbIDE1IF0gKj0gcztcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0YXBwbHlUb0J1ZmZlckF0dHJpYnV0ZTogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIHYxID0gbmV3IFZlY3RvcjMoKTtcblxuXHRcdHJldHVybiBmdW5jdGlvbiBhcHBseVRvQnVmZmVyQXR0cmlidXRlKCBhdHRyaWJ1dGUgKSB7XG5cblx0XHRcdGZvciAoIHZhciBpID0gMCwgbCA9IGF0dHJpYnV0ZS5jb3VudDsgaSA8IGw7IGkgKysgKSB7XG5cblx0XHRcdFx0djEueCA9IGF0dHJpYnV0ZS5nZXRYKCBpICk7XG5cdFx0XHRcdHYxLnkgPSBhdHRyaWJ1dGUuZ2V0WSggaSApO1xuXHRcdFx0XHR2MS56ID0gYXR0cmlidXRlLmdldFooIGkgKTtcblxuXHRcdFx0XHR2MS5hcHBseU1hdHJpeDQoIHRoaXMgKTtcblxuXHRcdFx0XHRhdHRyaWJ1dGUuc2V0WFlaKCBpLCB2MS54LCB2MS55LCB2MS56ICk7XG5cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGF0dHJpYnV0ZTtcblxuXHRcdH07XG5cblx0fSgpLFxuXG5cdGRldGVybWluYW50OiBmdW5jdGlvbiAoKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0dmFyIG4xMSA9IHRlWyAwIF0sIG4xMiA9IHRlWyA0IF0sIG4xMyA9IHRlWyA4IF0sIG4xNCA9IHRlWyAxMiBdO1xuXHRcdHZhciBuMjEgPSB0ZVsgMSBdLCBuMjIgPSB0ZVsgNSBdLCBuMjMgPSB0ZVsgOSBdLCBuMjQgPSB0ZVsgMTMgXTtcblx0XHR2YXIgbjMxID0gdGVbIDIgXSwgbjMyID0gdGVbIDYgXSwgbjMzID0gdGVbIDEwIF0sIG4zNCA9IHRlWyAxNCBdO1xuXHRcdHZhciBuNDEgPSB0ZVsgMyBdLCBuNDIgPSB0ZVsgNyBdLCBuNDMgPSB0ZVsgMTEgXSwgbjQ0ID0gdGVbIDE1IF07XG5cblx0XHQvL1RPRE86IG1ha2UgdGhpcyBtb3JlIGVmZmljaWVudFxuXHRcdC8vKCBiYXNlZCBvbiBodHRwOi8vd3d3LmV1Y2xpZGVhbnNwYWNlLmNvbS9tYXRocy9hbGdlYnJhL21hdHJpeC9mdW5jdGlvbnMvaW52ZXJzZS9mb3VyRC9pbmRleC5odG0gKVxuXG5cdFx0cmV0dXJuIChcblx0XHRcdG40MSAqIChcblx0XHRcdFx0KyBuMTQgKiBuMjMgKiBuMzJcblx0XHRcdFx0IC0gbjEzICogbjI0ICogbjMyXG5cdFx0XHRcdCAtIG4xNCAqIG4yMiAqIG4zM1xuXHRcdFx0XHQgKyBuMTIgKiBuMjQgKiBuMzNcblx0XHRcdFx0ICsgbjEzICogbjIyICogbjM0XG5cdFx0XHRcdCAtIG4xMiAqIG4yMyAqIG4zNFxuXHRcdFx0KSArXG5cdFx0XHRuNDIgKiAoXG5cdFx0XHRcdCsgbjExICogbjIzICogbjM0XG5cdFx0XHRcdCAtIG4xMSAqIG4yNCAqIG4zM1xuXHRcdFx0XHQgKyBuMTQgKiBuMjEgKiBuMzNcblx0XHRcdFx0IC0gbjEzICogbjIxICogbjM0XG5cdFx0XHRcdCArIG4xMyAqIG4yNCAqIG4zMVxuXHRcdFx0XHQgLSBuMTQgKiBuMjMgKiBuMzFcblx0XHRcdCkgK1xuXHRcdFx0bjQzICogKFxuXHRcdFx0XHQrIG4xMSAqIG4yNCAqIG4zMlxuXHRcdFx0XHQgLSBuMTEgKiBuMjIgKiBuMzRcblx0XHRcdFx0IC0gbjE0ICogbjIxICogbjMyXG5cdFx0XHRcdCArIG4xMiAqIG4yMSAqIG4zNFxuXHRcdFx0XHQgKyBuMTQgKiBuMjIgKiBuMzFcblx0XHRcdFx0IC0gbjEyICogbjI0ICogbjMxXG5cdFx0XHQpICtcblx0XHRcdG40NCAqIChcblx0XHRcdFx0LSBuMTMgKiBuMjIgKiBuMzFcblx0XHRcdFx0IC0gbjExICogbjIzICogbjMyXG5cdFx0XHRcdCArIG4xMSAqIG4yMiAqIG4zM1xuXHRcdFx0XHQgKyBuMTMgKiBuMjEgKiBuMzJcblx0XHRcdFx0IC0gbjEyICogbjIxICogbjMzXG5cdFx0XHRcdCArIG4xMiAqIG4yMyAqIG4zMVxuXHRcdFx0KVxuXG5cdFx0KTtcblxuXHR9LFxuXG5cdHRyYW5zcG9zZTogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblx0XHR2YXIgdG1wO1xuXG5cdFx0dG1wID0gdGVbIDEgXTsgdGVbIDEgXSA9IHRlWyA0IF07IHRlWyA0IF0gPSB0bXA7XG5cdFx0dG1wID0gdGVbIDIgXTsgdGVbIDIgXSA9IHRlWyA4IF07IHRlWyA4IF0gPSB0bXA7XG5cdFx0dG1wID0gdGVbIDYgXTsgdGVbIDYgXSA9IHRlWyA5IF07IHRlWyA5IF0gPSB0bXA7XG5cblx0XHR0bXAgPSB0ZVsgMyBdOyB0ZVsgMyBdID0gdGVbIDEyIF07IHRlWyAxMiBdID0gdG1wO1xuXHRcdHRtcCA9IHRlWyA3IF07IHRlWyA3IF0gPSB0ZVsgMTMgXTsgdGVbIDEzIF0gPSB0bXA7XG5cdFx0dG1wID0gdGVbIDExIF07IHRlWyAxMSBdID0gdGVbIDE0IF07IHRlWyAxNCBdID0gdG1wO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRzZXRQb3NpdGlvbjogZnVuY3Rpb24gKCB4LCB5LCB6ICkge1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblxuXHRcdGlmICggeC5pc1ZlY3RvcjMgKSB7XG5cblx0XHRcdHRlWyAxMiBdID0geC54O1xuXHRcdFx0dGVbIDEzIF0gPSB4Lnk7XG5cdFx0XHR0ZVsgMTQgXSA9IHguejtcblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdHRlWyAxMiBdID0geDtcblx0XHRcdHRlWyAxMyBdID0geTtcblx0XHRcdHRlWyAxNCBdID0gejtcblxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0Z2V0SW52ZXJzZTogZnVuY3Rpb24gKCBtLCB0aHJvd09uRGVnZW5lcmF0ZSApIHtcblxuXHRcdC8vIGJhc2VkIG9uIGh0dHA6Ly93d3cuZXVjbGlkZWFuc3BhY2UuY29tL21hdGhzL2FsZ2VicmEvbWF0cml4L2Z1bmN0aW9ucy9pbnZlcnNlL2ZvdXJEL2luZGV4Lmh0bVxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHMsXG5cdFx0XHRtZSA9IG0uZWxlbWVudHMsXG5cblx0XHRcdG4xMSA9IG1lWyAwIF0sIG4yMSA9IG1lWyAxIF0sIG4zMSA9IG1lWyAyIF0sIG40MSA9IG1lWyAzIF0sXG5cdFx0XHRuMTIgPSBtZVsgNCBdLCBuMjIgPSBtZVsgNSBdLCBuMzIgPSBtZVsgNiBdLCBuNDIgPSBtZVsgNyBdLFxuXHRcdFx0bjEzID0gbWVbIDggXSwgbjIzID0gbWVbIDkgXSwgbjMzID0gbWVbIDEwIF0sIG40MyA9IG1lWyAxMSBdLFxuXHRcdFx0bjE0ID0gbWVbIDEyIF0sIG4yNCA9IG1lWyAxMyBdLCBuMzQgPSBtZVsgMTQgXSwgbjQ0ID0gbWVbIDE1IF0sXG5cblx0XHRcdHQxMSA9IG4yMyAqIG4zNCAqIG40MiAtIG4yNCAqIG4zMyAqIG40MiArIG4yNCAqIG4zMiAqIG40MyAtIG4yMiAqIG4zNCAqIG40MyAtIG4yMyAqIG4zMiAqIG40NCArIG4yMiAqIG4zMyAqIG40NCxcblx0XHRcdHQxMiA9IG4xNCAqIG4zMyAqIG40MiAtIG4xMyAqIG4zNCAqIG40MiAtIG4xNCAqIG4zMiAqIG40MyArIG4xMiAqIG4zNCAqIG40MyArIG4xMyAqIG4zMiAqIG40NCAtIG4xMiAqIG4zMyAqIG40NCxcblx0XHRcdHQxMyA9IG4xMyAqIG4yNCAqIG40MiAtIG4xNCAqIG4yMyAqIG40MiArIG4xNCAqIG4yMiAqIG40MyAtIG4xMiAqIG4yNCAqIG40MyAtIG4xMyAqIG4yMiAqIG40NCArIG4xMiAqIG4yMyAqIG40NCxcblx0XHRcdHQxNCA9IG4xNCAqIG4yMyAqIG4zMiAtIG4xMyAqIG4yNCAqIG4zMiAtIG4xNCAqIG4yMiAqIG4zMyArIG4xMiAqIG4yNCAqIG4zMyArIG4xMyAqIG4yMiAqIG4zNCAtIG4xMiAqIG4yMyAqIG4zNDtcblxuXHRcdHZhciBkZXQgPSBuMTEgKiB0MTEgKyBuMjEgKiB0MTIgKyBuMzEgKiB0MTMgKyBuNDEgKiB0MTQ7XG5cblx0XHRpZiAoIGRldCA9PT0gMCApIHtcblxuXHRcdFx0dmFyIG1zZyA9IFwiVEhSRUUuTWF0cml4NDogLmdldEludmVyc2UoKSBjYW4ndCBpbnZlcnQgbWF0cml4LCBkZXRlcm1pbmFudCBpcyAwXCI7XG5cblx0XHRcdGlmICggdGhyb3dPbkRlZ2VuZXJhdGUgPT09IHRydWUgKSB7XG5cblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKCBtc2cgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHRjb25zb2xlLndhcm4oIG1zZyApO1xuXG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB0aGlzLmlkZW50aXR5KCk7XG5cblx0XHR9XG5cblx0XHR2YXIgZGV0SW52ID0gMSAvIGRldDtcblxuXHRcdHRlWyAwIF0gPSB0MTEgKiBkZXRJbnY7XG5cdFx0dGVbIDEgXSA9ICggbjI0ICogbjMzICogbjQxIC0gbjIzICogbjM0ICogbjQxIC0gbjI0ICogbjMxICogbjQzICsgbjIxICogbjM0ICogbjQzICsgbjIzICogbjMxICogbjQ0IC0gbjIxICogbjMzICogbjQ0ICkgKiBkZXRJbnY7XG5cdFx0dGVbIDIgXSA9ICggbjIyICogbjM0ICogbjQxIC0gbjI0ICogbjMyICogbjQxICsgbjI0ICogbjMxICogbjQyIC0gbjIxICogbjM0ICogbjQyIC0gbjIyICogbjMxICogbjQ0ICsgbjIxICogbjMyICogbjQ0ICkgKiBkZXRJbnY7XG5cdFx0dGVbIDMgXSA9ICggbjIzICogbjMyICogbjQxIC0gbjIyICogbjMzICogbjQxIC0gbjIzICogbjMxICogbjQyICsgbjIxICogbjMzICogbjQyICsgbjIyICogbjMxICogbjQzIC0gbjIxICogbjMyICogbjQzICkgKiBkZXRJbnY7XG5cblx0XHR0ZVsgNCBdID0gdDEyICogZGV0SW52O1xuXHRcdHRlWyA1IF0gPSAoIG4xMyAqIG4zNCAqIG40MSAtIG4xNCAqIG4zMyAqIG40MSArIG4xNCAqIG4zMSAqIG40MyAtIG4xMSAqIG4zNCAqIG40MyAtIG4xMyAqIG4zMSAqIG40NCArIG4xMSAqIG4zMyAqIG40NCApICogZGV0SW52O1xuXHRcdHRlWyA2IF0gPSAoIG4xNCAqIG4zMiAqIG40MSAtIG4xMiAqIG4zNCAqIG40MSAtIG4xNCAqIG4zMSAqIG40MiArIG4xMSAqIG4zNCAqIG40MiArIG4xMiAqIG4zMSAqIG40NCAtIG4xMSAqIG4zMiAqIG40NCApICogZGV0SW52O1xuXHRcdHRlWyA3IF0gPSAoIG4xMiAqIG4zMyAqIG40MSAtIG4xMyAqIG4zMiAqIG40MSArIG4xMyAqIG4zMSAqIG40MiAtIG4xMSAqIG4zMyAqIG40MiAtIG4xMiAqIG4zMSAqIG40MyArIG4xMSAqIG4zMiAqIG40MyApICogZGV0SW52O1xuXG5cdFx0dGVbIDggXSA9IHQxMyAqIGRldEludjtcblx0XHR0ZVsgOSBdID0gKCBuMTQgKiBuMjMgKiBuNDEgLSBuMTMgKiBuMjQgKiBuNDEgLSBuMTQgKiBuMjEgKiBuNDMgKyBuMTEgKiBuMjQgKiBuNDMgKyBuMTMgKiBuMjEgKiBuNDQgLSBuMTEgKiBuMjMgKiBuNDQgKSAqIGRldEludjtcblx0XHR0ZVsgMTAgXSA9ICggbjEyICogbjI0ICogbjQxIC0gbjE0ICogbjIyICogbjQxICsgbjE0ICogbjIxICogbjQyIC0gbjExICogbjI0ICogbjQyIC0gbjEyICogbjIxICogbjQ0ICsgbjExICogbjIyICogbjQ0ICkgKiBkZXRJbnY7XG5cdFx0dGVbIDExIF0gPSAoIG4xMyAqIG4yMiAqIG40MSAtIG4xMiAqIG4yMyAqIG40MSAtIG4xMyAqIG4yMSAqIG40MiArIG4xMSAqIG4yMyAqIG40MiArIG4xMiAqIG4yMSAqIG40MyAtIG4xMSAqIG4yMiAqIG40MyApICogZGV0SW52O1xuXG5cdFx0dGVbIDEyIF0gPSB0MTQgKiBkZXRJbnY7XG5cdFx0dGVbIDEzIF0gPSAoIG4xMyAqIG4yNCAqIG4zMSAtIG4xNCAqIG4yMyAqIG4zMSArIG4xNCAqIG4yMSAqIG4zMyAtIG4xMSAqIG4yNCAqIG4zMyAtIG4xMyAqIG4yMSAqIG4zNCArIG4xMSAqIG4yMyAqIG4zNCApICogZGV0SW52O1xuXHRcdHRlWyAxNCBdID0gKCBuMTQgKiBuMjIgKiBuMzEgLSBuMTIgKiBuMjQgKiBuMzEgLSBuMTQgKiBuMjEgKiBuMzIgKyBuMTEgKiBuMjQgKiBuMzIgKyBuMTIgKiBuMjEgKiBuMzQgLSBuMTEgKiBuMjIgKiBuMzQgKSAqIGRldEludjtcblx0XHR0ZVsgMTUgXSA9ICggbjEyICogbjIzICogbjMxIC0gbjEzICogbjIyICogbjMxICsgbjEzICogbjIxICogbjMyIC0gbjExICogbjIzICogbjMyIC0gbjEyICogbjIxICogbjMzICsgbjExICogbjIyICogbjMzICkgKiBkZXRJbnY7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHNjYWxlOiBmdW5jdGlvbiAoIHYgKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXHRcdHZhciB4ID0gdi54LCB5ID0gdi55LCB6ID0gdi56O1xuXG5cdFx0dGVbIDAgXSAqPSB4OyB0ZVsgNCBdICo9IHk7IHRlWyA4IF0gKj0gejtcblx0XHR0ZVsgMSBdICo9IHg7IHRlWyA1IF0gKj0geTsgdGVbIDkgXSAqPSB6O1xuXHRcdHRlWyAyIF0gKj0geDsgdGVbIDYgXSAqPSB5OyB0ZVsgMTAgXSAqPSB6O1xuXHRcdHRlWyAzIF0gKj0geDsgdGVbIDcgXSAqPSB5OyB0ZVsgMTEgXSAqPSB6O1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRnZXRNYXhTY2FsZU9uQXhpczogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblxuXHRcdHZhciBzY2FsZVhTcSA9IHRlWyAwIF0gKiB0ZVsgMCBdICsgdGVbIDEgXSAqIHRlWyAxIF0gKyB0ZVsgMiBdICogdGVbIDIgXTtcblx0XHR2YXIgc2NhbGVZU3EgPSB0ZVsgNCBdICogdGVbIDQgXSArIHRlWyA1IF0gKiB0ZVsgNSBdICsgdGVbIDYgXSAqIHRlWyA2IF07XG5cdFx0dmFyIHNjYWxlWlNxID0gdGVbIDggXSAqIHRlWyA4IF0gKyB0ZVsgOSBdICogdGVbIDkgXSArIHRlWyAxMCBdICogdGVbIDEwIF07XG5cblx0XHRyZXR1cm4gTWF0aC5zcXJ0KCBNYXRoLm1heCggc2NhbGVYU3EsIHNjYWxlWVNxLCBzY2FsZVpTcSApICk7XG5cblx0fSxcblxuXHRtYWtlVHJhbnNsYXRpb246IGZ1bmN0aW9uICggeCwgeSwgeiApIHtcblxuXHRcdHRoaXMuc2V0KFxuXG5cdFx0XHQxLCAwLCAwLCB4LFxuXHRcdFx0MCwgMSwgMCwgeSxcblx0XHRcdDAsIDAsIDEsIHosXG5cdFx0XHQwLCAwLCAwLCAxXG5cblx0XHQpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtYWtlUm90YXRpb25YOiBmdW5jdGlvbiAoIHRoZXRhICkge1xuXG5cdFx0dmFyIGMgPSBNYXRoLmNvcyggdGhldGEgKSwgcyA9IE1hdGguc2luKCB0aGV0YSApO1xuXG5cdFx0dGhpcy5zZXQoXG5cblx0XHRcdDEsIDAsIDAsIDAsXG5cdFx0XHQwLCBjLCAtIHMsIDAsXG5cdFx0XHQwLCBzLCBjLCAwLFxuXHRcdFx0MCwgMCwgMCwgMVxuXG5cdFx0KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0bWFrZVJvdGF0aW9uWTogZnVuY3Rpb24gKCB0aGV0YSApIHtcblxuXHRcdHZhciBjID0gTWF0aC5jb3MoIHRoZXRhICksIHMgPSBNYXRoLnNpbiggdGhldGEgKTtcblxuXHRcdHRoaXMuc2V0KFxuXG5cdFx0XHQgYywgMCwgcywgMCxcblx0XHRcdCAwLCAxLCAwLCAwLFxuXHRcdFx0LSBzLCAwLCBjLCAwLFxuXHRcdFx0IDAsIDAsIDAsIDFcblxuXHRcdCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdG1ha2VSb3RhdGlvblo6IGZ1bmN0aW9uICggdGhldGEgKSB7XG5cblx0XHR2YXIgYyA9IE1hdGguY29zKCB0aGV0YSApLCBzID0gTWF0aC5zaW4oIHRoZXRhICk7XG5cblx0XHR0aGlzLnNldChcblxuXHRcdFx0YywgLSBzLCAwLCAwLFxuXHRcdFx0cywgYywgMCwgMCxcblx0XHRcdDAsIDAsIDEsIDAsXG5cdFx0XHQwLCAwLCAwLCAxXG5cblx0XHQpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtYWtlUm90YXRpb25BeGlzOiBmdW5jdGlvbiAoIGF4aXMsIGFuZ2xlICkge1xuXG5cdFx0Ly8gQmFzZWQgb24gaHR0cDovL3d3dy5nYW1lZGV2Lm5ldC9yZWZlcmVuY2UvYXJ0aWNsZXMvYXJ0aWNsZTExOTkuYXNwXG5cblx0XHR2YXIgYyA9IE1hdGguY29zKCBhbmdsZSApO1xuXHRcdHZhciBzID0gTWF0aC5zaW4oIGFuZ2xlICk7XG5cdFx0dmFyIHQgPSAxIC0gYztcblx0XHR2YXIgeCA9IGF4aXMueCwgeSA9IGF4aXMueSwgeiA9IGF4aXMuejtcblx0XHR2YXIgdHggPSB0ICogeCwgdHkgPSB0ICogeTtcblxuXHRcdHRoaXMuc2V0KFxuXG5cdFx0XHR0eCAqIHggKyBjLCB0eCAqIHkgLSBzICogeiwgdHggKiB6ICsgcyAqIHksIDAsXG5cdFx0XHR0eCAqIHkgKyBzICogeiwgdHkgKiB5ICsgYywgdHkgKiB6IC0gcyAqIHgsIDAsXG5cdFx0XHR0eCAqIHogLSBzICogeSwgdHkgKiB6ICsgcyAqIHgsIHQgKiB6ICogeiArIGMsIDAsXG5cdFx0XHQwLCAwLCAwLCAxXG5cblx0XHQpO1xuXG5cdFx0IHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0bWFrZVNjYWxlOiBmdW5jdGlvbiAoIHgsIHksIHogKSB7XG5cblx0XHR0aGlzLnNldChcblxuXHRcdFx0eCwgMCwgMCwgMCxcblx0XHRcdDAsIHksIDAsIDAsXG5cdFx0XHQwLCAwLCB6LCAwLFxuXHRcdFx0MCwgMCwgMCwgMVxuXG5cdFx0KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0bWFrZVNoZWFyOiBmdW5jdGlvbiAoIHgsIHksIHogKSB7XG5cblx0XHR0aGlzLnNldChcblxuXHRcdFx0MSwgeSwgeiwgMCxcblx0XHRcdHgsIDEsIHosIDAsXG5cdFx0XHR4LCB5LCAxLCAwLFxuXHRcdFx0MCwgMCwgMCwgMVxuXG5cdFx0KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0Y29tcG9zZTogZnVuY3Rpb24gKCBwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUgKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0dmFyIHggPSBxdWF0ZXJuaW9uLl94LCB5ID0gcXVhdGVybmlvbi5feSwgeiA9IHF1YXRlcm5pb24uX3osIHcgPSBxdWF0ZXJuaW9uLl93O1xuXHRcdHZhciB4MiA9IHggKyB4LFx0eTIgPSB5ICsgeSwgejIgPSB6ICsgejtcblx0XHR2YXIgeHggPSB4ICogeDIsIHh5ID0geCAqIHkyLCB4eiA9IHggKiB6Mjtcblx0XHR2YXIgeXkgPSB5ICogeTIsIHl6ID0geSAqIHoyLCB6eiA9IHogKiB6Mjtcblx0XHR2YXIgd3ggPSB3ICogeDIsIHd5ID0gdyAqIHkyLCB3eiA9IHcgKiB6MjtcblxuXHRcdHZhciBzeCA9IHNjYWxlLngsIHN5ID0gc2NhbGUueSwgc3ogPSBzY2FsZS56O1xuXG5cdFx0dGVbIDAgXSA9ICggMSAtICggeXkgKyB6eiApICkgKiBzeDtcblx0XHR0ZVsgMSBdID0gKCB4eSArIHd6ICkgKiBzeDtcblx0XHR0ZVsgMiBdID0gKCB4eiAtIHd5ICkgKiBzeDtcblx0XHR0ZVsgMyBdID0gMDtcblxuXHRcdHRlWyA0IF0gPSAoIHh5IC0gd3ogKSAqIHN5O1xuXHRcdHRlWyA1IF0gPSAoIDEgLSAoIHh4ICsgenogKSApICogc3k7XG5cdFx0dGVbIDYgXSA9ICggeXogKyB3eCApICogc3k7XG5cdFx0dGVbIDcgXSA9IDA7XG5cblx0XHR0ZVsgOCBdID0gKCB4eiArIHd5ICkgKiBzejtcblx0XHR0ZVsgOSBdID0gKCB5eiAtIHd4ICkgKiBzejtcblx0XHR0ZVsgMTAgXSA9ICggMSAtICggeHggKyB5eSApICkgKiBzejtcblx0XHR0ZVsgMTEgXSA9IDA7XG5cblx0XHR0ZVsgMTIgXSA9IHBvc2l0aW9uLng7XG5cdFx0dGVbIDEzIF0gPSBwb3NpdGlvbi55O1xuXHRcdHRlWyAxNCBdID0gcG9zaXRpb24uejtcblx0XHR0ZVsgMTUgXSA9IDE7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGRlY29tcG9zZTogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIHZlY3RvciA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0dmFyIG1hdHJpeCA9IG5ldyBNYXRyaXg0KCk7XG5cblx0XHRyZXR1cm4gZnVuY3Rpb24gZGVjb21wb3NlKCBwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUgKSB7XG5cblx0XHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cblx0XHRcdHZhciBzeCA9IHZlY3Rvci5zZXQoIHRlWyAwIF0sIHRlWyAxIF0sIHRlWyAyIF0gKS5sZW5ndGgoKTtcblx0XHRcdHZhciBzeSA9IHZlY3Rvci5zZXQoIHRlWyA0IF0sIHRlWyA1IF0sIHRlWyA2IF0gKS5sZW5ndGgoKTtcblx0XHRcdHZhciBzeiA9IHZlY3Rvci5zZXQoIHRlWyA4IF0sIHRlWyA5IF0sIHRlWyAxMCBdICkubGVuZ3RoKCk7XG5cblx0XHRcdC8vIGlmIGRldGVybWluZSBpcyBuZWdhdGl2ZSwgd2UgbmVlZCB0byBpbnZlcnQgb25lIHNjYWxlXG5cdFx0XHR2YXIgZGV0ID0gdGhpcy5kZXRlcm1pbmFudCgpO1xuXHRcdFx0aWYgKCBkZXQgPCAwICkgc3ggPSAtIHN4O1xuXG5cdFx0XHRwb3NpdGlvbi54ID0gdGVbIDEyIF07XG5cdFx0XHRwb3NpdGlvbi55ID0gdGVbIDEzIF07XG5cdFx0XHRwb3NpdGlvbi56ID0gdGVbIDE0IF07XG5cblx0XHRcdC8vIHNjYWxlIHRoZSByb3RhdGlvbiBwYXJ0XG5cdFx0XHRtYXRyaXguY29weSggdGhpcyApO1xuXG5cdFx0XHR2YXIgaW52U1ggPSAxIC8gc3g7XG5cdFx0XHR2YXIgaW52U1kgPSAxIC8gc3k7XG5cdFx0XHR2YXIgaW52U1ogPSAxIC8gc3o7XG5cblx0XHRcdG1hdHJpeC5lbGVtZW50c1sgMCBdICo9IGludlNYO1xuXHRcdFx0bWF0cml4LmVsZW1lbnRzWyAxIF0gKj0gaW52U1g7XG5cdFx0XHRtYXRyaXguZWxlbWVudHNbIDIgXSAqPSBpbnZTWDtcblxuXHRcdFx0bWF0cml4LmVsZW1lbnRzWyA0IF0gKj0gaW52U1k7XG5cdFx0XHRtYXRyaXguZWxlbWVudHNbIDUgXSAqPSBpbnZTWTtcblx0XHRcdG1hdHJpeC5lbGVtZW50c1sgNiBdICo9IGludlNZO1xuXG5cdFx0XHRtYXRyaXguZWxlbWVudHNbIDggXSAqPSBpbnZTWjtcblx0XHRcdG1hdHJpeC5lbGVtZW50c1sgOSBdICo9IGludlNaO1xuXHRcdFx0bWF0cml4LmVsZW1lbnRzWyAxMCBdICo9IGludlNaO1xuXG5cdFx0XHRxdWF0ZXJuaW9uLnNldEZyb21Sb3RhdGlvbk1hdHJpeCggbWF0cml4ICk7XG5cblx0XHRcdHNjYWxlLnggPSBzeDtcblx0XHRcdHNjYWxlLnkgPSBzeTtcblx0XHRcdHNjYWxlLnogPSBzejtcblxuXHRcdFx0cmV0dXJuIHRoaXM7XG5cblx0XHR9O1xuXG5cdH0oKSxcblxuXHRtYWtlUGVyc3BlY3RpdmU6IGZ1bmN0aW9uICggbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tLCBuZWFyLCBmYXIgKSB7XG5cblx0XHRpZiAoIGZhciA9PT0gdW5kZWZpbmVkICkge1xuXG5cdFx0XHRjb25zb2xlLndhcm4oICdUSFJFRS5NYXRyaXg0OiAubWFrZVBlcnNwZWN0aXZlKCkgaGFzIGJlZW4gcmVkZWZpbmVkIGFuZCBoYXMgYSBuZXcgc2lnbmF0dXJlLiBQbGVhc2UgY2hlY2sgdGhlIGRvY3MuJyApO1xuXG5cdFx0fVxuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblx0XHR2YXIgeCA9IDIgKiBuZWFyIC8gKCByaWdodCAtIGxlZnQgKTtcblx0XHR2YXIgeSA9IDIgKiBuZWFyIC8gKCB0b3AgLSBib3R0b20gKTtcblxuXHRcdHZhciBhID0gKCByaWdodCArIGxlZnQgKSAvICggcmlnaHQgLSBsZWZ0ICk7XG5cdFx0dmFyIGIgPSAoIHRvcCArIGJvdHRvbSApIC8gKCB0b3AgLSBib3R0b20gKTtcblx0XHR2YXIgYyA9IC0gKCBmYXIgKyBuZWFyICkgLyAoIGZhciAtIG5lYXIgKTtcblx0XHR2YXIgZCA9IC0gMiAqIGZhciAqIG5lYXIgLyAoIGZhciAtIG5lYXIgKTtcblxuXHRcdHRlWyAwIF0gPSB4O1x0dGVbIDQgXSA9IDA7XHR0ZVsgOCBdID0gYTtcdHRlWyAxMiBdID0gMDtcblx0XHR0ZVsgMSBdID0gMDtcdHRlWyA1IF0gPSB5O1x0dGVbIDkgXSA9IGI7XHR0ZVsgMTMgXSA9IDA7XG5cdFx0dGVbIDIgXSA9IDA7XHR0ZVsgNiBdID0gMDtcdHRlWyAxMCBdID0gYztcdHRlWyAxNCBdID0gZDtcblx0XHR0ZVsgMyBdID0gMDtcdHRlWyA3IF0gPSAwO1x0dGVbIDExIF0gPSAtIDE7XHR0ZVsgMTUgXSA9IDA7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdG1ha2VPcnRob2dyYXBoaWM6IGZ1bmN0aW9uICggbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tLCBuZWFyLCBmYXIgKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXHRcdHZhciB3ID0gMS4wIC8gKCByaWdodCAtIGxlZnQgKTtcblx0XHR2YXIgaCA9IDEuMCAvICggdG9wIC0gYm90dG9tICk7XG5cdFx0dmFyIHAgPSAxLjAgLyAoIGZhciAtIG5lYXIgKTtcblxuXHRcdHZhciB4ID0gKCByaWdodCArIGxlZnQgKSAqIHc7XG5cdFx0dmFyIHkgPSAoIHRvcCArIGJvdHRvbSApICogaDtcblx0XHR2YXIgeiA9ICggZmFyICsgbmVhciApICogcDtcblxuXHRcdHRlWyAwIF0gPSAyICogdztcdHRlWyA0IF0gPSAwO1x0dGVbIDggXSA9IDA7XHR0ZVsgMTIgXSA9IC0geDtcblx0XHR0ZVsgMSBdID0gMDtcdHRlWyA1IF0gPSAyICogaDtcdHRlWyA5IF0gPSAwO1x0dGVbIDEzIF0gPSAtIHk7XG5cdFx0dGVbIDIgXSA9IDA7XHR0ZVsgNiBdID0gMDtcdHRlWyAxMCBdID0gLSAyICogcDtcdHRlWyAxNCBdID0gLSB6O1xuXHRcdHRlWyAzIF0gPSAwO1x0dGVbIDcgXSA9IDA7XHR0ZVsgMTEgXSA9IDA7XHR0ZVsgMTUgXSA9IDE7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGVxdWFsczogZnVuY3Rpb24gKCBtYXRyaXggKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXHRcdHZhciBtZSA9IG1hdHJpeC5lbGVtZW50cztcblxuXHRcdGZvciAoIHZhciBpID0gMDsgaSA8IDE2OyBpICsrICkge1xuXG5cdFx0XHRpZiAoIHRlWyBpIF0gIT09IG1lWyBpIF0gKSByZXR1cm4gZmFsc2U7XG5cblx0XHR9XG5cblx0XHRyZXR1cm4gdHJ1ZTtcblxuXHR9LFxuXG5cdGZyb21BcnJheTogZnVuY3Rpb24gKCBhcnJheSwgb2Zmc2V0ICkge1xuXG5cdFx0aWYgKCBvZmZzZXQgPT09IHVuZGVmaW5lZCApIG9mZnNldCA9IDA7XG5cblx0XHRmb3IgKCB2YXIgaSA9IDA7IGkgPCAxNjsgaSArKyApIHtcblxuXHRcdFx0dGhpcy5lbGVtZW50c1sgaSBdID0gYXJyYXlbIGkgKyBvZmZzZXQgXTtcblxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0dG9BcnJheTogZnVuY3Rpb24gKCBhcnJheSwgb2Zmc2V0ICkge1xuXG5cdFx0aWYgKCBhcnJheSA9PT0gdW5kZWZpbmVkICkgYXJyYXkgPSBbXTtcblx0XHRpZiAoIG9mZnNldCA9PT0gdW5kZWZpbmVkICkgb2Zmc2V0ID0gMDtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cblx0XHRhcnJheVsgb2Zmc2V0IF0gPSB0ZVsgMCBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyAxIF0gPSB0ZVsgMSBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyAyIF0gPSB0ZVsgMiBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyAzIF0gPSB0ZVsgMyBdO1xuXG5cdFx0YXJyYXlbIG9mZnNldCArIDQgXSA9IHRlWyA0IF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDUgXSA9IHRlWyA1IF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDYgXSA9IHRlWyA2IF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDcgXSA9IHRlWyA3IF07XG5cblx0XHRhcnJheVsgb2Zmc2V0ICsgOCBdID0gdGVbIDggXTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgOSBdID0gdGVbIDkgXTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMTAgXSA9IHRlWyAxMCBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyAxMSBdID0gdGVbIDExIF07XG5cblx0XHRhcnJheVsgb2Zmc2V0ICsgMTIgXSA9IHRlWyAxMiBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyAxMyBdID0gdGVbIDEzIF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDE0IF0gPSB0ZVsgMTQgXTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMTUgXSA9IHRlWyAxNSBdO1xuXG5cdFx0cmV0dXJuIGFycmF5O1xuXG5cdH1cblxufSApO1xuXG5cbmV4cG9ydCB7IE1hdHJpeDQgfTsiXX0=
739
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL01hdHJpeDQuanMiXSwibmFtZXMiOlsiVmVjdG9yMyIsIk1hdHJpeDQiLCJlbGVtZW50cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbnNvbGUiLCJlcnJvciIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImlzTWF0cml4NCIsInNldCIsIm4xMSIsIm4xMiIsIm4xMyIsIm4xNCIsIm4yMSIsIm4yMiIsIm4yMyIsIm4yNCIsIm4zMSIsIm4zMiIsIm4zMyIsIm4zNCIsIm40MSIsIm40MiIsIm40MyIsIm40NCIsInRlIiwiaWRlbnRpdHkiLCJjbG9uZSIsImZyb21BcnJheSIsImNvcHkiLCJtIiwibWUiLCJjb3B5UG9zaXRpb24iLCJleHRyYWN0QmFzaXMiLCJ4QXhpcyIsInlBeGlzIiwiekF4aXMiLCJzZXRGcm9tTWF0cml4Q29sdW1uIiwibWFrZUJhc2lzIiwieCIsInkiLCJ6IiwiZXh0cmFjdFJvdGF0aW9uIiwidjEiLCJzY2FsZVgiLCJzY2FsZVkiLCJzY2FsZVoiLCJtYWtlUm90YXRpb25Gcm9tRXVsZXIiLCJldWxlciIsImlzRXVsZXIiLCJhIiwiTWF0aCIsImNvcyIsImIiLCJzaW4iLCJjIiwiZCIsImUiLCJmIiwib3JkZXIiLCJhZSIsImFmIiwiYmUiLCJiZiIsImNlIiwiY2YiLCJkZSIsImRmIiwiYWMiLCJhZCIsImJjIiwiYmQiLCJtYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbiIsInplcm8iLCJvbmUiLCJxIiwiY29tcG9zZSIsImxvb2tBdCIsImV5ZSIsInRhcmdldCIsInVwIiwic3ViVmVjdG9ycyIsImxlbmd0aFNxIiwibm9ybWFsaXplIiwiY3Jvc3NWZWN0b3JzIiwiYWJzIiwibXVsdGlwbHkiLCJuIiwidW5kZWZpbmVkIiwid2FybiIsIm11bHRpcGx5TWF0cmljZXMiLCJwcmVtdWx0aXBseSIsImExMSIsImExMiIsImExMyIsImExNCIsImEyMSIsImEyMiIsImEyMyIsImEyNCIsImEzMSIsImEzMiIsImEzMyIsImEzNCIsImE0MSIsImE0MiIsImE0MyIsImE0NCIsImIxMSIsImIxMiIsImIxMyIsImIxNCIsImIyMSIsImIyMiIsImIyMyIsImIyNCIsImIzMSIsImIzMiIsImIzMyIsImIzNCIsImI0MSIsImI0MiIsImI0MyIsImI0NCIsIm11bHRpcGx5U2NhbGFyIiwicyIsImFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUiLCJhdHRyaWJ1dGUiLCJpIiwibCIsImNvdW50IiwiZ2V0WCIsImdldFkiLCJnZXRaIiwiYXBwbHlNYXRyaXg0Iiwic2V0WFlaIiwiZGV0ZXJtaW5hbnQiLCJ0cmFuc3Bvc2UiLCJ0bXAiLCJzZXRQb3NpdGlvbiIsImlzVmVjdG9yMyIsImdldEludmVyc2UiLCJ0aHJvd09uRGVnZW5lcmF0ZSIsInQxMSIsInQxMiIsInQxMyIsInQxNCIsImRldCIsIm1zZyIsIkVycm9yIiwiZGV0SW52Iiwic2NhbGUiLCJ2IiwiZ2V0TWF4U2NhbGVPbkF4aXMiLCJzY2FsZVhTcSIsInNjYWxlWVNxIiwic2NhbGVaU3EiLCJzcXJ0IiwibWF4IiwibWFrZVRyYW5zbGF0aW9uIiwibWFrZVJvdGF0aW9uWCIsInRoZXRhIiwibWFrZVJvdGF0aW9uWSIsIm1ha2VSb3RhdGlvbloiLCJtYWtlUm90YXRpb25BeGlzIiwiYXhpcyIsImFuZ2xlIiwidCIsInR4IiwidHkiLCJtYWtlU2NhbGUiLCJtYWtlU2hlYXIiLCJwb3NpdGlvbiIsInF1YXRlcm5pb24iLCJfeCIsIl95IiwiX3oiLCJ3IiwiX3ciLCJ4MiIsInkyIiwiejIiLCJ4eCIsInh5IiwieHoiLCJ5eSIsInl6IiwienoiLCJ3eCIsInd5Iiwid3oiLCJzeCIsInN5Iiwic3oiLCJkZWNvbXBvc2UiLCJ2ZWN0b3IiLCJtYXRyaXgiLCJpbnZTWCIsImludlNZIiwiaW52U1oiLCJzZXRGcm9tUm90YXRpb25NYXRyaXgiLCJtYWtlUGVyc3BlY3RpdmUiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJuZWFyIiwiZmFyIiwibWFrZU9y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QUFFLEVBQUYsQ0FBekI7QUFFQSxXQUFPMkwsS0FBUDtBQUVBO0FBNTRCZ0MsQ0FBbEM7QUFpNUJBLFNBQVN0TixPQUFUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJy4vVmVjdG9yMy5qcyc7XG5cbi8qKlxuICogQGF1dGhvciBtcmRvb2IgLyBodHRwOi8vbXJkb29iLmNvbS9cbiAqIEBhdXRob3Igc3VwZXJlZ2diZXJ0IC8gaHR0cDovL3d3dy5wYXVsYnJ1bnQuY28udWsvXG4gKiBAYXV0aG9yIHBoaWxvZ2IgLyBodHRwOi8vYmxvZy50aGVqaXQub3JnL1xuICogQGF1dGhvciBqb3JkaV9yb3MgLyBodHRwOi8vcGxhdHRzb2Z0LmNvbVxuICogQGF1dGhvciBEMXBsbzFkIC8gaHR0cDovL2dpdGh1Yi5jb20vRDFwbG8xZFxuICogQGF1dGhvciBhbHRlcmVkcSAvIGh0dHA6Ly9hbHRlcmVkcXVhbGlhLmNvbS9cbiAqIEBhdXRob3IgbWlrYWVsIGVtdGluZ2VyIC8gaHR0cDovL2dvbW8uc2UvXG4gKiBAYXV0aG9yIHRpbWtuaXAgLyBodHRwOi8vd3d3LmZsb29ycGxhbm5lci5jb20vXG4gKiBAYXV0aG9yIGJob3VzdG9uIC8gaHR0cDovL2NsYXJhLmlvXG4gKiBAYXV0aG9yIFdlc3RMYW5nbGV5IC8gaHR0cDovL2dpdGh1Yi5jb20vV2VzdExhbmdsZXlcbiAqL1xuXG5mdW5jdGlvbiBNYXRyaXg0KCkge1xuXG5cdHRoaXMuZWxlbWVudHMgPSBbXG5cblx0XHQxLCAwLCAwLCAwLFxuXHRcdDAsIDEsIDAsIDAsXG5cdFx0MCwgMCwgMSwgMCxcblx0XHQwLCAwLCAwLCAxXG5cblx0XTtcblxuXHRpZiAoIGFyZ3VtZW50cy5sZW5ndGggPiAwICkge1xuXG5cdFx0Y29uc29sZS5lcnJvciggJ1RIUkVFLk1hdHJpeDQ6IHRoZSBjb25zdHJ1Y3RvciBubyBsb25nZXIgcmVhZHMgYXJndW1lbnRzLiB1c2UgLnNldCgpIGluc3RlYWQuJyApO1xuXG5cdH1cblxufVxuXG5PYmplY3QuYXNzaWduKCBNYXRyaXg0LnByb3RvdHlwZSwge1xuXG5cdGlzTWF0cml4NDogdHJ1ZSxcblxuXHRzZXQ6IGZ1bmN0aW9uICggbjExLCBuMTIsIG4xMywgbjE0LCBuMjEsIG4yMiwgbjIzLCBuMjQsIG4zMSwgbjMyLCBuMzMsIG4zNCwgbjQxLCBuNDIsIG40MywgbjQ0ICkge1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblxuXHRcdHRlWyAwIF0gPSBuMTE7IHRlWyA0IF0gPSBuMTI7IHRlWyA4IF0gPSBuMTM7IHRlWyAxMiBdID0gbjE0O1xuXHRcdHRlWyAxIF0gPSBuMjE7IHRlWyA1IF0gPSBuMjI7IHRlWyA5IF0gPSBuMjM7IHRlWyAxMyBdID0gbjI0O1xuXHRcdHRlWyAyIF0gPSBuMzE7IHRlWyA2IF0gPSBuMzI7IHRlWyAxMCBdID0gbjMzOyB0ZVsgMTQgXSA9IG4zNDtcblx0XHR0ZVsgMyBdID0gbjQxOyB0ZVsgNyBdID0gbjQyOyB0ZVsgMTEgXSA9IG40MzsgdGVbIDE1IF0gPSBuNDQ7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGlkZW50aXR5OiBmdW5jdGlvbiAoKSB7XG5cblx0XHR0aGlzLnNldChcblxuXHRcdFx0MSwgMCwgMCwgMCxcblx0XHRcdDAsIDEsIDAsIDAsXG5cdFx0XHQwLCAwLCAxLCAwLFxuXHRcdFx0MCwgMCwgMCwgMVxuXG5cdFx0KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0Y2xvbmU6IGZ1bmN0aW9uICgpIHtcblxuXHRcdHJldHVybiBuZXcgTWF0cml4NCgpLmZyb21BcnJheSggdGhpcy5lbGVtZW50cyApO1xuXG5cdH0sXG5cblx0Y29weTogZnVuY3Rpb24gKCBtICkge1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblx0XHR2YXIgbWUgPSBtLmVsZW1lbnRzO1xuXG5cdFx0dGVbIDAgXSA9IG1lWyAwIF07IHRlWyAxIF0gPSBtZVsgMSBdOyB0ZVsgMiBdID0gbWVbIDIgXTsgdGVbIDMgXSA9IG1lWyAzIF07XG5cdFx0dGVbIDQgXSA9IG1lWyA0IF07IHRlWyA1IF0gPSBtZVsgNSBdOyB0ZVsgNiBdID0gbWVbIDYgXTsgdGVbIDcgXSA9IG1lWyA3IF07XG5cdFx0dGVbIDggXSA9IG1lWyA4IF07IHRlWyA5IF0gPSBtZVsgOSBdOyB0ZVsgMTAgXSA9IG1lWyAxMCBdOyB0ZVsgMTEgXSA9IG1lWyAxMSBdO1xuXHRcdHRlWyAxMiBdID0gbWVbIDEyIF07IHRlWyAxMyBdID0gbWVbIDEzIF07IHRlWyAxNCBdID0gbWVbIDE0IF07IHRlWyAxNSBdID0gbWVbIDE1IF07XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGNvcHlQb3NpdGlvbjogZnVuY3Rpb24gKCBtICkge1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cywgbWUgPSBtLmVsZW1lbnRzO1xuXG5cdFx0dGVbIDEyIF0gPSBtZVsgMTIgXTtcblx0XHR0ZVsgMTMgXSA9IG1lWyAxMyBdO1xuXHRcdHRlWyAxNCBdID0gbWVbIDE0IF07XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGV4dHJhY3RCYXNpczogZnVuY3Rpb24gKCB4QXhpcywgeUF4aXMsIHpBeGlzICkge1xuXG5cdFx0eEF4aXMuc2V0RnJvbU1hdHJpeENvbHVtbiggdGhpcywgMCApO1xuXHRcdHlBeGlzLnNldEZyb21NYXRyaXhDb2x1bW4oIHRoaXMsIDEgKTtcblx0XHR6QXhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKCB0aGlzLCAyICk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdG1ha2VCYXNpczogZnVuY3Rpb24gKCB4QXhpcywgeUF4aXMsIHpBeGlzICkge1xuXG5cdFx0dGhpcy5zZXQoXG5cdFx0XHR4QXhpcy54LCB5QXhpcy54LCB6QXhpcy54LCAwLFxuXHRcdFx0eEF4aXMueSwgeUF4aXMueSwgekF4aXMueSwgMCxcblx0XHRcdHhBeGlzLnosIHlBeGlzLnosIHpBeGlzLnosIDAsXG5cdFx0XHQwLCAwLCAwLCAxXG5cdFx0KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0ZXh0cmFjdFJvdGF0aW9uOiBmdW5jdGlvbiAoKSB7XG5cblx0XHR2YXIgdjEgPSBuZXcgVmVjdG9yMygpO1xuXG5cdFx0cmV0dXJuIGZ1bmN0aW9uIGV4dHJhY3RSb3RhdGlvbiggbSApIHtcblxuXHRcdFx0Ly8gdGhpcyBtZXRob2QgZG9lcyBub3Qgc3VwcG9ydCByZWZsZWN0aW9uIG1hdHJpY2VzXG5cblx0XHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cdFx0XHR2YXIgbWUgPSBtLmVsZW1lbnRzO1xuXG5cdFx0XHR2YXIgc2NhbGVYID0gMSAvIHYxLnNldEZyb21NYXRyaXhDb2x1bW4oIG0sIDAgKS5sZW5ndGgoKTtcblx0XHRcdHZhciBzY2FsZVkgPSAxIC8gdjEuc2V0RnJvbU1hdHJpeENvbHVtbiggbSwgMSApLmxlbmd0aCgpO1xuXHRcdFx0dmFyIHNjYWxlWiA9IDEgLyB2MS5zZXRGcm9tTWF0cml4Q29sdW1uKCBtLCAyICkubGVuZ3RoKCk7XG5cblx0XHRcdHRlWyAwIF0gPSBtZVsgMCBdICogc2NhbGVYO1xuXHRcdFx0dGVbIDEgXSA9IG1lWyAxIF0gKiBzY2FsZVg7XG5cdFx0XHR0ZVsgMiBdID0gbWVbIDIgXSAqIHNjYWxlWDtcblx0XHRcdHRlWyAzIF0gPSAwO1xuXG5cdFx0XHR0ZVsgNCBdID0gbWVbIDQgXSAqIHNjYWxlWTtcblx0XHRcdHRlWyA1IF0gPSBtZVsgNSBdICogc2NhbGVZO1xuXHRcdFx0dGVbIDYgXSA9IG1lWyA2IF0gKiBzY2FsZVk7XG5cdFx0XHR0ZVsgNyBdID0gMDtcblxuXHRcdFx0dGVbIDggXSA9IG1lWyA4IF0gKiBzY2FsZVo7XG5cdFx0XHR0ZVsgOSBdID0gbWVbIDkgXSAqIHNjYWxlWjtcblx0XHRcdHRlWyAxMCBdID0gbWVbIDEwIF0gKiBzY2FsZVo7XG5cdFx0XHR0ZVsgMTEgXSA9IDA7XG5cblx0XHRcdHRlWyAxMiBdID0gMDtcblx0XHRcdHRlWyAxMyBdID0gMDtcblx0XHRcdHRlWyAxNCBdID0gMDtcblx0XHRcdHRlWyAxNSBdID0gMTtcblxuXHRcdFx0cmV0dXJuIHRoaXM7XG5cblx0XHR9O1xuXG5cdH0oKSxcblxuXHRtYWtlUm90YXRpb25Gcm9tRXVsZXI6IGZ1bmN0aW9uICggZXVsZXIgKSB7XG5cblx0XHRpZiAoICEgKCBldWxlciAmJiBldWxlci5pc0V1bGVyICkgKSB7XG5cblx0XHRcdGNvbnNvbGUuZXJyb3IoICdUSFJFRS5NYXRyaXg0OiAubWFrZVJvdGF0aW9uRnJvbUV1bGVyKCkgbm93IGV4cGVjdHMgYSBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLicgKTtcblxuXHRcdH1cblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cblx0XHR2YXIgeCA9IGV1bGVyLngsIHkgPSBldWxlci55LCB6ID0gZXVsZXIuejtcblx0XHR2YXIgYSA9IE1hdGguY29zKCB4ICksIGIgPSBNYXRoLnNpbiggeCApO1xuXHRcdHZhciBjID0gTWF0aC5jb3MoIHkgKSwgZCA9IE1hdGguc2luKCB5ICk7XG5cdFx0dmFyIGUgPSBNYXRoLmNvcyggeiApLCBmID0gTWF0aC5zaW4oIHogKTtcblxuXHRcdGlmICggZXVsZXIub3JkZXIgPT09ICdYWVonICkge1xuXG5cdFx0XHR2YXIgYWUgPSBhICogZSwgYWYgPSBhICogZiwgYmUgPSBiICogZSwgYmYgPSBiICogZjtcblxuXHRcdFx0dGVbIDAgXSA9IGMgKiBlO1xuXHRcdFx0dGVbIDQgXSA9IC0gYyAqIGY7XG5cdFx0XHR0ZVsgOCBdID0gZDtcblxuXHRcdFx0dGVbIDEgXSA9IGFmICsgYmUgKiBkO1xuXHRcdFx0dGVbIDUgXSA9IGFlIC0gYmYgKiBkO1xuXHRcdFx0dGVbIDkgXSA9IC0gYiAqIGM7XG5cblx0XHRcdHRlWyAyIF0gPSBiZiAtIGFlICogZDtcblx0XHRcdHRlWyA2IF0gPSBiZSArIGFmICogZDtcblx0XHRcdHRlWyAxMCBdID0gYSAqIGM7XG5cblx0XHR9IGVsc2UgaWYgKCBldWxlci5vcmRlciA9PT0gJ1lYWicgKSB7XG5cblx0XHRcdHZhciBjZSA9IGMgKiBlLCBjZiA9IGMgKiBmLCBkZSA9IGQgKiBlLCBkZiA9IGQgKiBmO1xuXG5cdFx0XHR0ZVsgMCBdID0gY2UgKyBkZiAqIGI7XG5cdFx0XHR0ZVsgNCBdID0gZGUgKiBiIC0gY2Y7XG5cdFx0XHR0ZVsgOCBdID0gYSAqIGQ7XG5cblx0XHRcdHRlWyAxIF0gPSBhICogZjtcblx0XHRcdHRlWyA1IF0gPSBhICogZTtcblx0XHRcdHRlWyA5IF0gPSAtIGI7XG5cblx0XHRcdHRlWyAyIF0gPSBjZiAqIGIgLSBkZTtcblx0XHRcdHRlWyA2IF0gPSBkZiArIGNlICogYjtcblx0XHRcdHRlWyAxMCBdID0gYSAqIGM7XG5cblx0XHR9IGVsc2UgaWYgKCBldWxlci5vcmRlciA9PT0gJ1pYWScgKSB7XG5cblx0XHRcdHZhciBjZSA9IGMgKiBlLCBjZiA9IGMgKiBmLCBkZSA9IGQgKiBlLCBkZiA9IGQgKiBmO1xuXG5cdFx0XHR0ZVsgMCBdID0gY2UgLSBkZiAqIGI7XG5cdFx0XHR0ZVsgNCBdID0gLSBhICogZjtcblx0XHRcdHRlWyA4IF0gPSBkZSArIGNmICogYjtcblxuXHRcdFx0dGVbIDEgXSA9IGNmICsgZGUgKiBiO1xuXHRcdFx0dGVbIDUgXSA9IGEgKiBlO1xuXHRcdFx0dGVbIDkgXSA9IGRmIC0gY2UgKiBiO1xuXG5cdFx0XHR0ZVsgMiBdID0gLSBhICogZDtcblx0XHRcdHRlWyA2IF0gPSBiO1xuXHRcdFx0dGVbIDEwIF0gPSBhICogYztcblxuXHRcdH0gZWxzZSBpZiAoIGV1bGVyLm9yZGVyID09PSAnWllYJyApIHtcblxuXHRcdFx0dmFyIGFlID0gYSAqIGUsIGFmID0gYSAqIGYsIGJlID0gYiAqIGUsIGJmID0gYiAqIGY7XG5cblx0XHRcdHRlWyAwIF0gPSBjICogZTtcblx0XHRcdHRlWyA0IF0gPSBiZSAqIGQgLSBhZjtcblx0XHRcdHRlWyA4IF0gPSBhZSAqIGQgKyBiZjtcblxuXHRcdFx0dGVbIDEgXSA9IGMgKiBmO1xuXHRcdFx0dGVbIDUgXSA9IGJmICogZCArIGFlO1xuXHRcdFx0dGVbIDkgXSA9IGFmICogZCAtIGJlO1xuXG5cdFx0XHR0ZVsgMiBdID0gLSBkO1xuXHRcdFx0dGVbIDYgXSA9IGIgKiBjO1xuXHRcdFx0dGVbIDEwIF0gPSBhICogYztcblxuXHRcdH0gZWxzZSBpZiAoIGV1bGVyLm9yZGVyID09PSAnWVpYJyApIHtcblxuXHRcdFx0dmFyIGFjID0gYSAqIGMsIGFkID0gYSAqIGQsIGJjID0gYiAqIGMsIGJkID0gYiAqIGQ7XG5cblx0XHRcdHRlWyAwIF0gPSBjICogZTtcblx0XHRcdHRlWyA0IF0gPSBiZCAtIGFjICogZjtcblx0XHRcdHRlWyA4IF0gPSBiYyAqIGYgKyBhZDtcblxuXHRcdFx0dGVbIDEgXSA9IGY7XG5cdFx0XHR0ZVsgNSBdID0gYSAqIGU7XG5cdFx0XHR0ZVsgOSBdID0gLSBiICogZTtcblxuXHRcdFx0dGVbIDIgXSA9IC0gZCAqIGU7XG5cdFx0XHR0ZVsgNiBdID0gYWQgKiBmICsgYmM7XG5cdFx0XHR0ZVsgMTAgXSA9IGFjIC0gYmQgKiBmO1xuXG5cdFx0fSBlbHNlIGlmICggZXVsZXIub3JkZXIgPT09ICdYWlknICkge1xuXG5cdFx0XHR2YXIgYWMgPSBhICogYywgYWQgPSBhICogZCwgYmMgPSBiICogYywgYmQgPSBiICogZDtcblxuXHRcdFx0dGVbIDAgXSA9IGMgKiBlO1xuXHRcdFx0dGVbIDQgXSA9IC0gZjtcblx0XHRcdHRlWyA4IF0gPSBkICogZTtcblxuXHRcdFx0dGVbIDEgXSA9IGFjICogZiArIGJkO1xuXHRcdFx0dGVbIDUgXSA9IGEgKiBlO1xuXHRcdFx0dGVbIDkgXSA9IGFkICogZiAtIGJjO1xuXG5cdFx0XHR0ZVsgMiBdID0gYmMgKiBmIC0gYWQ7XG5cdFx0XHR0ZVsgNiBdID0gYiAqIGU7XG5cdFx0XHR0ZVsgMTAgXSA9IGJkICogZiArIGFjO1xuXG5cdFx0fVxuXG5cdFx0Ly8gYm90dG9tIHJvd1xuXHRcdHRlWyAzIF0gPSAwO1xuXHRcdHRlWyA3IF0gPSAwO1xuXHRcdHRlWyAxMSBdID0gMDtcblxuXHRcdC8vIGxhc3QgY29sdW1uXG5cdFx0dGVbIDEyIF0gPSAwO1xuXHRcdHRlWyAxMyBdID0gMDtcblx0XHR0ZVsgMTQgXSA9IDA7XG5cdFx0dGVbIDE1IF0gPSAxO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbjogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIHplcm8gPSBuZXcgVmVjdG9yMyggMCwgMCwgMCApO1xuXHRcdHZhciBvbmUgPSBuZXcgVmVjdG9yMyggMSwgMSwgMSApO1xuXG5cdFx0cmV0dXJuIGZ1bmN0aW9uIG1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKCBxICkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5jb21wb3NlKCB6ZXJvLCBxLCBvbmUgKTtcblxuXHRcdH07XG5cblx0fSgpLFxuXG5cdGxvb2tBdDogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIHggPSBuZXcgVmVjdG9yMygpO1xuXHRcdHZhciB5ID0gbmV3IFZlY3RvcjMoKTtcblx0XHR2YXIgeiA9IG5ldyBWZWN0b3IzKCk7XG5cblx0XHRyZXR1cm4gZnVuY3Rpb24gbG9va0F0KCBleWUsIHRhcmdldCwgdXAgKSB7XG5cblx0XHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cblx0XHRcdHouc3ViVmVjdG9ycyggZXllLCB0YXJnZXQgKTtcblxuXHRcdFx0aWYgKCB6Lmxlbmd0aFNxKCkgPT09IDAgKSB7XG5cblx0XHRcdFx0Ly8gZXllIGFuZCB0YXJnZXQgYXJlIGluIHRoZSBzYW1lIHBvc2l0aW9uXG5cblx0XHRcdFx0ei56ID0gMTtcblxuXHRcdFx0fVxuXG5cdFx0XHR6Lm5vcm1hbGl6ZSgpO1xuXHRcdFx0eC5jcm9zc1ZlY3RvcnMoIHVwLCB6ICk7XG5cblx0XHRcdGlmICggeC5sZW5ndGhTcSgpID09PSAwICkge1xuXG5cdFx0XHRcdC8vIHVwIGFuZCB6IGFyZSBwYXJhbGxlbFxuXG5cdFx0XHRcdGlmICggTWF0aC5hYnMoIHVwLnogKSA9PT0gMSApIHtcblxuXHRcdFx0XHRcdHoueCArPSAwLjAwMDE7XG5cblx0XHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHRcdHoueiArPSAwLjAwMDE7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHoubm9ybWFsaXplKCk7XG5cdFx0XHRcdHguY3Jvc3NWZWN0b3JzKCB1cCwgeiApO1xuXG5cdFx0XHR9XG5cblx0XHRcdHgubm9ybWFsaXplKCk7XG5cdFx0XHR5LmNyb3NzVmVjdG9ycyggeiwgeCApO1xuXG5cdFx0XHR0ZVsgMCBdID0geC54OyB0ZVsgNCBdID0geS54OyB0ZVsgOCBdID0gei54O1xuXHRcdFx0dGVbIDEgXSA9IHgueTsgdGVbIDUgXSA9IHkueTsgdGVbIDkgXSA9IHoueTtcblx0XHRcdHRlWyAyIF0gPSB4Lno7IHRlWyA2IF0gPSB5Lno7IHRlWyAxMCBdID0gei56O1xuXG5cdFx0XHRyZXR1cm4gdGhpcztcblxuXHRcdH07XG5cblx0fSgpLFxuXG5cdG11bHRpcGx5OiBmdW5jdGlvbiAoIG0sIG4gKSB7XG5cblx0XHRpZiAoIG4gIT09IHVuZGVmaW5lZCApIHtcblxuXHRcdFx0Y29uc29sZS53YXJuKCAnVEhSRUUuTWF0cml4NDogLm11bHRpcGx5KCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAubXVsdGlwbHlNYXRyaWNlcyggYSwgYiApIGluc3RlYWQuJyApO1xuXHRcdFx0cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyggbSwgbiApO1xuXG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyggdGhpcywgbSApO1xuXG5cdH0sXG5cblx0cHJlbXVsdGlwbHk6IGZ1bmN0aW9uICggbSApIHtcblxuXHRcdHJldHVybiB0aGlzLm11bHRpcGx5TWF0cmljZXMoIG0sIHRoaXMgKTtcblxuXHR9LFxuXG5cdG11bHRpcGx5TWF0cmljZXM6IGZ1bmN0aW9uICggYSwgYiApIHtcblxuXHRcdHZhciBhZSA9IGEuZWxlbWVudHM7XG5cdFx0dmFyIGJlID0gYi5lbGVtZW50cztcblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0dmFyIGExMSA9IGFlWyAwIF0sIGExMiA9IGFlWyA0IF0sIGExMyA9IGFlWyA4IF0sIGExNCA9IGFlWyAxMiBdO1xuXHRcdHZhciBhMjEgPSBhZVsgMSBdLCBhMjIgPSBhZVsgNSBdLCBhMjMgPSBhZVsgOSBdLCBhMjQgPSBhZVsgMTMgXTtcblx0XHR2YXIgYTMxID0gYWVbIDIgXSwgYTMyID0gYWVbIDYgXSwgYTMzID0gYWVbIDEwIF0sIGEzNCA9IGFlWyAxNCBdO1xuXHRcdHZhciBhNDEgPSBhZVsgMyBdLCBhNDIgPSBhZVsgNyBdLCBhNDMgPSBhZVsgMTEgXSwgYTQ0ID0gYWVbIDE1IF07XG5cblx0XHR2YXIgYjExID0gYmVbIDAgXSwgYjEyID0gYmVbIDQgXSwgYjEzID0gYmVbIDggXSwgYjE0ID0gYmVbIDEyIF07XG5cdFx0dmFyIGIyMSA9IGJlWyAxIF0sIGIyMiA9IGJlWyA1IF0sIGIyMyA9IGJlWyA5IF0sIGIyNCA9IGJlWyAxMyBdO1xuXHRcdHZhciBiMzEgPSBiZVsgMiBdLCBiMzIgPSBiZVsgNiBdLCBiMzMgPSBiZVsgMTAgXSwgYjM0ID0gYmVbIDE0IF07XG5cdFx0dmFyIGI0MSA9IGJlWyAzIF0sIGI0MiA9IGJlWyA3IF0sIGI0MyA9IGJlWyAxMSBdLCBiNDQgPSBiZVsgMTUgXTtcblxuXHRcdHRlWyAwIF0gPSBhMTEgKiBiMTEgKyBhMTIgKiBiMjEgKyBhMTMgKiBiMzEgKyBhMTQgKiBiNDE7XG5cdFx0dGVbIDQgXSA9IGExMSAqIGIxMiArIGExMiAqIGIyMiArIGExMyAqIGIzMiArIGExNCAqIGI0Mjtcblx0XHR0ZVsgOCBdID0gYTExICogYjEzICsgYTEyICogYjIzICsgYTEzICogYjMzICsgYTE0ICogYjQzO1xuXHRcdHRlWyAxMiBdID0gYTExICogYjE0ICsgYTEyICogYjI0ICsgYTEzICogYjM0ICsgYTE0ICogYjQ0O1xuXG5cdFx0dGVbIDEgXSA9IGEyMSAqIGIxMSArIGEyMiAqIGIyMSArIGEyMyAqIGIzMSArIGEyNCAqIGI0MTtcblx0XHR0ZVsgNSBdID0gYTIxICogYjEyICsgYTIyICogYjIyICsgYTIzICogYjMyICsgYTI0ICogYjQyO1xuXHRcdHRlWyA5IF0gPSBhMjEgKiBiMTMgKyBhMjIgKiBiMjMgKyBhMjMgKiBiMzMgKyBhMjQgKiBiNDM7XG5cdFx0dGVbIDEzIF0gPSBhMjEgKiBiMTQgKyBhMjIgKiBiMjQgKyBhMjMgKiBiMzQgKyBhMjQgKiBiNDQ7XG5cblx0XHR0ZVsgMiBdID0gYTMxICogYjExICsgYTMyICogYjIxICsgYTMzICogYjMxICsgYTM0ICogYjQxO1xuXHRcdHRlWyA2IF0gPSBhMzEgKiBiMTIgKyBhMzIgKiBiMjIgKyBhMzMgKiBiMzIgKyBhMzQgKiBiNDI7XG5cdFx0dGVbIDEwIF0gPSBhMzEgKiBiMTMgKyBhMzIgKiBiMjMgKyBhMzMgKiBiMzMgKyBhMzQgKiBiNDM7XG5cdFx0dGVbIDE0IF0gPSBhMzEgKiBiMTQgKyBhMzIgKiBiMjQgKyBhMzMgKiBiMzQgKyBhMzQgKiBiNDQ7XG5cblx0XHR0ZVsgMyBdID0gYTQxICogYjExICsgYTQyICogYjIxICsgYTQzICogYjMxICsgYTQ0ICogYjQxO1xuXHRcdHRlWyA3IF0gPSBhNDEgKiBiMTIgKyBhNDIgKiBiMjIgKyBhNDMgKiBiMzIgKyBhNDQgKiBiNDI7XG5cdFx0dGVbIDExIF0gPSBhNDEgKiBiMTMgKyBhNDIgKiBiMjMgKyBhNDMgKiBiMzMgKyBhNDQgKiBiNDM7XG5cdFx0dGVbIDE1IF0gPSBhNDEgKiBiMTQgKyBhNDIgKiBiMjQgKyBhNDMgKiBiMzQgKyBhNDQgKiBiNDQ7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdG11bHRpcGx5U2NhbGFyOiBmdW5jdGlvbiAoIHMgKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0dGVbIDAgXSAqPSBzOyB0ZVsgNCBdICo9IHM7IHRlWyA4IF0gKj0gczsgdGVbIDEyIF0gKj0gcztcblx0XHR0ZVsgMSBdICo9IHM7IHRlWyA1IF0gKj0gczsgdGVbIDkgXSAqPSBzOyB0ZVsgMTMgXSAqPSBzO1xuXHRcdHRlWyAyIF0gKj0gczsgdGVbIDYgXSAqPSBzOyB0ZVsgMTAgXSAqPSBzOyB0ZVsgMTQgXSAqPSBzO1xuXHRcdHRlWyAzIF0gKj0gczsgdGVbIDcgXSAqPSBzOyB0ZVsgMTEgXSAqPSBzOyB0ZVsgMTUgXSAqPSBzO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRhcHBseVRvQnVmZmVyQXR0cmlidXRlOiBmdW5jdGlvbiAoKSB7XG5cblx0XHR2YXIgdjEgPSBuZXcgVmVjdG9yMygpO1xuXG5cdFx0cmV0dXJuIGZ1bmN0aW9uIGFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoIGF0dHJpYnV0ZSApIHtcblxuXHRcdFx0Zm9yICggdmFyIGkgPSAwLCBsID0gYXR0cmlidXRlLmNvdW50OyBpIDwgbDsgaSArKyApIHtcblxuXHRcdFx0XHR2MS54ID0gYXR0cmlidXRlLmdldFgoIGkgKTtcblx0XHRcdFx0djEueSA9IGF0dHJpYnV0ZS5nZXRZKCBpICk7XG5cdFx0XHRcdHYxLnogPSBhdHRyaWJ1dGUuZ2V0WiggaSApO1xuXG5cdFx0XHRcdHYxLmFwcGx5TWF0cml4NCggdGhpcyApO1xuXG5cdFx0XHRcdGF0dHJpYnV0ZS5zZXRYWVooIGksIHYxLngsIHYxLnksIHYxLnogKTtcblxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gYXR0cmlidXRlO1xuXG5cdFx0fTtcblxuXHR9KCksXG5cblx0ZGV0ZXJtaW5hbnQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cblx0XHR2YXIgbjExID0gdGVbIDAgXSwgbjEyID0gdGVbIDQgXSwgbjEzID0gdGVbIDggXSwgbjE0ID0gdGVbIDEyIF07XG5cdFx0dmFyIG4yMSA9IHRlWyAxIF0sIG4yMiA9IHRlWyA1IF0sIG4yMyA9IHRlWyA5IF0sIG4yNCA9IHRlWyAxMyBdO1xuXHRcdHZhciBuMzEgPSB0ZVsgMiBdLCBuMzIgPSB0ZVsgNiBdLCBuMzMgPSB0ZVsgMTAgXSwgbjM0ID0gdGVbIDE0IF07XG5cdFx0dmFyIG40MSA9IHRlWyAzIF0sIG40MiA9IHRlWyA3IF0sIG40MyA9IHRlWyAxMSBdLCBuNDQgPSB0ZVsgMTUgXTtcblxuXHRcdC8vVE9ETzogbWFrZSB0aGlzIG1vcmUgZWZmaWNpZW50XG5cdFx0Ly8oIGJhc2VkIG9uIGh0dHA6Ly93d3cuZXVjbGlkZWFuc3BhY2UuY29tL21hdGhzL2FsZ2VicmEvbWF0cml4L2Z1bmN0aW9ucy9pbnZlcnNlL2ZvdXJEL2luZGV4Lmh0bSApXG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0bjQxICogKFxuXHRcdFx0XHQrIG4xNCAqIG4yMyAqIG4zMlxuXHRcdFx0XHQgLSBuMTMgKiBuMjQgKiBuMzJcblx0XHRcdFx0IC0gbjE0ICogbjIyICogbjMzXG5cdFx0XHRcdCArIG4xMiAqIG4yNCAqIG4zM1xuXHRcdFx0XHQgKyBuMTMgKiBuMjIgKiBuMzRcblx0XHRcdFx0IC0gbjEyICogbjIzICogbjM0XG5cdFx0XHQpICtcblx0XHRcdG40MiAqIChcblx0XHRcdFx0KyBuMTEgKiBuMjMgKiBuMzRcblx0XHRcdFx0IC0gbjExICogbjI0ICogbjMzXG5cdFx0XHRcdCArIG4xNCAqIG4yMSAqIG4zM1xuXHRcdFx0XHQgLSBuMTMgKiBuMjEgKiBuMzRcblx0XHRcdFx0ICsgbjEzICogbjI0ICogbjMxXG5cdFx0XHRcdCAtIG4xNCAqIG4yMyAqIG4zMVxuXHRcdFx0KSArXG5cdFx0XHRuNDMgKiAoXG5cdFx0XHRcdCsgbjExICogbjI0ICogbjMyXG5cdFx0XHRcdCAtIG4xMSAqIG4yMiAqIG4zNFxuXHRcdFx0XHQgLSBuMTQgKiBuMjEgKiBuMzJcblx0XHRcdFx0ICsgbjEyICogbjIxICogbjM0XG5cdFx0XHRcdCArIG4xNCAqIG4yMiAqIG4zMVxuXHRcdFx0XHQgLSBuMTIgKiBuMjQgKiBuMzFcblx0XHRcdCkgK1xuXHRcdFx0bjQ0ICogKFxuXHRcdFx0XHQtIG4xMyAqIG4yMiAqIG4zMVxuXHRcdFx0XHQgLSBuMTEgKiBuMjMgKiBuMzJcblx0XHRcdFx0ICsgbjExICogbjIyICogbjMzXG5cdFx0XHRcdCArIG4xMyAqIG4yMSAqIG4zMlxuXHRcdFx0XHQgLSBuMTIgKiBuMjEgKiBuMzNcblx0XHRcdFx0ICsgbjEyICogbjIzICogbjMxXG5cdFx0XHQpXG5cblx0XHQpO1xuXG5cdH0sXG5cblx0dHJhbnNwb3NlOiBmdW5jdGlvbiAoKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXHRcdHZhciB0bXA7XG5cblx0XHR0bXAgPSB0ZVsgMSBdOyB0ZVsgMSBdID0gdGVbIDQgXTsgdGVbIDQgXSA9IHRtcDtcblx0XHR0bXAgPSB0ZVsgMiBdOyB0ZVsgMiBdID0gdGVbIDggXTsgdGVbIDggXSA9IHRtcDtcblx0XHR0bXAgPSB0ZVsgNiBdOyB0ZVsgNiBdID0gdGVbIDkgXTsgdGVbIDkgXSA9IHRtcDtcblxuXHRcdHRtcCA9IHRlWyAzIF07IHRlWyAzIF0gPSB0ZVsgMTIgXTsgdGVbIDEyIF0gPSB0bXA7XG5cdFx0dG1wID0gdGVbIDcgXTsgdGVbIDcgXSA9IHRlWyAxMyBdOyB0ZVsgMTMgXSA9IHRtcDtcblx0XHR0bXAgPSB0ZVsgMTEgXTsgdGVbIDExIF0gPSB0ZVsgMTQgXTsgdGVbIDE0IF0gPSB0bXA7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHNldFBvc2l0aW9uOiBmdW5jdGlvbiAoIHgsIHksIHogKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0aWYgKCB4LmlzVmVjdG9yMyApIHtcblxuXHRcdFx0dGVbIDEyIF0gPSB4Lng7XG5cdFx0XHR0ZVsgMTMgXSA9IHgueTtcblx0XHRcdHRlWyAxNCBdID0geC56O1xuXG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0dGVbIDEyIF0gPSB4O1xuXHRcdFx0dGVbIDEzIF0gPSB5O1xuXHRcdFx0dGVbIDE0IF0gPSB6O1xuXG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRnZXRJbnZlcnNlOiBmdW5jdGlvbiAoIG0sIHRocm93T25EZWdlbmVyYXRlICkge1xuXG5cdFx0Ly8gYmFzZWQgb24gaHR0cDovL3d3dy5ldWNsaWRlYW5zcGFjZS5jb20vbWF0aHMvYWxnZWJyYS9tYXRyaXgvZnVuY3Rpb25zL2ludmVyc2UvZm91ckQvaW5kZXguaHRtXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cyxcblx0XHRcdG1lID0gbS5lbGVtZW50cyxcblxuXHRcdFx0bjExID0gbWVbIDAgXSwgbjIxID0gbWVbIDEgXSwgbjMxID0gbWVbIDIgXSwgbjQxID0gbWVbIDMgXSxcblx0XHRcdG4xMiA9IG1lWyA0IF0sIG4yMiA9IG1lWyA1IF0sIG4zMiA9IG1lWyA2IF0sIG40MiA9IG1lWyA3IF0sXG5cdFx0XHRuMTMgPSBtZVsgOCBdLCBuMjMgPSBtZVsgOSBdLCBuMzMgPSBtZVsgMTAgXSwgbjQzID0gbWVbIDExIF0sXG5cdFx0XHRuMTQgPSBtZVsgMTIgXSwgbjI0ID0gbWVbIDEzIF0sIG4zNCA9IG1lWyAxNCBdLCBuNDQgPSBtZVsgMTUgXSxcblxuXHRcdFx0dDExID0gbjIzICogbjM0ICogbjQyIC0gbjI0ICogbjMzICogbjQyICsgbjI0ICogbjMyICogbjQzIC0gbjIyICogbjM0ICogbjQzIC0gbjIzICogbjMyICogbjQ0ICsgbjIyICogbjMzICogbjQ0LFxuXHRcdFx0dDEyID0gbjE0ICogbjMzICogbjQyIC0gbjEzICogbjM0ICogbjQyIC0gbjE0ICogbjMyICogbjQzICsgbjEyICogbjM0ICogbjQzICsgbjEzICogbjMyICogbjQ0IC0gbjEyICogbjMzICogbjQ0LFxuXHRcdFx0dDEzID0gbjEzICogbjI0ICogbjQyIC0gbjE0ICogbjIzICogbjQyICsgbjE0ICogbjIyICogbjQzIC0gbjEyICogbjI0ICogbjQzIC0gbjEzICogbjIyICogbjQ0ICsgbjEyICogbjIzICogbjQ0LFxuXHRcdFx0dDE0ID0gbjE0ICogbjIzICogbjMyIC0gbjEzICogbjI0ICogbjMyIC0gbjE0ICogbjIyICogbjMzICsgbjEyICogbjI0ICogbjMzICsgbjEzICogbjIyICogbjM0IC0gbjEyICogbjIzICogbjM0O1xuXG5cdFx0dmFyIGRldCA9IG4xMSAqIHQxMSArIG4yMSAqIHQxMiArIG4zMSAqIHQxMyArIG40MSAqIHQxNDtcblxuXHRcdGlmICggZGV0ID09PSAwICkge1xuXG5cdFx0XHR2YXIgbXNnID0gXCJUSFJFRS5NYXRyaXg0OiAuZ2V0SW52ZXJzZSgpIGNhbid0IGludmVydCBtYXRyaXgsIGRldGVybWluYW50IGlzIDBcIjtcblxuXHRcdFx0aWYgKCB0aHJvd09uRGVnZW5lcmF0ZSA9PT0gdHJ1ZSApIHtcblxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoIG1zZyApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdGNvbnNvbGUud2FybiggbXNnICk7XG5cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHRoaXMuaWRlbnRpdHkoKTtcblxuXHRcdH1cblxuXHRcdHZhciBkZXRJbnYgPSAxIC8gZGV0O1xuXG5cdFx0dGVbIDAgXSA9IHQxMSAqIGRldEludjtcblx0XHR0ZVsgMSBdID0gKCBuMjQgKiBuMzMgKiBuNDEgLSBuMjMgKiBuMzQgKiBuNDEgLSBuMjQgKiBuMzEgKiBuNDMgKyBuMjEgKiBuMzQgKiBuNDMgKyBuMjMgKiBuMzEgKiBuNDQgLSBuMjEgKiBuMzMgKiBuNDQgKSAqIGRldEludjtcblx0XHR0ZVsgMiBdID0gKCBuMjIgKiBuMzQgKiBuNDEgLSBuMjQgKiBuMzIgKiBuNDEgKyBuMjQgKiBuMzEgKiBuNDIgLSBuMjEgKiBuMzQgKiBuNDIgLSBuMjIgKiBuMzEgKiBuNDQgKyBuMjEgKiBuMzIgKiBuNDQgKSAqIGRldEludjtcblx0XHR0ZVsgMyBdID0gKCBuMjMgKiBuMzIgKiBuNDEgLSBuMjIgKiBuMzMgKiBuNDEgLSBuMjMgKiBuMzEgKiBuNDIgKyBuMjEgKiBuMzMgKiBuNDIgKyBuMjIgKiBuMzEgKiBuNDMgLSBuMjEgKiBuMzIgKiBuNDMgKSAqIGRldEludjtcblxuXHRcdHRlWyA0IF0gPSB0MTIgKiBkZXRJbnY7XG5cdFx0dGVbIDUgXSA9ICggbjEzICogbjM0ICogbjQxIC0gbjE0ICogbjMzICogbjQxICsgbjE0ICogbjMxICogbjQzIC0gbjExICogbjM0ICogbjQzIC0gbjEzICogbjMxICogbjQ0ICsgbjExICogbjMzICogbjQ0ICkgKiBkZXRJbnY7XG5cdFx0dGVbIDYgXSA9ICggbjE0ICogbjMyICogbjQxIC0gbjEyICogbjM0ICogbjQxIC0gbjE0ICogbjMxICogbjQyICsgbjExICogbjM0ICogbjQyICsgbjEyICogbjMxICogbjQ0IC0gbjExICogbjMyICogbjQ0ICkgKiBkZXRJbnY7XG5cdFx0dGVbIDcgXSA9ICggbjEyICogbjMzICogbjQxIC0gbjEzICogbjMyICogbjQxICsgbjEzICogbjMxICogbjQyIC0gbjExICogbjMzICogbjQyIC0gbjEyICogbjMxICogbjQzICsgbjExICogbjMyICogbjQzICkgKiBkZXRJbnY7XG5cblx0XHR0ZVsgOCBdID0gdDEzICogZGV0SW52O1xuXHRcdHRlWyA5IF0gPSAoIG4xNCAqIG4yMyAqIG40MSAtIG4xMyAqIG4yNCAqIG40MSAtIG4xNCAqIG4yMSAqIG40MyArIG4xMSAqIG4yNCAqIG40MyArIG4xMyAqIG4yMSAqIG40NCAtIG4xMSAqIG4yMyAqIG40NCApICogZGV0SW52O1xuXHRcdHRlWyAxMCBdID0gKCBuMTIgKiBuMjQgKiBuNDEgLSBuMTQgKiBuMjIgKiBuNDEgKyBuMTQgKiBuMjEgKiBuNDIgLSBuMTEgKiBuMjQgKiBuNDIgLSBuMTIgKiBuMjEgKiBuNDQgKyBuMTEgKiBuMjIgKiBuNDQgKSAqIGRldEludjtcblx0XHR0ZVsgMTEgXSA9ICggbjEzICogbjIyICogbjQxIC0gbjEyICogbjIzICogbjQxIC0gbjEzICogbjIxICogbjQyICsgbjExICogbjIzICogbjQyICsgbjEyICogbjIxICogbjQzIC0gbjExICogbjIyICogbjQzICkgKiBkZXRJbnY7XG5cblx0XHR0ZVsgMTIgXSA9IHQxNCAqIGRldEludjtcblx0XHR0ZVsgMTMgXSA9ICggbjEzICogbjI0ICogbjMxIC0gbjE0ICogbjIzICogbjMxICsgbjE0ICogbjIxICogbjMzIC0gbjExICogbjI0ICogbjMzIC0gbjEzICogbjIxICogbjM0ICsgbjExICogbjIzICogbjM0ICkgKiBkZXRJbnY7XG5cdFx0dGVbIDE0IF0gPSAoIG4xNCAqIG4yMiAqIG4zMSAtIG4xMiAqIG4yNCAqIG4zMSAtIG4xNCAqIG4yMSAqIG4zMiArIG4xMSAqIG4yNCAqIG4zMiArIG4xMiAqIG4yMSAqIG4zNCAtIG4xMSAqIG4yMiAqIG4zNCApICogZGV0SW52O1xuXHRcdHRlWyAxNSBdID0gKCBuMTIgKiBuMjMgKiBuMzEgLSBuMTMgKiBuMjIgKiBuMzEgKyBuMTMgKiBuMjEgKiBuMzIgLSBuMTEgKiBuMjMgKiBuMzIgLSBuMTIgKiBuMjEgKiBuMzMgKyBuMTEgKiBuMjIgKiBuMzMgKSAqIGRldEludjtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2NhbGU6IGZ1bmN0aW9uICggdiApIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cdFx0dmFyIHggPSB2LngsIHkgPSB2LnksIHogPSB2Lno7XG5cblx0XHR0ZVsgMCBdICo9IHg7IHRlWyA0IF0gKj0geTsgdGVbIDggXSAqPSB6O1xuXHRcdHRlWyAxIF0gKj0geDsgdGVbIDUgXSAqPSB5OyB0ZVsgOSBdICo9IHo7XG5cdFx0dGVbIDIgXSAqPSB4OyB0ZVsgNiBdICo9IHk7IHRlWyAxMCBdICo9IHo7XG5cdFx0dGVbIDMgXSAqPSB4OyB0ZVsgNyBdICo9IHk7IHRlWyAxMSBdICo9IHo7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGdldE1heFNjYWxlT25BeGlzOiBmdW5jdGlvbiAoKSB7XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXG5cdFx0dmFyIHNjYWxlWFNxID0gdGVbIDAgXSAqIHRlWyAwIF0gKyB0ZVsgMSBdICogdGVbIDEgXSArIHRlWyAyIF0gKiB0ZVsgMiBdO1xuXHRcdHZhciBzY2FsZVlTcSA9IHRlWyA0IF0gKiB0ZVsgNCBdICsgdGVbIDUgXSAqIHRlWyA1IF0gKyB0ZVsgNiBdICogdGVbIDYgXTtcblx0XHR2YXIgc2NhbGVaU3EgPSB0ZVsgOCBdICogdGVbIDggXSArIHRlWyA5IF0gKiB0ZVsgOSBdICsgdGVbIDEwIF0gKiB0ZVsgMTAgXTtcblxuXHRcdHJldHVybiBNYXRoLnNxcnQoIE1hdGgubWF4KCBzY2FsZVhTcSwgc2NhbGVZU3EsIHNjYWxlWlNxICkgKTtcblxuXHR9LFxuXG5cdG1ha2VUcmFuc2xhdGlvbjogZnVuY3Rpb24gKCB4LCB5LCB6ICkge1xuXG5cdFx0dGhpcy5zZXQoXG5cblx0XHRcdDEsIDAsIDAsIHgsXG5cdFx0XHQwLCAxLCAwLCB5LFxuXHRcdFx0MCwgMCwgMSwgeixcblx0XHRcdDAsIDAsIDAsIDFcblxuXHRcdCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdG1ha2VSb3RhdGlvblg6IGZ1bmN0aW9uICggdGhldGEgKSB7XG5cblx0XHR2YXIgYyA9IE1hdGguY29zKCB0aGV0YSApLCBzID0gTWF0aC5zaW4oIHRoZXRhICk7XG5cblx0XHR0aGlzLnNldChcblxuXHRcdFx0MSwgMCwgMCwgMCxcblx0XHRcdDAsIGMsIC0gcywgMCxcblx0XHRcdDAsIHMsIGMsIDAsXG5cdFx0XHQwLCAwLCAwLCAxXG5cblx0XHQpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtYWtlUm90YXRpb25ZOiBmdW5jdGlvbiAoIHRoZXRhICkge1xuXG5cdFx0dmFyIGMgPSBNYXRoLmNvcyggdGhldGEgKSwgcyA9IE1hdGguc2luKCB0aGV0YSApO1xuXG5cdFx0dGhpcy5zZXQoXG5cblx0XHRcdCBjLCAwLCBzLCAwLFxuXHRcdFx0IDAsIDEsIDAsIDAsXG5cdFx0XHQtIHMsIDAsIGMsIDAsXG5cdFx0XHQgMCwgMCwgMCwgMVxuXG5cdFx0KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0bWFrZVJvdGF0aW9uWjogZnVuY3Rpb24gKCB0aGV0YSApIHtcblxuXHRcdHZhciBjID0gTWF0aC5jb3MoIHRoZXRhICksIHMgPSBNYXRoLnNpbiggdGhldGEgKTtcblxuXHRcdHRoaXMuc2V0KFxuXG5cdFx0XHRjLCAtIHMsIDAsIDAsXG5cdFx0XHRzLCBjLCAwLCAwLFxuXHRcdFx0MCwgMCwgMSwgMCxcblx0XHRcdDAsIDAsIDAsIDFcblxuXHRcdCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdG1ha2VSb3RhdGlvbkF4aXM6IGZ1bmN0aW9uICggYXhpcywgYW5nbGUgKSB7XG5cblx0XHQvLyBCYXNlZCBvbiBodHRwOi8vd3d3LmdhbWVkZXYubmV0L3JlZmVyZW5jZS9hcnRpY2xlcy9hcnRpY2xlMTE5OS5hc3BcblxuXHRcdHZhciBjID0gTWF0aC5jb3MoIGFuZ2xlICk7XG5cdFx0dmFyIHMgPSBNYXRoLnNpbiggYW5nbGUgKTtcblx0XHR2YXIgdCA9IDEgLSBjO1xuXHRcdHZhciB4ID0gYXhpcy54LCB5ID0gYXhpcy55LCB6ID0gYXhpcy56O1xuXHRcdHZhciB0eCA9IHQgKiB4LCB0eSA9IHQgKiB5O1xuXG5cdFx0dGhpcy5zZXQoXG5cblx0XHRcdHR4ICogeCArIGMsIHR4ICogeSAtIHMgKiB6LCB0eCAqIHogKyBzICogeSwgMCxcblx0XHRcdHR4ICogeSArIHMgKiB6LCB0eSAqIHkgKyBjLCB0eSAqIHogLSBzICogeCwgMCxcblx0XHRcdHR4ICogeiAtIHMgKiB5LCB0eSAqIHogKyBzICogeCwgdCAqIHogKiB6ICsgYywgMCxcblx0XHRcdDAsIDAsIDAsIDFcblxuXHRcdCk7XG5cblx0XHQgcmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtYWtlU2NhbGU6IGZ1bmN0aW9uICggeCwgeSwgeiApIHtcblxuXHRcdHRoaXMuc2V0KFxuXG5cdFx0XHR4LCAwLCAwLCAwLFxuXHRcdFx0MCwgeSwgMCwgMCxcblx0XHRcdDAsIDAsIHosIDAsXG5cdFx0XHQwLCAwLCAwLCAxXG5cblx0XHQpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtYWtlU2hlYXI6IGZ1bmN0aW9uICggeCwgeSwgeiApIHtcblxuXHRcdHRoaXMuc2V0KFxuXG5cdFx0XHQxLCB5LCB6LCAwLFxuXHRcdFx0eCwgMSwgeiwgMCxcblx0XHRcdHgsIHksIDEsIDAsXG5cdFx0XHQwLCAwLCAwLCAxXG5cblx0XHQpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRjb21wb3NlOiBmdW5jdGlvbiAoIHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSApIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cblx0XHR2YXIgeCA9IHF1YXRlcm5pb24uX3gsIHkgPSBxdWF0ZXJuaW9uLl95LCB6ID0gcXVhdGVybmlvbi5feiwgdyA9IHF1YXRlcm5pb24uX3c7XG5cdFx0dmFyIHgyID0geCArIHgsXHR5MiA9IHkgKyB5LCB6MiA9IHogKyB6O1xuXHRcdHZhciB4eCA9IHggKiB4MiwgeHkgPSB4ICogeTIsIHh6ID0geCAqIHoyO1xuXHRcdHZhciB5eSA9IHkgKiB5MiwgeXogPSB5ICogejIsIHp6ID0geiAqIHoyO1xuXHRcdHZhciB3eCA9IHcgKiB4Miwgd3kgPSB3ICogeTIsIHd6ID0gdyAqIHoyO1xuXG5cdFx0dmFyIHN4ID0gc2NhbGUueCwgc3kgPSBzY2FsZS55LCBzeiA9IHNjYWxlLno7XG5cblx0XHR0ZVsgMCBdID0gKCAxIC0gKCB5eSArIHp6ICkgKSAqIHN4O1xuXHRcdHRlWyAxIF0gPSAoIHh5ICsgd3ogKSAqIHN4O1xuXHRcdHRlWyAyIF0gPSAoIHh6IC0gd3kgKSAqIHN4O1xuXHRcdHRlWyAzIF0gPSAwO1xuXG5cdFx0dGVbIDQgXSA9ICggeHkgLSB3eiApICogc3k7XG5cdFx0dGVbIDUgXSA9ICggMSAtICggeHggKyB6eiApICkgKiBzeTtcblx0XHR0ZVsgNiBdID0gKCB5eiArIHd4ICkgKiBzeTtcblx0XHR0ZVsgNyBdID0gMDtcblxuXHRcdHRlWyA4IF0gPSAoIHh6ICsgd3kgKSAqIHN6O1xuXHRcdHRlWyA5IF0gPSAoIHl6IC0gd3ggKSAqIHN6O1xuXHRcdHRlWyAxMCBdID0gKCAxIC0gKCB4eCArIHl5ICkgKSAqIHN6O1xuXHRcdHRlWyAxMSBdID0gMDtcblxuXHRcdHRlWyAxMiBdID0gcG9zaXRpb24ueDtcblx0XHR0ZVsgMTMgXSA9IHBvc2l0aW9uLnk7XG5cdFx0dGVbIDE0IF0gPSBwb3NpdGlvbi56O1xuXHRcdHRlWyAxNSBdID0gMTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0ZGVjb21wb3NlOiBmdW5jdGlvbiAoKSB7XG5cblx0XHR2YXIgdmVjdG9yID0gbmV3IFZlY3RvcjMoKTtcblx0XHR2YXIgbWF0cml4ID0gbmV3IE1hdHJpeDQoKTtcblxuXHRcdHJldHVybiBmdW5jdGlvbiBkZWNvbXBvc2UoIHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSApIHtcblxuXHRcdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblxuXHRcdFx0dmFyIHN4ID0gdmVjdG9yLnNldCggdGVbIDAgXSwgdGVbIDEgXSwgdGVbIDIgXSApLmxlbmd0aCgpO1xuXHRcdFx0dmFyIHN5ID0gdmVjdG9yLnNldCggdGVbIDQgXSwgdGVbIDUgXSwgdGVbIDYgXSApLmxlbmd0aCgpO1xuXHRcdFx0dmFyIHN6ID0gdmVjdG9yLnNldCggdGVbIDggXSwgdGVbIDkgXSwgdGVbIDEwIF0gKS5sZW5ndGgoKTtcblxuXHRcdFx0Ly8gaWYgZGV0ZXJtaW5lIGlzIG5lZ2F0aXZlLCB3ZSBuZWVkIHRvIGludmVydCBvbmUgc2NhbGVcblx0XHRcdHZhciBkZXQgPSB0aGlzLmRldGVybWluYW50KCk7XG5cdFx0XHRpZiAoIGRldCA8IDAgKSBzeCA9IC0gc3g7XG5cblx0XHRcdHBvc2l0aW9uLnggPSB0ZVsgMTIgXTtcblx0XHRcdHBvc2l0aW9uLnkgPSB0ZVsgMTMgXTtcblx0XHRcdHBvc2l0aW9uLnogPSB0ZVsgMTQgXTtcblxuXHRcdFx0Ly8gc2NhbGUgdGhlIHJvdGF0aW9uIHBhcnRcblx0XHRcdG1hdHJpeC5jb3B5KCB0aGlzICk7XG5cblx0XHRcdHZhciBpbnZTWCA9IDEgLyBzeDtcblx0XHRcdHZhciBpbnZTWSA9IDEgLyBzeTtcblx0XHRcdHZhciBpbnZTWiA9IDEgLyBzejtcblxuXHRcdFx0bWF0cml4LmVsZW1lbnRzWyAwIF0gKj0gaW52U1g7XG5cdFx0XHRtYXRyaXguZWxlbWVudHNbIDEgXSAqPSBpbnZTWDtcblx0XHRcdG1hdHJpeC5lbGVtZW50c1sgMiBdICo9IGludlNYO1xuXG5cdFx0XHRtYXRyaXguZWxlbWVudHNbIDQgXSAqPSBpbnZTWTtcblx0XHRcdG1hdHJpeC5lbGVtZW50c1sgNSBdICo9IGludlNZO1xuXHRcdFx0bWF0cml4LmVsZW1lbnRzWyA2IF0gKj0gaW52U1k7XG5cblx0XHRcdG1hdHJpeC5lbGVtZW50c1sgOCBdICo9IGludlNaO1xuXHRcdFx0bWF0cml4LmVsZW1lbnRzWyA5IF0gKj0gaW52U1o7XG5cdFx0XHRtYXRyaXguZWxlbWVudHNbIDEwIF0gKj0gaW52U1o7XG5cblx0XHRcdHF1YXRlcm5pb24uc2V0RnJvbVJvdGF0aW9uTWF0cml4KCBtYXRyaXggKTtcblxuXHRcdFx0c2NhbGUueCA9IHN4O1xuXHRcdFx0c2NhbGUueSA9IHN5O1xuXHRcdFx0c2NhbGUueiA9IHN6O1xuXG5cdFx0XHRyZXR1cm4gdGhpcztcblxuXHRcdH07XG5cblx0fSgpLFxuXG5cdG1ha2VQZXJzcGVjdGl2ZTogZnVuY3Rpb24gKCBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20sIG5lYXIsIGZhciApIHtcblxuXHRcdGlmICggZmFyID09PSB1bmRlZmluZWQgKSB7XG5cblx0XHRcdGNvbnNvbGUud2FybiggJ1RIUkVFLk1hdHJpeDQ6IC5tYWtlUGVyc3BlY3RpdmUoKSBoYXMgYmVlbiByZWRlZmluZWQgYW5kIGhhcyBhIG5ldyBzaWduYXR1cmUuIFBsZWFzZSBjaGVjayB0aGUgZG9jcy4nICk7XG5cblx0XHR9XG5cblx0XHR2YXIgdGUgPSB0aGlzLmVsZW1lbnRzO1xuXHRcdHZhciB4ID0gMiAqIG5lYXIgLyAoIHJpZ2h0IC0gbGVmdCApO1xuXHRcdHZhciB5ID0gMiAqIG5lYXIgLyAoIHRvcCAtIGJvdHRvbSApO1xuXG5cdFx0dmFyIGEgPSAoIHJpZ2h0ICsgbGVmdCApIC8gKCByaWdodCAtIGxlZnQgKTtcblx0XHR2YXIgYiA9ICggdG9wICsgYm90dG9tICkgLyAoIHRvcCAtIGJvdHRvbSApO1xuXHRcdHZhciBjID0gLSAoIGZhciArIG5lYXIgKSAvICggZmFyIC0gbmVhciApO1xuXHRcdHZhciBkID0gLSAyICogZmFyICogbmVhciAvICggZmFyIC0gbmVhciApO1xuXG5cdFx0dGVbIDAgXSA9IHg7XHR0ZVsgNCBdID0gMDtcdHRlWyA4IF0gPSBhO1x0dGVbIDEyIF0gPSAwO1xuXHRcdHRlWyAxIF0gPSAwO1x0dGVbIDUgXSA9IHk7XHR0ZVsgOSBdID0gYjtcdHRlWyAxMyBdID0gMDtcblx0XHR0ZVsgMiBdID0gMDtcdHRlWyA2IF0gPSAwO1x0dGVbIDEwIF0gPSBjO1x0dGVbIDE0IF0gPSBkO1xuXHRcdHRlWyAzIF0gPSAwO1x0dGVbIDcgXSA9IDA7XHR0ZVsgMTEgXSA9IC0gMTtcdHRlWyAxNSBdID0gMDtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0bWFrZU9ydGhvZ3JhcGhpYzogZnVuY3Rpb24gKCBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20sIG5lYXIsIGZhciApIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cdFx0dmFyIHcgPSAxLjAgLyAoIHJpZ2h0IC0gbGVmdCApO1xuXHRcdHZhciBoID0gMS4wIC8gKCB0b3AgLSBib3R0b20gKTtcblx0XHR2YXIgcCA9IDEuMCAvICggZmFyIC0gbmVhciApO1xuXG5cdFx0dmFyIHggPSAoIHJpZ2h0ICsgbGVmdCApICogdztcblx0XHR2YXIgeSA9ICggdG9wICsgYm90dG9tICkgKiBoO1xuXHRcdHZhciB6ID0gKCBmYXIgKyBuZWFyICkgKiBwO1xuXG5cdFx0dGVbIDAgXSA9IDIgKiB3O1x0dGVbIDQgXSA9IDA7XHR0ZVsgOCBdID0gMDtcdHRlWyAxMiBdID0gLSB4O1xuXHRcdHRlWyAxIF0gPSAwO1x0dGVbIDUgXSA9IDIgKiBoO1x0dGVbIDkgXSA9IDA7XHR0ZVsgMTMgXSA9IC0geTtcblx0XHR0ZVsgMiBdID0gMDtcdHRlWyA2IF0gPSAwO1x0dGVbIDEwIF0gPSAtIDIgKiBwO1x0dGVbIDE0IF0gPSAtIHo7XG5cdFx0dGVbIDMgXSA9IDA7XHR0ZVsgNyBdID0gMDtcdHRlWyAxMSBdID0gMDtcdHRlWyAxNSBdID0gMTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0ZXF1YWxzOiBmdW5jdGlvbiAoIG1hdHJpeCApIHtcblxuXHRcdHZhciB0ZSA9IHRoaXMuZWxlbWVudHM7XG5cdFx0dmFyIG1lID0gbWF0cml4LmVsZW1lbnRzO1xuXG5cdFx0Zm9yICggdmFyIGkgPSAwOyBpIDwgMTY7IGkgKysgKSB7XG5cblx0XHRcdGlmICggdGVbIGkgXSAhPT0gbWVbIGkgXSApIHJldHVybiBmYWxzZTtcblxuXHRcdH1cblxuXHRcdHJldHVybiB0cnVlO1xuXG5cdH0sXG5cblx0ZnJvbUFycmF5OiBmdW5jdGlvbiAoIGFycmF5LCBvZmZzZXQgKSB7XG5cblx0XHRpZiAoIG9mZnNldCA9PT0gdW5kZWZpbmVkICkgb2Zmc2V0ID0gMDtcblxuXHRcdGZvciAoIHZhciBpID0gMDsgaSA8IDE2OyBpICsrICkge1xuXG5cdFx0XHR0aGlzLmVsZW1lbnRzWyBpIF0gPSBhcnJheVsgaSArIG9mZnNldCBdO1xuXG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHR0b0FycmF5OiBmdW5jdGlvbiAoIGFycmF5LCBvZmZzZXQgKSB7XG5cblx0XHRpZiAoIGFycmF5ID09PSB1bmRlZmluZWQgKSBhcnJheSA9IFtdO1xuXHRcdGlmICggb2Zmc2V0ID09PSB1bmRlZmluZWQgKSBvZmZzZXQgPSAwO1xuXG5cdFx0dmFyIHRlID0gdGhpcy5lbGVtZW50cztcblxuXHRcdGFycmF5WyBvZmZzZXQgXSA9IHRlWyAwIF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDEgXSA9IHRlWyAxIF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDIgXSA9IHRlWyAyIF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDMgXSA9IHRlWyAzIF07XG5cblx0XHRhcnJheVsgb2Zmc2V0ICsgNCBdID0gdGVbIDQgXTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgNSBdID0gdGVbIDUgXTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgNiBdID0gdGVbIDYgXTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgNyBdID0gdGVbIDcgXTtcblxuXHRcdGFycmF5WyBvZmZzZXQgKyA4IF0gPSB0ZVsgOCBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyA5IF0gPSB0ZVsgOSBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyAxMCBdID0gdGVbIDEwIF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDExIF0gPSB0ZVsgMTEgXTtcblxuXHRcdGFycmF5WyBvZmZzZXQgKyAxMiBdID0gdGVbIDEyIF07XG5cdFx0YXJyYXlbIG9mZnNldCArIDEzIF0gPSB0ZVsgMTMgXTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMTQgXSA9IHRlWyAxNCBdO1xuXHRcdGFycmF5WyBvZmZzZXQgKyAxNSBdID0gdGVbIDE1IF07XG5cblx0XHRyZXR1cm4gYXJyYXk7XG5cblx0fVxuXG59ICk7XG5cblxuZXhwb3J0IHsgTWF0cml4NCB9OyJdfQ==
@@ -442,4 +442,4 @@ Object.assign(Quaternion.prototype, {
442
442
  _onChangeCallback: function () {}
443
443
  });
444
444
  export { Quaternion };
445
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL1F1YXRlcm5pb24uanMiXSwibmFtZXMiOlsiX01hdGgiLCJRdWF0ZXJuaW9uIiwieCIsInkiLCJ6IiwidyIsIl94IiwiX3kiLCJfeiIsIl93IiwidW5kZWZpbmVkIiwiT2JqZWN0IiwiYXNzaWduIiwic2xlcnAiLCJxYSIsInFiIiwicW0iLCJ0IiwiY29weSIsInNsZXJwRmxhdCIsImRzdCIsImRzdE9mZnNldCIsInNyYzAiLCJzcmNPZmZzZXQwIiwic3JjMSIsInNyY09mZnNldDEiLCJ4MCIsInkwIiwiejAiLCJ3MCIsIngxIiwieTEiLCJ6MSIsIncxIiwicyIsImNvcyIsImRpciIsInNxclNpbiIsIk51bWJlciIsIkVQU0lMT04iLCJzaW4iLCJNYXRoIiwic3FydCIsImxlbiIsImF0YW4yIiwidERpciIsImYiLCJkZWZpbmVQcm9wZXJ0aWVzIiwicHJvdG90eXBlIiwiZ2V0Iiwic2V0IiwidmFsdWUiLCJfb25DaGFuZ2VDYWxsYmFjayIsImlzUXVhdGVybmlvbiIsImNsb25lIiwiY29uc3RydWN0b3IiLCJxdWF0ZXJuaW9uIiwic2V0RnJvbUV1bGVyIiwiZXVsZXIiLCJ1cGRhdGUiLCJpc0V1bGVyIiwiRXJyb3IiLCJvcmRlciIsImMxIiwiYzIiLCJjMyIsInMxIiwiczIiLCJzMyIsInNldEZyb21BeGlzQW5nbGUiLCJheGlzIiwiYW5nbGUiLCJoYWxmQW5nbGUiLCJzZXRGcm9tUm90YXRpb25NYXRyaXgiLCJtIiwidGUiLCJlbGVtZW50cyIsIm0xMSIsIm0xMiIsIm0xMyIsIm0yMSIsIm0yMiIsIm0yMyIsIm0zMSIsIm0zMiIsIm0zMyIsInRyYWNlIiwic2V0RnJvbVVuaXRWZWN0b3JzIiwidkZyb20iLCJ2VG8iLCJFUFMiLCJyIiwiZG90IiwiYWJzIiwibm9ybWFsaXplIiwiYW5nbGVUbyIsInEiLCJhY29zIiwiY2xhbXAiLCJyb3RhdGVUb3dhcmRzIiwic3RlcCIsIm1pbiIsImludmVyc2UiLCJjb25qdWdhdGUiLCJ2IiwibGVuZ3RoU3EiLCJsZW5ndGgiLCJsIiwibXVsdGlwbHkiLCJwIiwiY29uc29sZSIsIndhcm4iLCJtdWx0aXBseVF1YXRlcm5pb25zIiwicHJlbXVsdGlwbHkiLCJhIiwiYiIsInFheCIsInFheSIsInFheiIsInFhdyIsInFieCIsInFieSIsInFieiIsInFidyIsImNvc0hhbGZUaGV0YSIsInNxclNpbkhhbGZUaGV0YSIsInNpbkhhbGZUaGV0YSIsImhhbGZUaGV0YSIsInJhdGlvQSIsInJhdGlvQiIsImVxdWFscyIsImZyb21BcnJheSIsImFycmF5Iiwib2Zmc2V0IiwidG9BcnJheSIsIl9vbkNoYW5nZSIsImNhbGxiYWNrIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0FBT0EsU0FBU0EsS0FBVCxRQUFzQixXQUF0Qjs7QUFFQSxTQUFTQyxVQUFULENBQXFCQyxDQUFyQixFQUF3QkMsQ0FBeEIsRUFBMkJDLENBQTNCLEVBQThCQyxDQUE5QixFQUFrQztBQUVqQyxPQUFLQyxFQUFMLEdBQVVKLENBQUMsSUFBSSxDQUFmO0FBQ0EsT0FBS0ssRUFBTCxHQUFVSixDQUFDLElBQUksQ0FBZjtBQUNBLE9BQUtLLEVBQUwsR0FBVUosQ0FBQyxJQUFJLENBQWY7QUFDQSxPQUFLSyxFQUFMLEdBQVlKLENBQUMsS0FBS0ssU0FBUixHQUFzQkwsQ0FBdEIsR0FBMEIsQ0FBcEM7QUFFQTs7QUFFRE0sTUFBTSxDQUFDQyxNQUFQLENBQWVYLFVBQWYsRUFBMkI7QUFFMUJZLEVBQUFBLEtBQUssRUFBRSxVQUFXQyxFQUFYLEVBQWVDLEVBQWYsRUFBbUJDLEVBQW5CLEVBQXVCQyxDQUF2QixFQUEyQjtBQUVqQyxXQUFPRCxFQUFFLENBQUNFLElBQUgsQ0FBU0osRUFBVCxFQUFjRCxLQUFkLENBQXFCRSxFQUFyQixFQUF5QkUsQ0FBekIsQ0FBUDtBQUVBLEdBTnlCO0FBUTFCRSxFQUFBQSxTQUFTLEVBQUUsVUFBV0MsR0FBWCxFQUFnQkMsU0FBaEIsRUFBMkJDLElBQTNCLEVBQWlDQyxVQUFqQyxFQUE2Q0MsSUFBN0MsRUFBbURDLFVBQW5ELEVBQStEUixDQUEvRCxFQUFtRTtBQUU3RTtBQUVBLFFBQUlTLEVBQUUsR0FBR0osSUFBSSxDQUFFQyxVQUFVLEdBQUcsQ0FBZixDQUFiO0FBQUEsUUFDQ0ksRUFBRSxHQUFHTCxJQUFJLENBQUVDLFVBQVUsR0FBRyxDQUFmLENBRFY7QUFBQSxRQUVDSyxFQUFFLEdBQUdOLElBQUksQ0FBRUMsVUFBVSxHQUFHLENBQWYsQ0FGVjtBQUFBLFFBR0NNLEVBQUUsR0FBR1AsSUFBSSxDQUFFQyxVQUFVLEdBQUcsQ0FBZixDQUhWO0FBQUEsUUFLQ08sRUFBRSxHQUFHTixJQUFJLENBQUVDLFVBQVUsR0FBRyxDQUFmLENBTFY7QUFBQSxRQU1DTSxFQUFFLEdBQUdQLElBQUksQ0FBRUMsVUFBVSxHQUFHLENBQWYsQ0FOVjtBQUFBLFFBT0NPLEVBQUUsR0FBR1IsSUFBSSxDQUFFQyxVQUFVLEdBQUcsQ0FBZixDQVBWO0FBQUEsUUFRQ1EsRUFBRSxHQUFHVCxJQUFJLENBQUVDLFVBQVUsR0FBRyxDQUFmLENBUlY7O0FBVUEsUUFBS0ksRUFBRSxLQUFLSSxFQUFQLElBQWFQLEVBQUUsS0FBS0ksRUFBcEIsSUFBMEJILEVBQUUsS0FBS0ksRUFBakMsSUFBdUNILEVBQUUsS0FBS0ksRUFBbkQsRUFBd0Q7QUFFdkQsVUFBSUUsQ0FBQyxHQUFHLElBQUlqQixDQUFaO0FBQUEsVUFFQ2tCLEdBQUcsR0FBR1QsRUFBRSxHQUFHSSxFQUFMLEdBQVVILEVBQUUsR0FBR0ksRUFBZixHQUFvQkgsRUFBRSxHQUFHSSxFQUF6QixHQUE4QkgsRUFBRSxHQUFHSSxFQUYxQztBQUFBLFVBSUNHLEdBQUcsR0FBS0QsR0FBRyxJQUFJLENBQVAsR0FBVyxDQUFYLEdBQWUsQ0FBRSxDQUoxQjtBQUFBLFVBS0NFLE1BQU0sR0FBRyxJQUFJRixHQUFHLEdBQUdBLEdBTHBCLENBRnVELENBU3ZEOztBQUNBLFVBQUtFLE1BQU0sR0FBR0MsTUFBTSxDQUFDQyxPQUFyQixFQUErQjtBQUU5QixZQUFJQyxHQUFHLEdBQUdDLElBQUksQ0FBQ0MsSUFBTCxDQUFXTCxNQUFYLENBQVY7QUFBQSxZQUNDTSxHQUFHLEdBQUdGLElBQUksQ0FBQ0csS0FBTCxDQUFZSixHQUFaLEVBQWlCTCxHQUFHLEdBQUdDLEdBQXZCLENBRFA7QUFHQUYsUUFBQUEsQ0FBQyxHQUFHTyxJQUFJLENBQUNELEdBQUwsQ0FBVU4sQ0FBQyxHQUFHUyxHQUFkLElBQXNCSCxHQUExQjtBQUNBdkIsUUFBQUEsQ0FBQyxHQUFHd0IsSUFBSSxDQUFDRCxHQUFMLENBQVV2QixDQUFDLEdBQUcwQixHQUFkLElBQXNCSCxHQUExQjtBQUVBOztBQUVELFVBQUlLLElBQUksR0FBRzVCLENBQUMsR0FBR21CLEdBQWY7QUFFQVYsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLEdBQUdRLENBQUwsR0FBU0osRUFBRSxHQUFHZSxJQUFuQjtBQUNBbEIsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLEdBQUdPLENBQUwsR0FBU0gsRUFBRSxHQUFHYyxJQUFuQjtBQUNBakIsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLEdBQUdNLENBQUwsR0FBU0YsRUFBRSxHQUFHYSxJQUFuQjtBQUNBaEIsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLEdBQUdLLENBQUwsR0FBU0QsRUFBRSxHQUFHWSxJQUFuQixDQXpCdUQsQ0EyQnZEOztBQUNBLFVBQUtYLENBQUMsS0FBSyxJQUFJakIsQ0FBZixFQUFtQjtBQUVsQixZQUFJNkIsQ0FBQyxHQUFHLElBQUlMLElBQUksQ0FBQ0MsSUFBTCxDQUFXaEIsRUFBRSxHQUFHQSxFQUFMLEdBQVVDLEVBQUUsR0FBR0EsRUFBZixHQUFvQkMsRUFBRSxHQUFHQSxFQUF6QixHQUE4QkMsRUFBRSxHQUFHQSxFQUE5QyxDQUFaO0FBRUFILFFBQUFBLEVBQUUsSUFBSW9CLENBQU47QUFDQW5CLFFBQUFBLEVBQUUsSUFBSW1CLENBQU47QUFDQWxCLFFBQUFBLEVBQUUsSUFBSWtCLENBQU47QUFDQWpCLFFBQUFBLEVBQUUsSUFBSWlCLENBQU47QUFFQTtBQUVEOztBQUVEMUIsSUFBQUEsR0FBRyxDQUFFQyxTQUFGLENBQUgsR0FBbUJLLEVBQW5CO0FBQ0FOLElBQUFBLEdBQUcsQ0FBRUMsU0FBUyxHQUFHLENBQWQsQ0FBSCxHQUF1Qk0sRUFBdkI7QUFDQVAsSUFBQUEsR0FBRyxDQUFFQyxTQUFTLEdBQUcsQ0FBZCxDQUFILEdBQXVCTyxFQUF2QjtBQUNBUixJQUFBQSxHQUFHLENBQUVDLFNBQVMsR0FBRyxDQUFkLENBQUgsR0FBdUJRLEVBQXZCO0FBRUE7QUFwRXlCLENBQTNCO0FBd0VBbEIsTUFBTSxDQUFDb0MsZ0JBQVAsQ0FBeUI5QyxVQUFVLENBQUMrQyxTQUFwQyxFQUErQztBQUU5QzlDLEVBQUFBLENBQUMsRUFBRTtBQUVGK0MsSUFBQUEsR0FBRyxFQUFFLFlBQVk7QUFFaEIsYUFBTyxLQUFLM0MsRUFBWjtBQUVBLEtBTkM7QUFRRjRDLElBQUFBLEdBQUcsRUFBRSxVQUFXQyxLQUFYLEVBQW1CO0FBRXZCLFdBQUs3QyxFQUFMLEdBQVU2QyxLQUFWOztBQUNBLFdBQUtDLGlCQUFMO0FBRUE7QUFiQyxHQUYyQztBQW1COUNqRCxFQUFBQSxDQUFDLEVBQUU7QUFFRjhDLElBQUFBLEdBQUcsRUFBRSxZQUFZO0FBRWhCLGFBQU8sS0FBSzFDLEVBQVo7QUFFQSxLQU5DO0FBUUYyQyxJQUFBQSxHQUFHLEVBQUUsVUFBV0MsS0FBWCxFQUFtQjtBQUV2QixXQUFLNUMsRUFBTCxHQUFVNEMsS0FBVjs7QUFDQSxXQUFLQyxpQkFBTDtBQUVBO0FBYkMsR0FuQjJDO0FBb0M5Q2hELEVBQUFBLENBQUMsRUFBRTtBQUVGNkMsSUFBQUEsR0FBRyxFQUFFLFlBQVk7QUFFaEIsYUFBTyxLQUFLekMsRUFBWjtBQUVBLEtBTkM7QUFRRjBDLElBQUFBLEdBQUcsRUFBRSxVQUFXQyxLQUFYLEVBQW1CO0FBRXZCLFdBQUszQyxFQUFMLEdBQVUyQyxLQUFWOztBQUNBLFdBQUtDLGlCQUFMO0FBRUE7QUFiQyxHQXBDMkM7QUFxRDlDL0MsRUFBQUEsQ0FBQyxFQUFFO0FBRUY0QyxJQUFBQSxHQUFHLEVBQUUsWUFBWTtBQUVoQixhQUFPLEtBQUt4QyxFQUFaO0FBRUEsS0FOQztBQVFGeUMsSUFBQUEsR0FBRyxFQUFFLFVBQVdDLEtBQVgsRUFBbUI7QUFFdkIsV0FBSzFDLEVBQUwsR0FBVTBDLEtBQVY7O0FBQ0EsV0FBS0MsaUJBQUw7QUFFQTtBQWJDO0FBckQyQyxDQUEvQztBQXdFQXpDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFlWCxVQUFVLENBQUMrQyxTQUExQixFQUFxQztBQUVwQ0ssRUFBQUEsWUFBWSxFQUFFLElBRnNCO0FBSXBDSCxFQUFBQSxHQUFHLEVBQUUsVUFBV2hELENBQVgsRUFBY0MsQ0FBZCxFQUFpQkMsQ0FBakIsRUFBb0JDLENBQXBCLEVBQXdCO0FBRTVCLFNBQUtDLEVBQUwsR0FBVUosQ0FBVjtBQUNBLFNBQUtLLEVBQUwsR0FBVUosQ0FBVjtBQUNBLFNBQUtLLEVBQUwsR0FBVUosQ0FBVjtBQUNBLFNBQUtLLEVBQUwsR0FBVUosQ0FBVjs7QUFFQSxTQUFLK0MsaUJBQUw7O0FBRUEsV0FBTyxJQUFQO0FBRUEsR0FmbUM7QUFpQnBDRSxFQUFBQSxLQUFLLEVBQUUsWUFBWTtBQUVsQixXQUFPLElBQUksS0FBS0MsV0FBVCxDQUFzQixLQUFLakQsRUFBM0IsRUFBK0IsS0FBS0MsRUFBcEMsRUFBd0MsS0FBS0MsRUFBN0MsRUFBaUQsS0FBS0MsRUFBdEQsQ0FBUDtBQUVBLEdBckJtQztBQXVCcENTLEVBQUFBLElBQUksRUFBRSxVQUFXc0MsVUFBWCxFQUF3QjtBQUU3QixTQUFLbEQsRUFBTCxHQUFVa0QsVUFBVSxDQUFDdEQsQ0FBckI7QUFDQSxTQUFLSyxFQUFMLEdBQVVpRCxVQUFVLENBQUNyRCxDQUFyQjtBQUNBLFNBQUtLLEVBQUwsR0FBVWdELFVBQVUsQ0FBQ3BELENBQXJCO0FBQ0EsU0FBS0ssRUFBTCxHQUFVK0MsVUFBVSxDQUFDbkQsQ0FBckI7O0FBRUEsU0FBSytDLGlCQUFMOztBQUVBLFdBQU8sSUFBUDtBQUVBLEdBbENtQztBQW9DcENLLEVBQUFBLFlBQVksRUFBRSxVQUFXQyxLQUFYLEVBQWtCQyxNQUFsQixFQUEyQjtBQUV4QyxRQUFLLEVBQUlELEtBQUssSUFBSUEsS0FBSyxDQUFDRSxPQUFuQixDQUFMLEVBQW9DO0FBRW5DLFlBQU0sSUFBSUMsS0FBSixDQUFXLGtHQUFYLENBQU47QUFFQTs7QUFFRCxRQUFJM0QsQ0FBQyxHQUFHd0QsS0FBSyxDQUFDcEQsRUFBZDtBQUFBLFFBQWtCSCxDQUFDLEdBQUd1RCxLQUFLLENBQUNuRCxFQUE1QjtBQUFBLFFBQWdDSCxDQUFDLEdBQUdzRCxLQUFLLENBQUNsRCxFQUExQztBQUFBLFFBQThDc0QsS0FBSyxHQUFHSixLQUFLLENBQUNJLEtBQTVELENBUndDLENBVXhDO0FBQ0E7QUFDQTs7QUFFQSxRQUFJM0IsR0FBRyxHQUFHTSxJQUFJLENBQUNOLEdBQWY7QUFDQSxRQUFJSyxHQUFHLEdBQUdDLElBQUksQ0FBQ0QsR0FBZjtBQUVBLFFBQUl1QixFQUFFLEdBQUc1QixHQUFHLENBQUVqQyxDQUFDLEdBQUcsQ0FBTixDQUFaO0FBQ0EsUUFBSThELEVBQUUsR0FBRzdCLEdBQUcsQ0FBRWhDLENBQUMsR0FBRyxDQUFOLENBQVo7QUFDQSxRQUFJOEQsRUFBRSxHQUFHOUIsR0FBRyxDQUFFL0IsQ0FBQyxHQUFHLENBQU4sQ0FBWjtBQUVBLFFBQUk4RCxFQUFFLEdBQUcxQixHQUFHLENBQUV0QyxDQUFDLEdBQUcsQ0FBTixDQUFaO0FBQ0EsUUFBSWlFLEVBQUUsR0FBRzNCLEdBQUcsQ0FBRXJDLENBQUMsR0FBRyxDQUFOLENBQVo7QUFDQSxRQUFJaUUsRUFBRSxHQUFHNUIsR0FBRyxDQUFFcEMsQ0FBQyxHQUFHLENBQU4sQ0FBWjs7QUFFQSxRQUFLMEQsS0FBSyxLQUFLLEtBQWYsRUFBdUI7QUFFdEIsV0FBS3hELEVBQUwsR0FBVTRELEVBQUUsR0FBR0YsRUFBTCxHQUFVQyxFQUFWLEdBQWVGLEVBQUUsR0FBR0ksRUFBTCxHQUFVQyxFQUFuQztBQUNBLFdBQUs3RCxFQUFMLEdBQVV3RCxFQUFFLEdBQUdJLEVBQUwsR0FBVUYsRUFBVixHQUFlQyxFQUFFLEdBQUdGLEVBQUwsR0FBVUksRUFBbkM7QUFDQSxXQUFLNUQsRUFBTCxHQUFVdUQsRUFBRSxHQUFHQyxFQUFMLEdBQVVJLEVBQVYsR0FBZUYsRUFBRSxHQUFHQyxFQUFMLEdBQVVGLEVBQW5DO0FBQ0EsV0FBS3hELEVBQUwsR0FBVXNELEVBQUUsR0FBR0MsRUFBTCxHQUFVQyxFQUFWLEdBQWVDLEVBQUUsR0FBR0MsRUFBTCxHQUFVQyxFQUFuQztBQUVBLEtBUEQsTUFPTyxJQUFLTixLQUFLLEtBQUssS0FBZixFQUF1QjtBQUU3QixXQUFLeEQsRUFBTCxHQUFVNEQsRUFBRSxHQUFHRixFQUFMLEdBQVVDLEVBQVYsR0FBZUYsRUFBRSxHQUFHSSxFQUFMLEdBQVVDLEVBQW5DO0FBQ0EsV0FBSzdELEVBQUwsR0FBVXdELEVBQUUsR0FBR0ksRUFBTCxHQUFVRixFQUFWLEdBQWVDLEVBQUUsR0FBR0YsRUFBTCxHQUFVSSxFQUFuQztBQUNBLFdBQUs1RCxFQUFMLEdBQVV1RCxFQUFFLEdBQUdDLEVBQUwsR0FBVUksRUFBVixHQUFlRixFQUFFLEdBQUdDLEVBQUwsR0FBVUYsRUFBbkM7QUFDQSxXQUFLeEQsRUFBTCxHQUFVc0QsRUFBRSxHQUFHQyxFQUFMLEdBQVVDLEVBQVYsR0FBZUMsRUFBRSxHQUFHQyxFQUFMLEdBQVVDLEVBQW5DO0FBRUEsS0FQTSxNQU9BLElBQUtOLEtBQUssS0FBSyxLQUFmLEVBQXVCO0FBRTdCLFdBQUt4RCxFQUFMLEdBQVU0RCxFQUFFLEdBQUdGLEVBQUwsR0FBVUMsRUFBVixHQUFlRixFQUFFLEdBQUdJLEVBQUwsR0FBVUMsRUFBbkM7QUFDQSxXQUFLN0QsRUFBTCxHQUFVd0QsRUFBRSxHQUFHSSxFQUFMLEdBQVVGLEVBQVYsR0FBZUMsRUFBRSxHQUFHRixFQUFMLEdBQVVJLEVBQW5DO0FBQ0EsV0FBSzVELEVBQUwsR0FBVXVELEVBQUUsR0FBR0MsRUFBTCxHQUFVSSxFQUFWLEdBQWVGLEVBQUUsR0FBR0MsRUFBTCxHQUFVRixFQUFuQztBQUNBLFdBQUt4RCxFQUFMLEdBQVVzRCxFQUFFLEdBQUdDLEVBQUwsR0FBVUMsRUFBVixHQUFlQyxFQUFFLEdBQUdDLEVBQUwsR0FBVUMsRUFBbkM7QUFFQSxLQVBNLE1BT0EsSUFBS04sS0FBSyxLQUFLLEtBQWYsRUFBdUI7QUFFN0IsV0FBS3hELEVBQUwsR0FBVTRELEVBQUUsR0FBR0YsRUFBTCxHQUFVQyxFQUFWLEdBQWVGLEVBQUUsR0FBR0ksRUFBTCxHQUFVQyxFQUFuQztBQUNBLFdBQUs3RCxFQUFMLEdBQVV3RCxFQUFFLEdBQUdJLEVBQUwsR0FBVUYsRUFBVixHQUFlQyxFQUFFLEdBQUdGLEVBQUwsR0FBVUksRUFBbkM7QUFDQSxXQUFLNUQsRUFBTCxHQUFVdUQsRUFBRSxHQUFHQyxFQUFMLEdBQVVJLEVBQVYsR0FBZUYsRUFBRSxHQUFHQyxFQUFMLEdBQVVGLEVBQW5DO0FBQ0EsV0FBS3hELEVBQUwsR0FBVXNELEVBQUUsR0FBR0MsRUFBTCxHQUFVQyxFQUFWLEdBQWVDLEVBQUUsR0FBR0MsRUFBTCxHQUFVQyxFQUFuQztBQUVBLEtBUE0sTUFPQSxJQUFLTixLQUFLLEtBQUssS0FBZixFQUF1QjtBQUU3QixXQUFLeEQsRUFBTCxHQUFVNEQsRUFBRSxHQUFHRixFQUFMLEdBQVVDLEVBQVYsR0FBZUYsRUFBRSxHQUFHSSxFQUFMLEdBQVVDLEVBQW5DO0FBQ0EsV0FBSzdELEVBQUwsR0FBVXdELEVBQUUsR0FBR0ksRUFBTCxHQUFVRixFQUFWLEdBQWVDLEVBQUUsR0FBR0YsRUFBTCxHQUFVSSxFQUFuQztBQUNBLFdBQUs1RCxFQUFMLEdBQVV1RCxFQUFFLEdBQUdDLEVBQUwsR0FBVUksRUFBVixHQUFlRixFQUFFLEdBQUdDLEVBQUwsR0FBVUYsRUFBbkM7QUFDQSxXQUFLeEQsRUFBTCxHQUFVc0QsRUFBRSxHQUFHQyxFQUFMLEdBQVVDLEVBQVYsR0FBZUMsRUFBRSxHQUFHQyxFQUFMLEdBQVVDLEVBQW5DO0FBRUEsS0FQTSxNQU9BLElBQUtOLEtBQUssS0FBSyxLQUFmLEVBQXVCO0FBRTdCLFdBQUt4RCxFQUFMLEdBQVU0RCxFQUFFLEdBQUdGLEVBQUwsR0FBVUMsRUFBVixHQUFlRixFQUFFLEdBQUdJLEVBQUwsR0FBVUMsRUFBbkM7QUFDQSxXQUFLN0QsRUFBTCxHQUFVd0QsRUFBRSxHQUFHSSxFQUFMLEdBQVVGLEVBQVYsR0FBZUMsRUFBRSxHQUFHRixFQUFMLEdBQVVJLEVBQW5DO0FBQ0EsV0FBSzVELEVBQUwsR0FBVXVELEVBQUUsR0FBR0MsRUFBTCxHQUFVSSxFQUFWLEdBQWVGLEVBQUUsR0FBR0MsRUFBTCxHQUFVRixFQUFuQztBQUNBLFdBQUt4RCxFQUFMLEdBQVVzRCxFQUFFLEdBQUdDLEVBQUwsR0FBVUMsRUFBVixHQUFlQyxFQUFFLEdBQUdDLEVBQUwsR0FBVUMsRUFBbkM7QUFFQTs7QUFFRCxRQUFLVCxNQUFNLEtBQUssS0FBaEIsRUFBd0IsS0FBS1AsaUJBQUw7QUFFeEIsV0FBTyxJQUFQO0FBRUEsR0E3R21DO0FBK0dwQ2lCLEVBQUFBLGdCQUFnQixFQUFFLFVBQVdDLElBQVgsRUFBaUJDLEtBQWpCLEVBQXlCO0FBRTFDO0FBRUE7QUFFQSxRQUFJQyxTQUFTLEdBQUdELEtBQUssR0FBRyxDQUF4QjtBQUFBLFFBQTJCckMsQ0FBQyxHQUFHTyxJQUFJLENBQUNELEdBQUwsQ0FBVWdDLFNBQVYsQ0FBL0I7QUFFQSxTQUFLbEUsRUFBTCxHQUFVZ0UsSUFBSSxDQUFDcEUsQ0FBTCxHQUFTZ0MsQ0FBbkI7QUFDQSxTQUFLM0IsRUFBTCxHQUFVK0QsSUFBSSxDQUFDbkUsQ0FBTCxHQUFTK0IsQ0FBbkI7QUFDQSxTQUFLMUIsRUFBTCxHQUFVOEQsSUFBSSxDQUFDbEUsQ0FBTCxHQUFTOEIsQ0FBbkI7QUFDQSxTQUFLekIsRUFBTCxHQUFVZ0MsSUFBSSxDQUFDTixHQUFMLENBQVVxQyxTQUFWLENBQVY7O0FBRUEsU0FBS3BCLGlCQUFMOztBQUVBLFdBQU8sSUFBUDtBQUVBLEdBaEltQztBQWtJcENxQixFQUFBQSxxQkFBcUIsRUFBRSxVQUFXQyxDQUFYLEVBQWU7QUFFckM7QUFFQTtBQUVBLFFBQUlDLEVBQUUsR0FBR0QsQ0FBQyxDQUFDRSxRQUFYO0FBQUEsUUFFQ0MsR0FBRyxHQUFHRixFQUFFLENBQUUsQ0FBRixDQUZUO0FBQUEsUUFFZ0JHLEdBQUcsR0FBR0gsRUFBRSxDQUFFLENBQUYsQ0FGeEI7QUFBQSxRQUUrQkksR0FBRyxHQUFHSixFQUFFLENBQUUsQ0FBRixDQUZ2QztBQUFBLFFBR0NLLEdBQUcsR0FBR0wsRUFBRSxDQUFFLENBQUYsQ0FIVDtBQUFBLFFBR2dCTSxHQUFHLEdBQUdOLEVBQUUsQ0FBRSxDQUFGLENBSHhCO0FBQUEsUUFHK0JPLEdBQUcsR0FBR1AsRUFBRSxDQUFFLENBQUYsQ0FIdkM7QUFBQSxRQUlDUSxHQUFHLEdBQUdSLEVBQUUsQ0FBRSxDQUFGLENBSlQ7QUFBQSxRQUlnQlMsR0FBRyxHQUFHVCxFQUFFLENBQUUsQ0FBRixDQUp4QjtBQUFBLFFBSStCVSxHQUFHLEdBQUdWLEVBQUUsQ0FBRSxFQUFGLENBSnZDO0FBQUEsUUFNQ1csS0FBSyxHQUFHVCxHQUFHLEdBQUdJLEdBQU4sR0FBWUksR0FOckI7QUFBQSxRQU9DbkQsQ0FQRDs7QUFTQSxRQUFLb0QsS0FBSyxHQUFHLENBQWIsRUFBaUI7QUFFaEJwRCxNQUFBQSxDQUFDLEdBQUcsTUFBTU8sSUFBSSxDQUFDQyxJQUFMLENBQVc0QyxLQUFLLEdBQUcsR0FBbkIsQ0FBVjtBQUVBLFdBQUs3RSxFQUFMLEdBQVUsT0FBT3lCLENBQWpCO0FBQ0EsV0FBSzVCLEVBQUwsR0FBVSxDQUFFOEUsR0FBRyxHQUFHRixHQUFSLElBQWdCaEQsQ0FBMUI7QUFDQSxXQUFLM0IsRUFBTCxHQUFVLENBQUV3RSxHQUFHLEdBQUdJLEdBQVIsSUFBZ0JqRCxDQUExQjtBQUNBLFdBQUsxQixFQUFMLEdBQVUsQ0FBRXdFLEdBQUcsR0FBR0YsR0FBUixJQUFnQjVDLENBQTFCO0FBRUEsS0FURCxNQVNPLElBQUsyQyxHQUFHLEdBQUdJLEdBQU4sSUFBYUosR0FBRyxHQUFHUSxHQUF4QixFQUE4QjtBQUVwQ25ELE1BQUFBLENBQUMsR0FBRyxNQUFNTyxJQUFJLENBQUNDLElBQUwsQ0FBVyxNQUFNbUMsR0FBTixHQUFZSSxHQUFaLEdBQWtCSSxHQUE3QixDQUFWO0FBRUEsV0FBSzVFLEVBQUwsR0FBVSxDQUFFMkUsR0FBRyxHQUFHRixHQUFSLElBQWdCaEQsQ0FBMUI7QUFDQSxXQUFLNUIsRUFBTCxHQUFVLE9BQU80QixDQUFqQjtBQUNBLFdBQUszQixFQUFMLEdBQVUsQ0FBRXVFLEdBQUcsR0FBR0UsR0FBUixJQUFnQjlDLENBQTFCO0FBQ0EsV0FBSzFCLEVBQUwsR0FBVSxDQUFFdUUsR0FBRyxHQUFHSSxHQUFSLElBQWdCakQsQ0FBMUI7QUFFQSxLQVRNLE1BU0EsSUFBSytDLEdBQUcsR0FBR0ksR0FBWCxFQUFpQjtBQUV2Qm5ELE1BQUFBLENBQUMsR0FBRyxNQUFNTyxJQUFJLENBQUNDLElBQUwsQ0FBVyxNQUFNdUMsR0FBTixHQUFZSixHQUFaLEdBQWtCUSxHQUE3QixDQUFWO0FBRUEsV0FBSzVFLEVBQUwsR0FBVSxDQUFFc0UsR0FBRyxHQUFHSSxHQUFSLElBQWdCakQsQ0FBMUI7QUFDQSxXQUFLNUIsRUFBTCxHQUFVLENBQUV3RSxHQUFHLEdBQUdFLEdBQVIsSUFBZ0I5QyxDQUExQjtBQUNBLFdBQUszQixFQUFMLEdBQVUsT0FBTzJCLENBQWpCO0FBQ0EsV0FBSzFCLEVBQUwsR0FBVSxDQUFFMEUsR0FBRyxHQUFHRSxHQUFSLElBQWdCbEQsQ0FBMUI7QUFFQSxLQVRNLE1BU0E7QUFFTkEsTUFBQUEsQ0FBQyxHQUFHLE1BQU1PLElBQUksQ0FBQ0MsSUFBTCxDQUFXLE1BQU0yQyxHQUFOLEdBQVlSLEdBQVosR0FBa0JJLEdBQTdCLENBQVY7QUFFQSxXQUFLeEUsRUFBTCxHQUFVLENBQUV1RSxHQUFHLEdBQUdGLEdBQVIsSUFBZ0I1QyxDQUExQjtBQUNBLFdBQUs1QixFQUFMLEdBQVUsQ0FBRXlFLEdBQUcsR0FBR0ksR0FBUixJQUFnQmpELENBQTFCO0FBQ0EsV0FBSzNCLEVBQUwsR0FBVSxDQUFFMkUsR0FBRyxHQUFHRSxHQUFSLElBQWdCbEQsQ0FBMUI7QUFDQSxXQUFLMUIsRUFBTCxHQUFVLE9BQU8wQixDQUFqQjtBQUVBOztBQUVELFNBQUtrQixpQkFBTDs7QUFFQSxXQUFPLElBQVA7QUFFQSxHQTNMbUM7QUE2THBDbUMsRUFBQUEsa0JBQWtCLEVBQUUsVUFBV0MsS0FBWCxFQUFrQkMsR0FBbEIsRUFBd0I7QUFFM0M7QUFFQSxRQUFJQyxHQUFHLEdBQUcsUUFBVjtBQUVBLFFBQUlDLENBQUMsR0FBR0gsS0FBSyxDQUFDSSxHQUFOLENBQVdILEdBQVgsSUFBbUIsQ0FBM0I7O0FBRUEsUUFBS0UsQ0FBQyxHQUFHRCxHQUFULEVBQWU7QUFFZEMsTUFBQUEsQ0FBQyxHQUFHLENBQUo7O0FBRUEsVUFBS2xELElBQUksQ0FBQ29ELEdBQUwsQ0FBVUwsS0FBSyxDQUFDdEYsQ0FBaEIsSUFBc0J1QyxJQUFJLENBQUNvRCxHQUFMLENBQVVMLEtBQUssQ0FBQ3BGLENBQWhCLENBQTNCLEVBQWlEO0FBRWhELGFBQUtFLEVBQUwsR0FBVSxDQUFFa0YsS0FBSyxDQUFDckYsQ0FBbEI7QUFDQSxhQUFLSSxFQUFMLEdBQVVpRixLQUFLLENBQUN0RixDQUFoQjtBQUNBLGFBQUtNLEVBQUwsR0FBVSxDQUFWO0FBQ0EsYUFBS0MsRUFBTCxHQUFVa0YsQ0FBVjtBQUVBLE9BUEQsTUFPTztBQUVOLGFBQUtyRixFQUFMLEdBQVUsQ0FBVjtBQUNBLGFBQUtDLEVBQUwsR0FBVSxDQUFFaUYsS0FBSyxDQUFDcEYsQ0FBbEI7QUFDQSxhQUFLSSxFQUFMLEdBQVVnRixLQUFLLENBQUNyRixDQUFoQjtBQUNBLGFBQUtNLEVBQUwsR0FBVWtGLENBQVY7QUFFQTtBQUVELEtBcEJELE1Bb0JPO0FBRU47QUFFQSxXQUFLckYsRUFBTCxHQUFVa0YsS0FBSyxDQUFDckYsQ0FBTixHQUFVc0YsR0FBRyxDQUFDckYsQ0FBZCxHQUFrQm9GLEtBQUssQ0FBQ3BGLENBQU4sR0FBVXFGLEdBQUcsQ0FBQ3RGLENBQTFDO0FBQ0EsV0FBS0ksRUFBTCxHQUFVaUYsS0FBSyxDQUFDcEYsQ0FBTixHQUFVcUYsR0FBRyxDQUFDdkYsQ0FBZCxHQUFrQnNGLEtBQUssQ0FBQ3RGLENBQU4sR0FBVXVGLEdBQUcsQ0FBQ3JGLENBQTFDO0FBQ0EsV0FBS0ksRUFBTCxHQUFVZ0YsS0FBSyxDQUFDdEYsQ0FBTixHQUFVdUYsR0FBRyxDQUFDdEYsQ0FBZCxHQUFrQnFGLEtBQUssQ0FBQ3JGLENBQU4sR0FBVXNGLEdBQUcsQ0FBQ3ZGLENBQTFDO0FBQ0EsV0FBS08sRUFBTCxHQUFVa0YsQ0FBVjtBQUVBOztBQUVELFdBQU8sS0FBS0csU0FBTCxFQUFQO0FBRUEsR0F0T21DO0FBd09wQ0MsRUFBQUEsT0FBTyxFQUFFLFVBQVdDLENBQVgsRUFBZTtBQUV2QixXQUFPLElBQUl2RCxJQUFJLENBQUN3RCxJQUFMLENBQVd4RCxJQUFJLENBQUNvRCxHQUFMLENBQVU3RixLQUFLLENBQUNrRyxLQUFOLENBQWEsS0FBS04sR0FBTCxDQUFVSSxDQUFWLENBQWIsRUFBNEIsQ0FBRSxDQUE5QixFQUFpQyxDQUFqQyxDQUFWLENBQVgsQ0FBWDtBQUVBLEdBNU9tQztBQThPcENHLEVBQUFBLGFBQWEsRUFBRSxVQUFXSCxDQUFYLEVBQWNJLElBQWQsRUFBcUI7QUFFbkMsUUFBSTdCLEtBQUssR0FBRyxLQUFLd0IsT0FBTCxDQUFjQyxDQUFkLENBQVo7QUFFQSxRQUFLekIsS0FBSyxLQUFLLENBQWYsRUFBbUIsT0FBTyxJQUFQO0FBRW5CLFFBQUl0RCxDQUFDLEdBQUd3QixJQUFJLENBQUM0RCxHQUFMLENBQVUsQ0FBVixFQUFhRCxJQUFJLEdBQUc3QixLQUFwQixDQUFSO0FBRUEsU0FBSzFELEtBQUwsQ0FBWW1GLENBQVosRUFBZS9FLENBQWY7QUFFQSxXQUFPLElBQVA7QUFFQSxHQTFQbUM7QUE0UHBDcUYsRUFBQUEsT0FBTyxFQUFFLFlBQVk7QUFFcEI7QUFFQSxXQUFPLEtBQUtDLFNBQUwsRUFBUDtBQUVBLEdBbFFtQztBQW9RcENBLEVBQUFBLFNBQVMsRUFBRSxZQUFZO0FBRXRCLFNBQUtqRyxFQUFMLElBQVcsQ0FBRSxDQUFiO0FBQ0EsU0FBS0MsRUFBTCxJQUFXLENBQUUsQ0FBYjtBQUNBLFNBQUtDLEVBQUwsSUFBVyxDQUFFLENBQWI7O0FBRUEsU0FBSzRDLGlCQUFMOztBQUVBLFdBQU8sSUFBUDtBQUVBLEdBOVFtQztBQWdScEN3QyxFQUFBQSxHQUFHLEVBQUUsVUFBV1ksQ0FBWCxFQUFlO0FBRW5CLFdBQU8sS0FBS2xHLEVBQUwsR0FBVWtHLENBQUMsQ0FBQ2xHLEVBQVosR0FBaUIsS0FBS0MsRUFBTCxHQUFVaUcsQ0FBQyxDQUFDakcsRUFBN0IsR0FBa0MsS0FBS0MsRUFBTCxHQUFVZ0csQ0FBQyxDQUFDaEcsRUFBOUMsR0FBbUQsS0FBS0MsRUFBTCxHQUFVK0YsQ0FBQyxDQUFDL0YsRUFBdEU7QUFFQSxHQXBSbUM7QUFzUnBDZ0csRUFBQUEsUUFBUSxFQUFFLFlBQVk7QUFFckIsV0FBTyxLQUFLbkcsRUFBTCxHQUFVLEtBQUtBLEVBQWYsR0FBb0IsS0FBS0MsRUFBTCxHQUFVLEtBQUtBLEVBQW5DLEdBQXdDLEtBQUtDLEVBQUwsR0FBVSxLQUFLQSxFQUF2RCxHQUE0RCxLQUFLQyxFQUFMLEdBQVUsS0FBS0EsRUFBbEY7QUFFQSxHQTFSbUM7QUE0UnBDaUcsRUFBQUEsTUFBTSxFQUFFLFlBQVk7QUFFbkIsV0FBT2pFLElBQUksQ0FBQ0MsSUFBTCxDQUFXLEtBQUtwQyxFQUFMLEdBQVUsS0FBS0EsRUFBZixHQUFvQixLQUFLQyxFQUFMLEdBQVUsS0FBS0EsRUFBbkMsR0FBd0MsS0FBS0MsRUFBTCxHQUFVLEtBQUtBLEVBQXZELEdBQTRELEtBQUtDLEVBQUwsR0FBVSxLQUFLQSxFQUF0RixDQUFQO0FBRUEsR0FoU21DO0FBa1NwQ3FGLEVBQUFBLFNBQVMsRUFBRSxZQUFZO0FBRXRCLFFBQUlhLENBQUMsR0FBRyxLQUFLRCxNQUFMLEVBQVI7O0FBRUEsUUFBS0MsQ0FBQyxLQUFLLENBQVgsRUFBZTtBQUVkLFdBQUtyRyxFQUFMLEdBQVUsQ0FBVjtBQUNBLFdBQUtDLEVBQUwsR0FBVSxDQUFWO0FBQ0EsV0FBS0MsRUFBTCxHQUFVLENBQVY7QUFDQSxXQUFLQyxFQUFMLEdBQVUsQ0FBVjtBQUVBLEtBUEQsTUFPTztBQUVOa0csTUFBQUEsQ0FBQyxHQUFHLElBQUlBLENBQVI7QUFFQSxXQUFLckcsRUFBTCxHQUFVLEtBQUtBLEVBQUwsR0FBVXFHLENBQXBCO0FBQ0EsV0FBS3BHLEVBQUwsR0FBVSxLQUFLQSxFQUFMLEdBQVVvRyxDQUFwQjtBQUNBLFdBQUtuRyxFQUFMLEdBQVUsS0FBS0EsRUFBTCxHQUFVbUcsQ0FBcEI7QUFDQSxXQUFLbEcsRUFBTCxHQUFVLEtBQUtBLEVBQUwsR0FBVWtHLENBQXBCO0FBRUE7O0FBRUQsU0FBS3ZELGlCQUFMOztBQUVBLFdBQU8sSUFBUDtBQUVBLEdBNVRtQztBQThUcEN3RCxFQUFBQSxRQUFRLEVBQUUsVUFBV1osQ0FBWCxFQUFjYSxDQUFkLEVBQWtCO0FBRTNCLFFBQUtBLENBQUMsS0FBS25HLFNBQVgsRUFBdUI7QUFFdEJvRyxNQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FBYyx3R0FBZDtBQUNBLGFBQU8sS0FBS0MsbUJBQUwsQ0FBMEJoQixDQUExQixFQUE2QmEsQ0FBN0IsQ0FBUDtBQUVBOztBQUVELFdBQU8sS0FBS0csbUJBQUwsQ0FBMEIsSUFBMUIsRUFBZ0NoQixDQUFoQyxDQUFQO0FBRUEsR0F6VW1DO0FBMlVwQ2lCLEVBQUFBLFdBQVcsRUFBRSxVQUFXakIsQ0FBWCxFQUFlO0FBRTNCLFdBQU8sS0FBS2dCLG1CQUFMLENBQTBCaEIsQ0FBMUIsRUFBNkIsSUFBN0IsQ0FBUDtBQUVBLEdBL1VtQztBQWlWcENnQixFQUFBQSxtQkFBbUIsRUFBRSxVQUFXRSxDQUFYLEVBQWNDLENBQWQsRUFBa0I7QUFFdEM7QUFFQSxRQUFJQyxHQUFHLEdBQUdGLENBQUMsQ0FBQzVHLEVBQVo7QUFBQSxRQUFnQitHLEdBQUcsR0FBR0gsQ0FBQyxDQUFDM0csRUFBeEI7QUFBQSxRQUE0QitHLEdBQUcsR0FBR0osQ0FBQyxDQUFDMUcsRUFBcEM7QUFBQSxRQUF3QytHLEdBQUcsR0FBR0wsQ0FBQyxDQUFDekcsRUFBaEQ7QUFDQSxRQUFJK0csR0FBRyxHQUFHTCxDQUFDLENBQUM3RyxFQUFaO0FBQUEsUUFBZ0JtSCxHQUFHLEdBQUdOLENBQUMsQ0FBQzVHLEVBQXhCO0FBQUEsUUFBNEJtSCxHQUFHLEdBQUdQLENBQUMsQ0FBQzNHLEVBQXBDO0FBQUEsUUFBd0NtSCxHQUFHLEdBQUdSLENBQUMsQ0FBQzFHLEVBQWhEO0FBRUEsU0FBS0gsRUFBTCxHQUFVOEcsR0FBRyxHQUFHTyxHQUFOLEdBQVlKLEdBQUcsR0FBR0MsR0FBbEIsR0FBd0JILEdBQUcsR0FBR0ssR0FBOUIsR0FBb0NKLEdBQUcsR0FBR0csR0FBcEQ7QUFDQSxTQUFLbEgsRUFBTCxHQUFVOEcsR0FBRyxHQUFHTSxHQUFOLEdBQVlKLEdBQUcsR0FBR0UsR0FBbEIsR0FBd0JILEdBQUcsR0FBR0UsR0FBOUIsR0FBb0NKLEdBQUcsR0FBR00sR0FBcEQ7QUFDQSxTQUFLbEgsRUFBTCxHQUFVOEcsR0FBRyxHQUFHSyxHQUFOLEdBQVlKLEdBQUcsR0FBR0csR0FBbEIsR0FBd0JOLEdBQUcsR0FBR0ssR0FBOUIsR0FBb0NKLEdBQUcsR0FBR0csR0FBcEQ7QUFDQSxTQUFLL0csRUFBTCxHQUFVOEcsR0FBRyxHQUFHSSxHQUFOLEdBQVlQLEdBQUcsR0FBR0ksR0FBbEIsR0FBd0JILEdBQUcsR0FBR0ksR0FBOUIsR0FBb0NILEdBQUcsR0FBR0ksR0FBcEQ7O0FBRUEsU0FBS3RFLGlCQUFMOztBQUVBLFdBQU8sSUFBUDtBQUVBLEdBaldtQztBQW1XcEN2QyxFQUFBQSxLQUFLLEVBQUUsVUFBV0UsRUFBWCxFQUFlRSxDQUFmLEVBQW1CO0FBRXpCLFFBQUtBLENBQUMsS0FBSyxDQUFYLEVBQWUsT0FBTyxJQUFQO0FBQ2YsUUFBS0EsQ0FBQyxLQUFLLENBQVgsRUFBZSxPQUFPLEtBQUtDLElBQUwsQ0FBV0gsRUFBWCxDQUFQO0FBRWYsUUFBSWIsQ0FBQyxHQUFHLEtBQUtJLEVBQWI7QUFBQSxRQUFpQkgsQ0FBQyxHQUFHLEtBQUtJLEVBQTFCO0FBQUEsUUFBOEJILENBQUMsR0FBRyxLQUFLSSxFQUF2QztBQUFBLFFBQTJDSCxDQUFDLEdBQUcsS0FBS0ksRUFBcEQsQ0FMeUIsQ0FPekI7O0FBRUEsUUFBSW1ILFlBQVksR0FBR3ZILENBQUMsR0FBR1UsRUFBRSxDQUFDTixFQUFQLEdBQVlQLENBQUMsR0FBR2EsRUFBRSxDQUFDVCxFQUFuQixHQUF3QkgsQ0FBQyxHQUFHWSxFQUFFLENBQUNSLEVBQS9CLEdBQW9DSCxDQUFDLEdBQUdXLEVBQUUsQ0FBQ1AsRUFBOUQ7O0FBRUEsUUFBS29ILFlBQVksR0FBRyxDQUFwQixFQUF3QjtBQUV2QixXQUFLbkgsRUFBTCxHQUFVLENBQUVNLEVBQUUsQ0FBQ04sRUFBZjtBQUNBLFdBQUtILEVBQUwsR0FBVSxDQUFFUyxFQUFFLENBQUNULEVBQWY7QUFDQSxXQUFLQyxFQUFMLEdBQVUsQ0FBRVEsRUFBRSxDQUFDUixFQUFmO0FBQ0EsV0FBS0MsRUFBTCxHQUFVLENBQUVPLEVBQUUsQ0FBQ1AsRUFBZjtBQUVBb0gsTUFBQUEsWUFBWSxHQUFHLENBQUVBLFlBQWpCO0FBRUEsS0FURCxNQVNPO0FBRU4sV0FBSzFHLElBQUwsQ0FBV0gsRUFBWDtBQUVBOztBQUVELFFBQUs2RyxZQUFZLElBQUksR0FBckIsRUFBMkI7QUFFMUIsV0FBS25ILEVBQUwsR0FBVUosQ0FBVjtBQUNBLFdBQUtDLEVBQUwsR0FBVUosQ0FBVjtBQUNBLFdBQUtLLEVBQUwsR0FBVUosQ0FBVjtBQUNBLFdBQUtLLEVBQUwsR0FBVUosQ0FBVjtBQUVBLGFBQU8sSUFBUDtBQUVBOztBQUVELFFBQUl5SCxlQUFlLEdBQUcsTUFBTUQsWUFBWSxHQUFHQSxZQUEzQzs7QUFFQSxRQUFLQyxlQUFlLElBQUl2RixNQUFNLENBQUNDLE9BQS9CLEVBQXlDO0FBRXhDLFVBQUlMLENBQUMsR0FBRyxJQUFJakIsQ0FBWjtBQUNBLFdBQUtSLEVBQUwsR0FBVXlCLENBQUMsR0FBRzdCLENBQUosR0FBUVksQ0FBQyxHQUFHLEtBQUtSLEVBQTNCO0FBQ0EsV0FBS0gsRUFBTCxHQUFVNEIsQ0FBQyxHQUFHaEMsQ0FBSixHQUFRZSxDQUFDLEdBQUcsS0FBS1gsRUFBM0I7QUFDQSxXQUFLQyxFQUFMLEdBQVUyQixDQUFDLEdBQUcvQixDQUFKLEdBQVFjLENBQUMsR0FBRyxLQUFLVixFQUEzQjtBQUNBLFdBQUtDLEVBQUwsR0FBVTBCLENBQUMsR0FBRzlCLENBQUosR0FBUWEsQ0FBQyxHQUFHLEtBQUtULEVBQTNCO0FBRUEsV0FBS3NGLFNBQUw7O0FBQ0EsV0FBSzFDLGlCQUFMOztBQUVBLGFBQU8sSUFBUDtBQUVBOztBQUVELFFBQUkwRSxZQUFZLEdBQUdyRixJQUFJLENBQUNDLElBQUwsQ0FBV21GLGVBQVgsQ0FBbkI7QUFDQSxRQUFJRSxTQUFTLEdBQUd0RixJQUFJLENBQUNHLEtBQUwsQ0FBWWtGLFlBQVosRUFBMEJGLFlBQTFCLENBQWhCO0FBQ0EsUUFBSUksTUFBTSxHQUFHdkYsSUFBSSxDQUFDRCxHQUFMLENBQVUsQ0FBRSxJQUFJdkIsQ0FBTixJQUFZOEcsU0FBdEIsSUFBb0NELFlBQWpEO0FBQUEsUUFDQ0csTUFBTSxHQUFHeEYsSUFBSSxDQUFDRCxHQUFMLENBQVV2QixDQUFDLEdBQUc4RyxTQUFkLElBQTRCRCxZQUR0QztBQUdBLFNBQUtySCxFQUFMLEdBQVlKLENBQUMsR0FBRzJILE1BQUosR0FBYSxLQUFLdkgsRUFBTCxHQUFVd0gsTUFBbkM7QUFDQSxTQUFLM0gsRUFBTCxHQUFZSixDQUFDLEdBQUc4SCxNQUFKLEdBQWEsS0FBSzFILEVBQUwsR0FBVTJILE1BQW5DO0FBQ0EsU0FBSzFILEVBQUwsR0FBWUosQ0FBQyxHQUFHNkgsTUFBSixHQUFhLEtBQUt6SCxFQUFMLEdBQVUwSCxNQUFuQztBQUNBLFNBQUt6SCxFQUFMLEdBQVlKLENBQUMsR0FBRzRILE1BQUosR0FBYSxLQUFLeEgsRUFBTCxHQUFVeUgsTUFBbkM7O0FBRUEsU0FBSzdFLGlCQUFMOztBQUVBLFdBQU8sSUFBUDtBQUVBLEdBdmFtQztBQXlhcEM4RSxFQUFBQSxNQUFNLEVBQUUsVUFBVzFFLFVBQVgsRUFBd0I7QUFFL0IsV0FBU0EsVUFBVSxDQUFDbEQsRUFBWCxLQUFrQixLQUFLQSxFQUF6QixJQUFtQ2tELFVBQVUsQ0FBQ2pELEVBQVgsS0FBa0IsS0FBS0EsRUFBMUQsSUFBb0VpRCxVQUFVLENBQUNoRCxFQUFYLEtBQWtCLEtBQUtBLEVBQTNGLElBQXFHZ0QsVUFBVSxDQUFDL0MsRUFBWCxLQUFrQixLQUFLQSxFQUFuSTtBQUVBLEdBN2FtQztBQSthcEMwSCxFQUFBQSxTQUFTLEVBQUUsVUFBV0MsS0FBWCxFQUFrQkMsTUFBbEIsRUFBMkI7QUFFckMsUUFBS0EsTUFBTSxLQUFLM0gsU0FBaEIsRUFBNEIySCxNQUFNLEdBQUcsQ0FBVDtBQUU1QixTQUFLL0gsRUFBTCxHQUFVOEgsS0FBSyxDQUFFQyxNQUFGLENBQWY7QUFDQSxTQUFLOUgsRUFBTCxHQUFVNkgsS0FBSyxDQUFFQyxNQUFNLEdBQUcsQ0FBWCxDQUFmO0FBQ0EsU0FBSzdILEVBQUwsR0FBVTRILEtBQUssQ0FBRUMsTUFBTSxHQUFHLENBQVgsQ0FBZjtBQUNBLFNBQUs1SCxFQUFMLEdBQVUySCxLQUFLLENBQUVDLE1BQU0sR0FBRyxDQUFYLENBQWY7O0FBRUEsU0FBS2pGLGlCQUFMOztBQUVBLFdBQU8sSUFBUDtBQUVBLEdBNWJtQztBQThicENrRixFQUFBQSxPQUFPLEVBQUUsVUFBV0YsS0FBWCxFQUFrQkMsTUFBbEIsRUFBMkI7QUFFbkMsUUFBS0QsS0FBSyxLQUFLMUgsU0FBZixFQUEyQjBILEtBQUssR0FBRyxFQUFSO0FBQzNCLFFBQUtDLE1BQU0sS0FBSzNILFNBQWhCLEVBQTRCMkgsTUFBTSxHQUFHLENBQVQ7QUFFNUJELElBQUFBLEtBQUssQ0FBRUMsTUFBRixDQUFMLEdBQWtCLEtBQUsvSCxFQUF2QjtBQUNBOEgsSUFBQUEsS0FBSyxDQUFFQyxNQUFNLEdBQUcsQ0FBWCxDQUFMLEdBQXNCLEtBQUs5SCxFQUEzQjtBQUNBNkgsSUFBQUEsS0FBSyxDQUFFQyxNQUFNLEdBQUcsQ0FBWCxDQUFMLEdBQXNCLEtBQUs3SCxFQUEzQjtBQUNBNEgsSUFBQUEsS0FBSyxDQUFFQyxNQUFNLEdBQUcsQ0FBWCxDQUFMLEdBQXNCLEtBQUs1SCxFQUEzQjtBQUVBLFdBQU8ySCxLQUFQO0FBRUEsR0ExY21DO0FBNGNwQ0csRUFBQUEsU0FBUyxFQUFFLFVBQVdDLFFBQVgsRUFBc0I7QUFFaEMsU0FBS3BGLGlCQUFMLEdBQXlCb0YsUUFBekI7QUFFQSxXQUFPLElBQVA7QUFFQSxHQWxkbUM7QUFvZHBDcEYsRUFBQUEsaUJBQWlCLEVBQUUsWUFBWSxDQUFFO0FBcGRHLENBQXJDO0FBeWRBLFNBQVNuRCxVQUFUIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAYXV0aG9yIG1pa2FlbCBlbXRpbmdlciAvIGh0dHA6Ly9nb21vLnNlL1xuICogQGF1dGhvciBhbHRlcmVkcSAvIGh0dHA6Ly9hbHRlcmVkcXVhbGlhLmNvbS9cbiAqIEBhdXRob3IgV2VzdExhbmdsZXkgLyBodHRwOi8vZ2l0aHViLmNvbS9XZXN0TGFuZ2xleVxuICogQGF1dGhvciBiaG91c3RvbiAvIGh0dHA6Ly9jbGFyYS5pb1xuICovXG5cbmltcG9ydCB7IF9NYXRoIH0gZnJvbSAnLi9NYXRoLmpzJztcblxuZnVuY3Rpb24gUXVhdGVybmlvbiggeCwgeSwgeiwgdyApIHtcblxuXHR0aGlzLl94ID0geCB8fCAwO1xuXHR0aGlzLl95ID0geSB8fCAwO1xuXHR0aGlzLl96ID0geiB8fCAwO1xuXHR0aGlzLl93ID0gKCB3ICE9PSB1bmRlZmluZWQgKSA/IHcgOiAxO1xuXG59XG5cbk9iamVjdC5hc3NpZ24oIFF1YXRlcm5pb24sIHtcblxuXHRzbGVycDogZnVuY3Rpb24gKCBxYSwgcWIsIHFtLCB0ICkge1xuXG5cdFx0cmV0dXJuIHFtLmNvcHkoIHFhICkuc2xlcnAoIHFiLCB0ICk7XG5cblx0fSxcblxuXHRzbGVycEZsYXQ6IGZ1bmN0aW9uICggZHN0LCBkc3RPZmZzZXQsIHNyYzAsIHNyY09mZnNldDAsIHNyYzEsIHNyY09mZnNldDEsIHQgKSB7XG5cblx0XHQvLyBmdXp6LWZyZWUsIGFycmF5LWJhc2VkIFF1YXRlcm5pb24gU0xFUlAgb3BlcmF0aW9uXG5cblx0XHR2YXIgeDAgPSBzcmMwWyBzcmNPZmZzZXQwICsgMCBdLFxuXHRcdFx0eTAgPSBzcmMwWyBzcmNPZmZzZXQwICsgMSBdLFxuXHRcdFx0ejAgPSBzcmMwWyBzcmNPZmZzZXQwICsgMiBdLFxuXHRcdFx0dzAgPSBzcmMwWyBzcmNPZmZzZXQwICsgMyBdLFxuXG5cdFx0XHR4MSA9IHNyYzFbIHNyY09mZnNldDEgKyAwIF0sXG5cdFx0XHR5MSA9IHNyYzFbIHNyY09mZnNldDEgKyAxIF0sXG5cdFx0XHR6MSA9IHNyYzFbIHNyY09mZnNldDEgKyAyIF0sXG5cdFx0XHR3MSA9IHNyYzFbIHNyY09mZnNldDEgKyAzIF07XG5cblx0XHRpZiAoIHcwICE9PSB3MSB8fCB4MCAhPT0geDEgfHwgeTAgIT09IHkxIHx8IHowICE9PSB6MSApIHtcblxuXHRcdFx0dmFyIHMgPSAxIC0gdCxcblxuXHRcdFx0XHRjb3MgPSB4MCAqIHgxICsgeTAgKiB5MSArIHowICogejEgKyB3MCAqIHcxLFxuXG5cdFx0XHRcdGRpciA9ICggY29zID49IDAgPyAxIDogLSAxICksXG5cdFx0XHRcdHNxclNpbiA9IDEgLSBjb3MgKiBjb3M7XG5cblx0XHRcdC8vIFNraXAgdGhlIFNsZXJwIGZvciB0aW55IHN0ZXBzIHRvIGF2b2lkIG51bWVyaWMgcHJvYmxlbXM6XG5cdFx0XHRpZiAoIHNxclNpbiA+IE51bWJlci5FUFNJTE9OICkge1xuXG5cdFx0XHRcdHZhciBzaW4gPSBNYXRoLnNxcnQoIHNxclNpbiApLFxuXHRcdFx0XHRcdGxlbiA9IE1hdGguYXRhbjIoIHNpbiwgY29zICogZGlyICk7XG5cblx0XHRcdFx0cyA9IE1hdGguc2luKCBzICogbGVuICkgLyBzaW47XG5cdFx0XHRcdHQgPSBNYXRoLnNpbiggdCAqIGxlbiApIC8gc2luO1xuXG5cdFx0XHR9XG5cblx0XHRcdHZhciB0RGlyID0gdCAqIGRpcjtcblxuXHRcdFx0eDAgPSB4MCAqIHMgKyB4MSAqIHREaXI7XG5cdFx0XHR5MCA9IHkwICogcyArIHkxICogdERpcjtcblx0XHRcdHowID0gejAgKiBzICsgejEgKiB0RGlyO1xuXHRcdFx0dzAgPSB3MCAqIHMgKyB3MSAqIHREaXI7XG5cblx0XHRcdC8vIE5vcm1hbGl6ZSBpbiBjYXNlIHdlIGp1c3QgZGlkIGEgbGVycDpcblx0XHRcdGlmICggcyA9PT0gMSAtIHQgKSB7XG5cblx0XHRcdFx0dmFyIGYgPSAxIC8gTWF0aC5zcXJ0KCB4MCAqIHgwICsgeTAgKiB5MCArIHowICogejAgKyB3MCAqIHcwICk7XG5cblx0XHRcdFx0eDAgKj0gZjtcblx0XHRcdFx0eTAgKj0gZjtcblx0XHRcdFx0ejAgKj0gZjtcblx0XHRcdFx0dzAgKj0gZjtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0ZHN0WyBkc3RPZmZzZXQgXSA9IHgwO1xuXHRcdGRzdFsgZHN0T2Zmc2V0ICsgMSBdID0geTA7XG5cdFx0ZHN0WyBkc3RPZmZzZXQgKyAyIF0gPSB6MDtcblx0XHRkc3RbIGRzdE9mZnNldCArIDMgXSA9IHcwO1xuXG5cdH1cblxufSApO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydGllcyggUXVhdGVybmlvbi5wcm90b3R5cGUsIHtcblxuXHR4OiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX3g7XG5cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiAoIHZhbHVlICkge1xuXG5cdFx0XHR0aGlzLl94ID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fSxcblxuXHR5OiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX3k7XG5cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiAoIHZhbHVlICkge1xuXG5cdFx0XHR0aGlzLl95ID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fSxcblxuXHR6OiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX3o7XG5cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiAoIHZhbHVlICkge1xuXG5cdFx0XHR0aGlzLl96ID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fSxcblxuXHR3OiB7XG5cblx0XHRnZXQ6IGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0cmV0dXJuIHRoaXMuX3c7XG5cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiAoIHZhbHVlICkge1xuXG5cdFx0XHR0aGlzLl93ID0gdmFsdWU7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHR9XG5cblx0fVxuXG59ICk7XG5cbk9iamVjdC5hc3NpZ24oIFF1YXRlcm5pb24ucHJvdG90eXBlLCB7XG5cblx0aXNRdWF0ZXJuaW9uOiB0cnVlLFxuXG5cdHNldDogZnVuY3Rpb24gKCB4LCB5LCB6LCB3ICkge1xuXG5cdFx0dGhpcy5feCA9IHg7XG5cdFx0dGhpcy5feSA9IHk7XG5cdFx0dGhpcy5feiA9IHo7XG5cdFx0dGhpcy5fdyA9IHc7XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGNsb25lOiBmdW5jdGlvbiAoKSB7XG5cblx0XHRyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IoIHRoaXMuX3gsIHRoaXMuX3ksIHRoaXMuX3osIHRoaXMuX3cgKTtcblxuXHR9LFxuXG5cdGNvcHk6IGZ1bmN0aW9uICggcXVhdGVybmlvbiApIHtcblxuXHRcdHRoaXMuX3ggPSBxdWF0ZXJuaW9uLng7XG5cdFx0dGhpcy5feSA9IHF1YXRlcm5pb24ueTtcblx0XHR0aGlzLl96ID0gcXVhdGVybmlvbi56O1xuXHRcdHRoaXMuX3cgPSBxdWF0ZXJuaW9uLnc7XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHNldEZyb21FdWxlcjogZnVuY3Rpb24gKCBldWxlciwgdXBkYXRlICkge1xuXG5cdFx0aWYgKCAhICggZXVsZXIgJiYgZXVsZXIuaXNFdWxlciApICkge1xuXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoICdUSFJFRS5RdWF0ZXJuaW9uOiAuc2V0RnJvbUV1bGVyKCkgbm93IGV4cGVjdHMgYW4gRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4nICk7XG5cblx0XHR9XG5cblx0XHR2YXIgeCA9IGV1bGVyLl94LCB5ID0gZXVsZXIuX3ksIHogPSBldWxlci5feiwgb3JkZXIgPSBldWxlci5vcmRlcjtcblxuXHRcdC8vIGh0dHA6Ly93d3cubWF0aHdvcmtzLmNvbS9tYXRsYWJjZW50cmFsL2ZpbGVleGNoYW5nZS9cblx0XHQvLyBcdDIwNjk2LWZ1bmN0aW9uLXRvLWNvbnZlcnQtYmV0d2Vlbi1kY20tZXVsZXItYW5nbGVzLXF1YXRlcm5pb25zLWFuZC1ldWxlci12ZWN0b3JzL1xuXHRcdC8vXHRjb250ZW50L1NwaW5DYWxjLm1cblxuXHRcdHZhciBjb3MgPSBNYXRoLmNvcztcblx0XHR2YXIgc2luID0gTWF0aC5zaW47XG5cblx0XHR2YXIgYzEgPSBjb3MoIHggLyAyICk7XG5cdFx0dmFyIGMyID0gY29zKCB5IC8gMiApO1xuXHRcdHZhciBjMyA9IGNvcyggeiAvIDIgKTtcblxuXHRcdHZhciBzMSA9IHNpbiggeCAvIDIgKTtcblx0XHR2YXIgczIgPSBzaW4oIHkgLyAyICk7XG5cdFx0dmFyIHMzID0gc2luKCB6IC8gMiApO1xuXG5cdFx0aWYgKCBvcmRlciA9PT0gJ1hZWicgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBzMSAqIGMyICogYzMgKyBjMSAqIHMyICogczM7XG5cdFx0XHR0aGlzLl95ID0gYzEgKiBzMiAqIGMzIC0gczEgKiBjMiAqIHMzO1xuXHRcdFx0dGhpcy5feiA9IGMxICogYzIgKiBzMyArIHMxICogczIgKiBjMztcblx0XHRcdHRoaXMuX3cgPSBjMSAqIGMyICogYzMgLSBzMSAqIHMyICogczM7XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1lYWicgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBzMSAqIGMyICogYzMgKyBjMSAqIHMyICogczM7XG5cdFx0XHR0aGlzLl95ID0gYzEgKiBzMiAqIGMzIC0gczEgKiBjMiAqIHMzO1xuXHRcdFx0dGhpcy5feiA9IGMxICogYzIgKiBzMyAtIHMxICogczIgKiBjMztcblx0XHRcdHRoaXMuX3cgPSBjMSAqIGMyICogYzMgKyBzMSAqIHMyICogczM7XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1pYWScgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBzMSAqIGMyICogYzMgLSBjMSAqIHMyICogczM7XG5cdFx0XHR0aGlzLl95ID0gYzEgKiBzMiAqIGMzICsgczEgKiBjMiAqIHMzO1xuXHRcdFx0dGhpcy5feiA9IGMxICogYzIgKiBzMyArIHMxICogczIgKiBjMztcblx0XHRcdHRoaXMuX3cgPSBjMSAqIGMyICogYzMgLSBzMSAqIHMyICogczM7XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1pZWCcgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBzMSAqIGMyICogYzMgLSBjMSAqIHMyICogczM7XG5cdFx0XHR0aGlzLl95ID0gYzEgKiBzMiAqIGMzICsgczEgKiBjMiAqIHMzO1xuXHRcdFx0dGhpcy5feiA9IGMxICogYzIgKiBzMyAtIHMxICogczIgKiBjMztcblx0XHRcdHRoaXMuX3cgPSBjMSAqIGMyICogYzMgKyBzMSAqIHMyICogczM7XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1laWCcgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBzMSAqIGMyICogYzMgKyBjMSAqIHMyICogczM7XG5cdFx0XHR0aGlzLl95ID0gYzEgKiBzMiAqIGMzICsgczEgKiBjMiAqIHMzO1xuXHRcdFx0dGhpcy5feiA9IGMxICogYzIgKiBzMyAtIHMxICogczIgKiBjMztcblx0XHRcdHRoaXMuX3cgPSBjMSAqIGMyICogYzMgLSBzMSAqIHMyICogczM7XG5cblx0XHR9IGVsc2UgaWYgKCBvcmRlciA9PT0gJ1haWScgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSBzMSAqIGMyICogYzMgLSBjMSAqIHMyICogczM7XG5cdFx0XHR0aGlzLl95ID0gYzEgKiBzMiAqIGMzIC0gczEgKiBjMiAqIHMzO1xuXHRcdFx0dGhpcy5feiA9IGMxICogYzIgKiBzMyArIHMxICogczIgKiBjMztcblx0XHRcdHRoaXMuX3cgPSBjMSAqIGMyICogYzMgKyBzMSAqIHMyICogczM7XG5cblx0XHR9XG5cblx0XHRpZiAoIHVwZGF0ZSAhPT0gZmFsc2UgKSB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHNldEZyb21BeGlzQW5nbGU6IGZ1bmN0aW9uICggYXhpcywgYW5nbGUgKSB7XG5cblx0XHQvLyBodHRwOi8vd3d3LmV1Y2xpZGVhbnNwYWNlLmNvbS9tYXRocy9nZW9tZXRyeS9yb3RhdGlvbnMvY29udmVyc2lvbnMvYW5nbGVUb1F1YXRlcm5pb24vaW5kZXguaHRtXG5cblx0XHQvLyBhc3N1bWVzIGF4aXMgaXMgbm9ybWFsaXplZFxuXG5cdFx0dmFyIGhhbGZBbmdsZSA9IGFuZ2xlIC8gMiwgcyA9IE1hdGguc2luKCBoYWxmQW5nbGUgKTtcblxuXHRcdHRoaXMuX3ggPSBheGlzLnggKiBzO1xuXHRcdHRoaXMuX3kgPSBheGlzLnkgKiBzO1xuXHRcdHRoaXMuX3ogPSBheGlzLnogKiBzO1xuXHRcdHRoaXMuX3cgPSBNYXRoLmNvcyggaGFsZkFuZ2xlICk7XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHNldEZyb21Sb3RhdGlvbk1hdHJpeDogZnVuY3Rpb24gKCBtICkge1xuXG5cdFx0Ly8gaHR0cDovL3d3dy5ldWNsaWRlYW5zcGFjZS5jb20vbWF0aHMvZ2VvbWV0cnkvcm90YXRpb25zL2NvbnZlcnNpb25zL21hdHJpeFRvUXVhdGVybmlvbi9pbmRleC5odG1cblxuXHRcdC8vIGFzc3VtZXMgdGhlIHVwcGVyIDN4MyBvZiBtIGlzIGEgcHVyZSByb3RhdGlvbiBtYXRyaXggKGkuZSwgdW5zY2FsZWQpXG5cblx0XHR2YXIgdGUgPSBtLmVsZW1lbnRzLFxuXG5cdFx0XHRtMTEgPSB0ZVsgMCBdLCBtMTIgPSB0ZVsgNCBdLCBtMTMgPSB0ZVsgOCBdLFxuXHRcdFx0bTIxID0gdGVbIDEgXSwgbTIyID0gdGVbIDUgXSwgbTIzID0gdGVbIDkgXSxcblx0XHRcdG0zMSA9IHRlWyAyIF0sIG0zMiA9IHRlWyA2IF0sIG0zMyA9IHRlWyAxMCBdLFxuXG5cdFx0XHR0cmFjZSA9IG0xMSArIG0yMiArIG0zMyxcblx0XHRcdHM7XG5cblx0XHRpZiAoIHRyYWNlID4gMCApIHtcblxuXHRcdFx0cyA9IDAuNSAvIE1hdGguc3FydCggdHJhY2UgKyAxLjAgKTtcblxuXHRcdFx0dGhpcy5fdyA9IDAuMjUgLyBzO1xuXHRcdFx0dGhpcy5feCA9ICggbTMyIC0gbTIzICkgKiBzO1xuXHRcdFx0dGhpcy5feSA9ICggbTEzIC0gbTMxICkgKiBzO1xuXHRcdFx0dGhpcy5feiA9ICggbTIxIC0gbTEyICkgKiBzO1xuXG5cdFx0fSBlbHNlIGlmICggbTExID4gbTIyICYmIG0xMSA+IG0zMyApIHtcblxuXHRcdFx0cyA9IDIuMCAqIE1hdGguc3FydCggMS4wICsgbTExIC0gbTIyIC0gbTMzICk7XG5cblx0XHRcdHRoaXMuX3cgPSAoIG0zMiAtIG0yMyApIC8gcztcblx0XHRcdHRoaXMuX3ggPSAwLjI1ICogcztcblx0XHRcdHRoaXMuX3kgPSAoIG0xMiArIG0yMSApIC8gcztcblx0XHRcdHRoaXMuX3ogPSAoIG0xMyArIG0zMSApIC8gcztcblxuXHRcdH0gZWxzZSBpZiAoIG0yMiA+IG0zMyApIHtcblxuXHRcdFx0cyA9IDIuMCAqIE1hdGguc3FydCggMS4wICsgbTIyIC0gbTExIC0gbTMzICk7XG5cblx0XHRcdHRoaXMuX3cgPSAoIG0xMyAtIG0zMSApIC8gcztcblx0XHRcdHRoaXMuX3ggPSAoIG0xMiArIG0yMSApIC8gcztcblx0XHRcdHRoaXMuX3kgPSAwLjI1ICogcztcblx0XHRcdHRoaXMuX3ogPSAoIG0yMyArIG0zMiApIC8gcztcblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdHMgPSAyLjAgKiBNYXRoLnNxcnQoIDEuMCArIG0zMyAtIG0xMSAtIG0yMiApO1xuXG5cdFx0XHR0aGlzLl93ID0gKCBtMjEgLSBtMTIgKSAvIHM7XG5cdFx0XHR0aGlzLl94ID0gKCBtMTMgKyBtMzEgKSAvIHM7XG5cdFx0XHR0aGlzLl95ID0gKCBtMjMgKyBtMzIgKSAvIHM7XG5cdFx0XHR0aGlzLl96ID0gMC4yNSAqIHM7XG5cblx0XHR9XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHNldEZyb21Vbml0VmVjdG9yczogZnVuY3Rpb24gKCB2RnJvbSwgdlRvICkge1xuXG5cdFx0Ly8gYXNzdW1lcyBkaXJlY3Rpb24gdmVjdG9ycyB2RnJvbSBhbmQgdlRvIGFyZSBub3JtYWxpemVkXG5cblx0XHR2YXIgRVBTID0gMC4wMDAwMDE7XG5cblx0XHR2YXIgciA9IHZGcm9tLmRvdCggdlRvICkgKyAxO1xuXG5cdFx0aWYgKCByIDwgRVBTICkge1xuXG5cdFx0XHRyID0gMDtcblxuXHRcdFx0aWYgKCBNYXRoLmFicyggdkZyb20ueCApID4gTWF0aC5hYnMoIHZGcm9tLnogKSApIHtcblxuXHRcdFx0XHR0aGlzLl94ID0gLSB2RnJvbS55O1xuXHRcdFx0XHR0aGlzLl95ID0gdkZyb20ueDtcblx0XHRcdFx0dGhpcy5feiA9IDA7XG5cdFx0XHRcdHRoaXMuX3cgPSByO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHRoaXMuX3ggPSAwO1xuXHRcdFx0XHR0aGlzLl95ID0gLSB2RnJvbS56O1xuXHRcdFx0XHR0aGlzLl96ID0gdkZyb20ueTtcblx0XHRcdFx0dGhpcy5fdyA9IHI7XG5cblx0XHRcdH1cblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdC8vIGNyb3NzVmVjdG9ycyggdkZyb20sIHZUbyApOyAvLyBpbmxpbmVkIHRvIGF2b2lkIGN5Y2xpYyBkZXBlbmRlbmN5IG9uIFZlY3RvcjNcblxuXHRcdFx0dGhpcy5feCA9IHZGcm9tLnkgKiB2VG8ueiAtIHZGcm9tLnogKiB2VG8ueTtcblx0XHRcdHRoaXMuX3kgPSB2RnJvbS56ICogdlRvLnggLSB2RnJvbS54ICogdlRvLno7XG5cdFx0XHR0aGlzLl96ID0gdkZyb20ueCAqIHZUby55IC0gdkZyb20ueSAqIHZUby54O1xuXHRcdFx0dGhpcy5fdyA9IHI7XG5cblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5ub3JtYWxpemUoKTtcblxuXHR9LFxuXG5cdGFuZ2xlVG86IGZ1bmN0aW9uICggcSApIHtcblxuXHRcdHJldHVybiAyICogTWF0aC5hY29zKCBNYXRoLmFicyggX01hdGguY2xhbXAoIHRoaXMuZG90KCBxICksIC0gMSwgMSApICkgKTtcblxuXHR9LFxuXG5cdHJvdGF0ZVRvd2FyZHM6IGZ1bmN0aW9uICggcSwgc3RlcCApIHtcblxuXHRcdHZhciBhbmdsZSA9IHRoaXMuYW5nbGVUbyggcSApO1xuXG5cdFx0aWYgKCBhbmdsZSA9PT0gMCApIHJldHVybiB0aGlzO1xuXG5cdFx0dmFyIHQgPSBNYXRoLm1pbiggMSwgc3RlcCAvIGFuZ2xlICk7XG5cblx0XHR0aGlzLnNsZXJwKCBxLCB0ICk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGludmVyc2U6IGZ1bmN0aW9uICgpIHtcblxuXHRcdC8vIHF1YXRlcm5pb24gaXMgYXNzdW1lZCB0byBoYXZlIHVuaXQgbGVuZ3RoXG5cblx0XHRyZXR1cm4gdGhpcy5jb25qdWdhdGUoKTtcblxuXHR9LFxuXG5cdGNvbmp1Z2F0ZTogZnVuY3Rpb24gKCkge1xuXG5cdFx0dGhpcy5feCAqPSAtIDE7XG5cdFx0dGhpcy5feSAqPSAtIDE7XG5cdFx0dGhpcy5feiAqPSAtIDE7XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGRvdDogZnVuY3Rpb24gKCB2ICkge1xuXG5cdFx0cmV0dXJuIHRoaXMuX3ggKiB2Ll94ICsgdGhpcy5feSAqIHYuX3kgKyB0aGlzLl96ICogdi5feiArIHRoaXMuX3cgKiB2Ll93O1xuXG5cdH0sXG5cblx0bGVuZ3RoU3E6IGZ1bmN0aW9uICgpIHtcblxuXHRcdHJldHVybiB0aGlzLl94ICogdGhpcy5feCArIHRoaXMuX3kgKiB0aGlzLl95ICsgdGhpcy5feiAqIHRoaXMuX3ogKyB0aGlzLl93ICogdGhpcy5fdztcblxuXHR9LFxuXG5cdGxlbmd0aDogZnVuY3Rpb24gKCkge1xuXG5cdFx0cmV0dXJuIE1hdGguc3FydCggdGhpcy5feCAqIHRoaXMuX3ggKyB0aGlzLl95ICogdGhpcy5feSArIHRoaXMuX3ogKiB0aGlzLl96ICsgdGhpcy5fdyAqIHRoaXMuX3cgKTtcblxuXHR9LFxuXG5cdG5vcm1hbGl6ZTogZnVuY3Rpb24gKCkge1xuXG5cdFx0dmFyIGwgPSB0aGlzLmxlbmd0aCgpO1xuXG5cdFx0aWYgKCBsID09PSAwICkge1xuXG5cdFx0XHR0aGlzLl94ID0gMDtcblx0XHRcdHRoaXMuX3kgPSAwO1xuXHRcdFx0dGhpcy5feiA9IDA7XG5cdFx0XHR0aGlzLl93ID0gMTtcblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdGwgPSAxIC8gbDtcblxuXHRcdFx0dGhpcy5feCA9IHRoaXMuX3ggKiBsO1xuXHRcdFx0dGhpcy5feSA9IHRoaXMuX3kgKiBsO1xuXHRcdFx0dGhpcy5feiA9IHRoaXMuX3ogKiBsO1xuXHRcdFx0dGhpcy5fdyA9IHRoaXMuX3cgKiBsO1xuXG5cdFx0fVxuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRtdWx0aXBseTogZnVuY3Rpb24gKCBxLCBwICkge1xuXG5cdFx0aWYgKCBwICE9PSB1bmRlZmluZWQgKSB7XG5cblx0XHRcdGNvbnNvbGUud2FybiggJ1RIUkVFLlF1YXRlcm5pb246IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5UXVhdGVybmlvbnMoIGEsIGIgKSBpbnN0ZWFkLicgKTtcblx0XHRcdHJldHVybiB0aGlzLm11bHRpcGx5UXVhdGVybmlvbnMoIHEsIHAgKTtcblxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLm11bHRpcGx5UXVhdGVybmlvbnMoIHRoaXMsIHEgKTtcblxuXHR9LFxuXG5cdHByZW11bHRpcGx5OiBmdW5jdGlvbiAoIHEgKSB7XG5cblx0XHRyZXR1cm4gdGhpcy5tdWx0aXBseVF1YXRlcm5pb25zKCBxLCB0aGlzICk7XG5cblx0fSxcblxuXHRtdWx0aXBseVF1YXRlcm5pb25zOiBmdW5jdGlvbiAoIGEsIGIgKSB7XG5cblx0XHQvLyBmcm9tIGh0dHA6Ly93d3cuZXVjbGlkZWFuc3BhY2UuY29tL21hdGhzL2FsZ2VicmEvcmVhbE5vcm1lZEFsZ2VicmEvcXVhdGVybmlvbnMvY29kZS9pbmRleC5odG1cblxuXHRcdHZhciBxYXggPSBhLl94LCBxYXkgPSBhLl95LCBxYXogPSBhLl96LCBxYXcgPSBhLl93O1xuXHRcdHZhciBxYnggPSBiLl94LCBxYnkgPSBiLl95LCBxYnogPSBiLl96LCBxYncgPSBiLl93O1xuXG5cdFx0dGhpcy5feCA9IHFheCAqIHFidyArIHFhdyAqIHFieCArIHFheSAqIHFieiAtIHFheiAqIHFieTtcblx0XHR0aGlzLl95ID0gcWF5ICogcWJ3ICsgcWF3ICogcWJ5ICsgcWF6ICogcWJ4IC0gcWF4ICogcWJ6O1xuXHRcdHRoaXMuX3ogPSBxYXogKiBxYncgKyBxYXcgKiBxYnogKyBxYXggKiBxYnkgLSBxYXkgKiBxYng7XG5cdFx0dGhpcy5fdyA9IHFhdyAqIHFidyAtIHFheCAqIHFieCAtIHFheSAqIHFieSAtIHFheiAqIHFiejtcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2xlcnA6IGZ1bmN0aW9uICggcWIsIHQgKSB7XG5cblx0XHRpZiAoIHQgPT09IDAgKSByZXR1cm4gdGhpcztcblx0XHRpZiAoIHQgPT09IDEgKSByZXR1cm4gdGhpcy5jb3B5KCBxYiApO1xuXG5cdFx0dmFyIHggPSB0aGlzLl94LCB5ID0gdGhpcy5feSwgeiA9IHRoaXMuX3osIHcgPSB0aGlzLl93O1xuXG5cdFx0Ly8gaHR0cDovL3d3dy5ldWNsaWRlYW5zcGFjZS5jb20vbWF0aHMvYWxnZWJyYS9yZWFsTm9ybWVkQWxnZWJyYS9xdWF0ZXJuaW9ucy9zbGVycC9cblxuXHRcdHZhciBjb3NIYWxmVGhldGEgPSB3ICogcWIuX3cgKyB4ICogcWIuX3ggKyB5ICogcWIuX3kgKyB6ICogcWIuX3o7XG5cblx0XHRpZiAoIGNvc0hhbGZUaGV0YSA8IDAgKSB7XG5cblx0XHRcdHRoaXMuX3cgPSAtIHFiLl93O1xuXHRcdFx0dGhpcy5feCA9IC0gcWIuX3g7XG5cdFx0XHR0aGlzLl95ID0gLSBxYi5feTtcblx0XHRcdHRoaXMuX3ogPSAtIHFiLl96O1xuXG5cdFx0XHRjb3NIYWxmVGhldGEgPSAtIGNvc0hhbGZUaGV0YTtcblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdHRoaXMuY29weSggcWIgKTtcblxuXHRcdH1cblxuXHRcdGlmICggY29zSGFsZlRoZXRhID49IDEuMCApIHtcblxuXHRcdFx0dGhpcy5fdyA9IHc7XG5cdFx0XHR0aGlzLl94ID0geDtcblx0XHRcdHRoaXMuX3kgPSB5O1xuXHRcdFx0dGhpcy5feiA9IHo7XG5cblx0XHRcdHJldHVybiB0aGlzO1xuXG5cdFx0fVxuXG5cdFx0dmFyIHNxclNpbkhhbGZUaGV0YSA9IDEuMCAtIGNvc0hhbGZUaGV0YSAqIGNvc0hhbGZUaGV0YTtcblxuXHRcdGlmICggc3FyU2luSGFsZlRoZXRhIDw9IE51bWJlci5FUFNJTE9OICkge1xuXG5cdFx0XHR2YXIgcyA9IDEgLSB0O1xuXHRcdFx0dGhpcy5fdyA9IHMgKiB3ICsgdCAqIHRoaXMuX3c7XG5cdFx0XHR0aGlzLl94ID0gcyAqIHggKyB0ICogdGhpcy5feDtcblx0XHRcdHRoaXMuX3kgPSBzICogeSArIHQgKiB0aGlzLl95O1xuXHRcdFx0dGhpcy5feiA9IHMgKiB6ICsgdCAqIHRoaXMuX3o7XG5cblx0XHRcdHRoaXMubm9ybWFsaXplKCk7XG5cdFx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRcdHJldHVybiB0aGlzO1xuXG5cdFx0fVxuXG5cdFx0dmFyIHNpbkhhbGZUaGV0YSA9IE1hdGguc3FydCggc3FyU2luSGFsZlRoZXRhICk7XG5cdFx0dmFyIGhhbGZUaGV0YSA9IE1hdGguYXRhbjIoIHNpbkhhbGZUaGV0YSwgY29zSGFsZlRoZXRhICk7XG5cdFx0dmFyIHJhdGlvQSA9IE1hdGguc2luKCAoIDEgLSB0ICkgKiBoYWxmVGhldGEgKSAvIHNpbkhhbGZUaGV0YSxcblx0XHRcdHJhdGlvQiA9IE1hdGguc2luKCB0ICogaGFsZlRoZXRhICkgLyBzaW5IYWxmVGhldGE7XG5cblx0XHR0aGlzLl93ID0gKCB3ICogcmF0aW9BICsgdGhpcy5fdyAqIHJhdGlvQiApO1xuXHRcdHRoaXMuX3ggPSAoIHggKiByYXRpb0EgKyB0aGlzLl94ICogcmF0aW9CICk7XG5cdFx0dGhpcy5feSA9ICggeSAqIHJhdGlvQSArIHRoaXMuX3kgKiByYXRpb0IgKTtcblx0XHR0aGlzLl96ID0gKCB6ICogcmF0aW9BICsgdGhpcy5feiAqIHJhdGlvQiApO1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRlcXVhbHM6IGZ1bmN0aW9uICggcXVhdGVybmlvbiApIHtcblxuXHRcdHJldHVybiAoIHF1YXRlcm5pb24uX3ggPT09IHRoaXMuX3ggKSAmJiAoIHF1YXRlcm5pb24uX3kgPT09IHRoaXMuX3kgKSAmJiAoIHF1YXRlcm5pb24uX3ogPT09IHRoaXMuX3ogKSAmJiAoIHF1YXRlcm5pb24uX3cgPT09IHRoaXMuX3cgKTtcblxuXHR9LFxuXG5cdGZyb21BcnJheTogZnVuY3Rpb24gKCBhcnJheSwgb2Zmc2V0ICkge1xuXG5cdFx0aWYgKCBvZmZzZXQgPT09IHVuZGVmaW5lZCApIG9mZnNldCA9IDA7XG5cblx0XHR0aGlzLl94ID0gYXJyYXlbIG9mZnNldCBdO1xuXHRcdHRoaXMuX3kgPSBhcnJheVsgb2Zmc2V0ICsgMSBdO1xuXHRcdHRoaXMuX3ogPSBhcnJheVsgb2Zmc2V0ICsgMiBdO1xuXHRcdHRoaXMuX3cgPSBhcnJheVsgb2Zmc2V0ICsgMyBdO1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHR0b0FycmF5OiBmdW5jdGlvbiAoIGFycmF5LCBvZmZzZXQgKSB7XG5cblx0XHRpZiAoIGFycmF5ID09PSB1bmRlZmluZWQgKSBhcnJheSA9IFtdO1xuXHRcdGlmICggb2Zmc2V0ID09PSB1bmRlZmluZWQgKSBvZmZzZXQgPSAwO1xuXG5cdFx0YXJyYXlbIG9mZnNldCBdID0gdGhpcy5feDtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMSBdID0gdGhpcy5feTtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMiBdID0gdGhpcy5fejtcblx0XHRhcnJheVsgb2Zmc2V0ICsgMyBdID0gdGhpcy5fdztcblxuXHRcdHJldHVybiBhcnJheTtcblxuXHR9LFxuXG5cdF9vbkNoYW5nZTogZnVuY3Rpb24gKCBjYWxsYmFjayApIHtcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0X29uQ2hhbmdlQ2FsbGJhY2s6IGZ1bmN0aW9uICgpIHt9XG5cbn0gKTtcblxuXG5leHBvcnQgeyBRdWF0ZXJuaW9uIH07Il19
445
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3RocmVlL1F1YXRlcm5pb24uanMiXSwibmFtZXMiOlsiX01hdGgiLCJRdWF0ZXJuaW9uIiwieCIsInkiLCJ6IiwidyIsIl94IiwiX3kiLCJfeiIsIl93IiwidW5kZWZpbmVkIiwiT2JqZWN0IiwiYXNzaWduIiwic2xlcnAiLCJxYSIsInFiIiwicW0iLCJ0IiwiY29weSIsInNsZXJwRmxhdCIsImRzdCIsImRzdE9mZnNldCIsInNyYzAiLCJzcmNPZmZzZXQwIiwic3JjMSIsInNyY09mZnNldDEiLCJ4MCIsInkwIiwiejAiLCJ3MCIsIngxIiwieTEiLCJ6MSIsIncxIiwicyIsImNvcyIsImRpciIsInNxclNpbiIsIk51bWJlciIsIkVQU0lMT04iLCJzaW4iLCJNYXRoIiwic3FydCIsImxlbiIsImF0YW4yIiwidERpciIsImYiLCJkZWZpbmVQcm9wZXJ0aWVzIiwicHJvdG90eXBlIiwiZ2V0Iiwic2V0IiwidmFsdWUiLCJfb25DaGFuZ2VDYWxsYmFjayIsImlzUXVhdGVybmlvbiIsImNsb25lIiwiY29uc3RydWN0b3IiLCJxdWF0ZXJuaW9uIiwic2V0RnJvbUV1bGVyIiwiZXVsZXIiLCJ1cGRhdGUiLCJpc0V1bGVyIiwiRXJyb3IiLCJvcmRlciIsImMxIiwiYzIiLCJjMyIsInMxIiwiczIiLCJzMyIsInNldEZyb21BeGlzQW5nbGUiLCJheGlzIiwiYW5nbGUiLCJoYWxmQW5nbGUiLCJzZXRGcm9tUm90YXRpb25NYXRyaXgiLCJtIiwidGUiLCJlbGVtZW50cyIsIm0xMSIsIm0xMiIsIm0xMyIsIm0yMSIsIm0yMiIsIm0yMyIsIm0zMSIsIm0zMiIsIm0zMyIsInRyYWNlIiwic2V0RnJvbVVuaXRWZWN0b3JzIiwidkZyb20iLCJ2VG8iLCJFUFMiLCJyIiwiZG90IiwiYWJzIiwibm9ybWFsaXplIiwiYW5nbGVUbyIsInEiLCJhY29zIiwiY2xhbXAiLCJyb3RhdGVUb3dhcmRzIiwic3RlcCIsIm1pbiIsImludmVyc2UiLCJjb25qdWdhdGUiLCJ2IiwibGVuZ3RoU3EiLCJsZW5ndGgiLCJsIiwibXVsdGlwbHkiLCJwIiwiY29uc29sZSIsIndhcm4iLCJtdWx0aXBseVF1YXRlcm5pb25zIiwicHJlbXVsdGlwbHkiLCJhIiwiYiIsInFheCIsInFheSIsInFheiIsInFhdyIsInFieCIsInFieSIsInFieiIsInFidyIsImNvc0hhbGZUaGV0YSIsInNxclNpbkhhbGZUaGV0YSIsInNpbkhhbGZUaGV0YSIsImhhbGZUaGV0YSIsInJhdGlvQSIsInJhdGlvQiIsImVxdWFscyIsImZyb21BcnJheSIsImFycmF5Iiwib2Zmc2V0IiwidG9BcnJheSIsIl9vbkNoYW5nZSIsImNhbGxiYWNrIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxTQUFTQSxLQUFULFFBQXNCLFdBQXRCOztBQUVBLFNBQVNDLFVBQVQsQ0FBcUJDLENBQXJCLEVBQXdCQyxDQUF4QixFQUEyQkMsQ0FBM0IsRUFBOEJDLENBQTlCLEVBQWtDO0FBRWpDLE9BQUtDLEVBQUwsR0FBVUosQ0FBQyxJQUFJLENBQWY7QUFDQSxPQUFLSyxFQUFMLEdBQVVKLENBQUMsSUFBSSxDQUFmO0FBQ0EsT0FBS0ssRUFBTCxHQUFVSixDQUFDLElBQUksQ0FBZjtBQUNBLE9BQUtLLEVBQUwsR0FBWUosQ0FBQyxLQUFLSyxTQUFSLEdBQXNCTCxDQUF0QixHQUEwQixDQUFwQztBQUVBOztBQUVETSxNQUFNLENBQUNDLE1BQVAsQ0FBZVgsVUFBZixFQUEyQjtBQUUxQlksRUFBQUEsS0FBSyxFQUFFLFVBQVdDLEVBQVgsRUFBZUMsRUFBZixFQUFtQkMsRUFBbkIsRUFBdUJDLENBQXZCLEVBQTJCO0FBRWpDLFdBQU9ELEVBQUUsQ0FBQ0UsSUFBSCxDQUFTSixFQUFULEVBQWNELEtBQWQsQ0FBcUJFLEVBQXJCLEVBQXlCRSxDQUF6QixDQUFQO0FBRUEsR0FOeUI7QUFRMUJFLEVBQUFBLFNBQVMsRUFBRSxVQUFXQyxHQUFYLEVBQWdCQyxTQUFoQixFQUEyQkMsSUFB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O0FBQ0E0SCxJQUFBQSxLQUFLLENBQUVDLE1BQU0sR0FBRyxDQUFYLENBQUwsR0FBc0IsS0FBSzVILEVBQTNCO0FBRUEsV0FBTzJILEtBQVA7QUFFQSxHQTFjbUM7QUE0Y3BDRyxFQUFBQSxTQUFTLEVBQUUsVUFBV0MsUUFBWCxFQUFzQjtBQUVoQyxTQUFLcEYsaUJBQUwsR0FBeUJvRixRQUF6QjtBQUVBLFdBQU8sSUFBUDtBQUVBLEdBbGRtQztBQW9kcENwRixFQUFBQSxpQkFBaUIsRUFBRSxZQUFZLENBQUU7QUFwZEcsQ0FBckM7QUF5ZEEsU0FBU25ELFVBQVQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBhdXRob3IgbWlrYWVsIGVtdGluZ2VyIC8gaHR0cDovL2dvbW8uc2UvXG4gKiBAYXV0aG9yIGFsdGVyZWRxIC8gaHR0cDovL2FsdGVyZWRxdWFsaWEuY29tL1xuICogQGF1dGhvciBXZXN0TGFuZ2xleSAvIGh0dHA6Ly9naXRodWIuY29tL1dlc3RMYW5nbGV5XG4gKiBAYXV0aG9yIGJob3VzdG9uIC8gaHR0cDovL2NsYXJhLmlvXG4gKi9cblxuaW1wb3J0IHsgX01hdGggfSBmcm9tICcuL01hdGguanMnO1xuXG5mdW5jdGlvbiBRdWF0ZXJuaW9uKCB4LCB5LCB6LCB3ICkge1xuXG5cdHRoaXMuX3ggPSB4IHx8IDA7XG5cdHRoaXMuX3kgPSB5IHx8IDA7XG5cdHRoaXMuX3ogPSB6IHx8IDA7XG5cdHRoaXMuX3cgPSAoIHcgIT09IHVuZGVmaW5lZCApID8gdyA6IDE7XG5cbn1cblxuT2JqZWN0LmFzc2lnbiggUXVhdGVybmlvbiwge1xuXG5cdHNsZXJwOiBmdW5jdGlvbiAoIHFhLCBxYiwgcW0sIHQgKSB7XG5cblx0XHRyZXR1cm4gcW0uY29weSggcWEgKS5zbGVycCggcWIsIHQgKTtcblxuXHR9LFxuXG5cdHNsZXJwRmxhdDogZnVuY3Rpb24gKCBkc3QsIGRzdE9mZnNldCwgc3JjMCwgc3JjT2Zmc2V0MCwgc3JjMSwgc3JjT2Zmc2V0MSwgdCApIHtcblxuXHRcdC8vIGZ1enotZnJlZSwgYXJyYXktYmFzZWQgUXVhdGVybmlvbiBTTEVSUCBvcGVyYXRpb25cblxuXHRcdHZhciB4MCA9IHNyYzBbIHNyY09mZnNldDAgKyAwIF0sXG5cdFx0XHR5MCA9IHNyYzBbIHNyY09mZnNldDAgKyAxIF0sXG5cdFx0XHR6MCA9IHNyYzBbIHNyY09mZnNldDAgKyAyIF0sXG5cdFx0XHR3MCA9IHNyYzBbIHNyY09mZnNldDAgKyAzIF0sXG5cblx0XHRcdHgxID0gc3JjMVsgc3JjT2Zmc2V0MSArIDAgXSxcblx0XHRcdHkxID0gc3JjMVsgc3JjT2Zmc2V0MSArIDEgXSxcblx0XHRcdHoxID0gc3JjMVsgc3JjT2Zmc2V0MSArIDIgXSxcblx0XHRcdHcxID0gc3JjMVsgc3JjT2Zmc2V0MSArIDMgXTtcblxuXHRcdGlmICggdzAgIT09IHcxIHx8IHgwICE9PSB4MSB8fCB5MCAhPT0geTEgfHwgejAgIT09IHoxICkge1xuXG5cdFx0XHR2YXIgcyA9IDEgLSB0LFxuXG5cdFx0XHRcdGNvcyA9IHgwICogeDEgKyB5MCAqIHkxICsgejAgKiB6MSArIHcwICogdzEsXG5cblx0XHRcdFx0ZGlyID0gKCBjb3MgPj0gMCA/IDEgOiAtIDEgKSxcblx0XHRcdFx0c3FyU2luID0gMSAtIGNvcyAqIGNvcztcblxuXHRcdFx0Ly8gU2tpcCB0aGUgU2xlcnAgZm9yIHRpbnkgc3RlcHMgdG8gYXZvaWQgbnVtZXJpYyBwcm9ibGVtczpcblx0XHRcdGlmICggc3FyU2luID4gTnVtYmVyLkVQU0lMT04gKSB7XG5cblx0XHRcdFx0dmFyIHNpbiA9IE1hdGguc3FydCggc3FyU2luICksXG5cdFx0XHRcdFx0bGVuID0gTWF0aC5hdGFuMiggc2luLCBjb3MgKiBkaXIgKTtcblxuXHRcdFx0XHRzID0gTWF0aC5zaW4oIHMgKiBsZW4gKSAvIHNpbjtcblx0XHRcdFx0dCA9IE1hdGguc2luKCB0ICogbGVuICkgLyBzaW47XG5cblx0XHRcdH1cblxuXHRcdFx0dmFyIHREaXIgPSB0ICogZGlyO1xuXG5cdFx0XHR4MCA9IHgwICogcyArIHgxICogdERpcjtcblx0XHRcdHkwID0geTAgKiBzICsgeTEgKiB0RGlyO1xuXHRcdFx0ejAgPSB6MCAqIHMgKyB6MSAqIHREaXI7XG5cdFx0XHR3MCA9IHcwICogcyArIHcxICogdERpcjtcblxuXHRcdFx0Ly8gTm9ybWFsaXplIGluIGNhc2Ugd2UganVzdCBkaWQgYSBsZXJwOlxuXHRcdFx0aWYgKCBzID09PSAxIC0gdCApIHtcblxuXHRcdFx0XHR2YXIgZiA9IDEgLyBNYXRoLnNxcnQoIHgwICogeDAgKyB5MCAqIHkwICsgejAgKiB6MCArIHcwICogdzAgKTtcblxuXHRcdFx0XHR4MCAqPSBmO1xuXHRcdFx0XHR5MCAqPSBmO1xuXHRcdFx0XHR6MCAqPSBmO1xuXHRcdFx0XHR3MCAqPSBmO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHRkc3RbIGRzdE9mZnNldCBdID0geDA7XG5cdFx0ZHN0WyBkc3RPZmZzZXQgKyAxIF0gPSB5MDtcblx0XHRkc3RbIGRzdE9mZnNldCArIDIgXSA9IHowO1xuXHRcdGRzdFsgZHN0T2Zmc2V0ICsgMyBdID0gdzA7XG5cblx0fVxuXG59ICk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBRdWF0ZXJuaW9uLnByb3RvdHlwZSwge1xuXG5cdHg6IHtcblxuXHRcdGdldDogZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5feDtcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9LFxuXG5cdHk6IHtcblxuXHRcdGdldDogZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5feTtcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX3kgPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9LFxuXG5cdHo6IHtcblxuXHRcdGdldDogZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5fejtcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX3ogPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9LFxuXG5cdHc6IHtcblxuXHRcdGdldDogZnVuY3Rpb24gKCkge1xuXG5cdFx0XHRyZXR1cm4gdGhpcy5fdztcblxuXHRcdH0sXG5cblx0XHRzZXQ6IGZ1bmN0aW9uICggdmFsdWUgKSB7XG5cblx0XHRcdHRoaXMuX3cgPSB2YWx1ZTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdH1cblxuXHR9XG5cbn0gKTtcblxuT2JqZWN0LmFzc2lnbiggUXVhdGVybmlvbi5wcm90b3R5cGUsIHtcblxuXHRpc1F1YXRlcm5pb246IHRydWUsXG5cblx0c2V0OiBmdW5jdGlvbiAoIHgsIHksIHosIHcgKSB7XG5cblx0XHR0aGlzLl94ID0geDtcblx0XHR0aGlzLl95ID0geTtcblx0XHR0aGlzLl96ID0gejtcblx0XHR0aGlzLl93ID0gdztcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0Y2xvbmU6IGZ1bmN0aW9uICgpIHtcblxuXHRcdHJldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3RvciggdGhpcy5feCwgdGhpcy5feSwgdGhpcy5feiwgdGhpcy5fdyApO1xuXG5cdH0sXG5cblx0Y29weTogZnVuY3Rpb24gKCBxdWF0ZXJuaW9uICkge1xuXG5cdFx0dGhpcy5feCA9IHF1YXRlcm5pb24ueDtcblx0XHR0aGlzLl95ID0gcXVhdGVybmlvbi55O1xuXHRcdHRoaXMuX3ogPSBxdWF0ZXJuaW9uLno7XG5cdFx0dGhpcy5fdyA9IHF1YXRlcm5pb24udztcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2V0RnJvbUV1bGVyOiBmdW5jdGlvbiAoIGV1bGVyLCB1cGRhdGUgKSB7XG5cblx0XHRpZiAoICEgKCBldWxlciAmJiBldWxlci5pc0V1bGVyICkgKSB7XG5cblx0XHRcdHRocm93IG5ldyBFcnJvciggJ1RIUkVFLlF1YXRlcm5pb246IC5zZXRGcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLicgKTtcblxuXHRcdH1cblxuXHRcdHZhciB4ID0gZXVsZXIuX3gsIHkgPSBldWxlci5feSwgeiA9IGV1bGVyLl96LCBvcmRlciA9IGV1bGVyLm9yZGVyO1xuXG5cdFx0Ly8gaHR0cDovL3d3dy5tYXRod29ya3MuY29tL21hdGxhYmNlbnRyYWwvZmlsZWV4Y2hhbmdlL1xuXHRcdC8vIFx0MjA2OTYtZnVuY3Rpb24tdG8tY29udmVydC1iZXR3ZWVuLWRjbS1ldWxlci1hbmdsZXMtcXVhdGVybmlvbnMtYW5kLWV1bGVyLXZlY3RvcnMvXG5cdFx0Ly9cdGNvbnRlbnQvU3BpbkNhbGMubVxuXG5cdFx0dmFyIGNvcyA9IE1hdGguY29zO1xuXHRcdHZhciBzaW4gPSBNYXRoLnNpbjtcblxuXHRcdHZhciBjMSA9IGNvcyggeCAvIDIgKTtcblx0XHR2YXIgYzIgPSBjb3MoIHkgLyAyICk7XG5cdFx0dmFyIGMzID0gY29zKCB6IC8gMiApO1xuXG5cdFx0dmFyIHMxID0gc2luKCB4IC8gMiApO1xuXHRcdHZhciBzMiA9IHNpbiggeSAvIDIgKTtcblx0XHR2YXIgczMgPSBzaW4oIHogLyAyICk7XG5cblx0XHRpZiAoIG9yZGVyID09PSAnWFlaJyApIHtcblxuXHRcdFx0dGhpcy5feCA9IHMxICogYzIgKiBjMyArIGMxICogczIgKiBzMztcblx0XHRcdHRoaXMuX3kgPSBjMSAqIHMyICogYzMgLSBzMSAqIGMyICogczM7XG5cdFx0XHR0aGlzLl96ID0gYzEgKiBjMiAqIHMzICsgczEgKiBzMiAqIGMzO1xuXHRcdFx0dGhpcy5fdyA9IGMxICogYzIgKiBjMyAtIHMxICogczIgKiBzMztcblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWVhaJyApIHtcblxuXHRcdFx0dGhpcy5feCA9IHMxICogYzIgKiBjMyArIGMxICogczIgKiBzMztcblx0XHRcdHRoaXMuX3kgPSBjMSAqIHMyICogYzMgLSBzMSAqIGMyICogczM7XG5cdFx0XHR0aGlzLl96ID0gYzEgKiBjMiAqIHMzIC0gczEgKiBzMiAqIGMzO1xuXHRcdFx0dGhpcy5fdyA9IGMxICogYzIgKiBjMyArIHMxICogczIgKiBzMztcblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWlhZJyApIHtcblxuXHRcdFx0dGhpcy5feCA9IHMxICogYzIgKiBjMyAtIGMxICogczIgKiBzMztcblx0XHRcdHRoaXMuX3kgPSBjMSAqIHMyICogYzMgKyBzMSAqIGMyICogczM7XG5cdFx0XHR0aGlzLl96ID0gYzEgKiBjMiAqIHMzICsgczEgKiBzMiAqIGMzO1xuXHRcdFx0dGhpcy5fdyA9IGMxICogYzIgKiBjMyAtIHMxICogczIgKiBzMztcblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWllYJyApIHtcblxuXHRcdFx0dGhpcy5feCA9IHMxICogYzIgKiBjMyAtIGMxICogczIgKiBzMztcblx0XHRcdHRoaXMuX3kgPSBjMSAqIHMyICogYzMgKyBzMSAqIGMyICogczM7XG5cdFx0XHR0aGlzLl96ID0gYzEgKiBjMiAqIHMzIC0gczEgKiBzMiAqIGMzO1xuXHRcdFx0dGhpcy5fdyA9IGMxICogYzIgKiBjMyArIHMxICogczIgKiBzMztcblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWVpYJyApIHtcblxuXHRcdFx0dGhpcy5feCA9IHMxICogYzIgKiBjMyArIGMxICogczIgKiBzMztcblx0XHRcdHRoaXMuX3kgPSBjMSAqIHMyICogYzMgKyBzMSAqIGMyICogczM7XG5cdFx0XHR0aGlzLl96ID0gYzEgKiBjMiAqIHMzIC0gczEgKiBzMiAqIGMzO1xuXHRcdFx0dGhpcy5fdyA9IGMxICogYzIgKiBjMyAtIHMxICogczIgKiBzMztcblxuXHRcdH0gZWxzZSBpZiAoIG9yZGVyID09PSAnWFpZJyApIHtcblxuXHRcdFx0dGhpcy5feCA9IHMxICogYzIgKiBjMyAtIGMxICogczIgKiBzMztcblx0XHRcdHRoaXMuX3kgPSBjMSAqIHMyICogYzMgLSBzMSAqIGMyICogczM7XG5cdFx0XHR0aGlzLl96ID0gYzEgKiBjMiAqIHMzICsgczEgKiBzMiAqIGMzO1xuXHRcdFx0dGhpcy5fdyA9IGMxICogYzIgKiBjMyArIHMxICogczIgKiBzMztcblxuXHRcdH1cblxuXHRcdGlmICggdXBkYXRlICE9PSBmYWxzZSApIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2V0RnJvbUF4aXNBbmdsZTogZnVuY3Rpb24gKCBheGlzLCBhbmdsZSApIHtcblxuXHRcdC8vIGh0dHA6Ly93d3cuZXVjbGlkZWFuc3BhY2UuY29tL21hdGhzL2dlb21ldHJ5L3JvdGF0aW9ucy9jb252ZXJzaW9ucy9hbmdsZVRvUXVhdGVybmlvbi9pbmRleC5odG1cblxuXHRcdC8vIGFzc3VtZXMgYXhpcyBpcyBub3JtYWxpemVkXG5cblx0XHR2YXIgaGFsZkFuZ2xlID0gYW5nbGUgLyAyLCBzID0gTWF0aC5zaW4oIGhhbGZBbmdsZSApO1xuXG5cdFx0dGhpcy5feCA9IGF4aXMueCAqIHM7XG5cdFx0dGhpcy5feSA9IGF4aXMueSAqIHM7XG5cdFx0dGhpcy5feiA9IGF4aXMueiAqIHM7XG5cdFx0dGhpcy5fdyA9IE1hdGguY29zKCBoYWxmQW5nbGUgKTtcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2V0RnJvbVJvdGF0aW9uTWF0cml4OiBmdW5jdGlvbiAoIG0gKSB7XG5cblx0XHQvLyBodHRwOi8vd3d3LmV1Y2xpZGVhbnNwYWNlLmNvbS9tYXRocy9nZW9tZXRyeS9yb3RhdGlvbnMvY29udmVyc2lvbnMvbWF0cml4VG9RdWF0ZXJuaW9uL2luZGV4Lmh0bVxuXG5cdFx0Ly8gYXNzdW1lcyB0aGUgdXBwZXIgM3gzIG9mIG0gaXMgYSBwdXJlIHJvdGF0aW9uIG1hdHJpeCAoaS5lLCB1bnNjYWxlZClcblxuXHRcdHZhciB0ZSA9IG0uZWxlbWVudHMsXG5cblx0XHRcdG0xMSA9IHRlWyAwIF0sIG0xMiA9IHRlWyA0IF0sIG0xMyA9IHRlWyA4IF0sXG5cdFx0XHRtMjEgPSB0ZVsgMSBdLCBtMjIgPSB0ZVsgNSBdLCBtMjMgPSB0ZVsgOSBdLFxuXHRcdFx0bTMxID0gdGVbIDIgXSwgbTMyID0gdGVbIDYgXSwgbTMzID0gdGVbIDEwIF0sXG5cblx0XHRcdHRyYWNlID0gbTExICsgbTIyICsgbTMzLFxuXHRcdFx0cztcblxuXHRcdGlmICggdHJhY2UgPiAwICkge1xuXG5cdFx0XHRzID0gMC41IC8gTWF0aC5zcXJ0KCB0cmFjZSArIDEuMCApO1xuXG5cdFx0XHR0aGlzLl93ID0gMC4yNSAvIHM7XG5cdFx0XHR0aGlzLl94ID0gKCBtMzIgLSBtMjMgKSAqIHM7XG5cdFx0XHR0aGlzLl95ID0gKCBtMTMgLSBtMzEgKSAqIHM7XG5cdFx0XHR0aGlzLl96ID0gKCBtMjEgLSBtMTIgKSAqIHM7XG5cblx0XHR9IGVsc2UgaWYgKCBtMTEgPiBtMjIgJiYgbTExID4gbTMzICkge1xuXG5cdFx0XHRzID0gMi4wICogTWF0aC5zcXJ0KCAxLjAgKyBtMTEgLSBtMjIgLSBtMzMgKTtcblxuXHRcdFx0dGhpcy5fdyA9ICggbTMyIC0gbTIzICkgLyBzO1xuXHRcdFx0dGhpcy5feCA9IDAuMjUgKiBzO1xuXHRcdFx0dGhpcy5feSA9ICggbTEyICsgbTIxICkgLyBzO1xuXHRcdFx0dGhpcy5feiA9ICggbTEzICsgbTMxICkgLyBzO1xuXG5cdFx0fSBlbHNlIGlmICggbTIyID4gbTMzICkge1xuXG5cdFx0XHRzID0gMi4wICogTWF0aC5zcXJ0KCAxLjAgKyBtMjIgLSBtMTEgLSBtMzMgKTtcblxuXHRcdFx0dGhpcy5fdyA9ICggbTEzIC0gbTMxICkgLyBzO1xuXHRcdFx0dGhpcy5feCA9ICggbTEyICsgbTIxICkgLyBzO1xuXHRcdFx0dGhpcy5feSA9IDAuMjUgKiBzO1xuXHRcdFx0dGhpcy5feiA9ICggbTIzICsgbTMyICkgLyBzO1xuXG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0cyA9IDIuMCAqIE1hdGguc3FydCggMS4wICsgbTMzIC0gbTExIC0gbTIyICk7XG5cblx0XHRcdHRoaXMuX3cgPSAoIG0yMSAtIG0xMiApIC8gcztcblx0XHRcdHRoaXMuX3ggPSAoIG0xMyArIG0zMSApIC8gcztcblx0XHRcdHRoaXMuX3kgPSAoIG0yMyArIG0zMiApIC8gcztcblx0XHRcdHRoaXMuX3ogPSAwLjI1ICogcztcblxuXHRcdH1cblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0c2V0RnJvbVVuaXRWZWN0b3JzOiBmdW5jdGlvbiAoIHZGcm9tLCB2VG8gKSB7XG5cblx0XHQvLyBhc3N1bWVzIGRpcmVjdGlvbiB2ZWN0b3JzIHZGcm9tIGFuZCB2VG8gYXJlIG5vcm1hbGl6ZWRcblxuXHRcdHZhciBFUFMgPSAwLjAwMDAwMTtcblxuXHRcdHZhciByID0gdkZyb20uZG90KCB2VG8gKSArIDE7XG5cblx0XHRpZiAoIHIgPCBFUFMgKSB7XG5cblx0XHRcdHIgPSAwO1xuXG5cdFx0XHRpZiAoIE1hdGguYWJzKCB2RnJvbS54ICkgPiBNYXRoLmFicyggdkZyb20ueiApICkge1xuXG5cdFx0XHRcdHRoaXMuX3ggPSAtIHZGcm9tLnk7XG5cdFx0XHRcdHRoaXMuX3kgPSB2RnJvbS54O1xuXHRcdFx0XHR0aGlzLl96ID0gMDtcblx0XHRcdFx0dGhpcy5fdyA9IHI7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0dGhpcy5feCA9IDA7XG5cdFx0XHRcdHRoaXMuX3kgPSAtIHZGcm9tLno7XG5cdFx0XHRcdHRoaXMuX3ogPSB2RnJvbS55O1xuXHRcdFx0XHR0aGlzLl93ID0gcjtcblxuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0Ly8gY3Jvc3NWZWN0b3JzKCB2RnJvbSwgdlRvICk7IC8vIGlubGluZWQgdG8gYXZvaWQgY3ljbGljIGRlcGVuZGVuY3kgb24gVmVjdG9yM1xuXG5cdFx0XHR0aGlzLl94ID0gdkZyb20ueSAqIHZUby56IC0gdkZyb20ueiAqIHZUby55O1xuXHRcdFx0dGhpcy5feSA9IHZGcm9tLnogKiB2VG8ueCAtIHZGcm9tLnggKiB2VG8uejtcblx0XHRcdHRoaXMuX3ogPSB2RnJvbS54ICogdlRvLnkgLSB2RnJvbS55ICogdlRvLng7XG5cdFx0XHR0aGlzLl93ID0gcjtcblxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLm5vcm1hbGl6ZSgpO1xuXG5cdH0sXG5cblx0YW5nbGVUbzogZnVuY3Rpb24gKCBxICkge1xuXG5cdFx0cmV0dXJuIDIgKiBNYXRoLmFjb3MoIE1hdGguYWJzKCBfTWF0aC5jbGFtcCggdGhpcy5kb3QoIHEgKSwgLSAxLCAxICkgKSApO1xuXG5cdH0sXG5cblx0cm90YXRlVG93YXJkczogZnVuY3Rpb24gKCBxLCBzdGVwICkge1xuXG5cdFx0dmFyIGFuZ2xlID0gdGhpcy5hbmdsZVRvKCBxICk7XG5cblx0XHRpZiAoIGFuZ2xlID09PSAwICkgcmV0dXJuIHRoaXM7XG5cblx0XHR2YXIgdCA9IE1hdGgubWluKCAxLCBzdGVwIC8gYW5nbGUgKTtcblxuXHRcdHRoaXMuc2xlcnAoIHEsIHQgKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0aW52ZXJzZTogZnVuY3Rpb24gKCkge1xuXG5cdFx0Ly8gcXVhdGVybmlvbiBpcyBhc3N1bWVkIHRvIGhhdmUgdW5pdCBsZW5ndGhcblxuXHRcdHJldHVybiB0aGlzLmNvbmp1Z2F0ZSgpO1xuXG5cdH0sXG5cblx0Y29uanVnYXRlOiBmdW5jdGlvbiAoKSB7XG5cblx0XHR0aGlzLl94ICo9IC0gMTtcblx0XHR0aGlzLl95ICo9IC0gMTtcblx0XHR0aGlzLl96ICo9IC0gMTtcblxuXHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXG5cdH0sXG5cblx0ZG90OiBmdW5jdGlvbiAoIHYgKSB7XG5cblx0XHRyZXR1cm4gdGhpcy5feCAqIHYuX3ggKyB0aGlzLl95ICogdi5feSArIHRoaXMuX3ogKiB2Ll96ICsgdGhpcy5fdyAqIHYuX3c7XG5cblx0fSxcblxuXHRsZW5ndGhTcTogZnVuY3Rpb24gKCkge1xuXG5cdFx0cmV0dXJuIHRoaXMuX3ggKiB0aGlzLl94ICsgdGhpcy5feSAqIHRoaXMuX3kgKyB0aGlzLl96ICogdGhpcy5feiArIHRoaXMuX3cgKiB0aGlzLl93O1xuXG5cdH0sXG5cblx0bGVuZ3RoOiBmdW5jdGlvbiAoKSB7XG5cblx0XHRyZXR1cm4gTWF0aC5zcXJ0KCB0aGlzLl94ICogdGhpcy5feCArIHRoaXMuX3kgKiB0aGlzLl95ICsgdGhpcy5feiAqIHRoaXMuX3ogKyB0aGlzLl93ICogdGhpcy5fdyApO1xuXG5cdH0sXG5cblx0bm9ybWFsaXplOiBmdW5jdGlvbiAoKSB7XG5cblx0XHR2YXIgbCA9IHRoaXMubGVuZ3RoKCk7XG5cblx0XHRpZiAoIGwgPT09IDAgKSB7XG5cblx0XHRcdHRoaXMuX3ggPSAwO1xuXHRcdFx0dGhpcy5feSA9IDA7XG5cdFx0XHR0aGlzLl96ID0gMDtcblx0XHRcdHRoaXMuX3cgPSAxO1xuXG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0bCA9IDEgLyBsO1xuXG5cdFx0XHR0aGlzLl94ID0gdGhpcy5feCAqIGw7XG5cdFx0XHR0aGlzLl95ID0gdGhpcy5feSAqIGw7XG5cdFx0XHR0aGlzLl96ID0gdGhpcy5feiAqIGw7XG5cdFx0XHR0aGlzLl93ID0gdGhpcy5fdyAqIGw7XG5cblx0XHR9XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdG11bHRpcGx5OiBmdW5jdGlvbiAoIHEsIHAgKSB7XG5cblx0XHRpZiAoIHAgIT09IHVuZGVmaW5lZCApIHtcblxuXHRcdFx0Y29uc29sZS53YXJuKCAnVEhSRUUuUXVhdGVybmlvbjogLm11bHRpcGx5KCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAubXVsdGlwbHlRdWF0ZXJuaW9ucyggYSwgYiApIGluc3RlYWQuJyApO1xuXHRcdFx0cmV0dXJuIHRoaXMubXVsdGlwbHlRdWF0ZXJuaW9ucyggcSwgcCApO1xuXG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMubXVsdGlwbHlRdWF0ZXJuaW9ucyggdGhpcywgcSApO1xuXG5cdH0sXG5cblx0cHJlbXVsdGlwbHk6IGZ1bmN0aW9uICggcSApIHtcblxuXHRcdHJldHVybiB0aGlzLm11bHRpcGx5UXVhdGVybmlvbnMoIHEsIHRoaXMgKTtcblxuXHR9LFxuXG5cdG11bHRpcGx5UXVhdGVybmlvbnM6IGZ1bmN0aW9uICggYSwgYiApIHtcblxuXHRcdC8vIGZyb20gaHR0cDovL3d3dy5ldWNsaWRlYW5zcGFjZS5jb20vbWF0aHMvYWxnZWJyYS9yZWFsTm9ybWVkQWxnZWJyYS9xdWF0ZXJuaW9ucy9jb2RlL2luZGV4Lmh0bVxuXG5cdFx0dmFyIHFheCA9IGEuX3gsIHFheSA9IGEuX3ksIHFheiA9IGEuX3osIHFhdyA9IGEuX3c7XG5cdFx0dmFyIHFieCA9IGIuX3gsIHFieSA9IGIuX3ksIHFieiA9IGIuX3osIHFidyA9IGIuX3c7XG5cblx0XHR0aGlzLl94ID0gcWF4ICogcWJ3ICsgcWF3ICogcWJ4ICsgcWF5ICogcWJ6IC0gcWF6ICogcWJ5O1xuXHRcdHRoaXMuX3kgPSBxYXkgKiBxYncgKyBxYXcgKiBxYnkgKyBxYXogKiBxYnggLSBxYXggKiBxYno7XG5cdFx0dGhpcy5feiA9IHFheiAqIHFidyArIHFhdyAqIHFieiArIHFheCAqIHFieSAtIHFheSAqIHFieDtcblx0XHR0aGlzLl93ID0gcWF3ICogcWJ3IC0gcWF4ICogcWJ4IC0gcWF5ICogcWJ5IC0gcWF6ICogcWJ6O1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRzbGVycDogZnVuY3Rpb24gKCBxYiwgdCApIHtcblxuXHRcdGlmICggdCA9PT0gMCApIHJldHVybiB0aGlzO1xuXHRcdGlmICggdCA9PT0gMSApIHJldHVybiB0aGlzLmNvcHkoIHFiICk7XG5cblx0XHR2YXIgeCA9IHRoaXMuX3gsIHkgPSB0aGlzLl95LCB6ID0gdGhpcy5feiwgdyA9IHRoaXMuX3c7XG5cblx0XHQvLyBodHRwOi8vd3d3LmV1Y2xpZGVhbnNwYWNlLmNvbS9tYXRocy9hbGdlYnJhL3JlYWxOb3JtZWRBbGdlYnJhL3F1YXRlcm5pb25zL3NsZXJwL1xuXG5cdFx0dmFyIGNvc0hhbGZUaGV0YSA9IHcgKiBxYi5fdyArIHggKiBxYi5feCArIHkgKiBxYi5feSArIHogKiBxYi5fejtcblxuXHRcdGlmICggY29zSGFsZlRoZXRhIDwgMCApIHtcblxuXHRcdFx0dGhpcy5fdyA9IC0gcWIuX3c7XG5cdFx0XHR0aGlzLl94ID0gLSBxYi5feDtcblx0XHRcdHRoaXMuX3kgPSAtIHFiLl95O1xuXHRcdFx0dGhpcy5feiA9IC0gcWIuX3o7XG5cblx0XHRcdGNvc0hhbGZUaGV0YSA9IC0gY29zSGFsZlRoZXRhO1xuXG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0dGhpcy5jb3B5KCBxYiApO1xuXG5cdFx0fVxuXG5cdFx0aWYgKCBjb3NIYWxmVGhldGEgPj0gMS4wICkge1xuXG5cdFx0XHR0aGlzLl93ID0gdztcblx0XHRcdHRoaXMuX3ggPSB4O1xuXHRcdFx0dGhpcy5feSA9IHk7XG5cdFx0XHR0aGlzLl96ID0gejtcblxuXHRcdFx0cmV0dXJuIHRoaXM7XG5cblx0XHR9XG5cblx0XHR2YXIgc3FyU2luSGFsZlRoZXRhID0gMS4wIC0gY29zSGFsZlRoZXRhICogY29zSGFsZlRoZXRhO1xuXG5cdFx0aWYgKCBzcXJTaW5IYWxmVGhldGEgPD0gTnVtYmVyLkVQU0lMT04gKSB7XG5cblx0XHRcdHZhciBzID0gMSAtIHQ7XG5cdFx0XHR0aGlzLl93ID0gcyAqIHcgKyB0ICogdGhpcy5fdztcblx0XHRcdHRoaXMuX3ggPSBzICogeCArIHQgKiB0aGlzLl94O1xuXHRcdFx0dGhpcy5feSA9IHMgKiB5ICsgdCAqIHRoaXMuX3k7XG5cdFx0XHR0aGlzLl96ID0gcyAqIHogKyB0ICogdGhpcy5fejtcblxuXHRcdFx0dGhpcy5ub3JtYWxpemUoKTtcblx0XHRcdHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKTtcblxuXHRcdFx0cmV0dXJuIHRoaXM7XG5cblx0XHR9XG5cblx0XHR2YXIgc2luSGFsZlRoZXRhID0gTWF0aC5zcXJ0KCBzcXJTaW5IYWxmVGhldGEgKTtcblx0XHR2YXIgaGFsZlRoZXRhID0gTWF0aC5hdGFuMiggc2luSGFsZlRoZXRhLCBjb3NIYWxmVGhldGEgKTtcblx0XHR2YXIgcmF0aW9BID0gTWF0aC5zaW4oICggMSAtIHQgKSAqIGhhbGZUaGV0YSApIC8gc2luSGFsZlRoZXRhLFxuXHRcdFx0cmF0aW9CID0gTWF0aC5zaW4oIHQgKiBoYWxmVGhldGEgKSAvIHNpbkhhbGZUaGV0YTtcblxuXHRcdHRoaXMuX3cgPSAoIHcgKiByYXRpb0EgKyB0aGlzLl93ICogcmF0aW9CICk7XG5cdFx0dGhpcy5feCA9ICggeCAqIHJhdGlvQSArIHRoaXMuX3ggKiByYXRpb0IgKTtcblx0XHR0aGlzLl95ID0gKCB5ICogcmF0aW9BICsgdGhpcy5feSAqIHJhdGlvQiApO1xuXHRcdHRoaXMuX3ogPSAoIHogKiByYXRpb0EgKyB0aGlzLl96ICogcmF0aW9CICk7XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdGVxdWFsczogZnVuY3Rpb24gKCBxdWF0ZXJuaW9uICkge1xuXG5cdFx0cmV0dXJuICggcXVhdGVybmlvbi5feCA9PT0gdGhpcy5feCApICYmICggcXVhdGVybmlvbi5feSA9PT0gdGhpcy5feSApICYmICggcXVhdGVybmlvbi5feiA9PT0gdGhpcy5feiApICYmICggcXVhdGVybmlvbi5fdyA9PT0gdGhpcy5fdyApO1xuXG5cdH0sXG5cblx0ZnJvbUFycmF5OiBmdW5jdGlvbiAoIGFycmF5LCBvZmZzZXQgKSB7XG5cblx0XHRpZiAoIG9mZnNldCA9PT0gdW5kZWZpbmVkICkgb2Zmc2V0ID0gMDtcblxuXHRcdHRoaXMuX3ggPSBhcnJheVsgb2Zmc2V0IF07XG5cdFx0dGhpcy5feSA9IGFycmF5WyBvZmZzZXQgKyAxIF07XG5cdFx0dGhpcy5feiA9IGFycmF5WyBvZmZzZXQgKyAyIF07XG5cdFx0dGhpcy5fdyA9IGFycmF5WyBvZmZzZXQgKyAzIF07XG5cblx0XHR0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblxuXHR9LFxuXG5cdHRvQXJyYXk6IGZ1bmN0aW9uICggYXJyYXksIG9mZnNldCApIHtcblxuXHRcdGlmICggYXJyYXkgPT09IHVuZGVmaW5lZCApIGFycmF5ID0gW107XG5cdFx0aWYgKCBvZmZzZXQgPT09IHVuZGVmaW5lZCApIG9mZnNldCA9IDA7XG5cblx0XHRhcnJheVsgb2Zmc2V0IF0gPSB0aGlzLl94O1xuXHRcdGFycmF5WyBvZmZzZXQgKyAxIF0gPSB0aGlzLl95O1xuXHRcdGFycmF5WyBvZmZzZXQgKyAyIF0gPSB0aGlzLl96O1xuXHRcdGFycmF5WyBvZmZzZXQgKyAzIF0gPSB0aGlzLl93O1xuXG5cdFx0cmV0dXJuIGFycmF5O1xuXG5cdH0sXG5cblx0X29uQ2hhbmdlOiBmdW5jdGlvbiAoIGNhbGxiYWNrICkge1xuXG5cdFx0dGhpcy5fb25DaGFuZ2VDYWxsYmFjayA9IGNhbGxiYWNrO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cblx0fSxcblxuXHRfb25DaGFuZ2VDYWxsYmFjazogZnVuY3Rpb24gKCkge31cblxufSApO1xuXG5cbmV4cG9ydCB7IFF1YXRlcm5pb24gfTsiXX0=