binbot-charts 0.6.2 → 0.6.3

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 (1280) hide show
  1. package/babel.config.json +13 -0
  2. package/browserslist +31 -0
  3. package/dist/public/charting_library/bundles/0.d46f0b5e9380d7893de5.js +112 -0
  4. package/dist/public/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +1 -0
  5. package/dist/public/charting_library/bundles/10.21e665b7935d5bc4ba64.js +322 -0
  6. package/dist/public/charting_library/bundles/11.df012db70159a159d927.js +1 -0
  7. package/dist/public/charting_library/bundles/12.37750b21f6d8d35c6e6e.d.ts +0 -0
  8. package/dist/public/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +1 -0
  9. package/dist/public/charting_library/bundles/13.699469c73d09b7add56d.d.ts +0 -0
  10. package/dist/public/charting_library/bundles/13.699469c73d09b7add56d.js +1 -0
  11. package/dist/public/charting_library/bundles/14.d1148b38d59df9ca5061.d.ts +0 -0
  12. package/dist/public/charting_library/bundles/14.d1148b38d59df9ca5061.js +1 -0
  13. package/dist/public/charting_library/bundles/15.44f2acca80348a1da1a6.d.ts +0 -0
  14. package/dist/public/charting_library/bundles/15.44f2acca80348a1da1a6.js +89 -0
  15. package/dist/public/charting_library/bundles/16.680572949c1125757d35.d.ts +0 -0
  16. package/dist/public/charting_library/bundles/16.680572949c1125757d35.js +1 -0
  17. package/dist/public/charting_library/bundles/17.404a01f527881dfff424.d.ts +0 -0
  18. package/dist/public/charting_library/bundles/17.404a01f527881dfff424.js +1 -0
  19. package/dist/public/charting_library/bundles/18.78de69cfba051874e071.d.ts +0 -0
  20. package/dist/public/charting_library/bundles/18.78de69cfba051874e071.js +120 -0
  21. package/dist/public/charting_library/bundles/19.048f7f5d36fef428ca8d.d.ts +0 -0
  22. package/dist/public/charting_library/bundles/19.048f7f5d36fef428ca8d.js +1 -0
  23. package/dist/public/charting_library/bundles/2.60931787a6734697ac13.d.ts +0 -0
  24. package/dist/public/charting_library/bundles/2.60931787a6734697ac13.js +118 -0
  25. package/dist/public/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.d.ts +0 -0
  26. package/dist/public/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +128 -0
  27. package/dist/public/charting_library/bundles/21.4c7b5cccb67a95e7e782.d.ts +0 -0
  28. package/dist/public/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +1 -0
  29. package/dist/public/charting_library/bundles/22.ca4300bcf614d8d5f4ab.d.ts +0 -0
  30. package/dist/public/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +1 -0
  31. package/dist/public/charting_library/bundles/23.256ba98e6a03200bdeba.d.ts +0 -0
  32. package/dist/public/charting_library/bundles/23.256ba98e6a03200bdeba.js +1 -0
  33. package/dist/public/charting_library/bundles/24.bc4fafedb1730259aa10.d.ts +0 -0
  34. package/dist/public/charting_library/bundles/24.bc4fafedb1730259aa10.js +1 -0
  35. package/dist/public/charting_library/bundles/25.7416db26ed3dcc87c05a.d.ts +0 -0
  36. package/dist/public/charting_library/bundles/25.7416db26ed3dcc87c05a.js +611 -0
  37. package/dist/public/charting_library/bundles/26.3aeec391d4e6e19989ee.d.ts +0 -0
  38. package/dist/public/charting_library/bundles/26.3aeec391d4e6e19989ee.js +1 -0
  39. package/dist/public/charting_library/bundles/27.e3ec08b1fb9df5f36ada.d.ts +0 -0
  40. package/dist/public/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +69 -0
  41. package/dist/public/charting_library/bundles/28.9f103042c27ea2df422f.d.ts +0 -0
  42. package/dist/public/charting_library/bundles/28.9f103042c27ea2df422f.js +1 -0
  43. package/dist/public/charting_library/bundles/29.3df8712b85d45a626aa0.d.ts +0 -0
  44. package/dist/public/charting_library/bundles/29.3df8712b85d45a626aa0.js +1 -0
  45. package/dist/public/charting_library/bundles/3.76c398b01b707e5b251c.d.ts +0 -0
  46. package/dist/public/charting_library/bundles/3.76c398b01b707e5b251c.js +1 -0
  47. package/dist/public/charting_library/bundles/30.0b732ccb122d160480b6.d.ts +0 -0
  48. package/dist/public/charting_library/bundles/30.0b732ccb122d160480b6.js +231 -0
  49. package/dist/public/charting_library/bundles/31.8d2b7a538755fd1bb760.d.ts +0 -0
  50. package/dist/public/charting_library/bundles/31.8d2b7a538755fd1bb760.js +166 -0
  51. package/dist/public/charting_library/bundles/32.13ce02217cf8f9dd6d90.d.ts +0 -0
  52. package/dist/public/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +121 -0
  53. package/dist/public/charting_library/bundles/33.4d0dd1f7001fc02099bb.d.ts +0 -0
  54. package/dist/public/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +1 -0
  55. package/dist/public/charting_library/bundles/34.c9baa59add71a1e48fd2.d.ts +0 -0
  56. package/dist/public/charting_library/bundles/34.c9baa59add71a1e48fd2.js +1 -0
  57. package/dist/public/charting_library/bundles/35.ed9e360f9686ad3a9497.d.ts +0 -0
  58. package/dist/public/charting_library/bundles/35.ed9e360f9686ad3a9497.js +1 -0
  59. package/dist/public/charting_library/bundles/36.1882d1a8d312a0e193e9.d.ts +0 -0
  60. package/dist/public/charting_library/bundles/36.1882d1a8d312a0e193e9.js +1 -0
  61. package/dist/public/charting_library/bundles/37.90129e4904155350d6a1.d.ts +0 -0
  62. package/dist/public/charting_library/bundles/37.90129e4904155350d6a1.js +199 -0
  63. package/dist/public/charting_library/bundles/38.41f3d509b61c8af47de3.d.ts +0 -0
  64. package/dist/public/charting_library/bundles/38.41f3d509b61c8af47de3.js +74 -0
  65. package/dist/public/charting_library/bundles/39.bc1e9ce938fd5152831f.d.ts +0 -0
  66. package/dist/public/charting_library/bundles/39.bc1e9ce938fd5152831f.js +1 -0
  67. package/dist/public/charting_library/bundles/4.c7430b8d89cddcf51345.d.ts +0 -0
  68. package/dist/public/charting_library/bundles/4.c7430b8d89cddcf51345.js +1 -0
  69. package/dist/public/charting_library/bundles/40.b59f41ba4cacbfb8acc3.d.ts +0 -0
  70. package/dist/public/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +29 -0
  71. package/dist/public/charting_library/bundles/41.a19b0ae5d68f855d2753.d.ts +0 -0
  72. package/dist/public/charting_library/bundles/41.a19b0ae5d68f855d2753.js +1 -0
  73. package/dist/public/charting_library/bundles/42.494986b0981f6d116fef.d.ts +0 -0
  74. package/dist/public/charting_library/bundles/42.494986b0981f6d116fef.js +1 -0
  75. package/dist/public/charting_library/bundles/43.619c5ed4a592cc2965a4.d.ts +0 -0
  76. package/dist/public/charting_library/bundles/43.619c5ed4a592cc2965a4.js +1 -0
  77. package/dist/public/charting_library/bundles/44.0a7df307e4f397763ce8.d.ts +0 -0
  78. package/dist/public/charting_library/bundles/44.0a7df307e4f397763ce8.js +363 -0
  79. package/dist/public/charting_library/bundles/45.db9dbd3e9bfeca5333da.d.ts +0 -0
  80. package/dist/public/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +1 -0
  81. package/dist/public/charting_library/bundles/46.f1d4cfe6d6f830b4a011.d.ts +0 -0
  82. package/dist/public/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +114 -0
  83. package/dist/public/charting_library/bundles/47.a3da3f774c90bd22798e.d.ts +0 -0
  84. package/dist/public/charting_library/bundles/47.a3da3f774c90bd22798e.js +95 -0
  85. package/dist/public/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.d.ts +0 -0
  86. package/dist/public/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +1 -0
  87. package/dist/public/charting_library/bundles/49.bacd609f7eb77a4a4b68.d.ts +0 -0
  88. package/dist/public/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +1 -0
  89. package/dist/public/charting_library/bundles/5.5e97b270ab80d99e9085.d.ts +0 -0
  90. package/dist/public/charting_library/bundles/5.5e97b270ab80d99e9085.js +62 -0
  91. package/dist/public/charting_library/bundles/50.b282667dddcb7fe1569a.d.ts +0 -0
  92. package/dist/public/charting_library/bundles/50.b282667dddcb7fe1569a.js +1 -0
  93. package/dist/public/charting_library/bundles/51.11871c50951db825ace3.d.ts +0 -0
  94. package/dist/public/charting_library/bundles/51.11871c50951db825ace3.js +1 -0
  95. package/dist/public/charting_library/bundles/52.0379a85baae3ab43b15c.d.ts +0 -0
  96. package/dist/public/charting_library/bundles/52.0379a85baae3ab43b15c.js +1 -0
  97. package/dist/public/charting_library/bundles/53.1d3ec98cfb8e19affb1c.d.ts +0 -0
  98. package/dist/public/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +76 -0
  99. package/dist/public/charting_library/bundles/54.bb5888ae55ea0a253a5b.d.ts +0 -0
  100. package/dist/public/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +203 -0
  101. package/dist/public/charting_library/bundles/55.3c35a629db21ab961f11.d.ts +0 -0
  102. package/dist/public/charting_library/bundles/55.3c35a629db21ab961f11.js +303 -0
  103. package/dist/public/charting_library/bundles/56.b3e69145c0fee614443d.d.ts +0 -0
  104. package/dist/public/charting_library/bundles/56.b3e69145c0fee614443d.js +95 -0
  105. package/dist/public/charting_library/bundles/57.236996ec416da4c1f683.d.ts +0 -0
  106. package/dist/public/charting_library/bundles/57.236996ec416da4c1f683.js +108 -0
  107. package/dist/public/charting_library/bundles/58.7ffac4ba908b95705e63.d.ts +0 -0
  108. package/dist/public/charting_library/bundles/58.7ffac4ba908b95705e63.js +61 -0
  109. package/dist/public/charting_library/bundles/59.397cb6699b74d64072a8.d.ts +0 -0
  110. package/dist/public/charting_library/bundles/59.397cb6699b74d64072a8.js +1 -0
  111. package/dist/public/charting_library/bundles/6.2d67b0ae77825dbd455d.d.ts +0 -0
  112. package/dist/public/charting_library/bundles/6.2d67b0ae77825dbd455d.js +1 -0
  113. package/dist/public/charting_library/bundles/60.6b5eced2ef8fa856be88.d.ts +0 -0
  114. package/dist/public/charting_library/bundles/60.6b5eced2ef8fa856be88.js +1 -0
  115. package/dist/public/charting_library/bundles/61.38a3040c925fadff7b64.d.ts +0 -0
  116. package/dist/public/charting_library/bundles/61.38a3040c925fadff7b64.js +118 -0
  117. package/dist/public/charting_library/bundles/62.63b309f5f8da9ca013b8.d.ts +0 -0
  118. package/dist/public/charting_library/bundles/62.63b309f5f8da9ca013b8.js +61 -0
  119. package/dist/public/charting_library/bundles/63.8255c7f5191bcafcee7c.d.ts +0 -0
  120. package/dist/public/charting_library/bundles/63.8255c7f5191bcafcee7c.js +1 -0
  121. package/dist/public/charting_library/bundles/64.ec4b4d03b28c77658dde.d.ts +0 -0
  122. package/dist/public/charting_library/bundles/64.ec4b4d03b28c77658dde.js +1 -0
  123. package/dist/public/charting_library/bundles/65.f895a78b4e04257983ff.d.ts +0 -0
  124. package/dist/public/charting_library/bundles/65.f895a78b4e04257983ff.js +1 -0
  125. package/dist/public/charting_library/bundles/66.2979e9b7c35e7bf03a37.d.ts +0 -0
  126. package/dist/public/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +1 -0
  127. package/dist/public/charting_library/bundles/67.25fd4b78c8c514988aeb.d.ts +0 -0
  128. package/dist/public/charting_library/bundles/67.25fd4b78c8c514988aeb.js +1 -0
  129. package/dist/public/charting_library/bundles/68.8b4124c875484d11fd94.d.ts +0 -0
  130. package/dist/public/charting_library/bundles/68.8b4124c875484d11fd94.js +1 -0
  131. package/dist/public/charting_library/bundles/69.43756a5c7477730eb0c4.d.ts +0 -0
  132. package/dist/public/charting_library/bundles/69.43756a5c7477730eb0c4.js +1 -0
  133. package/dist/public/charting_library/bundles/7.2c7c4f8a49c6380227de.d.ts +0 -0
  134. package/dist/public/charting_library/bundles/7.2c7c4f8a49c6380227de.js +68 -0
  135. package/dist/public/charting_library/bundles/70.cb9d1bb5a00896c1bb97.d.ts +0 -0
  136. package/dist/public/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +1 -0
  137. package/dist/public/charting_library/bundles/71.6a9d0842f5e48f68399c.d.ts +0 -0
  138. package/dist/public/charting_library/bundles/71.6a9d0842f5e48f68399c.js +1 -0
  139. package/dist/public/charting_library/bundles/72.e3925aaf38d2c8997638.d.ts +0 -0
  140. package/dist/public/charting_library/bundles/72.e3925aaf38d2c8997638.js +1 -0
  141. package/dist/public/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.d.ts +0 -0
  142. package/dist/public/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +1 -0
  143. package/dist/public/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.d.ts +0 -0
  144. package/dist/public/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +1 -0
  145. package/dist/public/charting_library/bundles/75.1c9a3a6524248ddf88bf.d.ts +0 -0
  146. package/dist/public/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +1 -0
  147. package/dist/public/charting_library/bundles/76.5d20bed213399f326603.d.ts +0 -0
  148. package/dist/public/charting_library/bundles/76.5d20bed213399f326603.js +1 -0
  149. package/dist/public/charting_library/bundles/77.3e4ccccc7d3eb03c488f.d.ts +0 -0
  150. package/dist/public/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +1 -0
  151. package/dist/public/charting_library/bundles/78.1d1d47a915b06f1496fb.d.ts +0 -0
  152. package/dist/public/charting_library/bundles/78.1d1d47a915b06f1496fb.js +1 -0
  153. package/dist/public/charting_library/bundles/79.86e92b77f8cf32e6bc37.d.ts +0 -0
  154. package/dist/public/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +1 -0
  155. package/dist/public/charting_library/bundles/8.ffab20b86db484062268.d.ts +0 -0
  156. package/dist/public/charting_library/bundles/8.ffab20b86db484062268.js +1 -0
  157. package/dist/public/charting_library/bundles/80.b5bc6acec3b531a510a9.d.ts +0 -0
  158. package/dist/public/charting_library/bundles/80.b5bc6acec3b531a510a9.js +1 -0
  159. package/dist/public/charting_library/bundles/81.e6a1f76017a44b03480b.d.ts +0 -0
  160. package/dist/public/charting_library/bundles/81.e6a1f76017a44b03480b.js +1 -0
  161. package/dist/public/charting_library/bundles/82.8c2919e6c8f54e36e9e6.d.ts +0 -0
  162. package/dist/public/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +1 -0
  163. package/dist/public/charting_library/bundles/83.f3e53bb5a5940e084955.d.ts +0 -0
  164. package/dist/public/charting_library/bundles/83.f3e53bb5a5940e084955.js +1 -0
  165. package/dist/public/charting_library/bundles/84.8acc496b4deeeeefb5af.d.ts +0 -0
  166. package/dist/public/charting_library/bundles/84.8acc496b4deeeeefb5af.js +1 -0
  167. package/dist/public/charting_library/bundles/85.39c78fbeaabae306f343.d.ts +0 -0
  168. package/dist/public/charting_library/bundles/85.39c78fbeaabae306f343.js +1 -0
  169. package/dist/public/charting_library/bundles/86.4bbbb9e6262243419986.d.ts +0 -0
  170. package/dist/public/charting_library/bundles/86.4bbbb9e6262243419986.js +1 -0
  171. package/dist/public/charting_library/bundles/87.cf03fa0a76bfcadd157d.d.ts +0 -0
  172. package/dist/public/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +1 -0
  173. package/dist/public/charting_library/bundles/88.d1e3aec63ece25f6b8a9.d.ts +0 -0
  174. package/dist/public/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +1 -0
  175. package/dist/public/charting_library/bundles/89.d8aa43b4b9378722d572.d.ts +0 -0
  176. package/dist/public/charting_library/bundles/89.d8aa43b4b9378722d572.js +1 -0
  177. package/dist/public/charting_library/bundles/9.84ecbc930e51cb26d06a.d.ts +0 -0
  178. package/dist/public/charting_library/bundles/9.84ecbc930e51cb26d06a.js +1 -0
  179. package/dist/public/charting_library/bundles/90.ce47bb68fc3fc88b5590.d.ts +0 -0
  180. package/dist/public/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +1 -0
  181. package/dist/public/charting_library/bundles/91.a9b79ef7ba0a62311a53.d.ts +0 -0
  182. package/dist/public/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +1 -0
  183. package/dist/public/charting_library/bundles/92.76d5ca7ebec10a1a7a12.d.ts +0 -0
  184. package/dist/public/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +1 -0
  185. package/dist/public/charting_library/bundles/93.6de56ef1975f4a31e542.d.ts +0 -0
  186. package/dist/public/charting_library/bundles/93.6de56ef1975f4a31e542.js +1 -0
  187. package/dist/public/charting_library/bundles/94.231bea5fb12b806ef287.d.ts +0 -0
  188. package/dist/public/charting_library/bundles/94.231bea5fb12b806ef287.js +1 -0
  189. package/dist/public/charting_library/bundles/95.6f7da80aac5cf2bf77d6.d.ts +0 -0
  190. package/dist/public/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +1 -0
  191. package/dist/public/charting_library/bundles/96.43bb935eee30715afff7.d.ts +0 -0
  192. package/dist/public/charting_library/bundles/96.43bb935eee30715afff7.js +1 -0
  193. package/dist/public/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.d.ts +0 -0
  194. package/dist/public/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +263 -0
  195. package/dist/public/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.d.ts +0 -0
  196. package/dist/public/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +52 -0
  197. package/dist/public/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.d.ts +0 -0
  198. package/dist/public/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +399 -0
  199. package/dist/public/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.d.ts +0 -0
  200. package/dist/public/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +97 -0
  201. package/dist/public/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.d.ts +0 -0
  202. package/dist/public/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +49 -0
  203. package/dist/public/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.d.ts +0 -0
  204. package/dist/public/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +1199 -0
  205. package/dist/public/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.d.ts +0 -0
  206. package/dist/public/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +181 -0
  207. package/dist/public/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.d.ts +0 -0
  208. package/dist/public/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +107 -0
  209. package/dist/public/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.d.ts +0 -0
  210. package/dist/public/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +131 -0
  211. package/dist/public/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.d.ts +0 -0
  212. package/dist/public/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +71 -0
  213. package/dist/public/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.d.ts +0 -0
  214. package/dist/public/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +250 -0
  215. package/dist/public/charting_library/bundles/export-data.c819cfa996e2815ff11d.d.ts +0 -0
  216. package/dist/public/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +78 -0
  217. package/dist/public/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.d.ts +0 -0
  218. package/dist/public/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +508 -0
  219. package/dist/public/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.d.ts +0 -0
  220. package/dist/public/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +92 -0
  221. package/dist/public/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.d.ts +0 -0
  222. package/dist/public/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +85 -0
  223. package/dist/public/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.d.ts +0 -0
  224. package/dist/public/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +104 -0
  225. package/dist/public/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.d.ts +0 -0
  226. package/dist/public/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +361 -0
  227. package/dist/public/charting_library/bundles/hammerjs.e5489031ed611f47bf09.d.ts +0 -0
  228. package/dist/public/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +224 -0
  229. package/dist/public/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.d.ts +0 -0
  230. package/dist/public/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +228 -0
  231. package/dist/public/charting_library/bundles/library.8b0dd8732414a2bcbcb1.d.ts +0 -0
  232. package/dist/public/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +26194 -0
  233. package/dist/public/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.d.ts +0 -0
  234. package/dist/public/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +60 -0
  235. package/dist/public/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.d.ts +0 -0
  236. package/dist/public/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +101 -0
  237. package/dist/public/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.d.ts +0 -0
  238. package/dist/public/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +116 -0
  239. package/dist/public/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.d.ts +0 -0
  240. package/dist/public/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +4029 -0
  241. package/dist/public/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.d.ts +0 -0
  242. package/dist/public/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +735 -0
  243. package/dist/public/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.d.ts +0 -0
  244. package/dist/public/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +16 -0
  245. package/dist/public/charting_library/bundles/moment.78e587a83a009ca48cda.d.ts +0 -0
  246. package/dist/public/charting_library/bundles/moment.78e587a83a009ca48cda.js +369 -0
  247. package/dist/public/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.d.ts +0 -0
  248. package/dist/public/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +130 -0
  249. package/dist/public/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.d.ts +0 -0
  250. package/dist/public/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +405 -0
  251. package/dist/public/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.d.ts +0 -0
  252. package/dist/public/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +1807 -0
  253. package/dist/public/charting_library/bundles/react.9f2899b40ad0e104f6c9.d.ts +0 -0
  254. package/dist/public/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +3715 -0
  255. package/dist/public/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.d.ts +0 -0
  256. package/dist/public/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +354 -0
  257. package/dist/public/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.d.ts +0 -0
  258. package/dist/public/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +566 -0
  259. package/dist/public/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.d.ts +0 -0
  260. package/dist/public/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +79 -0
  261. package/dist/public/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.d.ts +0 -0
  262. package/dist/public/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +8 -0
  263. package/dist/public/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.d.ts +0 -0
  264. package/dist/public/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +52 -0
  265. package/dist/public/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.d.ts +0 -0
  266. package/dist/public/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +5 -0
  267. package/dist/public/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.d.ts +0 -0
  268. package/dist/public/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +11 -0
  269. package/dist/public/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.d.ts +0 -0
  270. package/dist/public/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +189 -0
  271. package/dist/public/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.d.ts +0 -0
  272. package/dist/public/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +39 -0
  273. package/dist/public/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.d.ts +0 -0
  274. package/dist/public/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +174 -0
  275. package/dist/public/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.d.ts +0 -0
  276. package/dist/public/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +204 -0
  277. package/dist/public/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.d.ts +0 -0
  278. package/dist/public/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +125 -0
  279. package/dist/public/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.d.ts +0 -0
  280. package/dist/public/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +320 -0
  281. package/dist/public/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.d.ts +0 -0
  282. package/dist/public/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +123 -0
  283. package/dist/public/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.d.ts +0 -0
  284. package/dist/public/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +35 -0
  285. package/dist/public/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.d.ts +0 -0
  286. package/dist/public/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +74 -0
  287. package/dist/public/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.d.ts +0 -0
  288. package/dist/public/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +1304 -0
  289. package/dist/public/charting_library/charting_library.cjs.d.ts +87 -0
  290. package/dist/public/charting_library/charting_library.cjs.js +98 -0
  291. package/dist/public/charting_library/charting_library.d.ts +0 -0
  292. package/dist/public/charting_library/charting_library.esm.d.ts +86 -0
  293. package/dist/public/charting_library/charting_library.esm.js +101 -0
  294. package/dist/public/charting_library/charting_library.js +99 -0
  295. package/dist/public/charting_library/charting_library.standalone.d.ts +1 -0
  296. package/dist/public/charting_library/charting_library.standalone.js +99 -0
  297. package/dist/src/App.d.ts +4 -0
  298. package/dist/src/App.js +81 -0
  299. package/dist/src/charting_library/bundles/0.d46f0b5e9380d7893de5.d.ts +0 -0
  300. package/dist/src/charting_library/bundles/0.d46f0b5e9380d7893de5.js +112 -0
  301. package/dist/src/charting_library/bundles/1.f02c87d35fbc8ffcaedb.d.ts +0 -0
  302. package/dist/src/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +1 -0
  303. package/dist/src/charting_library/bundles/10.21e665b7935d5bc4ba64.d.ts +0 -0
  304. package/dist/src/charting_library/bundles/10.21e665b7935d5bc4ba64.js +322 -0
  305. package/dist/src/charting_library/bundles/11.df012db70159a159d927.d.ts +0 -0
  306. package/dist/src/charting_library/bundles/11.df012db70159a159d927.js +1 -0
  307. package/dist/src/charting_library/bundles/12.37750b21f6d8d35c6e6e.d.ts +0 -0
  308. package/dist/src/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +1 -0
  309. package/dist/src/charting_library/bundles/13.699469c73d09b7add56d.d.ts +0 -0
  310. package/dist/src/charting_library/bundles/13.699469c73d09b7add56d.js +1 -0
  311. package/dist/src/charting_library/bundles/14.d1148b38d59df9ca5061.d.ts +0 -0
  312. package/dist/src/charting_library/bundles/14.d1148b38d59df9ca5061.js +1 -0
  313. package/dist/src/charting_library/bundles/15.44f2acca80348a1da1a6.d.ts +0 -0
  314. package/dist/src/charting_library/bundles/15.44f2acca80348a1da1a6.js +89 -0
  315. package/dist/src/charting_library/bundles/16.680572949c1125757d35.d.ts +0 -0
  316. package/dist/src/charting_library/bundles/16.680572949c1125757d35.js +1 -0
  317. package/dist/src/charting_library/bundles/17.404a01f527881dfff424.d.ts +0 -0
  318. package/dist/src/charting_library/bundles/17.404a01f527881dfff424.js +1 -0
  319. package/dist/src/charting_library/bundles/18.78de69cfba051874e071.d.ts +0 -0
  320. package/dist/src/charting_library/bundles/18.78de69cfba051874e071.js +120 -0
  321. package/dist/src/charting_library/bundles/19.048f7f5d36fef428ca8d.d.ts +0 -0
  322. package/dist/src/charting_library/bundles/19.048f7f5d36fef428ca8d.js +1 -0
  323. package/dist/src/charting_library/bundles/2.60931787a6734697ac13.d.ts +0 -0
  324. package/dist/src/charting_library/bundles/2.60931787a6734697ac13.js +118 -0
  325. package/dist/src/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.d.ts +0 -0
  326. package/dist/src/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +128 -0
  327. package/dist/src/charting_library/bundles/21.4c7b5cccb67a95e7e782.d.ts +0 -0
  328. package/dist/src/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +1 -0
  329. package/dist/src/charting_library/bundles/22.ca4300bcf614d8d5f4ab.d.ts +0 -0
  330. package/dist/src/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +1 -0
  331. package/dist/src/charting_library/bundles/23.256ba98e6a03200bdeba.d.ts +0 -0
  332. package/dist/src/charting_library/bundles/23.256ba98e6a03200bdeba.js +1 -0
  333. package/dist/src/charting_library/bundles/24.bc4fafedb1730259aa10.d.ts +0 -0
  334. package/dist/src/charting_library/bundles/24.bc4fafedb1730259aa10.js +1 -0
  335. package/dist/src/charting_library/bundles/25.7416db26ed3dcc87c05a.d.ts +0 -0
  336. package/dist/src/charting_library/bundles/25.7416db26ed3dcc87c05a.js +611 -0
  337. package/dist/src/charting_library/bundles/26.3aeec391d4e6e19989ee.d.ts +0 -0
  338. package/dist/src/charting_library/bundles/26.3aeec391d4e6e19989ee.js +1 -0
  339. package/dist/src/charting_library/bundles/27.e3ec08b1fb9df5f36ada.d.ts +0 -0
  340. package/dist/src/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +69 -0
  341. package/dist/src/charting_library/bundles/28.9f103042c27ea2df422f.d.ts +0 -0
  342. package/dist/src/charting_library/bundles/28.9f103042c27ea2df422f.js +1 -0
  343. package/dist/src/charting_library/bundles/29.3df8712b85d45a626aa0.d.ts +0 -0
  344. package/dist/src/charting_library/bundles/29.3df8712b85d45a626aa0.js +1 -0
  345. package/dist/src/charting_library/bundles/3.76c398b01b707e5b251c.d.ts +0 -0
  346. package/dist/src/charting_library/bundles/3.76c398b01b707e5b251c.js +1 -0
  347. package/dist/src/charting_library/bundles/30.0b732ccb122d160480b6.d.ts +0 -0
  348. package/dist/src/charting_library/bundles/30.0b732ccb122d160480b6.js +231 -0
  349. package/dist/src/charting_library/bundles/31.8d2b7a538755fd1bb760.d.ts +0 -0
  350. package/dist/src/charting_library/bundles/31.8d2b7a538755fd1bb760.js +166 -0
  351. package/dist/src/charting_library/bundles/32.13ce02217cf8f9dd6d90.d.ts +0 -0
  352. package/dist/src/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +121 -0
  353. package/dist/src/charting_library/bundles/33.4d0dd1f7001fc02099bb.d.ts +0 -0
  354. package/dist/src/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +1 -0
  355. package/dist/src/charting_library/bundles/34.c9baa59add71a1e48fd2.d.ts +0 -0
  356. package/dist/src/charting_library/bundles/34.c9baa59add71a1e48fd2.js +1 -0
  357. package/dist/src/charting_library/bundles/35.ed9e360f9686ad3a9497.d.ts +0 -0
  358. package/dist/src/charting_library/bundles/35.ed9e360f9686ad3a9497.js +1 -0
  359. package/dist/src/charting_library/bundles/36.1882d1a8d312a0e193e9.d.ts +0 -0
  360. package/dist/src/charting_library/bundles/36.1882d1a8d312a0e193e9.js +1 -0
  361. package/dist/src/charting_library/bundles/37.90129e4904155350d6a1.d.ts +0 -0
  362. package/dist/src/charting_library/bundles/37.90129e4904155350d6a1.js +199 -0
  363. package/dist/src/charting_library/bundles/38.41f3d509b61c8af47de3.d.ts +0 -0
  364. package/dist/src/charting_library/bundles/38.41f3d509b61c8af47de3.js +74 -0
  365. package/dist/src/charting_library/bundles/39.bc1e9ce938fd5152831f.d.ts +0 -0
  366. package/dist/src/charting_library/bundles/39.bc1e9ce938fd5152831f.js +1 -0
  367. package/dist/src/charting_library/bundles/4.c7430b8d89cddcf51345.d.ts +0 -0
  368. package/dist/src/charting_library/bundles/4.c7430b8d89cddcf51345.js +1 -0
  369. package/dist/src/charting_library/bundles/40.b59f41ba4cacbfb8acc3.d.ts +0 -0
  370. package/dist/src/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +29 -0
  371. package/dist/src/charting_library/bundles/41.a19b0ae5d68f855d2753.d.ts +0 -0
  372. package/dist/src/charting_library/bundles/41.a19b0ae5d68f855d2753.js +1 -0
  373. package/dist/src/charting_library/bundles/42.494986b0981f6d116fef.d.ts +0 -0
  374. package/dist/src/charting_library/bundles/42.494986b0981f6d116fef.js +1 -0
  375. package/dist/src/charting_library/bundles/43.619c5ed4a592cc2965a4.d.ts +0 -0
  376. package/dist/src/charting_library/bundles/43.619c5ed4a592cc2965a4.js +1 -0
  377. package/dist/src/charting_library/bundles/44.0a7df307e4f397763ce8.d.ts +0 -0
  378. package/dist/src/charting_library/bundles/44.0a7df307e4f397763ce8.js +363 -0
  379. package/dist/src/charting_library/bundles/45.db9dbd3e9bfeca5333da.d.ts +0 -0
  380. package/dist/src/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +1 -0
  381. package/dist/src/charting_library/bundles/46.f1d4cfe6d6f830b4a011.d.ts +0 -0
  382. package/dist/src/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +114 -0
  383. package/dist/src/charting_library/bundles/47.a3da3f774c90bd22798e.d.ts +0 -0
  384. package/dist/src/charting_library/bundles/47.a3da3f774c90bd22798e.js +95 -0
  385. package/dist/src/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.d.ts +0 -0
  386. package/dist/src/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +1 -0
  387. package/dist/src/charting_library/bundles/49.bacd609f7eb77a4a4b68.d.ts +0 -0
  388. package/dist/src/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +1 -0
  389. package/dist/src/charting_library/bundles/5.5e97b270ab80d99e9085.d.ts +0 -0
  390. package/dist/src/charting_library/bundles/5.5e97b270ab80d99e9085.js +62 -0
  391. package/dist/src/charting_library/bundles/50.b282667dddcb7fe1569a.d.ts +0 -0
  392. package/dist/src/charting_library/bundles/50.b282667dddcb7fe1569a.js +1 -0
  393. package/dist/src/charting_library/bundles/51.11871c50951db825ace3.d.ts +0 -0
  394. package/dist/src/charting_library/bundles/51.11871c50951db825ace3.js +1 -0
  395. package/dist/src/charting_library/bundles/52.0379a85baae3ab43b15c.d.ts +0 -0
  396. package/dist/src/charting_library/bundles/52.0379a85baae3ab43b15c.js +1 -0
  397. package/dist/src/charting_library/bundles/53.1d3ec98cfb8e19affb1c.d.ts +0 -0
  398. package/dist/src/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +76 -0
  399. package/dist/src/charting_library/bundles/54.bb5888ae55ea0a253a5b.d.ts +0 -0
  400. package/dist/src/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +203 -0
  401. package/dist/src/charting_library/bundles/55.3c35a629db21ab961f11.d.ts +0 -0
  402. package/dist/src/charting_library/bundles/55.3c35a629db21ab961f11.js +303 -0
  403. package/dist/src/charting_library/bundles/56.b3e69145c0fee614443d.d.ts +0 -0
  404. package/dist/src/charting_library/bundles/56.b3e69145c0fee614443d.js +95 -0
  405. package/dist/src/charting_library/bundles/57.236996ec416da4c1f683.d.ts +0 -0
  406. package/dist/src/charting_library/bundles/57.236996ec416da4c1f683.js +108 -0
  407. package/dist/src/charting_library/bundles/58.7ffac4ba908b95705e63.d.ts +0 -0
  408. package/dist/src/charting_library/bundles/58.7ffac4ba908b95705e63.js +61 -0
  409. package/dist/src/charting_library/bundles/59.397cb6699b74d64072a8.d.ts +0 -0
  410. package/dist/src/charting_library/bundles/59.397cb6699b74d64072a8.js +1 -0
  411. package/dist/src/charting_library/bundles/6.2d67b0ae77825dbd455d.d.ts +0 -0
  412. package/dist/src/charting_library/bundles/6.2d67b0ae77825dbd455d.js +1 -0
  413. package/dist/src/charting_library/bundles/60.6b5eced2ef8fa856be88.d.ts +0 -0
  414. package/dist/src/charting_library/bundles/60.6b5eced2ef8fa856be88.js +1 -0
  415. package/dist/src/charting_library/bundles/61.38a3040c925fadff7b64.d.ts +0 -0
  416. package/dist/src/charting_library/bundles/61.38a3040c925fadff7b64.js +118 -0
  417. package/dist/src/charting_library/bundles/62.63b309f5f8da9ca013b8.d.ts +0 -0
  418. package/dist/src/charting_library/bundles/62.63b309f5f8da9ca013b8.js +61 -0
  419. package/dist/src/charting_library/bundles/63.8255c7f5191bcafcee7c.d.ts +0 -0
  420. package/dist/src/charting_library/bundles/63.8255c7f5191bcafcee7c.js +1 -0
  421. package/dist/src/charting_library/bundles/64.ec4b4d03b28c77658dde.d.ts +0 -0
  422. package/dist/src/charting_library/bundles/64.ec4b4d03b28c77658dde.js +1 -0
  423. package/dist/src/charting_library/bundles/65.f895a78b4e04257983ff.d.ts +0 -0
  424. package/dist/src/charting_library/bundles/65.f895a78b4e04257983ff.js +1 -0
  425. package/dist/src/charting_library/bundles/66.2979e9b7c35e7bf03a37.d.ts +0 -0
  426. package/dist/src/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +1 -0
  427. package/dist/src/charting_library/bundles/67.25fd4b78c8c514988aeb.d.ts +0 -0
  428. package/dist/src/charting_library/bundles/67.25fd4b78c8c514988aeb.js +1 -0
  429. package/dist/src/charting_library/bundles/68.8b4124c875484d11fd94.d.ts +0 -0
  430. package/dist/src/charting_library/bundles/68.8b4124c875484d11fd94.js +1 -0
  431. package/dist/src/charting_library/bundles/69.43756a5c7477730eb0c4.d.ts +0 -0
  432. package/dist/src/charting_library/bundles/69.43756a5c7477730eb0c4.js +1 -0
  433. package/dist/src/charting_library/bundles/7.2c7c4f8a49c6380227de.d.ts +0 -0
  434. package/dist/src/charting_library/bundles/7.2c7c4f8a49c6380227de.js +68 -0
  435. package/dist/src/charting_library/bundles/70.cb9d1bb5a00896c1bb97.d.ts +0 -0
  436. package/dist/src/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +1 -0
  437. package/dist/src/charting_library/bundles/71.6a9d0842f5e48f68399c.d.ts +0 -0
  438. package/dist/src/charting_library/bundles/71.6a9d0842f5e48f68399c.js +1 -0
  439. package/dist/src/charting_library/bundles/72.e3925aaf38d2c8997638.d.ts +0 -0
  440. package/dist/src/charting_library/bundles/72.e3925aaf38d2c8997638.js +1 -0
  441. package/dist/src/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.d.ts +0 -0
  442. package/dist/src/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +1 -0
  443. package/dist/src/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.d.ts +0 -0
  444. package/dist/src/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +1 -0
  445. package/dist/src/charting_library/bundles/75.1c9a3a6524248ddf88bf.d.ts +0 -0
  446. package/dist/src/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +1 -0
  447. package/dist/src/charting_library/bundles/76.5d20bed213399f326603.d.ts +0 -0
  448. package/dist/src/charting_library/bundles/76.5d20bed213399f326603.js +1 -0
  449. package/dist/src/charting_library/bundles/77.3e4ccccc7d3eb03c488f.d.ts +0 -0
  450. package/dist/src/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +1 -0
  451. package/dist/src/charting_library/bundles/78.1d1d47a915b06f1496fb.d.ts +0 -0
  452. package/dist/src/charting_library/bundles/78.1d1d47a915b06f1496fb.js +1 -0
  453. package/dist/src/charting_library/bundles/79.86e92b77f8cf32e6bc37.d.ts +0 -0
  454. package/dist/src/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +1 -0
  455. package/dist/src/charting_library/bundles/8.ffab20b86db484062268.d.ts +0 -0
  456. package/dist/src/charting_library/bundles/8.ffab20b86db484062268.js +1 -0
  457. package/dist/src/charting_library/bundles/80.b5bc6acec3b531a510a9.d.ts +0 -0
  458. package/dist/src/charting_library/bundles/80.b5bc6acec3b531a510a9.js +1 -0
  459. package/dist/src/charting_library/bundles/81.e6a1f76017a44b03480b.d.ts +0 -0
  460. package/dist/src/charting_library/bundles/81.e6a1f76017a44b03480b.js +1 -0
  461. package/dist/src/charting_library/bundles/82.8c2919e6c8f54e36e9e6.d.ts +0 -0
  462. package/dist/src/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +1 -0
  463. package/dist/src/charting_library/bundles/83.f3e53bb5a5940e084955.d.ts +0 -0
  464. package/dist/src/charting_library/bundles/83.f3e53bb5a5940e084955.js +1 -0
  465. package/dist/src/charting_library/bundles/84.8acc496b4deeeeefb5af.d.ts +0 -0
  466. package/dist/src/charting_library/bundles/84.8acc496b4deeeeefb5af.js +1 -0
  467. package/dist/src/charting_library/bundles/85.39c78fbeaabae306f343.d.ts +0 -0
  468. package/dist/src/charting_library/bundles/85.39c78fbeaabae306f343.js +1 -0
  469. package/dist/src/charting_library/bundles/86.4bbbb9e6262243419986.d.ts +0 -0
  470. package/dist/src/charting_library/bundles/86.4bbbb9e6262243419986.js +1 -0
  471. package/dist/src/charting_library/bundles/87.cf03fa0a76bfcadd157d.d.ts +0 -0
  472. package/dist/src/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +1 -0
  473. package/dist/src/charting_library/bundles/88.d1e3aec63ece25f6b8a9.d.ts +0 -0
  474. package/dist/src/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +1 -0
  475. package/dist/src/charting_library/bundles/89.d8aa43b4b9378722d572.d.ts +0 -0
  476. package/dist/src/charting_library/bundles/89.d8aa43b4b9378722d572.js +1 -0
  477. package/dist/src/charting_library/bundles/9.84ecbc930e51cb26d06a.d.ts +0 -0
  478. package/dist/src/charting_library/bundles/9.84ecbc930e51cb26d06a.js +1 -0
  479. package/dist/src/charting_library/bundles/90.ce47bb68fc3fc88b5590.d.ts +0 -0
  480. package/dist/src/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +1 -0
  481. package/dist/src/charting_library/bundles/91.a9b79ef7ba0a62311a53.d.ts +0 -0
  482. package/dist/src/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +1 -0
  483. package/dist/src/charting_library/bundles/92.76d5ca7ebec10a1a7a12.d.ts +0 -0
  484. package/dist/src/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +1 -0
  485. package/dist/src/charting_library/bundles/93.6de56ef1975f4a31e542.d.ts +0 -0
  486. package/dist/src/charting_library/bundles/93.6de56ef1975f4a31e542.js +1 -0
  487. package/dist/src/charting_library/bundles/94.231bea5fb12b806ef287.d.ts +0 -0
  488. package/dist/src/charting_library/bundles/94.231bea5fb12b806ef287.js +1 -0
  489. package/dist/src/charting_library/bundles/95.6f7da80aac5cf2bf77d6.d.ts +0 -0
  490. package/dist/src/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +1 -0
  491. package/dist/src/charting_library/bundles/96.43bb935eee30715afff7.d.ts +0 -0
  492. package/dist/src/charting_library/bundles/96.43bb935eee30715afff7.js +1 -0
  493. package/dist/src/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.d.ts +0 -0
  494. package/dist/src/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +263 -0
  495. package/dist/src/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.d.ts +0 -0
  496. package/dist/src/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +52 -0
  497. package/dist/src/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.d.ts +0 -0
  498. package/dist/src/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +399 -0
  499. package/dist/src/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.d.ts +0 -0
  500. package/dist/src/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +97 -0
  501. package/dist/src/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.d.ts +0 -0
  502. package/dist/src/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +49 -0
  503. package/dist/src/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.d.ts +0 -0
  504. package/dist/src/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +1199 -0
  505. package/dist/src/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.d.ts +0 -0
  506. package/dist/src/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +181 -0
  507. package/dist/src/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.d.ts +0 -0
  508. package/dist/src/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +107 -0
  509. package/dist/src/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.d.ts +0 -0
  510. package/dist/src/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +131 -0
  511. package/dist/src/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.d.ts +0 -0
  512. package/dist/src/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +71 -0
  513. package/dist/src/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.d.ts +0 -0
  514. package/dist/src/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +250 -0
  515. package/dist/src/charting_library/bundles/export-data.c819cfa996e2815ff11d.d.ts +0 -0
  516. package/dist/src/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +78 -0
  517. package/dist/src/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.d.ts +0 -0
  518. package/dist/src/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +508 -0
  519. package/dist/src/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.d.ts +0 -0
  520. package/dist/src/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +92 -0
  521. package/dist/src/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.d.ts +0 -0
  522. package/dist/src/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +85 -0
  523. package/dist/src/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.d.ts +0 -0
  524. package/dist/src/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +104 -0
  525. package/dist/src/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.d.ts +0 -0
  526. package/dist/src/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +361 -0
  527. package/dist/src/charting_library/bundles/hammerjs.e5489031ed611f47bf09.d.ts +0 -0
  528. package/dist/src/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +224 -0
  529. package/dist/src/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.d.ts +0 -0
  530. package/dist/src/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +228 -0
  531. package/dist/src/charting_library/bundles/library.8b0dd8732414a2bcbcb1.d.ts +0 -0
  532. package/dist/src/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +26194 -0
  533. package/dist/src/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.d.ts +0 -0
  534. package/dist/src/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +60 -0
  535. package/dist/src/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.d.ts +0 -0
  536. package/dist/src/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +101 -0
  537. package/dist/src/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.d.ts +0 -0
  538. package/dist/src/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +116 -0
  539. package/dist/src/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.d.ts +0 -0
  540. package/dist/src/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +4029 -0
  541. package/dist/src/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.d.ts +0 -0
  542. package/dist/src/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +735 -0
  543. package/dist/src/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.d.ts +0 -0
  544. package/dist/src/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +16 -0
  545. package/dist/src/charting_library/bundles/moment.78e587a83a009ca48cda.d.ts +0 -0
  546. package/dist/src/charting_library/bundles/moment.78e587a83a009ca48cda.js +369 -0
  547. package/dist/src/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.d.ts +0 -0
  548. package/dist/src/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +130 -0
  549. package/dist/src/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.d.ts +0 -0
  550. package/dist/src/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +405 -0
  551. package/dist/src/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.d.ts +0 -0
  552. package/dist/src/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +1807 -0
  553. package/dist/src/charting_library/bundles/react.9f2899b40ad0e104f6c9.d.ts +0 -0
  554. package/dist/src/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +3715 -0
  555. package/dist/src/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.d.ts +0 -0
  556. package/dist/src/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +354 -0
  557. package/dist/src/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.d.ts +0 -0
  558. package/dist/src/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +566 -0
  559. package/dist/src/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.d.ts +0 -0
  560. package/dist/src/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +79 -0
  561. package/dist/src/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.d.ts +0 -0
  562. package/dist/src/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +8 -0
  563. package/dist/src/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.d.ts +0 -0
  564. package/dist/src/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +52 -0
  565. package/dist/src/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.d.ts +0 -0
  566. package/dist/src/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +5 -0
  567. package/dist/src/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.d.ts +0 -0
  568. package/dist/src/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +11 -0
  569. package/dist/src/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.d.ts +0 -0
  570. package/dist/src/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +189 -0
  571. package/dist/src/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.d.ts +0 -0
  572. package/dist/src/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +39 -0
  573. package/dist/src/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.d.ts +0 -0
  574. package/dist/src/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +174 -0
  575. package/dist/src/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.d.ts +0 -0
  576. package/dist/src/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +204 -0
  577. package/dist/src/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.d.ts +0 -0
  578. package/dist/src/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +125 -0
  579. package/dist/src/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.d.ts +0 -0
  580. package/dist/src/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +320 -0
  581. package/dist/src/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.d.ts +0 -0
  582. package/dist/src/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +123 -0
  583. package/dist/src/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.d.ts +0 -0
  584. package/dist/src/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +35 -0
  585. package/dist/src/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.d.ts +0 -0
  586. package/dist/src/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +74 -0
  587. package/dist/src/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.d.ts +0 -0
  588. package/dist/src/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +1304 -0
  589. package/dist/src/charting_library/charting_library.cjs.d.ts +87 -0
  590. package/dist/src/charting_library/charting_library.cjs.js +98 -0
  591. package/dist/src/charting_library/charting_library.d.ts +0 -0
  592. package/dist/src/charting_library/charting_library.esm.d.ts +86 -0
  593. package/dist/src/charting_library/charting_library.esm.js +101 -0
  594. package/dist/src/charting_library/charting_library.js +99 -0
  595. package/dist/src/charting_library/charting_library.standalone.d.ts +1 -0
  596. package/dist/src/charting_library/charting_library.standalone.js +515 -0
  597. package/dist/src/datafeed.d.ts +73 -0
  598. package/dist/src/datafeed.js +195 -0
  599. package/dist/src/helpers.d.ts +3 -0
  600. package/dist/src/helpers.js +58 -0
  601. package/dist/src/index.d.ts +1 -0
  602. package/dist/src/index.js +14 -0
  603. package/dist/src/main.d.ts +17 -0
  604. package/dist/src/main.js +124 -0
  605. package/dist/src/streaming.d.ts +7 -0
  606. package/dist/src/streaming.js +92 -0
  607. package/dist/tsup.config.d.ts +2 -0
  608. package/dist/tsup.config.js +11 -0
  609. package/package.json +4 -8
  610. package/public/charting_library/bundles/1.92647ec0a7beb8b2898d.css +0 -0
  611. package/public/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css +0 -0
  612. package/public/charting_library/bundles/4.92647ec0a7beb8b2898d.css +0 -0
  613. package/public/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css +0 -0
  614. package/public/charting_library/charting_library.standalone.js +1 -0
  615. package/public/index.html +23 -0
  616. package/src/App.css +26 -0
  617. package/src/App.tsx +100 -0
  618. package/src/charting-library-interfaces.d.ts +36 -0
  619. package/src/charting_library/bundles/0.d46f0b5e9380d7893de5.js +2 -0
  620. package/src/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur +0 -0
  621. package/src/charting_library/bundles/1.92647ec0a7beb8b2898d.css +0 -0
  622. package/src/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css +0 -0
  623. package/src/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +1 -0
  624. package/src/charting_library/bundles/10.21e665b7935d5bc4ba64.js +6 -0
  625. package/src/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css +1 -0
  626. package/src/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css +1 -0
  627. package/src/charting_library/bundles/11.df012db70159a159d927.js +1 -0
  628. package/src/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +1 -0
  629. package/src/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css +1 -0
  630. package/src/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css +1 -0
  631. package/src/charting_library/bundles/13.699469c73d09b7add56d.js +1 -0
  632. package/src/charting_library/bundles/13.9240f13280154f2593b7.css +1 -0
  633. package/src/charting_library/bundles/13.9240f13280154f2593b7.rtl.css +1 -0
  634. package/src/charting_library/bundles/14.8095b40dd1e7deedf401.css +1 -0
  635. package/src/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css +1 -0
  636. package/src/charting_library/bundles/14.d1148b38d59df9ca5061.js +1 -0
  637. package/src/charting_library/bundles/15.44f2acca80348a1da1a6.js +3 -0
  638. package/src/charting_library/bundles/16.680572949c1125757d35.js +1 -0
  639. package/src/charting_library/bundles/16.d567c9db608f3d98d8de.css +1 -0
  640. package/src/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css +1 -0
  641. package/src/charting_library/bundles/17.404a01f527881dfff424.js +1 -0
  642. package/src/charting_library/bundles/17.ec35a19db935279c5b42.css +1 -0
  643. package/src/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css +1 -0
  644. package/src/charting_library/bundles/18.78de69cfba051874e071.js +4 -0
  645. package/src/charting_library/bundles/19.048f7f5d36fef428ca8d.js +1 -0
  646. package/src/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css +1 -0
  647. package/src/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css +1 -0
  648. package/src/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png +0 -0
  649. package/src/charting_library/bundles/2.60931787a6734697ac13.js +4 -0
  650. package/src/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +4 -0
  651. package/src/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +1 -0
  652. package/src/charting_library/bundles/21.8153544955cdc47262e3.css +1 -0
  653. package/src/charting_library/bundles/21.8153544955cdc47262e3.rtl.css +1 -0
  654. package/src/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +1 -0
  655. package/src/charting_library/bundles/22.da9773799a06c6066d1e.css +1 -0
  656. package/src/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css +1 -0
  657. package/src/charting_library/bundles/23.256ba98e6a03200bdeba.js +1 -0
  658. package/src/charting_library/bundles/23.ee754f50171546186397.css +1 -0
  659. package/src/charting_library/bundles/23.ee754f50171546186397.rtl.css +1 -0
  660. package/src/charting_library/bundles/24.bc4fafedb1730259aa10.js +1 -0
  661. package/src/charting_library/bundles/24.e70c1623e0c74477ef2e.css +1 -0
  662. package/src/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css +1 -0
  663. package/src/charting_library/bundles/25.7416db26ed3dcc87c05a.js +18 -0
  664. package/src/charting_library/bundles/26.3aeec391d4e6e19989ee.js +1 -0
  665. package/src/charting_library/bundles/26.69139a843bc1c84f790b.css +1 -0
  666. package/src/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css +1 -0
  667. package/src/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +3 -0
  668. package/src/charting_library/bundles/28.3140e8cb507ad2593c76.css +1 -0
  669. package/src/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css +1 -0
  670. package/src/charting_library/bundles/28.9f103042c27ea2df422f.js +1 -0
  671. package/src/charting_library/bundles/29.07af6dca962ea27209f0.css +1 -0
  672. package/src/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css +1 -0
  673. package/src/charting_library/bundles/29.3df8712b85d45a626aa0.js +1 -0
  674. package/src/charting_library/bundles/3.76c398b01b707e5b251c.js +1 -0
  675. package/src/charting_library/bundles/3.eeb90413029441681f91.css +1 -0
  676. package/src/charting_library/bundles/3.eeb90413029441681f91.rtl.css +1 -0
  677. package/src/charting_library/bundles/30.0b732ccb122d160480b6.js +8 -0
  678. package/src/charting_library/bundles/31.8d2b7a538755fd1bb760.js +5 -0
  679. package/src/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +4 -0
  680. package/src/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff +0 -0
  681. package/src/charting_library/bundles/33.02ed7df481ae8243d2f2.css +1 -0
  682. package/src/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css +1 -0
  683. package/src/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +1 -0
  684. package/src/charting_library/bundles/34.4b6099931f57311efc1a.css +1 -0
  685. package/src/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css +1 -0
  686. package/src/charting_library/bundles/34.c9baa59add71a1e48fd2.js +1 -0
  687. package/src/charting_library/bundles/35.999f0e072062b7369a1a.css +1 -0
  688. package/src/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css +1 -0
  689. package/src/charting_library/bundles/35.ed9e360f9686ad3a9497.js +1 -0
  690. package/src/charting_library/bundles/36.1882d1a8d312a0e193e9.js +1 -0
  691. package/src/charting_library/bundles/36.f315a19c17d5636af8f7.css +1 -0
  692. package/src/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css +1 -0
  693. package/src/charting_library/bundles/37.90129e4904155350d6a1.js +8 -0
  694. package/src/charting_library/bundles/38.41f3d509b61c8af47de3.js +3 -0
  695. package/src/charting_library/bundles/39.74a7bc3b464cd284827f.css +1 -0
  696. package/src/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css +1 -0
  697. package/src/charting_library/bundles/39.bc1e9ce938fd5152831f.js +1 -0
  698. package/src/charting_library/bundles/4.92647ec0a7beb8b2898d.css +0 -0
  699. package/src/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css +0 -0
  700. package/src/charting_library/bundles/4.c7430b8d89cddcf51345.js +1 -0
  701. package/src/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +2 -0
  702. package/src/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg +1 -0
  703. package/src/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 +0 -0
  704. package/src/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.css +1 -0
  705. package/src/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.rtl.css +1 -0
  706. package/src/charting_library/bundles/41.a19b0ae5d68f855d2753.js +1 -0
  707. package/src/charting_library/bundles/42.494986b0981f6d116fef.js +1 -0
  708. package/src/charting_library/bundles/42.9078fb8f1629e3eee9bd.css +1 -0
  709. package/src/charting_library/bundles/42.9078fb8f1629e3eee9bd.rtl.css +1 -0
  710. package/src/charting_library/bundles/43.619c5ed4a592cc2965a4.js +1 -0
  711. package/src/charting_library/bundles/43.8bf90585004742c338c5.css +1 -0
  712. package/src/charting_library/bundles/43.8bf90585004742c338c5.rtl.css +1 -0
  713. package/src/charting_library/bundles/44.0a7df307e4f397763ce8.js +25 -0
  714. package/src/charting_library/bundles/45.12a19785e3864bd62a76.css +1 -0
  715. package/src/charting_library/bundles/45.12a19785e3864bd62a76.rtl.css +1 -0
  716. package/src/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +1 -0
  717. package/src/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +3 -0
  718. package/src/charting_library/bundles/47.a3da3f774c90bd22798e.js +4 -0
  719. package/src/charting_library/bundles/48.a3fdb9dd54af71b3bda6.css +1 -0
  720. package/src/charting_library/bundles/48.a3fdb9dd54af71b3bda6.rtl.css +1 -0
  721. package/src/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +1 -0
  722. package/src/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +1 -0
  723. package/src/charting_library/bundles/49.d723843c9192493b8c13.css +1 -0
  724. package/src/charting_library/bundles/49.d723843c9192493b8c13.rtl.css +1 -0
  725. package/src/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png +0 -0
  726. package/src/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png +0 -0
  727. package/src/charting_library/bundles/5.5e97b270ab80d99e9085.js +3 -0
  728. package/src/charting_library/bundles/50.8d5cba5b90176d3d2e3d.css +1 -0
  729. package/src/charting_library/bundles/50.8d5cba5b90176d3d2e3d.rtl.css +1 -0
  730. package/src/charting_library/bundles/50.b282667dddcb7fe1569a.js +1 -0
  731. package/src/charting_library/bundles/51.11871c50951db825ace3.js +1 -0
  732. package/src/charting_library/bundles/51.300c3df03ca063ec03a0.css +1 -0
  733. package/src/charting_library/bundles/51.300c3df03ca063ec03a0.rtl.css +1 -0
  734. package/src/charting_library/bundles/52.0379a85baae3ab43b15c.js +1 -0
  735. package/src/charting_library/bundles/52.29cec22b3525b47af67e.css +1 -0
  736. package/src/charting_library/bundles/52.29cec22b3525b47af67e.rtl.css +1 -0
  737. package/src/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +12 -0
  738. package/src/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +7 -0
  739. package/src/charting_library/bundles/55.3c35a629db21ab961f11.js +9 -0
  740. package/src/charting_library/bundles/56.b3e69145c0fee614443d.js +4 -0
  741. package/src/charting_library/bundles/57.236996ec416da4c1f683.js +3 -0
  742. package/src/charting_library/bundles/58.7ffac4ba908b95705e63.js +3 -0
  743. package/src/charting_library/bundles/59.397cb6699b74d64072a8.js +1 -0
  744. package/src/charting_library/bundles/59.418f1db161eefae63284.css +1 -0
  745. package/src/charting_library/bundles/59.418f1db161eefae63284.rtl.css +1 -0
  746. package/src/charting_library/bundles/6.2221bb6a5d920bbb4bb2.css +1 -0
  747. package/src/charting_library/bundles/6.2221bb6a5d920bbb4bb2.rtl.css +1 -0
  748. package/src/charting_library/bundles/6.2d67b0ae77825dbd455d.js +1 -0
  749. package/src/charting_library/bundles/60.6b5eced2ef8fa856be88.js +1 -0
  750. package/src/charting_library/bundles/60.d4583c71cca790a25900.css +1 -0
  751. package/src/charting_library/bundles/60.d4583c71cca790a25900.rtl.css +1 -0
  752. package/src/charting_library/bundles/61.38a3040c925fadff7b64.js +6 -0
  753. package/src/charting_library/bundles/62.63b309f5f8da9ca013b8.js +3 -0
  754. package/src/charting_library/bundles/63.8255c7f5191bcafcee7c.js +1 -0
  755. package/src/charting_library/bundles/63.898a61bf08239711dc74.css +1 -0
  756. package/src/charting_library/bundles/63.898a61bf08239711dc74.rtl.css +1 -0
  757. package/src/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.css +1 -0
  758. package/src/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.rtl.css +1 -0
  759. package/src/charting_library/bundles/64.ec4b4d03b28c77658dde.js +1 -0
  760. package/src/charting_library/bundles/65.556980fc277562af83c8.css +1 -0
  761. package/src/charting_library/bundles/65.556980fc277562af83c8.rtl.css +1 -0
  762. package/src/charting_library/bundles/65.f895a78b4e04257983ff.js +1 -0
  763. package/src/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +1 -0
  764. package/src/charting_library/bundles/66.84b4001b5c622a569dde.css +1 -0
  765. package/src/charting_library/bundles/66.84b4001b5c622a569dde.rtl.css +1 -0
  766. package/src/charting_library/bundles/67.19c83a0c303c290216d2.css +1 -0
  767. package/src/charting_library/bundles/67.19c83a0c303c290216d2.rtl.css +1 -0
  768. package/src/charting_library/bundles/67.25fd4b78c8c514988aeb.js +1 -0
  769. package/src/charting_library/bundles/68.8b4124c875484d11fd94.js +1 -0
  770. package/src/charting_library/bundles/68.fa7424ae9c5fe5483aac.css +1 -0
  771. package/src/charting_library/bundles/68.fa7424ae9c5fe5483aac.rtl.css +1 -0
  772. package/src/charting_library/bundles/69.094b4a764d3dc17820cf.css +1 -0
  773. package/src/charting_library/bundles/69.094b4a764d3dc17820cf.rtl.css +1 -0
  774. package/src/charting_library/bundles/69.43756a5c7477730eb0c4.js +1 -0
  775. package/src/charting_library/bundles/7.2c7c4f8a49c6380227de.js +3 -0
  776. package/src/charting_library/bundles/70.c27146ec029eda556108.css +1 -0
  777. package/src/charting_library/bundles/70.c27146ec029eda556108.rtl.css +1 -0
  778. package/src/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +1 -0
  779. package/src/charting_library/bundles/71.15e639d294c4209f256e.css +1 -0
  780. package/src/charting_library/bundles/71.15e639d294c4209f256e.rtl.css +1 -0
  781. package/src/charting_library/bundles/71.6a9d0842f5e48f68399c.js +1 -0
  782. package/src/charting_library/bundles/72.07441fd67b864b86147b.css +1 -0
  783. package/src/charting_library/bundles/72.07441fd67b864b86147b.rtl.css +1 -0
  784. package/src/charting_library/bundles/72.e3925aaf38d2c8997638.js +1 -0
  785. package/src/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.css +1 -0
  786. package/src/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.rtl.css +1 -0
  787. package/src/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +1 -0
  788. package/src/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png +0 -0
  789. package/src/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +1 -0
  790. package/src/charting_library/bundles/74.8c591c252b2e7ad8f744.css +1 -0
  791. package/src/charting_library/bundles/74.8c591c252b2e7ad8f744.rtl.css +1 -0
  792. package/src/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +1 -0
  793. package/src/charting_library/bundles/75.fefbc386c59bf7d4f9f7.css +1 -0
  794. package/src/charting_library/bundles/75.fefbc386c59bf7d4f9f7.rtl.css +1 -0
  795. package/src/charting_library/bundles/76.5d20bed213399f326603.js +1 -0
  796. package/src/charting_library/bundles/76.f14d71a31295d8cd8d8b.css +1 -0
  797. package/src/charting_library/bundles/76.f14d71a31295d8cd8d8b.rtl.css +1 -0
  798. package/src/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +1 -0
  799. package/src/charting_library/bundles/77.9c35f7046b848fbfd7f5.css +1 -0
  800. package/src/charting_library/bundles/77.9c35f7046b848fbfd7f5.rtl.css +1 -0
  801. package/src/charting_library/bundles/78.0d502ab4d94441708606.css +1 -0
  802. package/src/charting_library/bundles/78.0d502ab4d94441708606.rtl.css +1 -0
  803. package/src/charting_library/bundles/78.1d1d47a915b06f1496fb.js +1 -0
  804. package/src/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +1 -0
  805. package/src/charting_library/bundles/79.b990749a4839f9123f26.css +1 -0
  806. package/src/charting_library/bundles/79.b990749a4839f9123f26.rtl.css +1 -0
  807. package/src/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png +0 -0
  808. package/src/charting_library/bundles/8.e66ab8f27911a033604f.css +1 -0
  809. package/src/charting_library/bundles/8.e66ab8f27911a033604f.rtl.css +1 -0
  810. package/src/charting_library/bundles/8.ffab20b86db484062268.js +1 -0
  811. package/src/charting_library/bundles/80.5bdd53d5fc42d40eee28.css +1 -0
  812. package/src/charting_library/bundles/80.5bdd53d5fc42d40eee28.rtl.css +1 -0
  813. package/src/charting_library/bundles/80.b5bc6acec3b531a510a9.js +1 -0
  814. package/src/charting_library/bundles/81.552e046aa828739c508b.css +1 -0
  815. package/src/charting_library/bundles/81.552e046aa828739c508b.rtl.css +1 -0
  816. package/src/charting_library/bundles/81.e6a1f76017a44b03480b.js +1 -0
  817. package/src/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +1 -0
  818. package/src/charting_library/bundles/82.e06fe84c8cdead4bd52e.css +1 -0
  819. package/src/charting_library/bundles/82.e06fe84c8cdead4bd52e.rtl.css +1 -0
  820. package/src/charting_library/bundles/83.e238aa056c5d4827cbdd.css +1 -0
  821. package/src/charting_library/bundles/83.e238aa056c5d4827cbdd.rtl.css +1 -0
  822. package/src/charting_library/bundles/83.f3e53bb5a5940e084955.js +1 -0
  823. package/src/charting_library/bundles/84.8acc496b4deeeeefb5af.js +1 -0
  824. package/src/charting_library/bundles/84.bb4fc57627c8626019fd.css +1 -0
  825. package/src/charting_library/bundles/84.bb4fc57627c8626019fd.rtl.css +1 -0
  826. package/src/charting_library/bundles/85.39c78fbeaabae306f343.js +1 -0
  827. package/src/charting_library/bundles/85.e0ba32bafcab02208901.css +1 -0
  828. package/src/charting_library/bundles/85.e0ba32bafcab02208901.rtl.css +1 -0
  829. package/src/charting_library/bundles/86.4bbbb9e6262243419986.js +1 -0
  830. package/src/charting_library/bundles/86.9244fc2bcc2370425a15.css +1 -0
  831. package/src/charting_library/bundles/86.9244fc2bcc2370425a15.rtl.css +1 -0
  832. package/src/charting_library/bundles/87.605cbc508223ec27341c.css +1 -0
  833. package/src/charting_library/bundles/87.605cbc508223ec27341c.rtl.css +1 -0
  834. package/src/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +1 -0
  835. package/src/charting_library/bundles/88.158dd8a18e176936a343.css +1 -0
  836. package/src/charting_library/bundles/88.158dd8a18e176936a343.rtl.css +1 -0
  837. package/src/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +1 -0
  838. package/src/charting_library/bundles/89.5f142643917701de773b.css +1 -0
  839. package/src/charting_library/bundles/89.5f142643917701de773b.rtl.css +1 -0
  840. package/src/charting_library/bundles/89.d8aa43b4b9378722d572.js +1 -0
  841. package/src/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png +0 -0
  842. package/src/charting_library/bundles/9.84ecbc930e51cb26d06a.js +1 -0
  843. package/src/charting_library/bundles/9.8ab09f93a5113a634119.css +1 -0
  844. package/src/charting_library/bundles/9.8ab09f93a5113a634119.rtl.css +1 -0
  845. package/src/charting_library/bundles/90.877114560c4828a97702.css +1 -0
  846. package/src/charting_library/bundles/90.877114560c4828a97702.rtl.css +1 -0
  847. package/src/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +1 -0
  848. package/src/charting_library/bundles/91.2142b248a2bb29549a99.css +1 -0
  849. package/src/charting_library/bundles/91.2142b248a2bb29549a99.rtl.css +1 -0
  850. package/src/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +1 -0
  851. package/src/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +1 -0
  852. package/src/charting_library/bundles/92.e46f0aa06bcdbddf3831.css +1 -0
  853. package/src/charting_library/bundles/92.e46f0aa06bcdbddf3831.rtl.css +1 -0
  854. package/src/charting_library/bundles/93.17d34ca77a7fc85a24d9.css +1 -0
  855. package/src/charting_library/bundles/93.17d34ca77a7fc85a24d9.rtl.css +1 -0
  856. package/src/charting_library/bundles/93.6de56ef1975f4a31e542.js +1 -0
  857. package/src/charting_library/bundles/94.231bea5fb12b806ef287.js +1 -0
  858. package/src/charting_library/bundles/94.b204218cb73b576333a1.css +1 -0
  859. package/src/charting_library/bundles/94.b204218cb73b576333a1.rtl.css +1 -0
  860. package/src/charting_library/bundles/95.51244d1c4baf49d08807.css +1 -0
  861. package/src/charting_library/bundles/95.51244d1c4baf49d08807.rtl.css +1 -0
  862. package/src/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +1 -0
  863. package/src/charting_library/bundles/96.43bb935eee30715afff7.js +1 -0
  864. package/src/charting_library/bundles/96.be9ad3d6a7c91501bb55.css +1 -0
  865. package/src/charting_library/bundles/96.be9ad3d6a7c91501bb55.rtl.css +1 -0
  866. package/src/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg +1 -0
  867. package/src/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +9 -0
  868. package/src/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 +0 -0
  869. package/src/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +2 -0
  870. package/src/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +15 -0
  871. package/src/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +2 -0
  872. package/src/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +2 -0
  873. package/src/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +54 -0
  874. package/src/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +5 -0
  875. package/src/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +4 -0
  876. package/src/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +4 -0
  877. package/src/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +3 -0
  878. package/src/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +13 -0
  879. package/src/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur +0 -0
  880. package/src/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +2 -0
  881. package/src/charting_library/bundles/f55394b616ed1ae9462c37daab941d93.png +0 -0
  882. package/src/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +20 -0
  883. package/src/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +3 -0
  884. package/src/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +5 -0
  885. package/src/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +6 -0
  886. package/src/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +14 -0
  887. package/src/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +7 -0
  888. package/src/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +9 -0
  889. package/src/charting_library/bundles/library.579e6e3fd95b660ad833.css +1 -0
  890. package/src/charting_library/bundles/library.579e6e3fd95b660ad833.rtl.css +1 -0
  891. package/src/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +756 -0
  892. package/src/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +29 -0
  893. package/src/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +4 -0
  894. package/src/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +4 -0
  895. package/src/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +102 -0
  896. package/src/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +24 -0
  897. package/src/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +1 -0
  898. package/src/charting_library/bundles/moment.78e587a83a009ca48cda.js +17 -0
  899. package/src/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +2 -0
  900. package/src/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +19 -0
  901. package/src/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +58 -0
  902. package/src/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +45 -0
  903. package/src/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +9 -0
  904. package/src/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +27 -0
  905. package/src/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +5 -0
  906. package/src/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +2 -0
  907. package/src/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +1 -0
  908. package/src/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +1 -0
  909. package/src/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +1 -0
  910. package/src/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +6 -0
  911. package/src/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +2 -0
  912. package/src/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +7 -0
  913. package/src/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +5 -0
  914. package/src/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +4 -0
  915. package/src/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +11 -0
  916. package/src/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +4 -0
  917. package/src/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +1 -0
  918. package/src/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +2 -0
  919. package/src/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +42 -0
  920. package/src/charting_library/charting_library.cjs.js +1 -0
  921. package/src/charting_library/charting_library.d.ts +2087 -0
  922. package/src/charting_library/charting_library.esm.js +1 -0
  923. package/src/charting_library/charting_library.js +1 -0
  924. package/src/charting_library/datafeed-api.d.ts +274 -0
  925. package/src/charting_library/en-tv-chart.f0bc1e45.html +1 -0
  926. package/src/charting_library/package.json +8 -0
  927. package/src/charting_library/yarn.lock +4 -0
  928. package/src/datafeed.ts +283 -0
  929. package/src/helpers.ts +41 -0
  930. package/src/index.css +5 -0
  931. package/src/index.tsx +10 -0
  932. package/src/main.tsx +152 -0
  933. package/src/streaming.ts +124 -0
  934. package/tsconfig.json +97 -0
  935. package/tsup.config.ts +10 -0
  936. package/dist/TVChartContainer.d.mts +0 -45
  937. package/dist/TVChartContainer.d.ts +0 -45
  938. package/dist/TVChartContainer.js +0 -746
  939. package/dist/TVChartContainer.js.map +0 -1
  940. package/dist/TVChartContainer.mjs +0 -729
  941. package/dist/TVChartContainer.mjs.map +0 -1
  942. /package/dist/{charting_library/bundles/1.92647ec0a7beb8b2898d.css → public/charting_library/bundles/0.d46f0b5e9380d7893de5.d.ts} +0 -0
  943. /package/dist/{charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css → public/charting_library/bundles/1.f02c87d35fbc8ffcaedb.d.ts} +0 -0
  944. /package/dist/{charting_library/bundles/4.92647ec0a7beb8b2898d.css → public/charting_library/bundles/10.21e665b7935d5bc4ba64.d.ts} +0 -0
  945. /package/dist/{charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css → public/charting_library/bundles/11.df012db70159a159d927.d.ts} +0 -0
  946. /package/{dist → public}/charting_library/bundles/0.d46f0b5e9380d7893de5.js +0 -0
  947. /package/{dist → public}/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur +0 -0
  948. /package/{dist → public}/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +0 -0
  949. /package/{dist → public}/charting_library/bundles/10.21e665b7935d5bc4ba64.js +0 -0
  950. /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css +0 -0
  951. /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css +0 -0
  952. /package/{dist → public}/charting_library/bundles/11.df012db70159a159d927.js +0 -0
  953. /package/{dist → public}/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +0 -0
  954. /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css +0 -0
  955. /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css +0 -0
  956. /package/{dist → public}/charting_library/bundles/13.699469c73d09b7add56d.js +0 -0
  957. /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.css +0 -0
  958. /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.rtl.css +0 -0
  959. /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.css +0 -0
  960. /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css +0 -0
  961. /package/{dist → public}/charting_library/bundles/14.d1148b38d59df9ca5061.js +0 -0
  962. /package/{dist → public}/charting_library/bundles/15.44f2acca80348a1da1a6.js +0 -0
  963. /package/{dist → public}/charting_library/bundles/16.680572949c1125757d35.js +0 -0
  964. /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.css +0 -0
  965. /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css +0 -0
  966. /package/{dist → public}/charting_library/bundles/17.404a01f527881dfff424.js +0 -0
  967. /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.css +0 -0
  968. /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css +0 -0
  969. /package/{dist → public}/charting_library/bundles/18.78de69cfba051874e071.js +0 -0
  970. /package/{dist → public}/charting_library/bundles/19.048f7f5d36fef428ca8d.js +0 -0
  971. /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css +0 -0
  972. /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css +0 -0
  973. /package/{dist → public}/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png +0 -0
  974. /package/{dist → public}/charting_library/bundles/2.60931787a6734697ac13.js +0 -0
  975. /package/{dist → public}/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +0 -0
  976. /package/{dist → public}/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +0 -0
  977. /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.css +0 -0
  978. /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.rtl.css +0 -0
  979. /package/{dist → public}/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +0 -0
  980. /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.css +0 -0
  981. /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css +0 -0
  982. /package/{dist → public}/charting_library/bundles/23.256ba98e6a03200bdeba.js +0 -0
  983. /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.css +0 -0
  984. /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.rtl.css +0 -0
  985. /package/{dist → public}/charting_library/bundles/24.bc4fafedb1730259aa10.js +0 -0
  986. /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.css +0 -0
  987. /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css +0 -0
  988. /package/{dist → public}/charting_library/bundles/25.7416db26ed3dcc87c05a.js +0 -0
  989. /package/{dist → public}/charting_library/bundles/26.3aeec391d4e6e19989ee.js +0 -0
  990. /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.css +0 -0
  991. /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css +0 -0
  992. /package/{dist → public}/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +0 -0
  993. /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.css +0 -0
  994. /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css +0 -0
  995. /package/{dist → public}/charting_library/bundles/28.9f103042c27ea2df422f.js +0 -0
  996. /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.css +0 -0
  997. /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css +0 -0
  998. /package/{dist → public}/charting_library/bundles/29.3df8712b85d45a626aa0.js +0 -0
  999. /package/{dist → public}/charting_library/bundles/3.76c398b01b707e5b251c.js +0 -0
  1000. /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.css +0 -0
  1001. /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.rtl.css +0 -0
  1002. /package/{dist → public}/charting_library/bundles/30.0b732ccb122d160480b6.js +0 -0
  1003. /package/{dist → public}/charting_library/bundles/31.8d2b7a538755fd1bb760.js +0 -0
  1004. /package/{dist → public}/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +0 -0
  1005. /package/{dist → public}/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff +0 -0
  1006. /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.css +0 -0
  1007. /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css +0 -0
  1008. /package/{dist → public}/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +0 -0
  1009. /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.css +0 -0
  1010. /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css +0 -0
  1011. /package/{dist → public}/charting_library/bundles/34.c9baa59add71a1e48fd2.js +0 -0
  1012. /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.css +0 -0
  1013. /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css +0 -0
  1014. /package/{dist → public}/charting_library/bundles/35.ed9e360f9686ad3a9497.js +0 -0
  1015. /package/{dist → public}/charting_library/bundles/36.1882d1a8d312a0e193e9.js +0 -0
  1016. /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.css +0 -0
  1017. /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css +0 -0
  1018. /package/{dist → public}/charting_library/bundles/37.90129e4904155350d6a1.js +0 -0
  1019. /package/{dist → public}/charting_library/bundles/38.41f3d509b61c8af47de3.js +0 -0
  1020. /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.css +0 -0
  1021. /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css +0 -0
  1022. /package/{dist → public}/charting_library/bundles/39.bc1e9ce938fd5152831f.js +0 -0
  1023. /package/{dist → public}/charting_library/bundles/4.c7430b8d89cddcf51345.js +0 -0
  1024. /package/{dist → public}/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +0 -0
  1025. /package/{dist → public}/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg +0 -0
  1026. /package/{dist → public}/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 +0 -0
  1027. /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.css +0 -0
  1028. /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.rtl.css +0 -0
  1029. /package/{dist → public}/charting_library/bundles/41.a19b0ae5d68f855d2753.js +0 -0
  1030. /package/{dist → public}/charting_library/bundles/42.494986b0981f6d116fef.js +0 -0
  1031. /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.css +0 -0
  1032. /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.rtl.css +0 -0
  1033. /package/{dist → public}/charting_library/bundles/43.619c5ed4a592cc2965a4.js +0 -0
  1034. /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.css +0 -0
  1035. /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.rtl.css +0 -0
  1036. /package/{dist → public}/charting_library/bundles/44.0a7df307e4f397763ce8.js +0 -0
  1037. /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.css +0 -0
  1038. /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.rtl.css +0 -0
  1039. /package/{dist → public}/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +0 -0
  1040. /package/{dist → public}/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +0 -0
  1041. /package/{dist → public}/charting_library/bundles/47.a3da3f774c90bd22798e.js +0 -0
  1042. /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.css +0 -0
  1043. /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.rtl.css +0 -0
  1044. /package/{dist → public}/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +0 -0
  1045. /package/{dist → public}/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +0 -0
  1046. /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.css +0 -0
  1047. /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.rtl.css +0 -0
  1048. /package/{dist → public}/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png +0 -0
  1049. /package/{dist → public}/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png +0 -0
  1050. /package/{dist → public}/charting_library/bundles/5.5e97b270ab80d99e9085.js +0 -0
  1051. /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.css +0 -0
  1052. /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.rtl.css +0 -0
  1053. /package/{dist → public}/charting_library/bundles/50.b282667dddcb7fe1569a.js +0 -0
  1054. /package/{dist → public}/charting_library/bundles/51.11871c50951db825ace3.js +0 -0
  1055. /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.css +0 -0
  1056. /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.rtl.css +0 -0
  1057. /package/{dist → public}/charting_library/bundles/52.0379a85baae3ab43b15c.js +0 -0
  1058. /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.css +0 -0
  1059. /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.rtl.css +0 -0
  1060. /package/{dist → public}/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +0 -0
  1061. /package/{dist → public}/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +0 -0
  1062. /package/{dist → public}/charting_library/bundles/55.3c35a629db21ab961f11.js +0 -0
  1063. /package/{dist → public}/charting_library/bundles/56.b3e69145c0fee614443d.js +0 -0
  1064. /package/{dist → public}/charting_library/bundles/57.236996ec416da4c1f683.js +0 -0
  1065. /package/{dist → public}/charting_library/bundles/58.7ffac4ba908b95705e63.js +0 -0
  1066. /package/{dist → public}/charting_library/bundles/59.397cb6699b74d64072a8.js +0 -0
  1067. /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.css +0 -0
  1068. /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.rtl.css +0 -0
  1069. /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.css +0 -0
  1070. /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.rtl.css +0 -0
  1071. /package/{dist → public}/charting_library/bundles/6.2d67b0ae77825dbd455d.js +0 -0
  1072. /package/{dist → public}/charting_library/bundles/60.6b5eced2ef8fa856be88.js +0 -0
  1073. /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.css +0 -0
  1074. /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.rtl.css +0 -0
  1075. /package/{dist → public}/charting_library/bundles/61.38a3040c925fadff7b64.js +0 -0
  1076. /package/{dist → public}/charting_library/bundles/62.63b309f5f8da9ca013b8.js +0 -0
  1077. /package/{dist → public}/charting_library/bundles/63.8255c7f5191bcafcee7c.js +0 -0
  1078. /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.css +0 -0
  1079. /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.rtl.css +0 -0
  1080. /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.css +0 -0
  1081. /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.rtl.css +0 -0
  1082. /package/{dist → public}/charting_library/bundles/64.ec4b4d03b28c77658dde.js +0 -0
  1083. /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.css +0 -0
  1084. /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.rtl.css +0 -0
  1085. /package/{dist → public}/charting_library/bundles/65.f895a78b4e04257983ff.js +0 -0
  1086. /package/{dist → public}/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +0 -0
  1087. /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.css +0 -0
  1088. /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.rtl.css +0 -0
  1089. /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.css +0 -0
  1090. /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.rtl.css +0 -0
  1091. /package/{dist → public}/charting_library/bundles/67.25fd4b78c8c514988aeb.js +0 -0
  1092. /package/{dist → public}/charting_library/bundles/68.8b4124c875484d11fd94.js +0 -0
  1093. /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.css +0 -0
  1094. /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.rtl.css +0 -0
  1095. /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.css +0 -0
  1096. /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.rtl.css +0 -0
  1097. /package/{dist → public}/charting_library/bundles/69.43756a5c7477730eb0c4.js +0 -0
  1098. /package/{dist → public}/charting_library/bundles/7.2c7c4f8a49c6380227de.js +0 -0
  1099. /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.css +0 -0
  1100. /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.rtl.css +0 -0
  1101. /package/{dist → public}/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +0 -0
  1102. /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.css +0 -0
  1103. /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.rtl.css +0 -0
  1104. /package/{dist → public}/charting_library/bundles/71.6a9d0842f5e48f68399c.js +0 -0
  1105. /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.css +0 -0
  1106. /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.rtl.css +0 -0
  1107. /package/{dist → public}/charting_library/bundles/72.e3925aaf38d2c8997638.js +0 -0
  1108. /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.css +0 -0
  1109. /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.rtl.css +0 -0
  1110. /package/{dist → public}/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +0 -0
  1111. /package/{dist → public}/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png +0 -0
  1112. /package/{dist → public}/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +0 -0
  1113. /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.css +0 -0
  1114. /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.rtl.css +0 -0
  1115. /package/{dist → public}/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +0 -0
  1116. /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.css +0 -0
  1117. /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.rtl.css +0 -0
  1118. /package/{dist → public}/charting_library/bundles/76.5d20bed213399f326603.js +0 -0
  1119. /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.css +0 -0
  1120. /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.rtl.css +0 -0
  1121. /package/{dist → public}/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +0 -0
  1122. /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.css +0 -0
  1123. /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.rtl.css +0 -0
  1124. /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.css +0 -0
  1125. /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.rtl.css +0 -0
  1126. /package/{dist → public}/charting_library/bundles/78.1d1d47a915b06f1496fb.js +0 -0
  1127. /package/{dist → public}/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +0 -0
  1128. /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.css +0 -0
  1129. /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.rtl.css +0 -0
  1130. /package/{dist → public}/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png +0 -0
  1131. /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.css +0 -0
  1132. /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.rtl.css +0 -0
  1133. /package/{dist → public}/charting_library/bundles/8.ffab20b86db484062268.js +0 -0
  1134. /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.css +0 -0
  1135. /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.rtl.css +0 -0
  1136. /package/{dist → public}/charting_library/bundles/80.b5bc6acec3b531a510a9.js +0 -0
  1137. /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.css +0 -0
  1138. /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.rtl.css +0 -0
  1139. /package/{dist → public}/charting_library/bundles/81.e6a1f76017a44b03480b.js +0 -0
  1140. /package/{dist → public}/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +0 -0
  1141. /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.css +0 -0
  1142. /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.rtl.css +0 -0
  1143. /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.css +0 -0
  1144. /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.rtl.css +0 -0
  1145. /package/{dist → public}/charting_library/bundles/83.f3e53bb5a5940e084955.js +0 -0
  1146. /package/{dist → public}/charting_library/bundles/84.8acc496b4deeeeefb5af.js +0 -0
  1147. /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.css +0 -0
  1148. /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.rtl.css +0 -0
  1149. /package/{dist → public}/charting_library/bundles/85.39c78fbeaabae306f343.js +0 -0
  1150. /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.css +0 -0
  1151. /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.rtl.css +0 -0
  1152. /package/{dist → public}/charting_library/bundles/86.4bbbb9e6262243419986.js +0 -0
  1153. /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.css +0 -0
  1154. /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.rtl.css +0 -0
  1155. /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.css +0 -0
  1156. /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.rtl.css +0 -0
  1157. /package/{dist → public}/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +0 -0
  1158. /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.css +0 -0
  1159. /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.rtl.css +0 -0
  1160. /package/{dist → public}/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +0 -0
  1161. /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.css +0 -0
  1162. /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.rtl.css +0 -0
  1163. /package/{dist → public}/charting_library/bundles/89.d8aa43b4b9378722d572.js +0 -0
  1164. /package/{dist → public}/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png +0 -0
  1165. /package/{dist → public}/charting_library/bundles/9.84ecbc930e51cb26d06a.js +0 -0
  1166. /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.css +0 -0
  1167. /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.rtl.css +0 -0
  1168. /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.css +0 -0
  1169. /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.rtl.css +0 -0
  1170. /package/{dist → public}/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +0 -0
  1171. /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.css +0 -0
  1172. /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.rtl.css +0 -0
  1173. /package/{dist → public}/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +0 -0
  1174. /package/{dist → public}/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +0 -0
  1175. /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.css +0 -0
  1176. /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.rtl.css +0 -0
  1177. /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.css +0 -0
  1178. /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.rtl.css +0 -0
  1179. /package/{dist → public}/charting_library/bundles/93.6de56ef1975f4a31e542.js +0 -0
  1180. /package/{dist → public}/charting_library/bundles/94.231bea5fb12b806ef287.js +0 -0
  1181. /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.css +0 -0
  1182. /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.rtl.css +0 -0
  1183. /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.css +0 -0
  1184. /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.rtl.css +0 -0
  1185. /package/{dist → public}/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +0 -0
  1186. /package/{dist → public}/charting_library/bundles/96.43bb935eee30715afff7.js +0 -0
  1187. /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.css +0 -0
  1188. /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.rtl.css +0 -0
  1189. /package/{dist → public}/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg +0 -0
  1190. /package/{dist → public}/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +0 -0
  1191. /package/{dist → public}/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 +0 -0
  1192. /package/{dist → public}/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +0 -0
  1193. /package/{dist → public}/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +0 -0
  1194. /package/{dist → public}/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +0 -0
  1195. /package/{dist → public}/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +0 -0
  1196. /package/{dist → public}/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +0 -0
  1197. /package/{dist → public}/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +0 -0
  1198. /package/{dist → public}/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +0 -0
  1199. /package/{dist → public}/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +0 -0
  1200. /package/{dist → public}/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +0 -0
  1201. /package/{dist → public}/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +0 -0
  1202. /package/{dist → public}/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur +0 -0
  1203. /package/{dist → public}/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +0 -0
  1204. /package/{dist → public}/charting_library/bundles/f55394b616ed1ae9462c37daab941d93.png +0 -0
  1205. /package/{dist → public}/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +0 -0
  1206. /package/{dist → public}/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +0 -0
  1207. /package/{dist → public}/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +0 -0
  1208. /package/{dist → public}/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +0 -0
  1209. /package/{dist → public}/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +0 -0
  1210. /package/{dist → public}/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +0 -0
  1211. /package/{dist → public}/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +0 -0
  1212. /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.css +0 -0
  1213. /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.rtl.css +0 -0
  1214. /package/{dist → public}/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +0 -0
  1215. /package/{dist → public}/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +0 -0
  1216. /package/{dist → public}/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +0 -0
  1217. /package/{dist → public}/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +0 -0
  1218. /package/{dist → public}/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +0 -0
  1219. /package/{dist → public}/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +0 -0
  1220. /package/{dist → public}/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +0 -0
  1221. /package/{dist → public}/charting_library/bundles/moment.78e587a83a009ca48cda.js +0 -0
  1222. /package/{dist → public}/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +0 -0
  1223. /package/{dist → public}/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +0 -0
  1224. /package/{dist → public}/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +0 -0
  1225. /package/{dist → public}/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +0 -0
  1226. /package/{dist → public}/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +0 -0
  1227. /package/{dist → public}/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +0 -0
  1228. /package/{dist → public}/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +0 -0
  1229. /package/{dist → public}/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +0 -0
  1230. /package/{dist → public}/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +0 -0
  1231. /package/{dist → public}/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +0 -0
  1232. /package/{dist → public}/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +0 -0
  1233. /package/{dist → public}/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +0 -0
  1234. /package/{dist → public}/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +0 -0
  1235. /package/{dist → public}/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +0 -0
  1236. /package/{dist → public}/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +0 -0
  1237. /package/{dist → public}/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +0 -0
  1238. /package/{dist → public}/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +0 -0
  1239. /package/{dist → public}/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +0 -0
  1240. /package/{dist → public}/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +0 -0
  1241. /package/{dist → public}/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +0 -0
  1242. /package/{dist → public}/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +0 -0
  1243. /package/{dist → public}/charting_library/charting_library.cjs.js +0 -0
  1244. /package/{dist → public}/charting_library/charting_library.d.ts +0 -0
  1245. /package/{dist → public}/charting_library/charting_library.esm.js +0 -0
  1246. /package/{dist → public}/charting_library/charting_library.js +0 -0
  1247. /package/{dist → public}/charting_library/datafeed-api.d.ts +0 -0
  1248. /package/{dist → public}/charting_library/en-tv-chart.f0bc1e45.html +0 -0
  1249. /package/{dist → public}/charting_library/package.json +0 -0
  1250. /package/{dist → public}/charting_library/yarn.lock +0 -0
  1251. /package/{dist → src}/charting_library/ar-tv-chart.f0bc1e45.html +0 -0
  1252. /package/{dist → src}/charting_library/charting_library.standalone.js +0 -0
  1253. /package/{dist → src}/charting_library/cs-tv-chart.f0bc1e45.html +0 -0
  1254. /package/{dist → src}/charting_library/da_DK-tv-chart.f0bc1e45.html +0 -0
  1255. /package/{dist → src}/charting_library/de-tv-chart.f0bc1e45.html +0 -0
  1256. /package/{dist → src}/charting_library/el-tv-chart.f0bc1e45.html +0 -0
  1257. /package/{dist → src}/charting_library/es-tv-chart.f0bc1e45.html +0 -0
  1258. /package/{dist → src}/charting_library/et_EE-tv-chart.f0bc1e45.html +0 -0
  1259. /package/{dist → src}/charting_library/fa-tv-chart.f0bc1e45.html +0 -0
  1260. /package/{dist → src}/charting_library/fr-tv-chart.f0bc1e45.html +0 -0
  1261. /package/{dist → src}/charting_library/he_IL-tv-chart.f0bc1e45.html +0 -0
  1262. /package/{dist → src}/charting_library/hu_HU-tv-chart.f0bc1e45.html +0 -0
  1263. /package/{dist → src}/charting_library/id_ID-tv-chart.f0bc1e45.html +0 -0
  1264. /package/{dist → src}/charting_library/it-tv-chart.f0bc1e45.html +0 -0
  1265. /package/{dist → src}/charting_library/ja-tv-chart.f0bc1e45.html +0 -0
  1266. /package/{dist → src}/charting_library/ko-tv-chart.f0bc1e45.html +0 -0
  1267. /package/{dist → src}/charting_library/ms_MY-tv-chart.f0bc1e45.html +0 -0
  1268. /package/{dist → src}/charting_library/nl_NL-tv-chart.f0bc1e45.html +0 -0
  1269. /package/{dist → src}/charting_library/no-tv-chart.f0bc1e45.html +0 -0
  1270. /package/{dist → src}/charting_library/pl-tv-chart.f0bc1e45.html +0 -0
  1271. /package/{dist → src}/charting_library/pt-tv-chart.f0bc1e45.html +0 -0
  1272. /package/{dist → src}/charting_library/ro-tv-chart.f0bc1e45.html +0 -0
  1273. /package/{dist → src}/charting_library/ru-tv-chart.f0bc1e45.html +0 -0
  1274. /package/{dist → src}/charting_library/sk_SK-tv-chart.f0bc1e45.html +0 -0
  1275. /package/{dist → src}/charting_library/sv-tv-chart.f0bc1e45.html +0 -0
  1276. /package/{dist → src}/charting_library/th-tv-chart.f0bc1e45.html +0 -0
  1277. /package/{dist → src}/charting_library/tr-tv-chart.f0bc1e45.html +0 -0
  1278. /package/{dist → src}/charting_library/vi-tv-chart.f0bc1e45.html +0 -0
  1279. /package/{dist → src}/charting_library/zh-tv-chart.f0bc1e45.html +0 -0
  1280. /package/{dist → src}/charting_library/zh_TW-tv-chart.f0bc1e45.html +0 -0
@@ -0,0 +1,4029 @@
1
+ (window.webpackJsonp = window.webpackJsonp || []).push([["lt-pane-views"], { "/S7V": function (e, t, i) {
2
+ "use strict";
3
+ i.r(t), i.d(t, "TriangleRenderer", (function () { return d; }));
4
+ var r = i("GEp6"), n = i("f6yo"), s = i("cPgM"), a = i("VdBB"), o = i("Tmoa"), l = i("jFln"), h = i("Zp/P");
5
+ class d extends s.ScaledPaneRenderer {
6
+ constructor() { super(...arguments), this._data = null; }
7
+ setData(e) { this._data = e; }
8
+ hitTest(e) { if (null === this._data || this._data.points.length < 2)
9
+ return null; const [t, i] = this._data.points; let s = Object(r.distanceToSegment)(t, i, e); const o = Object(h.interactionTolerance)().line; if (s.distance <= o)
10
+ return new a.HitTestResult(a.HitTestResult.MOVEPOINT); if (3 !== this._data.points.length)
11
+ return null; const l = this._data.points[2]; return s = Object(r.distanceToSegment)(i, l, e), s.distance <= o ? new a.HitTestResult(a.HitTestResult.MOVEPOINT) : (s = Object(r.distanceToSegment)(l, t, e), s.distance <= o ? new a.HitTestResult(a.HitTestResult.MOVEPOINT) : this._data.fillBackground && Object(n.pointInTriangle)(e, t, i, l) ? new a.HitTestResult(a.HitTestResult.MOVEPOINT_BACKGROUND) : null); }
12
+ _drawImpl(e) { if (null === this._data || this._data.points.length < 2)
13
+ return; e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, void 0 !== this._data.linestyle && Object(l.setLineStyle)(e, this._data.linestyle); const [t, i] = this._data.points, r = 2 === this._data.points.length ? i : this._data.points[2]; e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), e.lineTo(r.x, r.y), e.lineTo(t.x, t.y), this._data.fillBackground && (e.fillStyle = Object(o.generateColor)(this._data.backcolor, this._data.transparency), e.fill()), e.stroke(); }
14
+ }
15
+ }, "00XE": function (e, t, i) {
16
+ "use strict";
17
+ i.r(t), i.d(t, "BrushPaneView", (function () { return s; }));
18
+ var r = i("8Uy/"), n = i("hzaj");
19
+ class s extends n.a {
20
+ _createPolygonRendererData() { const e = this._source.properties().childs(), t = { points: this._points, color: e.linecolor.value(), linewidth: e.linewidth.value(), linestyle: r.LINESTYLE_SOLID, linecap: "round", skipClosePath: !0, leftend: e.leftEnd.value(), rightend: e.rightEnd.value(), filled: !1, fillBackground: !1, backcolor: e.backgroundColor.value() }; return e.fillBackground.value() && this._model.lineBeingCreated() !== this._source && (t.filled = !0, t.fillBackground = !0, t.transparency = e.transparency.value()), t; }
21
+ }
22
+ }, "0s1X": function (e, t, i) {
23
+ "use strict";
24
+ i.r(t);
25
+ var r = i("Eyy1"), n = i("aO4+"), s = i("HGP3"), a = i("Zy3/"), o = i("qgcf"), l = i("aB9a"), h = i("GEp6"), d = i("8Uy/"), c = i("jFln"), u = i("zDbI"), _ = i("VaSN"), p = i("VdBB"), f = i("gAom"), g = i("Zp/P");
26
+ function v(e) { let t, i; return e >= -135 && e <= -45 ? (t = "center", i = "bottom") : e > -45 && e < 45 ? (t = "left", i = "middle") : e >= 45 && e <= 135 ? (t = "center", i = "top") : (t = "right", i = "middle"), { horzAlign: t, vertAlign: i }; }
27
+ class w {
28
+ constructor() { this._data = null, this._priceLabelRenderer = new o.TextRenderer(void 0, new p.HitTestResult(p.HitTestResult.MOVEPOINT, { areaName: p.AreaName.Style, activeItem: 1 })), this._hittest = new p.HitTestResult(p.HitTestResult.MOVEPOINT, { areaName: p.AreaName.Style }); }
29
+ setData(e) {
30
+ this._data = e;
31
+ const t = e.points[0], i = e.points[1], r = Math.round(180 * Math.atan2(i.y - t.y, i.x - t.x) / Math.PI);
32
+ this._priceLabelRenderer.setData(Object.assign(Object.assign({}, v(r)), { points: [i], text: e.text, color: e.textColor, font: u.CHART_FONT_FAMILY, fontSize: e.fontSize, bold: e.bold, italic: e.italic, offsetX: 0, offsetY: 0, borderColor: e.borderColor, borderWidth: 1, backgroundColor: e.backgroundColor, backgroundRoundRect: 4, boxPaddingVert: 6, boxPaddingHorz: 8 }));
33
+ }
34
+ setHitTest(e) { this._hittest = e; }
35
+ draw(e, t) { const i = this._data; if (null === i || i.points.length < 2)
36
+ return; e.save(); const r = t.pixelRatio, n = Math.round(i.points[0].x * r), s = Math.round(i.points[0].y * r), a = Math.round(i.points[1].x * r), o = Math.round(i.points[1].y * r); e.lineCap = "butt", Object(c.setLineStyle)(e, d.LINESTYLE_SOLID), e.strokeStyle = i.lineColor, e.fillStyle = i.lineColor, e.lineWidth = Math.round(1 * r); const l = Object(g.fillScaledRadius)(2, r); Object(f.createCircle)(e, n, s, l), e.fill(), Object(c.drawLine)(e, n, s, a, o), this._priceLabelRenderer.draw(e, t); const h = 1 * r; e.strokeStyle = i.circleBorderColor, e.lineWidth = h; const u = l + h / 2; Object(f.createCircle)(e, n, s, u), e.stroke(), e.restore(); }
37
+ hitTest(e) { const t = this._data; if (null === t)
38
+ return null; const i = Object(_.lastEventIsTouch)() ? 20 : 3; return Object(h.distanceToSegment)(t.points[0], t.points[1], e).distance <= i ? this._hittest : this._priceLabelRenderer.hitTest(e); }
39
+ }
40
+ i.d(t, "PriceNotePaneView", (function () { return x; }));
41
+ class x extends l.LineSourcePaneView {
42
+ constructor() { super(...arguments), this._renderer = new a.CompositeRenderer, this._priceNoteRenderer = new w, this._customLabelRenderer = new o.TextRenderer; }
43
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
44
+ _updateImpl() { super._updateImpl(), this._renderer.clear(); const e = this._source.priceScale(); if (!e || e.isEmpty())
45
+ return; const t = this._points; if (t.length < 2)
46
+ return; const i = this._source.properties().childs(), a = this._model.isDark() ? s.colorsPalette["color-cold-gray-900"] : s.colorsPalette["color-white"], o = this._source.points()[0].price, l = Object(r.ensureNotNull)(this._source.ownerSource()).firstValue(); if (null === l)
47
+ return; const h = e.formatPrice(o, l); if (this._priceNoteRenderer.setData({ text: h, points: t, lineColor: i.lineColor.value(), circleBorderColor: a, backgroundColor: i.priceLabelBackgroundColor.value(), borderColor: i.priceLabelBorderColor.value(), textColor: i.priceLabelTextColor.value(), fontSize: i.priceLabelFontSize.value(), bold: i.priceLabelBold.value(), italic: i.priceLabelItalic.value() }), this._renderer.append(this._priceNoteRenderer), this._renderer.append(this.createLineAnchor({ points: t }, 0)), i.showLabel && i.showLabel.value()) {
48
+ const e = t[0], r = t[1], s = e.x < r.x ? e : r, a = s === e ? r : e, o = i.vertLabelsAlign.value(), l = i.horzLabelsAlign.value();
49
+ let h;
50
+ h = "left" === l ? s.clone() : "right" === l ? a.clone() : new n.Point((e.x + r.x) / 2, (e.y + r.y) / 2);
51
+ const d = Math.atan((a.y - s.y) / (a.x - s.x)), c = { points: [h], text: i.text.value(), color: i.textColor.value(), vertAlign: o, horzAlign: l, font: u.CHART_FONT_FAMILY, offsetX: 0, offsetY: 0, bold: i.bold.value(), italic: i.italic.value(), fontsize: i.fontSize.value(), forceTextAlign: !0, angle: d };
52
+ this._customLabelRenderer.setData(c), this._renderer.append(this._customLabelRenderer);
53
+ } }
54
+ }
55
+ }, "1SUO": function (e, t, i) {
56
+ "use strict";
57
+ var r = i("aO4+").Point, n = i("pJOz").TrendLineRenderer, s = i("cjIn").PaneRendererCachedImage, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("isd9").ArcWedgeRenderer, h = i("a7Ha").LineEnd, d = i("NCfL").LineToolPaneViewWithLevelledTextCache;
58
+ t.FibWedgePaneView = class extends d {
59
+ constructor(e, t) { super(e, t), this._levels = [], this._baseTrendRenderer = new n, this._edgeTrendRenderer = new n, this._renderer = null; }
60
+ getCacheRects(e, t) { super.getCacheRects(e, t); var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1]; if (i) {
61
+ var r = this._levels[t], n = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width, height: this._cache.rowHeight(this._cacheState.row) };
62
+ return { cacheRect: n, targetRect: { left: Math.round(r.labelPoint.x - n.width), top: Math.round(r.labelPoint.y - n.height / 2), width: i.width, height: n.height } };
63
+ } }
64
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, this._levels = [], this._points.length < 3)
65
+ this._updateRenderer();
66
+ else {
67
+ var e = this._points, t = e[0], i = e[1], n = e[2], s = i.subtract(t).normalized(), a = n.subtract(t).normalized(), o = new r(1, 0), l = new r(0, 1), h = Math.acos(s.dotProduct(o));
68
+ s.dotProduct(l) < 0 && (h = 2 * Math.PI - h), this._edge1 = h;
69
+ var d = Math.acos(a.dotProduct(o));
70
+ a.dotProduct(l) < 0 && (d = 2 * Math.PI - d), this._edge2 = d, h < d && (this._edge1 = Math.max(h, d), this._edge2 = Math.min(h, d) + 2 * Math.PI), Math.abs(h - d) > Math.PI && (this._edge1 = Math.min(h, d), this._edge2 = Math.max(h, d) - 2 * Math.PI);
71
+ for (var c = this._source.properties(), u = 1; u <= this._source.levelsCount(); u++) {
72
+ var _ = c["level" + u];
73
+ if (_.visible.value()) {
74
+ var p = _.coeff.value(), f = _.color.value(), g = i.subtract(t).length() * p, v = s.add(a).scaled(.5).normalized().scaled(g), w = t.add(v);
75
+ this._levels.push({ coeff: p, color: f, radius: g, labelPoint: w, p1: t.add(s.scaled(g)), p2: t.add(a.scaled(g)), linewidth: _.linewidth.value(), linestyle: _.linestyle.value(), index: u });
76
+ }
77
+ }
78
+ this._points.length < 2 || this._updateRenderer();
79
+ } }
80
+ _updateRenderer() {
81
+ if (!((x = this._points).length < 2)) {
82
+ var e = new o, t = this._source.properties(), i = x[0], r = x[1], n = { points: [i, r], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.trendline.visible.value() ? t.trendline.linewidth.value() : 0, linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
83
+ if (this._baseTrendRenderer.setData(n), e.append(this._baseTrendRenderer), x.length < 3)
84
+ return this.addAnchors(e), void (this._renderer = e);
85
+ var d = x[2], c = d.data, u = r.subtract(i).length(), _ = d.subtract(i).normalized();
86
+ (d = i.add(_.scaled(u))).data = c, n = { points: [i, d], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.trendline.visible.value() ? t.trendline.linewidth.value() : 0, linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal }, this._edgeTrendRenderer.setData(n), e.append(this._edgeTrendRenderer);
87
+ for (var p = this._levels.length - 1; p >= 0; p--) {
88
+ var f = this._levels[p], g = {};
89
+ g.center = this._points[0], g.radius = f.radius, g.prevRadius = p > 0 ? this._levels[p - 1].radius : 0, g.edge = this._edge, g.color = f.color, g.linewidth = f.linewidth,
90
+ g.edge1 = this._edge1, g.edge2 = this._edge2, g.p1 = f.p1, g.p2 = f.p2, g.fillBackground = t.fillBackground.value(), g.transparency = t.transparency.value();
91
+ var v = new l;
92
+ if (v.setData(g), v.setHitTest(new a(a.MOVEPOINT, null, f.index)), e.append(v), t.showCoeffs.value()) {
93
+ var w = new s(this, p);
94
+ e.append(w);
95
+ }
96
+ }
97
+ var x = [i, r];
98
+ this._model.lineBeingCreated() !== this._source && x.push(d), e.append(this.createLineAnchor({ points: x }, 0)), this._renderer = e;
99
+ }
100
+ }
101
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
102
+ };
103
+ }, "1oDZ": function (e, t, i) {
104
+ "use strict";
105
+ var r = i("aB9a").LineSourcePaneView, n = i("qgcf").TextRenderer, s = i("VdBB").HitTestResult, a = i("Zy3/").CompositeRenderer, o = i("gAom").drawHorizontalLine, l = i("Zp/P").interactionTolerance, h = i("jFln").setLineStyle;
106
+ class d {
107
+ constructor() { this._data = null; }
108
+ setData(e) { this._data = e; }
109
+ draw(e, t) { if (null === this._data || 0 === this._data.points.length)
110
+ return null; var i = t.pixelRatio, r = e.canvas.width, n = this._data.points[0].y, s = Math.max(0, this._data.points[0].x), a = Math.max(r, this._data.points[0].x); e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = Math.max(1, Math.floor(this._data.linewidth * i)), void 0 !== this._data.linestyle && h(e, this._data.linestyle), o(e, Math.round(n * i), Math.round(s * i), Math.round(a * i)); }
111
+ hitTest(e) { if (null === this._data || 0 === this._data.points.length)
112
+ return null; if (e.x < this._data.points[0].x)
113
+ return null; var t = l().line; return Math.abs(e.y - this._data.points[0].y) <= t ? new s(this._data.hitTestResult) : null; }
114
+ }
115
+ t.HorzRayPaneView = class extends r {
116
+ constructor(e, t) { super(e, t), this._horzRayRenderer = new d, this._labelRenderer = new n, this._renderer = null; }
117
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
118
+ _updateImpl() { super._updateImpl(), this._renderer = null; var e = this._source.properties(), t = new a, i = {}; if (i.points = this._points, i.color = e.linecolor.value(), i.linewidth = e.linewidth.value(), i.linestyle = e.linestyle.value(), i.hitTestResult = s.MOVEPOINT, this._horzRayRenderer.setData(i), t.append(this._horzRayRenderer), e.showLabel.value() && 1 === this._points.length) {
119
+ var r = e.vertLabelsAlign.value(), n = e.horzLabelsAlign.value(), o = this._points[0].clone(), l = 0, h = e.text.value(), d = e.bold.value(), c = e.italic.value(), u = e.font.value(), _ = e.fontsize.value();
120
+ if ("right" === n) {
121
+ this._labelRenderer.setData({ text: h, font: u, bold: d, italic: c, fontsize: _ });
122
+ var p = this._labelRenderer.measure().width, f = this._model.timeScale().width();
123
+ o.x + p + 3 >= f ? o.x += p + 3 : (o.x = f, l = 3);
124
+ }
125
+ else
126
+ "center" === n && (o.x = (o.x + this._model.timeScale().width()) / 2);
127
+ var g = { points: [o], text: h, color: e.textcolor.value(), vertAlign: r, horzAlign: n, font: u, offsetX: l, offsetY: 0, bold: d, italic: c, fontsize: _, forceTextAlign: !0 };
128
+ this._labelRenderer.setData(g), t.append(this._labelRenderer);
129
+ } this.addAnchors(t), this._renderer = t; }
130
+ };
131
+ }, "2hKl": function (e, t, i) {
132
+ "use strict";
133
+ i.d(t, "c", (function () { return n; })), i.d(t, "a", (function () { return s; })), i.d(t, "b", (function () { return a; }));
134
+ var r = i("GEp6");
135
+ function n(e, t, i, n, s) {
136
+ const a = i.subtract(e).length() + i.subtract(t).length(), o = Math.max(3 / a, .02);
137
+ let l;
138
+ for (let a = 0;; a += o) {
139
+ a > 1 && (a = 1);
140
+ const o = e.scaled((1 - a) * (1 - a)), h = i.scaled(2 * a * (1 - a)), d = t.scaled(a * a), c = o.add(h).add(d);
141
+ if (void 0 !== l) {
142
+ if (Object(r.distanceToSegment)(c, l, n).distance < s)
143
+ return !0;
144
+ }
145
+ else if (c.subtract(n).length() < s)
146
+ return !0;
147
+ if (l = c, 1 === a)
148
+ break;
149
+ }
150
+ return !1;
151
+ }
152
+ function s(e, t, i, n, s, a) { const o = i.subtract(e).length() + n.subtract(i).length() + t.subtract(n).length(), l = Math.max(3 / o, .02); let h; for (let o = 0;; o += l) {
153
+ o > 1 && (o = 1);
154
+ const l = e.scaled((1 - o) * (1 - o) * (1 - o)), d = i.scaled(3 * (1 - o) * (1 - o) * o), c = n.scaled(3 * (1 - o) * o * o), u = t.scaled(o * o * o), _ = l.add(d).add(c).add(u);
155
+ if (void 0 !== h) {
156
+ if (Object(r.distanceToSegment)(_, h, s).distance < a)
157
+ return !0;
158
+ }
159
+ else if (_.subtract(s).length() < a)
160
+ return !0;
161
+ if (h = _, 1 === o)
162
+ break;
163
+ } return !1; }
164
+ function a(e, t, i, r, n) { const s = i.subtract(e).length() + i.subtract(t).length(); if (!s)
165
+ return []; const a = function (e, t, i, r, n) { const s = [], a = o(e.y, t.y, i.y, 0).concat(o(e.y, t.y, i.y, n)); for (let n = 0; n < a.length; n++) {
166
+ const o = l(e.x, t.x, i.x, a[n]);
167
+ o >= 0 && o <= r && s.push(a[n]);
168
+ } const h = o(e.x, t.x, i.x, 0).concat(o(e.x, t.x, i.x, r)); for (let r = 0; r < h.length; r++) {
169
+ const a = l(e.y, t.y, i.y, h[r]);
170
+ a >= 0 && a <= n && s.push(h[r]);
171
+ } return s; }(e, t, i, r, n).filter(e => e > 1).sort((e, t) => e - t); t.x >= 0 && t.x <= r && t.y >= 0 && t.y <= n && a.unshift(1); const h = 3 / s, d = []; for (let r = 0; r < a.length - 1; r += 2) {
172
+ let n = h, s = a[r], o = a[r + 1] + n;
173
+ const l = [];
174
+ for (; s <= o;) {
175
+ const r = e.scaled((1 - s) * (1 - s)), a = i.scaled(2 * s * (1 - s)), h = t.scaled(s * s), d = r.add(a).add(h);
176
+ if (l.length > 0) {
177
+ l[l.length - 1].subtract(d).length() < 2 && (o += n, n *= 2);
178
+ }
179
+ l.push(d), s += n;
180
+ }
181
+ l.length > 0 && d.push(l);
182
+ } return d; }
183
+ function o(e, t, i, r) { const n = [], s = e - 2 * i + t, a = 2 * i - 2 * e, o = e - r; if (Math.abs(s) > 1e-8) {
184
+ const e = a * a - 4 * s * o;
185
+ e >= 0 && (n.push((-a + Math.sqrt(e)) / (2 * s)), n.push((-a - Math.sqrt(e)) / (2 * s)));
186
+ }
187
+ else
188
+ n.push(-o / a); return n; }
189
+ function l(e, t, i, r) { return (1 - r) * (1 - r) * e + 2 * (1 - r) * r * i + r * r * t; }
190
+ }, "2trc": function (e, t, i) {
191
+ "use strict";
192
+ i.r(t), i.d(t, "ChannelRenderer", (function () { return c; }));
193
+ var r = i("Eyy1"), n = i("aO4+"), s = i("f6yo"), a = i("GEp6"), o = i("hBTJ"), l = i("VdBB"), h = i("Tmoa"), d = i("cPgM");
194
+ class c extends d.ScaledPaneRenderer {
195
+ constructor() { super(...arguments), this._data = null; }
196
+ setData(e) { this._data = e; }
197
+ hitTest(e, t) { if (null === this._data || !this._data.hittestOnBackground)
198
+ return null; const i = this._visiblePolygon(t); return null !== i && Object(s.pointInPolygon)(e, i) ? new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND) : null; }
199
+ _drawImpl(e, t) { if (null === this._data)
200
+ return; const i = this._visiblePolygon(t); if (null !== i) {
201
+ e.beginPath(), e.moveTo(i[0].x, i[0].y);
202
+ for (let t = 1; t < i.length; t++)
203
+ e.lineTo(i[t].x, i[t].y);
204
+ e.fillStyle = Object(h.generateColor)(this._data.color, this._data.transparency, !0), e.fill();
205
+ } }
206
+ _visiblePolygon(e) { const t = Object(r.ensureNotNull)(this._data), i = t.p1, s = t.p2, o = t.p3, l = t.p4; if (Object(n.equalPoints)(i, s) || Object(n.equalPoints)(o, l) || Object(a.distanceToLine)(i, s, o).distance < 1e-6 && Object(a.distanceToLine)(i, s, l).distance < 1e-6)
207
+ return null; if (e.cssWidth <= 0 || e.cssHeight <= 0)
208
+ return null; let h = [new n.Point(0, 0), new n.Point(e.cssWidth, 0), new n.Point(e.cssWidth, e.cssHeight), new n.Point(0, e.cssHeight)]; return h = u(h, i, s, [l, o]), h = u(h, l, o, [i, s]), Object(n.equalPoints)(o, i) || t.extendLeft || (h = u(h, o, i, [s, l])), h; }
209
+ }
210
+ function u(e, t, i, r) {
211
+ const s = Object(n.equalPoints)(i, r[0]) ? Object(n.equalPoints)(i, r[1]) ? null : r[1] : r[0];
212
+ return null !== e && null !== s ? Object(o.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)(Object(n.lineThroughPoints)(t, i), s)) : null;
213
+ }
214
+ }, "3xLB": function (e, t, i) {
215
+ "use strict";
216
+ i.r(t), i.d(t, "DateRangePaneView", (function () { return v; }));
217
+ var r = i("aO4+"), n = i("YFKU"), s = i("Ialn"), a = i("aB9a"), o = i("qgcf"), l = i("IjC5"), h = i("pJOz"), d = i("Zy3/"), c = i("8Uy/"), u = i("a7Ha"), _ = i("nda6");
218
+ const p = new (i("nEwK").VolumeFormatter), f = Object(n.t)("{count} bars"), g = Object(n.t)("Vol");
219
+ class v extends a.LineSourcePaneView {
220
+ constructor() { super(...arguments), this._leftBorderRenderer = new h.TrendLineRenderer, this._rightBorderRenderer = new h.TrendLineRenderer, this._distancePriceRenderer = new h.TrendLineRenderer, this._backgroundRenderer = new l.RectangleRenderer, this._textRenderer = new o.TextRenderer, this._renderer = new d.CompositeRenderer; }
221
+ renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
222
+ _updateImpl(e, t) {
223
+ if (super._updateImpl(), this._renderer.clear(), this._points.length < 2 || this._source.points().length < 2)
224
+ return;
225
+ const i = this._source.properties().childs(), n = i.extendTop.value(), a = i.extendBottom.value(), [l, h] = this._points, d = n ? 0 : Math.min(l.y, h.y), v = a ? this._height() : Math.max(l.y, h.y);
226
+ i.fillBackground.value() && (this._backgroundRenderer.setData({ points: [new r.Point(l.x, d), new r.Point(h.x, v)], color: "white", linewidth: 0, backcolor: i.backgroundColor.value(), fillBackground: !0, transparency: i.backgroundTransparency.value(), extendLeft: !1, extendRight: !1 }), this._renderer.append(this._backgroundRenderer));
227
+ const w = (e, t, r) => { e.setData({ points: [t, r], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: c.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: u.LineEnd.Normal, rightend: u.LineEnd.Normal }), this._renderer.append(e); };
228
+ w(this._leftBorderRenderer, new r.Point(l.x, d), new r.Point(l.x, v)), w(this._rightBorderRenderer, new r.Point(h.x, d), new r.Point(h.x, v));
229
+ const x = Math.round((l.y + h.y) / 2), m = new r.Point(l.x, x), y = new r.Point(h.x, x);
230
+ this._distancePriceRenderer.setData({ points: [m, y], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: c.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: u.LineEnd.Normal, rightend: Math.abs(m.x - y.x) >= 15 * i.linewidth.value() ? u.LineEnd.Arrow : u.LineEnd.Normal }), this._renderer.append(this._distancePriceRenderer);
231
+ const b = this._source.points()[0].index, R = this._source.points()[1].index, T = R - b, S = this._model.timeScale().indexToUserTime(b), P = this._model.timeScale().indexToUserTime(R);
232
+ let L = "";
233
+ if (S && P) {
234
+ const e = (P.valueOf() - S.valueOf()) / 1e3;
235
+ L = ", " + Object(s.startWithLTR)((new _.TimeSpanFormatter).format(e));
236
+ }
237
+ const C = this._source.volume(), M = Number.isNaN(C) ? "" : `\n${g} ${p.format(C)}`, I = { x: 0, y: 10 }, O = { text: f.format({ count: Object(s.forceLTRStr)(T.toString()) }) + L + M, color: i.textcolor.value(), font: i.font.value(), offsetX: I.x, offsetY: I.y, padding: 8, vertAlign: "middle", horzAlign: "center", fontsize: i.fontsize.value(), backgroundRoundRect: 4, backgroundHorzInflate: .4 * i.fontsize.value(), backgroundVertInflate: .2 * i.fontsize.value() };
238
+ i.fillLabelBackground.value() && (O.backgroundColor = i.labelBackgroundColor.value()),
239
+ this._textRenderer.setData(O);
240
+ const N = this._textRenderer.measure(), D = Object(o.calculateLabelPosition)(N, l, h, I, e);
241
+ this._textRenderer.setPoints([D]), this._renderer.append(this._textRenderer), this._renderer.append(this._textRenderer), this.addAnchors(this._renderer);
242
+ }
243
+ }
244
+ }, "4Ptp": function (e, t, i) {
245
+ "use strict";
246
+ i.r(t), i.d(t, "cacheIsValid", (function () { return h; })), i.d(t, "BezierQuadroPaneView", (function () { return d; }));
247
+ var r = i("Eyy1"), n = i("Tmoa"), s = i("aB9a"), a = i("Zy3/"), o = i("2hKl"), l = i("e9yB");
248
+ function h(e, t, i, r, n, s) { return null !== e && e.p1.x === t.x && e.p1.y === t.y && e.p2.x === i.x && e.p2.y === i.y && e.p3.x === r.x && e.p3.y === r.y && e.width === n && e.height === s; }
249
+ class d extends s.LineSourcePaneView {
250
+ constructor() { super(...arguments), this._bezierQuadroRenderer = new l.a, this._renderer = null, this._extendedSegmentLeftCache = null, this._extendedSegmentRightCache = null; }
251
+ renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
252
+ _updateImpl(e, t) { if (super._updateImpl(e, t), this._renderer = null, this._points.length < 2)
253
+ return; const i = this._source.properties().childs(); let r = [], s = []; if (3 === this._source.points().length) {
254
+ const n = this._source.pointToScreenPoint(this._source.points()[0])[1], a = this._source.pointToScreenPoint(this._source.points()[1])[1], o = this._source.pointToScreenPoint(this._source.points()[2])[1], l = a.subtract(n), h = o.subtract(l.scaled(.25)), d = o.add(l.scaled(.25));
255
+ i.extendLeft.value() && (r = this._extendSegmentLeft(o, n, h, t, e)), i.extendRight.value() && (s = this._extendSegmentRight(o, a, d, t, e));
256
+ } const o = this._points.slice(), l = this._source.controlPoint(); null !== l && o.push(this._source.pointToScreenPoint(l)[0]); const h = { points: o, color: i.linecolor.value(), lineWidth: i.linewidth.value(), lineStyle: i.linestyle.value(), leftEnd: i.leftEnd.value(), rightEnd: i.rightEnd.value(), fillBack: i.fillBackground.value(), backColor: Object(n.generateColor)(i.backgroundColor.value(), i.transparency.value()), extendLeftSegments: r, extendRightSegments: s }; this._bezierQuadroRenderer.setData(h); const d = new a.CompositeRenderer; d.append(this._bezierQuadroRenderer), this.addAnchors(d), this._renderer = d; }
257
+ _extendSegmentLeft(e, t, i, n, s) { return h(this._extendedSegmentLeftCache, e, t, i, n, s) || (this._extendedSegmentLeftCache = { p1: e, p2: t, p3: i, width: n, height: s, segment: Object(o.b)(e, t, i, n, s) }), Object(r.ensureNotNull)(this._extendedSegmentLeftCache).segment; }
258
+ _extendSegmentRight(e, t, i, n, s) { return h(this._extendedSegmentRightCache, e, t, i, n, s) || (this._extendedSegmentRightCache = { p1: e, p2: t, p3: i, width: n, height: s, segment: Object(o.b)(e, t, i, n, s) }), Object(r.ensureNotNull)(this._extendedSegmentRightCache).segment; }
259
+ }
260
+ }, "5/lF": function (e, t, i) {
261
+ "use strict";
262
+ i.r(t), i.d(t, "iconsContainer", (function () { return p; })), i.d(t, "TrendLineStatsRenderer", (function () { return g; }));
263
+ var r = i("aO4+"), n = i("f6yo"), s = i("Eyy1"), a = i("qFKp"), o = i("qgcf"), l = i("VdBB"), h = i("gAom"), d = i("ogJP"), c = i("ikwP"), u = i("KDMZ");
264
+ let _ = null;
265
+ const p = new u.a([{ name: "angle", theme: "dark",
266
+ imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjQ5OTk5IDE1SDIuNjU3NzFMMy4wNjEwNCAxNC4yNjA2TDkuMDYxMDQgMy4yNjA1N0w5LjMwMDQ2IDIuODIxNjJMMTAuMTc4NCAzLjMwMDQ4TDkuOTM4OTMgMy43Mzk0Mkw3LjUxMzg1IDguMTg1NDJDMTAuNTYyMSA5LjY3MjA1IDEwLjk0NTEgMTIuNjI2MSAxMC45OTMxIDE0SDE0LjVIMTVWMTVIMTQuNUgzLjQ5OTk5Wk05Ljk5MTk3IDE0QzkuOTQyMzYgMTIuNzI1OSA5LjU4NjI5IDEwLjI4OCA3LjAzNDM1IDkuMDY0NDlMNC4zNDIyNiAxNEg5Ljk5MTk3WiIgZmlsbD0iI0Y4RjlGRCIvPgo8L3N2Zz4K" }, { name: "angle", theme: "light", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMy40OTk5OSAxNUgyLjY1NzcxTDMuMDYxMDQgMTQuMjYwNkw5LjA2MTA0IDMuMjYwNTdMOS4zMDA0NiAyLjgyMTYyTDEwLjE3ODQgMy4zMDA0OEw5LjkzODkzIDMuNzM5NDJMNy41MTM4NSA4LjE4NTQyQzEwLjU2MjEgOS42NzIwNSAxMC45NDUxIDEyLjYyNjEgMTAuOTkzMSAxNEgxNC41SDE1VjE1SDE0LjVIMy40OTk5OVpNOS45OTE5NyAxNEM5Ljk0MjM2IDEyLjcyNTkgOS41ODYyOSAxMC4yODggNy4wMzQzNSA5LjA2NDQ5TDQuMzQyMjYgMTRIOS45OTE5N1oiIGZpbGw9IiMyQTJFMzkiLz4NCjwvc3ZnPg0K" }, { name: "barsRange", theme: "dark", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMiAzVjMuNVY1SDFWNlYxM1YxNEgyVjE1LjVWMTZIM1YxNS41VjE0SDRWMTNWNlY1SDNWMy41VjNIMlpNOC4yMDcxMSA3LjVMNy44NTM1NSA3Ljg1MzU1TDYuNzA3MTEgOUgxMS4yOTI5TDEwLjE0NjQgNy44NTM1NUw5Ljc5Mjg5IDcuNUwxMC41IDYuNzkyODlMMTAuODUzNiA3LjE0NjQ1TDEyLjg1MzYgOS4xNDY0NUwxMy4yMDcxIDkuNUwxMi44NTM2IDkuODUzNTVMMTAuODUzNiAxMS44NTM2TDEwLjUgMTIuMjA3MUw5Ljc5Mjg5IDExLjVMMTAuMTQ2NCAxMS4xNDY0TDExLjI5MjkgMTBINi43MDcxMUw3Ljg1MzU1IDExLjE0NjRMOC4yMDcxMSAxMS41TDcuNSAxMi4yMDcxTDcuMTQ2NDUgMTEuODUzNkw1LjE0NjQ1IDkuODUzNTVMNC43OTI4OSA5LjVMNS4xNDY0NSA5LjE0NjQ1TDcuMTQ2NDUgNy4xNDY0NUw3LjUgNi43OTI4OUw4LjIwNzExIDcuNVpNMyA2SDJWMTNIM1Y2Wk0xNSAzLjVWM0gxNlYzLjVWNUgxN1Y2VjEzVjE0SDE2VjE1LjVWMTZIMTVWMTUuNVYxNEgxNFYxM1Y2VjVIMTVWMy41Wk0xNSA2SDE2VjEzSDE1VjZaIiBmaWxsPSIjRjhGOUZEIi8+DQo8L3N2Zz4NCg==" }, { name: "barsRange", theme: "light",
267
+ imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMiAzVjMuNVY1SDFWNlYxM1YxNEgyVjE1LjVWMTZIM1YxNS41VjE0SDRWMTNWNlY1SDNWMy41VjNIMlpNOC4yMDcxMSA3LjVMNy44NTM1NSA3Ljg1MzU1TDYuNzA3MTEgOUgxMS4yOTI5TDEwLjE0NjQgNy44NTM1NUw5Ljc5Mjg5IDcuNUwxMC41IDYuNzkyODlMMTAuODUzNiA3LjE0NjQ1TDEyLjg1MzYgOS4xNDY0NUwxMy4yMDcxIDkuNUwxMi44NTM2IDkuODUzNTVMMTAuODUzNiAxMS44NTM2TDEwLjUgMTIuMjA3MUw5Ljc5Mjg5IDExLjVMMTAuMTQ2NCAxMS4xNDY0TDExLjI5MjkgMTBINi43MDcxMUw3Ljg1MzU1IDExLjE0NjRMOC4yMDcxMSAxMS41TDcuNSAxMi4yMDcxTDcuMTQ2NDUgMTEuODUzNkw1LjE0NjQ1IDkuODUzNTVMNC43OTI4OSA5LjVMNS4xNDY0NSA5LjE0NjQ1TDcuMTQ2NDUgNy4xNDY0NUw3LjUgNi43OTI4OUw4LjIwNzExIDcuNVpNMyA2SDJWMTNIM1Y2Wk0xNSAzLjVWM0gxNlYzLjVWNUgxN1Y2VjEzVjE0SDE2VjE1LjVWMTZIMTVWMTUuNVYxNEgxNFYxM1Y2VjVIMTVWMy41Wk0xNSA2SDE2VjEzSDE1VjZaIiBmaWxsPSIjMkEyRTM5Ii8+DQo8L3N2Zz4NCg==" }, { name: "priceRange", theme: "dark", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAySDMuNUgxMy41SDE0VjNIMTMuNUgzLjVIM1YyWk04LjUgMy43OTI4OUw4Ljg1MzU1IDQuMTQ2NDVMMTAuODUzNiA2LjE0NjQ1TDExLjIwNzEgNi41TDEwLjUgNy4yMDcxMUwxMC4xNDY0IDYuODUzNTVMOSA1LjcwNzExVjEyLjI5MjlMMTAuMTQ2NCAxMS4xNDY0TDEwLjUgMTAuNzkyOUwxMS4yMDcxIDExLjVMMTAuODUzNiAxMS44NTM2TDguODUzNTUgMTMuODUzNkw4LjUgMTQuMjA3MUw4LjE0NjQ1IDEzLjg1MzZMNi4xNDY0NSAxMS44NTM2TDUuNzkyODkgMTEuNUw2LjUgMTAuNzkyOUw2Ljg1MzU1IDExLjE0NjRMOCAxMi4yOTI5VjUuNzA3MTFMNi44NTM1NSA2Ljg1MzU1TDYuNSA3LjIwNzExTDUuNzkyODkgNi41TDYuMTQ2NDUgNi4xNDY0NUw4LjE0NjQ1IDQuMTQ2NDVMOC41IDMuNzkyODlaTTMuNSAxNkgzVjE1SDMuNUgxMy41SDE0VjE2SDEzLjVIMy41WiIgZmlsbD0iI0Y4RjlGRCIvPg0KPC9zdmc+DQo=" }, { name: "priceRange", theme: "light", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAySDMuNUgxMy41SDE0VjNIMTMuNUgzLjVIM1YyWk04LjUgMy43OTI4OUw4Ljg1MzU1IDQuMTQ2NDVMMTAuODUzNiA2LjE0NjQ1TDExLjIwNzEgNi41TDEwLjUgNy4yMDcxMUwxMC4xNDY0IDYuODUzNTVMOSA1LjcwNzExVjEyLjI5MjlMMTAuMTQ2NCAxMS4xNDY0TDEwLjUgMTAuNzkyOUwxMS4yMDcxIDExLjVMMTAuODUzNiAxMS44NTM2TDguODUzNTUgMTMuODUzNkw4LjUgMTQuMjA3MUw4LjE0NjQ1IDEzLjg1MzZMNi4xNDY0NSAxMS44NTM2TDUuNzkyODkgMTEuNUw2LjUgMTAuNzkyOUw2Ljg1MzU1IDExLjE0NjRMOCAxMi4yOTI5VjUuNzA3MTFMNi44NTM1NSA2Ljg1MzU1TDYuNSA3LjIwNzExTDUuNzkyODkgNi41TDYuMTQ2NDUgNi4xNDY0NUw4LjE0NjQ1IDQuMTQ2NDVMOC41IDMuNzkyODlaTTMuNSAxNkgzVjE1SDMuNUgxMy41SDE0VjE2SDEzLjVIMy41WiIgZmlsbD0iIzJBMkUzOSIvPg0KPC9zdmc+DQo=" }], 18), f = new Map;
268
+ class g {
269
+ constructor(e, t, i) {
270
+ this._fontSize = 0, this._preRendered = !1, this._boundingBox = null, this._rect = null, this._padding = null, this._textPoint = null, this._textSizeCache = t, this._data = e, this._fontSize = e.fontSize ? e.fontSize : 12,
271
+ this._lineSpacing = Object(d.isNumber)(this._data.lineSpacing) && this._data.lineSpacing ? this._data.lineSpacing : 0, e.lines = this._lines = null === e.text ? [] : Object(o.wordWrap)(e.text, this.fontStyle(), e.wordWrapWidth), this._hittest = i || new l.HitTestResult(l.HitTestResult.MOVEPOINT);
272
+ }
273
+ fontStyle() { return `${this._data.bold ? "bold " : ""}${this._data.italic ? "italic " : ""}${this._fontSize}px ${this._data.font}`; }
274
+ draw(e, t) { if (0 === this._data.points.length || null === this._data.text)
275
+ return { width: 0 }; this._preRender(); const i = this._fontSize + this._lineSpacing; e.textBaseline = "top", e.font = this.fontStyle(); const r = Object(s.ensureNotNull)(this._rect); if (this._rect) {
276
+ if ("right" !== this._data.horzAlign && "center" !== this._data.horzAlign || !0 !== this._data.doNotAlignText && (e.textAlign = "right" === this._data.horzAlign ? "end" : "center"), this._data.backgroundRoundRect ? (Object(h.drawRoundRect)(e, r.x, r.y, r.w, r.h, this._data.backgroundRoundRect), e.fillStyle = this._data.backgroundColor, e.fill(), e.globalAlpha = 1) : (e.fillStyle = this._data.backgroundColor, e.fillRect(r.x, r.y, r.w, r.h), e.globalAlpha = 1), !a.isIE && this._data.icons) {
277
+ let n = 0;
278
+ const a = Math.ceil((18 - this._fontSize) / 2), o = Object(s.ensureNotNull)(this._padding);
279
+ for (const s of this._data.icons) {
280
+ const l = Math.round(r.x + o.left), h = Math.round(r.y + o.top + i * n - a);
281
+ this._drawIcon(e, l, h, s, Boolean(this._data.isDark), t), n += 1;
282
+ }
283
+ }
284
+ }
285
+ else
286
+ "right" === this._data.horzAlign ? e.textAlign = "end" : "center" === this._data.horzAlign && (e.textAlign = "center"); const n = Object(s.ensureNotNull)(this._textPoint), o = n.x; let l = n.y; e.fillStyle = this._data.color; for (const t of this._lines)
287
+ e.fillText(t, o, l), l += i; return { width: r.w + 2 }; }
288
+ hitTest(e) { return 0 === this._data.points.length ? null : (this._preRender(), this._boundingBox && Object(n.pointInBox)(e, this._boundingBox) ? this._hittest : null); }
289
+ _preRender() {
290
+ if (this._preRendered)
291
+ return;
292
+ const e = function () { if (null !== _)
293
+ return _; const e = Object(c.createDisconnectedCanvas)(document, new c.Size(0, 0)); return _ = Object(c.getPrescaledContext2D)(e), _; }(), t = this._data.points[0].x + (this._data.offsetX || 0);
294
+ let i = t;
295
+ const n = this._data.points[0].y + (this._data.offsetY || 0);
296
+ let s = n;
297
+ const o = this._fontSize, l = this._lineSpacing, h = (o + l) * this._lines.length - l;
298
+ e.textBaseline = "top", e.font = this.fontStyle();
299
+ const d = [];
300
+ let u;
301
+ if (this._data.wordWrapWidth) {
302
+ u = this._data.wordWrapWidth;
303
+ for (let e = 0; e < this._lines.length; e++)
304
+ d.push(this._data.wordWrapWidth);
305
+ }
306
+ else {
307
+ u = 0;
308
+ for (let t = 0; t < this._lines.length; t++) {
309
+ const i = e.measureText(this._lines[t]).width;
310
+ d.push(i), u = Math.max(u, i);
311
+ }
312
+ }
313
+ const p = { top: this._data.paddingTop, right: this._data.paddingRight, bottom: this._data.paddingBottom, left: this._data.paddingLeft }, f = { x: Math.floor(t), y: Math.floor(n), w: Math.ceil(u + p.left + p.right), h: Math.ceil(h + p.top + p.bottom) };
314
+ if (i += p.left, s += p.top, !a.isIE && this._data.icons) {
315
+ const e = void 0 !== this._data.textPadding ? this._data.textPadding : Math.round(o / 2);
316
+ i += 18 + e, f.w += 18 + e;
317
+ }
318
+ if ("bottom" === this._data.vertAlign || "middle" === this._data.vertAlign) {
319
+ const e = "middle" === this._data.vertAlign ? n - f.h / 2 : n - f.h - (f.y - n);
320
+ s += e - f.y, f.y = e;
321
+ }
322
+ if ("right" === this._data.horzAlign || "center" === this._data.horzAlign) {
323
+ const r = "center" === this._data.horzAlign ? t - f.w / 2 : t - f.w - (f.x - t);
324
+ i += r - f.x, f.x = r, !0 !== this._data.doNotAlignText && ("right" === this._data.horzAlign ? (e.textAlign = "end", i += u) : (e.textAlign = "center", i += u / 2));
325
+ }
326
+ f.w % 2 != 0 && f.w++, f.x += .5, f.y += .5, this._boundingBox = Object(r.box)(new r.Point(f.x, f.y), new r.Point(f.x + f.w, f.y + f.h)), this._rect = f, this._padding = p, this._textPoint = { x: i, y: s }, this._textSizeCache && (this._textSizeCache.widths = d), this._preRendered = !0;
327
+ }
328
+ _drawIcon(e, t, i, r, n, o) { const l = `${r}${this._data.isDark}${o.pixelRatio}`; let h = f.get(l); if (!h) {
329
+ h = document.createElement("canvas"), h.width = 18 * o.pixelRatio, h.height = 18 * o.pixelRatio, h.style.width = "18px", h.style.height = "18px";
330
+ const e = Object(s.ensureNotNull)(h.getContext("2d"));
331
+ e.setTransform(1, 0, 0, 1, 0, 0), a.isEdge || e.scale(o.pixelRatio, o.pixelRatio);
332
+ const t = p.getIcon(r, n ? "dark" : "light");
333
+ t.ready() && (e.drawImage(t.image(), 0, 0), f.set(l, h));
334
+ } e.drawImage(h, t - .5, i - .5, 18, 18); }
335
+ }
336
+ }, "6MfG": function (e, t, i) {
337
+ "use strict";
338
+ i.r(t), i.d(t, "Pattern5pointsPaneView", (function () { return _; }));
339
+ var r = i("8Uy/"), n = i("a7Ha"), s = i("Zy3/"), a = i("qgcf"), o = i("/S7V"), l = i("pJOz"), h = i("zXvd"), d = i("VdBB"), c = i("BCbF"), u = i("aB9a");
340
+ class _ extends u.LineSourcePaneView {
341
+ constructor(e, t) { super(e, t), this._abRetracement = NaN, this._bcRetracement = NaN, this._cdRetracement = NaN, this._xdRetracement = NaN, this._numericFormatter = new h.NumericFormatter, this._bcRetracementTrend = new l.TrendLineRenderer, this._xdRetracementTrend = new l.TrendLineRenderer, this._xbTrend = new l.TrendLineRenderer, this._bdTrend = new l.TrendLineRenderer, this._polylineRenderer = new c.PolygonRenderer(new d.HitTestResult(d.HitTestResult.MOVEPOINT)), this._mainTriangleRenderer = new o.TriangleRenderer, this._triangleRendererPoints234 = new o.TriangleRenderer, this._xbLabelRenderer = new a.TextRenderer, this._acLabelRenderer = new a.TextRenderer, this._bdLabelRenderer = new a.TextRenderer, this._xdLabelRenderer = new a.TextRenderer, this._textRendererALabel = new a.TextRenderer, this._textRendererBLabel = new a.TextRenderer, this._textRendererCLabel = new a.TextRenderer, this._textRendererDLabel = new a.TextRenderer, this._textRendererXLabel = new a.TextRenderer, this._renderer = null; }
342
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
343
+ _updateImpl() {
344
+ if (super._updateImpl(), this._updateBaseData(), this._renderer = null, this._points.length < 2)
345
+ return;
346
+ const e = this._source.properties().childs(), t = new s.CompositeRenderer, i = (t, i) => ({ points: [t], text: i, color: e.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: e.font.value(), offsetX: 0, offsetY: 0, bold: e.bold && e.bold.value(), italic: e.italic && e.italic.value(), fontsize: e.fontsize.value(), backgroundColor: e.color.value(), backgroundRoundRect: 4 }), a = (t, i) => ({ points: [t, i], color: e.color.value(), linewidth: 1, linestyle: r.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: n.LineEnd.Normal, rightend: n.LineEnd.Normal }), [o, l, h, d, c] = this._points, u = { points: [o, l, this._points.length < 3 ? l : h], color: "rgba(0, 0, 0, 0)", linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value() };
347
+ if (this._mainTriangleRenderer.setData(u), t.append(this._mainTriangleRenderer), this._points.length > 3) {
348
+ const i = { points: [h, d, 5 === this._points.length ? c : d], color: "rgba(0, 0, 0, 0)", linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value() };
349
+ this._triangleRendererPoints234.setData(i), t.append(this._triangleRendererPoints234);
350
+ }
351
+ const _ = { points: this._points, color: e.color.value(), linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: !1, linestyle: r.LINESTYLE_SOLID, filled: !1 };
352
+ if (this._polylineRenderer.setData(_), t.append(this._polylineRenderer), this._points.length >= 3) {
353
+ const e = i(o.add(h).scaled(.5), this._numericFormatter.format(this._abRetracement));
354
+ this._xbLabelRenderer.setData(e), t.append(this._xbLabelRenderer), this._xbTrend.setData(a(o, h)), t.append(this._xbTrend);
355
+ }
356
+ if (this._points.length >= 4) {
357
+ this._bcRetracementTrend.setData(a(l, d)), t.append(this._bcRetracementTrend);
358
+ const e = i(l.add(d).scaled(.5), this._numericFormatter.format(this._bcRetracement));
359
+ this._acLabelRenderer.setData(e), t.append(this._acLabelRenderer);
360
+ }
361
+ if (this._points.length >= 5) {
362
+ const e = i(h.add(c).scaled(.5), this._numericFormatter.format(this._cdRetracement));
363
+ this._bdLabelRenderer.setData(e), t.append(this._bdLabelRenderer), this._xdRetracementTrend.setData(a(o, c)), t.append(this._xdRetracementTrend);
364
+ const r = i(o.add(c).scaled(.5), this._numericFormatter.format(this._xdRetracement));
365
+ this._xdLabelRenderer.setData(r), t.append(this._xdLabelRenderer), this._bdTrend.setData(a(h, c)), t.append(this._bdTrend);
366
+ }
367
+ const p = i(o, "X");
368
+ l.y > o.y ? (p.vertAlign = "bottom", p.offsetY = 5) : (p.vertAlign = "top", p.offsetY = 5), this._textRendererXLabel.setData(p), t.append(this._textRendererXLabel);
369
+ const f = i(l, "A");
370
+ if (l.y < o.y ? (f.vertAlign = "bottom", f.offsetY = 5) : (f.vertAlign = "top", f.offsetY = 5), this._textRendererALabel.setData(f), t.append(this._textRendererALabel), this._points.length > 2) {
371
+ const e = i(h, "B");
372
+ h.y < l.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererBLabel.setData(e), t.append(this._textRendererBLabel);
373
+ }
374
+ if (this._points.length > 3) {
375
+ const e = i(d, "C");
376
+ d.y < h.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererCLabel.setData(e), t.append(this._textRendererCLabel);
377
+ }
378
+ if (this._points.length > 4) {
379
+ const e = i(c, "D");
380
+ c.y < d.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererDLabel.setData(e), t.append(this._textRendererDLabel);
381
+ }
382
+ this.addAnchors(t), this._renderer = t;
383
+ }
384
+ _updateBaseData() {
385
+ if (this._source.points().length >= 3) {
386
+ const [e, t, i] = this._source.points();
387
+ this._abRetracement = Math.round(1e3 * Math.abs((i.price - t.price) / (t.price - e.price))) / 1e3;
388
+ }
389
+ if (this._source.points().length >= 4) {
390
+ const [, e, t, i] = this._source.points();
391
+ this._bcRetracement = Math.round(1e3 * Math.abs((i.price - t.price) / (t.price - e.price))) / 1e3;
392
+ }
393
+ if (this._source.points().length >= 5) {
394
+ const [e, t, i, r, n] = this._source.points();
395
+ this._cdRetracement = Math.round(1e3 * Math.abs((n.price - r.price) / (r.price - i.price))) / 1e3,
396
+ this._xdRetracement = Math.round(1e3 * Math.abs((n.price - t.price) / (t.price - e.price))) / 1e3;
397
+ }
398
+ }
399
+ }
400
+ }, "6sSH": function (e, t, i) {
401
+ "use strict";
402
+ var r = i("aO4+").Point, n = i("IjC5").RectangleRenderer, s = i("pJOz").TrendLineRenderer, a = i("cjIn").PaneRendererCachedImage, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd, d = i("d1Pk").fibLevelCoordinate, c = i("NCfL").LineToolPaneViewWithLevelledTextCache, u = i("xUGI");
403
+ class _ extends u {
404
+ _selectStartPrice(e) { return e.points()[2].price; }
405
+ priceRange(e, t) { var i = this.points(e), r = i[0], n = i[1], s = t ? r.price - n.price : n.price - r.price; if (!this._calculateLogLevels(e))
406
+ return { price: s }; var a = e.priceScale(), o = e.ownerSource().firstValue(), l = a.priceToCoordinate(r.price, o), h = a.priceToCoordinate(n.price, o); return { price: s, coordinate: t ? l - h : h - l }; }
407
+ }
408
+ t.TrendBasedFibExtensionPaneView = class extends c {
409
+ constructor(e, t) { super(e, t), this._rendererCache = {}, this._trendLineRendererPoints12 = new s, this._trendLineRendererPoints23 = new s, this._renderer = null; }
410
+ getCacheRects(e, t) { super.getCacheRects(e, t); var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1]; if (i) {
411
+ var n = this._points[1], s = this._points[2], a = Math.min(n.x, s.x), o = Math.max(n.x, s.x);
412
+ n = new r(a, this._levels[t].y), s = new r(o, this._levels[t].y);
413
+ var l, h = this._source.properties(), d = h.extendLines.value() ? this._model.timeScale().width() : o;
414
+ switch (h.horzLabelsAlign.value()) {
415
+ case "left":
416
+ l = n;
417
+ break;
418
+ case "center":
419
+ (l = n.add(s).scaled(.5)).x += i.width / 2, l.x = Math.round(l.x);
420
+ break;
421
+ case "right": h.extendLines.value() ? l = new r(d - 4, this._levels[t].y) : ((l = new r(d + 4, this._levels[t].y)).x += i.width, l.x = Math.round(l.x));
422
+ }
423
+ var c = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width, height: this._cache.rowHeight(this._cacheState.row) }, u = { left: l.x - c.width, top: l.y, width: i.width, height: c.height }, _ = h.vertLabelsAlign.value();
424
+ return "middle" === _ && (u.top -= u.height / 2), "bottom" === _ && (u.top -= u.height), { cacheRect: c, targetRect: u };
425
+ } }
426
+ _createCache(e) { return new _(this._source.properties().fibLevelsBasedOnLogScale, this._source.levelsCount(), e); }
427
+ _updateImpl() {
428
+ if (super._updateImpl(), this._renderer = null, 3 === this._source.points().length) {
429
+ var e = this._source.priceScale();
430
+ if (!e || e.isEmpty() || this._model.timeScale().isEmpty())
431
+ return;
432
+ var t = this._source.ownerSource().firstValue();
433
+ if (null == t)
434
+ return;
435
+ var i = this._source.points()[0], c = this._source.points()[1], u = this._source.points()[2], _ = !1;
436
+ (C = this._source.properties()).reverse && C.reverse.value() && (_ = C.reverse.value()), this._levels = [];
437
+ var p, f, g = _ ? i.price : c.price, v = _ ? c.price : i.price, w = g - v, x = e.isLog() && C.fibLevelsBasedOnLogScale.value();
438
+ if (x)
439
+ p = e.priceToCoordinate(g, t) - e.priceToCoordinate(v, t), f = e.priceToCoordinate(u.price, t);
440
+ for (var m = { price: u.price, coordinate: f }, y = { price: w, coordinate: p }, b = this._source.levelsCount(), R = 1; R <= b; R++) {
441
+ var T = C["level" + R];
442
+ if (T.visible.value()) {
443
+ var S = T.coeff.value(), P = T.color.value(), L = d(m, y, S, e, t, x);
444
+ this._levels.push({ color: P, y: L, linewidth: C.levelsStyle.linewidth.value(), linestyle: C.levelsStyle.linestyle.value(), index: R });
445
+ }
446
+ }
447
+ }
448
+ if (!(this._points.length < 2)) {
449
+ var C, M = new l;
450
+ i = this._points[0], c = this._points[1];
451
+ if ((C = this._source.properties()).trendline.visible.value()) {
452
+ var I = { points: [i, c], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: C.trendline.color.value(), linewidth: C.trendline.linewidth.value(), linestyle: C.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
453
+ this._trendLineRendererPoints12.setData(I), M.append(this._trendLineRendererPoints12);
454
+ }
455
+ if (this._points.length < 3)
456
+ return this.addAnchors(M), void (this._renderer = M);
457
+ u = this._points[2];
458
+ if (C.trendline.visible.value()) {
459
+ I = { points: [c, u], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: C.trendline.color.value(), linewidth: C.trendline.linewidth.value(), linestyle: C.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
460
+ this._trendLineRendererPoints23.setData(I), M.append(this._trendLineRendererPoints23);
461
+ }
462
+ var O = Math.min(u.x, c.x), N = Math.max(u.x, c.x), D = C.fillBackground.value(), B = C.transparency.value(), k = C.extendLinesLeft.value(), A = C.extendLines.value();
463
+ if (D)
464
+ for (R = 0; R < this._levels.length; R++)
465
+ if (R > 0 && D) {
466
+ var E = this._levels[R - 1], z = (i = new r(O, this._levels[R].y), c = new r(N, E.y), {});
467
+ z.points = [i, c], z.color = this._levels[R].color, z.linewidth = 0, z.backcolor = this._levels[R].color, z.fillBackground = !0, z.transparency = B, z.extendLeft = k, z.extendRight = A;
468
+ var j = new n(void 0, void 0, !0);
469
+ j.setData(z), M.append(j);
470
+ }
471
+ var V = O, H = N;
472
+ V === H && (k && (V -= 1), A && (H += 1));
473
+ for (R = 0; R < this._levels.length; R++) {
474
+ I = { points: [i = new r(V, this._levels[R].y), c = new r(H, this._levels[R].y)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._levels[R].color, linewidth: this._levels[R].linewidth, linestyle: this._levels[R].linestyle, extendleft: k, extendright: A, leftend: h.Normal, rightend: h.Normal };
475
+ var W = new s;
476
+ if (W.setData(I), W.setHitTest(new o(o.MOVEPOINT, null, this._levels[R].index)), M.append(W), C.showCoeffs.value() || C.showPrices.value()) {
477
+ var F = new a(this, R);
478
+ M.append(F);
479
+ }
480
+ }
481
+ this.addAnchors(M), this._renderer = M;
482
+ }
483
+ }
484
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
485
+ };
486
+ }, "8GeE": function (e, t, i) {
487
+ "use strict";
488
+ i.r(t);
489
+ var r = i("aO4+"), n = i("hfHJ"), s = i("Zy3/"), a = i("a7Ha"), o = i("8Uy/"), l = i("//lt"), h = i("pJOz"), d = i("aB9a"), c = i("Ialn"), u = i("ikwP"), _ = i("cPgM"), p = i("VdBB");
490
+ class f extends _.ScaledPaneRenderer {
491
+ constructor(e) { super(), this._data = null, this._cache = e; }
492
+ setData(e) { this._data = e; }
493
+ hitTest(e, t) { if (null === this._data)
494
+ return null; const i = 65536 * this._data.icon + this._data.size, r = this._cache[i] * this._data.scale, s = Object(n.rotationMatrix)(-this._data.angle); let a = e.subtract(this._data.point); return a = Object(n.transformPoint)(s, a), Math.abs(a.y) <= r / 2 && Math.abs(a.x) <= this._data.size / 2 ? new p.HitTestResult(p.HitTestResult.MOVEPOINT) : null; }
495
+ _drawImpl(e, t) {
496
+ if (null === this._data)
497
+ return;
498
+ const i = String.fromCharCode(this._data.icon);
499
+ e.font = this._data.size + "px FontAwesome";
500
+ const r = e.measureText(i).width;
501
+ e.textBaseline = "middle";
502
+ const n = this._data.point;
503
+ e.translate(n.x, n.y), e.rotate(this._data.angle - Math.PI / 2), e.scale(this._data.scale, 1);
504
+ const s = 65536 * this._data.icon + this._data.size;
505
+ e.textAlign = Object(c.isRtl)() ? "right" : "left";
506
+ const a = Object(u.calcTextHorizontalShift)(e, r);
507
+ this._cache[s] = r, this._data.selected && (e.fillStyle = "rgba(80, 80, 80, 0.2)", e.fillRect(-this._cache[s] / 2, -this._data.size / 2, this._cache[s], this._data.size)), e.fillStyle = this._data.color, e.fillText(i, -this._cache[s] / 2 + a, 0);
508
+ }
509
+ }
510
+ i.d(t, "IconPaneView", (function () { return g; }));
511
+ class g extends d.LineSourcePaneView {
512
+ constructor() { super(...arguments), this._cache = {}, this._dashRenderer = new h.TrendLineRenderer, this._iconRenderer = new f(this._cache), this._renderer = null; }
513
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
514
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, this._points.length < 1)
515
+ return; const e = new s.CompositeRenderer, t = this._source.properties().childs(), i = { point: this._points[0], color: t.color.value(), size: t.size.value(), icon: t.icon.value(), angle: t.angle.value(), scale: t.scale.value(), selected: this.areAnchorsVisible() }; this._iconRenderer.setData(i), e.append(this._iconRenderer); const h = 65536 * i.icon + i.size, c = this._cache[h], u = i.size, _ = this._points[0], p = t.scale.value(), f = this._source.getAnchorLimit(); let g = new r.Point(Math.max(f, u) / 2, 0), v = new r.Point(0, Math.max(f, p * c) / 2); const w = Object(n.rotationMatrix)(t.angle.value()); g = Object(n.transformPoint)(w, g), v = Object(n.transformPoint)(w, v); const x = _.add(g); x.data = 0; const m = _.subtract(g); m.data = 1; const y = _.add(v); y.data = 2, y.square = !0; const b = _.subtract(v); if (b.data = 3, b.square = !0, this.areAnchorsVisible()) {
516
+ const t = { points: [x, m], color: "#808080", linewidth: 1, linestyle: o.LINESTYLE_DASHED, extendleft: !1, extendright: !1, leftend: a.LineEnd.Normal, rightend: a.LineEnd.Normal };
517
+ this._dashRenderer.setData(t), e.append(this._dashRenderer);
518
+ } const R = Object(d.thirdPointCursorType)(x, m), T = [l.PaneCursorType.Default, l.PaneCursorType.Default, R, R]; e.append(this.createLineAnchor({ points: [x, m, y, b], pointsCursorType: T }, 0)), this._renderer = e; }
519
+ }
520
+ }, "8MBc": function (e, t, i) {
521
+ "use strict";
522
+ var r = i("aB9a").LineSourcePaneView, n = i("pJOz").TrendLineRenderer, s = i("VdBB").HitTestResult, a = i("Zy3/").CompositeRenderer, o = i("a7Ha").LineEnd, l = i("cPgM").ScaledPaneRenderer;
523
+ class h extends l {
524
+ constructor() { super(), this._data = null; }
525
+ setData(e) { this._data = e; }
526
+ _fibNumbers() { return [0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]; }
527
+ _continiusFib(e) { var t = this._fibNumbers(), i = Math.floor(e), r = Math.ceil(e); if (r >= t.length)
528
+ return null; var n = e - i; n = Math.pow(n, 1.15); var s = t[r] - t[i]; return t[i] + s * n; }
529
+ hitTest(e) { if (null === this._data)
530
+ return null; var t = this._data.points[0], i = this._data.points[1].subtract(t), r = e.subtract(t), n = i.normalized(), a = n.transposed(), o = r.normalized(), l = Math.acos(n.dotProduct(o)); Math.asin(a.dotProduct(o)) < 0 && (l = 2 * Math.PI - l); for (var h = this._data.counterclockwise ? -1 : 1, d = r.length(), c = 0; c < 4; c++) {
531
+ var u = h * l / (.5 * Math.PI), _ = this._continiusFib(u + 4 * c);
532
+ if (null !== (_ = _ * i.length() / 5) && Math.abs(_ - d) < 5)
533
+ return new s(s.MOVEPOINT);
534
+ } return null; }
535
+ _drawImpl(e) {
536
+ if (null !== this._data) {
537
+ e.lineCap = "round", e.strokeStyle = this._data.color;
538
+ var t = this._data.points[0], i = this._data.points[1];
539
+ e.translate(t.x, t.y);
540
+ var r = i.subtract(t), n = r.length();
541
+ r = r.normalized();
542
+ var s = Math.acos(r.x);
543
+ Math.asin(r.y) < 0 && (s = 2 * Math.PI - s), e.rotate(s), e.scale(n / 5, n / 5), e.lineWidth = this._data.linewidth, CanvasEx.setLineStyle(e, this._data.linestyle);
544
+ var a = Math.PI / 100;
545
+ e.moveTo(0, 0);
546
+ for (var o = this._data.counterclockwise ? -1 : 1, l = 0; l < 50 * (this._fibNumbers().length - 1); l++) {
547
+ var h = o * l * a, d = this._continiusFib(l / 50), c = Math.cos(h) * d, u = Math.sin(h) * d;
548
+ e.lineTo(c, u);
549
+ }
550
+ e.scale(5 / n, 5 / n), e.rotate(-s), e.stroke();
551
+ }
552
+ }
553
+ }
554
+ t.FibSpiralPaneView = class extends r {
555
+ constructor(e, t) { super(e, t), this._trendLineRenderer = new n, this._spiralRenderer = new h, this._renderer = null; }
556
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
557
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._floatPoints.length < 2)) {
558
+ var e, t = new a;
559
+ (e = {}).points = this._floatPoints, e.width = this._model.timeScale().width(), e.height = this._source.priceScale().height(), e.color = this._source.properties().linecolor.value(), e.linewidth = this._source.properties().linewidth.value(), e.linestyle = this._source.properties().linestyle.value(), e.extendleft = !1, e.extendright = !0, e.leftend = o.Normal, e.rightend = o.Normal, this._trendLineRenderer.setData(e), t.append(this._trendLineRenderer), (e = {}).points = this._floatPoints, e.width = this._model.timeScale().width(), e.height = this._source.priceScale().height(), e.color = this._source.properties().linecolor.value(), e.linewidth = this._source.properties().linewidth.value(), e.linestyle = this._source.properties().linestyle.value(), e.counterclockwise = this._source.properties().counterclockwise.value(), this._spiralRenderer.setData(e), t.append(this._spiralRenderer), this.addAnchors(t), this._renderer = t;
560
+ } }
561
+ };
562
+ }, "8xAY": function (e, t, i) {
563
+ "use strict";
564
+ var r;
565
+ i.r(t), i.d(t, "LabelSettings", (function () { return r; })), function (e) { e.offset = 8, e.fontSize = 12, e.lineSpacing = 16, e.rectRadius = 4, e.bgColorLight = "rgba(227,242,253,0.9)", e.bgColorDark = "rgba(67,70,81,0.9)", e.textColorLight = "#2A2E39", e.textColorDark = "#F8F9FD", e.textPadding = 10, e.paddingTopBottom = 13, e.paddingLeftRight = 10; }(r || (r = {}));
566
+ }, "9FRF": function (e, t, i) {
567
+ "use strict";
568
+ var r = i("aB9a").LineSourcePaneView, n = i("NN6M").ParallelChannelRenderer, s = i("Zy3/").CompositeRenderer, a = i("//lt").PaneCursorType, o = [a.Default, a.Default, a.Default, a.Default, a.VerticalResize, a.VerticalResize];
569
+ t.ParallelChannelPaneView = class extends r {
570
+ constructor(e, t) { super(e, t), this._channelRenderer = new n, this._renderer = null, this._p3 = null, this._p4 = null; }
571
+ _updateImpl() {
572
+ if (super._updateImpl(), this._renderer = null, this._source.priceScale() && !this._source.priceScale().isEmpty() && 0 !== this._source.points().length) {
573
+ if (this._source._priceOffset || this._source.calculatePriceDiff(), 3 === this._points.length && this._source._priceOffset) {
574
+ var e = this._points[0], t = this._points[1], i = this._source._priceOffset + this._source.points()[0].price, r = this._source._priceOffset + this._source.points()[1].price;
575
+ this._p3 = e.clone(), this._p4 = t.clone();
576
+ var n = this._source.priceScale(), a = this._source.ownerSource().firstValue();
577
+ if (n.isLog()) {
578
+ var l = .5 * (i + r) - this._source._priceOffset, h = .5 * (i + r), d = this._source.priceScale().priceToCoordinate(l, a), c = this._source.priceScale().priceToCoordinate(h, a) - d;
579
+ this._p3.y += c,
580
+ this._p4.y += c;
581
+ }
582
+ else
583
+ this._p3.y = this._source.priceScale().priceToCoordinate(i, a), this._p4.y = this._source.priceScale().priceToCoordinate(r, a);
584
+ }
585
+ var u = { points: [] };
586
+ this._points.length > 1 && (u.points.push(this._points[0]), u.points.push(this._points[1])), this._points.length > 2 && null !== this._p3 && null !== this._p4 && (u.points.push(this._p3), u.points.push(this._p4)), u.color = this._source.properties().linecolor.value(), u.width = this._model.timeScale().width(), u.height = this._source.priceScale().height();
587
+ var _ = this._source.properties();
588
+ u.linewidth = _.linewidth.value(), u.linestyle = _.linestyle.value(), u.extendleft = _.extendLeft.value(), u.extendright = _.extendRight.value(), u.fillBackground = _.fillBackground.value(), u.backcolor = _.backgroundColor.value(), u.transparency = _.transparency.value(), u.showMidline = _.showMidline.value(), u.midlinewidth = _.midlinewidth.value(), u.midlinestyle = _.midlinestyle.value(), u.midcolor = _.midlinecolor.value(), u.fillBackground = _.fillBackground.value(), u.hittestOnBackground = !0, this._channelRenderer.setData(u);
589
+ var p = new s;
590
+ p.append(this._channelRenderer);
591
+ var f = [];
592
+ if (this._points[0] && f.push(this._points[0]), this._points[1] && f.push(this._points[1]), this._p3) {
593
+ var g = this._p3;
594
+ g.data = 2, f.push(g);
595
+ var v = this._p4;
596
+ v.data = 3, f.push(v);
597
+ var w = this._p3.add(this._p4).scaled(.5);
598
+ w.data = 4, w.square = !0, f.push(w);
599
+ var x = f[0].add(f[1]).scaled(.5);
600
+ x.data = 5, x.square = !0, f.push(x);
601
+ }
602
+ var m = 3 === this._points.length && !this._p3;
603
+ this._model.lineBeingCreated() !== this._source || m || (f.pop(), f.pop()), p.append(this.createLineAnchor({ points: f, pointsCursorType: o }, 0)), this._renderer = p;
604
+ }
605
+ }
606
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
607
+ };
608
+ }, AOzI: function (e, t, i) {
609
+ "use strict";
610
+ i.r(t), i.d(t, "StudyLineDataSourceAnchorsPaneView", (function () { return n; }));
611
+ var r = i("aB9a");
612
+ class n extends r.LineSourcePaneView {
613
+ renderer() { return this._invalidated && (this._updateImpl(), this._invalidated = !1), this.createLineAnchor({ points: this._getPoints() }, 0); }
614
+ }
615
+ }, Ay2m: function (e, t, i) {
616
+ "use strict";
617
+ var r = i("aO4+").Point, n = i("YFKU").t, s = i("aB9a").LineSourcePaneView, a = i("LxhU").Interval, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("PuIH").getImage, d = i("Hr11"), c = i("GH0z").PercentageFormatter, u = i("gQ5K").DateFormatter, _ = i("4kQX").TimeFormatter, p = i("nda6").TimeSpanFormatter, f = i("Tmoa"), g = i("08i5"), v = i("ikwP").calcTextHorizontalShift, w = i("Ialn").isRtl, x = i("gAom").drawRoundRect, m = i("XlJ7").makeFont, y = i("cPgM").ScaledPaneRenderer, b = i("Ialn"), R = b.forceLTRStr, T = b.startWithLTR, S = i("zDbI").CHART_FONT_FAMILY;
618
+ class P extends y {
619
+ constructor() { super(), this._data = null, this._font = S, this._targetFontSize1 = 14, this._targetFontSize2 = 11, this._sourceFontSize1 = 12, this._sourceFontSize2 = 10, this._arrowOffset = 6, this._arrowWidth = 5, this._arrowHeight = 5, this._radius = 3, this._sourceWidth = void 0, this._sourceHeight = void 0, this._sourceRectLeftOffset = void 0, this._targetWidth = void 0, this._targetHeight = void 0, this._targetRectLeftOffset = void 0; }
620
+ setData(e) { this._data = e; }
621
+ drawBalloon(e, t, i, n, s, a) {
622
+ var o = a || 20;
623
+ if (e.beginPath(), "down" === s) {
624
+ var l = new r(t.x - o, t.y - this._arrowOffset - this._arrowHeight - n);
625
+ return e.moveTo(l.x + this._radius, l.y), e.lineTo(l.x + i - this._radius, l.y), e.arcTo(l.x + i, l.y, l.x + i, l.y + this._radius, this._radius), e.lineTo(l.x + i, l.y + n - this._radius), e.arcTo(l.x + i, l.y + n, l.x + i - this._radius, l.y + n, this._radius), e.lineTo(l.x + o + this._arrowWidth, l.y + n), e.lineTo(l.x + o, l.y + n + this._arrowHeight), e.lineTo(l.x + o - this._arrowWidth, l.y + n), e.lineTo(l.x + this._radius, l.y + n), e.arcTo(l.x, l.y + n, l.x, l.y + n - this._radius, this._radius), e.lineTo(l.x, l.y + this._radius), e.arcTo(l.x, l.y, l.x + this._radius, l.y, this._radius), l;
626
+ }
627
+ var h = new r(t.x - o, t.y + this._arrowOffset + this._arrowHeight + n);
628
+ return e.moveTo(h.x + this._radius, h.y), e.lineTo(h.x + i - this._radius, h.y), e.arcTo(h.x + i, h.y, h.x + i, h.y - this._radius, this._radius), e.lineTo(h.x + i, h.y - n + this._radius), e.arcTo(h.x + i, h.y - n, h.x + i - this._radius, h.y - n, this._radius), e.lineTo(h.x + o + this._arrowWidth, h.y - n), e.lineTo(h.x + o, h.y - n - this._arrowHeight), e.lineTo(h.x + o - this._arrowWidth, h.y - n), e.lineTo(h.x + this._radius, h.y - n), e.arcTo(h.x, h.y - n, h.x, h.y - n + this._radius, this._radius), e.lineTo(h.x, h.y - this._radius), e.arcTo(h.x, h.y, h.x + this._radius, h.y, this._radius), new r(h.x, h.y - n);
629
+ }
630
+ drawTargetLabel(e) {
631
+ e.save(), e.translate(.5, .5);
632
+ var t = m(this._targetFontSize1, this._font, "normal"), i = m(this._targetFontSize2, this._font, "normal"), r = this._data.targetLine1, s = this._data.targetLine2, a = this._data.targetLine3, o = this._data.targetLine4;
633
+ e.font = t;
634
+ var l = e.measureText(r).width, h = e.measureText(s).width, d = e.measureText(" ").width;
635
+ e.font = i;
636
+ var c = e.measureText(a).width, u = e.measureText(o).width, _ = e.measureText(" ").width, p = this._data.clockWhite && this._data.clockWhite.width || 0;
637
+ this._targetWidth = Math.max(l + h + d, c + u + p + 2 * _) + 8 + 4, this._targetHeight = this._targetFontSize1 + this._targetFontSize2 + 9 + 4;
638
+ var y = this._data.points[1], b = y.x + this._targetWidth - e.canvas.width + 5;
639
+ this._targetRectLeftOffset = Math.max(20, Math.min(this._targetWidth - 15, b));
640
+ var R = "up" === this._data.direction ? "down" : "up", T = this.drawBalloon(e, y, this._targetWidth, this._targetHeight, R, this._targetRectLeftOffset);
641
+ e.fillStyle = f.generateColor(this._data.targetBackColor, this._data.transparency), e.fill(), e.lineWidth = 2, e.strokeStyle = f.generateColor(this._data.targetStrokeColor, this._data.transparency), e.stroke();
642
+ e.beginPath(), e.arc(y.x, y.y, 3, 0, 2 * Math.PI, !1), e.fillStyle = this._data.centersColor, e.fill(), e.textBaseline = "top", e.fillStyle = this._data.targetTextColor;
643
+ var S = 2 + T.x + 4, P = 2 + T.y + 3, L = this._targetWidth - 8 - 4;
644
+ e.font = t, e.textAlign = w() ? "right" : "left";
645
+ var C = v(e, L - h - d);
646
+ e.fillText(r, S + C, P);
647
+ var M = v(e, L - l);
648
+ e.fillText(s, S + l + d + M, P), e.font = i;
649
+ var I = P + this._targetFontSize1 + 3, O = v(e, L - u - p - _);
650
+ e.fillText(a, S + O, I);
651
+ var N = v(e, L - c - _ - p - u);
652
+ this._data.clockWhite && e.drawImage(this._data.clockWhite, S + c + _ + N, I + 1);
653
+ var D = v(e, L - c - p);
654
+ if (e.fillText(o, S + c + p + 2 * _ + D, I), this._data.status) {
655
+ var B, k, A, E;
656
+ switch (e.font = m(this._targetFontSize1, this._font, "bold"), this._data.status) {
657
+ case g.AlertStatus.Success:
658
+ B = n("SUCCESS"), k = f.generateColor(this._data.successBackground, this._data.transparency), A = this._data.successTextColor, E = this._data.successIcon;
659
+ break;
660
+ case g.AlertStatus.Failure: B = n("FAILURE"),
661
+ k = f.generateColor(this._data.failureBackground, this._data.transparency), A = this._data.failureTextColor, E = this._data.failureIcon;
662
+ }
663
+ var z = this._targetFontSize1 + 4, j = e.measureText(B).width, V = Math.round((this._targetWidth - j) / 2), H = v(e, j);
664
+ e.fillStyle = k, "up" === this._data.direction ? (x(e, T.x - 1, T.y - z - 2, this._targetWidth + 2, z, 5), e.fill(), e.fillStyle = A, e.fillText(B, T.x + V + H, T.y - z + 1), E && e.drawImage(E, T.x + V - E.width - 4, T.y - z - 2 + Math.abs(z - E.height) / 2)) : (x(e, T.x - 1, T.y + this._targetHeight + 2, this._targetWidth + 2, z, 5), e.fill(), e.fillStyle = A, e.fillText(B, T.x + V + H, T.y + this._targetHeight + 5), E && e.drawImage(E, T.x + V - E.width - 4, T.y + this._targetHeight + 10 - Math.abs(z - E.height) / 2)), e.restore();
665
+ }
666
+ else
667
+ e.restore();
668
+ }
669
+ drawStartLabel(e) { e.save(), e.translate(.5, .5); var t = m(this._sourceFontSize1, this._font, "normal"), i = m(this._sourceFontSize2, this._font, "normal"); e.font = t; var r = e.measureText(this._data.sourceLine1).width; e.font = i; var n = e.measureText(this._data.sourceLine2).width; this._sourceWidth = Math.max(r, n) + 6 + 4, this._sourceHeight = this._sourceFontSize1 + this._sourceFontSize2 + 6 + 4; var s = this._data.points[0], a = s.x + this._sourceWidth - e.canvas.width + 5; this._sourceRectLeftOffset = Math.max(20, Math.min(this._sourceWidth - 15, a)); var o = this.drawBalloon(e, s, this._sourceWidth, this._sourceHeight, this._data.direction, this._sourceRectLeftOffset); e.fillStyle = f.generateColor(this._data.sourceBackColor, this._data.transparency), e.fill(), e.lineWidth = 2, e.strokeStyle = f.generateColor(this._data.sourceStrokeColor, this._data.transparency), e.stroke(), e.textAlign = w() ? "right" : "left", e.textBaseline = "top", e.fillStyle = this._data.sourceTextColor; var l = v(e, this._sourceWidth - 6 - 4), h = 2 + o.x + 3 + l, d = 2 + o.y + 2; e.font = t, e.fillText(this._data.sourceLine1, h, d), e.font = i, e.fillText(this._data.sourceLine2, h, d + this._sourceFontSize1 + 2); e.beginPath(), e.arc(s.x, s.y, 3, 0, 2 * Math.PI, !1), e.fillStyle = this._data.centersColor, e.fill(), e.restore(); }
670
+ _drawImpl(e) { if (!(null === this._data || this._data.points.length < 2)) {
671
+ e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.lineStyle = this._data.linestyle;
672
+ var t = this._data.points[0], i = this._data.points[1], r = i.subtract(t);
673
+ Math.abs(r.x) < 1 || Math.abs(r.y) < 1 ? (e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), e.stroke()) : (e.save(), e.beginPath(), e.translate(t.x, t.y), e.scale(1, r.y / r.x), e.moveTo(0, 0), e.arcTo(r.x, 0, r.x, r.x, Math.abs(r.x)), e.lineTo(r.x, r.x), e.restore(), e.stroke()), this.drawTargetLabel(e), this.drawStartLabel(e);
674
+ var n = Math.max(8, 4 * this._data.linewidth);
675
+ e.fillStyle = this._data.color;
676
+ var s = r.y < 0 ? 1 : -1;
677
+ if (Math.abs(r.x) < 1 || Math.abs(r.y) < 1)
678
+ var a = Math.atan(r.x / r.y);
679
+ else {
680
+ var o, l, h = Math.abs(r.x), d = Math.abs(r.y), c = 0, u = Math.PI / 2, _ = (c + u) / 2;
681
+ if (r.length() > n)
682
+ for (;;) {
683
+ o = h * Math.sin(_), l = d * (1 - Math.cos(_));
684
+ var p = Math.sqrt((o - h) * (o - h) + (l - d) * (l - d));
685
+ if (Math.abs(p - n) < 1)
686
+ break;
687
+ p > n ? c = _ : u = _, _ = (c + u) / 2;
688
+ }
689
+ a = Math.atan((h - o) / (d - l)), r.x * r.y < 0 && (a = -a);
690
+ }
691
+ e.save(), e.beginPath(), e.translate(i.x, i.y), e.rotate(-a), e.moveTo(0, 0), e.lineTo(-n / 2, s * n), e.lineTo(n / 2, s * n), e.lineTo(0, 0), e.restore(), e.fill();
692
+ } }
693
+ targetLabelHitTest(e) {
694
+ if (void 0 === this._targetWidth || void 0 === this._targetHeight || void 0 === this._targetRectLeftOffset)
695
+ return null;
696
+ var t = this._targetHeight + this._arrowHeight;
697
+ this._data.status && (t += this._targetFontSize1 + 10);
698
+ var i = "up" === this._data.direction ? -1 : 1, r = this._radius, n = this._data.points[1], s = n.x - this._targetRectLeftOffset, a = n.y + i * r, l = n.y + i * (t + r), h = Math.min(a, l), d = Math.max(a, l);
699
+ return e.x >= s && e.x <= s + this._targetWidth && e.y >= h && e.y <= d ? new o(o.MOVEPOINT) : null;
700
+ }
701
+ sourceLabelHitTest(e) { if (void 0 === this._sourceHeight || void 0 === this._sourceWidth || void 0 === this._sourceRectLeftOffset)
702
+ return null; var t = "up" === this._data.direction ? 1 : -1, i = this._radius, r = this._data.points[0], n = r.x - this._sourceRectLeftOffset, s = r.y + i * t, a = r.y + (i + this._sourceHeight + this._arrowHeight) * t, l = Math.min(s, a), h = Math.max(s, a); return e.x >= n && e.x <= n + this._sourceWidth && e.y >= l && e.y <= h ? new o(o.MOVEPOINT) : null; }
703
+ hitTest(e) { if (null === this._data || this._data.points.length < 2)
704
+ return null; var t = this._data.points[0], i = this._data.points[1], r = i.subtract(t), n = (r = i.subtract(t), e.subtract(t)), s = Math.abs(r.x), a = Math.abs(r.y), l = d.sign(r.y) * (a - a * Math.sqrt(1 - n.x * n.x / (s * s))); if (Math.abs(l - n.y) < 3)
705
+ return new o(o.MOVEPOINT); var h = this.targetLabelHitTest(e); return h || this.sourceLabelHitTest(e); }
706
+ }
707
+ t.PredictionPaneView = class extends s {
708
+ constructor(e, t) { super(e, t), this._pendingIcons = 3; var r = this; function n() { r._pendingIcons -= 1, 0 === r._pendingIcons && r._source.model().updateSource(r._source); } this._clockWhite = null, this._successIcon = null, this._failureIcon = null, h("prediction-clock-white", i("qjB4")).then((function (e) { r._clockWhite = e, n(); })), h("prediction-success-white", i("mJB8")).then((function (e) { r._successIcon = e, n(); })), h("prediction-failure-white", i("V8bI")).then((function (e) { r._failureIcon = e, n(); })), this._percentageFormatter = new c, this._predictionRenderer = new P, this._renderer = null; }
709
+ iconsReady() { return 0 === this._pendingIcons; }
710
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
711
+ _updateImpl() {
712
+ if ((super._updateImpl(), this._renderer = null, this._targetLine1 = "", this._targetLine2 = "", this._targetLine3 = "", this._targetLine4 = "", !(this._source.points().length < 2)) && this._source.priceScale()) {
713
+ var e = this._source.ownerSource().formatter(), t = this._source.points()[1], i = this._source.points()[0];
714
+ this._targetLine3 = R(e.format(t.price));
715
+ var r = t.price - i.price, s = r / Math.abs(i.price) * 100;
716
+ this._targetLine1 = R(e.format(r) + " (" + this._percentageFormatter.format(s) + ")");
717
+ var o = this._model.timeScale().indexToUserTime(i.index), h = this._model.timeScale().indexToUserTime(t.index);
718
+ i.time && t.time && (o = TradingView.isString(i.time) ? new Date(Date.parse(i.time)) : i.time, h = TradingView.isString(t.time) ? new Date(Date.parse(t.time)) : t.time);
719
+ var d = this._model.mainSeries().isDWM(), c = a.parse(this._model.mainSeries().interval()), f = c.isSeconds() || c.isTicks();
720
+ if (h && o) {
721
+ this._targetLine4 = (new u).format(h), d || (this._targetLine4 = this._targetLine4 + " " + new _(f ? "%h:%m:%s" : "%h:%m").format(h));
722
+ var v = (h.valueOf() - o.valueOf()) / 1e3;
723
+ this._targetLine2 = n("in", { context: "dates" }) + " " + T((new p).format(v));
724
+ }
725
+ this._sourceLine1 = e.format(i.price), this._sourceLine2 = "";
726
+ var w = this._model.timeScale().indexToUserTime(i.index);
727
+ w && (this._sourceLine2 = (new u).format(w), d || (this._sourceLine2 = this._sourceLine2 + " " + new _(f ? "%h:%m:%s" : "%h:%m").format(w))), this._direction = this._source.direction() === g.Direction.Up ? "up" : "down", this._finished = this._model.lineBeingCreated() !== this._source && this._model.lineBeingEdited() !== this._source && !this._model.sourcesBeingMoved().includes(this._source);
728
+ var x = {};
729
+ x.points = this._points, x.color = this._source.properties().linecolor.value(), x.linewidth = this._source.properties().linewidth.value(), x.targetLine1 = this._targetLine1, x.targetLine2 = this._targetLine2, x.targetLine3 = this._targetLine3, x.targetLine4 = this._targetLine4, x.status = this._source.properties().status.value(), x.transparency = this._source.properties().transparency.value(), x.targetBackColor = this._source.properties().targetBackColor.value(), x.targetStrokeColor = this._source.properties().targetStrokeColor.value(), x.targetTextColor = this._source.properties().targetTextColor.value(), x.sourceBackColor = this._source.properties().sourceBackColor.value(), x.sourceStrokeColor = this._source.properties().sourceStrokeColor.value(), x.sourceTextColor = this._source.properties().sourceTextColor.value(), x.successBackground = this._source.properties().successBackground.value(), x.successTextColor = this._source.properties().successTextColor.value(), x.failureBackground = this._source.properties().failureBackground.value(), x.failureTextColor = this._source.properties().failureTextColor.value(), x.intermediateBackColor = this._source.properties().intermediateBackColor.value(), x.intermediateTextColor = this._source.properties().intermediateTextColor.value(), x.sourceLine1 = this._sourceLine1, x.sourceLine2 = this._sourceLine2, x.direction = this._direction, x.clockWhite = this._clockWhite, x.successIcon = this._successIcon, x.failureIcon = this._failureIcon, x.finished = this._finished, x.centersColor = this._model.backgroundCounterColor(), this._predictionRenderer.setData(x);
730
+ var m = new l;
731
+ m.append(this._predictionRenderer), this.addAnchors(m), this._renderer = m;
732
+ }
733
+ }
734
+ };
735
+ }, B4Hi: function (e, t, i) {
736
+ "use strict";
737
+ var r, n = i("aO4+").Point, s = i("aB9a").LineSourcePaneView, a = i("VdBB").HitTestResult, o = i("VdBB").AreaName, l = i("Zy3/").CompositeRenderer, h = i("Tmoa"), d = i("jTis").CalloutConsts, c = i("ikwP").calcTextHorizontalShift, u = i("Ialn").isRtl, _ = i("cPgM").ScaledPaneRenderer;
738
+ class p extends _ {
739
+ constructor(e) { super(), this._data = null, this._textSizeCache = e; }
740
+ wordWrap(e, t) {
741
+ var i;
742
+ r || ((i = document.createElement("canvas")).width = 0, i.height = 0, r = i.getContext("2d"), i = null), t = +t;
743
+ var n = (e += "").split(/[^\S\r\n]*(?:\r\n|\r|\n|$)/);
744
+ if (n[n.length - 1] || n.pop(), !isFinite(t) || t <= 0)
745
+ return n;
746
+ r.font = this.fontStyle();
747
+ for (var s = [], a = 0; a < n.length; a++) {
748
+ var o = n[a];
749
+ if ((h = r.measureText(o).width) <= t)
750
+ s.push(o);
751
+ else
752
+ for (var l = o.split(/([-)\]},.!?:;])|(\s+)/); l.length;) {
753
+ var h, d = ~~(t / h * (l.length + 2) / 3);
754
+ if (d <= 0 || r.measureText(l.slice(0, 3 * d - 1).join("")).width <= t)
755
+ for (; r.measureText(l.slice(0, 3 * (d + 1) - 1).join("")).width <= t;)
756
+ d++;
757
+ else
758
+ for (; d > 0 && r.measureText(l.slice(0, 3 * --d - 1).join("")).width > t;)
759
+ ;
760
+ if (d > 0)
761
+ s.push(l.slice(0, 3 * d - 1).join("")),
762
+ l.splice(0, 3 * d);
763
+ else {
764
+ var c = l[0] + (l[1] || ""), u = 1 === u ? 1 : ~~(t / r.measureText(c) * c.length);
765
+ if (r.measureText(c.substr(0, u)).width <= t)
766
+ for (; r.measureText(c.substr(0, u + 1)).width <= t;)
767
+ u++;
768
+ else
769
+ for (; u > 1 && r.measureText(c.substr(0, --u)).width > t;)
770
+ ;
771
+ u < 1 && (u = 1), s.push(c.substr(0, u)), l[0] = c.substr(u), l[1] = "";
772
+ }
773
+ if ((h = r.measureText(l.join("")).width) <= t) {
774
+ s.push(l.join(""));
775
+ break;
776
+ }
777
+ }
778
+ }
779
+ return s;
780
+ }
781
+ setData(e) { this._data = e, this._data.lines = this.wordWrap(e.text, e.wordWrapWidth); }
782
+ hitTest(e) { if (null === this._data || this._data.points.length < 2)
783
+ return null; var t = this._data.points[0], i = this._data.points[1]; if (t.subtract(e).length() < 3)
784
+ return new a(a.CHANGEPOINT, 0); var r = i.x - this._textSizeCache.totalWidth / 2, n = i.y - this._textSizeCache.totalHeight / 2; return e.x >= r && e.x <= r + this._textSizeCache.totalWidth && e.y >= n && e.y <= n + this._textSizeCache.totalHeight ? new a(a.MOVEPOINT, { areaName: o.Text }) : null; }
785
+ fontStyle() { return (this._data.bold ? "bold " : "") + (this._data.italic ? "italic " : "") + this._data.fontSize + "px " + this._data.font; }
786
+ _drawImpl(e) { if (!(null === this._data || this._data.points.length < 2)) {
787
+ var t = this._data.points[0].clone(), i = this._data.points[1].clone();
788
+ e.lineCap = "butt", e.strokeStyle = this._data.bordercolor, e.lineWidth = this._data.linewidth, e.textBaseline = "bottom", e.font = this.fontStyle();
789
+ var r = this._data.fontSize * this._data.lines.length, n = this._data.wordWrapWidth || this._data.lines.reduce((function (t, i) { return Math.max(t, e.measureText(i).width); }), 0);
790
+ this._textSizeCache.textHeight = r, this._textSizeCache.textHeight = n;
791
+ var s = d.RoundRadius, a = d.TextMargins, o = n + 2 * a + 2 * s, l = r + 2 * a + 2 * s;
792
+ this._textSizeCache.totalWidth = o, this._textSizeCache.totalHeight = l;
793
+ var _ = i.x - o / 2, p = i.y - l / 2, f = 0, g = n + 2 * a > 2 * s, v = r + 2 * a > 2 * s;
794
+ e.textAlign = u() ? "right" : "left";
795
+ var w = c(e, n);
796
+ t.x > _ + o ? f = 20 : t.x > _ && (f = 10), t.y > p + l ? f += 2 : t.y > p && (f += 1), e.save(), e.translate(_, p), t.x -= _, t.y -= p, i.x -= _, i.y -= p, e.beginPath(), e.moveTo(s, 0), 10 === f ? g ? (e.lineTo(i.x - s, 0), e.lineTo(t.x, t.y), e.lineTo(i.x + s, 0), e.lineTo(o - s, 0)) : (e.lineTo(t.x, t.y), e.lineTo(o - s, 0)) : e.lineTo(o - s, 0), 20 === f ? (e.lineTo(t.x, t.y), e.lineTo(o, s)) : e.arcTo(o, 0, o, s, s), 21 === f ? v ? (e.lineTo(o, i.y - s), e.lineTo(t.x, t.y), e.lineTo(o, i.y + s), e.lineTo(o, l - s)) : (e.lineTo(t.x, t.y), e.lineTo(o, l - s)) : e.lineTo(o, l - s), 22 === f ? (e.lineTo(t.x, t.y), e.lineTo(o - s, l)) : e.arcTo(o, l, o - s, l, s), 12 === f ? g ? (e.lineTo(i.x + s, l), e.lineTo(t.x, t.y), e.lineTo(i.x - s, l), e.lineTo(s, l)) : (e.lineTo(t.x, t.y), e.lineTo(s, l)) : e.lineTo(s, l), 2 === f ? (e.lineTo(t.x, t.y), e.lineTo(0, l - s)) : e.arcTo(0, l, 0, l - s, s), 1 === f ? v ? (e.lineTo(0, i.y + s), e.lineTo(t.x, t.y), e.lineTo(0, i.y - s), e.lineTo(0, s)) : (e.lineTo(t.x, t.y), e.lineTo(0, s)) : e.lineTo(0, s), 0 === f ? (e.lineTo(t.x, t.y), e.lineTo(s, 0)) : e.arcTo(0, 0, s, 0, s), e.stroke(), e.fillStyle = h.generateColor(this._data.backcolor, this._data.transparency), e.fill(), e.fillStyle = this._data.color, p = s + a + this._data.fontSize, _ = s + a + w;
797
+ for (var x = 0; x < this._data.lines.length; x++)
798
+ e.fillText(this._data.lines[x], _, p), p += this._data.fontSize;
799
+ e.restore();
800
+ } }
801
+ }
802
+ t.CalloutPaneView = class extends s {
803
+ constructor(e, t) { super(e, t), this._textSizeCache = {}, this._calloutRenderer = new p(this._textSizeCache), this._renderer = null; }
804
+ _updateImpl() {
805
+ if (super._updateImpl(),
806
+ this._source._calculatePoint2(), this._renderer = null, this._points[0] && !(this._points.length < 2)) {
807
+ var e = this._source.properties(), t = { points: [] };
808
+ t.points.push(this._points[0]);
809
+ var i = this._points[1].clone();
810
+ i.x = this._points[0].x + this._source._barOffset * this._model.timeScale().barSpacing(), t.points.push(i), t.color = e.color.value(), t.linewidth = e.linewidth.value(), t.backcolor = e.backgroundColor.value(), t.transparency = e.transparency.value(), t.text = e.text.value(), t.font = e.font.value(), t.fontSize = e.fontsize.value(), t.bordercolor = e.bordercolor.value(), e.wordWrap && e.wordWrap.value() && (t.wordWrapWidth = e.wordWrapWidth.value()), t.bold = e.bold && e.bold.value(), t.italic = e.italic && e.italic.value(), this._calloutRenderer.setData(t);
811
+ var r = new l;
812
+ r.append(this._calloutRenderer);
813
+ var s = t.points[1], a = [].concat(t.points);
814
+ if (a.splice(a.length - 1, 1), r.append(this.createLineAnchor({ points: a }, 0)), t.wordWrapWidth) {
815
+ var o = new n(s.x + (t.wordWrapWidth >> 1) + d.RoundRadius + d.TextMargins, s.y);
816
+ o.data = 1, r.append(this.createLineAnchor({ points: [o] }, 1));
817
+ }
818
+ this._renderer = r;
819
+ }
820
+ }
821
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
822
+ };
823
+ }, BCbF: function (e, t, i) {
824
+ "use strict";
825
+ i.r(t), i.d(t, "PolygonRenderer", (function () { return u; }));
826
+ var r = i("f6yo"), n = i("GEp6"), s = i("jFln"), a = i("pJOz"), o = i("a7Ha"), l = i("VdBB"), h = i("Tmoa"), d = i("cPgM"), c = i("Zp/P");
827
+ class u extends d.ScaledPaneRenderer {
828
+ constructor(e) { super(), this._data = null, this._backHittest = new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND), this._points = [], this._hittest = e || new l.HitTestResult(l.HitTestResult.MOVEPOINT); }
829
+ setData(e) { this._data = e, this._points = e.points; }
830
+ hitTest(e) { if (null === this._data || void 0 !== this._data.mouseTouchable && !this._data.mouseTouchable)
831
+ return null; const t = Math.max(Object(c.interactionTolerance)().line, Math.ceil(this._data.linewidth / 2)), i = this._points.length; if (1 === i) {
832
+ return Object(r.pointInCircle)(e, this._points[0], t) ? this._hittest : null;
833
+ } for (let r = 1; r < i; r++) {
834
+ const i = this._points[r - 1], s = this._points[r];
835
+ if (Object(n.distanceToSegment)(i, s, e).distance <= t)
836
+ return this._hittest;
837
+ } if (this._data.filled && this._data.fillBackground && i > 0) {
838
+ const r = this._points[0], s = this._points[i - 1];
839
+ if (Object(n.distanceToSegment)(r, s, e).distance <= t)
840
+ return this._hittest;
841
+ } return this._data.filled && this._data.fillBackground && Object(r.pointInPolygon)(e, this._data.points) ? this._backHittest : null; }
842
+ _drawImpl(e, t) {
843
+ var i, r;
844
+ const n = this._points.length;
845
+ if (null === this._data || 0 === n)
846
+ return;
847
+ if (1 === n)
848
+ return void this._drawPoint(e, this._points[0], this._data.linewidth / 2, this._data.color);
849
+ e.beginPath();
850
+ const l = null !== (i = this._data.linecap) && void 0 !== i ? i : "butt";
851
+ e.lineCap = l, e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.lineJoin = null !== (r = this._data.linejoin) && void 0 !== r ? r : "miter", Object(s.setLineStyle)(e, this._data.linestyle);
852
+ const d = this._points[0];
853
+ e.moveTo(d.x, d.y);
854
+ for (const t of this._points)
855
+ e.lineTo(t.x, t.y);
856
+ if (this._data.filled && this._data.fillBackground && (e.fillStyle = Object(h.generateColor)(this._data.backcolor, this._data.transparency), e.fill()), this._data.filled && !this._data.skipClosePath && e.closePath(),
857
+ this._data.linewidth > 0 && e.stroke(), n > 1) {
858
+ if ("butt" !== l && (e.lineCap = "butt"), this._data.leftend === o.LineEnd.Arrow) {
859
+ const i = this._correctArrowPoints(this._points[1], this._points[0], e.lineWidth, l);
860
+ Object(a.drawArrow)(i[0], i[1], e, e.lineWidth, t.pixelRatio);
861
+ }
862
+ if (this._data.rightend === o.LineEnd.Arrow) {
863
+ const i = this._correctArrowPoints(this._points[n - 2], this._points[n - 1], e.lineWidth, l);
864
+ Object(a.drawArrow)(i[0], i[1], e, e.lineWidth, t.pixelRatio);
865
+ }
866
+ }
867
+ }
868
+ _drawPoint(e, t, i, r) { 0 !== i && (e.beginPath(), e.fillStyle = r, e.arc(t.x, t.y, i, 0, 2 * Math.PI, !0), e.fill(), e.closePath()); }
869
+ _correctArrowPoints(e, t, i, r) { const n = t.subtract(e), s = n.length(); if ("butt" === r || s < 1)
870
+ return [e, t]; const a = s + i / 2; return [e, n.scaled(a / s).add(e)]; }
871
+ }
872
+ }, BSCN: function (e, t, i) {
873
+ "use strict";
874
+ i.r(t), i.d(t, "VertLinePaneView", (function () { return d; }));
875
+ var r = i("aO4+"), n = i("Zy3/"), s = i("qgcf"), a = i("//lt"), o = i("z+cS"), l = i("aB9a");
876
+ const h = [a.PaneCursorType.HorizontalResize];
877
+ class d extends l.LineSourcePaneView {
878
+ constructor(e, t, i) { super(e, t), this._lineRenderer = new o.VerticalLineRenderer, this._labelRenderer = new s.TextRenderer, this._renderer = null, this._pane = i; }
879
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
880
+ _validatePriceScale() { return !0; }
881
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, 0 === this._points.length)
882
+ return; const e = this._source.properties().childs(), t = { x: this._points[0].x, color: e.linecolor.value(), linewidth: e.linewidth.value(), linestyle: e.linestyle.value() }; this._lineRenderer.setData(t); const i = new n.CompositeRenderer; i.append(this._lineRenderer); const s = this._pane.height(); if (e.showLabel.value() && e.text.value().length > 0 && this._source.model().paneForSource(this._source) === this._pane) {
883
+ let t = 0, n = 5, a = "center", o = "middle";
884
+ const l = this._points[0].x;
885
+ let h = 0;
886
+ switch (e.vertLabelsAlign.value()) {
887
+ case "top":
888
+ h = s;
889
+ break;
890
+ case "middle":
891
+ h = s / 2;
892
+ break;
893
+ case "bottom": h = 0;
894
+ }
895
+ if ("horizontal" === e.textOrientation.value()) {
896
+ switch (e.horzLabelsAlign.value()) {
897
+ case "left":
898
+ a = "right";
899
+ break;
900
+ case "right":
901
+ a = "left";
902
+ break;
903
+ case "center": a = "center";
904
+ }
905
+ switch (e.vertLabelsAlign.value()) {
906
+ case "top":
907
+ o = "bottom";
908
+ break;
909
+ case "middle":
910
+ o = "middle";
911
+ break;
912
+ case "bottom": o = "top";
913
+ }
914
+ }
915
+ else {
916
+ switch (t = -Math.PI / 2, n = 0, e.horzLabelsAlign.value()) {
917
+ case "left":
918
+ o = "bottom";
919
+ break;
920
+ case "right":
921
+ o = "top";
922
+ break;
923
+ case "center": o = "middle";
924
+ }
925
+ switch (e.vertLabelsAlign.value()) {
926
+ case "top":
927
+ a = "left";
928
+ break;
929
+ case "middle":
930
+ a = "center";
931
+ break;
932
+ case "bottom": a = "right";
933
+ }
934
+ }
935
+ const d = { points: [new r.Point(l, h)], text: e.text.value(), color: e.textcolor.value(), vertAlign: o, horzAlign: a, font: e.font.value(), offsetX: n, offsetY: 0, bold: e.bold.value(), italic: e.italic.value(), fontsize: e.fontsize.value(), forceTextAlign: !0, angle: t };
936
+ this._labelRenderer.setData(d), i.append(this._labelRenderer);
937
+ } if (1 === this._points.length) {
938
+ const e = new r.Point(this._points[0].x, s / 2);
939
+ e.data = 0, e.square = !0, i.append(this.createLineAnchor({ points: [e], pointsCursorType: h }, 0));
940
+ } this._renderer = i; }
941
+ }
942
+ }, C2CE: function (e, t, i) {
943
+ "use strict";
944
+ i.r(t), i.d(t, "PolylinePaneView", (function () { return a; }));
945
+ var r = i("BCbF"), n = i("Zy3/"), s = i("aB9a");
946
+ class a extends s.LineSourcePaneView {
947
+ constructor(e, t) {
948
+ super(e, t),
949
+ this._polygonRenderer = new r.PolygonRenderer(null), this._renderer = new n.CompositeRenderer;
950
+ }
951
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
952
+ _updateImpl() { super._updateImpl(), this._renderer.clear(); const e = this._source.properties().childs(), t = { points: this._points, color: e.linecolor.value(), linewidth: e.linewidth.value(), linestyle: e.linestyle.value(), filled: e.filled.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value() }; this._polygonRenderer.setData(t), this._renderer.append(this._polygonRenderer), this.addAnchors(this._renderer); }
953
+ }
954
+ }, CR3a: function (e, t, i) {
955
+ "use strict";
956
+ var r = i("NN6M").ParallelChannelRenderer, n = i("pJOz").TrendLineRenderer, s = i("cjIn").PaneRendererCachedImage, a = i("Zy3/").CompositeRenderer, o = i("Tmoa"), l = i("a7Ha").LineEnd, h = i("NCfL").LineToolPaneViewWithLevelledTextCache, d = i("xUGI");
957
+ class c extends d {
958
+ _selectStartPrice(e) { return e.points()[0].price; }
959
+ priceRange(e, t) { var i = e.points()[2], r = e.points()[0], n = this._calculatePriceRange(i, r, t); if (!this._calculateLogLevels(e))
960
+ return { price: n }; var s = e.priceScale(), a = e.ownerSource().firstValue(), o = s.priceToCoordinate(i.price, a), l = s.priceToCoordinate(r.price, a); return { price: n, coordinate: t ? l - o : o - l }; }
961
+ }
962
+ class u extends r {
963
+ _getColor() { return o.generateColor(this._data.backcolor, this._data.transparency, !0); }
964
+ }
965
+ t.FibChannelPaneView = class extends h {
966
+ constructor(e, t) { super(e, t), this._rendererCache = {}, this._baseLineRenderer = new n, this._lastLevelTrendRenderer = new n, this._renderer = null; }
967
+ getCacheRects(e, t) { super.getCacheRects(e, t); var i, r = this._source.properties(), n = r["level" + t], s = this._cacheState.preparedCells.cells[t - 1], a = this._floatPoints[0], o = this._floatPoints[1], l = this.norm.scaled(n.coeff.value()), h = a.add(l), d = o.add(l); switch (r.horzLabelsAlign.value()) {
968
+ case "left":
969
+ i = h;
970
+ break;
971
+ case "center":
972
+ (i = h.add(d).scaled(.5)).x += s.width / 2, i.x = Math.round(i.x);
973
+ break;
974
+ case "right": (i = d.clone()).x += s.width, i.x = Math.round(i.x);
975
+ } var c = { left: s.left, top: this._cache.topByRow(this._cacheState.row), width: s.width, height: this._cache.rowHeight(this._cacheState.row) }, u = { left: Math.round(i.x - c.width), top: Math.round(i.y), width: s.width, height: c.height }, _ = r.vertLabelsAlign.value(); return "middle" === _ && (u.top -= u.height / 2), "bottom" === _ && (u.top -= u.height), { cacheRect: c, targetRect: u }; }
976
+ _createCache(e) { return new c(this._source.properties().fibLevelsBasedOnLogScale, this._source.levelsCount(), e); }
977
+ _updateImpl() {
978
+ super._updateImpl(), this._renderer = null, 3 === this._floatPoints.length && 3 === this._source.points().length && (this.norm = this._floatPoints[2].subtract(this._floatPoints[0]));
979
+ var e = new a;
980
+ if (this._floatPoints.length < 2)
981
+ return this.addAnchors(e), void (this._renderer = e);
982
+ var t = this._source.properties(), i = this._floatPoints[0], r = this._floatPoints[1];
983
+ if (this._floatPoints.length < 3) {
984
+ var n = { points: [i, r], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.level1.color.value(), linewidth: t.levelsStyle.linewidth.value(), linestyle: t.levelsStyle.linestyle.value(), extendleft: t.extendLeft.value(), extendright: t.extendRight.value(),
985
+ leftend: l.Normal, rightend: l.Normal };
986
+ return this._baseLineRenderer.setData(n), e.append(this._baseLineRenderer), this.addAnchors(e), void (this._renderer = e);
987
+ }
988
+ for (var o = function (t, i, r) { var n = new s(this, d); e.append(n); }.bind(this), h = this._source.levelsCount(), d = 1; d < h; d++) {
989
+ if ((T = t["level" + d]).visible.value()) {
990
+ for (var c = null, _ = d + 1; _ <= h; _++) {
991
+ var p = t["level" + _];
992
+ if (p.visible.value()) {
993
+ c = p;
994
+ break;
995
+ }
996
+ }
997
+ if (!c)
998
+ break;
999
+ var f = this.norm.scaled(T.coeff.value()), g = i.add(f), v = r.add(f), w = this.norm.scaled(c.coeff.value()), x = i.add(w), m = r.add(w), y = {};
1000
+ y.points = [g, v, x, m], y.color = T.color.value(), y.width = this._model.timeScale().width(), y.height = this._source.priceScale().height(), y.linewidth = t.levelsStyle.linewidth.value(), y.linestyle = t.levelsStyle.linestyle.value(), y.extendleft = t.extendLeft.value(), y.extendright = t.extendRight.value(), y.backcolor = T.color.value(), y.transparency = t.transparency.value(), y.skipTopLine = !0, y.fillBackground = t.fillBackground.value(), y.hittestOnBackground = !0;
1001
+ var b = new u;
1002
+ b.setData(y), e.append(b), (t.showCoeffs.value() || t.showPrices.value()) && o(g, v, d);
1003
+ }
1004
+ }
1005
+ var R = null;
1006
+ for (d = h; d >= 1; d--) {
1007
+ var T;
1008
+ if ((T = t["level" + d]).visible.value()) {
1009
+ R = d;
1010
+ break;
1011
+ }
1012
+ }
1013
+ if (null != R && (T = t["level" + R]).visible.value()) {
1014
+ f = this.norm.scaled(T.coeff.value()), n = { points: [g = i.add(f), v = r.add(f)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: T.color.value(), linewidth: t.levelsStyle.linewidth.value(), linestyle: t.levelsStyle.linestyle.value(), extendleft: t.extendLeft.value(), extendright: t.extendRight.value(), leftend: l.Normal, rightend: l.Normal };
1015
+ this._lastLevelTrendRenderer.setData(n), e.append(this._lastLevelTrendRenderer), (t.showCoeffs.value() || t.showPrices.value()) && o(g, v, R - 1);
1016
+ }
1017
+ this.addAnchors(e), this._renderer = e;
1018
+ }
1019
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1020
+ };
1021
+ }, D4q4: function (e, t, i) {
1022
+ "use strict";
1023
+ var r = i("aB9a").LineSourcePaneView, n = i("Zy3/").CompositeRenderer, s = i("/S7V").TriangleRenderer;
1024
+ t.TrianglePaneView = class extends r {
1025
+ constructor(e, t) { super(e, t), this._triangleRenderer = new s, this._renderer = null; }
1026
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1027
+ _updateImpl() { super._updateImpl(), this._renderer = null; var e = {}; e.points = this._points, e.color = this._source.properties().color.value(), e.linewidth = this._source.properties().linewidth.value(), e.backcolor = this._source.properties().backgroundColor.value(), e.fillBackground = this._source.properties().fillBackground.value(), e.transparency = this._source.properties().transparency.value(), this._triangleRenderer.setData(e); var t = new n; t.append(this._triangleRenderer), this.addAnchors(t), this._renderer = t; }
1028
+ };
1029
+ }, "Dz+H": function (e, t, i) {
1030
+ "use strict";
1031
+ i.r(t);
1032
+ var r = i("aB9a"), n = i("Zy3/"), s = i("vq8G"), a = i("VdBB"), o = i("Eyy1"), l = i("qgcf"), h = i("Tmoa"), d = i("Ialn"), c = i("ikwP"), u = i("c44N"), _ = i("aO4+"), p = i("f6yo");
1033
+ class f {
1034
+ constructor(e) { this._data = null, this._sourceCanvas = null, this._translate = new _.Point(0, 0), this._renderParams = e; }
1035
+ destroy() { var e; null === (e = this._sourceCanvas) || void 0 === e || e.remove(); }
1036
+ renderParams() { return this._renderParams; }
1037
+ update(e) {
1038
+ var t, i;
1039
+ t = this._data, i = e,
1040
+ (null === t || t.markerColor !== i.markerColor || t.borderColor !== i.borderColor || t.width !== i.width || t.height !== i.height) && this._createSource(e.width, e.height, e.markerColor), this._data = e;
1041
+ }
1042
+ drawOn(e) { const t = Object(o.ensureNotNull)(this._data), i = new _.Point(Math.round(t.point.x), Math.round(t.point.y)).add(this._translate); e.drawImage(Object(o.ensureNotNull)(this._sourceCanvas), Math.round(i.x * this._renderParams.pixelRatio), Math.round(i.y * this._renderParams.pixelRatio), Math.round(t.width * this._renderParams.pixelRatio), Math.round(t.height * this._renderParams.pixelRatio)); }
1043
+ hasPoint(e) { const t = Object(o.ensureNotNull)(this._data), i = t.point.add(this._translate), r = new _.Point(t.point.x - this._translate.x, t.point.y); return Object(p.pointInBox)(e, Object(_.box)(i, r)); }
1044
+ _createSource(e, t, i) { this._sourceCanvas = Object(c.createDisconnectedCanvas)(document, new c.Size(e, t), this._renderParams.pixelRatio), this._translate = new _.Point(-e / 2, .5 - t), this._translate.x % 1 == 0 && (this._translate = new _.Point(this._translate.x + .5, this._translate.y)); const r = Object(o.ensureNotNull)(this._sourceCanvas.getContext("2d")); Object(c.drawScaled)(r, this._renderParams.pixelRatio, () => { const n = .6 * e; r.fillStyle = i, r.beginPath(), r.moveTo(e / 2, t), r.quadraticCurveTo(e, e / 1.15, e, e / 2), r.arc(e / 2, e / 2, e / 2, 0, Math.PI, !0), r.quadraticCurveTo(0, e / 1.15, e / 2, t), r.fill(), r.globalCompositeOperation = "destination-out", r.beginPath(), r.moveTo((e - n) / 2, e / 2), r.arc(e / 2, e / 2, n / 2, 0, 2 * Math.PI), r.fill(); }); }
1045
+ }
1046
+ class g {
1047
+ constructor() { this._source = null, this._data = null; }
1048
+ setData(e) { this._data = e, this._source && this._source.update(e); }
1049
+ draw(e, t) { var i; if (null === this._data)
1050
+ return; null !== this._source && Object(u.areEqualPaneRenderParams)(this._source.renderParams(), t) || (null === (i = this._source) || void 0 === i || i.destroy(), this._source = new f(t), this._source.update(this._data)); this._source.drawOn(e), this._data.tooltipVisible && this._drawTooltipOn(e, t); }
1051
+ hitTest(e) { return null !== this._data && null !== this._source && this._source.hasPoint(e) ? new a.HitTestResult(a.HitTestResult.MOVEPOINT) : null; }
1052
+ _drawTooltipOn(e, t) {
1053
+ e.save(), e.translate(.5, .5);
1054
+ const i = Object(o.ensureNotNull)(this._data), r = String(i.text).replace(/^\s+|\s+$/g, "");
1055
+ e.font = (i.bold ? "bold " : "") + (i.italic ? "italic " : "") + i.fontSize + "px " + i.font;
1056
+ const n = i.tooltipWidth - 2 * i.tooltipPadding, s = Object(l.wordWrap)(r, e.font, n), a = i.point, u = i.tooltipLineSpacing;
1057
+ let _ = i.tooltipWidth, p = s.length * i.fontSize + 2 * i.tooltipPadding;
1058
+ s.length > 1 && (p += (s.length - 1) * u);
1059
+ let f = Math.round(a.x - _ / 2), g = Math.round(a.y - i.height - p - 8);
1060
+ const v = a.x < 20 || a.x + 20 > i.vpWidth;
1061
+ let w = v ? null : "top", x = v ? 0 : Math.round(a.x);
1062
+ g < 10 ? g = a.y + 13 : w = "bottom", f < 10 ? f += Math.abs(f - 10) : f + _ + 10 > i.vpWidth && (f -= f + _ + 10 - i.vpWidth), e.fillStyle = Object(h.generateColor)(i.backgroundColor, i.backgroundTransparency), e.strokeStyle = i.borderColor, e.lineWidth = 1, e.beginPath();
1063
+ const m = Math.round(f * t.pixelRatio), y = Math.round(g * t.pixelRatio);
1064
+ x = Math.round(x * t.pixelRatio), p = Math.round(p * t.pixelRatio), _ = Math.round(_ * t.pixelRatio);
1065
+ const b = Math.round(7 * t.pixelRatio);
1066
+ e.moveTo(m, y), v || "top" !== w || (e.lineTo(x - b, y), e.lineTo(x, y - b), e.lineTo(x + b, y)), e.lineTo(m + _, y), e.lineTo(m + _, y + p),
1067
+ v || "bottom" !== w || (e.lineTo(x + b, y + p), e.lineTo(x, y + p + b), e.lineTo(x - b, y + p)), e.lineTo(m, y + p), e.closePath(), e.fill(), e.stroke(), e.textBaseline = "middle", e.fillStyle = i.textColor, e.textAlign = Object(d.isRtl)() ? "right" : "left";
1068
+ const R = Object(c.calcTextHorizontalShift)(e, n), T = f + i.tooltipPadding + R;
1069
+ let S = g + i.tooltipPadding + i.fontSize / 2;
1070
+ Object(c.drawScaled)(e, t.pixelRatio, () => { for (let t = 0; t < s.length; t++)
1071
+ e.fillText(s[t].replace(/^\s+/, ""), T, S), S += i.fontSize + u; }), e.restore();
1072
+ }
1073
+ }
1074
+ i.d(t, "NotePaneView", (function () { return v; }));
1075
+ class v extends r.LineSourcePaneView {
1076
+ constructor(e, t) { super(e, t), this._renderer = null, this._noteRenderer = new g; }
1077
+ isLabelVisible() { return this.isHoveredSource() || this.isSelectedSource(); }
1078
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1079
+ _updateImpl() { super._updateImpl(), this._renderer = null; const e = this._getSource(), t = this._source.isFixed() ? e.fixedPoints() : this._points; if (t.length < 1)
1080
+ return; const i = new n.CompositeRenderer, r = this.isLabelVisible(), o = this._source.properties().childs(), l = { text: o.text.value(), bold: o.bold.value(), italic: o.italic.value(), font: o.font.value(), fontSize: o.fontSize.value(), backgroundColor: o.backgroundColor.value(), backgroundTransparency: o.backgroundTransparency.value(), borderColor: o.borderColor.value(), textColor: o.textColor.value(), markerColor: o.markerColor.value(), point: t[0], width: 24, height: 32, tooltipVisible: r, vpWidth: this._model.timeScale().width(), tooltipWidth: e.getTooltipWidth(), tooltipPadding: e.getTooltipPadding(), tooltipLineSpacing: e.getTooltipLineSpacing() }; this._noteRenderer.setData(l), i.append(this._noteRenderer), i.append(new s.SelectionRenderer({ points: t, bgColors: this._lineAnchorColors(t), visible: this.areAnchorsVisible(), barSpacing: this._model.timeScale().barSpacing(), hittestResult: a.HitTestResult.MOVEPOINT })), this._renderer = i; }
1081
+ }
1082
+ }, EBrf: function (e, t, i) {
1083
+ "use strict";
1084
+ i.r(t), i.d(t, "splitThousands", (function () { return n; }));
1085
+ var r = i("ivNn");
1086
+ function n(e, t = "&nbsp;") { let i = e + ""; -1 !== i.indexOf("e") && (i = function (e) { return Object(r.fixComputationError)(e).toFixed(10).replace(/\.?0+$/, ""); }(Number(e))); const n = i.split("."); return n[0].replace(/\B(?=(\d{3})+(?!\d))/g, t) + (n[1] ? "." + n[1] : ""); }
1087
+ }, FVHe: function (e, t, i) {
1088
+ "use strict";
1089
+ i.r(t), i.d(t, "TrendLineStatsCache", (function () { return f; }));
1090
+ var r = i("Eyy1"), n = i("aO4+"), s = i("txPx"), a = i("5/lF"), o = i("zDbI"), l = i("8xAY"), h = i("ikwP"), d = l.LabelSettings.fontSize, c = l.LabelSettings.lineSpacing, u = l.LabelSettings.paddingTopBottom;
1091
+ const _ = Object(s.getLogger)("Chart.LineToolTrendLine");
1092
+ function p(e, t) { return !(!e && !t) && (!(!e || t) || (!(e || !t) || (e.index !== t.index || e.price !== t.price))); }
1093
+ class f {
1094
+ constructor(e) { this._sourcesToRow = new Map, this._rowsToSources = new Map, this._currentWidth = 400, this._actualCapacity = 1, this._currentSymbol = "", this._params = e; const t = c, i = d + t; this._maxRowHeight = 3 * i - t + 2 * u + 2, this._recreateCanvas(); }
1095
+ destroy() { delete this._canvas, delete this._ctx; }
1096
+ canvas() { return this._canvas; }
1097
+ topByRow(e) { return e * this._maxRowHeight; }
1098
+ rowHeight(e) {
1099
+ const t = Object(r.ensureDefined)(this._rowsToSources.get(e)), i = Object(r.ensureDefined)(this._sourcesToRow.get(t)).effectiveState;
1100
+ return null !== i ? i.realRowHeight : this._maxRowHeight;
1101
+ }
1102
+ rowWidth(e) { const t = Object(r.ensureDefined)(this._rowsToSources.get(e)); return Object(r.ensureDefined)(this._sourcesToRow.get(t)).width; }
1103
+ currentWidth() { return this._currentWidth; }
1104
+ updateSource(e, t) { const i = e.properties().symbol.value(); this._currentSymbol !== i && (_.logDebug("TrendLineCache. Clearing canvas because of changing symbol from " + this._currentSymbol + " to " + i), this._currentSymbol = i, this._sourcesToRow.clear(), this._rowsToSources.clear()); const r = e.id(); let n = this._sourcesToRow.get(r); if (void 0 === n) {
1105
+ const e = this._findEmptyRow(r);
1106
+ n = { effectiveState: null, rowIndex: e, width: 0 }, this._sourcesToRow.set(r, n), this._rowsToSources.set(e, r);
1107
+ } const s = n.effectiveState, a = this._effectiveState(e); if (!this._effectiveStatesEquals(s, a)) {
1108
+ const e = t();
1109
+ this._repaintSource(r, n.rowIndex, e), n.effectiveState = a;
1110
+ } return n; }
1111
+ _findEmptyRow(e) { let t = 0; for (; void 0 !== this._rowsToSources.get(t);)
1112
+ t++; return this._rowsToSources.set(t, e), t >= this._actualCapacity && (this._actualCapacity++, this._recreateCanvas()), t; }
1113
+ _effectiveState(e) { const t = e.properties(), i = t.showBarsRange.value(), n = t.showDateTimeRange.value(), s = t.showDistance.value(), a = t.showPriceRange.value(), o = t.showAngle.value(); let l = 0; (i || n || s) && l++, o && l++, a && l++; const h = (d + c) * l - c + 2 * u + 2; return { p1: Object.assign({}, e.points()[0]), p2: Object.assign({}, e.points()[1]), props: e.properties(), showBars: i, showTimeRange: n, showDistance: s, showPriceRange: a, showAngle: o, dark: e.model().isDark(), priceRange: Object(r.ensureNotNull)(Object(r.ensureNotNull)(e.priceScale()).priceRange()).state(), barSpacing: e.model().timeScale().barSpacing(), realRowHeight: h }; }
1114
+ _effectiveStatesEquals(e, t) { if (null !== e && null === t)
1115
+ return !1; if (null === e && null !== t)
1116
+ return !1; const i = Object(r.ensureNotNull)(e), n = Object(r.ensureNotNull)(t); if (p(i.p1, n.p1))
1117
+ return !1; if (p(i.p2, n.p2))
1118
+ return !1; if (i.dark !== n.dark)
1119
+ return !1; if (i.showBars !== n.showBars)
1120
+ return !1; if (i.showTimeRange !== n.showTimeRange)
1121
+ return !1; if (i.showDistance !== n.showDistance)
1122
+ return !1; if (i.showPriceRange !== n.showPriceRange)
1123
+ return !1; if (i.showAngle !== n.showAngle)
1124
+ return !1; if (i.showAngle || i.showDistance) {
1125
+ if (i.priceRange.min !== n.priceRange.min)
1126
+ return !1;
1127
+ if (i.priceRange.max !== n.priceRange.max)
1128
+ return !1;
1129
+ if (i.barSpacing !== n.barSpacing)
1130
+ return !1;
1131
+ } return !0; }
1132
+ _repaintSource(e, t, i) { i.points[0] = new n.Point(0, 0), i.offsetX = 0, i.offsetY = 0, delete i.horzAlign, delete i.vertAlign, Object(h.drawScaled)(this._ctx, this._params.pixelRatio, () => { this._ctx.translate(.5, this.topByRow(t) + .5), this._ctx.clearRect(0, 0, this._currentWidth, this._maxRowHeight); const n = new a.TrendLineStatsRenderer(i, { widths: [] }).draw(this._ctx, this._params); Object(r.ensureDefined)(this._sourcesToRow.get(e)).width = n.width; }); }
1133
+ _recreateCanvas() {
1134
+ this._canvas = Object(r.ensureNotNull)(document.createElement("canvas")), this._canvas.width = this._currentWidth * this._params.pixelRatio, this._canvas.height = this._maxRowHeight * this._actualCapacity * this._params.pixelRatio, this._ctx = Object(r.ensureNotNull)(this._canvas.getContext("2d")), this._ctx.font = `${d}px ${o.CHART_FONT_FAMILY}`, this._sourcesToRow.clear(), this._rowsToSources.clear();
1135
+ }
1136
+ }
1137
+ }, Fx2Q: function (e, t, i) {
1138
+ "use strict";
1139
+ i.r(t), i.d(t, "LineToolHeadAndShouldersPaneView", (function () { return p; }));
1140
+ var r = i("hBTJ"), n = i("YFKU"), s = i("8Uy/"), a = i("pJOz"), o = i("/S7V"), l = i("qgcf"), h = i("Zy3/"), d = i("a7Ha"), c = i("BCbF"), u = i("aB9a");
1141
+ const _ = { leftShoulder: Object(n.t)("Left Shoulder"), rightShoulder: Object(n.t)("Right Shoulder"), head: Object(n.t)("Head") };
1142
+ class p extends u.LineSourcePaneView {
1143
+ constructor() { super(...arguments), this._trendLineRenderer = new a.TrendLineRenderer, this._triangleRendererPoints234 = new o.TriangleRenderer, this._intersect1Renderer = new o.TriangleRenderer, this._intersect2Renderer = new o.TriangleRenderer, this._polyLineRenderer = new c.PolygonRenderer(null), this._leftShoulderLabelRenderer = new l.TextRenderer, this._headLabelRenderer = new l.TextRenderer, this._rightShoulderLabelRenderer = new l.TextRenderer, this._renderer = null; }
1144
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1145
+ _updateImpl() {
1146
+ let e, t;
1147
+ super._updateImpl(), this._renderer = null;
1148
+ const [i, a, o, l, c, u, p] = this._points;
1149
+ if (this._points.length >= 5) {
1150
+ const n = Object(r.intersectLineSegments)(o, c, i, a);
1151
+ if (null !== n) {
1152
+ const t = c.subtract(o);
1153
+ e = o.add(t.scaled(n));
1154
+ }
1155
+ if (7 === this._points.length) {
1156
+ const e = Object(r.intersectLineSegments)(o, c, u, p);
1157
+ if (null !== e) {
1158
+ const i = c.subtract(o);
1159
+ t = o.add(i.scaled(e));
1160
+ }
1161
+ }
1162
+ }
1163
+ if (this._points.length < 2)
1164
+ return;
1165
+ const f = this._source.properties().childs(), g = new h.CompositeRenderer, v = (e, t) => ({ points: [e], text: Object(n.t)(t), color: f.textcolor.value(), horzAlign: "center", vertAlign: "middle", font: f.font.value(), offsetX: 0, offsetY: 0, bold: f.bold && f.bold.value(), italic: f.italic && f.italic.value(), fontsize: f.fontsize.value(), backgroundColor: f.color.value(), backgroundRoundRect: 4 }), w = (e, t, i) => ({ points: [e, t, i], color: "rgba(0, 0, 0, 0)", linewidth: 0, backcolor: f.backgroundColor.value(), fillBackground: f.fillBackground.value(), transparency: f.transparency.value() }), x = { points: this._points, color: f.color.value(), linewidth: f.linewidth.value(), linestyle: s.LINESTYLE_SOLID, backcolor: "rgba(0, 0, 0, 0)", fillBackground: !1, filled: !1 };
1166
+ if (this._polyLineRenderer.setData(x), g.append(this._polyLineRenderer), this._points.length >= 5) {
1167
+ let i, r, n = !1, a = !1;
1168
+ e ? i = e : (i = o, n = !0), t ? r = t : (r = c, a = !0);
1169
+ const h = { points: [i, r], color: f.color.value(), linewidth: f.linewidth.value(), linestyle: s.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: d.LineEnd.Normal, rightend: d.LineEnd.Normal };
1170
+ h.extendleft = n, h.extendright = a, this._trendLineRenderer.setData(h), g.append(this._trendLineRenderer);
1171
+ const u = w(o, l, c);
1172
+ this._triangleRendererPoints234.setData(u), g.append(this._triangleRendererPoints234);
1173
+ }
1174
+ if (e) {
1175
+ const t = w(e, a, o);
1176
+ this._intersect1Renderer.setData(t), g.append(this._intersect1Renderer);
1177
+ }
1178
+ if (t) {
1179
+ const e = w(c, u, t);
1180
+ this._intersect2Renderer.setData(e), g.append(this._intersect2Renderer);
1181
+ }
1182
+ if (this._points.length >= 2) {
1183
+ const e = v(a, _.leftShoulder);
1184
+ a.y < i.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._leftShoulderLabelRenderer.setData(e), g.append(this._leftShoulderLabelRenderer);
1185
+ }
1186
+ if (this._points.length >= 4) {
1187
+ const e = v(l, _.head);
1188
+ l.y < o.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5),
1189
+ this._headLabelRenderer.setData(e), g.append(this._headLabelRenderer);
1190
+ }
1191
+ if (this._points.length >= 6) {
1192
+ const e = v(u, _.rightShoulder);
1193
+ u.y < c.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._rightShoulderLabelRenderer.setData(e), g.append(this._rightShoulderLabelRenderer);
1194
+ }
1195
+ this.addAnchors(g), this._renderer = g;
1196
+ }
1197
+ }
1198
+ }, FzRY: function (e, t, i) {
1199
+ "use strict";
1200
+ var r = i("aO4+").Point, n = i("pJOz").TrendLineRenderer, s = i("cjIn").PaneRendererCachedImage, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("zXvd").NumericFormatter, h = i("QA6D").EllipseRendererSimple, d = i("a7Ha").LineEnd, c = i("NCfL").LineToolPaneViewWithLevelledTextCache;
1201
+ t.FibCirclesPaneView = class extends c {
1202
+ constructor(e, t) { super(e, t), this._rendererCache = {}, this._numericFormatter = new l, this._trendLineRenderer = new n, this._renderer = null; }
1203
+ getCacheRects(e, t) { super.getCacheRects(e, t); var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1]; if (i) {
1204
+ var r = this._levels[t], n = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width, height: this._cache.rowHeight(this._cacheState.row) };
1205
+ return { cacheRect: n, targetRect: { left: Math.round(r.labelPoint.x - n.width), top: Math.round(r.labelPoint.y - n.height / 2), width: i.width, height: n.height } };
1206
+ } }
1207
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
1208
+ var e = this._points[0], t = this._points[1];
1209
+ this._center = e.add(t).scaled(.5);
1210
+ var i = Math.abs(t.x - e.x), n = Math.abs(t.y - e.y);
1211
+ this._levels = [];
1212
+ for (var l = this._source.properties(), c = this._source.levelsCount(), u = 1; u <= c; u++) {
1213
+ var _ = l["level" + u];
1214
+ if (_.visible.value()) {
1215
+ var p = _.coeff.value(), f = _.color.value(), g = [];
1216
+ g.push(new r(this._center.x - .5 * i * p, this._center.y - .5 * n * p)), g.push(new r(this._center.x + .5 * i * p, this._center.y + .5 * n * p));
1217
+ var v = new r(this._center.x, this._center.y + .5 * n * p);
1218
+ this._levels.push({ color: f, points: g, labelPoint: v, linewidth: _.linewidth.value(), linestyle: _.linestyle.value(), index: u });
1219
+ }
1220
+ }
1221
+ if (!(this._points.length < 2)) {
1222
+ var w = new o, x = l.fillBackground.value(), m = l.transparency.value();
1223
+ for (u = 0; u < this._levels.length; u++) {
1224
+ var y = this._levels[u], b = {};
1225
+ b.points = y.points, b.color = y.color, b.linewidth = y.linewidth, b.backcolor = y.color, u > 0 && (b.wholePoints = this._levels[u - 1].points), b.fillBackground = x, b.transparency = m;
1226
+ var R = new a(a.MOVEPOINT, null, y.index);
1227
+ if (w.append(new h(b, R)), l.showCoeffs.value()) {
1228
+ var T = new s(this, u);
1229
+ w.append(T);
1230
+ }
1231
+ }
1232
+ if (l.trendline.visible.value()) {
1233
+ var S = { points: [this._points[0], this._points[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: l.trendline.color.value(), linewidth: l.trendline.linewidth.value(), linestyle: l.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
1234
+ this._trendLineRenderer.setData(S), w.append(this._trendLineRenderer);
1235
+ }
1236
+ this.addAnchors(w), this._renderer = w;
1237
+ }
1238
+ } }
1239
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1240
+ };
1241
+ }, "GS+0": function (e, t, i) {
1242
+ "use strict";
1243
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("z+cS").VerticalLineRenderer, a = i("pJOz").TrendLineRenderer, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd;
1244
+ t.LineToolCircleLinesPaneView = class extends n {
1245
+ constructor(e, t) { super(e, t), this._lines = [], this._trendRenderer = new a, this._renderer = null; }
1246
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2)) {
1247
+ var e = this._model.timeScale();
1248
+ if (this._source.priceScale() && !this._source.priceScale().isEmpty() && !e.isEmpty()) {
1249
+ var t = this._source.points()[0], i = this._source.points()[1], n = i ? i.index - t.index : 1;
1250
+ if (this._lines = [], 0 !== n) {
1251
+ var a = e.visibleBarsStrictRange();
1252
+ if (n > 0)
1253
+ for (var d = t.index; d <= a.lastBar(); d += n)
1254
+ this._lines.push({ x: e.indexToCoordinate(d) });
1255
+ else
1256
+ for (d = t.index; d >= a.firstBar(); d += n)
1257
+ this._lines.push({ x: e.indexToCoordinate(d) });
1258
+ if (!(this._points.length < 2)) {
1259
+ var c = new l, u = this._source.properties(), _ = { points: [t, i], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: u.trendline.color.value(), linewidth: u.trendline.linewidth.value(), linestyle: u.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
1260
+ this._trendRenderer.setData(_), c.append(this._trendRenderer);
1261
+ var p = this._model.timeScale().width(), f = this._source.priceScale().height();
1262
+ for (d = 0; d < this._lines.length; d++) {
1263
+ var g = { width: p, height: f, x: this._lines[d].x, color: u.linecolor.value(), linewidth: u.linewidth.value(), linestyle: u.linestyle.value() }, v = new s;
1264
+ v.setData(g), c.append(v);
1265
+ }
1266
+ if (2 === this._source.points().length) {
1267
+ var w = [].concat(this._points);
1268
+ c.append(this.createLineAnchor({ points: w }, 0));
1269
+ }
1270
+ else
1271
+ c.append(this.createLineAnchor({ points: [new r(this._points[0].x, this._source.priceScale().height() / 2)], hittestResult: o.MOVEPOINT }, 1));
1272
+ this._renderer = c;
1273
+ }
1274
+ }
1275
+ }
1276
+ } }
1277
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1278
+ };
1279
+ }, GW0y: function (e, t, i) {
1280
+ "use strict";
1281
+ i.r(t), i.d(t, "RectanglePaneView", (function () { return d; }));
1282
+ var r = i("aO4+"), n = i("zDbI"), s = i("IjC5"), a = i("Zy3/"), o = i("qgcf"), l = i("aB9a"), h = i("//lt");
1283
+ class d extends l.LineSourcePaneView {
1284
+ constructor(e, t) { super(e, t), this._rectangleRenderer = new s.RectangleRenderer, this._textRenderer = new o.TextRenderer, this._renderer = null; }
1285
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1286
+ _updateImpl() {
1287
+ if (super._updateImpl(), this._renderer = null, this._points.length < 2)
1288
+ return;
1289
+ const e = this._getSource().properties().childs(), t = { points: this._points, color: e.color.value(), linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value(), extendLeft: e.extendLeft.value(), extendRight: e.extendRight.value(), includeRightEdge: !0 };
1290
+ this._rectangleRenderer.setData(t);
1291
+ const i = new a.CompositeRenderer;
1292
+ i.append(this._rectangleRenderer);
1293
+ const s = this._points[0], o = this._points[1];
1294
+ if (e.showLabel.value()) {
1295
+ const t = Math.min(s.x, o.x), a = Math.max(s.x, o.x), l = Math.min(s.y, o.y), h = Math.max(s.y, o.y);
1296
+ let d, c, u, _;
1297
+ const p = e.fontSize.value() / 3;
1298
+ let f, g, v = 0;
1299
+ switch (e.vertLabelsAlign.value()) {
1300
+ case "middle":
1301
+ _ = (l + h) / 2,
1302
+ c = "middle", v = p;
1303
+ break;
1304
+ case "top":
1305
+ _ = h, c = "top";
1306
+ break;
1307
+ case "bottom": _ = l, c = "bottom";
1308
+ }
1309
+ switch (e.horzLabelsAlign.value()) {
1310
+ case "center":
1311
+ u = (t + a) / 2, d = "center";
1312
+ break;
1313
+ case "left":
1314
+ u = t, d = "left";
1315
+ break;
1316
+ case "right": u = a, d = "right";
1317
+ }
1318
+ "middle" === c && (f = a - t - 2 * v, g = h - l);
1319
+ const w = { points: [new r.Point(u, _)], text: e.text.value(), fontSize: e.fontSize.value(), font: n.CHART_FONT_FAMILY, bold: e.bold.value(), italic: e.italic.value(), horzAlign: d, vertAlign: c, color: e.textColor.value(), wordWrapWidth: f, maxHeight: g, offsetX: 0, offsetY: 0, boxPaddingVert: p, boxPaddingHorz: v, forceTextAlign: !0 };
1320
+ this._textRenderer.setData(w), i.append(this._textRenderer);
1321
+ }
1322
+ this._addAnchors(s, o, i), this._renderer = i;
1323
+ }
1324
+ _addAnchors(e, t, i) { const n = new r.Point(e.x, t.y); n.data = 2; const s = new r.Point(t.x, e.y); s.data = 3; const a = new r.Point(e.x, .5 * (e.y + t.y)); a.data = 4; const o = new r.Point(t.x, .5 * (e.y + t.y)); o.data = 5; const l = new r.Point(.5 * (e.x + t.x), e.y); l.data = 6; const d = new r.Point(.5 * (e.x + t.x), t.y); d.data = 7, [a, o, l, d].forEach(e => e.square = !0); const c = e.x - t.x, u = e.y - t.y, _ = Math.sign(c * u), p = [_ < 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, _ < 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, _ > 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, _ > 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, h.PaneCursorType.HorizontalResize, h.PaneCursorType.HorizontalResize, h.PaneCursorType.VerticalResize, h.PaneCursorType.VerticalResize]; i.append(this.createLineAnchor({ points: [e, t, n, s, a, o, l, d], pointsCursorType: p }, 0)); }
1325
+ }
1326
+ }, GzSs: function (e, t, i) {
1327
+ "use strict";
1328
+ var r = i("aB9a").LineSourcePaneView, n = i("jkoZ"), s = i("VdBB").HitTestResult, a = i("EBrf").splitThousands, o = i("Ialn"), l = i("2uTr").appendEllipsis, h = i("cPgM").ScaledPaneRenderer;
1329
+ class d extends h {
1330
+ constructor(e, t) { super(), this._data = null, this._cache = e, this._adapter = t; }
1331
+ setData(e) { this._data = e; }
1332
+ _height() { return Math.max(20, 1 + Math.max(n.fontHeight(this._adapter.getBodyFont()), n.fontHeight(this._adapter.getQuantityFont()))); }
1333
+ _bodyWidth(e) { if (0 === this._adapter.getText().length)
1334
+ return 0; e.save(), e.font = this._adapter.getBodyFont(); var t = e.measureText(this._adapter.getText()).width; return e.restore(), Math.round(10 + t); }
1335
+ _getQuantity() { var e = this._adapter.getQuantity(); return isNaN(e) ? e : a(this._adapter.getQuantity(), " "); }
1336
+ _quantityWidth(e) { if (0 === this._getQuantity().length)
1337
+ return 0; e.save(), e.font = this._adapter.getQuantityFont(); var t = e.measureText(this._getQuantity()).width; return e.restore(), Math.round(Math.max(this._height(), 10 + t)); }
1338
+ _reverseButtonWidth() { return this._adapter.isOnReverseCallbackPresent() ? this._height() : 0; }
1339
+ _closeButtonWidth() { return this._adapter.isOnCloseCallbackPresent() ? this._height() : 0; }
1340
+ _drawLines(e, t, i, r, n) { e.save(), e.strokeStyle = this._adapter.getLineColor(), e.lineStyle = this._adapter.getLineStyle(), e.lineWidth = this._adapter.getLineWidth(), CanvasEx.drawLine(e, i, r, n, r), this._adapter.getExtendLeft() && CanvasEx.drawLine(e, 0, r, t, r), e.restore(); }
1341
+ _drawBody(e, t, i) {
1342
+ e.strokeStyle = this._adapter.getBodyBorderColor(), e.fillStyle = this._adapter.getBodyBackgroundColor();
1343
+ var r = this._bodyWidth(e), n = this._height();
1344
+ e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n);
1345
+ }
1346
+ _drawBodyText(e, t, i) { e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getBodyFont(), e.fillStyle = this._adapter.getBodyTextColor(); var r = t + this._bodyWidth(e) / 2, n = i + this._height() / 2; e.fillText(this._adapter.getText(), r, n), e.restore(); }
1347
+ _drawQuantity(e, t, i) { e.strokeStyle = this._adapter.getQuantityBorderColor(), e.fillStyle = this._adapter.getQuantityBackgroundColor(); var r = this._quantityWidth(e), n = this._height(); e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n); }
1348
+ _drawQuantityText(e, t, i) { e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getQuantityFont(), e.fillStyle = this._adapter.getQuantityTextColor(); var r = t + this._quantityWidth(e) / 2, n = i + this._height() / 2; e.fillText(o.startWithLTR(this._getQuantity() + ""), r, n), e.restore(); }
1349
+ _drawReverseButton(e, t, i) { e.save(), e.strokeStyle = this._adapter.getReverseButtonBorderColor(), e.fillStyle = this._adapter.getReverseButtonBackgroundColor(); var r = this._reverseButtonWidth(), n = this._height(); e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n), e.strokeStyle = this._adapter.getReverseButtonIconColor(); var s = function (e, t) { CanvasEx.setLineStyle(e, CanvasEx.LINESTYLE_SOLID), CanvasEx.drawLine(e, 0, 0, 0, t), CanvasEx.drawLine(e, -1, 1, 1, 1), CanvasEx.drawLine(e, -2, 2, 2, 2); }, a = t + Math.round((this._reverseButtonWidth() - 6) / 2), o = i + 5; e.save(), e.translate(a, o), s(e, 10), e.translate(6, 10), e.rotate(Math.PI), s(e, 10), e.restore(), this._adapter._blocked && (e.fillStyle = "rgba(140, 140, 140, 0.75)", e.fillRect(t + .5, i + .5, r - 1, n - 1)), e.restore(); }
1350
+ _drawCloseButton(e, t, i) { e.save(), e.strokeStyle = this._adapter.getCloseButtonBorderColor(), e.fillStyle = this._adapter.getCloseButtonBackgroundColor(); var r = this._closeButtonWidth(), n = this._height(); e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n); var s = t + r, a = i + n; e.strokeStyle = this._adapter.getCloseButtonIconColor(); var o = (this._closeButtonWidth() - 8) / 2, l = (this._height() - 8) / 2; CanvasEx.drawPoly(e, [{ x: t + o, y: i + l }, { x: s - o, y: a - l }], !0), CanvasEx.drawPoly(e, [{ x: s - o, y: i + l }, { x: t + o, y: a - l }], !0), this._adapter._blocked && (e.fillStyle = "rgba(140, 140, 140, 0.75)", e.fillRect(t + .5, i + .5, r - 1, n - 1)), e.restore(); }
1351
+ _drawImpl(e) {
1352
+ if (null !== this._data && this._data.points && !(this._data.points.length < 1)) {
1353
+ var t = this._data.width, i = this._bodyWidth(e), r = this._quantityWidth(e), n = this._reverseButtonWidth(e), s = i + r + n + this._closeButtonWidth(), a = t - s, o = Math.max(this._adapter.getLineLength() / 100 * t, 1), l = Math.round(t - Math.min(a, o)), h = l - s, d = Math.round(this._data.points[0].y), c = Math.round(d - (this._height() + 1) / 2);
1354
+ this._cache.bodyRight = h + i, this._cache.quantityRight = this._cache.bodyRight + r, this._cache.reverseButtonRight = this._cache.quantityRight + n, this._cache.top = c, this._cache.bottom = c + this._height(), this._cache.left = h, this._cache.right = l, this._drawLines(e, h, l, d, t), 0 !== i && (this._drawBody(e, h, c), this._drawBodyText(e, h, c)), 0 !== r && (this._drawQuantity(e, this._cache.bodyRight, c), this._drawQuantityText(e, this._cache.bodyRight, c)), 0 !== n && this._drawReverseButton(e, this._cache.quantityRight, c),
1355
+ 0 !== this._closeButtonWidth() && this._drawCloseButton(e, this._cache.reverseButtonRight, c);
1356
+ }
1357
+ }
1358
+ hitTest(e) { return null === this._data || 0 === this._data.points.length || e.y < this._cache.top || e.y > this._cache.bottom || e.x < this._cache.left || this._cache.right < e.x ? null : this._adapter._blocked ? new s(s.CUSTOM, {}) : e.x >= this._cache.bodyRight && e.x < this._cache.quantityRight && this._adapter._onModifyCallback ? new s(s.CUSTOM, { clickHandler: this._adapter.callOnModify.bind(this._adapter), tapHandler: this._adapter.callOnModify.bind(this._adapter), tooltip: { text: this._adapter.getProtectTooltip() || l(window.t("Protect Position")), rect: { x: this._cache.bodyRight, y: this._cache.top, w: this._cache.quantityRight - this._cache.bodyRight, h: this._cache.bottom - this._cache.top } } }) : e.x >= this._cache.quantityRight && e.x < this._cache.reverseButtonRight ? new s(s.CUSTOM, { clickHandler: this._adapter.callOnReverse.bind(this._adapter), tapHandler: this._adapter.callOnReverse.bind(this._adapter), tooltip: { text: this._adapter.getReverseTooltip() || window.t("Reverse Position"), rect: { x: this._cache.quantityRight, y: this._cache.top, w: this._cache.reverseButtonRight - this._cache.quantityRight, h: this._cache.bottom - this._cache.top } } }) : e.x >= this._cache.reverseButtonRight && e.x < this._cache.right ? new s(s.CUSTOM, { clickHandler: this._adapter.callOnClose.bind(this._adapter), tapHandler: this._adapter.callOnClose.bind(this._adapter), tooltip: { text: this._adapter.getCloseTooltip() || window.t("Close Position"), rect: { x: this._cache.reverseButtonRight, y: this._cache.top, w: this._cache.right - this._cache.reverseButtonRight, h: this._cache.bottom - this._cache.top } } }) : new s(s.CUSTOM, { clickHandler: function () { }, tapHandler: function () { }, tooltip: { text: this._adapter.getTooltip(), rect: { x: this._cache.left, y: this._cache.top, w: this._cache.bodyRight - this._cache.left, h: this._cache.bottom - this._cache.top } } }); }
1359
+ }
1360
+ t.PositionPaneView = class extends r {
1361
+ constructor(e, t) { super(e, t), this._rendererCache = {}, this._renderer = new d(this._rendererCache, e._adapter); }
1362
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer.setData({ points: this._points, width: this._model.timeScale().width() }), this._renderer; }
1363
+ };
1364
+ }, "Ht/7": function (e, t, i) {
1365
+ "use strict";
1366
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("pJOz").TrendLineRenderer, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("Hr11"), h = i("Tmoa"), d = i("zDbI").CHART_FONT_FAMILY, c = i("QPcX").LetterInCircleRenderer, u = i("Tmoa").resetTransparency, _ = { 4: { font: 24, circle: 36, circleBorderWidth: 1, bold: !0 }, 3: { font: 20, circle: 28, circleBorderWidth: 1, bold: !1 }, 2: { font: 18, circle: 22, circleBorderWidth: 1, bold: !1 }, 1: { font: 16, circle: 22, circleBorderWidth: 1, bold: !1 }, 0: { font: 11, circle: 14, circleBorderWidth: 1, bold: !0 } };
1367
+ t.ElliottLabelsPaneView = class extends n {
1368
+ constructor(e, t) { super(e, t), this._renderer = null; }
1369
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1370
+ _updateImpl() {
1371
+ super._updateImpl(), this._renderer = null, this._wave = [];
1372
+ var e = this._source.properties(), t = this._source.priceScale(), i = this._model.timeScale();
1373
+ if (t && !t.isEmpty() && !i.isEmpty()) {
1374
+ var n = e.color.value();
1375
+ if (e.showWave.value())
1376
+ for (var p = this._source.ownerSource().firstValue(), f = this._source.points(), g = 1; g < f.length; g++) {
1377
+ var v = f[g - 1], w = f[g], x = i.indexToCoordinate(v.index), m = i.indexToCoordinate(w.index), y = v.price, b = w.price, R = t.priceToCoordinate(y, p), T = t.priceToCoordinate(b, p), S = { points: [new r(x, R), new r(m, T)], width: i.width(), height: t.height(), color: h.generateColor(n, 0), linewidth: e.linewidth.value(), linestyle: CanvasEx.LINESTYLE_SOLID, extendleft: !1, extendright: !1, overlayLineEndings: !0 };
1378
+ this._wave.push(S);
1379
+ }
1380
+ var P = this.areAnchorsVisible() ? 0 : 1, L = new o;
1381
+ for (e = this._source.properties(), g = 0; g < this._wave.length; g++) {
1382
+ var C = new s;
1383
+ C.setData(this._wave[g]), L.append(C);
1384
+ }
1385
+ var M = 1;
1386
+ if (this._points.length > 2) {
1387
+ v = this._points[2], w = this._points[1];
1388
+ M = l.sign(v.y - w.y);
1389
+ }
1390
+ var I = 0;
1391
+ this._model.lineBeingCreated() === this._source && (I = 1);
1392
+ for (n = u(e.color.value()), g = 0; g < this._points.length - I; g++, M = -M)
1393
+ if (!(g < P)) {
1394
+ var O = this._source.label(g), N = O.label, D = "circle" === O.decoration;
1395
+ "brackets" === O.decoration && (N = "(" + N + ")");
1396
+ var B = _[O.group], k = new a(a.CHANGEPOINT, { pointIndex: g });
1397
+ L.append(new c({ point: this._points[g], letter: N, color: n, font: d, fontSize: B.font, bold: B.bold, showCircle: D, circleRadius: B.circle / 2, circleBorderWidth: B.circleBorderWidth, yOffset: 10, vertAlign: 1 === M ? "top" : "bottom" }, k));
1398
+ }
1399
+ for (var A = [], E = 0; E < this._points.length; E++) {
1400
+ var z = this._points[E].clone();
1401
+ z.data = E, A.push(z);
1402
+ }
1403
+ this._model.lineBeingCreated() === this._source && A.pop(), L.append(this.createLineAnchor({ points: A }, 0)), this._renderer = L;
1404
+ }
1405
+ }
1406
+ };
1407
+ }, Hyqq: function (e, t, i) {
1408
+ "use strict";
1409
+ i.r(t);
1410
+ var r = i("XlJ7"), n = i("Tmoa"), s = i("zDbI"), a = i("aB9a"), o = i("aO4+"), l = i("f6yo"), h = i("Ialn"), d = i("ikwP"), c = i("cPgM"), u = i("VdBB");
1411
+ class _ extends c.ScaledPaneRenderer {
1412
+ constructor() { super(), this._geometryCache = { innerHeight: NaN, textHorizontalPadding: NaN, innerWidth: NaN, paddingLeft: NaN }, this._geomertryCacheInvalidated = !0, this._data = null; }
1413
+ setData(e) { this._data = e, this._geomertryCacheInvalidated = !0; }
1414
+ hitTest(e, t) { if (null === this._data || 0 === this._data.points.length)
1415
+ return null; const i = this._data.points[0].x - (this._geometryCache.paddingLeft + 20), r = this._data.points[0].y - (this._geometryCache.innerHeight + 9), n = Object(o.box)(new o.Point(i, r), new o.Point(i + this._geometryCache.innerWidth, r + this._geometryCache.innerHeight)); return Object(l.pointInBox)(e, n) ? new u.HitTestResult(u.HitTestResult.MOVEPOINT, { areaName: u.AreaName.Text }) : null; }
1416
+ _drawImpl(e, t) {
1417
+ if (null === this._data || 0 === this._data.points.length)
1418
+ return;
1419
+ e.font = this._data.font;
1420
+ const i = this._measureInfo(e, this._data.label, this._data.fontSize), { paddingLeft: r, innerHeight: n, innerWidth: s, textHorizontalPadding: a } = i;
1421
+ e.textAlign = Object(h.isRtl)() ? "right" : "left";
1422
+ const o = this._data.points[0].x - (r + 20), l = this._data.points[0].y - (n + 9);
1423
+ e.translate(o, l), e.beginPath(), e.moveTo(24, n), e.lineTo(15, n), e.arcTo(-1e3, 0, 1e3, 0, n / 2), e.lineTo(s - 15, 0), e.arcTo(1e3, n, -1e3, n, n / 2), e.lineTo(33, n), e.quadraticCurveTo(33, n + 4, 35, n + 9), e.quadraticCurveTo(27, n + 6, 24, n), e.fillStyle = this._data.backgroundColor, e.fill(), e.strokeStyle = this._data.borderColor, e.lineWidth = 2, e.stroke(), e.closePath(), e.textBaseline = "middle", e.fillStyle = this._data.color,
1424
+ e.fillText(this._data.label, r + a, n / 2);
1425
+ }
1426
+ _measureInfo(e, t, i) { if (this._geomertryCacheInvalidated) {
1427
+ const r = e.measureText(t), n = i, s = 15, a = Math.round(n / 1.3), o = r.width + 2 * s, l = n + 2 * a, h = Object(d.calcTextHorizontalShift)(e, r.width);
1428
+ this._geometryCache = { paddingLeft: s, innerWidth: o, innerHeight: l, textHorizontalPadding: h }, this._geomertryCacheInvalidated = !1;
1429
+ } return this._geometryCache; }
1430
+ }
1431
+ var p = i("Zy3/"), f = i("vq8G");
1432
+ i.d(t, "BalloonPaneView", (function () { return g; }));
1433
+ class g extends a.LineSourcePaneView {
1434
+ constructor(e, t) { super(e, t), this._balloonRenderer = new _, this._renderer = null; }
1435
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1436
+ _updateImpl(e, t) { super._updateImpl(e, t); const i = this._source.properties().childs(), a = { points: this._points, color: i.color.value(), borderColor: i.borderColor.value(), backgroundColor: Object(n.generateColor)(i.backgroundColor.value(), i.transparency.value()), font: Object(r.makeFont)(i.fontsize.value(), s.CHART_FONT_FAMILY), fontSize: i.fontsize.value(), label: i.text.value() }; if (this._balloonRenderer.setData(a), 1 === a.points.length) {
1437
+ const e = new p.CompositeRenderer;
1438
+ return e.append(this._balloonRenderer), e.append(new f.SelectionRenderer({ points: a.points, bgColors: this._lineAnchorColors(a.points), visible: this.areAnchorsVisible(), barSpacing: this._model.timeScale().barSpacing(), hittestResult: u.HitTestResult.MOVEPOINT })), void (this._renderer = e);
1439
+ } this._renderer = this._balloonRenderer; }
1440
+ }
1441
+ }, IMGS: function (e, t, i) {
1442
+ "use strict";
1443
+ var r = i("aB9a").LineSourcePaneView, n = i("QncP").prepareLinearRegressionRenderersData, s = i("NN6M").ParallelChannelRenderer, a = i("qgcf").TextRenderer, o = i("pJOz").TrendLineRenderer, l = i("vq8G").SelectionRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("Tmoa");
1444
+ t.RegressionTrendPaneView = class extends r {
1445
+ constructor(e, t) { super(e, t), this._calc = null, this._lines = [], this._pearsons = null, this._pearsonsLabelRenderer = new a, this._renderer = null; }
1446
+ getTransparencyResetLines() { return this._lines.map((function (e) { var t = Object.assign({}, e); return t.color = c.resetTransparency(t.color), t; })); }
1447
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1448
+ _updateImpl() {
1449
+ super._updateImpl();
1450
+ const e = n(this._model, this._source);
1451
+ this._lines = e.lines, this._pearsons = e.pearsons, this._renderer = null;
1452
+ for (var t = new d, i = [], r = [this._lines[1], this._lines[0], this._lines[2]], a = [], u = 0; u < r.length; u++)
1453
+ r[u] && a.push(r[u]);
1454
+ for (u = 1; u < a.length; u++) {
1455
+ var _ = {};
1456
+ _.points = [r[u].floatPoints[0], r[u].floatPoints[1], r[u - 1].floatPoints[0], r[u - 1].floatPoints[1]], _.color = r[u].color, _.width = this._model.timeScale().width(), _.height = this._source.priceScale().height(), _.linewidth = r[u].linewidth, _.linestyle = r[u].linestyle, _.extendleft = !1, _.extendright = r[u].extendright, _.backcolor = _.color, _.transparency = this._source.properties().styles.transparency.value(), _.skipLines = !0, _.fillBackground = !0, (f = new s(new h(h.REGULAR))).setData(_), t.append(f);
1457
+ }
1458
+ var p = this.getTransparencyResetLines();
1459
+ for (u = 0; u < a.length; u++) {
1460
+ var f;
1461
+ (f = new o).setData(p[u]), f.setHitTest(new h(h.REGULAR)), t.append(f), 0 !== u && (i = i.concat(this._lines[u].floatPoints));
1462
+ }
1463
+ if (this._pearsons && (this._pearsons.color = c.resetTransparency(this._pearsons.color), this._pearsonsLabelRenderer.setData(this._pearsons), t.append(this._pearsonsLabelRenderer)), this._lines && this._lines.length >= 1) {
1464
+ t.append(new l({ points: i, bgColors: this._lineAnchorColors(i), visible: this.areAnchorsVisible() }));
1465
+ var g = this._lines[0].floatPoints;
1466
+ g[0].data = 0, g[1].data = 1, t.append(this.createLineAnchor({ points: g }, 0));
1467
+ }
1468
+ this._renderer = t;
1469
+ }
1470
+ };
1471
+ }, Jej9: function (e, t, i) {
1472
+ "use strict";
1473
+ i.r(t), i.d(t, "LineToolTrianglePatternPaneView", (function () { return u; }));
1474
+ var r = i("Eyy1"), n = i("aO4+"), s = i("8Uy/"), a = i("Zy3/"), o = i("pJOz"), l = i("/S7V"), h = i("qgcf"), d = i("a7Ha"), c = i("aB9a");
1475
+ class u extends c.LineSourcePaneView {
1476
+ constructor() { super(...arguments), this._trendLineRendererPoints01 = new o.TrendLineRenderer, this._trendLineRendererPoints12 = new o.TrendLineRenderer, this._trendLineRendererPoints23 = new o.TrendLineRenderer, this._intersectionRenderer = new l.TriangleRenderer, this._aLabelRenderer = new h.TextRenderer, this._bLabelRenderer = new h.TextRenderer, this._cLabelRenderer = new h.TextRenderer, this._dLabelRenderer = new h.TextRenderer, this._renderer = null; }
1477
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1478
+ _updateImpl() {
1479
+ super._updateImpl(), this._renderer = null;
1480
+ const [e, t, i, o] = this._points;
1481
+ let l, h, c;
1482
+ if (4 === this._points.length) {
1483
+ if (Math.abs(i.x - e.x) < 1 || Math.abs(o.x - t.x) < 1)
1484
+ return;
1485
+ let r = Math.min(e.x, t.x);
1486
+ r = Math.min(r, i.x), r = Math.min(r, o.x);
1487
+ const s = (i.y - e.y) / (i.x - e.x), a = e.y + (r - e.x) * s, d = (o.y - t.y) / (o.x - t.x), u = t.y + (r - t.x) * d;
1488
+ if (Math.abs(s - d) < 1e-6)
1489
+ return;
1490
+ h = new n.Point(r, a), c = new n.Point(r, u);
1491
+ const _ = (t.y - e.y + (e.x * s - t.x * d)) / (s - d);
1492
+ if (_ < r) {
1493
+ let r = Math.max(e.x, t.x);
1494
+ r = Math.max(r, i.x), r = Math.max(r, o.x), h = new n.Point(r, e.y + (r - e.x) * s), c = new n.Point(r, t.y + (r - t.x) * d);
1495
+ }
1496
+ const p = e.y + (_ - e.x) * s;
1497
+ l = new n.Point(_, p);
1498
+ }
1499
+ if (this._points.length < 2)
1500
+ return;
1501
+ const u = this._source.properties().childs(), _ = new a.CompositeRenderer, p = (e, t) => ({ points: [e], text: t, color: u.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: u.font.value(), offsetX: 0, offsetY: 0, bold: u.bold && u.bold.value(), italic: u.italic && u.italic.value(), fontsize: u.fontsize.value(), backgroundColor: u.color.value(), backgroundRoundRect: 4 }), f = (e, t) => ({ points: [e, t], color: u.color.value(), linewidth: u.linewidth.value(), linestyle: s.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: d.LineEnd.Normal, rightend: d.LineEnd.Normal });
1502
+ if (this._trendLineRendererPoints01.setData(f(e, t)), _.append(this._trendLineRendererPoints01), this._points.length >= 3 && (this._trendLineRendererPoints12.setData(f(t, i)), _.append(this._trendLineRendererPoints12)), 4 === this._points.length && (this._trendLineRendererPoints23.setData(f(i, o)), _.append(this._trendLineRendererPoints23), l)) {
1503
+ const e = { points: [Object(r.ensureDefined)(h), Object(r.ensureDefined)(c), l], color: u.color.value(), linewidth: u.linewidth.value(), backcolor: u.backgroundColor.value(), fillBackground: u.fillBackground.value(), transparency: u.transparency.value(), linestyle: s.LINESTYLE_DOTTED };
1504
+ this._intersectionRenderer.setData(e), _.append(this._intersectionRenderer);
1505
+ }
1506
+ const g = p(e, "A");
1507
+ t.y > e.y ? (g.vertAlign = "bottom",
1508
+ g.offsetY = 5) : (g.vertAlign = "top", g.offsetY = 5), this._aLabelRenderer.setData(g), _.append(this._aLabelRenderer);
1509
+ const v = p(t, "B");
1510
+ if (t.y < e.y ? (v.vertAlign = "bottom", v.offsetY = 5) : (v.vertAlign = "top", v.offsetY = 5), this._bLabelRenderer.setData(v), _.append(this._bLabelRenderer), this._points.length > 2) {
1511
+ const e = p(i, "C");
1512
+ i.y < t.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._cLabelRenderer.setData(e), _.append(this._cLabelRenderer);
1513
+ }
1514
+ if (this._points.length > 3) {
1515
+ const e = p(o, "D");
1516
+ o.y < i.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._dLabelRenderer.setData(e), _.append(this._dLabelRenderer);
1517
+ }
1518
+ this.addAnchors(_), this._renderer = _;
1519
+ }
1520
+ }
1521
+ }, JeuX: function (e, t, i) {
1522
+ "use strict";
1523
+ i.r(t), i.d(t, "PathPaneView", (function () { return a; }));
1524
+ var r = i("BCbF"), n = i("Zy3/"), s = i("aB9a");
1525
+ class a extends s.LineSourcePaneView {
1526
+ constructor(e, t) { super(e, t), this._polygonRenderer = new r.PolygonRenderer(null), this._renderer = new n.CompositeRenderer; }
1527
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1528
+ _updateImpl() { super._updateImpl(), this._renderer.clear(); const e = this._source.properties().childs(), t = { points: this._points, color: e.lineColor.value(), linewidth: e.lineWidth.value(), linestyle: e.lineStyle.value(), leftend: e.leftEnd.value(), rightend: e.rightEnd.value(), filled: !1, backcolor: "", fillBackground: !1, transparency: 0 }; this._polygonRenderer.setData(t), this._renderer.append(this._polygonRenderer), this.addAnchors(this._renderer); }
1529
+ }
1530
+ }, KDMZ: function (e, t, i) {
1531
+ "use strict";
1532
+ i.d(t, "a", (function () { return o; }));
1533
+ var r = i("Eyy1"), n = i("aIyQ"), s = i.n(n);
1534
+ class a {
1535
+ constructor(e, t, i) { this._ready = !1, this._img = function (e, t, i) { const r = new Image; return r.width = t, r.height = t, r.onload = i, r.src = e, r; }(e, t, () => { this._ready = !0, i(); }); }
1536
+ ready() { return this._ready; }
1537
+ image() { return this._img; }
1538
+ }
1539
+ class o {
1540
+ constructor(e, t) { this._icons = new Map, this._onAllIconsLoaded = new s.a, this._pendingLoading = e.length; const i = () => { 0 == --this._pendingLoading && this._onAllIconsLoaded.fire(); }; e.forEach(e => { const r = this._icons.get(e.name) || new Map; r.set(e.theme, new a(e.imageData, t, i)), this._icons.set(e.name, r); }); }
1541
+ getIcon(e, t) { return Object(r.ensureDefined)(Object(r.ensureDefined)(this._icons.get(e)).get(t)); }
1542
+ onAllIconsReady() { return this._onAllIconsLoaded; }
1543
+ }
1544
+ }, KFbh: function (e, t, i) {
1545
+ "use strict";
1546
+ i.r(t);
1547
+ var r = i("aO4+"), n = i("HGP3"), s = i("zDbI"), a = i("jvrd"), o = i("GEp6"), l = i("f6yo"), h = i("Eyy1"), d = i("VaSN"), c = i("ikwP"), u = i("qgcf"), _ = i("VdBB"), p = i("XXdw"), f = i("qFKp"), g = i("c44N"), v = i("KDMZ"), w = i("f2d2");
1548
+ const x = [{ name: "twitter", theme: "", imageData: URL.createObjectURL(new Blob([w], { type: "image/svg+xml" })) }], m = new v.a(x, 24);
1549
+ var y = i("Zp/P");
1550
+ const b = new WeakMap;
1551
+ function R(e, t, i, r) {
1552
+ let n = b.get(e);
1553
+ return void 0 !== n && n.width === t || (n = function (e, t, i, r) {
1554
+ const n = Object(c.createDisconnectedCanvas)(document, new c.Size(t, t), 1), s = 0 === r ? Math.min(e.width, e.height) : Math.max(e.width, e.height), a = Math.round(e.width / 2 - s / 2), o = Math.round(e.height / 2 - s / 2), l = Object(c.getContext2D)(n);
1555
+ return i && (l.beginPath(), l.arc(t / 2, t / 2, t / 2, 0, 2 * Math.PI, !0), l.closePath(), l.clip()), l.imageSmoothingEnabled = !0, l.imageSmoothingQuality = "high",
1556
+ l.drawImage(e, a, o, s, s, 0, 0, t, t), n;
1557
+ }(e, t, i, r), b.set(e, n)), n;
1558
+ }
1559
+ function T(e) { return e.poleStartY; }
1560
+ function S(e) { return e.inverseAnchorPosition ? e.anchorY : e.anchorY + (e.labelHeight + e.poleTailHeight + 2 * e.circleRadius) * e.direction; }
1561
+ function P(e) { return e.inverseAnchorPosition ? e.anchorY + (2 * e.circleRadius + e.poleTailHeight) * e.direction : e.anchorY + e.labelHeight * e.direction; }
1562
+ function L(e) { return e.inverseAnchorPosition ? P(e) - e.poleTailHeight * e.direction : P(e) + e.poleTailHeight * e.direction; }
1563
+ const C = new class {
1564
+ constructor() { this._cachedItems = []; }
1565
+ getItem(e, t) { const i = this._cachedItems.find(i => i.sourceLabel === e && Object(g.areEqualPaneRenderParams)(t, i.params)); if (void 0 !== i)
1566
+ return i.canvas; const r = m.getIcon(e, ""); if (!r.ready())
1567
+ return null; const n = document.createElement("canvas"); n.width = 24 * t.pixelRatio, n.height = 24 * t.pixelRatio, n.style.width = "24px", n.style.height = "24px"; const s = Object(h.ensureNotNull)(n.getContext("2d")); return s.setTransform(1, 0, 0, 1, 0, 0), f.isEdge || s.scale(t.pixelRatio, t.pixelRatio), s.drawImage(r.image(), 0, 0), this._cachedItems.push({ params: t, sourceLabel: e, canvas: n }), n; }
1568
+ };
1569
+ function M(e, t, i, r, n, s) { const a = s.pixelRatio, o = Object(y.fillScaledRadius)(t.circleRadius, a), l = Math.round(t.x * a), h = t.inverseAnchorPosition ? Math.round(t.anchorY * a) + Math.round(t.circleRadius * a) * t.direction : Math.round(t.anchorY * a) + Math.round((t.labelHeight + t.poleTailHeight + t.circleRadius) * a) * t.direction, d = Math.max(1, Math.floor(a)) % 2 / 2, c = l + d, u = h + d; e.save(); const _ = u + .05 * o, f = e.createRadialGradient(c, _, o / 2, c, _, 1.1 * o); if (f.addColorStop(0, "transparent"), f.addColorStop(.1, r), f.addColorStop(1, "transparent"), e.fillStyle = f, e.beginPath(), e.arc(c, _, 1.1 * o, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.restore(), e.beginPath(), e.arc(c, u, o, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), null !== t.image) {
1570
+ const r = t.srcItem.type() === p.StoriesTimeLineItemType.Emoji, n = r ? 2 * Object(y.fillScaledRadius)(i, a) : 2 * o, s = R(t.image, n, !r, r ? 1 : 0);
1571
+ e.drawImage(s, c - n / 2, u - n / 2);
1572
+ } const g = Math.round(t.circleBorderWidth * a), v = Object(y.strokeScaledRadius)(t.circleRadius, a, g); if (e.lineWidth = g, e.beginPath(), e.arc(c, u, v, 0, 2 * Math.PI, !0), e.closePath(), e.stroke(), t.outsideBorderWidth) {
1573
+ e.save();
1574
+ const i = Math.round(t.outsideBorderWidth * a), r = v + g / 2 + i / 2;
1575
+ e.lineWidth = i, e.strokeStyle = n, e.beginPath(), e.arc(c, u, r, 0, 2 * Math.PI, !0), e.closePath(), e.stroke(), e.restore();
1576
+ } const w = t.srcItem.sourceLabel(); if (null !== w) {
1577
+ const i = C.getItem(w, s);
1578
+ if (null !== i) {
1579
+ const r = Math.round(c + t.circleRadius * a - i.width), n = Math.round(u - t.circleRadius * a);
1580
+ e.drawImage(i, r, n);
1581
+ const s = i.width / 2, o = r + s, l = n + s;
1582
+ e.save(), e.lineWidth = g, e.beginPath(), e.arc(o, l, s, 0, 2 * Math.PI, !0), e.closePath(), e.stroke(), e.restore();
1583
+ }
1584
+ } }
1585
+ class I {
1586
+ constructor(e, t, i, r) { this._data = null, this._labels = [], this._cacheRects = {}, this._items = [], this._hitTestResult = e, this._showTooltipHandler = t, this._clearSelectedDataHandler = i, this._phantomMode = Boolean(r); }
1587
+ setData(e) { this._data = e; }
1588
+ clearItems() { this._labels = [], this._items = [], this._cacheRects = {}; }
1589
+ addItem(e) {
1590
+ const t = { circleBackgroundColor: e.circleBackgroundColor, circleBorderColor: e.circleBorderColor, circleBorderWidth: e.circleBorderWidth, outsideBorderWidth: e.outsideBorderWidth,
1591
+ image: e.image, itemIndex: e.itemIndex, labelIndex: e.labelIndex, x: e.x, anchorY: e.anchorY, poleTailHeight: e.poleTailHeight, poleStartY: e.poleStartY, circleRadius: e.circleRadius, srcItem: e.srcItem, direction: e.direction * (e.inverseAnchorPosition ? -1 : 1), labelHeight: 0, labelId: -1, inverseAnchorPosition: e.inverseAnchorPosition }, i = { offsetX: 0, offsetY: 0, points: [new r.Point(e.x, e.anchorY)], forceCalculateMaxLineWidth: !0, vertAlign: -1 === e.labelDirection ? "bottom" : "top", horzAlign: "center", horzTextAlign: "center", font: e.labelFont, fontSize: e.labelFontSize, bold: e.labelFontBold, italic: e.labelFontItalic, backgroundRoundRect: e.labelBorderRadius, padding: e.labelPadding, boxPaddingVert: e.labelBoxPaddingVert, boxPaddingHorz: e.labelBoxPaddingHorz, wordWrapWidth: e.labelWordWrapWidth, color: e.labelColor, borderColor: e.labelBorderColor, borderWidth: 1, backgroundColor: e.labelBackgroundColor, text: e.text };
1592
+ if (e.inverseAnchorPosition) {
1593
+ const e = Object(h.ensureDefined)(i.points);
1594
+ e[0] = new r.Point(e[0].x, P(t)), t.labelId = this._labels.length;
1595
+ }
1596
+ else {
1597
+ const n = new u.TextRenderer(i);
1598
+ this._labels.push(n), t.labelId = this._labels.length, t.labelHeight = n.measure().height;
1599
+ const s = 1 === e.direction ? Math.min(t.poleStartY - t.labelHeight, t.anchorY) : Math.max(t.poleStartY + t.labelHeight, t.anchorY);
1600
+ t.anchorY !== s && (t.anchorY = s, i.points = [new r.Point(e.x, s)], n.setData(i));
1601
+ }
1602
+ const n = new u.TextRenderer(i);
1603
+ this._labels.push(n), this._items.push(t);
1604
+ }
1605
+ itemAnchorY(e) { return e >= this._items.length ? null : this._items[e].anchorY; }
1606
+ hitTest(e, t) { if (null === this._data)
1607
+ return null; for (let i = this._items.length - 1; i >= 0; --i) {
1608
+ const n = this._items[i], [s, a, o] = this._doesPointBelongToItem(n, e);
1609
+ if (s || a || o) {
1610
+ const e = { hideCrosshairLinesOnHover: !0, activeItem: s || a ? n.itemIndex : n.labelIndex };
1611
+ o ? e.areaName = _.AreaName.Text : a && (e.areaName = _.AreaName.Style);
1612
+ const i = this._showTooltipHandler;
1613
+ if (void 0 !== i) {
1614
+ const s = { targetBox: this._itemRect(n, t.cssHeight), item: n.srcItem }, a = e => { const [t, i] = this._doesPointBelongToItem(n, e); return t || i; };
1615
+ e.tapHandler = e => { e.preventDefault(), i(s, new r.Point(e.clientX - e.localX, e.clientY - e.localY), a); }, e.clickHandler = e => { i(s, new r.Point(e.clientX - e.localX, e.clientY - e.localY), a); };
1616
+ const o = this._clearSelectedDataHandler;
1617
+ void 0 !== o && (e.doubleClickHandler = e => o(), e.pressedMouseMoveHandler = e => o(), e.executeDefaultAction = { pressedMouseMoveHandler: !0, touchMoveHandler: !0 });
1618
+ }
1619
+ return new _.HitTestResult(this._hitTestResult, e);
1620
+ }
1621
+ } return null; }
1622
+ draw(e, t) { if (null === this._data)
1623
+ return; e.save(), this._phantomMode && (e.globalAlpha = .5); const { poleColor: i, emojiRadius: r } = this._data, n = t.pixelRatio, s = Math.max(1, Math.floor(n)), a = s % 2 ? .5 : 0; e.beginPath(), e.strokeStyle = i, e.lineWidth = s; for (const t of this._items) {
1624
+ const i = Math.round(t.x * n) + a;
1625
+ e.moveTo(i, Math.round(T(t) * n)), e.lineTo(i, Math.round(S(t) * n)), 0 !== t.poleTailHeight && (e.moveTo(i, Math.round(P(t) * n)), e.lineTo(i, Math.round(L(t) * n)));
1626
+ } e.stroke(); for (const i of this._items)
1627
+ e.strokeStyle = i.circleBorderColor, e.fillStyle = i.circleBackgroundColor, i.circleRadius > 0 && M(e, i, r, this._data.shadowColor, this._data.outsideBorderColor, t), this._labels[i.labelId].draw(e, t); e.restore(); }
1628
+ _itemRect(e, t) {
1629
+ if (!this._cacheRects[e.labelId]) {
1630
+ const i = this._labels[e.labelId].rect(), r = e.circleRadius > 0 ? e.circleRadius + e.circleBorderWidth : 0, n = i.y < e.poleStartY;
1631
+ this._cacheRects[e.labelId] = { top: Math.max(n ? i.y : e.poleStartY, 0), bottom: Math.min(n ? e.poleStartY : i.y + i.height, t), left: Math.min(e.x - r, i.x), right: Math.max(e.x + r, i.x + i.width) };
1632
+ }
1633
+ return this._cacheRects[e.labelId];
1634
+ }
1635
+ _doesPointBelongToItem(e, t) { const i = Object(d.lastEventIsTouch)() ? 20 : 3, n = e.x, s = Object(o.distanceToSegment)(new r.Point(n, T(e)), new r.Point(n, S(e)), t).distance < i, a = !s && e.circleRadius > 0 && Object(l.pointInCircle)(t, new r.Point(n, function (e) { return e.inverseAnchorPosition ? e.anchorY + e.circleRadius * e.direction : e.anchorY + (e.labelHeight + e.poleTailHeight + e.circleRadius) * e.direction; }(e)), e.circleRadius + i); return [s, a, !s && !a && null !== this._labels[e.labelId].hitTest(t)]; }
1636
+ }
1637
+ const O = { circleBackgroundColor: n.colorsPalette["color-cold-gray-800"], circleBorderColor: n.colorsPalette["color-cold-gray-900"], labelBackgroundColor: n.colorsPalette["color-cold-gray-900"], labelBorderColor: n.colorsPalette["color-cold-gray-800"], labelTextColor: n.colorsPalette["color-cold-gray-200"], poleColor: n.colorsPalette["color-cold-gray-500"], shadowColor: "rgba(0,0,0,0.4)", selectionColor: n.colorsPalette["color-tv-blue-500"], labelHoveredColor: n.colorsPalette["color-cold-gray-800"], labelSelectedColor: n.colorsPalette["color-tv-blue-a900"] }, N = { circleBackgroundColor: n.colorsPalette["color-cold-gray-100"], circleBorderColor: n.colorsPalette["color-white"], labelBackgroundColor: n.colorsPalette["color-white"], labelBorderColor: n.colorsPalette["color-cold-gray-150"], labelTextColor: n.colorsPalette["color-cold-gray-900"], poleColor: n.colorsPalette["color-cold-gray-500"], shadowColor: "rgba(107,121,136,0.4)", selectionColor: n.colorsPalette["color-tv-blue-500"], labelHoveredColor: n.colorsPalette["color-cold-gray-100"], labelSelectedColor: n.colorsPalette["color-tv-blue-50"] };
1638
+ class D {
1639
+ constructor(e, t, i, r, n) { this._renderer = null, this._invalidated = !0, this._model = e, this._timeLine = t, this._timeLineItemsRenderer = new I(i, null == r ? void 0 : r.tooltipHandler, null == r ? void 0 : r.clearSelectedDataHandler, n); }
1640
+ update() { this._invalidated = !0; }
1641
+ renderer(e, t) { return this._invalidated && (this._updateImpl(e), this._invalidated = !1), this._renderer; }
1642
+ itemAnchorY(e) { return this._timeLineItemsRenderer.itemAnchorY(e); }
1643
+ _updateImpl(e) {
1644
+ this._renderer = null, this._timeLineItemsRenderer.clearItems();
1645
+ const t = this._timeLine.priceSource();
1646
+ if (null === t)
1647
+ return;
1648
+ const i = this._model.timeScale(), r = t.priceScale(), n = t.firstValue();
1649
+ if (i.isEmpty() || null === r || r.isEmpty() || null === n)
1650
+ return;
1651
+ const o = this._model.isDark(), l = o ? O : N;
1652
+ let h;
1653
+ const d = this._model.mainSeries();
1654
+ for (const c of this._timeLine.items()) {
1655
+ if (this._timeLine.isHidden(c))
1656
+ continue;
1657
+ const u = c.position(), _ = t === d ? Object(a.b)(d, c) : Object(a.a)(c, r, n);
1658
+ if (null === _)
1659
+ continue;
1660
+ const p = i.indexToCoordinate(_.index), f = r.priceToCoordinate(_.price, n), g = c.showPlate();
1661
+ let v = Object(a.d)(u, e, f, _.positionPointDirection);
1662
+ v >= -1e-10 && v <= e + 1e-10 && (v = Math.min(e - 2, Math.max(2, v)));
1663
+ const w = _.visualDirection !== _.positionPointDirection, x = _.visualDirection, m = this._timeLine.isItemSelected(c), y = this._timeLine.isItemHovered(c), b = { circleBackgroundColor: c.backgroundPlateColor(o) || l.circleBackgroundColor, outsideBorderWidth: m ? 2 : y ? 1 : 0, circleBorderColor: l.circleBorderColor, circleBorderWidth: 1, image: c.image(), itemIndex: c.itemIndex(), labelIndex: c.labelIndex(), x: p, anchorY: v, poleTailHeight: c.headline() && g ? 10 : 0, poleStartY: _.poleStartY, circleRadius: g ? 35 : 0, direction: x, inverseAnchorPosition: w, srcItem: c, text: c.headline(), labelDirection: _.positionPointDirection, labelFont: s.CHART_FONT_FAMILY, labelFontSize: c.fontSize && c.fontSize() || 12, labelFontBold: c.fontBold && c.fontBold() || !1, labelFontItalic: c.fontItalic && c.fontItalic() || !1, labelBorderRadius: 4, labelPadding: 3, labelBoxPaddingVert: 6, labelBoxPaddingHorz: 8, labelWordWrapWidth: 134, labelColor: l.labelTextColor, labelBorderColor: l.labelBorderColor, labelBackgroundColor: m ? l.labelSelectedColor : y ? l.labelHoveredColor : l.labelBackgroundColor };
1664
+ this._timeLine.isItemHovered(c) ? h = b : this._timeLineItemsRenderer.addItem(b);
1665
+ }
1666
+ void 0 !== h && this._timeLineItemsRenderer.addItem(h), this._timeLineItemsRenderer.setData({ emojiRadius: 16, poleColor: l.poleColor, shadowColor: l.shadowColor, outsideBorderColor: l.selectionColor }), this._renderer = this._timeLineItemsRenderer;
1667
+ }
1668
+ }
1669
+ var B = i("Zy3/"), k = i("//lt"), A = i("aB9a");
1670
+ i.d(t, "SignpostPaneView", (function () { return E; }));
1671
+ class E extends A.LineSourcePaneView {
1672
+ constructor(e, t) { super(e, t), this._renderer = new B.CompositeRenderer, this._storiesEventsPaneView = new D(t, e, _.HitTestResult.MOVEPOINT, void 0, e.isPhantom()); }
1673
+ renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
1674
+ _updateImpl(e, t) { super._updateImpl(), this._renderer.clear(), this._storiesEventsPaneView.update(); const i = this._storiesEventsPaneView.renderer(e, t); if (null !== i && this._renderer.append(i), this._source.isPhantom())
1675
+ return; const n = this._storiesEventsPaneView.itemAnchorY(0); if (null === n)
1676
+ return; const s = this._points[0], a = new r.Point(s.x, n); a.data = s.data, a.square = !0, this._renderer.append(this.createLineAnchor({ points: [a], pointsCursorType: [k.PaneCursorType.VerticalResize] }, 0)); }
1677
+ }
1678
+ }, LMGK: function (e, t, i) {
1679
+ "use strict";
1680
+ i.r(t);
1681
+ var r = i("aO4+"), n = i("aB9a"), s = i("Zy3/"), a = i("YFKU"), o = i("EBrf"), l = i("jFln"), h = i("cPgM"), d = i("VdBB"), c = i("2uTr"), u = i("jkoZ");
1682
+ const _ = Object(a.t)("Modify Order"), p = Object(a.t)("Cancel Order");
1683
+ class f extends h.ScaledPaneRenderer {
1684
+ constructor(e) { super(), this._data = null, this._cache = {}, this._data = null, this._adapter = e; }
1685
+ setData(e) { this._data = e; }
1686
+ hitTest(e, t) {
1687
+ if (null === this._data || 0 === this._data.points.length)
1688
+ return null;
1689
+ const i = this._cache;
1690
+ if (e.y < i.top || e.y > i.bottom)
1691
+ return null;
1692
+ if (this._adapter.getBlocked() && e.x >= i.left && e.x < i.right)
1693
+ return new d.HitTestResult(d.HitTestResult.CUSTOM, {});
1694
+ if (this._adapter.getEditable() && e.x >= i.left && e.x < i.bodyRight) {
1695
+ const e = this._adapter.hasMoveCallback() ? d.HitTestResult.MOVEPOINT : d.HitTestResult.REGULAR;
1696
+ return 0 === this._adapter.getTooltip().length ? new d.HitTestResult(e) : new d.HitTestResult(e, { tooltip: { text: this._adapter.getTooltip(), rect: { x: i.left, y: i.top,
1697
+ w: i.bodyRight - i.left, h: i.bottom - i.top } } });
1698
+ }
1699
+ return this._adapter.getEditable() && e.x >= i.bodyRight && e.x < i.quantityRight ? this._adapter.hasModifyCallback() ? new d.HitTestResult(d.HitTestResult.CUSTOM, { clickHandler: this._adapter.callOnModify.bind(this._adapter), tapHandler: this._adapter.callOnModify.bind(this._adapter), tooltip: { text: this._adapter.getModifyTooltip() || Object(c.appendEllipsis)(_), rect: { x: i.bodyRight, y: i.top, w: i.quantityRight - i.bodyRight, h: i.bottom - i.top } } }) : new d.HitTestResult(d.HitTestResult.REGULAR) : this._adapter.getCancellable() && e.x >= i.quantityRight && e.x < i.right ? new d.HitTestResult(d.HitTestResult.CUSTOM, { clickHandler: this._adapter.callOnCancel.bind(this._adapter), tapHandler: this._adapter.callOnCancel.bind(this._adapter), tooltip: { text: this._adapter.getCancelTooltip() || p, rect: { x: i.quantityRight, y: i.top, w: i.right - i.quantityRight, h: i.bottom - i.top } } }) : null;
1700
+ }
1701
+ _drawImpl(e, t) { if (null === this._data || !this._data.points || this._data.points.length < 1)
1702
+ return; const i = t.cssWidth, r = this._bodyWidth(e), n = this._quantityWidth(e), s = r + n + this._cancelButtonWidth(), a = i - s, o = Math.max(this._adapter.getLineLength() / 100 * i, 1), l = Math.round(i - Math.min(a, o)), h = l - s, d = Math.round(this._data.points[0].y), c = Math.round(d - (this._height() + 1) / 2); this._cache.bodyRight = h + r, this._cache.quantityRight = h + r + n, this._cache.top = c, this._cache.bottom = c + this._height(), this._cache.left = h, this._cache.right = l, this._drawLines(e, h, l, d, i); let u = !1; 0 !== r && (this._drawBody(e, h, c), this._adapter.hasMoveCallback() && this._drawMovePoints(e, h, c), this._drawBodyText(e, h, c), u = !0), 0 !== n && (this._drawQuantity(e, h + r, c, u), this._drawQuantityText(e, h + r, c), u = !0), 0 !== this._cancelButtonWidth() && this._drawCancelButton(e, h + r + n, c, u); }
1703
+ _height() { return Math.max(20, 1 + Math.max(u.fontHeight(this._adapter.getBodyFont()), u.fontHeight(this._adapter.getQuantityFont()))); }
1704
+ _bodyWidth(e) { if (0 === this._adapter.getText().length)
1705
+ return 0; e.save(), e.font = this._adapter.getBodyFont(); const t = e.measureText(this._adapter.getText()).width; return e.restore(), Math.round(20 + t); }
1706
+ _getQuantity() { return Object(o.splitThousands)(this._adapter.getQuantity(), " "); }
1707
+ _quantityWidth(e) { if (0 === this._getQuantity().length)
1708
+ return 0; e.save(), e.font = this._adapter.getQuantityFont(); const t = e.measureText(this._getQuantity()).width; return e.restore(), Math.round(Math.max(this._height(), 10 + t)); }
1709
+ _cancelButtonWidth() { return this._adapter.isOnCancelCallbackPresent() ? this._height() : 0; }
1710
+ _drawLines(e, t, i, r, n) { e.save(), e.strokeStyle = this._adapter.getLineColor(), Object(l.setLineStyle)(e, this._adapter.getLineStyle()), e.lineWidth = this._adapter.getLineWidth(), Object(l.drawLine)(e, i, r, n, r), this._adapter.getExtendLeft() && Object(l.drawLine)(e, 0, r, t, r), e.restore(); }
1711
+ _drawMovePoints(e, t, i) { e.save(), e.strokeStyle = this._adapter.getBodyBorderColor(), e.fillStyle = this._adapter.getBodyBorderColor(); const r = t + 4, n = r + 2, s = Math.floor((this._height() - 10) / 2) + 1; for (let t = 0; t < s; ++t) {
1712
+ const s = i + 5 + 2 * t;
1713
+ Object(l.drawLine)(e, r, s, n, s);
1714
+ } e.restore(); }
1715
+ _drawBody(e, t, i) {
1716
+ e.strokeStyle = this._adapter.getBodyBorderColor(), e.fillStyle = this._adapter.getBodyBackgroundColor();
1717
+ const r = this._bodyWidth(e), n = this._height();
1718
+ e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n);
1719
+ }
1720
+ _drawBodyText(e, t, i) { e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getBodyFont(), e.fillStyle = this._adapter.getBodyTextColor(); const r = t + this._bodyWidth(e) / 2, n = i + this._height() / 2; e.fillText(this._adapter.getText(), 5 + r - 2, n); }
1721
+ _drawQuantity(e, t, i, r) { e.save(), e.strokeStyle = this._adapter.getQuantityBorderColor(), e.fillStyle = this._adapter.getQuantityBackgroundColor(); const n = this._quantityWidth(e), s = this._height(); e.fillRect(t + .5, i + .5, n - 1, s - 1), r && e.clip && (e.beginPath(), e.rect(t + .5, i - .5, n + 1, s + 1), e.clip()), e.strokeRect(t, i, n, s), e.restore(); }
1722
+ _drawQuantityText(e, t, i) { e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getQuantityFont(), e.fillStyle = this._adapter.getQuantityTextColor(); const r = t + this._quantityWidth(e) / 2, n = i + this._height() / 2; e.fillText(this._getQuantity(), r, n), e.restore(); }
1723
+ _drawCancelButton(e, t, i, n) { e.strokeStyle = this._adapter.getCancelButtonBorderColor(), e.fillStyle = this._adapter.getCancelButtonBackgroundColor(); const s = this._cancelButtonWidth(), a = this._height(); e.fillRect(t + .5, i + .5, s - 1, a - 1), this._adapter.getBlocked() && (e.fillStyle = "rgba(140, 140, 140, 0.75)", e.fillRect(t + .5, i + .5, s - 1, a - 1)), e.save(), n && e.clip && (e.beginPath(), e.rect(t + .5, i - .5, s + 1, a + 1), e.clip()), e.strokeRect(t, i, s, a), e.restore(); const o = t + s, h = i + a; e.strokeStyle = this._adapter.getCancelButtonIconColor(); const d = (this._cancelButtonWidth() - 8) / 2, c = (this._height() - 8) / 2; Object(l.drawPoly)(e, [new r.Point(t + d, i + c), new r.Point(o - d, h - c)], !0), Object(l.drawPoly)(e, [new r.Point(o - d, i + c), new r.Point(t + d, h - c)], !0); }
1724
+ }
1725
+ var g = i("vq8G");
1726
+ i.d(t, "OrderPaneView", (function () { return v; }));
1727
+ class v extends n.LineSourcePaneView {
1728
+ constructor(e, t) { super(e, t), this._renderer = new s.CompositeRenderer, this._selectionRenderer = new g.SelectionRenderer, this._selectionData = null, this._adapter = e.adapter(), this._orderRenderer = new f(e.adapter()), this._renderer.append(this._orderRenderer), this._renderer.append(this._selectionRenderer); }
1729
+ renderer(e, t) { return this._invalidated && this._updateImpl(t), this._renderer; }
1730
+ _updateImpl(e) { if (super._updateImpl(), this._selectionData = null, this.isSelectedSource() && this._points.length > 0) {
1731
+ const t = this._points[0].y, i = e - 3.5 - 1, n = this._adapter.hasMoveCallback() ? d.HitTestResult.MOVEPOINT : d.HitTestResult.REGULAR, s = [new r.Point(i, t)];
1732
+ this._selectionData = { barSpacing: this._model.timeScale().barSpacing(), points: s, bgColors: this._lineAnchorColors(s), hittestResult: n, visible: !0 };
1733
+ } this._orderRenderer.setData({ points: this._points }), this._selectionRenderer.setData(this._selectionData); }
1734
+ }
1735
+ }, NCfL: function (e, t, i) {
1736
+ "use strict";
1737
+ i.r(t), i.d(t, "LineToolPaneViewWithLevelledTextCache", (function () { return l; }));
1738
+ var r = i("Eyy1"), n = i("aB9a"), s = i("xUGI"), a = i.n(s), o = i("c44N");
1739
+ class l extends n.LineSourcePaneView {
1740
+ constructor(e, t) { super(e, t), this._cache = null, this._cacheDrawParams = null, this._cacheInvalidated = !0; }
1741
+ getCacheCanvas(e) { return this._createCacheIfRequired(e), Object(r.ensureNotNull)(this._cache).canvas(); }
1742
+ getCacheRects(e, t) { return this._createCacheIfRequired(e), null; }
1743
+ destroy() { var e; null === (e = this._cache) || void 0 === e || e.destroy(); }
1744
+ _updateImpl() { super._updateImpl(), this._cacheInvalidated = !0; }
1745
+ _createCache(e) { return new a.a(this._source.properties().fibLevelsBasedOnLogScale, this._source.levelsCount(), e); }
1746
+ _createCacheIfRequired(e) { var t; null !== this._cache && null !== this._cacheDrawParams && Object(o.areEqualPaneRenderParams)(e, this._cacheDrawParams) || (null === (t = this._cache) || void 0 === t || t.destroy(), this._cache = this._createCache(e), this._cacheState = this._cache.updateSource(this._source), this._cacheDrawParams = e, this._cacheInvalidated = !1), this._cacheInvalidated && (this._cacheState = this._cache.updateSource(this._source), this._cacheInvalidated = !1); }
1747
+ }
1748
+ }, NN6M: function (e, t, i) {
1749
+ "use strict";
1750
+ i.r(t), i.d(t, "ParallelChannelRenderer", (function () { return u; }));
1751
+ var r = i("Eyy1"), n = i("aO4+"), s = i("GEp6"), a = i("hBTJ"), o = i("jFln"), l = i("VdBB"), h = i("Zp/P"), d = i("Tmoa"), c = i("cPgM");
1752
+ class u extends c.ScaledPaneRenderer {
1753
+ constructor(e, t) { super(), this._data = null, this._hittestResult = e || new l.HitTestResult(l.HitTestResult.MOVEPOINT), this._backHittestResult = t || new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND); }
1754
+ setData(e) { this._data = e; }
1755
+ hitTest(e, t) { if (null === this._data || this._data.points.length < 2)
1756
+ return null; const [i, r] = this._data.points, n = this._extendAndHitTestLineSegment(e, i, r, t); if (null !== n)
1757
+ return n; if (4 === this._data.points.length && !this._data.skipTopLine) {
1758
+ const [, , n, s] = this._data.points, a = this._extendAndHitTestLineSegment(e, n, s, t);
1759
+ if (null !== a)
1760
+ return a;
1761
+ if (this._data.showMidline && !this._data.skipLines) {
1762
+ const a = i.add(n).scaled(.5), o = r.add(s).scaled(.5), l = this._extendAndHitTestLineSegment(e, a, o, t);
1763
+ if (null !== l)
1764
+ return l;
1765
+ }
1766
+ } return this._data.hittestOnBackground && this._data.fillBackground ? this._hitTestBackground(e) : null; }
1767
+ _drawImpl(e, t) { if (null === this._data || this._data.points.length < 2)
1768
+ return; e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, Object(o.setLineStyle)(e, this._data.linestyle); const [i, r] = this._data.points; if (!isFinite(i.y) || !isFinite(r.y))
1769
+ this._extendAndDrawLineSegment(e, i, r, t);
1770
+ else if (this._data.skipLines || this._extendAndDrawLineSegment(e, i, r, t), 4 === this._data.points.length) {
1771
+ const [, , n, s] = this._data.points;
1772
+ if (this._data.skipLines || this._data.skipTopLine || this._extendAndDrawLineSegment(e, n, s, t), this._data.fillBackground && this._drawBackground(e, this._data.points, t), this._data.showMidline && !this._data.skipLines) {
1773
+ e.strokeStyle = this._data.midcolor, e.lineWidth = this._data.midlinewidth, Object(o.setLineStyle)(e, this._data.midlinestyle);
1774
+ const a = i.add(n).scaled(.5), l = r.add(s).scaled(.5);
1775
+ this._extendAndDrawLineSegment(e, a, l, t);
1776
+ }
1777
+ } }
1778
+ _getColor() { const e = Object(r.ensureNotNull)(this._data); return Object(d.generateColor)(e.backcolor, e.transparency); }
1779
+ _extendAndDrawLineSegment(e, t, i, r) { const n = this._extendAndClipLineSegment(t, i, r); null !== n && Object(o.drawLine)(e, n[0].x, n[0].y, n[1].x, n[1].y); }
1780
+ _extendAndHitTestLineSegment(e, t, i, r) { const n = this._extendAndClipLineSegment(t, i, r); if (null !== n) {
1781
+ if (Object(s.distanceToSegment)(n[0], n[1], e).distance <= 3)
1782
+ return this._hittestResult;
1783
+ } return null; }
1784
+ _extendAndClipLineSegment(e, t, i) {
1785
+ const n = Object(r.ensureNotNull)(this._data);
1786
+ return Object(h.extendAndClipLineSegment)(e, t, i.cssWidth, i.cssHeight, n.extendleft, n.extendright);
1787
+ }
1788
+ _drawBackground(e, t, i) { const a = Object(r.ensureNotNull)(this._data), [o, l, h, d] = t; if (Object(n.equalPoints)(o, l) || Object(n.equalPoints)(h, d) || Object(s.distanceToLine)(o, l, h).distance < 1e-6 || Object(s.distanceToLine)(o, l, d).distance < 1e-6)
1789
+ return; if (i.cssWidth <= 0 || i.cssHeight <= 0)
1790
+ return; let c = [new n.Point(0, 0), new n.Point(i.cssWidth, 0), new n.Point(i.cssWidth, i.cssHeight), new n.Point(0, i.cssHeight)]; if (c = _(c, o, l, d), a.extendright || (c = _(c, l, d, h)), c = _(c, d, h, o), a.extendleft || (c = _(c, h, o, l)), null !== c) {
1791
+ e.beginPath(), e.moveTo(c[0].x, c[0].y);
1792
+ for (let t = 1; t < c.length; t++)
1793
+ e.lineTo(c[t].x, c[t].y);
1794
+ e.fillStyle = this._getColor(), e.fill();
1795
+ } }
1796
+ _hitTestBackground(e) { const t = Object(r.ensureNotNull)(this._data); if (4 !== t.points.length)
1797
+ return null; const [i, n, s] = t.points, a = (n.y - i.y) / (n.x - i.x), o = i.y + a * (e.x - i.x), l = s.y + a * (e.x - s.x), h = Math.max(o, l), d = Math.min(o, l), c = Math.min(i.x, n.x), u = Math.max(i.x, n.x); return !t.extendleft && e.x < c || !t.extendright && e.x > u ? null : e.y >= d && e.y <= h ? this._backHittestResult : null; }
1798
+ }
1799
+ function _(e, t, i, r) { return null !== e ? Object(a.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)(Object(n.lineThroughPoints)(t, i), r)) : null; }
1800
+ }, Ni7V: function (e, t, i) {
1801
+ "use strict";
1802
+ var r = i("aO4+"), n = r.Point, s = r.box, a = i("f6yo").pointInBox, o = i("aB9a").LineSourcePaneView, l = i("vq8G").SelectionRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("Tmoa"), u = i("ikwP").calcTextHorizontalShift, _ = i("Ialn").isRtl, p = i("cPgM").ScaledPaneRenderer;
1803
+ class f extends p {
1804
+ constructor(e, t) { super(), this._data = null, this._measureCache = e, this._chartModel = t, this._points = null; }
1805
+ setData(e) { this._data = e, this._points = e.points; }
1806
+ _drawImpl(e) { if (null !== this._data && null !== this._points && 0 !== this._points.length) {
1807
+ e.font = [this._data.fontWeight, this._data.fontSize + "px", this._data.fontFamily].join(" ");
1808
+ var t = e.measureText(this._data.label);
1809
+ t.height = this._data.fontSize;
1810
+ var i = 10, r = 5, n = t.width + 2 * i, s = t.height + 2 * r, a = this._points[0].x - -9, o = this._points[0].y - (s + 15);
1811
+ e.textAlign = _() ? "right" : "left";
1812
+ var l = u(e, t.width);
1813
+ this._measureCache && Object.assign(this._measureCache, { innerWidth: n, innerHeight: s, tailLeft: -9, tailHeight: 15 }), e.translate(.5 + a, .5 + o), e.beginPath(), e.moveTo(12, s), e.lineTo(-9, s + 15), e.lineTo(-10, s + 15 - 1), e.lineTo(5, s), e.lineTo(3, s), e.arcTo(0, s, 0, 0, 3), e.lineTo(0, 3), e.arcTo(0, 0, n, 0, 3), e.lineTo(n - 3, 0), e.arcTo(n, 0, n, s, 3), e.lineTo(n, s - 3), e.arcTo(n, s, 0, s, 3), e.lineTo(12, s), e.fillStyle = c.generateColor(this._data.backgroundColor, this._data.transparency), e.fill(), e.strokeStyle = this._data.borderColor, e.lineWidth = 2, e.stroke(), e.closePath(), e.textBaseline = "alphabetic", e.fillStyle = this._data.color, e.fillText(this._data.label, i + l, s / 2 + Math.floor(.35 * this._data.fontSize)), e.translate(-.5, -.5), e.beginPath(), e.arc(-9, s + 15, 2.5, 0, 2 * Math.PI, !1), e.fillStyle = c.generateColor(this._data.borderColor, this._data.transparency), e.fill(), e.strokeStyle = this._chartModel.backgroundColor().value(), e.lineWidth = 1, e.stroke(), e.closePath();
1814
+ } }
1815
+ hitTest(e) {
1816
+ if (null === this._data || null === this._points || 0 === this._points.length)
1817
+ return null;
1818
+ var t = this._points[0].x - this._measureCache.tailLeft, i = this._points[0].y - (this._measureCache.innerHeight + this._measureCache.tailHeight), r = s(new n(t, i), new n(t + this._measureCache.innerWidth, i + this._measureCache.innerHeight));
1819
+ return a(e, r) ? new h(h.MOVEPOINT) : null;
1820
+ }
1821
+ }
1822
+ t.PriceLabelPaneView = class extends o {
1823
+ constructor(e, t, i) { super(e, t), this._rendererCache = {}, this._priceLabelRenderer = new f(this._rendererCache, t), this._renderer = null; }
1824
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, this._source.points().length > 0) {
1825
+ var e = this._source.points()[0].price, t = this._source.priceScale();
1826
+ if (!t || t.isEmpty())
1827
+ return;
1828
+ var i = this._source.ownerSource().firstValue();
1829
+ this._priceLabel = t.formatPrice(e, i);
1830
+ } var r = {}; if (r.points = this._points, r.borderColor = this._source.properties().borderColor.value(), r.backgroundColor = this._source.properties().backgroundColor.value(), r.color = this._source.properties().color.value(), r.fontWeight = this._source.properties().fontWeight.value(), r.fontSize = this._source.properties().fontsize.value(), r.fontFamily = this._source.properties().font.value(), r.transparency = this._source.properties().transparency.value(), r.label = this._priceLabel, this._priceLabelRenderer.setData(r), 1 === r.points.length) {
1831
+ var n = new d;
1832
+ return n.append(this._priceLabelRenderer), n.append(new l({ points: r.points, bgColors: this._lineAnchorColors(r.points), visible: this.areAnchorsVisible() })), void (this._renderer = n);
1833
+ } this._renderer = this._priceLabelRenderer; }
1834
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
1835
+ };
1836
+ }, PuIH: function (e, t, i) {
1837
+ "use strict";
1838
+ i.r(t), i.d(t, "getImage", (function () { return n; }));
1839
+ const r = new Map;
1840
+ function n(e, t) { let i = r.get(e); return void 0 === i && (i = new Promise((e, i) => { const r = new Image; r.onload = () => { e(r), r.onload = null, r.onerror = null; }, r.onerror = () => { i(), r.onload = null, r.onerror = null; }, r.crossOrigin = "anonymous", r.src = t; }), r.set(e, i)), i; }
1841
+ }, QA6D: function (e, t, i) {
1842
+ "use strict";
1843
+ i.r(t), i.d(t, "EllipseRendererSimple", (function () { return h; }));
1844
+ var r = i("VdBB"), n = i("Hr11"), s = i("aO4+"), a = i("Tmoa"), o = i("jFln"), l = i("cPgM");
1845
+ class h extends l.ScaledPaneRenderer {
1846
+ constructor(e, t, i) { super(), this._data = e, this._hitTest = t || new r.HitTestResult(r.HitTestResult.MOVEPOINT), this._backgroundHitTest = i || new r.HitTestResult(r.HitTestResult.MOVEPOINT_BACKGROUND); }
1847
+ hitTest(e) { if (this._data.points.length < 2)
1848
+ return null; const t = this._data.points[0], i = this._data.points[1], r = .5 * Math.abs(t.x - i.x), a = Math.abs(t.x - i.x), o = Math.abs(t.y - i.y), l = t.add(i).scaled(.5); let h = e.subtract(l); if (a < 1 || o < 1)
1849
+ return null; const d = (i.y - t.y) / (i.x - t.x); h = new s.Point(h.x, h.y / d); let c = h.x * h.x + h.y * h.y - r * r; return c = Object(n.sign)(c) * Math.sqrt(Math.abs(c / r)), Math.abs(c) < 3 ? this._hitTest : this._data.fillBackground && !this._data.noHitTestOnBackground && c < 3 ? this._backgroundHitTest : null; }
1850
+ _drawImpl(e) {
1851
+ e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, void 0 !== this._data.linestyle && Object(o.setLineStyle)(e, this._data.linestyle);
1852
+ const t = this._data.points[0], i = this._data.points[1], r = Math.abs(t.x - i.x), n = Math.abs(t.y - i.y), s = t.add(i).scaled(.5);
1853
+ if (r < 1 || n < 1)
1854
+ return;
1855
+ let l = 0;
1856
+ if (this._data.wholePoints) {
1857
+ const e = this._data.wholePoints[0], t = this._data.wholePoints[1];
1858
+ l = Math.abs(e.x - t.x);
1859
+ }
1860
+ e.save(), e.translate(s.x, s.y), e.scale(1, n / r), e.beginPath(), e.arc(0, 0, r / 2, 0, 2 * Math.PI, !1), e.restore(), e.stroke(), this._data.fillBackground && (this._data.wholePoints && (e.translate(s.x, s.y), e.scale(1, n / r), e.arc(0, 0, l / 2, 0, 2 * Math.PI, !0)), e.fillStyle = Object(a.generateColor)(this._data.backcolor, this._data.transparency, !0), e.fill());
1861
+ }
1862
+ }
1863
+ }, QPcX: function (e, t, i) {
1864
+ "use strict";
1865
+ i.r(t), i.d(t, "LetterInCircleRenderer", (function () { return o; }));
1866
+ var r = i("aO4+"), n = i("f6yo"), s = i("ikwP"), a = i("XlJ7");
1867
+ class o {
1868
+ constructor(e, t) { this._data = e, this._hitTestResult = t; }
1869
+ hitTest(e) { const t = this._center(), i = this._data.circleRadius, s = { min: new r.Point(t.x - i, t.y - i), max: new r.Point(t.x + i, t.y + i) }; return Object(n.pointInBox)(e, s) ? this._hitTestResult : null; }
1870
+ draw(e, t) { e.save(); const i = t.pixelRatio, r = Math.max(1, Math.floor(i)) % 2 / 2, n = this._center(), o = Math.round(n.x * i) + r, l = Math.round(n.y * i) + r; if (this._data.showCircle) {
1871
+ const t = Math.round(o + this._data.circleRadius * i) - o - this._data.circleBorderWidth * i / 2;
1872
+ e.strokeStyle = this._data.color, e.lineWidth = this._data.circleBorderWidth * i, e.beginPath(), e.moveTo(o + t, l), e.arc(o, l, t, 0, 2 * Math.PI, !1), e.stroke();
1873
+ } e.font = Object(a.makeFont)(this._data.fontSize, this._data.font, this._data.bold ? "bold" : void 0), e.textBaseline = "middle", e.textAlign = "center", e.fillStyle = this._data.color, Object(s.drawScaled)(e, i, () => { e.fillText(this._data.letter, o / i, l / i + .05 * this._data.fontSize); }), e.restore(); }
1874
+ _center() { const e = "bottom" === this._data.vertAlign ? -1 : 1, t = this._data.point.y + e * this._data.yOffset + e * this._data.circleRadius, i = this._data.point.x; return new r.Point(i, t); }
1875
+ }
1876
+ }, Qa6j: function (e, t, i) {
1877
+ "use strict";
1878
+ i.r(t);
1879
+ var r = i("aB9a"), n = i("Zy3/"), s = i("qgcf"), a = i("aO4+"), o = i("cPgM"), l = i("VdBB"), h = i("Zp/P");
1880
+ function d(e) { if (e < 92)
1881
+ return 18; let t = .25 * e; return t = Math.min(t, 106), t = Math.max(t, 18), t = Math.min(t, .9 * e), t; }
1882
+ class c extends o.ScaledPaneRenderer {
1883
+ constructor(e) { super(), this._data = e; }
1884
+ setData(e) { this._data = e; }
1885
+ hitTest(e) { if (this._data.points.length < 2)
1886
+ return null; let t = this._data.points[0], i = this._data.points[1].subtract(t); const r = i.length(); i = this._data.points[1].subtract(this._data.points[0]); i.length() < 22 && (t = this._data.points[1].addScaled(i.normalized(), -22), i = this._data.points[1].subtract(t)); const n = e.subtract(t), s = i.dotProduct(n) / r; if (s < 0 || s > r)
1887
+ return null; const a = i.scaled(1 / r), o = t.addScaled(a, s), d = e.subtract(o), c = Object(h.interactionTolerance)().line, u = this._hittestGeometry(r); for (let e = u.length - 2; e >= 0; e--) {
1888
+ const t = u[e];
1889
+ if (s >= t.x) {
1890
+ const i = u[e + 1], r = i.x - t.x, n = i.y - t.y, a = (s - t.x) / r, o = t.y + n * a;
1891
+ return d.length() <= o + c ? new l.HitTestResult(l.HitTestResult.MOVEPOINT) : null;
1892
+ }
1893
+ } return d.length() < 3 ? new l.HitTestResult(l.HitTestResult.MOVEPOINT) : null; }
1894
+ _drawImpl(e) {
1895
+ if (this._data.points.length < 2)
1896
+ return;
1897
+ e.fillStyle = this._data.color, e.strokeStyle = this._data.color, e.lineJoin = "round", e.lineCap = "round";
1898
+ let t = this._data.points[1].subtract(this._data.points[0]);
1899
+ const i = t.length();
1900
+ let r = this._data.points[0];
1901
+ i < 22 && (r = this._data.points[1].addScaled(t.normalized(), -22), t = this._data.points[1].subtract(r));
1902
+ const n = new a.Point(t.y, -t.x).normalized(), s = this._arrowGeometry(t.length()), o = t.normalized();
1903
+ e.lineWidth = function (e) { let t = Math.round(.02 * e); return t = Math.min(t, 5), t = Math.max(t, 2), t; }(t.length()), e.beginPath(), e.moveTo(r.x, r.y);
1904
+ for (let t = 0; t < s.length; t++) {
1905
+ const i = s[t], a = r.addScaled(o, i.x).addScaled(n, i.y);
1906
+ e.lineTo(a.x, a.y);
1907
+ }
1908
+ e.lineTo(this._data.points[1].x, this._data.points[1].y);
1909
+ for (let t = s.length - 1; t >= 0; t--) {
1910
+ const i = s[t], a = r.addScaled(o, i.x).addScaled(n, -i.y);
1911
+ e.lineTo(a.x, a.y);
1912
+ }
1913
+ e.lineTo(r.x, r.y), e.stroke(), e.fill();
1914
+ }
1915
+ _arrowGeometry(e) { const t = d(e), i = [], r = e >= 35 ? .1 : 0; return i.push(new a.Point(0, 0)), i.push(new a.Point(e - t + t * r, 1.22 * t / 4)), i.push(new a.Point(e - t, 1.22 * t / 2)), i.push(new a.Point(e, 0)), i; }
1916
+ _hittestGeometry(e) { const t = d(e), i = []; return i.push(new a.Point(0, 0)), i.push(new a.Point(e - t, 1.22 * t / 4)), i.push(new a.Point(e - t, 1.22 * t / 2)), i.push(new a.Point(e, 0)), i; }
1917
+ }
1918
+ var u = i("QA6D");
1919
+ i.d(t, "ArrowMarkerPaneView", (function () { return _; }));
1920
+ class _ extends r.LineSourcePaneView {
1921
+ constructor(e, t) { super(e, t), this._textRendererData = { text: "", color: "", vertAlign: "middle", horzAlign: "center", font: "", offsetX: 10, offsetY: 10, points: [], forceTextAlign: !0 }, this._arrowRendererData = { points: [], color: "" }, this._ellipseRendererData = { color: "", linewidth: 0, points: [], fillBackground: !0, backcolor: "", noHitTestOnBackground: !0 }, this._drawAsCircle = !1, this._textRenderer = new s.TextRenderer(this._textRendererData), this._arrowRenderer = new c(this._arrowRendererData), this._ellipseRenderer = new u.EllipseRendererSimple(this._ellipseRendererData); }
1922
+ renderer(e, t) { this._invalidated && this._updateImpl(); const i = new n.CompositeRenderer; this._drawAsCircle ? i.append(this._ellipseRenderer) : i.append(this._arrowRenderer); const r = this._getSource().properties(); return this._textRendererData.points && this._textRendererData.points.length > 0 && r.showLabel.value() && (this._textRenderer.setData(Object.assign({}, this._textRendererData)), i.append(this._textRenderer)), this.addAnchors(i), i; }
1923
+ _updateImpl() {
1924
+ super._updateImpl();
1925
+ const e = this._getPoints(), t = this._getSource().properties();
1926
+ if (this._arrowRendererData.color = t.backgroundColor.value(), this._arrowRendererData.points = e, this._textRendererData.text = t.text.value(), this._textRendererData.color = t.textColor.value(), this._textRendererData.font = t.font.value(), this._textRendererData.bold = t.bold.value(), this._textRendererData.italic = t.italic.value(), this._textRendererData.fontsize = t.fontsize.value(), e.length >= 2) {
1927
+ const i = this._getSource().points(), r = i[0].index - i[1].index, n = i[0].price - i[1].price;
1928
+ if (this._drawAsCircle = 0 === r && Math.abs(n) < 1e-8, this._textRendererData.points = [e[0]], this._drawAsCircle) {
1929
+ this._textRendererData.horzAlign = "left", this._textRendererData.vertAlign = "middle";
1930
+ const i = new a.Point(e[0].x - 9, e[0].y - 9), r = new a.Point(e[0].x + 9, e[0].y + 9);
1931
+ this._ellipseRendererData.points = [i, r], this._ellipseRendererData.backcolor = t.backgroundColor.value(),
1932
+ this._ellipseRendererData.color = t.backgroundColor.value();
1933
+ }
1934
+ else {
1935
+ const t = e[1].subtract(e[0]);
1936
+ Math.abs(t.x) >= Math.abs(t.y) ? (e[1].x > e[0].x ? this._textRendererData.horzAlign = "right" : this._textRendererData.horzAlign = "left", this._textRendererData.vertAlign = "middle") : (e[1].y > e[0].y ? this._textRendererData.vertAlign = "bottom" : this._textRendererData.vertAlign = "top", this._textRendererData.horzAlign = "center");
1937
+ }
1938
+ }
1939
+ }
1940
+ }
1941
+ }, QncP: function (e, t, i) {
1942
+ "use strict";
1943
+ i.r(t), i.d(t, "prepareLinearRegressionRenderersData", (function () { return o; }));
1944
+ var r = i("Eyy1"), n = i("aO4+"), s = i("a7Ha"), a = i("zDbI");
1945
+ function o(e, t) { const i = { lines: [], pearsons: null }; if (!t.properties().visible.value())
1946
+ return i; const o = e.timeScale(), l = t.priceScale(), h = e.mainSeries().firstBar(); if (!l || l.isEmpty() || o.isEmpty() || !h)
1947
+ return i; const d = t.startIndex(), c = t.endIndex(); if (null === d || null === c)
1948
+ return i; const u = [t.baseLine(), t.downLine(), t.upLine()], _ = Math.round(o.indexToCoordinate(d)), p = Math.round(o.indexToCoordinate(c)), f = t.properties(), g = [f.styles.baseLine, f.styles.downLine, f.styles.upLine], v = h[4]; for (let a = 0; a < u.length; a++) {
1949
+ if (!g[a].visible.value())
1950
+ continue;
1951
+ const o = Object(r.ensureNotNull)(u[a]).startPrice, h = Object(r.ensureNotNull)(u[a]).endPrice;
1952
+ if (void 0 === o || void 0 === h)
1953
+ continue;
1954
+ const d = l.priceToCoordinate(o, v), c = l.priceToCoordinate(h, v), w = new n.Point(_, d), x = new n.Point(p, c), m = g[a].color.value(), y = g[a].linewidth.value(), b = g[a].linestyle.value(), R = { floatPoints: [w, x], width: e.timeScale().width(), height: Object(r.ensureNotNull)(t.priceScale()).height(), color: m, linewidth: y, linestyle: b, extendleft: !1, extendright: f.styles.extendLines.value(), leftend: s.LineEnd.Normal, rightend: s.LineEnd.Normal };
1955
+ i.lines.push(R);
1956
+ } const w = Object(r.ensureNotNull)(t.downLine()); if (f.styles.showPearsons.value() && void 0 !== w.startPrice) {
1957
+ const e = l.priceToCoordinate(w.startPrice, v), r = new n.Point(_, e);
1958
+ i.pearsons = { points: [r], text: "" + t.pearsons(), color: f.styles.downLine.color.value(), vertAlign: "top", horzAlign: "center", font: a.CHART_FONT_FAMILY, offsetX: 0, offsetY: 4, fontsize: 12 };
1959
+ } return i; }
1960
+ }, R7Bt: function (e, t, i) {
1961
+ "use strict";
1962
+ var r = i("Eyy1").ensureNotNull, n = i("aO4+").Point, s = i("IjC5").RectangleRenderer, a = i("pJOz").TrendLineRenderer, o = i("cjIn").PaneRendererCachedImage, l = i("VdBB").HitTestResult, h = i("Zy3/").CompositeRenderer, d = i("a7Ha").LineEnd, c = i("d1Pk").fibLevelCoordinate, u = i("NCfL").LineToolPaneViewWithLevelledTextCache;
1963
+ t.FibRetracementPaneView = class extends u {
1964
+ constructor(e, t) { super(e, t), this._rendererCache = {}, this._trendLineRenderer = new a, this._renderer = null; }
1965
+ getCacheRects(e, t) {
1966
+ if (super.getCacheRects(e, t), !this._cacheState.preparedCells)
1967
+ return null;
1968
+ var i = this._levels[t].index - 1, s = this._cacheState.preparedCells.cells[i];
1969
+ if (!s)
1970
+ return null;
1971
+ var a = this._points[0], o = this._points[1], l = Math.min(a.x, o.x), h = Math.max(a.x, o.x);
1972
+ a = new n(l, this._levels[t].y), o = new n(h, this._levels[t].y);
1973
+ var d, c = this._source.properties(), u = c.extendLines.value() ? this._model.timeScale().width() : h, _ = r(this._cache);
1974
+ switch (c.horzLabelsAlign.value()) {
1975
+ case "left":
1976
+ d = a;
1977
+ break;
1978
+ case "center":
1979
+ (d = a.add(o).scaled(.5)).x += s.width / 2, d.x = Math.round(d.x);
1980
+ break;
1981
+ case "right":
1982
+ c.extendLines.value() ? d = new n(u - 4, this._levels[t].y) : ((d = new n(u + 4, this._levels[t].y)).x += s.width, d.x = Math.round(d.x));
1983
+ }
1984
+ var p = { left: s.left, top: _.topByRow(this._cacheState.row), width: s.width, height: _.rowHeight(this._cacheState.row) }, f = { left: d.x - p.width, top: d.y, width: s.width, height: p.height }, g = c.vertLabelsAlign.value();
1985
+ return "middle" === g && (f.top -= f.height / 2), "bottom" === g && (f.top -= f.height), { cacheRect: p, targetRect: f };
1986
+ }
1987
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2)) {
1988
+ var e = this._source.priceScale();
1989
+ if (e && !e.isEmpty() && !this._model.timeScale().isEmpty()) {
1990
+ var t = this._source.ownerSource().firstValue();
1991
+ if (null != t) {
1992
+ var i = this._source.points()[0], r = this._source.points()[1], u = !1;
1993
+ (L = this._source.properties()).reverse && L.reverse.value() && (u = L.reverse.value()), this._levels = [];
1994
+ var _, p, f = u ? i.price : r.price, g = u ? r.price : i.price, v = g - f, w = e.isLog() && L.fibLevelsBasedOnLogScale.value();
1995
+ if (w)
1996
+ _ = e.priceToCoordinate(f, t), p = e.priceToCoordinate(g, t) - _;
1997
+ for (var x = { price: f, coordinate: _ }, m = { price: v, coordinate: p }, y = this._source.levelsCount(), b = 1; b <= y; b++) {
1998
+ var R = L["level" + b];
1999
+ if (R.visible.value()) {
2000
+ var T = R.coeff.value(), S = R.color.value(), P = c(x, m, T, e, t, w);
2001
+ this._levels.push({ color: S, y: P, linewidth: L.levelsStyle.linewidth.value(), linestyle: L.levelsStyle.linestyle.value(), index: b });
2002
+ }
2003
+ }
2004
+ if (!(this._points.length < 2)) {
2005
+ var L, C = new h, M = (i = this._points[0], r = this._points[1], Math.min(i.x, r.x)), I = Math.max(i.x, r.x), O = (L = this._source.properties()).fillBackground.value(), N = L.transparency.value(), D = L.extendLinesLeft.value(), B = L.extendLines.value();
2006
+ if (O)
2007
+ for (b = 0; b < this._levels.length; b++)
2008
+ if (b > 0 && O) {
2009
+ var k = this._levels[b - 1], A = (i = new n(M, this._levels[b].y), r = new n(I, k.y), {});
2010
+ A.points = [i, r], A.color = this._levels[b].color, A.linewidth = 0, A.backcolor = this._levels[b].color, A.fillBackground = !0, A.transparency = N, A.extendLeft = D, A.extendRight = B, (j = new s(void 0, void 0, !0)).setData(A), C.append(j);
2011
+ }
2012
+ var E = M, z = I;
2013
+ E === z && (D && (E -= 1), B && (z += 1));
2014
+ for (b = 0; b < this._levels.length; b++) {
2015
+ var j, V = { points: [i = new n(E, this._levels[b].y), r = new n(z, this._levels[b].y)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._levels[b].color, linewidth: this._levels[b].linewidth, linestyle: this._levels[b].linestyle, extendleft: D, extendright: B, leftend: d.Normal, rightend: d.Normal };
2016
+ if ((j = new a).setData(V), j.setHitTest(new l(l.MOVEPOINT, null, this._levels[b].index)), C.append(j), L.showCoeffs.value() || L.showPrices.value()) {
2017
+ var H = new o(this, b);
2018
+ C.append(H);
2019
+ }
2020
+ }
2021
+ if (L.trendline.visible.value()) {
2022
+ V = { points: [this._points[0], this._points[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: L.trendline.color.value(), linewidth: L.trendline.linewidth.value(), linestyle: L.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
2023
+ this._trendLineRenderer.setData(V), C.append(this._trendLineRenderer);
2024
+ }
2025
+ this.addAnchors(C), this._renderer = C;
2026
+ }
2027
+ }
2028
+ }
2029
+ } }
2030
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2031
+ };
2032
+ }, S6aM: function (e, t, i) {
2033
+ "use strict";
2034
+ i.r(t), i.d(t, "LineToolThreeDrivesPaneView", (function () {
2035
+ return c;
2036
+ }));
2037
+ var r = i("8Uy/"), n = i("Zy3/"), s = i("qgcf"), a = i("zXvd"), o = i("pJOz"), l = i("a7Ha"), h = i("BCbF"), d = i("aB9a");
2038
+ class c extends d.LineSourcePaneView {
2039
+ constructor() { super(...arguments), this._numericFormatter = new a.NumericFormatter, this._retrace1LabelRenderer = new s.TextRenderer, this._retrace12LabelRenderer = new s.TextRenderer, this._polyLineRenderer = new h.PolygonRenderer(null), this._renderer = null; }
2040
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2041
+ _updateImpl() { super._updateImpl(), this._renderer = null; let e = NaN, t = NaN; if (this._source.points().length >= 4) {
2042
+ const [, t, i, r] = this._source.points();
2043
+ e = Math.round(100 * Math.abs((r.price - i.price) / (i.price - t.price))) / 100;
2044
+ } if (this._source.points().length >= 6) {
2045
+ const [, , , e, i, r] = this._source.points();
2046
+ t = Math.round(100 * Math.abs((r.price - i.price) / (i.price - e.price))) / 100;
2047
+ } if (this._points.length < 2)
2048
+ return; const i = this._source.properties().childs(), s = new n.CompositeRenderer, a = (e, t) => ({ points: [e], text: t, color: i.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: i.font.value(), offsetX: 0, offsetY: 0, bold: i.bold && i.bold.value(), italic: i.italic && i.italic.value(), fontsize: i.fontsize.value(), backgroundColor: i.color.value(), backgroundRoundRect: 4 }), h = (e, t) => ({ points: [e, t], color: i.color.value(), linewidth: i.linewidth.value(), linestyle: r.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }), d = { points: this._points, color: i.color.value(), linewidth: i.linewidth.value(), linestyle: r.LINESTYLE_SOLID, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal, backcolor: "rgba(0, 0, 0, 0)", fillBackground: !1, filled: !1 }; if (this._polyLineRenderer.setData(d), s.append(this._polyLineRenderer), !isNaN(e)) {
2049
+ const t = new o.TrendLineRenderer;
2050
+ t.setData(h(this._points[1], this._points[3])), s.append(t);
2051
+ const i = a(this._points[1].add(this._points[3]).scaled(.5), this._numericFormatter.format(e));
2052
+ this._retrace1LabelRenderer.setData(i), s.append(this._retrace1LabelRenderer);
2053
+ } if (!isNaN(t)) {
2054
+ const e = new o.TrendLineRenderer;
2055
+ e.setData(h(this._points[3], this._points[5])), s.append(e);
2056
+ const i = a(this._points[5].add(this._points[3]).scaled(.5), this._numericFormatter.format(t));
2057
+ this._retrace12LabelRenderer.setData(i), s.append(this._retrace12LabelRenderer);
2058
+ } this.addAnchors(s), this._renderer = s; }
2059
+ }
2060
+ }, SvjA: function (e, t, i) {
2061
+ "use strict";
2062
+ var r = i("aO4+").Point, n = i("z+cS").VerticalLineRenderer, s = i("aB9a").LineSourcePaneView, a = i("qgcf").TextRenderer, o = i("IjC5").RectangleRenderer, l = i("pJOz").TrendLineRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("a7Ha").LineEnd;
2063
+ t.TrendBasedFibTimePaneView = class extends s {
2064
+ constructor(e, t) { super(e, t), this._trendLineRendererPoints12 = new l, this._trendLineRendererPoints23 = new l, this._renderer = null; }
2065
+ _updateImpl() {
2066
+ if (super._updateImpl(), this._renderer = null, 3 === this._source.points().length) {
2067
+ if (!this._source.priceScale() || this._source.priceScale().isEmpty() || this._model.timeScale().isEmpty())
2068
+ return;
2069
+ var e = this._source.points()[0], t = this._source.points()[1], i = this._source.points()[2];
2070
+ if (this._levels = [], t.index === e.index)
2071
+ return;
2072
+ var s = t.index - e.index, l = this._source.properties(), u = i.index;
2073
+ if (null === this._model.timeScale().visibleBarsStrictRange())
2074
+ return;
2075
+ for (var _ = 1; _ <= 11; _++) {
2076
+ var p = l["level" + _];
2077
+ if (p.visible.value()) {
2078
+ var f = p.coeff.value(), g = p.color.value(), v = Math.round(u + f * s), w = { x: this._model.timeScale().indexToCoordinate(v), coeff: f, color: g, linewidth: p.linewidth.value(), linestyle: p.linestyle.value(), index: _ };
2079
+ l.showCoeffs.value() && (w.text = f, w.y = this._source.priceScale().height()), this._levels.push(w);
2080
+ }
2081
+ }
2082
+ }
2083
+ if (!(this._points.length < 2)) {
2084
+ var x = new d;
2085
+ e = this._points[0], t = this._points[1];
2086
+ if ((l = this._source.properties()).trendline.visible.value()) {
2087
+ var m = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: l.trendline.color.value(), linewidth: l.trendline.linewidth.value(), linestyle: l.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
2088
+ this._trendLineRendererPoints12.setData(m), x.append(this._trendLineRendererPoints12);
2089
+ }
2090
+ if (this._points.length < 3)
2091
+ return this.addAnchors(x), void (this._renderer = x);
2092
+ i = this._points[2];
2093
+ if (l.trendline.visible.value()) {
2094
+ m = { points: [t, i], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: l.trendline.color.value(), linewidth: l.trendline.linewidth.value(), linestyle: l.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
2095
+ this._trendLineRendererPoints23.setData(m), x.append(this._trendLineRendererPoints23);
2096
+ }
2097
+ var y = l.fillBackground.value(), b = l.transparency.value(), R = this._model.timeScale().width(), T = this._source.priceScale().height();
2098
+ if (y)
2099
+ for (_ = 1; _ < this._levels.length; _++) {
2100
+ var S = this._levels[_ - 1], P = (e = new r(S.x, 0), t = new r(this._levels[_].x, this._source.priceScale().height()), {});
2101
+ P.points = [e, t], P.color = this._levels[_].color, P.linewidth = 0, P.backcolor = this._levels[_].color, P.fillBackground = !0, P.transparency = b, P.extendLeft = !1, P.extendRight = !1, (O = new o(void 0, void 0, !0)).setData(P), x.append(O);
2102
+ }
2103
+ for (_ = 0; _ < this._levels.length; _++) {
2104
+ if (void 0 !== this._levels[_].text) {
2105
+ var L, C = l.horzLabelsAlign.value();
2106
+ switch (C = "left" === C ? "right" : "right" === C ? "left" : "center", l.vertLabelsAlign.value()) {
2107
+ case "top":
2108
+ L = new r(this._levels[_].x, 0);
2109
+ break;
2110
+ case "middle":
2111
+ L = new r(this._levels[_].x, .5 * this._levels[_].y);
2112
+ break;
2113
+ case "bottom": L = new r(this._levels[_].x, this._levels[_].y);
2114
+ }
2115
+ var M = { points: [L], text: "" + this._levels[_].text, color: this._levels[_].color, vertAlign: l.vertLabelsAlign.value(), horzAlign: C, font: l.font.value(), offsetX: 2, offsetY: 0, fontsize: 12 };
2116
+ x.append(new a(M));
2117
+ }
2118
+ var I = {};
2119
+ I.width = R, I.height = T, I.x = this._levels[_].x, I.color = this._levels[_].color, I.linewidth = this._levels[_].linewidth, I.linestyle = this._levels[_].linestyle;
2120
+ var O, N = new h(h.MOVEPOINT, null, this._levels[_].index);
2121
+ (O = new n).setData(I), O.setHitTest(N), x.append(O);
2122
+ }
2123
+ this.addAnchors(x), this._renderer = x;
2124
+ }
2125
+ }
2126
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2127
+ };
2128
+ }, UcQu: function (e, t, i) {
2129
+ "use strict";
2130
+ i.r(t), i.d(t, "DateAndPriceRangePaneView", (function () { return R; }));
2131
+ var r = i("Eyy1"), n = i("aO4+"), s = i("YFKU"), a = i("Ialn"), o = i("aB9a"), l = i("qgcf"), h = i("IjC5"), d = i("pJOz"), c = i("Zy3/"), u = i("GH0z"), _ = i("8Uy/"), p = i("a7Ha"), f = i("nda6"), g = i("5C6T"), v = i("nEwK");
2132
+ const w = new f.TimeSpanFormatter, x = new u.PercentageFormatter, m = new v.VolumeFormatter, y = Object(s.t)("{count} bars"), b = Object(s.t)("Vol");
2133
+ class R extends o.LineSourcePaneView {
2134
+ constructor() { super(...arguments), this._distanceLineRenderer = new d.TrendLineRenderer, this._distancePriceRenderer = new d.TrendLineRenderer, this._backgroundRenderer = new h.RectangleRenderer, this._borderRenderer = new h.RectangleRenderer, this._textRenderer = new l.TextRenderer, this._renderer = new c.CompositeRenderer, this._pipFormatter = null, this._lastSymbolInfo = null; }
2135
+ renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
2136
+ _updateImpl(e, t) {
2137
+ if (super._updateImpl(), this._renderer.clear(), this._points.length < 2 || this._source.points().length < 2)
2138
+ return;
2139
+ const i = this._source.properties().childs();
2140
+ i.fillBackground && i.fillBackground.value() && (this._backgroundRenderer.setData({ points: this._points, color: "white", linewidth: 0, backcolor: i.backgroundColor.value(), fillBackground: !0, transparency: i.backgroundTransparency.value(), extendLeft: !1, extendRight: !1 }), this._renderer.append(this._backgroundRenderer));
2141
+ const [s, o] = this._points;
2142
+ i.drawBorder.value() && (this._borderRenderer.setData({ points: this._points, color: i.borderColor.value(), linewidth: i.borderWidth.value(), fillBackground: !1, extendLeft: !1, extendRight: !1, backcolor: "" }), this._renderer.append(this._borderRenderer));
2143
+ const h = i.drawBorder.value() ? i.borderWidth.value() / 2 : 0, d = Math.round((s.y + o.y) / 2), c = new n.Point(s.x + Math.sign(o.x - s.x) * h, d), u = new n.Point(o.x + Math.sign(s.x - o.x) * h, d);
2144
+ this._distanceLineRenderer.setData({ points: [c, u], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: _.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: p.LineEnd.Normal, rightend: Math.abs(s.x - o.x) >= 25 * i.linewidth.value() ? p.LineEnd.Arrow : p.LineEnd.Normal }), this._renderer.append(this._distanceLineRenderer);
2145
+ const f = Math.round((s.x + o.x) / 2), v = new n.Point(f, s.y + Math.sign(o.y - s.y) * h), R = new n.Point(f, o.y + Math.sign(s.y - o.y) * h);
2146
+ this._distancePriceRenderer.setData({ points: [v, R], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: _.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: p.LineEnd.Normal, rightend: Math.abs(v.y - R.y) >= 25 * i.linewidth.value() ? p.LineEnd.Arrow : p.LineEnd.Normal }), this._renderer.append(this._distancePriceRenderer);
2147
+ const T = this._source.points()[0].price, S = this._source.points()[1].price, P = S - T, L = 100 * P / Math.abs(T), C = this._source.points()[0].index, M = this._source.points()[1].index, I = M - C, O = Object(a.forceLTRStr)(I + ""), N = this._model.timeScale().indexToUserTime(C), D = this._model.timeScale().indexToUserTime(M);
2148
+ let B = "";
2149
+ if (N && D) {
2150
+ const e = (D.valueOf() - N.valueOf()) / 1e3;
2151
+ B = ", " + Object(a.startWithLTR)(w.format(e));
2152
+ }
2153
+ const k = this._model.mainSeries().symbolInfo();
2154
+ k && k !== this._lastSymbolInfo && (this._pipFormatter = new g.PipFormatter(k.pricescale, k.minmov, k.type, k.minmove2), this._lastSymbolInfo = k);
2155
+ const A = Object(r.ensureNotNull)(this._source.ownerSource()).formatter().format(P) + " (" + x.format(Math.round(100 * L) / 100) + ") " + (this._pipFormatter ? this._pipFormatter.format(P) : "");
2156
+ let E = Object(a.forceLTRStr)(A) + "\n" + y.format({ count: O }) + B;
2157
+ const z = this._source.volume();
2158
+ let j;
2159
+ Number.isNaN(z) || (E += `\n${b} ${m.format(z)}`), j = S > T ? new n.Point(.5 * (s.x + o.x), o.y - 2 * i.fontsize.value()) : new n.Point(.5 * (s.x + o.x), o.y + .7 * i.fontsize.value());
2160
+ const V = { x: 0, y: 10 }, H = { points: [j], text: E, color: i.textcolor.value(), font: i.font.value(), offsetX: V.x, offsetY: V.y, padding: 8, vertAlign: "middle", horzAlign: "center", fontsize: i.fontsize.value(), backgroundRoundRect: 4, backgroundHorzInflate: .4 * i.fontsize.value(), backgroundVertInflate: .2 * i.fontsize.value() };
2161
+ i.fillLabelBackground && i.fillLabelBackground.value() && (H.backgroundColor = i.labelBackgroundColor.value()), this._textRenderer.setData(H);
2162
+ const W = this._textRenderer.measure(), F = Object(l.calculateLabelPosition)(W, s, o, V, e);
2163
+ this._textRenderer.setPoints([F]), this._renderer.append(this._textRenderer), this.addAnchors(this._renderer);
2164
+ }
2165
+ }
2166
+ }, V8bI: function (e, t, i) { e.exports = i.p + "898929f1acdb622689e0fc0c95c8fcd0.png"; }, VghZ: function (e, t, i) {
2167
+ "use strict";
2168
+ i.r(t), i.d(t, "PriceRangePaneView", (function () { return g; }));
2169
+ var r = i("Eyy1"), n = i("aO4+"), s = i("Ialn"), a = i("aB9a"), o = i("qgcf"), l = i("IjC5"), h = i("pJOz"), d = i("Zy3/"), c = i("GH0z"), u = i("8Uy/"), _ = i("a7Ha"), p = i("5C6T");
2170
+ const f = new c.PercentageFormatter;
2171
+ class g extends a.LineSourcePaneView {
2172
+ constructor() { super(...arguments), this._topBorderRenderer = new h.TrendLineRenderer, this._bottomBorderRenderer = new h.TrendLineRenderer, this._distanceRenderer = new h.TrendLineRenderer, this._backgroundRenderer = new l.RectangleRenderer, this._labelRenderer = new o.TextRenderer, this._renderer = new d.CompositeRenderer, this._pipFormatter = null, this._lastSymbolInfo = null; }
2173
+ renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
2174
+ _updateImpl(e, t) {
2175
+ if (super._updateImpl(), this._renderer.clear(), this._points.length < 2 || this._source.points().length < 2)
2176
+ return;
2177
+ const i = this._source.properties().childs(), a = i.extendLeft.value(), l = i.extendRight.value(), [h, d] = this._points, c = Math.min(h.x, d.x), g = Math.max(h.x, d.x);
2178
+ i.fillBackground.value() && (this._backgroundRenderer.setData({ points: [new n.Point(c, h.y), new n.Point(g, d.y)], color: "white", linewidth: 0, backcolor: i.backgroundColor.value(), fillBackground: !0, transparency: i.backgroundTransparency.value(), extendLeft: a, extendRight: l }), this._renderer.append(this._backgroundRenderer));
2179
+ const v = (e, t, r) => { e.setData({ points: [t, r], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: u.LINESTYLE_SOLID, extendleft: a, extendright: l, leftend: _.LineEnd.Normal, rightend: _.LineEnd.Normal }), this._renderer.append(e); };
2180
+ let w = c, x = g;
2181
+ w === x && (a && (w -= 1), l && (x += 1)), v(this._topBorderRenderer, new n.Point(w, h.y), new n.Point(x, h.y)), v(this._bottomBorderRenderer, new n.Point(w, d.y), new n.Point(x, d.y));
2182
+ const m = Math.round((h.x + d.x) / 2), y = new n.Point(m, h.y), b = new n.Point(m, d.y);
2183
+ this._distanceRenderer.setData({ points: [y, b], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: u.LINESTYLE_SOLID,
2184
+ extendleft: !1, extendright: !1, leftend: _.LineEnd.Normal, rightend: Math.abs(y.y - b.y) >= 15 * i.linewidth.value() ? _.LineEnd.Arrow : _.LineEnd.Normal }), this._renderer.append(this._distanceRenderer);
2185
+ const R = this._source.points()[0].price, T = this._source.points()[1].price, S = T - R, P = 100 * S / Math.abs(R), L = this._model.mainSeries().symbolInfo();
2186
+ L && L !== this._lastSymbolInfo && (this._pipFormatter = new p.PipFormatter(L.pricescale, L.minmov, L.type, L.minmove2), this._lastSymbolInfo = L);
2187
+ const C = Object(s.forceLTRStr)(Object(r.ensureNotNull)(this._source.ownerSource()).formatter().format(S) + " (" + f.format(P) + ") " + (this._pipFormatter ? this._pipFormatter.format(S) : ""));
2188
+ let M;
2189
+ M = T > R ? new n.Point(.5 * (h.x + d.x), d.y - 2 * i.fontsize.value()) : new n.Point(.5 * (h.x + d.x), d.y + .7 * i.fontsize.value());
2190
+ const I = { x: 0, y: 10 }, O = { points: [M], text: C, color: i.textcolor.value(), font: i.font.value(), offsetX: I.x, offsetY: I.y, padding: 8, vertAlign: "middle", horzAlign: "center", fontsize: i.fontsize.value(), backgroundRoundRect: 4, backgroundHorzInflate: .4 * i.fontsize.value(), backgroundVertInflate: .2 * i.fontsize.value() };
2191
+ i.fillLabelBackground.value() && (O.backgroundColor = i.labelBackgroundColor.value()), this._labelRenderer.setData(O);
2192
+ const N = this._labelRenderer.measure(), D = Object(o.calculateLabelPosition)(N, h, d, I, e);
2193
+ this._labelRenderer.setPoints([D]), this._renderer.append(this._labelRenderer), this.addAnchors(this._renderer);
2194
+ }
2195
+ }
2196
+ }, X4Cb: function (e, t, i) {
2197
+ "use strict";
2198
+ i.r(t), i.d(t, "GannComplexPaneView", (function () { return u; }));
2199
+ var r = i("aO4+"), n = i("aB9a"), s = i("pJOz"), a = i("qgcf"), o = i("Zy3/"), l = i("a7Ha"), h = i("8Uy/"), d = i("amvX"), c = i("Ialn");
2200
+ class u extends n.LineSourcePaneView {
2201
+ constructor(e, t) { super(e, t), this._verticalLevelsRenderers = [], this._horizontalLevelsRenderers = [], this._fanRenderers = [], this._arcRenderers = [], this._priceDiffTextRenderer = new a.TextRenderer, this._indexDiffTextRenderer = new a.TextRenderer, this._ratioTextRenderer = new a.TextRenderer, this._renderer = null, this._initRenderers(); }
2202
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2203
+ _updateImpl() { super._updateImpl(), this._renderer = null; const e = new o.CompositeRenderer, t = this._getPoints(); if (t.length < 2)
2204
+ return this.addAnchors(e), void (this._renderer = e); let [i, r] = t; const n = this._getSource(), s = n.isReversed(); s && ([r, i] = t); const a = r.x - i.x, l = r.y - i.y, h = i, d = r, c = this._getModel(), u = { barsCoordsRange: a, priceCoordsRange: l, startPoint: h, endPoint: d, p1: i, p2: r, isLabelsVisible: n.isLabelsVisible(), reversed: s }; this._prepareLevels(e, u), this._prepareFanLines(e, u), this._prepareArcs(e, u), this._prepareLabels(e, u); const _ = [i, r]; c.lineBeingCreated() === n && _.pop(), e.append(this.createLineAnchor({ points: _ }, 0)), this._renderer = e; }
2205
+ _initRenderers() { const e = this._getSource(), t = e.levelsCount(); for (let e = 0; e < t; e++)
2206
+ this._verticalLevelsRenderers.push(new s.TrendLineRenderer), this._horizontalLevelsRenderers.push(new s.TrendLineRenderer); const i = e.fanLinesCount(); for (let e = 0; e < i; e++)
2207
+ this._fanRenderers.push(new s.TrendLineRenderer); const r = e.arcsCount(); for (let e = 0; e < r; e++)
2208
+ this._arcRenderers.push(new d.a); }
2209
+ _prepareLevels(e, t) {
2210
+ const { startPoint: i, endPoint: n, barsCoordsRange: s, priceCoordsRange: a } = t, o = this._getSource().levels();
2211
+ for (const t of o) {
2212
+ if (!t.visible)
2213
+ continue;
2214
+ const o = t.index / 5, d = i.x + o * s, c = { points: [new r.Point(d, i.y), new r.Point(d, n.y)], color: t.color, linewidth: t.width, linestyle: h.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }, u = this._verticalLevelsRenderers[t.index];
2215
+ u.setData(c), e.append(u);
2216
+ const _ = i.y + o * a, p = { points: [new r.Point(i.x, _), new r.Point(n.x, _)], color: t.color, linewidth: t.width, linestyle: h.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }, f = this._horizontalLevelsRenderers[t.index];
2217
+ f.setData(p), e.append(f);
2218
+ }
2219
+ }
2220
+ _prepareFanLines(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: o } = t, d = this._getSource().fanLines(); for (const t of d) {
2221
+ if (!t.visible)
2222
+ continue;
2223
+ const d = t.x, c = t.y;
2224
+ let u, _;
2225
+ if (d > c) {
2226
+ u = s.x;
2227
+ const e = c / d;
2228
+ _ = n.y + e * o;
2229
+ }
2230
+ else {
2231
+ _ = s.y;
2232
+ const e = d / c;
2233
+ u = n.x + e * a;
2234
+ }
2235
+ const p = { points: [i, new r.Point(u, _)], color: t.color, linewidth: t.width, linestyle: h.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }, f = this._fanRenderers[t.index];
2236
+ f.setData(p), e.append(f);
2237
+ } }
2238
+ _prepareArcs(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: o } = t; let l = i; const h = this._getSource(), d = h.isArcsBackgroundFilled(), c = h.arcsBackgroundTransparency(), u = h.arcs(); for (const t of u) {
2239
+ if (!t.visible)
2240
+ continue;
2241
+ const i = t.x / 5, h = t.y / 5, u = n.x + i * a, _ = n.y + h * o, p = { center: n, point: new r.Point(u, _), edge: s, color: t.color, linewidth: t.width, fillBack: d, transparency: c, prevPoint: l }, f = this._arcRenderers[t.index];
2242
+ f.setData(p), e.append(f), l = p.point;
2243
+ } }
2244
+ _prepareLabels(e, t) { const { p1: i, p2: n, isLabelsVisible: s, reversed: a } = t; if (!s)
2245
+ return; const o = this._getSource(), l = o.ownerSource(); let h = o.getPriceDiff(), d = o.getIndexDiff(); if (null === h || null === d || null === l)
2246
+ return; a && (h = -h, d = -d); const u = new r.Point(i.x, n.y), _ = Object(c.forceLTRStr)(l.formatter().format(h)), p = this._getLabelData(u, _); p.horzAlign = d > 0 ? "right" : "left", p.vertAlign = h > 0 ? "bottom" : "top", p.offsetX = 10, p.offsetY = h > 0 ? 8 : 10, p.forceTextAlign = !0, this._priceDiffTextRenderer.setData(p), e.append(this._priceDiffTextRenderer); const f = new r.Point(n.x, i.y), g = Object(c.forceLTRStr)(d.toString()), v = this._getLabelData(f, g); v.horzAlign = d > 0 ? "left" : "right", v.vertAlign = h > 0 ? "top" : "bottom", v.offsetX = 10, v.offsetY = h > 0 ? 10 : 8, v.forceTextAlign = !0, this._indexDiffTextRenderer.setData(v), e.append(this._indexDiffTextRenderer); const w = o.getScaleRatio(); if (null === w)
2247
+ return; const x = o.getScaleRatioFormatter(), m = Object(c.forceLTRStr)(x.format(w)), y = this._getLabelData(n, m); y.horzAlign = d > 0 ? "left" : "right", y.vertAlign = h > 0 ? "bottom" : "top", y.offsetX = 10, y.offsetY = h > 0 ? 8 : 10, y.forceTextAlign = !0, this._ratioTextRenderer.setData(y), e.append(this._ratioTextRenderer); }
2248
+ _getLabelData(e, t) {
2249
+ const i = this._getSource(), { textColor: r, font: n, fontSize: s, bold: a, italic: o } = i.getLabelsStyle();
2250
+ return { points: [e], backgroundColor: "transparent", text: t, font: n, bold: a, italic: o, fontsize: s, color: r, vertAlign: "top", horzAlign: "center", offsetX: 0, offsetY: 0, backgroundRoundRect: 4
2251
+ };
2252
+ }
2253
+ }
2254
+ }, XHET: function (e, t, i) {
2255
+ "use strict";
2256
+ var r = i("aO4+").Point, n = i("YFKU").t, s = i("aB9a").LineSourcePaneView, a = i("5/lF").TrendLineStatsRenderer, o = i("qgcf").TextRenderer, l = i("pJOz").TrendLineRenderer, h = i("Zy3/").CompositeRenderer, d = i("GH0z").PercentageFormatter, c = i("vq8G").SelectionRenderer, u = i("5C6T").PipFormatter, _ = i("a7Ha").LineEnd, p = i("8xAY").LabelSettings, f = i("zDbI").CHART_FONT_FAMILY, g = i("VdBB").HitTestResult, v = i("cPgM").ScaledPaneRenderer, w = i("cPgM").ScaledPaneRendererWrapper, x = i("Ialn").forceLTRStr;
2257
+ class m extends v {
2258
+ constructor() { super(), this._data = null; }
2259
+ setData(e) { this._data = e; }
2260
+ hitTest() { return null; }
2261
+ _drawImpl(e) { if (null !== this._data) {
2262
+ e.save(), e.translate(this._data.point.x, this._data.point.y), e.strokeStyle = this._data.color;
2263
+ var t = [1, 2];
2264
+ "function" == typeof e.setLineDash ? e.setLineDash(t) : void 0 !== e.mozDash ? e.mozDash = t : void 0 !== e.webkitLineDash && (e.webkitLineDash = t);
2265
+ var i = this._data.size;
2266
+ e.beginPath(), e.moveTo(0, 0), e.lineTo(i, 0), e.arc(0, 0, i, 0, -this._data.angle, this._data.angle > 0), e.stroke(), e.restore();
2267
+ } }
2268
+ }
2269
+ t.TrendAnglePaneView = class extends s {
2270
+ constructor(e, t) { super(e, t), this._label = null, this._rendererCache = {}, this._pipFormatter = null, this._lastSymbolInfo = null, this._trendLineRenderer = new l, this._angleRenderer = new m, this._angleLabelRenderer = new o, this._renderer = null; }
2271
+ _updateImpl() {
2272
+ if (super._updateImpl(), this._renderer = null, this._points.length > 0 && void 0 !== this._source._angle) {
2273
+ var e = this._points[0], t = Math.cos(this._source._angle), i = -Math.sin(this._source._angle), s = new r(t, i);
2274
+ this._secondPoint = e.addScaled(s, this._source._distance), this._secondPoint.data = 1, this._middlePoint = this._source.calcMiddlePoint(this._points[0], this._secondPoint);
2275
+ }
2276
+ if (this._label = null, !(this._source.points().length < 2)) {
2277
+ e = this._source.points()[0];
2278
+ var o, l, v = this._source.points()[1], m = [];
2279
+ if (this._source.properties().showPriceRange.value() && this._source.priceScale()) {
2280
+ var y = v.price - e.price, b = y / Math.abs(e.price);
2281
+ o = this._source.ownerSource().formatter().format(y) + " (" + (new d).format(100 * b) + ") ";
2282
+ var R = this._model.mainSeries().symbolInfo();
2283
+ R && R !== this._lastSymbolInfo && (this._pipFormatter = new u(R.pricescale, R.minmov, R.type, R.minmove2), this._lastSymbolInfo = R), o += this._pipFormatter ? ", " + this._pipFormatter.format(y) : "", m.push("priceRange");
2284
+ }
2285
+ if (this._source.properties().showBarsRange.value()) {
2286
+ l = "";
2287
+ var T = v.index - e.index;
2288
+ l += n("{count} bars").format({ count: x(T) }), m.push("barsRange");
2289
+ }
2290
+ this._label = [x(o), l].filter((function (e) { return e; })).join("\n") || null, this._icons = m;
2291
+ var S = new h, P = {}, L = this.isHoveredSource() || this.isSelectedSource() || this._source.properties().alwaysShowStats.value(), C = (this.isHoveredSource() || this.isSelectedSource()) && this._source.properties().showMiddlePoint.value();
2292
+ if (this._secondPoint && this._points.length > 0) {
2293
+ var M = this._source.properties().linecolor.value();
2294
+ if (P.points = [this._points[0], this._secondPoint], P.width = this._model.timeScale().width(), P.height = this._source.priceScale().height(), P.color = M, P.linewidth = this._source.properties().linewidth.value(), P.linestyle = this._source.properties().linestyle.value(),
2295
+ P.extendleft = this._source.properties().extendLeft.value(), P.extendright = this._source.properties().extendRight.value(), P.leftend = _.Normal, P.rightend = _.Normal, this._trendLineRenderer.setData(P), S.append(this._trendLineRenderer), L && this._label && 2 === this._points.length) {
2296
+ var I = this._source.properties().statsPosition.value(), O = this._source.getPointByPosition(I, P.points[0], this._middlePoint, P.points[1]), N = this._model.isDark(), D = N ? p.bgColorDark : p.bgColorLight, B = N ? p.textColorDark : p.textColorLight, k = { points: [O], text: this._label, color: B, isDark: N, font: f, fontSize: p.fontSize, lineSpacing: p.lineSpacing, backgroundColor: D, backgroundRoundRect: p.rectRadius, paddingLeft: p.paddingLeftRight, paddingRight: p.paddingLeftRight, paddingTop: p.paddingTopBottom, paddingBottom: p.paddingTopBottom, textPadding: p.textPadding, doNotAlignText: !0, icons: this._icons }, A = p.offset;
2297
+ k.offsetX = A, k.offsetY = A, (this._points[1].y < this._points[0].y && this._points[1].x < this._points[0].x || this._points[1].y > this._points[0].y && this._points[1].x > this._points[0].x) && (k.vertAlign = "bottom"), S.append(new w(new a(k, this._rendererCache)));
2298
+ }
2299
+ this._middlePoint && S.append(new c({ points: [this._middlePoint], bgColors: this._lineAnchorColors([this._middlePoint]), color: M, visible: C && this.areAnchorsVisible(), hittestResult: g.REGULAR }));
2300
+ var E = {};
2301
+ E.point = this._points[0], E.angle = this._source._angle, E.color = this._source.properties().linecolor.value(), E.size = 50, this._angleRenderer.setData(E), S.append(this._angleRenderer);
2302
+ var z = Math.round(180 * E.angle / Math.PI) + "º";
2303
+ (O = this._points[0].clone()).x = O.x + 50;
2304
+ var j = { points: [O], text: x(z), color: this._source.properties().textcolor.value(), horzAlign: "left", font: this._source.properties().font.value(), offsetX: 5, offsetY: 0, bold: this._source.properties().bold.value(), italic: this._source.properties().italic.value(), fontsize: this._source.properties().fontsize.value(), vertAlign: "middle" };
2305
+ this._angleLabelRenderer.setData(j), S.append(this._angleLabelRenderer);
2306
+ }
2307
+ 0, this._secondPoint && this._points.length > 0 && S.append(this.createLineAnchor({ points: [this._points[0], this._secondPoint] }, 0)), this._renderer = S;
2308
+ }
2309
+ }
2310
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2311
+ };
2312
+ }, ZJWf: function (e, t, i) {
2313
+ "use strict";
2314
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("2trc").ChannelRenderer, a = i("qgcf").TextRenderer, o = i("pJOz").TrendLineRenderer, l = i("VdBB").HitTestResult, h = i("Zy3/").CompositeRenderer, d = i("a7Ha").LineEnd;
2315
+ t.GannFanPaneView = class extends n {
2316
+ constructor(e, t) { super(e, t), this._renderer = null; }
2317
+ _updateImpl() {
2318
+ if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
2319
+ var e = this._floatPoints[0], t = this._floatPoints[1];
2320
+ this._fans = [];
2321
+ for (var i = t.x - e.x, n = t.y - e.y, c = 1; c <= 9; c++) {
2322
+ var u = "level" + c, _ = this._source.properties()[u];
2323
+ if (_.visible.value()) {
2324
+ var p, f, g = _.coeff1.value(), v = _.coeff2.value(), w = g / v, x = _.color.value(), m = g + "/" + v;
2325
+ g > v ? (p = t.x, f = e.y + n / w) : (p = e.x + i * w, f = t.y), this._fans.push({ label: m, color: x, x: p, y: f, linewidth: _.linewidth.value(), linestyle: _.linestyle.value(),
2326
+ index: c });
2327
+ }
2328
+ }
2329
+ if (!(this._floatPoints.length < 2)) {
2330
+ var y = new h, b = (e = this._floatPoints[0], this._source.properties()), R = this._source.properties().fillBackground.value(), T = this._source.properties().transparency.value();
2331
+ for (c = 0; c < this._fans.length; c++) {
2332
+ var S = new r(this._fans[c].x, this._fans[c].y);
2333
+ if (R)
2334
+ if (this._fans[c].index < 4) {
2335
+ var P = new r(this._fans[c + 1].x, this._fans[c + 1].y);
2336
+ (L = {}).width = this._model.timeScale().width(), L.height = this._source.priceScale().height(), L.p1 = e, L.p2 = S, L.p3 = e, L.p4 = P, L.color = this._fans[c].color, L.transparency = T, L.hittestOnBackground = !0, (C = new s).setData(L), y.append(C);
2337
+ }
2338
+ else if (this._fans[c].index > 4 && c > 0) {
2339
+ var L;
2340
+ P = new r(this._fans[c - 1].x, this._fans[c - 1].y);
2341
+ (L = {}).width = this._model.timeScale().width(), L.height = this._source.priceScale().height(), L.p1 = e, L.p2 = S, L.p3 = e, L.p4 = P, L.color = this._fans[c].color, L.transparency = T, L.hittestOnBackground = !0, (C = new s).setData(L), y.append(C);
2342
+ }
2343
+ var C, M = { points: [e, S], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._fans[c].color, linewidth: this._fans[c].linewidth, linestyle: this._fans[c].linestyle, extendleft: !1, extendright: !0, leftend: d.Normal, rightend: d.Normal };
2344
+ if ((C = new o).setData(M), C.setHitTest(new l(l.MOVEPOINT, null, this._fans[c].index)), y.append(C), b.showLabels.value()) {
2345
+ var I = { points: [S], text: this._fans[c].label, color: this._fans[c].color, vertAlign: "middle", horzAlign: "left", font: b.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
2346
+ y.append(new a(I));
2347
+ }
2348
+ }
2349
+ this.addAnchors(y), this._renderer = y;
2350
+ }
2351
+ }
2352
+ }
2353
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2354
+ };
2355
+ }, a6on: function (e, t, i) {
2356
+ "use strict";
2357
+ i.r(t);
2358
+ var r = i("Tmoa"), n = i("aB9a"), s = i("cPgM"), a = i("VdBB"), o = i("2hKl"), l = i("jFln"), h = i("pJOz"), d = i("a7Ha"), c = i("e9yB"), u = i("Zp/P");
2359
+ class _ extends s.ScaledPaneRenderer {
2360
+ constructor(e) { super(), this._data = e || null; }
2361
+ setData(e) { this._data = e; }
2362
+ hitTest(e, t) { const i = this._data; if (null === i)
2363
+ return null; if (4 === i.points.length) {
2364
+ const t = Object(u.interactionTolerance)().curve, [r, n, s, l] = i.points, h = l.subtract(r), d = s.subtract(h.scaled(.25)), _ = s.add(h.scaled(.25)), p = n.subtract(s), f = l.subtract(p.scaled(.25)), g = l.add(p.scaled(.25));
2365
+ if (Object(o.c)(s, r, d, e, t) || Object(o.a)(s, l, _, f, e, t) || Object(o.c)(l, n, g, e, t))
2366
+ return new a.HitTestResult(a.HitTestResult.MOVEPOINT);
2367
+ let v = Object(c.c)(e, t, i.extendLeftPoints);
2368
+ return null === v && (v = Object(c.c)(e, t, i.extendRightPoints)), v;
2369
+ } return null; }
2370
+ _drawImpl(e, t) {
2371
+ if (null === this._data)
2372
+ return;
2373
+ e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.lineWidth, Object(l.setLineStyle)(e, this._data.lineStyle);
2374
+ const i = this._data.points[0], r = this._data.points[1];
2375
+ if (2 === this._data.points.length)
2376
+ e.beginPath(), e.moveTo(i.x, i.y), e.lineTo(r.x, r.y), e.stroke(), this._data.leftEnd === d.LineEnd.Arrow && Object(h.drawArrow)(r, i, e, e.lineWidth, t.pixelRatio), this._data.rightEnd === d.LineEnd.Arrow && Object(h.drawArrow)(i, r, e, e.lineWidth, t.pixelRatio);
2377
+ else {
2378
+ const n = this._data.points[2], s = this._data.points[3], a = s.subtract(i), o = n.subtract(a.scaled(.25)), l = n.add(a.scaled(.25)), u = r.subtract(n), _ = s.subtract(u.scaled(.25)), p = s.add(u.scaled(.25));
2379
+ this._data.fillBack && this._data.points.length > 2 && (e.fillStyle = this._data.backColor, e.beginPath(), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.bezierCurveTo(l.x, l.y, _.x, _.y, s.x, s.y), e.quadraticCurveTo(p.x, p.y, r.x, r.y), e.fill()), e.beginPath(), Object(c.b)(e, this._data.extendLeftPoints), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.bezierCurveTo(l.x, l.y, _.x, _.y, s.x, s.y), e.quadraticCurveTo(p.x, p.y, r.x, r.y), Object(c.b)(e, this._data.extendRightPoints), e.stroke(), this._data.leftEnd === d.LineEnd.Arrow && Object(h.drawArrow)(o, i, e, e.lineWidth, t.pixelRatio), this._data.rightEnd === d.LineEnd.Arrow && Object(h.drawArrow)(p, r, e, e.lineWidth, t.pixelRatio);
2380
+ }
2381
+ }
2382
+ }
2383
+ var p = i("Zy3/"), f = i("4Ptp"), g = i("Eyy1");
2384
+ i.d(t, "BezierCubicPaneView", (function () { return v; }));
2385
+ class v extends n.LineSourcePaneView {
2386
+ constructor() { super(...arguments), this._bezierCubicRenderer = new _, this._renderer = null, this._extendedSegmentLeftCache = null, this._extendedSegmentRightCache = null; }
2387
+ renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
2388
+ _updateImpl(e, t) { if (super._updateImpl(e, t), this._renderer = null, this._points.length < 2)
2389
+ return; const i = this._source.properties().childs(); let n = [], s = []; if (4 === this._source.points().length) {
2390
+ const r = this._source.pointToScreenPoint(this._source.points()[0])[1], a = this._source.pointToScreenPoint(this._source.points()[1])[1], o = this._source.pointToScreenPoint(this._source.points()[2])[1], l = this._source.pointToScreenPoint(this._source.points()[3])[1], h = l.subtract(r), d = o.subtract(h.scaled(.25)), c = a.subtract(o), u = l.add(c.scaled(.25));
2391
+ i.extendLeft.value() && (n = this._extendSegmentLeft(o, r, d, t, e)), i.extendRight.value() && (s = this._extendSegmentRight(l, a, u, t, e));
2392
+ } const a = this._points.slice(), o = this._source.controlPoints(); null !== o && (a.push(this._source.pointToScreenPoint(o[0])[0]), a.push(this._source.pointToScreenPoint(o[1])[0])); const l = { points: a, color: i.linecolor.value(), lineWidth: i.linewidth.value(), lineStyle: i.linestyle.value(), leftEnd: i.leftEnd.value(), rightEnd: i.rightEnd.value(), fillBack: i.fillBackground.value(), backColor: Object(r.generateColor)(i.backgroundColor.value(), i.transparency.value()), extendLeftPoints: n, extendRightPoints: s }; this._bezierCubicRenderer.setData(l); const h = new p.CompositeRenderer; h.append(this._bezierCubicRenderer), this.addAnchors(h), this._renderer = h; }
2393
+ _extendSegmentLeft(e, t, i, r, n) { return Object(f.cacheIsValid)(this._extendedSegmentLeftCache, e, t, i, r, n) || (this._extendedSegmentLeftCache = { p1: e, p2: t, p3: i, width: r, height: n, segment: Object(o.b)(e, t, i, r, n) }), Object(g.ensureNotNull)(this._extendedSegmentLeftCache).segment; }
2394
+ _extendSegmentRight(e, t, i, r, n) { return Object(f.cacheIsValid)(this._extendedSegmentRightCache, e, t, i, r, n) || (this._extendedSegmentRightCache = { p1: e, p2: t, p3: i, width: r, height: n, segment: Object(o.b)(e, t, i, r, n) }), Object(g.ensureNotNull)(this._extendedSegmentRightCache).segment; }
2395
+ }
2396
+ }, aB9a: function (e, t, i) {
2397
+ "use strict";
2398
+ i.r(t);
2399
+ var r = i("aO4+"), n = i("VaSN"), s = i("VdBB"), a = i("vq8G"), o = i("f6yo"), l = i("gAom"), h = i("ogJP"), d = i("//lt"), c = i("Zp/P"), u = i("Eyy1");
2400
+ class _ extends r.Point {
2401
+ constructor(e, t, i, r) {
2402
+ super(e, t),
2403
+ this.data = i, this.square = r;
2404
+ }
2405
+ }
2406
+ function p(e, t, i, r) { const n = i + r / 2; Object(l.drawRoundRect)(e, t.x - n, t.y - n, 2 * n, 2 * n, (i + r) / 2), e.closePath(), e.lineWidth = r; }
2407
+ function f(e, t, i, r) { e.globalAlpha = .2, p(e, t, i, r), e.stroke(), e.globalAlpha = 1; }
2408
+ function g(e, t, i, r) { p(e, t, i - r, r), e.fill(), e.stroke(); }
2409
+ function v(e, t, i, r) { e.globalAlpha = .2, e.beginPath(), e.arc(t.x, t.y, i + r / 2, 0, 2 * Math.PI, !0), e.closePath(), e.lineWidth = r, e.stroke(), e.globalAlpha = 1; }
2410
+ function w(e, t, i, r) { e.beginPath(), e.arc(t.x, t.y, i - r / 2, 0, 2 * Math.PI, !0), e.closePath(), e.lineWidth = r, e.fill(), e.stroke(); }
2411
+ class x {
2412
+ constructor(e) { this._data = null != e ? e : null; }
2413
+ setData(e) { this._data = e; }
2414
+ draw(e, t) { if (null === this._data || !this._data.visible)
2415
+ return; const i = [], r = [], n = [], s = []; for (let e = 0; e < this._data.points.length; ++e) {
2416
+ const t = this._data.points[e], a = this._data.backgroundColors[e];
2417
+ t.square ? (i.push(t), r.push(a)) : (n.push(t), s.push(a));
2418
+ } i.length && (e.strokeStyle = this._data.color, this._drawPoints(e, t.pixelRatio, i, r, g, f)), n.length && (e.strokeStyle = this._data.color, this._drawPoints(e, t.pixelRatio, n, s, w, v)); }
2419
+ hitTest(e) { if (null === this._data)
2420
+ return null; const t = this._data.radius, i = Object(c.interactionTolerance)().anchor; for (let r = 0; r < this._data.points.length; ++r) {
2421
+ const n = this._data.points[r];
2422
+ if (n.subtract(e).length() <= t + i) {
2423
+ const e = void 0 !== this._data.pointsCursorType ? this._data.pointsCursorType[r] : d.PaneCursorType.Default;
2424
+ return new s.HitTestResult(this._data.hittestResult, { pointIndex: n.data, cursorType: e });
2425
+ }
2426
+ } return null; }
2427
+ doesIntersectWithBox(e) { return null !== this._data && this._data.points.some(t => Object(o.pointInBox)(t, e)); }
2428
+ _drawPoints(e, t, i, r, n, s) { const a = Object(u.ensureNotNull)(this._data), o = a.currentPoint, l = a.radius; let d = Math.max(1, Math.floor((a.strokeWidth || 2) * t)); a.selected && (d += Math.max(1, Math.floor(t / 2))); const p = Math.max(1, Math.floor(t)); let f = Math.round(l * t * 2); f % 2 != p % 2 && (f += 1); const g = p % 2 / 2, v = Object(c.interactionTolerance)().anchor; for (let c = 0; c < i.length; ++c) {
2429
+ const u = i[c];
2430
+ e.fillStyle = r[c];
2431
+ if (!(Object(h.isInteger)(u.data) && a.linePointBeingEdited === u.data)) {
2432
+ n(e, new _(Math.round(u.x * t) + g, Math.round(u.y * t) + g, u.data, u.square), f / 2, d);
2433
+ if (u.subtract(o).length() <= l + v) {
2434
+ const i = Math.max(1, Math.floor(a.selectedStrokeWidth * t));
2435
+ let r = Math.round(l * t * 2);
2436
+ r % 2 != p % 2 && (r += 1);
2437
+ s(e, new _(Math.round(u.x * t) + g, Math.round(u.y * t) + g, u.data, u.square), r / 2, i);
2438
+ }
2439
+ }
2440
+ } }
2441
+ }
2442
+ function m(e, t) { const i = t.x - e.x, r = t.y - e.y, n = Math.abs(Math.atan2(i, r)); return n > Math.PI / 4 && n < 3 * Math.PI / 4 ? d.PaneCursorType.VerticalResize : d.PaneCursorType.HorizontalResize; }
2443
+ i.d(t, "thirdPointCursorType", (function () { return m; })), i.d(t, "LineSourcePaneView", (function () { return y; }));
2444
+ class y {
2445
+ constructor(e, t) { this._invalidated = !0, this._points = [], this._floatPoints = [], this._middlePoint = null, this._selectionRenderers = [], this._lineAnchorRenderers = [], this._source = e, this._model = t; }
2446
+ priceToCoordinate(e) { const t = this._source.priceScale(); if (null === t)
2447
+ return null; const i = this._source.ownerSource(), r = null !== i ? i.firstValue() : null; return null === r ? null : t.priceToCoordinate(e, r); }
2448
+ currentPoint() { const e = this._model.crossHairSource(); return new r.Point(e.originX(), e.originY()); }
2449
+ anchorColor() { return "#1E53E5"; }
2450
+ isHoveredSource() {
2451
+ return this._source === this._model.hoveredSource();
2452
+ }
2453
+ isSelectedSource() { return this._model.selection().isSelected(this._source); }
2454
+ isBeingEdited() { return this._model.lineBeingEdited() === this._source; }
2455
+ isEditMode() { return !this._model.isSnapshot(); }
2456
+ areAnchorsVisible() { return (this.isHoveredSource() && !this.isLocked() || this.isSelectedSource()) && this.isEditMode(); }
2457
+ update() { this._invalidated = !0; }
2458
+ isLocked() { return Boolean(this._source.isLocked && this._source.isLocked()); }
2459
+ addAnchors(e) { let t = this._points; this._model.lineBeingCreated() === this._source && (t = t.slice(0, -1)), e.append(this.createLineAnchor({ points: t }, 0)); }
2460
+ createLineAnchor(e, t) { if (this.isLocked()) {
2461
+ const i = this._getSelectionRenderer(t);
2462
+ return i.setData({ bgColors: this._lineAnchorColors(e.points), points: e.points, visible: this.areAnchorsVisible(), hittestResult: s.HitTestResult.REGULAR, barSpacing: this._model.timeScale().barSpacing() }), i;
2463
+ } const i = Object(n.lastEventIsTouch)(), r = this._getLineAnchorRenderer(t); return r.setData(Object.assign(Object.assign({}, e), { color: this.anchorColor(), backgroundColors: this._lineAnchorColors(e.points), currentPoint: this.currentPoint(), linePointBeingEdited: this.isBeingEdited() ? this._model.linePointBeingEdited() : null, hittestResult: s.HitTestResult.CHANGEPOINT, radius: i ? 13 : 6, strokeWidth: i ? 2 : 1, selected: this.isSelectedSource(), selectedStrokeWidth: i ? 0 : 3, visible: this.areAnchorsVisible() })), r; }
2464
+ _lineAnchorColors(e) { const t = Object(u.ensureNotNull)(this._model.paneForSource(this._source)).height(); return e.map(e => this._model.backgroundColorAtYPercentFromTop(e.y / t)); }
2465
+ _updateImpl(e, t) { this._points = [], this._floatPoints = []; if (this._model.timeScale().isEmpty())
2466
+ return; if (!this._validatePriceScale())
2467
+ return; const i = this._source.points(); for (let e = 0; e < i.length; e++) {
2468
+ const t = i[e], r = this._source.pointToScreenPoint(t);
2469
+ if (!r)
2470
+ return;
2471
+ const n = r[0];
2472
+ n.data = e;
2473
+ const s = r[1];
2474
+ s.data = e, this._floatPoints.push(n), this._points.push(s);
2475
+ } 2 === this._points.length && (this._middlePoint = this._source.calcMiddlePoint(this._points[0], this._points[1])), this._invalidated = !1; }
2476
+ _validatePriceScale() { const e = this._source.priceScale(); return null !== e && !e.isEmpty(); }
2477
+ _getSource() { return this._source; }
2478
+ _getPoints() { return this._points; }
2479
+ _getModel() { return this._model; }
2480
+ _height() { const e = this._source.priceScale(); return null !== e ? e.height() : 0; }
2481
+ _width() { return this._model.timeScale().width(); }
2482
+ _getSelectionRenderer(e) { for (; this._selectionRenderers.length <= e;)
2483
+ this._selectionRenderers.push(new a.SelectionRenderer); return this._selectionRenderers[e]; }
2484
+ _getLineAnchorRenderer(e) { for (; this._lineAnchorRenderers.length <= e;)
2485
+ this._lineAnchorRenderers.push(new x); return this._lineAnchorRenderers[e]; }
2486
+ }
2487
+ }, "am+t": function (e, t, i) {
2488
+ "use strict";
2489
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("VdBB").HitTestResult, a = i("Zy3/").CompositeRenderer, o = i("Tmoa"), l = i("cPgM").ScaledPaneRenderer;
2490
+ class h extends l {
2491
+ constructor() { super(), this._data = null; }
2492
+ setData(e) { this._data = e; }
2493
+ _drawImpl(e) {
2494
+ null !== this._data && (e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, CanvasEx.setLineStyle(e, this._data.linestyle), e.save(), e.translate(this._data.point.x + 1, this._data.point.y),
2495
+ e.scale(this._data.width, this._data.height), e.beginPath(), e.arc(.5, 0, .5, Math.PI, 0, !1), e.restore(), e.stroke(), this._data.fillBackground && (e.fillStyle = o.generateColor(this._data.backcolor, this._data.transparency), e.fill()));
2496
+ }
2497
+ hitTest(e) { if (null === this._data || e.y > this._data.point.y)
2498
+ return null; if (e.x < this._data.point.x || e.x > this._data.point.x + this._data.width)
2499
+ return null; var t = new r(this._data.point.x + this._data.width / 2, this._data.point.y), i = e.subtract(t), n = this._data.height / this._data.width; i.y /= n; var a = i.length(); return Math.abs(a - this._data.width / 2) < 3 ? new s(s.MOVEPOINT) : null; }
2500
+ }
2501
+ t.TimeCyclesPaneView = class extends n {
2502
+ constructor(e, t) { super(e, t), this._renderer = null; }
2503
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2504
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._points.length < 2)) {
2505
+ var e = this._source.points(), t = e[0], i = e[1], n = Math.min(t.index, i.index), s = Math.max(t.index, i.index), o = s - n, l = this._points[0], d = this._points[1], c = Math.abs(l.x - d.x), u = new a, _ = this._source.properties(), p = this._model.timeScale();
2506
+ if (0 !== o) {
2507
+ for (var f = Math.min(l.x, d.x), g = [], v = n; f > -c; v -= o)
2508
+ f = p.indexToCoordinate(v), g.push(f);
2509
+ f = Math.max(l.x, d.x);
2510
+ for (v = s; f < p.width(); v += o)
2511
+ f = p.indexToCoordinate(v), g.push(f);
2512
+ for (var w = 0; w < g.length; w++) {
2513
+ var x = { point: new r(g[w], l.y), width: c, height: c, color: _.linecolor.value(), linewidth: _.linewidth.value(), linestyle: _.linestyle.value(), fillBackground: _.fillBackground.value(), backcolor: _.backgroundColor.value(), transparency: _.transparency.value() }, m = new h;
2514
+ m.setData(x), u.append(m);
2515
+ }
2516
+ this.addAnchors(u), this._renderer = u;
2517
+ }
2518
+ } }
2519
+ };
2520
+ }, amUF: function (e, t, i) {
2521
+ "use strict";
2522
+ i.r(t), i.d(t, "CrossLinePaneView", (function () { return l; }));
2523
+ var r = i("aB9a"), n = i("l4sv"), s = i("z+cS"), a = i("Zy3/"), o = i("VdBB");
2524
+ class l extends r.LineSourcePaneView {
2525
+ constructor(e, t) { super(e, t), this._renderer = null, this._horizLineRenderer = new n.HorizontalLineRenderer, this._vertLineRenderer = new s.VerticalLineRenderer, this._horizLineRenderer.setHitTest(new o.HitTestResult(o.HitTestResult.MOVEPOINT)); }
2526
+ update() { this._invalidated = !0; }
2527
+ renderer() { return this._invalidated && (this._updateImpl(), this._invalidated = !1), this._renderer; }
2528
+ _updateImpl() { super._updateImpl(), this._renderer = null; const e = this._getPoints(); if (0 === e.length)
2529
+ return; const t = { color: this._getSource().lineColor(), linestyle: this._getSource().lineStyle(), linewidth: this._getSource().lineWidth(), x: e[0].x, y: e[0].y }; this._horizLineRenderer.setData(t), this._vertLineRenderer.setData(t); const i = new a.CompositeRenderer; i.append(this._horizLineRenderer), i.append(this._vertLineRenderer), this.addAnchors(i), this._renderer = i; }
2530
+ }
2531
+ }, amvX: function (e, t, i) {
2532
+ "use strict";
2533
+ i.d(t, "a", (function () { return o; }));
2534
+ var r = i("aO4+"), n = i("Tmoa"), s = i("VdBB"), a = i("cPgM");
2535
+ class o extends a.ScaledPaneRenderer {
2536
+ constructor() { super(), this._data = null; }
2537
+ setData(e) { this._data = e; }
2538
+ hitTest(e) {
2539
+ if (null === this._data)
2540
+ return null;
2541
+ e = e.subtract(this._data.center);
2542
+ const t = this._data.edge.subtract(this._data.center), i = t.y / t.x;
2543
+ e = new r.Point(e.x, e.y / i);
2544
+ let n = this._data.point.subtract(this._data.center);
2545
+ n = new r.Point(n.x, n.y / i);
2546
+ const a = n.length(), o = e.length();
2547
+ let l = this._data.prevPoint.subtract(this._data.center);
2548
+ l = new r.Point(l.x, l.y / i);
2549
+ const h = l.length();
2550
+ return Math.abs(o - a) < 5 && t.x * e.x >= 0 && t.y * e.y >= 0 ? new s.HitTestResult(s.HitTestResult.MOVEPOINT) : this._data.fillBack && o >= h && o <= a && t.x * e.x >= 0 && t.y * e.y >= 0 ? new s.HitTestResult(s.HitTestResult.MOVEPOINT_BACKGROUND) : null;
2551
+ }
2552
+ _drawImpl(e) { if (null === this._data)
2553
+ return; e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.translate(this._data.center.x, this._data.center.y); const t = this._data.edge.subtract(this._data.center), i = t.y / t.x; let s = this._data.point.subtract(this._data.center); s = new r.Point(s.x, s.y / i); let a = s.length(), o = this._data.prevPoint.subtract(this._data.center); o = new r.Point(o.x, o.y / i); let l = o.length(); e.scale(1, i), this._data.fillBack && (this._data.point.x < this._data.center.x && (a = -a, l = -l), e.beginPath(), e.moveTo(l, 0), e.lineTo(a, 0), e.arcTo(a, a, 0, a, Math.abs(a)), e.lineTo(0, l), e.arcTo(l, l, l, 0, Math.abs(l)), e.fillStyle = Object(n.generateColor)(this._data.color, this._data.transparency, !0), e.fill()), e.beginPath(), this._data.point.x > this._data.center.x ? e.arc(0, 0, Math.abs(a), 0, Math.PI / 2, !1) : e.arc(0, 0, Math.abs(a), -Math.PI / 2, -Math.PI, !0), e.scale(1, 1 / i), e.stroke(); }
2554
+ }
2555
+ }, bFMU: function (e, t, i) {
2556
+ "use strict";
2557
+ i.r(t), i.d(t, "ABCDPaneView", (function () { return u; }));
2558
+ var r = i("8Uy/"), n = i("Zy3/"), s = i("zXvd"), a = i("pJOz"), o = i("qgcf"), l = i("a7Ha"), h = i("BCbF"), d = i("VdBB"), c = i("aB9a");
2559
+ class u extends c.LineSourcePaneView {
2560
+ constructor(e, t) { super(e, t), this._numericFormatter = new s.NumericFormatter, this._abRetracementTrend = new a.TrendLineRenderer, this._cdRetracementTrend = new a.TrendLineRenderer, this._polylineRenderer = new h.PolygonRenderer(new d.HitTestResult(d.HitTestResult.MOVEPOINT)), this._abLabelRenderer = new o.TextRenderer, this._cdLabelRenderer = new o.TextRenderer, this._textRendererALabel = new o.TextRenderer, this._textRendererBLabel = new o.TextRenderer, this._textRendererCLabel = new o.TextRenderer, this._textRendererDLabel = new o.TextRenderer, this._renderer = null; }
2561
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2562
+ _updateImpl() {
2563
+ if (super._updateImpl(), this._points.length < 2)
2564
+ return void (this._renderer = null);
2565
+ const e = this._source.properties().childs(), t = new n.CompositeRenderer, i = (t, i) => ({ points: [t], text: i, color: e.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: e.font.value(), offsetX: 0, offsetY: 0, bold: e.bold && e.bold.value(), italic: e.italic && e.italic.value(), fontsize: e.fontsize.value(), backgroundColor: e.color.value(), backgroundRoundRect: 4 }), s = (t, i) => ({ points: [t, i], color: e.color.value(), linewidth: e.linewidth.value(), linestyle: r.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }), [a, o, h, d] = this._points, c = { points: this._points, color: e.color.value(), linewidth: e.linewidth.value(), linestyle: r.LINESTYLE_SOLID, fillBackground: !1, filled: !1, backcolor: "rgba(0, 0, 0, 0)" };
2566
+ this._polylineRenderer.setData(c), t.append(this._polylineRenderer);
2567
+ const u = i(a, "A");
2568
+ o.y > a.y ? (u.vertAlign = "bottom", u.offsetY = 5) : (u.vertAlign = "top", u.offsetY = 5), this._textRendererALabel.setData(u),
2569
+ t.append(this._textRendererALabel);
2570
+ const _ = i(o, "B");
2571
+ if (o.y < a.y ? (_.vertAlign = "bottom", _.offsetY = 5) : (_.vertAlign = "top", _.offsetY = 5), this._textRendererBLabel.setData(_), t.append(this._textRendererBLabel), this._points.length > 2) {
2572
+ const e = i(h, "C");
2573
+ h.y < o.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererCLabel.setData(e), t.append(this._textRendererCLabel);
2574
+ }
2575
+ if (this._points.length > 3) {
2576
+ const e = i(d, "D");
2577
+ d.y < h.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererDLabel.setData(e), t.append(this._textRendererDLabel);
2578
+ }
2579
+ if (this._points.length >= 3) {
2580
+ this._abRetracementTrend.setData(s(a, h)), t.append(this._abRetracementTrend);
2581
+ const e = a.add(h).scaled(.5), [r, n, o] = this._source.points(), l = Math.round(1e3 * Math.abs((o.price - n.price) / (n.price - r.price))) / 1e3, d = i(e, this._numericFormatter.format(l));
2582
+ this._abLabelRenderer.setData(d), t.append(this._abLabelRenderer);
2583
+ }
2584
+ if (this._points.length >= 4) {
2585
+ this._cdRetracementTrend.setData(s(o, d)), t.append(this._cdRetracementTrend);
2586
+ const e = o.add(d).scaled(.5), [, r, n, a] = this._source.points(), l = Math.round(1e3 * Math.abs((a.price - n.price) / (n.price - r.price))) / 1e3, h = i(e, this._numericFormatter.format(l));
2587
+ this._cdLabelRenderer.setData(h), t.append(this._cdLabelRenderer);
2588
+ }
2589
+ this.addAnchors(t), this._renderer = t;
2590
+ }
2591
+ }
2592
+ }, bcXK: function (e, t, i) {
2593
+ "use strict";
2594
+ var r = i("aO4+").Point, n = i("Hr11"), s = i("pJOz").TrendLineRenderer, a = i("cjIn").PaneRendererCachedImage, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("Tmoa"), d = i("a7Ha").LineEnd, c = i("cPgM").ScaledPaneRenderer, u = i("NCfL").LineToolPaneViewWithLevelledTextCache;
2595
+ class _ extends c {
2596
+ constructor(e, t, i) { super(), this._data = e, this._hittest = t || new o(o.MOVEPOINT), this._backHittest = i || new o(o.MOVEPOINT_BACKGROUND); }
2597
+ _drawImpl(e) { e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.translate(this._data.center.x, this._data.center.y), e.beginPath(), this._data.fullCircles ? e.arc(0, 0, this._data.radius, 2 * Math.PI, 0, !1) : this._data.dir > 0 ? e.arc(0, 0, this._data.radius, 0, Math.PI, !1) : e.arc(0, 0, this._data.radius, Math.PI, 0, !1), e.stroke(), this._data.fillBackground && (this._data.radius2 && (this._data.fullCircles ? e.arc(0, 0, this._data.radius2, 2 * Math.PI, 0, !0) : this._data.dir > 0 ? e.arc(0, 0, this._data.radius2, Math.PI, 0, !0) : e.arc(0, 0, this._data.radius2, 0, Math.PI, !0)), e.fillStyle = h.generateColor(this._data.color, this._data.transparency, !0), e.fill()); }
2598
+ hitTest(e) { if (n.sign(e.y - this._data.center.y) !== this._data.dir && !this._data.fullCircles)
2599
+ return null; var t = e.subtract(this._data.center).length(); return Math.abs(t - this._data.radius) < 3 ? this._hittest : this._data.hittestOnBackground && Math.abs(t) <= this._data.radius + 3 ? this._backHittest : null; }
2600
+ }
2601
+ t.FibSpeedResistanceArcsPaneView = class extends u {
2602
+ constructor(e, t) { super(e, t), this._rendererCache = {}, this._trendLineRenderer = new s, this._renderer = null; }
2603
+ getCacheRects(e, t) {
2604
+ super.getCacheRects(e, t);
2605
+ var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1];
2606
+ if (i) {
2607
+ var r = this._levels[t], n = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width,
2608
+ height: this._cache.rowHeight(this._cacheState.row) };
2609
+ return { cacheRect: n, targetRect: { left: Math.round(r.labelPoint.x - n.width), top: Math.round(r.labelPoint.y - n.height / 2), width: i.width, height: n.height } };
2610
+ }
2611
+ }
2612
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._floatPoints.length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
2613
+ var e = this._floatPoints[0], t = this._floatPoints[1], i = e.subtract(t).length();
2614
+ this._levels = [];
2615
+ for (var s = this._source.properties(), h = this._source.levelsCount(), c = 1; c <= h; c++) {
2616
+ var u = s["level" + c];
2617
+ if (u.visible.value()) {
2618
+ var p = u.coeff.value(), f = u.color.value(), g = t.subtract(e).length() * p, v = n.sign(t.y - e.y), w = new r(e.x, e.y + v * i * p);
2619
+ this._levels.push({ color: f, radius: g, dir: v, labelPoint: w, linewidth: u.linewidth.value(), linestyle: u.linestyle.value(), index: c });
2620
+ }
2621
+ }
2622
+ if (!(this._floatPoints.length < 2)) {
2623
+ var x = new l, m = (e = this._floatPoints[0], (s = this._source.properties()).fillBackground.value()), y = s.transparency.value();
2624
+ for (c = 0; c < this._levels.length; c++) {
2625
+ var b = this._levels[c], R = {};
2626
+ R.center = e, R.color = b.color, R.linewidth = b.linewidth, R.radius = b.radius, R.dir = b.dir, R.transparency = y, R.fillBackground = m, R.hittestOnBackground = !0, R.fullCircles = s.fullCircles.value(), c > 0 && (R.radius2 = this._levels[c - 1].radius);
2627
+ var T = new o(o.MOVEPOINT, null, b.index);
2628
+ if (x.append(new _(R, T)), s.showCoeffs.value()) {
2629
+ var S = new a(this, c);
2630
+ x.append(S);
2631
+ }
2632
+ }
2633
+ if (s.trendline.visible.value()) {
2634
+ var P = { points: [this._floatPoints[0], this._floatPoints[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: s.trendline.color.value(), linewidth: s.trendline.linewidth.value(), linestyle: s.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
2635
+ this._trendLineRenderer.setData(P), x.append(this._trendLineRenderer);
2636
+ }
2637
+ this.addAnchors(x), this._renderer = x;
2638
+ }
2639
+ } }
2640
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2641
+ };
2642
+ }, c6sA: function (e, t, i) {
2643
+ "use strict";
2644
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("z+cS").VerticalLineRenderer, a = i("IjC5").RectangleRenderer, o = i("pJOz").TrendLineRenderer, l = i("VdBB").HitTestResult, h = i("gyZD").PaneRendererLine, d = i("Zy3/").CompositeRenderer, c = i("Tmoa"), u = i("Ye2/").LineToolBarsPatternMode, _ = i("a7Ha").LineEnd;
2645
+ t.BarsPatternPaneView = class extends n {
2646
+ constructor(e, t) { super(e, t), this._vertLineRenderer1 = new s, this._vertLineRenderer2 = new s, this._medianRenderer = new o, this._renderer = null; }
2647
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2648
+ _updateImpl() {
2649
+ if (super._updateImpl(), this._renderer = null, !(!this._source.priceScale() || this._source.priceScale().isEmpty() || this._points.length < 2)) {
2650
+ if (this._source._pattern && this._source._pattern.length > 0 && 2 === this._source.points().length) {
2651
+ var e = this._source.priceScale(), t = this._source.firstPatternPrice(), i = this._source.pressCoeff(), n = this._source.ownerSource().firstValue(), s = e.priceToCoordinate(t, n), o = function (r) {
2652
+ var a = (r - t) * i + t;
2653
+ return e.priceToCoordinate(a, n) - s;
2654
+ }, p = parseInt(this._source.properties().mode.value()), f = this._source.points()[0].index > this._source.points()[1].index ? 1 : 0, g = this._points[f], v = g.x, w = Math.abs((this._points[0].x - this._points[1].x) / (this._source._pattern.length - 1)), x = { 0: function (e) { return { high: o(e[TradingView.HIGH_PLOT]), low: o(e[TradingView.LOW_PLOT]) }; }, 1: function (e, t) { return new r(v + t * w, o(e[TradingView.CLOSE_PLOT]) + g.y); }, 2: function (e) { return { open: o(e[TradingView.OPEN_PLOT]), close: o(e[TradingView.CLOSE_PLOT]) }; }, 3: function (e, t) { return new r(v + t * w, o(e[TradingView.OPEN_PLOT]) + g.y); }, 4: function (e, t) { return new r(v + t * w, o(e[TradingView.HIGH_PLOT]) + g.y); }, 5: function (e, t) { return new r(v + t * w, o(e[TradingView.LOW_PLOT]) + g.y); }, 6: function (e, t) { return new r(v + t * w, o((e[TradingView.HIGH_PLOT] + e[TradingView.LOW_PLOT]) / 2) + g.y); } };
2655
+ this._pattern = this._source._pattern.map(x[p]);
2656
+ }
2657
+ else
2658
+ delete this._pattern;
2659
+ if (this._pattern && 2 === this._source.points().length) {
2660
+ var m = this._source.points()[0].index < this._source.points()[1].index ? this._points[0] : this._points[1];
2661
+ if (!m)
2662
+ return void (this._renderer = new d);
2663
+ p = parseInt(this._source.properties().mode.value(), 10), w = Math.abs((this._points[0].x - this._points[1].x) / (this._pattern.length - 1));
2664
+ if (p === u.Bars || p === u.OpenClose) {
2665
+ for (var y = new d, b = p === u.Bars ? ["high", "low"] : ["open", "close"], R = b[0], T = b[1], S = 0; S < this._pattern.length; S++) {
2666
+ var P = Math.round(m.x + S * w + .5), L = m.y + Math.round(this._pattern[S][R]), C = m.y + Math.round(this._pattern[S][T]);
2667
+ (I = {}).points = [new r(P - 1, L), new r(P + 1, C)], I.color = this._source.properties().color.value(), I.linewidth = 1, I.backcolor = this._source.properties().color.value(), I.fillBackground = !0, I.transparency = 10, I.extendLeft = !1, I.extendRight = !1;
2668
+ var M = new a;
2669
+ M.setData(I), y.append(M);
2670
+ }
2671
+ y.append(this.createLineAnchor({ points: this._points }, 0)), this._renderer = y;
2672
+ }
2673
+ else {
2674
+ var I;
2675
+ y = new d;
2676
+ (I = {}).barSpacing = w, I.items = this._pattern, I.histogramBase = 0, I.lineIndex = 0, I.lineColor = c.generateColor(this._source.properties().color.value(), 10), I.lineStyle = CanvasEx.LINESTYLE_SOLID, I.lineWidth = 2, I.hittest = new l(l.MOVEPOINT), y.append(new h(I)), y.append(this.createLineAnchor({ points: this._points }, 1)), this._renderer = y;
2677
+ }
2678
+ }
2679
+ else {
2680
+ y = new d;
2681
+ if (this._points.length < 2)
2682
+ return void (this._renderer = y);
2683
+ var O = this._model.timeScale().width(), N = this._source.priceScale().height(), D = this._points[0], B = this._points[1], k = {};
2684
+ k.width = O, k.height = N, k.x = D.x, k.color = "#808080", k.linewidth = 1, k.linestyle = CanvasEx.LINESTYLE_SOLID, this._vertLineRenderer1.setData(k), y.append(this._vertLineRenderer1);
2685
+ var A = {};
2686
+ A.width = O, A.height = N, A.x = B.x, A.color = "#808080", A.linewidth = 1, A.linestyle = CanvasEx.LINESTYLE_SOLID, this._vertLineRenderer2.setData(A), y.append(this._vertLineRenderer2);
2687
+ var E = { points: [D, B], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: "#808080", linewidth: 1, linestyle: CanvasEx.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: _.Normal, rightend: _.Normal };
2688
+ this._medianRenderer.setData(E), y.append(this._medianRenderer), this._renderer = y;
2689
+ }
2690
+ }
2691
+ }
2692
+ };
2693
+ }, "cT+B": function (e, t, i) {
2694
+ "use strict";
2695
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("pJOz").TrendLineRenderer, a = i("2trc").ChannelRenderer, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd;
2696
+ class d extends n {
2697
+ constructor(e, t) { super(e, t), this._medianRenderer = new s, this._sideRenderer = new s, this._renderer = null; }
2698
+ _updateImpl() { super._updateImpl(), this._renderer = null, 0 !== this._floatPoints.length && (3 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1].add(this._floatPoints[2]).scaled(.5), this._medianPoint.data = 3) : 2 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1], this._medianPoint.data = 3) : (this._medianPoint = this._floatPoints[0], this._medianPoint.data = 3), this._updateRenderer()); }
2699
+ _updateRenderer() {
2700
+ if (!(this._floatPoints.length < 2) && this._medianPoint) {
2701
+ var e = this._source.properties(), t = new l, i = { points: [this._floatPoints[0], this._medianPoint], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
2702
+ if (this._medianRenderer.setData(i), t.append(this._medianRenderer), this._floatPoints.length < 3)
2703
+ return this.addAnchors(t), void (this._renderer = t);
2704
+ var r = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
2705
+ this._sideRenderer.setData(r), t.append(this._sideRenderer);
2706
+ for (var n = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), d = this._medianPoint.subtract(this._floatPoints[0]), c = 0, u = e.fillBackground.value(), _ = e.transparency.value(), p = 0; p <= 8; p++) {
2707
+ var f = e["level" + p];
2708
+ if (f.visible.value()) {
2709
+ var g, v, w = this._medianPoint.addScaled(n, f.coeff.value()), x = w.add(d), m = this._medianPoint.addScaled(n, -f.coeff.value()), y = m.add(d);
2710
+ if (u)
2711
+ (g = {}).p1 = w, g.p2 = x, g.p3 = this._medianPoint.addScaled(n, c), g.p4 = g.p3.add(d), g.color = f.color.value(), g.width = this._model.timeScale().width(), g.height = this._source.priceScale().height(), g.transparency = _, g.hittestOnBackground = !0, g.extendLeft = e.extendLines.value(), (v = new a).setData(g), t.append(v), (g = {}).p1 = m, g.p2 = y, g.p3 = this._medianPoint.addScaled(n, -c), g.p4 = g.p3.add(d), g.color = f.color.value(), g.width = this._model.timeScale().width(), g.height = this._source.priceScale().height(), g.transparency = _, g.hittestOnBackground = !0, g.extendLeft = e.extendLines.value(), (v = new a).setData(g), t.append(v);
2712
+ c = f.coeff.value();
2713
+ var b = { points: [w, x], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: f.color.value(), linewidth: f.linewidth.value(), linestyle: f.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, R = new s;
2714
+ R.setData(b), R.setHitTest(new o(o.MOVEPOINT, null, p)), t.append(R);
2715
+ var T = { points: [m, y], width: this._model.timeScale().width(), height: this._source.priceScale().height(),
2716
+ color: f.color.value(), linewidth: f.linewidth.value(), linestyle: f.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, S = new s;
2717
+ S.setData(T), S.setHitTest(new o(o.MOVEPOINT, null, p)), t.append(S);
2718
+ }
2719
+ }
2720
+ this.addAnchors(t), this._renderer = t;
2721
+ }
2722
+ }
2723
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2724
+ }
2725
+ class c extends d {
2726
+ constructor(e, t) { super(e, t), this._backSideRenderer = new s; }
2727
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2728
+ _updateRenderer() {
2729
+ if (!(this._floatPoints.length < 2)) {
2730
+ this._calcMofifiedBase();
2731
+ var e = this._source.properties(), t = new l, i = { points: [this._floatPoints[0], this._floatPoints[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
2732
+ if (this._backSideRenderer.setData(i), t.append(this._backSideRenderer), !this._medianPoint || !this._modifiedBase)
2733
+ return this.addAnchors(t), void (this._renderer = t);
2734
+ var r = { points: [this._modifiedBase, this._medianPoint], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
2735
+ if (this._medianRenderer.setData(r), t.append(this._medianRenderer), this._floatPoints.length < 3)
2736
+ return this.addAnchors(t), void (this._renderer = t);
2737
+ var n = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
2738
+ this._sideRenderer.setData(n), t.append(this._sideRenderer);
2739
+ for (var d = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), c = this._medianPoint.subtract(this._modifiedBase), u = 0, _ = e.fillBackground.value(), p = e.transparency.value(), f = 0; f <= 8; f++) {
2740
+ var g = e["level" + f];
2741
+ if (g.visible.value()) {
2742
+ var v = this._medianPoint.addScaled(d, g.coeff.value()), w = v.add(c), x = this._medianPoint.addScaled(d, -g.coeff.value()), m = x.add(c);
2743
+ if (_)
2744
+ (i = {}).p1 = v, i.p2 = w, i.p3 = this._medianPoint.addScaled(d, u), i.p4 = i.p3.add(c), i.color = g.color.value(), i.width = this._model.timeScale().width(), i.height = this._source.priceScale().height(), i.transparency = p, i.hittestOnBackground = !0, i.extendLeft = e.extendLines.value(), (R = new a).setData(i), t.append(R), (i = {}).p1 = x, i.p2 = m, i.p3 = this._medianPoint.addScaled(d, -u), i.p4 = i.p3.add(c), i.color = g.color.value(), i.width = this._model.timeScale().width(), i.height = this._source.priceScale().height(), i.transparency = p, i.hittestOnBackground = !0, i.extendLeft = e.extendLines.value(), (R = new a).setData(i), t.append(R);
2745
+ u = g.coeff.value();
2746
+ var y = { points: [v, w], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: g.color.value(), linewidth: g.linewidth.value(), linestyle: g.linestyle.value(),
2747
+ extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, b = new s;
2748
+ b.setData(y), b.setHitTest(new o(o.MOVEPOINT, null, f)), t.append(b);
2749
+ var R, T = { points: [x, m], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: g.color.value(), linewidth: g.linewidth.value(), linestyle: g.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
2750
+ (R = new s).setData(T), R.setHitTest(new o(o.MOVEPOINT, null, f)), t.append(R);
2751
+ }
2752
+ }
2753
+ this.addAnchors(t), this._renderer = t;
2754
+ }
2755
+ }
2756
+ _calcMofifiedBase() { this._floatPoints.length > 1 && (this._modifiedBase = this._floatPoints[0].add(this._floatPoints[1]).scaled(.5)); }
2757
+ }
2758
+ t.PitchforkLinePaneView = d, t.SchiffPitchforkLinePaneView = c, t.SchiffPitchfork2LinePaneView = class extends c {
2759
+ _calcMofifiedBase() { if (this._floatPoints.length > 2) {
2760
+ var e = this._floatPoints[0].x, t = .5 * (this._floatPoints[0].y + this._floatPoints[1].y), i = new r(e, t);
2761
+ this._modifiedBase = i;
2762
+ } }
2763
+ }, t.InsidePitchforkLinePaneView = class extends d {
2764
+ constructor(e, t) { super(e, t), this._backSideRenderer = new s, this._centerRenderer = new s; }
2765
+ _updateRenderer() {
2766
+ if (this._floatPoints.length > 1 && (this._modifiedBase = this._floatPoints[0].add(this._floatPoints[1]).scaled(.5)), !(this._floatPoints.length < 2)) {
2767
+ var e = new l;
2768
+ if (this._medianPoint && this._modifiedBase) {
2769
+ var t = this._source.properties();
2770
+ if (3 === this._floatPoints.length) {
2771
+ var i = { points: [this._modifiedBase, this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
2772
+ this._medianRenderer.setData(i), e.append(this._medianRenderer);
2773
+ }
2774
+ var r = { points: [this._floatPoints[0], this._floatPoints[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
2775
+ if (this._backSideRenderer.setData(r), e.append(this._backSideRenderer), this._floatPoints.length < 3)
2776
+ return this.addAnchors(e), void (this._renderer = e);
2777
+ var n = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
2778
+ this._sideRenderer.setData(n), e.append(this._sideRenderer);
2779
+ var d = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), c = this._floatPoints[2].subtract(this._modifiedBase), u = 0, _ = t.fillBackground.value(), p = t.transparency.value(), f = { points: [this._medianPoint, this._medianPoint.add(c)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: t.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
2780
+ this._centerRenderer.setData(f),
2781
+ e.append(this._centerRenderer);
2782
+ for (var g = 0; g <= 8; g++) {
2783
+ var v = t["level" + g];
2784
+ if (v.visible.value()) {
2785
+ var w = this._medianPoint.addScaled(d, v.coeff.value()), x = w.add(c), m = this._medianPoint.addScaled(d, -v.coeff.value()), y = m.add(c);
2786
+ if (_)
2787
+ (r = {}).p1 = w, r.p2 = x, r.p3 = this._medianPoint.addScaled(d, u), r.p4 = r.p3.add(c), r.color = v.color.value(), r.width = this._model.timeScale().width(), r.height = this._source.priceScale().height(), r.transparency = p, r.hittestOnBackground = !0, r.extendLeft = t.extendLines.value(), (T = new a).setData(r), e.append(T), (r = {}).p1 = m, r.p2 = y, r.p3 = this._medianPoint.addScaled(d, -u), r.p4 = r.p3.add(c), r.color = v.color.value(), r.width = this._model.timeScale().width(), r.height = this._source.priceScale().height(), r.transparency = p, r.hittestOnBackground = !0, r.extendLeft = t.extendLines.value(), (T = new a).setData(r), e.append(T);
2788
+ u = v.coeff.value();
2789
+ var b = { points: [w, x], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: v.color.value(), linewidth: v.linewidth.value(), linestyle: v.linestyle.value(), extendleft: t.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, R = new s;
2790
+ R.setData(b), R.setHitTest(new o(o.MOVEPOINT, null, g)), e.append(R);
2791
+ var T, S = { points: [m, y], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: v.color.value(), linewidth: v.linewidth.value(), linestyle: v.linestyle.value(), extendleft: t.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
2792
+ (T = new s).setData(S), T.setHitTest(new o(o.MOVEPOINT, null, g)), e.append(T);
2793
+ }
2794
+ }
2795
+ this.addAnchors(e), this._renderer = e;
2796
+ }
2797
+ else
2798
+ this.addAnchors(e);
2799
+ }
2800
+ }
2801
+ _updateImpl() { super._updateImpl(); }
2802
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2803
+ };
2804
+ }, cjIn: function (e, t, i) {
2805
+ "use strict";
2806
+ i.r(t), i.d(t, "PaneRendererCachedImage", (function () { return a; }));
2807
+ var r = i("aO4+"), n = i("f6yo"), s = i("VdBB");
2808
+ class a {
2809
+ constructor(e, t) { this._cacheRect = null, this._targetRect = null, this._cacheProvider = e, this._index = t; }
2810
+ draw(e, t) { const i = this._cacheProvider.getCacheRects(t, this._index); if (null === i)
2811
+ return this._cacheRect = null, void (this._targetRect = null); if (this._cacheRect = i.cacheRect, this._targetRect = i.targetRect, 0 === this._cacheRect.width || 0 === this._cacheRect.height || 0 === this._targetRect.width || 0 === this._targetRect.height)
2812
+ return; e.save(), e.setTransform(1, 0, 0, 1, 0, 0); const r = t.pixelRatio, n = this._cacheProvider.getCacheCanvas(t); e.drawImage(n, Math.round(this._cacheRect.left * r), Math.round(this._cacheRect.top * r), this._cacheRect.width * r, this._cacheRect.height * r, Math.round(this._targetRect.left * r), Math.round(this._targetRect.top * r), this._targetRect.width * r, this._targetRect.height * r), e.restore(); }
2813
+ hitTest(e) { if (null === this._targetRect)
2814
+ return null; const t = new r.Point(this._targetRect.left, this._targetRect.top), i = t.add(new r.Point(this._targetRect.width, this._targetRect.height)); return Object(n.pointInBox)(e, Object(r.box)(t, i)) ? new s.HitTestResult(s.HitTestResult.REGULAR) : null; }
2815
+ }
2816
+ }, "ckl+": function (e, t, i) {
2817
+ "use strict";
2818
+ i.r(t), i.d(t, "HorzLinePaneView", (function () { return c; }));
2819
+ var r = i("aO4+"), n = i("VdBB"), s = i("//lt"), a = i("qgcf"), o = i("l4sv"), l = i("Zy3/"), h = i("aB9a");
2820
+ const d = [s.PaneCursorType.VerticalResize];
2821
+ class c extends h.LineSourcePaneView {
2822
+ constructor(e, t) { super(e, t), this._renderer = null, this._labelRenderer = new a.TextRenderer, this._lineRenderer = new o.HorizontalLineRenderer, this._lineRenderer.setHitTest(new n.HitTestResult(n.HitTestResult.MOVEPOINT)); }
2823
+ renderer() { return this._invalidated && this._updateImpl(), this._renderer; }
2824
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, 0 === this._points.length)
2825
+ return; const e = this._source.properties(), t = new l.CompositeRenderer, i = { y: this._points[0].y, color: e.childs().linecolor.value(), linewidth: e.childs().linewidth.value(), linestyle: e.childs().linestyle.value() }; if (this._lineRenderer.setData(i), t.append(this._lineRenderer), e.showLabel.value() && 1 === this._points.length && e.text.value().length > 0) {
2826
+ const i = e.vertLabelsAlign.value(), n = e.horzLabelsAlign.value();
2827
+ let s = 0, a = 0;
2828
+ "left" === n ? a = 3 : "right" === n ? (a = this._model.timeScale().width(), s = 3) : a = this._model.timeScale().width() / 2;
2829
+ const o = { points: [new r.Point(a, this._points[0].y)], text: e.text.value(), color: e.textcolor.value(), vertAlign: i, horzAlign: n, font: e.font.value(), offsetX: s, offsetY: 0, bold: e.bold.value(), italic: e.italic.value(), fontsize: e.fontsize.value(), forceTextAlign: !0 };
2830
+ this._labelRenderer.setData(o), t.append(this._labelRenderer);
2831
+ } if (1 === this._points.length) {
2832
+ const e = this._model.timeScale().width(), i = new r.Point(e / 2, this._points[0].y);
2833
+ i.data = 0, i.square = !0, t.append(this.createLineAnchor({ points: [i], pointsCursorType: d }, 0));
2834
+ } this._renderer = t; }
2835
+ }
2836
+ }, "ct+2": function (e, t, i) {
2837
+ "use strict";
2838
+ i.r(t);
2839
+ var r = i("zDbI"), n = i("aB9a"), s = i("Zy3/"), a = i("vq8G"), o = i("qgcf"), l = i("VdBB"), h = i("f6yo"), d = i("Hr11");
2840
+ class c {
2841
+ constructor() { this._data = null; }
2842
+ setData(e) { this._data = e; }
2843
+ draw(e, t) { if (null !== this._data) {
2844
+ switch (e.save(), e.fillStyle = this._data.color, this._data.direction) {
2845
+ case "up":
2846
+ case "down":
2847
+ !function (e, t, i, r) { const n = Math.max(1, Math.floor(r)) % 2 ? .5 : 0, s = "up" === i ? 1 : -1, a = s * Math.round(12 * r), o = Object(d.ceiledEven)(19.5 * r) / 2 + n, l = s * Math.round(10 * r), h = Object(d.ceiledEven)(10 * r) / 2 + n, c = Math.round(t.x * r) + n, u = Math.round(t.y * r); e.beginPath(), e.moveTo(c, u), e.lineTo(c + o, u + a), e.lineTo(c + h, u + a), e.lineTo(c + h, u + a + l), e.lineTo(c - h, u + a + l), e.lineTo(c - h, u + a), e.lineTo(c - o, u + a), e.moveTo(c, u), e.fill(); }(e, this._data.point, this._data.direction, t.pixelRatio);
2848
+ break;
2849
+ case "left":
2850
+ case "right": !function (e, t, i, r) { const n = Math.max(1, Math.floor(r)) % 2 ? .5 : 0, s = "left" === i ? 1 : -1, a = s * Math.round(12 * r) + n, o = Object(d.ceiledEven)(19.5 * r) / 2 + n, l = s * Math.round(22 * r) + n, h = Object(d.ceiledEven)(10 * r) / 2 + n, c = Math.round(t.x * r) + n, u = Math.round(t.y * r) + n; e.beginPath(), e.moveTo(c, u), e.lineTo(c + a, u + o), e.lineTo(c + a, u + h), e.lineTo(c + l, u + h), e.lineTo(c + l, u - h), e.lineTo(c + a, u - h), e.lineTo(c + a, u - o), e.moveTo(c, u), e.fill(); }(e, this._data.point, this._data.direction, t.pixelRatio);
2851
+ }
2852
+ e.restore();
2853
+ } }
2854
+ hitTest(e) {
2855
+ if (null === this._data)
2856
+ return null;
2857
+ let t, i, r, n;
2858
+ switch (this._data.direction) {
2859
+ case "up":
2860
+ t = this._data.point.x - 9.75, r = t + 19.5, i = this._data.point.y, n = i + 12 + 10;
2861
+ break;
2862
+ case "down":
2863
+ t = this._data.point.x - 9.75, r = t + 19.5, n = this._data.point.y, i = n - 12 - 10;
2864
+ break;
2865
+ case "left":
2866
+ t = this._data.point.x, r = t + 12 + 10, i = this._data.point.y - 9.75, n = i + 19.5;
2867
+ break;
2868
+ case "right": r = this._data.point.x, t = r - 12 - 10, i = this._data.point.y - 9.75, n = i + 19.5;
2869
+ }
2870
+ return e.x < t || e.x > r || e.y < i || e.y > n ? null : new l.HitTestResult(l.HitTestResult.MOVEPOINT);
2871
+ }
2872
+ doesIntersectWithBox(e) { return null !== this._data && Object(h.pointInBox)(this._data.point, e); }
2873
+ }
2874
+ i.d(t, "ArrowMarkPaneView", (function () { return u; }));
2875
+ class u extends n.LineSourcePaneView {
2876
+ constructor() { super(...arguments), this._arrowMarkRenderer = new c, this._textRenderer = new o.TextRenderer, this._renderer = null, this._anchorsOffset = null; }
2877
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2878
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, 1 !== this._points.length)
2879
+ return; const e = this._getSource(), t = e.properties().childs(), i = this._getModel(); this._arrowMarkRenderer.setData({ point: this._points[0], direction: e.direction(), color: t.arrowColor.value() }), this._renderer = new s.CompositeRenderer, this._renderer.append(this._arrowMarkRenderer), "" !== t.text.value() && t.showLabel.value() && (this._textRenderer.setData(Object.assign({ points: this._points, font: r.CHART_FONT_FAMILY, bold: t.bold.value(), italic: t.italic.value(), fontSize: t.fontsize.value(), text: t.text.value(), color: t.color.value() }, e.textAlignParams())), this._renderer.append(this._textRenderer)); const n = [this._anchorsOffset ? this._points[0].add(this._anchorsOffset) : this._points[0].clone()]; this._renderer.append(new a.SelectionRenderer({ points: n, bgColors: this._lineAnchorColors(n), visible: this.areAnchorsVisible(), barSpacing: i.timeScale().barSpacing(), hittestResult: l.HitTestResult.MOVEPOINT })); }
2880
+ }
2881
+ }, d1Pk: function (e, t, i) {
2882
+ "use strict";
2883
+ i.r(t), i.d(t, "fibLevelCoordinate", (function () { return n; })), i.d(t, "fibLevelPrice", (function () { return s; }));
2884
+ var r = i("Eyy1");
2885
+ function n(e, t, i, n, s, a) { if (a)
2886
+ return Math.round(Object(r.ensureDefined)(e.coordinate) + Object(r.ensureDefined)(t.coordinate) * i); const o = e.price + t.price * i; return n.priceToCoordinate(o, s); }
2887
+ function s(e, t, i, n, s, a) { if (!a)
2888
+ return e.price + t.price * i; const o = Object(r.ensureDefined)(e.coordinate) + Object(r.ensureDefined)(t.coordinate) * i; return n.coordinateToPrice(o, s); }
2889
+ }, dKqZ: function (e, t, i) {
2890
+ "use strict";
2891
+ var r = i("aO4+").Point, n = i("GEp6").distanceToLine, s = i("hfHJ"), a = s.rotationMatrix, o = s.scalingMatrix, l = s.translationMatrix, h = s.transformPoint, d = i("aB9a").LineSourcePaneView, c = i("aB9a").thirdPointCursorType, u = i("VdBB").HitTestResult, _ = i("Zy3/").CompositeRenderer, p = i("Tmoa"), f = i("cPgM").ScaledPaneRenderer, g = i("//lt").PaneCursorType;
2892
+ class v extends f {
2893
+ constructor() { super(), this._data = null; }
2894
+ setData(e) { this._data = e, this._data.angleFrom = 0, this._data.angleTo = Math.PI, this._data.clockwise = !1; }
2895
+ _drawImpl(e) {
2896
+ if (!(null === this._data || this._data.points.length < 2)) {
2897
+ var t = this._data.points[0], i = this._data.points[1];
2898
+ if (this._data.points.length < 3)
2899
+ return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
2900
+ var s = this._data.points[2], d = n(t, i, s).distance;
2901
+ if (d < 1)
2902
+ return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
2903
+ var c = i.subtract(t), u = t.add(i).scaled(.5), _ = new r(-c.y, c.x);
2904
+ _ = _.normalized(), s = u.add(_.scaled(d)), e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth;
2905
+ var f = c.length(), g = c.x / f, v = c.y / f, w = Math.acos(g);
2906
+ v < 0 && (w = -w);
2907
+ var x = this._data.points[2], m = l(-u.x, -u.y);
2908
+ x = h(m, x), m = a(-w), x = h(m, x), m = o(1, f / (2 * d)), (x = h(m, x)).y < 0 ? this._data.clockwise = !0 : this._data.clockwise = !1, e.save(), e.beginPath(), e.translate(t.x, t.y), e.rotate(w);
2909
+ var y = 1 - Math.sqrt(3) / 2;
2910
+ e.scale(1, d / (f * y)), this._data.clockwise ? e.arc(.5 * f, f * Math.sqrt(3) / 2, f, -2 * Math.PI / 3, -Math.PI / 3, !1) : e.arc(.5 * f, -f * Math.sqrt(3) / 2, f, Math.PI / 3, 2 * Math.PI / 3, !1), e.restore(), e.stroke(), this._data.fillBackground && (e.fillStyle = p.generateColor(this._data.backcolor, this._data.transparency), e.fill());
2911
+ }
2912
+ }
2913
+ hitTest(e) { if (null === this._data || this._data.points.length < 3)
2914
+ return null; var t = this._data.points[0], i = this._data.points[1], s = this._data.points[2], d = n(t, i, s).distance; if (d < 1)
2915
+ return (d = n(t, i, e).distance) < 5 ? new u(u.MOVEPOINT) : null; var c = i.subtract(t), _ = c.length(), p = t.add(i).scaled(.5), f = s.subtract(p); f = f.normalized(), s = p.add(f.scaled(d)); var g = c.x / _, v = c.y / _, w = Math.acos(g); v < 0 && (w = -w); var x = l(-t.x, -t.y); e = h(x, e), x = a(-w), e = h(x, e), f = h(x, f); var m, y = 1 - Math.sqrt(3) / 2; if (x = o(1, _ * y / d), e = h(x, e), f = h(x, f), e.y * f.y < 0)
2916
+ return null; m = e.y < 0 ? new r(.5 * _, _ * Math.sqrt(3) / 2) : new r(.5 * _, -_ * Math.sqrt(3) / 2); var b = e.subtract(m).length(); return Math.abs(b - _) <= 5 ? new u(u.MOVEPOINT) : null; }
2917
+ }
2918
+ t.ArcPaneView = class extends d {
2919
+ constructor(e, t) { super(e, t), this._arcRenderer = new v, this._renderer = null; }
2920
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
2921
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, 0 !== this._points.length) {
2922
+ var e = {};
2923
+ e.points = this._points, e.color = this._source.properties().color.value(), e.linewidth = this._source.properties().linewidth.value(), e.backcolor = this._source.properties().backgroundColor.value(), e.fillBackground = this._source.properties().fillBackground.value(), e.transparency = this._source.properties().transparency.value(), this._arcRenderer.setData(e);
2924
+ var t = new _;
2925
+ this._renderer = t, t.append(this._arcRenderer);
2926
+ var i = [], s = e.points[0], d = new r(s.x, s.y);
2927
+ if (d.data = 0, i.push(d), 1 !== e.points.length) {
2928
+ var u = e.points[1], p = new r(u.x, u.y);
2929
+ if (p.data = 1, 2 !== e.points.length) {
2930
+ i.push(p);
2931
+ var f = e.points[2], v = n(s, u, f).distance, w = u.subtract(s), x = s.add(u).scaled(.5), m = new r(-w.y, w.x);
2932
+ m = m.normalized(), f = x.add(m.scaled(v));
2933
+ var y = x.add(m.scaled(-v)), b = w.length(), R = w.x / b, T = w.y / b, S = Math.acos(R);
2934
+ T < 0 && (S = -S);
2935
+ var P = e.points[2], L = l(-x.x, -x.y);
2936
+ P = h(L, P), L = a(-S), P = h(L, P), L = o(1, b / (2 * v));
2937
+ var C = (P = h(L, P)).y >= 0 ? new r(f.x, f.y) : new r(y.x, y.y);
2938
+ C.data = 2, i.push(C);
2939
+ var M = [g.Default, g.Default, c(s, u)];
2940
+ t.append(this.createLineAnchor({ points: i, pointsCursorType: M }, 0));
2941
+ }
2942
+ else
2943
+ this.addAnchors(t);
2944
+ }
2945
+ } }
2946
+ };
2947
+ }, dMkl: function (e, t, i) {
2948
+ "use strict";
2949
+ var r = i("Hr11"), n = i("aB9a").LineSourcePaneView, s = i("pJOz").TrendLineRenderer, a = i("VdBB").HitTestResult, o = i("/hKg").PaneRendererCandles, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd, d = i("Zp/P");
2950
+ t.GhostFeedPaneView = class extends n {
2951
+ constructor(e, t) { super(e, t), this._renderer = null; }
2952
+ _udpateImpl() {
2953
+ super._updateImpl(),
2954
+ this._renderer = null;
2955
+ var e = this;
2956
+ if (this._segments = [], !(e._points.length < 2)) {
2957
+ this._segments = this._source.segments().map((function (t, i) { var n = e._source.points(); if (i >= e._points.length - 1)
2958
+ return null; var s = e._points[i].x, a = n[i].price, o = n[i + 1].price, l = n[i + 1].index - n[i].index, h = e._model.timeScale().barSpacing() * r.sign(l), d = (o - a) / (t.bars().length - 1), c = e._source.properties(), u = c.candleStyle.upColor.value(), _ = c.candleStyle.downColor.value(), p = c.candleStyle.borderUpColor.value(), f = c.candleStyle.borderDownColor.value(); return { bars: t.bars().map((function (t, i) { var r = t.c >= t.o; return { time: s + i * h, open: e.priceToCoordinate(t.o + a + i * d), high: e.priceToCoordinate(t.h + a + i * d), low: e.priceToCoordinate(t.l + a + i * d), close: e.priceToCoordinate(t.c + a + i * d), color: r ? u : _, borderColor: r ? p : f, hollow: !1 }; })) }; })).filter((function (e) { return !!e; }));
2959
+ for (var t = new l, i = 1; i < this._points.length; i++) {
2960
+ var n = { points: [this._points[i - 1], this._points[i]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: "#808080", linewidth: 1, linestyle: CanvasEx.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal }, c = new s;
2961
+ c.setData(n), c.setHitTest(new a(a.MOVEPOINT, null)), t.append(c);
2962
+ }
2963
+ var u = this._source.properties(), _ = u.candleStyle.drawWick.value(), p = u.candleStyle.drawBorder.value(), f = u.candleStyle.borderColor.value(), g = u.candleStyle.wickColor.value(), v = new l;
2964
+ v.setGlobalAlpha(1 - u.transparency.value() / 100);
2965
+ var w = this._model.timeScale().barSpacing();
2966
+ for (i = 0; i < this._segments.length; i++) {
2967
+ var x = { bars: this._segments[i].bars, barSpacing: w, wickVisible: _, bodyVisible: !0, borderVisible: p, borderColor: f, wickColor: g, barWidth: d.optimalBarWidth(w), hittest: new a(a.MOVEPOINT, null) };
2968
+ v.append(new o(x));
2969
+ }
2970
+ t.append(v), this.addAnchors(t), this._renderer = t;
2971
+ }
2972
+ }
2973
+ renderer(e, t) { return this._invalidated && this._udpateImpl(), this._renderer; }
2974
+ };
2975
+ }, e9yB: function (e, t, i) {
2976
+ "use strict";
2977
+ i.d(t, "c", (function () { return c; })), i.d(t, "b", (function () { return u; })), i.d(t, "a", (function () { return _; }));
2978
+ var r = i("GEp6"), n = i("cPgM"), s = i("a7Ha"), a = i("jFln"), o = i("VdBB"), l = i("2hKl"), h = i("pJOz"), d = i("Zp/P");
2979
+ function c(e, t, i) { for (const n of i)
2980
+ for (let i = 1; i < n.length; i++) {
2981
+ const s = n[i - 1], a = n[i];
2982
+ if (Object(r.distanceToSegment)(s, a, e).distance < t)
2983
+ return new o.HitTestResult(o.HitTestResult.MOVEPOINT);
2984
+ } return null; }
2985
+ function u(e, t) { for (let i = 0; i < t.length; i++) {
2986
+ const r = t[i], n = r[0];
2987
+ e.moveTo(n.x, n.y);
2988
+ for (let t = 1; t < r.length; t++) {
2989
+ const i = r[t];
2990
+ e.lineTo(i.x, i.y);
2991
+ }
2992
+ } }
2993
+ class _ extends n.ScaledPaneRenderer {
2994
+ constructor(e) { super(), this._data = e || null; }
2995
+ setData(e) { this._data = e; }
2996
+ hitTest(e, t) { if (null !== this._data && 3 === this._data.points.length) {
2997
+ const t = Object(d.interactionTolerance)().curve, [i, r, n] = this._data.points, s = r.subtract(i), a = n.subtract(s.scaled(.25)), h = n.add(s.scaled(.25));
2998
+ if (Object(l.c)(n, i, a, e, t) || Object(l.c)(n, r, h, e, t))
2999
+ return new o.HitTestResult(o.HitTestResult.MOVEPOINT);
3000
+ let u = c(e, t, this._data.extendLeftSegments);
3001
+ return null === u && (u = c(e, t, this._data.extendRightSegments)), u;
3002
+ } return null; }
3003
+ _drawImpl(e, t) {
3004
+ if (null === this._data)
3005
+ return;
3006
+ const [i, r, n] = this._data.points;
3007
+ if (e.lineCap = "butt", e.strokeStyle = this._data.color,
3008
+ e.lineWidth = this._data.lineWidth, Object(a.setLineStyle)(e, this._data.lineStyle), 2 === this._data.points.length)
3009
+ e.beginPath(), e.moveTo(i.x, i.y), e.lineTo(r.x, r.y), e.stroke();
3010
+ else {
3011
+ const a = r.subtract(i), o = n.subtract(a.scaled(.25)), l = n.add(a.scaled(.25));
3012
+ this._data.fillBack && this._data.points.length > 2 && (e.fillStyle = this._data.backColor, e.beginPath(), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.quadraticCurveTo(l.x, l.y, r.x, r.y), e.fill()), e.beginPath(), u(e, this._data.extendLeftSegments), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.quadraticCurveTo(l.x, l.y, r.x, r.y), u(e, this._data.extendRightSegments), e.stroke(), this._data.leftEnd === s.LineEnd.Arrow && Object(h.drawArrow)(o, i, e, e.lineWidth, t.pixelRatio), this._data.rightEnd === s.LineEnd.Arrow && Object(h.drawArrow)(l, r, e, e.lineWidth, t.pixelRatio);
3013
+ }
3014
+ }
3015
+ }
3016
+ }, eg8N: function (e, t, i) {
3017
+ "use strict";
3018
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("qgcf").TextRenderer, a = i("IjC5").RectangleRenderer, o = i("pJOz").TrendLineRenderer, l = i("Zy3/").CompositeRenderer, h = i("zXvd").NumericFormatter, d = i("a7Ha").LineEnd;
3019
+ t.GannSquarePaneView = class extends n {
3020
+ constructor(e, t) { super(e, t), this._numericFormatter = new h, this._renderer = null; }
3021
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3022
+ _updateImpl() {
3023
+ if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
3024
+ var e = this._source.points()[0], t = this._source.points()[1], i = (L = this._source.properties()).reverse && L.reverse.value();
3025
+ this._hlevels = [];
3026
+ for (var n = i ? e.price - t.price : t.price - e.price, h = i ? t.price : e.price, c = this._source.ownerSource().firstValue(), u = 1; u <= 7; u++) {
3027
+ if ((x = L["hlevel" + u]).visible.value()) {
3028
+ var _ = x.coeff.value(), p = x.color.value(), f = h + _ * n, g = this._source.priceScale().priceToCoordinate(f, c);
3029
+ this._hlevels.push({ coeff: _, color: p, y: g });
3030
+ }
3031
+ }
3032
+ this._vlevels = [];
3033
+ var v = i ? e.index - t.index : t.index - e.index, w = i ? t.index : e.index;
3034
+ for (u = 1; u <= 7; u++) {
3035
+ var x;
3036
+ if ((x = L["vlevel" + u]).visible.value()) {
3037
+ _ = x.coeff.value(), p = x.color.value();
3038
+ var m = Math.round(w + _ * v), y = this._model.timeScale().indexToCoordinate(m);
3039
+ this._vlevels.push({ coeff: _, color: p, x: y });
3040
+ }
3041
+ }
3042
+ if (this._hfans = [], this._vfans = [], L.fans.visible.value())
3043
+ for (u = 1; u <= 7; u++) {
3044
+ m = Math.round(w + L["hlevel" + u].coeff.value() * v), f = h + L["vlevel" + u].coeff.value() * n;
3045
+ this._hfans.push(this._model.timeScale().indexToCoordinate(m)), this._vfans.push(this._source.priceScale().priceToCoordinate(f, c));
3046
+ }
3047
+ var b = new l;
3048
+ if (this._points.length < 2)
3049
+ return this.addAnchors(b), void (this._renderer = b);
3050
+ e = this._points[0], t = this._points[1];
3051
+ var R = Math.min(e.x, t.x), T = Math.min(e.y, t.y), S = Math.max(e.x, t.x), P = Math.max(e.y, t.y), L = this._source.properties(), C = this._source.properties().fillHorzBackground.value(), M = this._source.properties().horzTransparency.value(), I = this._source.properties().fillVertBackground.value(), O = this._source.properties().vertTransparency.value();
3052
+ for (u = 0; u < this._hlevels.length; u++) {
3053
+ if (u > 0 && C) {
3054
+ var N = this._hlevels[u - 1];
3055
+ e = new r(R, this._hlevels[u].y), t = new r(S, N.y);
3056
+ (A = {}).points = [e, t],
3057
+ A.color = this._hlevels[u].color, A.linewidth = 0, A.backcolor = this._hlevels[u].color, A.fillBackground = !0, A.transparency = M, A.extendLeft = !1, A.extendRight = !1, (z = new a(void 0, void 0, !0)).setData(A), b.append(z);
3058
+ }
3059
+ var D = { points: [e = new r(R, this._hlevels[u].y), t = new r(S, this._hlevels[u].y)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._hlevels[u].color, linewidth: L.linewidth.value(), linestyle: L.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
3060
+ if ((z = new o).setData(D), b.append(z), L.showLeftLabels.value()) {
3061
+ var B = { points: [e], text: this._numericFormatter.format(this._hlevels[u].coeff), color: this._hlevels[u].color, vertAlign: "middle", horzAlign: "right", font: L.font.value(), offsetX: 5, offsetY: 0, fontsize: 12, forceTextAlign: !0 };
3062
+ b.append(new s(B));
3063
+ }
3064
+ if (L.showRightLabels.value()) {
3065
+ var k = { points: [t], text: this._numericFormatter.format(this._hlevels[u].coeff), color: this._hlevels[u].color, vertAlign: "middle", horzAlign: "left", font: L.font.value(), offsetX: 5, offsetY: 0, fontsize: 12 };
3066
+ b.append(new s(k));
3067
+ }
3068
+ }
3069
+ for (u = 0; u < this._vlevels.length; u++) {
3070
+ e = new r(this._vlevels[u].x, T), t = new r(this._vlevels[u].x, P);
3071
+ if (u > 0 && I) {
3072
+ N = this._vlevels[u - 1];
3073
+ var A, E = new r(N.x, T);
3074
+ (A = {}).points = [E, t], A.color = this._vlevels[u].color, A.linewidth = 0, A.backcolor = this._vlevels[u].color, A.fillBackground = !0, A.transparency = O, A.extendLeft = !1, A.extendRight = !1, (z = new a(void 0, void 0, !0)).setData(A), b.append(z);
3075
+ }
3076
+ var z;
3077
+ D = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._vlevels[u].color, linewidth: L.linewidth.value(), linestyle: L.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
3078
+ if ((z = new o).setData(D), b.append(z), L.showTopLabels.value()) {
3079
+ var j = { points: [e], text: this._numericFormatter.format(this._vlevels[u].coeff), color: this._vlevels[u].color, vertAlign: "bottom", horzAlign: "center", font: L.font.value(), offsetX: 0, offsetY: 3, fontsize: 12 };
3080
+ b.append(new s(j));
3081
+ }
3082
+ if (L.showBottomLabels.value()) {
3083
+ var V = { points: [t], text: this._numericFormatter.format(this._vlevels[u].coeff), color: this._vlevels[u].color, vertAlign: "top", horzAlign: "center", font: L.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
3084
+ b.append(new s(V));
3085
+ }
3086
+ }
3087
+ var H = this;
3088
+ W(b, this._hfans, !0), W(b, this._vfans, !1), this.addAnchors(b), this._renderer = b;
3089
+ }
3090
+ function W(e, t, i) { var n = new r(R, T), s = new r(S, T), a = new r(R, P), l = new r(S, P), h = { width: H._model.timeScale().width(), height: H._source.priceScale().height(), color: L.fans.color.value(), linewidth: L.linewidth.value(), linestyle: L.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal }; function c(t) { var i = new o; i.setData(Object.assign({}, h, { points: t })), e.append(i); } for (var u = 0; u < t.length; ++u) {
3091
+ var _ = i ? P : t[u], p = i ? T : t[u], f = i ? t[u] : R, g = i ? t[u] : S, v = new r(g, _), w = new r(f, _), x = new r(g, p), m = new r(f, p);
3092
+ c([a, x]), c([l, m]), c([n, v]), c([s, w]);
3093
+ } }
3094
+ }
3095
+ };
3096
+ }, f2d2: function (e, t) {
3097
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="#00ACEE" d="M23.5 12a11.5 11.5 0 1 1-23 0 11.5 11.5 0 0 1 23 0z"/><path fill="#fff" d="M17.82 8.47c-.42.18-.86.3-1.34.37.48-.3.85-.75 1.03-1.3-.45.27-.95.47-1.48.57a2.33 2.33 0 0 0-3.97 2.13 6.61 6.61 0 0 1-4.8-2.44 2.33 2.33 0 0 0 .72 3.11 2.32 2.32 0 0 1-1.06-.29v.03c0 1.13.8 2.07 1.87 2.29a2.35 2.35 0 0 1-1.05.04c.3.92 1.16 1.6 2.18 1.61a4.67 4.67 0 0 1-3.45.97 6.59 6.59 0 0 0 3.57 1.04 6.58 6.58 0 0 0 6.62-6.92c.45-.33.85-.74 1.16-1.2v-.01z"/></svg>';
3098
+ }, gr7S: function (e, t, i) {
3099
+ "use strict";
3100
+ var r = i("aB9a").LineSourcePaneView, n = i("wacn").DisjointChannelRenderer, s = i("pJOz").TrendLineRenderer, a = i("qgcf").TextRenderer, o = i("Zy3/").CompositeRenderer;
3101
+ t.FlatBottomPaneView = class extends r {
3102
+ constructor(e, t) { super(e, t), this._label1 = null, this._label2 = null, this._trendLineRendererPoints12 = new s, this._trendLineRendererPoints43 = new s, this._disjointChannelRenderer = new n, this._p1LabelRenderer = new a, this._p2LabelRenderer = new a, this._p3LabelRenderer = new a, this._p4LabelRenderer = new a, this._renderer = null; }
3103
+ _updateImpl() {
3104
+ if (super._updateImpl(), this._renderer = null, this._label1 = null, this._label2 = null, !(this._source.points().length < 2) && this._source.priceScale()) {
3105
+ var e = this._source.points()[0], t = this._source.points()[1], i = this._source.ownerSource().firstValue();
3106
+ if (this._price1 = this._source.priceScale().formatPrice(e.price, i), this._price2 = this._source.priceScale().formatPrice(t.price, i), 3 === this._source.points().length) {
3107
+ var r = this._source.points()[2];
3108
+ this._price3 = this._source.priceScale().formatPrice(r.price, i);
3109
+ }
3110
+ if (!(this._points.length < 2)) {
3111
+ var n, s = new o, a = (e = this._points[0], t = this._points[1], this._source.properties()), l = this._model, h = this._source;
3112
+ if (3 === this._points.length && ((r = this._points[2]).x = t.x, (n = e.clone()).y = r.y, n.data = 3, a.fillBackground.value())) {
3113
+ var d = l.timeScale().width(), c = h.priceScale().height(), u = a.extendLeft.value(), _ = a.extendRight.value();
3114
+ this._disjointChannelRenderer.setData({ width: d, height: c, extendleft: u, extendright: _, points: [e, t, r, n], backcolor: a.backgroundColor.value(), transparency: a.transparency.value(), hittestOnBackground: TradingView.isMobile.any() }), s.append(this._disjointChannelRenderer);
3115
+ }
3116
+ var p = function (e, t) { return { points: [e, t], width: l.timeScale().width(), height: h.priceScale().height(), color: a.linecolor.value(), linewidth: a.linewidth.value(), linestyle: a.linestyle.value(), extendleft: a.extendLeft.value(), extendright: a.extendRight.value(), leftend: a.leftEnd.value(), rightend: a.rightEnd.value() }; };
3117
+ if (this._trendLineRendererPoints12.setData(p(e, t)), s.append(this._trendLineRendererPoints12), 2 === this._points.length)
3118
+ return this.addAnchors(s), void (this._renderer = s);
3119
+ var f = this, g = function (e, t, i, r, n, a) {
3120
+ if (f._source.properties().showPrices.value()) {
3121
+ var o = { points: [i], text: n, color: f._source.properties().textcolor.value(), horzAlign: i.x > r.x ? "left" : "right", vertAlign: "middle", font: f._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: f._source.properties().bold.value(), italic: f._source.properties().italic.value(),
3122
+ fontsize: f._source.properties().fontsize.value(), forceTextAlign: !0 };
3123
+ e.setData(o), s.append(e);
3124
+ o = { points: [r], text: a, color: f._source.properties().textcolor.value(), horzAlign: i.x < r.x ? "left" : "right", vertAlign: "middle", font: f._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: f._source.properties().bold.value(), italic: f._source.properties().italic.value(), fontsize: f._source.properties().fontsize.value(), forceTextAlign: !0 };
3125
+ t.setData(o), s.append(t);
3126
+ }
3127
+ };
3128
+ g(this._p1LabelRenderer, this._p2LabelRenderer, e, t, this._price1, this._price2), this._trendLineRendererPoints43.setData(p(n, r)), s.append(this._trendLineRendererPoints43), g(this._p3LabelRenderer, this._p4LabelRenderer, r, n, this._price3, this._price3);
3129
+ var v = [e, t, r, n];
3130
+ this._model.lineBeingCreated() === this._source && v.pop(), s.append(this.createLineAnchor({ points: v }, 0)), this._renderer = s;
3131
+ }
3132
+ }
3133
+ }
3134
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3135
+ };
3136
+ }, hzaj: function (e, t, i) {
3137
+ "use strict";
3138
+ i.d(t, "a", (function () { return h; }));
3139
+ var r = i("aO4+"), n = i("BCbF"), s = i("vq8G"), a = i("Zy3/"), o = i("VdBB"), l = i("aB9a");
3140
+ class h extends l.LineSourcePaneView {
3141
+ constructor() { super(...arguments), this._polygonRenderer = new n.PolygonRenderer(null), this._renderer = new a.CompositeRenderer; }
3142
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3143
+ _updateImpl() { super._updateImpl(); const e = Math.max(1, this._source.smooth()), t = this._points; if (0 === t.length)
3144
+ return void this._renderer.clear(); const i = [t[0]]; for (let r = 1; r < t.length; r++) {
3145
+ const n = t[r].subtract(t[r - 1]), s = n.length(), a = Math.min(5, Math.floor(s / e)), o = n.normalized().scaled(s / a);
3146
+ for (let e = 0; e < a - 1; e++)
3147
+ i.push(t[r - 1].add(o.scaled(e)));
3148
+ i.push(t[r]);
3149
+ } this._points = this._smoothArray(i, e); const r = this._createPolygonRendererData(); if (this._polygonRenderer.setData(r), this._renderer = new a.CompositeRenderer, this._renderer.append(this._polygonRenderer), this._source.finished()) {
3150
+ const e = r.points.length;
3151
+ if (e > 0) {
3152
+ const t = 1 !== e ? [r.points[0], r.points[e - 1]] : [r.points[0]], i = new s.SelectionRenderer({ points: t, bgColors: this._lineAnchorColors(t), visible: this.areAnchorsVisible(), hittestResult: o.HitTestResult.REGULAR, barSpacing: this._getModel().timeScale().barSpacing() });
3153
+ this._renderer.append(i);
3154
+ }
3155
+ } }
3156
+ _smoothArray(e, t) { if (1 === e.length)
3157
+ return e; const i = new Array(e.length); for (let n = 0; n < e.length; n++) {
3158
+ let s = new r.Point(0, 0);
3159
+ for (let i = 0; i < t; i++) {
3160
+ const t = Math.max(n - i, 0), r = Math.min(n + i, e.length - 1);
3161
+ s = s.add(e[t]), s = s.add(e[r]);
3162
+ }
3163
+ i[n] = s.scaled(.5 / t);
3164
+ } return i.push(e[e.length - 1]), i; }
3165
+ }
3166
+ }, isd9: function (e, t, i) {
3167
+ "use strict";
3168
+ i.r(t), i.d(t, "ArcWedgeRenderer", (function () { return a; }));
3169
+ var r = i("VdBB"), n = i("Tmoa"), s = i("cPgM");
3170
+ class a extends s.ScaledPaneRenderer {
3171
+ constructor() { super(...arguments), this._data = null, this._hitTest = new r.HitTestResult(r.HitTestResult.MOVEPOINT), this._backHitTest = new r.HitTestResult(r.HitTestResult.MOVEPOINT_BACKGROUND); }
3172
+ setData(e) { this._data = e; }
3173
+ setHitTest(e) { this._hitTest = e; }
3174
+ hitTest(e) {
3175
+ if (null === this._data)
3176
+ return null;
3177
+ const t = e.subtract(this._data.center), i = t.length();
3178
+ if (Math.abs(i - this._data.radius) <= 4) {
3179
+ const t = e.subtract(this._data.p1).length(), i = e.subtract(this._data.p2).length();
3180
+ if (Math.max(t, i) <= this._data.p1.subtract(this._data.p2).length())
3181
+ return this._hitTest;
3182
+ }
3183
+ if (this._data.fillBackground && i <= this._data.radius) {
3184
+ const e = this._data.p1.subtract(this._data.center).normalized(), i = this._data.p2.subtract(this._data.center).normalized(), r = t.normalized(), n = e.dotProduct(i), s = r.dotProduct(e), a = r.dotProduct(i);
3185
+ if (s >= n && a >= n)
3186
+ return this._backHitTest;
3187
+ }
3188
+ return null;
3189
+ }
3190
+ _drawImpl(e) { if (null !== this._data && (e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.arc(this._data.center.x, this._data.center.y, this._data.radius, this._data.edge1, this._data.edge2, !0), e.stroke(), this._data.fillBackground)) {
3191
+ if (e.arc(this._data.center.x, this._data.center.y, this._data.prevRadius, this._data.edge2, this._data.edge1, !1), this._data.gradient) {
3192
+ const t = e.createRadialGradient(this._data.center.x, this._data.center.y, this._data.prevRadius, this._data.center.x, this._data.center.y, this._data.radius);
3193
+ t.addColorStop(0, Object(n.generateColor)(this._data.color1, this._data.transparency)), t.addColorStop(1, Object(n.generateColor)(this._data.color2, this._data.transparency)), e.fillStyle = t;
3194
+ }
3195
+ else
3196
+ e.fillStyle = Object(n.generateColor)(this._data.color, this._data.transparency, !0);
3197
+ e.fill();
3198
+ } }
3199
+ }
3200
+ }, jlk4: function (e, t, i) {
3201
+ "use strict";
3202
+ var r = i("isd9").ArcWedgeRenderer, n = i("1SUO").FibWedgePaneView, s = i("pJOz").TrendLineRenderer, a = i("Zy3/").CompositeRenderer, o = i("a7Ha").LineEnd;
3203
+ t.ProjectionLinePaneView = class extends n {
3204
+ constructor(e, t) { super(e, t), this._baseTrendRenderer = new s, this._edgeTrendRenderer = new s, this._arcWedgeRenderer = new r; }
3205
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3206
+ _updateRenderer() {
3207
+ if (!(this._points.length < 2)) {
3208
+ var e = new a, t = this._source.properties(), i = this._points, r = i[0], n = i[1], s = { points: [r, n], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.linewidth.value(), linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: o.Normal, rightend: o.Normal };
3209
+ if (this._baseTrendRenderer.setData(s), e.append(this._baseTrendRenderer), this._points.length < 3)
3210
+ return this.addAnchors(e), void (this._renderer = e);
3211
+ var l = i[2], h = l.data, d = n.subtract(r).length(), c = l.subtract(r).normalized();
3212
+ (l = r.add(c.scaled(d))).data = h, s = { points: [r, l], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.linewidth.value(), linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: o.Normal, rightend: o.Normal }, this._edgeTrendRenderer.setData(s), e.append(this._edgeTrendRenderer);
3213
+ var u = this._levels[0], _ = {};
3214
+ _.center = this._points[0], _.radius = u.radius, _.prevRadius = 0, _.edge = this._edge, _.color = t.trendline.color.value(), _.color1 = t.color1.value(), _.color2 = t.color2.value(), _.linewidth = t.linewidth.value(), _.edge1 = this._edge1, _.edge2 = this._edge2, _.p1 = u.p1, _.p2 = u.p2, _.fillBackground = t.fillBackground.value(), _.transparency = t.transparency.value(), _.gradient = !0, this._arcWedgeRenderer.setData(_),
3215
+ e.append(this._arcWedgeRenderer), this.addAnchors(e), this._renderer = e;
3216
+ }
3217
+ }
3218
+ };
3219
+ }, l5Au: function (e, t, i) {
3220
+ "use strict";
3221
+ var r = i("aB9a").LineSourcePaneView, n = i("2trc").ChannelRenderer, s = i("pJOz").TrendLineRenderer, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("a7Ha").LineEnd;
3222
+ t.PitchfanLinePaneView = class extends r {
3223
+ constructor(e, t) { super(e, t), this._medianRenderer = new s, this._sideRenderer = new s, this._renderer = null; }
3224
+ _updateImpl() {
3225
+ if (super._updateImpl(), this._renderer = null, 0 !== this._floatPoints.length && (3 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1].add(this._floatPoints[2]).scaled(.5), this._medianPoint.data = 3) : 2 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1], this._medianPoint.data = 3) : (this._medianPoint = this._floatPoints[0], this._medianPoint.data = 3), !(this._floatPoints.length < 2) && this._medianPoint)) {
3226
+ var e = new o, t = { points: [this._floatPoints[0], this._medianPoint], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._source.properties().median.color.value(), linewidth: this._source.properties().median.linewidth.value(), linestyle: this._source.properties().median.linestyle.value(), extendleft: !1, extendright: !0, leftend: l.Normal, rightend: l.Normal };
3227
+ if (this._medianRenderer.setData(t), e.append(this._medianRenderer), this._floatPoints.length < 3)
3228
+ return this.addAnchors(e), void (this._renderer = e);
3229
+ var i = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._source.properties().median.color.value(), linewidth: this._source.properties().median.linewidth.value(), linestyle: this._source.properties().median.linestyle.value(), extendleft: !1, extendright: !1, leftend: l.Normal, rightend: l.Normal };
3230
+ this._sideRenderer.setData(i), e.append(this._sideRenderer);
3231
+ for (var r = 0, h = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), d = this._source.properties().fillBackground.value(), c = this._source.properties().transparency.value(), u = 0; u <= 8; u++) {
3232
+ var _ = "level" + u, p = this._source.properties()[_];
3233
+ if (p.visible.value()) {
3234
+ var f, g = this._medianPoint.addScaled(h, p.coeff.value()), v = this._medianPoint.addScaled(h, -p.coeff.value());
3235
+ if (d)
3236
+ (f = {}).width = this._model.timeScale().width(), f.height = this._source.priceScale().height(), f.p1 = this._floatPoints[0], f.p2 = g, f.p3 = this._floatPoints[0], f.p4 = this._medianPoint.addScaled(h, r), f.color = p.color.value(), f.transparency = c, f.hittestOnBackground = !0, (x = new n).setData(f), e.append(x), (f = {}).width = this._model.timeScale().width(), f.height = this._source.priceScale().height(), f.p1 = this._floatPoints[0], f.p2 = v, f.p3 = this._floatPoints[0], f.p4 = this._medianPoint.addScaled(h, -r), f.color = p.color.value(), f.transparency = c, f.hittestOnBackground = !0, (x = new n).setData(f), e.append(x);
3237
+ r = p.coeff.value();
3238
+ var w = { points: [this._floatPoints[0], g], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: p.color.value(), linewidth: p.linewidth.value(), linestyle: p.linestyle.value(), extendleft: !1, extendright: !0, leftend: l.Normal, rightend: l.Normal };
3239
+ (x = new s).setData(w),
3240
+ x.setHitTest(new a(a.MOVEPOINT, null, u)), e.append(x);
3241
+ var x, m = { points: [this._floatPoints[0], v], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: p.color.value(), linewidth: p.linewidth.value(), linestyle: p.linestyle.value(), extendleft: !1, extendright: !0, leftend: l.Normal, rightend: l.Normal };
3242
+ (x = new s).setData(m), x.setHitTest(new a(a.MOVEPOINT, null, u)), e.append(x);
3243
+ }
3244
+ }
3245
+ this.addAnchors(e), this._renderer = e;
3246
+ }
3247
+ }
3248
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3249
+ };
3250
+ }, lZ9F: function (e, t, i) {
3251
+ "use strict";
3252
+ var r = i("aO4+").Point, n = i("GEp6").distanceToLine, s = i("aB9a").LineSourcePaneView, a = i("aB9a").thirdPointCursorType, o = i("pJOz").TrendLineRenderer, l = i("BCbF").PolygonRenderer, h = i("Zy3/").CompositeRenderer, d = i("a7Ha").LineEnd, c = i("//lt").PaneCursorType;
3253
+ t.RotatedRectanglePaneView = class extends s {
3254
+ constructor(e, t) { super(e, t), this._poligonRenderer = new l, this._renderer = null; }
3255
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, this._distance = 0, 3 === this._points.length && (this._distance = n(this._points[0], this._points[1], this._points[2]).distance), 0 !== this._points.length) {
3256
+ var e, t, i, s, l = new h, u = this._source.properties(), _ = this._points[0], p = this._points[1];
3257
+ if (2 === this._points.length) {
3258
+ (g = {}).points = this._points, g.floatPoints = this._floatPoints, g.width = this._model.timeScale().width(), g.height = this._source.priceScale().height(), g.color = u.color.value(), g.linewidth = 1, g.linestyle = CanvasEx.LINESTYLE_SOLID, g.extendleft = !1, g.extendright = !1, g.leftend = d.Normal, g.rightend = d.Normal;
3259
+ var f = new o;
3260
+ f.setData(g), l.append(f);
3261
+ }
3262
+ else if (3 === this._points.length) {
3263
+ var g, v = p.subtract(_), w = new r(v.y, -v.x).normalized().scaled(this._distance), x = w.scaled(-1);
3264
+ e = _.add(w), t = p.add(w), i = _.add(x), s = p.add(x), (g = {}).points = [e, t, s, i], g.color = u.color.value(), g.linewidth = this._source.properties().linewidth.value(), g.linestyle = CanvasEx.LINESTYLE_SOLID, g.filled = !0, g.backcolor = u.backgroundColor.value(), g.fillBackground = u.fillBackground.value(), g.transparency = u.transparency.value(), this._poligonRenderer.setData(g), l.append(this._poligonRenderer);
3265
+ }
3266
+ var m = [];
3267
+ m.push(_), this._points.length >= 2 && m.push(p);
3268
+ var y = [c.Default, c.Default];
3269
+ if (3 === this._points.length) {
3270
+ e.data = 2, i.data = 2, t.data = 2, s.data = 2, m.push(e, i, t, s);
3271
+ var b = a(_, p);
3272
+ y.push(b, b, b, b);
3273
+ }
3274
+ l.append(this.createLineAnchor({ points: m, pointsCursorType: y }, 0)), this._renderer = l;
3275
+ } }
3276
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3277
+ };
3278
+ }, mJB8: function (e, t, i) { e.exports = i.p + "4fafff07d8914dc11f6d335f606ff47c.png"; }, mjK7: function (e, t, i) {
3279
+ "use strict";
3280
+ i.r(t), i.d(t, "CypherPaneView", (function () { return n; }));
3281
+ var r = i("6MfG");
3282
+ class n extends r.Pattern5pointsPaneView {
3283
+ _updateBaseData() {
3284
+ if (this._source.points().length >= 3) {
3285
+ const [e, t, i] = this._source.points();
3286
+ this._abRetracement = Math.round(1e3 * Math.abs((i.price - t.price) / (t.price - e.price))) / 1e3;
3287
+ }
3288
+ if (this._source.points().length >= 4) {
3289
+ const [e, t, , i] = this._source.points();
3290
+ this._bcRetracement = Math.round(1e3 * Math.abs((i.price - e.price) / (t.price - e.price))) / 1e3;
3291
+ }
3292
+ if (this._source.points().length >= 5) {
3293
+ const [e, , t, i, r] = this._source.points();
3294
+ this._cdRetracement = Math.round(1e3 * Math.abs((r.price - i.price) / (i.price - t.price))) / 1e3, this._xdRetracement = Math.round(1e3 * Math.abs((r.price - i.price) / (e.price - i.price))) / 1e3;
3295
+ }
3296
+ }
3297
+ }
3298
+ }, mr3a: function (e, t, i) {
3299
+ "use strict";
3300
+ i.r(t), i.d(t, "TextPaneView", (function () { return p; }));
3301
+ var r = i("Eyy1"), n = i("aO4+"), s = i("zDbI"), a = i("//lt"), o = i("qgcf"), l = i("Zy3/"), h = i("vq8G"), d = i("TTFo"), c = i("VdBB"), u = i("aB9a");
3302
+ const _ = [a.PaneCursorType.HorizontalResize];
3303
+ class p extends u.LineSourcePaneView {
3304
+ constructor(e, t, i, r, n, s, a, l) { super(e, t), this._textRenderer = new o.TextRenderer, this._noSelection = !1, this._renderer = null, this._offsetX = i, this._offsetY = r, this._vertAlign = n, this._horzAlign = s, this._forceTextAlign = Boolean(a), this._noSelection = !1, this._renderer = null, this._recalculateSourcePointsOnFirstUpdate = l; }
3305
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3306
+ disableSelection() { this._noSelection = !0; }
3307
+ isEditMode() { return !this._getModel().readOnly(); }
3308
+ _updateImpl() {
3309
+ super._updateImpl(), this._renderer = null;
3310
+ const e = this._getSource(), t = e.priceScale();
3311
+ if (!t || t.isEmpty())
3312
+ return;
3313
+ const i = e.properties().childs(), a = this._getModel(), o = { text: i.text.value(), color: i.color.value(), fontSize: i.fontsize.value(), boxPadding: i.fontsize.value() / 6, font: s.CHART_FONT_FAMILY, vertAlign: this._vertAlign || "top", horzAlign: this._horzAlign || "left", offsetX: this._offsetX || 0, offsetY: this._offsetY || 0, forceTextAlign: this._forceTextAlign };
3314
+ if (o.points = e.isFixed() ? e.fixedPoints() : this._points, i.fillBackground && i.fillBackground.value() && (o.backgroundColor = i.backgroundColor.value()), i.drawBorder && i.drawBorder.value() && (o.borderColor = i.borderColor.value()), i.wordWrap && i.wordWrap.value() && (o.wordWrapWidth = i.wordWrapWidth.value()), o.bold = i.bold && i.bold.value(), o.italic = i.italic && i.italic.value(), o.highlightBorder = a.selection().isSelected(e), !e.isFixed() && i.fixedSize && !i.fixedSize.value()) {
3315
+ o.scaleX = a.timeScale().barSpacing() / e.barSpacing();
3316
+ const i = Object(r.ensureNotNull)(t.priceRange());
3317
+ let n = t.height() / i.length();
3318
+ e.isPriceDencityLog() && !t.isLog() && (n = t.height() / (Object(d.toLog)(i.maxValue()) - Object(d.toLog)(i.minValue()))), !e.isPriceDencityLog() && t.isLog() && (n = t.height() / (Object(d.fromLog)(i.maxValue()) - Object(d.fromLog)(i.minValue())));
3319
+ const s = e.priceDencity();
3320
+ void 0 !== s && (o.scaleY = n / s), (void 0 === s || void 0 === o.scaleY || o.scaleY <= 0) && delete o.scaleY;
3321
+ }
3322
+ this._textRenderer.setData(o);
3323
+ const u = 1 === o.points.length;
3324
+ if (u && void 0 !== this._recalculateSourcePointsOnFirstUpdate) {
3325
+ this._renderer = null;
3326
+ const e = this._textRenderer.measure();
3327
+ return this._recalculateSourcePointsOnFirstUpdate(e.width, e.height), void (this._recalculateSourcePointsOnFirstUpdate = void 0);
3328
+ }
3329
+ if (u && !this._noSelection) {
3330
+ const e = new l.CompositeRenderer;
3331
+ e.append(this._textRenderer);
3332
+ const t = o.points[0].clone(), i = this._textRenderer.measure(), r = i.width, s = i.height;
3333
+ if (o.wordWrapWidth) {
3334
+ const i = new n.Point(t.x + r, t.y + s / 2);
3335
+ i.data = 0, e.append(this.createLineAnchor({ points: [i], pointsCursorType: _ }, 0));
3336
+ }
3337
+ const d = new n.Point(t.x + r / 2, t.y + s);
3338
+ return d.data = 0, e.append(new h.SelectionRenderer({ points: [d], bgColors: this._lineAnchorColors([d]),
3339
+ visible: this.areAnchorsVisible(), hittestResult: c.HitTestResult.MOVEPOINT, barSpacing: a.timeScale().barSpacing() })), void (this._renderer = e);
3340
+ }
3341
+ this._renderer = this._textRenderer;
3342
+ }
3343
+ }
3344
+ }, "obU/": function (e, t, i) {
3345
+ "use strict";
3346
+ var r = i("aO4+").Point, n = i("GEp6").distanceToLine, s = i("hfHJ"), a = s.rotationMatrix, o = s.scalingMatrix, l = s.translationMatrix, h = s.transformPoint, d = i("aB9a").LineSourcePaneView, c = i("VdBB").HitTestResult, u = i("Zy3/").CompositeRenderer, _ = i("Tmoa"), p = i("aB9a").thirdPointCursorType, f = i("//lt").PaneCursorType, g = i("cPgM").ScaledPaneRenderer;
3347
+ class v extends g {
3348
+ constructor() { super(), this._data = null; }
3349
+ setData(e) { this._data = e, this._data.angleFrom = 0, this._data.angleTo = 2 * Math.PI, this._data.clockwise = !1; }
3350
+ _drawImpl(e) { if (!(null === this._data || this._data.points.length < 2)) {
3351
+ var t = this._data.points[0], i = this._data.points[1];
3352
+ if (this._data.points.length < 3)
3353
+ return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
3354
+ var s = this._data.points[2], d = n(t, i, s).distance;
3355
+ if (d < 1)
3356
+ return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
3357
+ var c = i.subtract(t), u = t.add(i).scaled(.5), p = new r(-c.y, c.x);
3358
+ p = p.normalized(), s = u.add(p.scaled(d)), e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth;
3359
+ var f = c.length(), g = c.x / f, v = c.y / f, w = Math.acos(g);
3360
+ v < 0 && (w = -w);
3361
+ var x = this._data.points[2], m = l(-u.x, -u.y);
3362
+ x = h(m, x), m = a(-w), x = h(m, x), m = o(1, f / (2 * d)), (x = h(m, x)).y < 0 ? this._data.clockwise = !0 : this._data.clockwise = !1, e.save(), e.beginPath(), e.translate(u.x, u.y), e.rotate(w), e.scale(1, 2 * d / f), e.arc(0, 0, .5 * f, this._data.angleFrom, this._data.angleTo, this._data.clockwise), e.restore(), e.stroke(), this._data.fillBackground && (e.fillStyle = _.generateColor(this._data.backcolor, this._data.transparency), e.fill());
3363
+ } }
3364
+ _additionalPointTest(e, t) { return !0; }
3365
+ hitTest(e) { if (null === this._data || this._data.points.length < 3)
3366
+ return null; var t = this._data.points[0], i = this._data.points[1], s = this._data.points[2], d = n(t, i, s).distance, u = i.subtract(t), _ = t.add(i).scaled(.5), p = new r(-u.y, u.x); p = p.normalized(), s = _.add(p.scaled(d)); var f = u.length(), g = u.x / f, v = u.y / f, w = Math.acos(g); v < 0 && (w = -w); var x = l(-_.x, -_.y); e = h(x, e); var m = h(x, this._data.points[2]); x = a(-w), e = h(x, e), m = h(x, m), x = o(1, f / (2 * d)), e = h(x, e), m = h(x, m); var y = e.length(); return this._additionalPointTest(e, m) ? Math.abs(y - .5 * f) <= 3 ? new c(c.MOVEPOINT) : this._data.fillBackground && !this._data.noHitTestOnBackground && y <= .5 * f ? new c(c.MOVEPOINT_BACKGROUND) : null : null; }
3367
+ }
3368
+ t.EllipsePaneView = class extends d {
3369
+ constructor(e, t) { super(e, t), this._ellipseRenderer = new v, this._renderer = null; }
3370
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3371
+ _updateImpl() {
3372
+ if (super._updateImpl(), this._renderer = null, !(this._points.length < 2)) {
3373
+ var e = {};
3374
+ e.points = this._points, e.color = this._source.properties().color.value(), e.linewidth = this._source.properties().linewidth.value(), e.backcolor = this._source.properties().backgroundColor.value(), e.fillBackground = this._source.properties().fillBackground.value(),
3375
+ e.transparency = this._source.properties().transparency.value(), this._ellipseRenderer.setData(e);
3376
+ var t = new u;
3377
+ t.append(this._ellipseRenderer);
3378
+ var i = e.points[0], s = e.points[1];
3379
+ if (2 === this._points.length)
3380
+ return this.addAnchors(t), void (this._renderer = t);
3381
+ var a = e.points[2], o = n(i, s, a).distance, l = s.subtract(i), h = i.add(s).scaled(.5), d = new r(-l.y, l.x);
3382
+ d = d.normalized(), a = h.add(d.scaled(o));
3383
+ var c = h.add(d.scaled(-o)), _ = new r(i.x, i.y);
3384
+ _.data = 0;
3385
+ var g = new r(s.x, s.y);
3386
+ g.data = 1;
3387
+ var v = new r(a.x, a.y);
3388
+ v.data = 2;
3389
+ var w = new r(c.x, c.y);
3390
+ w.data = 3;
3391
+ var x = p(_, g), m = [f.Default, f.Default, x, x];
3392
+ t.append(this.createLineAnchor({ points: [_, g, v, w], pointsCursorType: m }, 0)), this._renderer = t;
3393
+ }
3394
+ }
3395
+ };
3396
+ }, ocVb: function (e, t, i) {
3397
+ "use strict";
3398
+ var r = i("Eyy1").ensureNotNull, n = i("aO4+").Point, s = i("YFKU").t, a = i("aB9a").LineSourcePaneView, o = i("cjIn").PaneRendererCachedImage, l = i("Zy3/").CompositeRenderer, h = i("GH0z").PercentageFormatter, d = i("zXvd").NumericFormatter, c = i("nda6").TimeSpanFormatter, u = i("5C6T").PipFormatter, _ = i("vq8G").SelectionRenderer, p = i("pJOz").TrendLineRenderer, f = i("qgcf").TextRenderer, g = i("8xAY").LabelSettings, v = i("zDbI").CHART_FONT_FAMILY, w = i("VdBB").HitTestResult, x = i("FVHe").TrendLineStatsCache, m = i("c44N").areEqualPaneRenderParams, y = i("5/lF").iconsContainer, b = i("Ialn"), R = b.forceLTRStr, T = b.startWithLTR;
3399
+ t.TrendLinePaneView = class extends a {
3400
+ constructor(e, t) { super(e, t), this._label = null, this._rendererCache = {}, this._cacheInvalidated = !0, this._percentageFormatter = new h, this._numericFormatter = new d, this._pipFormatter = null, this._lastSymbolInfo = null, this._trendRenderer = new p, this._labelRenderer = new f, this._renderer = null, this._cache = null, this._cacheDrawParams = null, this._iconsReady = !1, y.onAllIconsReady().subscribe(this, (function () { this._cache && (this._cache.destroy(), this._cache = null), this._iconsReady = !0, t.lightUpdate(); })); }
3401
+ iconsReady() { return this._iconsReady; }
3402
+ update() { super.update(), this._cacheInvalidated = !0; }
3403
+ getCacheCanvas(e) { return this._createCacheIfRequired(e), r(this._cache).canvas(); }
3404
+ getCacheRects(e, t) { this._createCacheIfRequired(e); var i = this._source.properties().statsPosition.value(), r = this._source.getPointByPosition(i, this._points[0], this._middlePoint, this._points[1]), n = { left: 0, top: this._cache.topByRow(this._statCache.rowIndex), width: this._cache.rowWidth(this._statCache.rowIndex), height: this._cache.rowHeight(this._statCache.rowIndex) }, s = { left: Math.floor(r.x), top: Math.floor(r.y), width: n.width, height: n.height }; return s.left += g.paddingLeftRight, this._points[1].y < this._points[0].y && this._points[1].x < this._points[0].x || this._points[1].y > this._points[0].y && this._points[1].x > this._points[0].x ? s.top -= g.paddingLeftRight + s.height : s.top += g.paddingLeftRight, { cacheRect: n, targetRect: s }; }
3405
+ _createCacheIfRequired(e) {
3406
+ null != this._cache && null != this._cacheDrawParams && m(e, this._cacheDrawParams) || (this._cache && this._cache.destroy(), this._cache = new x(e), this._statCache = this._cache.updateSource(this._source, function () { return this._statLabelData(); }.bind(this)), this._cacheDrawParams = e, this._cacheInvalidated = !1), this._cacheInvalidated && (this._cacheState = this._cache.updateSource(this._source, function () {
3407
+ return this._statLabelData();
3408
+ }.bind(this)), this._cacheInvalidated = !1);
3409
+ }
3410
+ destroy() { this._cache && (this._cache.destroy(), this._cache = null), y.onAllIconsReady().unsubscribeAll(this); }
3411
+ _updateImpl() { this._renderer = null, this._invalidated = !1; var e = this._source.priceScale(), t = this._model.timeScale(); if (e && !e.isEmpty() && !t.isEmpty()) {
3412
+ var i = this._model.timeScale().visibleBarsStrictRange();
3413
+ if (null !== i) {
3414
+ var r = this._source.points();
3415
+ if (!(r.length < 2)) {
3416
+ var s = r[0], a = r[1], h = this._source.properties();
3417
+ if ((!(s.index < i.firstBar() && a.index < i.firstBar()) || h.extendLeft.value() || h.extendRight.value()) && (super._updateImpl(), !(this._points.length < 2))) {
3418
+ var d = h.showBarsRange.value(), c = h.showDateTimeRange.value(), u = h.showDistance.value(), p = h.showPriceRange.value(), f = h.showAngle.value();
3419
+ p || d || c || u || f || (this._label = null, this._labelData && (this._labelData.text = "", this._labelData.lines = []));
3420
+ var g = new l, v = h.linecolor.value(), x = {};
3421
+ x.points = this._points, x.floatPoints = this._floatPoints, x.width = t.width(), x.height = e.height(), x.color = v, x.linewidth = h.linewidth.value(), x.linestyle = h.linestyle.value(), x.extendleft = h.extendLeft.value(), x.extendright = h.extendRight.value(), x.leftend = h.leftEnd.value(), x.rightend = h.rightEnd.value(), this._trendRenderer.setData(x), g.append(this._trendRenderer);
3422
+ var m = (this.isHoveredSource() || this.isSelectedSource()) && this.isEditMode() || h.alwaysShowStats.value(), y = (this.isHoveredSource() || this.isSelectedSource()) && h.showMiddlePoint.value();
3423
+ if (m && 2 === this._points.length) {
3424
+ var b = new o(this, 0);
3425
+ g.append(b);
3426
+ }
3427
+ if (this._middlePoint && g.append(new _({ points: [this._middlePoint], bgColors: this._lineAnchorColors([this._middlePoint]), color: v, visible: y && this.areAnchorsVisible(), hittestResult: w.REGULAR })), this.addAnchors(g), h.showLabel && h.showLabel.value() && h.text.value().length > 0) {
3428
+ s = this._points[0], a = this._points[1];
3429
+ var R, T = s.x < a.x ? s : a, S = T === s ? a : s, P = h.vertLabelsAlign.value(), L = h.horzLabelsAlign.value();
3430
+ R = "left" === L ? T.clone() : "right" === L ? S.clone() : new n((s.x + a.x) / 2, (s.y + a.y) / 2);
3431
+ var C = Math.atan((S.y - T.y) / (S.x - T.x)), M = { points: [R], text: h.text.value(), color: h.textcolor.value(), vertAlign: P, horzAlign: L, font: h.font.value(), offsetX: 0, offsetY: 0, bold: h.bold.value(), italic: h.italic.value(), fontsize: h.fontsize.value(), forceTextAlign: !0, angle: C };
3432
+ this._labelRenderer.setData(M), g.append(this._labelRenderer);
3433
+ }
3434
+ this._renderer = g;
3435
+ }
3436
+ }
3437
+ }
3438
+ } }
3439
+ _statLabelData() {
3440
+ var e, t, i, r, n, a, o, l = this._source.points(), h = l[0], d = l[1], _ = this._source.properties(), p = [];
3441
+ if (_.showPriceRange.value() && this._source.priceScale()) {
3442
+ var f = (r = d.price - h.price) / Math.abs(h.price);
3443
+ e = this._source.ownerSource().formatter().format(r) + " (" + this._percentageFormatter.format(100 * f) + ")";
3444
+ var w = this._model.mainSeries().symbolInfo();
3445
+ w && w !== this._lastSymbolInfo && (this._pipFormatter = new u(w.pricescale, w.minmov, w.type, w.minmove2), this._lastSymbolInfo = w), e += this._pipFormatter ? ", " + this._pipFormatter.format(r) : "", p.push("priceRange");
3446
+ }
3447
+ var x, m = _.showBarsRange.value(), y = _.showDateTimeRange.value(), b = _.showDistance.value(), S = _.showAngle.value();
3448
+ if (S || b) {
3449
+ var P = this._source.pointToScreenPoint(h)[0];
3450
+ a = this._source.pointToScreenPoint(d)[0].subtract(P), o = Math.round(1e5 * a.length()) / 1e5;
3451
+ }
3452
+ if (m || y || b) {
3453
+ if (t = "", m && (n = d.index - h.index, t += s("{count} bars").format({ count: R(n) })), y) {
3454
+ var L = this._model.timeScale().indexToUserTime(h.index), C = this._model.timeScale().indexToUserTime(d.index);
3455
+ if (L && C) {
3456
+ var M = (C.valueOf() - L.valueOf()) / 1e3, I = T((new c).format(M));
3457
+ I && (t += m ? " (" + I + ")" : I);
3458
+ }
3459
+ }
3460
+ b && (t && (t += ", "), t += s("distance: {number} px").format({ number: R(this._numericFormatter.format(Math.round(o))) })), t && p.push("barsRange");
3461
+ }
3462
+ S && (o > 0 && (a = a.normalized(), x = Math.acos(a.x), a.y > 0 && (x = -x)), "number" != typeof x || TradingView.isNaN(x) || (i = Math.round(180 * x / Math.PI) + "º", p.push("angle")));
3463
+ this._label = [R(e), t, i].filter((function (e) { return e; })).join("\n") || null, this._icons = p;
3464
+ var O = this._model.isDark(), N = O ? g.bgColorDark : g.bgColorLight, D = O ? g.textColorDark : g.textColorLight, B = { points: [this._points[1]], text: this._label, color: D, isDark: O, font: v, fontSize: g.fontSize, lineSpacing: g.lineSpacing, backgroundColor: N, backgroundRoundRect: g.rectRadius, paddingLeft: g.paddingLeftRight, paddingRight: g.paddingLeftRight, paddingTop: g.paddingTopBottom, paddingBottom: g.paddingTopBottom, textPadding: g.textPadding, doNotAlignText: !0, icons: this._icons };
3465
+ return this._points[1].y < this._points[0].y && (B.vertAlign = "bottom"), this._points[1].x < this._points[0].x && (B.horzAlign = "right"), this._labelData = B, B;
3466
+ }
3467
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3468
+ };
3469
+ }, pBAL: function (e, t, i) {
3470
+ "use strict";
3471
+ var r = i("aB9a").LineSourcePaneView, n = i("wacn").DisjointChannelRenderer, s = i("pJOz").TrendLineRenderer, a = i("qgcf").TextRenderer, o = i("Zy3/").CompositeRenderer, l = i("//lt").PaneCursorType, h = [l.Default, l.Default, l.VerticalResize, l.Default];
3472
+ t.DisjointChannelPaneView = class extends r {
3473
+ constructor(e, t) { super(e, t), this._label = null, this._trendLineRendererPoints12 = new s, this._trendLineRendererPoints43 = new s, this._disjointChannelRenderer = new n, this._p1LabelRenderer = new a, this._p2LabelRenderer = new a, this._p3LabelRenderer = new a, this._p4LabelRenderer = new a, this._renderer = null; }
3474
+ _updateImpl() {
3475
+ if (super._updateImpl(), this._renderer = null, this._label = null, !(this._source.points().length < 2) && this._source.priceScale()) {
3476
+ var e = this._source.points()[0], t = this._source.points()[1], i = this._source.ownerSource().firstValue();
3477
+ if (this._price1 = this._source.priceScale().formatPrice(e.price, i), this._price2 = this._source.priceScale().formatPrice(t.price, i), 3 === this._source.points().length) {
3478
+ var r = this._source.points()[2];
3479
+ this._price3 = this._source.priceScale().formatPrice(r.price, i);
3480
+ var n = t.price - e.price;
3481
+ this._price4 = this._source.priceScale().formatPrice(r.price + n, i);
3482
+ }
3483
+ if (!(this._points.length < 2)) {
3484
+ var s, a = new o, l = (e = this._points[0], t = this._points[1], this._source.properties()), d = this._model, c = this._source;
3485
+ if (this._points.length >= 3) {
3486
+ (r = this._points[2]).x = t.x, r.square = !0;
3487
+ var u = t.y - e.y;
3488
+ if ((s = e.clone()).y = r.y + u, s.data = 3, l.fillBackground.value()) {
3489
+ var _ = d.timeScale().width(), p = c.priceScale().height(), f = l.extendLeft.value(), g = l.extendRight.value();
3490
+ this._disjointChannelRenderer.setData({ width: _, height: p, extendleft: f, extendright: g,
3491
+ points: [e, t, r, s], backcolor: l.backgroundColor.value(), transparency: l.transparency.value(), hittestOnBackground: TradingView.isMobile.any() }), a.append(this._disjointChannelRenderer);
3492
+ }
3493
+ }
3494
+ var v = function (e, t) { return { points: [e, t], width: d.timeScale().width(), height: c.priceScale().height(), color: l.linecolor.value(), linewidth: l.linewidth.value(), linestyle: l.linestyle.value(), extendleft: l.extendLeft.value(), extendright: l.extendRight.value(), leftend: l.leftEnd.value(), rightend: l.rightEnd.value() }; }, w = this, x = function (e, t, i, r, n, s) { if (w._source.properties().showPrices.value()) {
3495
+ var o = { points: [i], text: n, color: w._source.properties().textcolor.value(), horzAlign: i.x > r.x ? "left" : "right", vertAlign: "middle", font: w._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: w._source.properties().bold.value(), italic: w._source.properties().italic.value(), fontsize: w._source.properties().fontsize.value(), forceTextAlign: !0 };
3496
+ e.setData(o), a.append(e);
3497
+ o = { points: [r], text: s, color: w._source.properties().textcolor.value(), horzAlign: i.x < r.x ? "left" : "right", vertAlign: "middle", font: w._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: w._source.properties().bold.value(), italic: w._source.properties().italic.value(), fontsize: w._source.properties().fontsize.value(), forceTextAlign: !0 };
3498
+ t.setData(o), a.append(t);
3499
+ } };
3500
+ if (this._trendLineRendererPoints12.setData(v(e, t)), a.append(this._trendLineRendererPoints12), x(this._p1LabelRenderer, this._p2LabelRenderer, e, t, this._price1, this._price2), 2 === this._points.length)
3501
+ return this.addAnchors(a), void (this._renderer = a);
3502
+ this._trendLineRendererPoints43.setData(v(s, r)), a.append(this._trendLineRendererPoints43), x(this._p3LabelRenderer, this._p4LabelRenderer, r, s, this._price3, this._price4);
3503
+ var m = [e, t, r, s];
3504
+ this._model.lineBeingCreated() === this._source && m.pop(), a.append(this.createLineAnchor({ points: m, pointsCursorType: h }, 0)), this._renderer = a;
3505
+ }
3506
+ }
3507
+ }
3508
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3509
+ };
3510
+ }, pGCE: function (e, t, i) {
3511
+ "use strict";
3512
+ i.r(t), i.d(t, "LineToolBeingCreatedPaneView", (function () { return h; }));
3513
+ var r = i("aB9a"), n = i("8Uy/"), s = i("a7Ha"), a = i("Zy3/"), o = i("z+cS"), l = i("pJOz");
3514
+ class h extends r.LineSourcePaneView {
3515
+ constructor() { super(...arguments), this._lineRenderer1 = new o.VerticalLineRenderer, this._lineRenderer2 = new o.VerticalLineRenderer, this._medianRenderer = new l.TrendLineRenderer, this._renderer = null; }
3516
+ renderer() { return this._invalidated && (this._updateImpl(), this._invalidated = !1), this._renderer; }
3517
+ _updateImpl() {
3518
+ super._updateImpl(), this._renderer = null;
3519
+ const e = this._getPoints();
3520
+ if (e.length < 1)
3521
+ return;
3522
+ this._renderer = new a.CompositeRenderer;
3523
+ const [t, i] = e;
3524
+ this._lineRenderer1.setData({ x: t.x, color: "#808080", linewidth: 1, linestyle: n.LINESTYLE_SOLID }), this._renderer.append(this._lineRenderer1), e.length > 1 && (this._lineRenderer2.setData({ x: i.x, color: "#808080", linewidth: 1, linestyle: n.LINESTYLE_SOLID }), this._medianRenderer.setData({ points: [t, i], color: "#808080", linewidth: 1, linestyle: n.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: s.LineEnd.Normal, rightend: s.LineEnd.Normal }),
3525
+ this._renderer.append(this._lineRenderer2), this._renderer.append(this._medianRenderer));
3526
+ }
3527
+ }
3528
+ }, piZW: function (e, t, i) {
3529
+ "use strict";
3530
+ i.r(t);
3531
+ var r = i("aO4+"), n = i("aB9a"), s = i("Zy3/"), a = i("cPgM"), o = i("VdBB"), l = i("jFln");
3532
+ class h extends a.ScaledPaneRenderer {
3533
+ constructor(e) { super(), this._data = e; }
3534
+ hitTest(e, t) { const i = (e.x - this._data.point.x) * Math.PI / this._data.width; let r = Math.sin(i - Math.PI / 2) * this._data.height / 2; return r = this._data.point.y + r + this._data.height / 2, Math.abs(r - e.y) <= 3 ? new o.HitTestResult(o.HitTestResult.MOVEPOINT) : null; }
3535
+ _drawImpl(e, t) { e.strokeStyle = this._data.color, e.lineWidth = this._data.lineWidth, Object(l.setLineStyle)(e, this._data.lineStyle), e.beginPath(), e.moveTo(this._data.point.x, this._data.point.y); const i = Math.max(1, this._data.width / 30), r = t.cssWidth - this._data.point.x + i; for (let t = 1; t <= r; t += i) {
3536
+ const i = t * Math.PI / this._data.width, r = Math.sin(i - Math.PI / 2) * this._data.height / 2;
3537
+ e.lineTo(this._data.point.x + t, this._data.point.y + r + this._data.height / 2);
3538
+ } e.stroke(); }
3539
+ }
3540
+ i.d(t, "SineLinePaneView", (function () { return d; }));
3541
+ class d extends n.LineSourcePaneView {
3542
+ constructor(e, t) { super(e, t), this._renderer = new s.CompositeRenderer; }
3543
+ renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
3544
+ _updateImpl(e, t) { if (super._updateImpl(), this._renderer.clear(), this._points.length < 2)
3545
+ return; const [i, n] = this._source.points(); if (0 === 2 * Math.abs(i.index - n.index))
3546
+ return void this.addAnchors(this._renderer); const [s, a] = this._points, o = Math.abs(s.x - a.x), l = a.y - s.y, d = this._source.properties(), c = d.linewidth.value(); if (s.y < -c && a.y < -c || s.y > e + c && a.y > e + c)
3547
+ return; const u = 2 * o, _ = s.x > 0 ? s.x - Math.ceil(s.x / u) * u : s.x + Math.floor(-s.x / u) * u, p = { point: new r.Point(_, s.y), width: o, height: l, color: d.linecolor.value(), lineWidth: d.linewidth.value(), lineStyle: d.linestyle.value() }; this._renderer.append(new h(p)), this.addAnchors(this._renderer); }
3548
+ }
3549
+ }, qjB4: function (e, t, i) { e.exports = i.p + "f55394b616ed1ae9462c37daab941d93.png"; }, tjxb: function (e, t, i) {
3550
+ "use strict";
3551
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("jkoZ"), a = i("VdBB").HitTestResult, o = i("cPgM").ScaledPaneRenderer;
3552
+ class l extends o {
3553
+ constructor(e, t) { super(), this._data = e, this._adapter = t; }
3554
+ _textWidth(e) { if (0 === this._adapter.getText().length)
3555
+ return 0; e.save(), e.font = this._adapter.getFont(); var t = e.measureText(this._adapter.getText()).width; return e.restore(), 5 + t; }
3556
+ _drawArrow(e, t, i) { e.save(), e.strokeStyle = this._adapter.getArrowColor(), e.fillStyle = this._adapter.getArrowColor(); var r = this._adapter.getArrowHeight(), n = this._adapter.getDirection(); e.translate(t - 2, i), "buy" !== n && e.rotate(Math.PI), CanvasEx.drawArrow(e, 0, 0, 0, r, 4), e.restore(); }
3557
+ _drawText(e, t, i) { var r = this._adapter.getText(); if (r) {
3558
+ e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getFont(), e.fillStyle = this._adapter.getTextColor();
3559
+ var n = t + this._textWidth(e) / 2, a = i + s.fontHeight(this._adapter.getFont()) / 2;
3560
+ e.fillText(r, n, a - 1), e.restore();
3561
+ } }
3562
+ _drawImpl(e, t) {
3563
+ var i = Math.round(this._data.points[0].x), r = Math.round(this._data.points[0].y);
3564
+ this._drawArrow(e, i, r);
3565
+ var n = this._textWidth(e);
3566
+ if (0 !== n) {
3567
+ var a = this._adapter.getArrowHeight(), o = this._adapter.getArrowSpacing(), l = s.fontHeight(this._adapter.getFont()), h = "buy" === this._adapter.getDirection() ? r + a + o : r - a - o - l;
3568
+ this._drawText(e, Math.round(i + .5 - n / 2), h);
3569
+ }
3570
+ }
3571
+ hitTest(e) { var t, i, r = Math.round(this._data.points[0].x), n = Math.round(this._data.points[0].y), s = this._adapter.getArrowHeight(); if ("buy" === this._adapter.getDirection() ? (t = n, i = n + s) : (t = n - s, i = n), e.x >= r - 2 && e.x <= r + 2 && e.y >= t && e.y <= i) {
3572
+ var o = this._adapter.getTooltip();
3573
+ const e = () => { TradingView.TradingWidget && TradingView.TradingWidget.journalDialog(); };
3574
+ return new a(a.CUSTOM, { clickHandler: e, tapHandler: e, tooltip: "" !== o ? { text: o, rect: { x: r, y: t, w: 2, h: i - t } } : null });
3575
+ } return null; }
3576
+ }
3577
+ class h extends n {
3578
+ _updateImpl() { super._updateImpl(), this._renderer = null, this._rendererCached = !1; }
3579
+ renderer(e, t) { if (this._invalidated && this._updateImpl(), this._rendererCached)
3580
+ return this._renderer; this._rendererCached = !0; var i = this._source, n = i.points(); if (0 === n.length)
3581
+ return null; var s = i._adapter, a = i._model.timeScale(), o = this._source._model.paneForSource(this._source).executionsPositionController().getXYCoordinate(s, a, n[0].index); if (!isFinite(o.y) || o.y < 0 || o.y > e || o.x < 0)
3582
+ return this._renderer = null, null; var h = { points: [new r(o.x, o.y)] }; return this._renderer = new l(h, s), this._renderer; }
3583
+ }
3584
+ h.prototype._renderer = null, h.prototype._rendererCached = !1, t.ExecutionPaneView = h;
3585
+ }, "u+oH": function (e, t, i) {
3586
+ "use strict";
3587
+ var r = i("aO4+").Point, n = i("YFKU").t, s = i("aB9a").LineSourcePaneView, a = i("pJOz").TrendLineRenderer, o = i("qgcf").TextRenderer, l = i("IjC5").RectangleRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("GH0z").PercentageFormatter, u = i("zXvd").NumericFormatter, _ = i("5C6T").PipFormatter, p = i("Tmoa"), f = i("a7Ha").LineEnd, g = i("wGNx").RiskRewardPointIndex, v = i("Ialn").forceLTRStr, w = i("//lt").PaneCursorType, x = [w.Default, w.HorizontalResize, w.VerticalResize, w.VerticalResize];
3588
+ class m extends s {
3589
+ constructor(e, t) { super(e, t), this._percentageFormatter = new c, this._numericFormatter = new u, this._pipFormatter = null, this._lastSymbolInfo = null, this._entryLineRenderer = new a, this._stopLineRenderer = new a, this._targetLineRenderer = new a, this._positionLineRenderer = new a, this._fullStopBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._stopBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._fullTargetBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._targetBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._stopLabelRenderer = new o, this._middleLabelRenderer = new o, this._profitLabelRenderer = new o, this._renderer = null; }
3590
+ _formatInTicks(e) { var t = this._model.mainSeries().base(); return Math.round(e * t); }
3591
+ isLabelVisible() { return this.isHoveredSource() || this.isSelectedSource() || this._source.properties().alwaysShowStats.value(); }
3592
+ _updateImpl() {
3593
+ super._updateImpl(), this._renderer = null, this._stopLevel = null, this._profitLevel = null;
3594
+ var e = this._model.timeScale(), t = this._source.priceScale();
3595
+ if (t && !t.isEmpty() && !e.isEmpty()) {
3596
+ var i = this._source.points();
3597
+ if (!(i.length < 2 || this._points.length < 2)) {
3598
+ var n = this._model.mainSeries(), s = n.bars();
3599
+ if (0 !== s.length && null !== s.last()) {
3600
+ this._isClosed = 4 === i.length;
3601
+ var a = this._source.lastBarData();
3602
+ if (a) {
3603
+ var o = this._source.stopPrice(), l = this._source.profitPrice();
3604
+ this._pl = this._source.calculatePL(a.closePrice);
3605
+ var h = this._source.ownerSource().firstValue();
3606
+ this._entryLevel = this._points[g.Entry].y, this._stopLevel = t.priceToCoordinate(o, h), this._profitLevel = t.priceToCoordinate(l, h), this._closeLevel = t.priceToCoordinate(a.closePrice, h), this._closeBar = this._source._model.timeScale().indexToCoordinate(a.index);
3607
+ var c = new d, u = this, w = this._source.properties(), m = this._points[g.Entry].x, y = this._points[g.ActualEntry] ? this._points[g.ActualEntry].x : this._points[g.Close].x, b = this._points[g.ActualClose] ? this._points[g.ActualClose].x : this._points[g.Close].x, R = this._points[g.Close].x, T = new r(m, this._entryLevel), S = new r(R, this._stopLevel);
3608
+ if ((I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.stopBackground.value(), I.fillBackground = !0, I.transparency = w.stopBackgroundTransparency.value(), I.extendLeft = !1, I.extendRight = !1, this._fullStopBgRenderer.setData(I), c.append(this._fullStopBgRenderer), this._pl < 0 && y !== b) {
3609
+ T = new r(y, this._entryLevel), S = new r(b, this._closeLevel);
3610
+ (I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.stopBackground.value(), I.fillBackground = !0;
3611
+ var P = 100 - 100 * (1 - (L = .01 * w.stopBackgroundTransparency.value()) * L * L);
3612
+ I.transparency = P, I.extendLeft = !1, I.extendRight = !1, this._stopBgRenderer.setData(I), c.append(this._stopBgRenderer);
3613
+ }
3614
+ T = new r(m, this._entryLevel), S = new r(R, this._profitLevel);
3615
+ if ((I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.profitBackground.value(), I.fillBackground = !0, I.transparency = w.profitBackgroundTransparency.value(), I.extendLeft = !1, I.extendRight = !1, this._fullTargetBgRenderer.setData(I), c.append(this._fullTargetBgRenderer), this._pl > 0 && y !== b) {
3616
+ T = new r(y, this._entryLevel), S = new r(b, this._closeLevel);
3617
+ (I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.profitBackground.value(), I.fillBackground = !0;
3618
+ var L, C = 100 - 100 * (1 - (L = .01 * w.profitBackgroundTransparency.value()) * L * L);
3619
+ I.transparency = C, I.extendLeft = !1, I.extendRight = !1, this._targetBgRenderer.setData(I), c.append(this._targetBgRenderer);
3620
+ }
3621
+ var M = function (e, t, i, r) { var n = {}; n.points = [t, i], n.width = u._model.timeScale().width(), n.height = u._source.priceScale().height(), n.color = r || u._source.properties().linecolor.value(), n.linewidth = u._source.properties().linewidth.value(), n.linestyle = CanvasEx.LINESTYLE_SOLID, n.extendleft = !1, n.extendright = !1, n.leftend = f.Normal, n.rightend = f.Normal, e.setData(n), c.append(e); };
3622
+ if (this._points[g.ActualEntry]) {
3623
+ var I;
3624
+ T = this._points[g.ActualEntry], S = this._isClosed ? this._points[g.ActualClose] : new r(this._closeBar, this._closeLevel);
3625
+ (I = {}).points = [T, S], I.width = u._model.timeScale().width(), I.height = u._source.priceScale().height(), I.color = u._source.properties().linecolor.value(), I.linewidth = 1, I.linestyle = CanvasEx.LINESTYLE_DASHED, I.extendleft = !1, I.extendright = !1, I.leftend = f.Normal, I.rightend = f.Arrow, this._positionLineRenderer.setData(I), c.append(this._positionLineRenderer);
3626
+ }
3627
+ u = this;
3628
+ var O = function (e, t, i, r, n, s, a) {
3629
+ if (u.isLabelVisible()) {
3630
+ var o = {};
3631
+ o.points = [t],
3632
+ o.text = i, o.color = w.textcolor.value(), o.font = w.font.value(), o.offsetX = 3, o.offsetY = s, o.vertAlign = n, o.horzAlign = "center", o.backgroundRoundRect = 4, o.backgroundColor = p.resetTransparency(r), o.fontsize = w.fontsize.value(), o.backgroundHorzInflate = 4, a && (o.borderColor = a), e.setData(o), c.append(e);
3633
+ }
3634
+ }, N = this._source.entryPrice(), D = this._source.stopPrice(), B = this._source.profitPrice(), k = Math.abs(D - N), A = Math.round(1e4 * k / N) / 100, E = Math.abs(B - N), z = Math.round(1e4 * E / N) / 100, j = Math.abs(N - B) / Math.abs(N - D);
3635
+ T = new r(m, this._points[g.Entry].y), S = new r(R, this._points[g.Entry].y);
3636
+ M(this._entryLineRenderer, T, S);
3637
+ var V = new r((m + R) / 2, Math.round(this._points[0].y) + .5), H = "", W = "", F = this._numericFormatter.format(Math.round(100 * j) / 100);
3638
+ this._points[1] && void 0 !== this._pl && (W = this._source.ownerSource().formatter().format(this._pl));
3639
+ var Y = w.qty.value() / w.lotSize.value(), U = n.symbolInfo(), Z = "bitcoin" === U.type || "crypto" === U.type || "futures" === U.type ? Math.round(1e3 * Y) / 1e3 : Math.floor(Y);
3640
+ if (w.compact.value())
3641
+ H += W ? W + " ~ " : "", H += Z + "\n", H += F;
3642
+ else {
3643
+ var q = this._isClosed ? this.i18nCache.closed : this.i18nCache.open;
3644
+ H += W ? this.i18nCache.pnl.format({ status: q, pnl: W }) + ", " : "", H += this.i18nCache.qty.format({ qty: Z }) + "\n", H += this.i18nCache.ratio.format({ ratio: F }) + " ";
3645
+ }
3646
+ var G = w.linecolor.value();
3647
+ this._pl < 0 ? G = w.stopBackground.value() : this._pl > 0 && (G = w.profitBackground.value()), O(this._middleLabelRenderer, V, H, G, "middle", 0, "white");
3648
+ T = new r(m, this._stopLevel), S = new r(R, this._stopLevel);
3649
+ M(this._stopLineRenderer, T, S, w.stopBackground.value()), U && U !== this._lastSymbolInfo && (this._pipFormatter = new _(U.pricescale, U.minmov, U.type, U.minmove2), this._lastSymbolInfo = U);
3650
+ V = new r((m + R) / 2, this._stopLevel), H = "";
3651
+ var Q = this._source.ownerSource().formatter().format(k), X = this._percentageFormatter.format(A);
3652
+ H = w.compact.value() ? Q + " (" + X + ") " + w.amountStop.value() : this.i18nCache.stop.format({ stopChange: v(this._source.ownerSource().formatter().format(k)), stopChangePercent: v(this._percentageFormatter.format(A)), stopChangePip: this._pipFormatter ? v(this._pipFormatter.format(k)) : "", amount: v(w.amountStop.value()) }), O(this._stopLabelRenderer, V, H, w.stopBackground.value(), N < D ? "bottom" : "top", 0);
3653
+ T = new r(m, this._profitLevel), S = new r(R, this._profitLevel);
3654
+ M(this._targetLineRenderer, T, S, w.profitBackground.value());
3655
+ V = new r((m + R) / 2, this._profitLevel), H = "", Q = this._source.ownerSource().formatter().format(E), X = this._percentageFormatter.format(z);
3656
+ H = w.compact.value() ? Q + " (" + X + ") " + w.amountTarget.value() : this.i18nCache.target.format({ profitChange: v(this._source.ownerSource().formatter().format(E)), profitChangePercent: v(this._percentageFormatter.format(z)), profitChangePip: this._pipFormatter ? v(this._pipFormatter.format(E)) : "", amount: v(w.amountTarget.value()) }), O(this._profitLabelRenderer, V, H, w.profitBackground.value(), N < D ? "top" : "bottom", 0);
3657
+ var J = this._points[0].clone();
3658
+ J.data = 0;
3659
+ var K = new r(m, this._stopLevel);
3660
+ K.data = 2, K.square = !0;
3661
+ var $ = new r(m, this._profitLevel);
3662
+ $.data = 3, $.square = !0;
3663
+ var ee = new r(R, J.y);
3664
+ ee.data = 1, ee.square = !0;
3665
+ var te = { points: [J, ee, K, $], pointsCursorType: x };
3666
+ c.append(this.createLineAnchor(te, 0)), this._renderer = c;
3667
+ }
3668
+ }
3669
+ }
3670
+ }
3671
+ }
3672
+ renderer(e, t) {
3673
+ return this._invalidated && this._updateImpl(), this._renderer;
3674
+ }
3675
+ }
3676
+ m.prototype.i18nCache = { pnl: n("{status} P&L: {pnl}"), open: n("Open", { context: "line_tool_position" }), closed: n("Closed", { context: "line_tool_position" }), ratio: n("Risk/Reward Ratio: {ratio}"), stop: n("Stop: {stopChange} ({stopChangePercent}) {stopChangePip}, Amount: {amount}"), target: n("Target: {profitChange} ({profitChangePercent}) {profitChangePip}, Amount: {amount}"), qty: n("Qty: {qty}") }, t.RiskRewardPaneView = m;
3677
+ }, uRW3: function (e, t, i) {
3678
+ "use strict";
3679
+ i.r(t), i.d(t, "HighlighterPaneView", (function () { return s; }));
3680
+ var r = i("8Uy/"), n = i("hzaj");
3681
+ class s extends n.a {
3682
+ _createPolygonRendererData() { const e = this._source.properties().childs(); return { points: this._points, color: e.linecolor.value(), linewidth: 20, backcolor: "rgba(0, 0, 0, 0)", fillBackground: !1, linestyle: r.LINESTYLE_SOLID, linecap: "round", linejoin: "round", filled: !1, transparency: e.transparency.value() }; }
3683
+ }
3684
+ }, wacn: function (e, t, i) {
3685
+ "use strict";
3686
+ i.r(t), i.d(t, "DisjointChannelRenderer", (function () { return _; }));
3687
+ var r = i("Eyy1"), n = i("aO4+"), s = i("f6yo"), a = i("GEp6"), o = i("hBTJ"), l = i("8Uy/"), h = i("VdBB"), d = i("NN6M"), c = i("Tmoa"), u = i("cPgM");
3688
+ class _ {
3689
+ constructor() { this._parallelChannelRenderer = new d.ParallelChannelRenderer, this._disjointChannelIntersectionRenderer = new p, this._selectedRenderer = this._disjointChannelIntersectionRenderer; }
3690
+ setData(e) { if (e.points.length < 4)
3691
+ return; const [t, i, r, s] = e.points; if (Object(n.equalPoints)(t, i) || Object(n.equalPoints)(r, s) || Object(a.distanceToLine)(t, i, r).distance < 1e-6 && Object(a.distanceToLine)(t, i, s).distance < 1e-6)
3692
+ this._selectedRenderer = null;
3693
+ else {
3694
+ null !== Object(o.intersectLines)(Object(n.lineThroughPoints)(t, i), Object(n.lineThroughPoints)(r, s)) ? (this._disjointChannelIntersectionRenderer.setData(e), this._selectedRenderer = this._disjointChannelIntersectionRenderer) : (this._parallelChannelRenderer.setData({ extendleft: e.extendleft, extendright: e.extendright, points: [t, i, s, r], fillBackground: !0, backcolor: e.backcolor, transparency: e.transparency, color: "rgba(0,0,0,0)", linestyle: l.LINESTYLE_SOLID, linewidth: 0, showMidline: !1, hittestOnBackground: e.hittestOnBackground }), this._selectedRenderer = this._parallelChannelRenderer);
3695
+ } }
3696
+ hitTest(e, t) { return null !== this._selectedRenderer ? this._selectedRenderer.hitTest(e, t) : null; }
3697
+ draw(e, t) { null !== this._selectedRenderer && this._selectedRenderer.draw(e, t); }
3698
+ }
3699
+ class p extends u.ScaledPaneRenderer {
3700
+ constructor() { super(...arguments), this._data = null; }
3701
+ setData(e) { this._data = e; }
3702
+ hitTest(e, t) { if (null === this._data || !this._data.hittestOnBackground)
3703
+ return null; for (const i of this._visiblePolygons(t))
3704
+ if (Object(s.pointInPolygon)(e, i))
3705
+ return new h.HitTestResult(h.HitTestResult.MOVEPOINT_BACKGROUND); return null; }
3706
+ _drawImpl(e, t) { if (!(null === this._data || this._data.points.length < 4)) {
3707
+ e.fillStyle = Object(c.generateColor)(this._data.backcolor, this._data.transparency);
3708
+ for (const i of this._visiblePolygons(t)) {
3709
+ e.beginPath(), e.moveTo(i[0].x, i[0].y);
3710
+ for (let t = 1; t < i.length; t++)
3711
+ e.lineTo(i[t].x, i[t].y);
3712
+ e.fill();
3713
+ }
3714
+ } }
3715
+ _visiblePolygons(e) {
3716
+ const t = Object(r.ensureNotNull)(this._data), [i, s, a, l] = t.points;
3717
+ if (e.cssWidth <= 0 || e.cssHeight <= 0)
3718
+ return [];
3719
+ const h = Object(o.intersectLines)(Object(n.lineThroughPoints)(i, s), Object(n.lineThroughPoints)(a, l));
3720
+ if (null === h)
3721
+ return [];
3722
+ const d = [new n.Point(0, 0), new n.Point(e.cssWidth, 0), new n.Point(e.cssWidth, e.cssHeight), new n.Point(0, e.cssHeight)], c = [];
3723
+ {
3724
+ let e = d;
3725
+ const r = i.subtract(s).add(h), n = l.subtract(a).add(h);
3726
+ e = f(e, h, r, [n, n]), e = v(e, t), e = f(e, n, h, [r, r]), null !== e && c.push(e);
3727
+ }
3728
+ {
3729
+ let e = d;
3730
+ const r = s.subtract(i).add(h), n = a.subtract(l).add(h);
3731
+ e = f(e, h, r, [n, n]), e = v(e, t), e = f(e, n, h, [r, r]), null !== e && c.push(e);
3732
+ }
3733
+ return c;
3734
+ }
3735
+ }
3736
+ function f(e, t, i, r) { const s = Object(n.equalPoints)(i, r[0]) ? Object(n.equalPoints)(i, r[1]) ? null : r[1] : r[0]; return null !== e && null !== s ? Object(o.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)(Object(n.lineThroughPoints)(t, i), s)) : null; }
3737
+ function g(e, t, i) { return null !== e ? Object(o.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)((r = t, Object(n.line)(1, 0, -r)), new n.Point(i, 0))) : null; var r; }
3738
+ function v(e, t) { const [i, r] = t.points; return t.extendleft || (e = g(e, i.x, r.x)), t.extendright || (e = g(e, r.x, i.x)), e; }
3739
+ }, wdUH: function (e, t, i) {
3740
+ "use strict";
3741
+ i.r(t), i.d(t, "GannFixedPaneView", (function () { return d; }));
3742
+ var r = i("aO4+"), n = i("aB9a"), s = i("pJOz"), a = i("Zy3/"), o = i("a7Ha"), l = i("8Uy/"), h = i("amvX");
3743
+ class d extends n.LineSourcePaneView {
3744
+ constructor(e, t) { super(e, t), this._verticalLevelsRenderers = [], this._horizontalLevelsRenderers = [], this._fanRenderers = [], this._arcRenderers = [], this._renderer = null, this._initRenderers(); }
3745
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3746
+ _updateImpl() { super._updateImpl(), this._renderer = null; const e = this._getSource(), t = this._getPoints(), i = e.getScreenPoints(); if (t.length < 2 || i.length < 2)
3747
+ return; const [r, n] = i; t[1] = r, t[1].data = 1, t[2] = n; const s = this._getPoints(), o = new a.CompositeRenderer; if (s.length < 2)
3748
+ return this.addAnchors(o), void (this._renderer = o); const l = s[0], h = 3 === s.length ? s[2] : s[1], d = h.x - l.x, c = h.y - l.y, u = l, _ = h, p = this._getModel(), f = { barsCoordsRange: d, priceCoordsRange: c, startPoint: u, endPoint: _, p1: l, p2: h }; this._prepareLevels(o, f), this._prepareFanLines(o, f), this._prepareArcs(o, f); const g = [l, s[1]]; p.lineBeingCreated() === e && g.pop(), o.append(this.createLineAnchor({ points: g }, 0)), this._renderer = o; }
3749
+ _initRenderers() { const e = this._getSource(), t = e.levelsCount(); for (let e = 0; e < t; e++)
3750
+ this._verticalLevelsRenderers.push(new s.TrendLineRenderer), this._horizontalLevelsRenderers.push(new s.TrendLineRenderer); const i = e.fanLinesCount(); for (let e = 0; e < i; e++)
3751
+ this._fanRenderers.push(new s.TrendLineRenderer); const r = e.arcsCount(); for (let e = 0; e < r; e++)
3752
+ this._arcRenderers.push(new h.a); }
3753
+ _prepareLevels(e, t) {
3754
+ const { startPoint: i, endPoint: n, barsCoordsRange: s, priceCoordsRange: a } = t, h = this._getSource().levels();
3755
+ for (const t of h) {
3756
+ if (!t.visible)
3757
+ continue;
3758
+ const h = t.index / 5, d = i.x + h * s, c = { points: [new r.Point(d, i.y), new r.Point(d, n.y)], color: t.color, linewidth: t.width, linestyle: l.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: o.LineEnd.Normal, rightend: o.LineEnd.Normal }, u = this._verticalLevelsRenderers[t.index];
3759
+ u.setData(c), e.append(u);
3760
+ const _ = i.y + h * a, p = { points: [new r.Point(i.x, _), new r.Point(n.x, _)], color: t.color, linewidth: t.width,
3761
+ linestyle: l.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: o.LineEnd.Normal, rightend: o.LineEnd.Normal }, f = this._horizontalLevelsRenderers[t.index];
3762
+ f.setData(p), e.append(f);
3763
+ }
3764
+ }
3765
+ _prepareFanLines(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: h } = t, d = this._getSource().fanLines(); for (const t of d) {
3766
+ if (!t.visible)
3767
+ continue;
3768
+ const d = t.x, c = t.y;
3769
+ let u, _;
3770
+ if (d > c) {
3771
+ u = s.x;
3772
+ const e = c / d;
3773
+ _ = n.y + e * h;
3774
+ }
3775
+ else {
3776
+ _ = s.y;
3777
+ const e = d / c;
3778
+ u = n.x + e * a;
3779
+ }
3780
+ const p = { points: [i, new r.Point(u, _)], color: t.color, linewidth: t.width, linestyle: l.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: o.LineEnd.Normal, rightend: o.LineEnd.Normal }, f = this._fanRenderers[t.index];
3781
+ f.setData(p), e.append(f);
3782
+ } }
3783
+ _prepareArcs(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: o } = t; let l = i; const h = this._getSource(), d = h.isArcsBackgroundFilled(), c = h.arcsBackgroundTransparency(), u = h.arcs(); for (const t of u) {
3784
+ if (!t.visible)
3785
+ continue;
3786
+ const i = t.x / 5, h = t.y / 5, u = n.x + i * a, _ = n.y + h * o, p = { center: n, point: new r.Point(u, _), edge: s, color: t.color, linewidth: t.width, fillBack: d, transparency: c, prevPoint: l }, f = this._arcRenderers[t.index];
3787
+ f.setData(p), e.append(f), l = p.point;
3788
+ } }
3789
+ }
3790
+ }, wgWl: function (e, t, i) {
3791
+ "use strict";
3792
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("z+cS").VerticalLineRenderer, a = i("qgcf").TextRenderer, o = i("IjC5").RectangleRenderer, l = i("pJOz").TrendLineRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("a7Ha").LineEnd;
3793
+ t.FibTimeZonePaneView = class extends n {
3794
+ constructor(e, t) { super(e, t), this._levels = [], this._trendRenderer = new l, this._renderer = null; }
3795
+ _updateImpl() {
3796
+ if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 1) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
3797
+ var e = this._source.points()[0];
3798
+ 2 === this._source.points().length && (v = this._source.points()[1]);
3799
+ var t = this._source.properties(), i = this._source.points()[0].index;
3800
+ if (null !== this._model.timeScale().visibleBarsStrictRange()) {
3801
+ this._levels = [];
3802
+ for (var n = v ? v.index - e.index : 1, l = 1; l <= 11; l++) {
3803
+ var u = t["level" + l];
3804
+ if (u.visible.value()) {
3805
+ var _ = Math.round(i + u.coeff.value() * n), p = { index: l, x: this._model.timeScale().indexToCoordinate(_), color: u.color.value(), width: u.linewidth.value(), style: u.linestyle.value() };
3806
+ t.showLabels.value() && (p.text = u.coeff.value(), p.y = this._source.priceScale().height()), this._levels.push(p);
3807
+ }
3808
+ }
3809
+ var f = new d;
3810
+ if ((t = this._source.properties()).fillBackground.value())
3811
+ for (l = 1; l < this._levels.length; l++) {
3812
+ var g = this._levels[l - 1], v = (e = new r(this._levels[l].x, 0), new r(g.x, this._source.priceScale().height())), w = {};
3813
+ w.points = [e, v], w.color = this._levels[l].color, w.linewidth = 0, w.backcolor = this._levels[l].color, w.fillBackground = !0, w.transparency = t.transparency.value(), w.extendLeft = !1, w.extendRight = !1, (m = new o(void 0, void 0, !0)).setData(w), f.append(m);
3814
+ }
3815
+ for (l = 0; l < this._levels.length; l++) {
3816
+ var x = {};
3817
+ x.x = this._levels[l].x, x.color = this._levels[l].color, x.linewidth = this._levels[l].width, x.linestyle = this._levels[l].style;
3818
+ var m, y = new h(h.MOVEPOINT, null, this._levels[l].index);
3819
+ if ((m = new s).setData(x), m.setHitTest(y), f.append(m),
3820
+ void 0 !== this._levels[l].text) {
3821
+ var b, R = t.horzLabelsAlign.value();
3822
+ switch (R = "left" === R ? "right" : "right" === R ? "left" : "center", t.vertLabelsAlign.value()) {
3823
+ case "top":
3824
+ b = new r(this._levels[l].x, 0);
3825
+ break;
3826
+ case "middle":
3827
+ b = new r(this._levels[l].x, .5 * this._levels[l].y);
3828
+ break;
3829
+ case "bottom": b = new r(this._levels[l].x, this._levels[l].y);
3830
+ }
3831
+ var T = { points: [b], text: "" + this._levels[l].text, color: x.color, vertAlign: t.vertLabelsAlign.value(), horzAlign: R, font: t.font.value(), offsetX: 2, offsetY: 0, fontsize: 12 };
3832
+ f.append(new a(T));
3833
+ }
3834
+ }
3835
+ if (2 === this._points.length) {
3836
+ var S = { points: [this._points[0], this._points[1]], color: t.trendline.color.value(), linewidth: t.trendline.linewidth.value(), linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
3837
+ this._trendRenderer.setData(S), f.append(this._trendRenderer);
3838
+ }
3839
+ 2 === this._source.points().length ? f.append(this.createLineAnchor({ points: this._points }, 0)) : this._points.length > 0 && f.append(this.createLineAnchor({ points: [new r(this._points[0].x, this._source.priceScale().height() / 2)], hittestResult: h.MOVEPOINT }, 0)), this._renderer = f;
3840
+ }
3841
+ }
3842
+ }
3843
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
3844
+ };
3845
+ }, xUGI: function (e, t, i) {
3846
+ "use strict";
3847
+ var r = i("GH0z").PercentageFormatter, n = i("zXvd").NumericFormatter, s = i("zDbI").CHART_FONT_FAMILY, a = i("d1Pk").fibLevelPrice, o = i("ikwP").drawScaled;
3848
+ function l(e, t, i) { this._fibLevelsBasedOnLogScaleProperty = e, this._sourcesToRow = {}, this._rowsToSources = {}, this._currentSymbol = "", this._actualCapacity = 1, this._actualWidth = 1, this._numericFormatter = new n, this._percentageFormatter = new r, this._pixelRatio = i.pixelRatio, this._recreateCanvas(this._actualWidth, l.ROW_HEIGHT * this._actualCapacity), this._levelsCount = t; }
3849
+ l.prototype.destroy = function () { this._canvas = null, this._cache = null; }, l.prototype.topByRow = function (e) { return e * l.ROW_HEIGHT; }, l.prototype.rowHeight = function (e) { return l.ROW_HEIGHT; }, l.prototype.devicePixelRatio = function () { return this._canvas && this._canvas.pixelRatio || 0; }, l.prototype._recreateCanvas = function (e, t) { this._canvas = document.createElement("canvas"), this._canvas.width = Math.ceil(e * this._pixelRatio), this._canvas.height = Math.ceil(t * this._actualCapacity * this._pixelRatio), this._cache = this._canvas.getContext("2d"), this._cache.font = "12px " + s; }, l.prototype.canvas = function () { return this._canvas; }, l.ROW_HEIGHT = 14, l.prototype.points = function (e) { return [e.points()[0], e.points()[1]]; }, l.prototype._selectStartPrice = function (e, t) { return t ? e.points()[0].price : e.points()[1].price; }, l.prototype.startPoint = function (e, t) { var i = this._selectStartPrice(e, t); if (!this._calculateLogLevels(e))
3850
+ return { price: i }; var r = e.ownerSource().firstValue(); return { price: i, coordinate: e.priceScale().priceToCoordinate(i, r) }; }, l.prototype._calculatePriceRange = function (e, t, i) { return i ? t.price - e.price : e.price - t.price; }, l.prototype.priceRange = function (e, t) {
3851
+ var i = this.points(e), r = i[0], n = i[1], s = this._calculatePriceRange(r, n, t);
3852
+ if (!this._calculateLogLevels(e))
3853
+ return { price: s };
3854
+ var a = e.priceScale(), o = e.ownerSource().firstValue(), l = a.priceToCoordinate(r.price, o), h = a.priceToCoordinate(n.price, o);
3855
+ return { price: s,
3856
+ coordinate: t ? h - l : l - h };
3857
+ }, l.prototype.sourceIsReady = function (e) { return e.points().length >= 2; }, l.prototype._calculateLogLevels = function (e) { return e.fibLevelsBasedOnLogScale && e.fibLevelsBasedOnLogScale(); }, l.prototype._calculateWidth = function (e) { if (!this.sourceIsReady(e))
3858
+ return null; var t = this._canvas.getContext("2d"); t.font = "12px " + s; var i = !!e.properties().showPrices && e.properties().showPrices.value(), r = !!e.properties().coeffsAsPercents && e.properties().coeffsAsPercents.value(), n = e.properties().showCoeffs.value(), o = this.points(e), l = o[0], h = o[1]; if (!l || !h)
3859
+ return null; var d = e.ownerSource().firstValue(); if (null === d)
3860
+ return 0; var c = !1, u = e.properties(); u.reverse && u.reverse.value() && (c = u.reverse.value()); for (var _ = this.startPoint(e, c), p = this.priceRange(e, c), f = this._calculateLogLevels(e), g = 0, v = [], w = 1; w <= this._levelsCount; w++) {
3861
+ var x = u["level" + w].coeff.value(), m = "";
3862
+ if (n && (m += r ? this._percentageFormatter.format(Math.round(1e4 * x) / 100) : this._numericFormatter.format(x)), i) {
3863
+ var y = e.priceScale(), b = a(_, p, x, y, d, f);
3864
+ m += "(" + y.formatPrice(b, d) + ")";
3865
+ }
3866
+ var R = { text: m, left: g, width: t.measureText(m).width + 4 };
3867
+ v.push(R), g += R.width;
3868
+ } return { totalWidth: g, cells: v }; }, l.prototype._effectiveState = function (e) { var t = {}, i = e.properties(); i.showPrices && (t.showPrices = i.showPrices.value()), i.coeffsAsPercents && (t.coeffsAsPercents = i.coeffsAsPercents.value()), t.showCoeffs = i.showCoeffs.value(); var r = e.priceScale(); r && (r.formatter().state && (t.formatter = e.priceScale().formatter().state()), t.logLevels = this._calculateLogLevels(e)), i.reverse && (t.reverse = i.reverse.value()), t.p1 = e.points()[0], t.p2 = e.points()[1], 3 === e.points().length && (t.p3 = e.points()[2]), t.items = []; for (var n = 1; n <= this._levelsCount; n++) {
3869
+ var s = i["level" + n], a = { coeff: s.coeff.value(), color: s.color.value() };
3870
+ t.items.push(a);
3871
+ } return t; }, l.prototype._findEmptyRow = function (e) { for (var t = 0; this._rowsToSources[t];)
3872
+ t++; return this._rowsToSources[t] = e, t >= this._actualCapacity && (this._actualCapacity++, this._recreateCanvas(this._actualWidth, l.ROW_HEIGHT * this._actualCapacity)), t; }, l.prototype._repaintSource = function (e, t, i) { var r = l.ROW_HEIGHT * i.row; o(this._cache, this._pixelRatio, function () { this._cache.clearRect(0, r, this._actualWidth, l.ROW_HEIGHT), this._cache.textBaseline = "bottom", this._cache.font = "12px " + s, r += l.ROW_HEIGHT; for (var i = 0; i < e.cells.length; i++) {
3873
+ var n = e.cells[i];
3874
+ this._cache.fillStyle = t.items[i].color, this._cache.fillText(n.text, n.left, r);
3875
+ } }.bind(this)); }, l.prototype.removeSource = function (e) { if (this._sourcesToRow[e]) {
3876
+ var t = this._sourcesToRow[e].row;
3877
+ o(this._cache, this._pixelRatio, (function () { this._cache.clearRect(0, this.topByRow(t), this._actualWidth, l.ROW_HEIGHT); })), delete this._sourcesToRow[e], delete this._rowsToSources[t];
3878
+ } }, l.prototype._effectiveStatesEquals = function (e, t) {
3879
+ var i, r, n, s, a = function (e, t) { return !(!e && !t) && (!(!e || t) || (!(e || !t) || (e.index !== t.index || e.price !== t.price))); };
3880
+ if (e && !t)
3881
+ return !1;
3882
+ if (!e && t)
3883
+ return !1;
3884
+ if (e.showPrices !== t.showPrices)
3885
+ return !1;
3886
+ if (e.coeffsAsPercents !== t.coeffsAsPercents)
3887
+ return !1;
3888
+ if (e.showCoeffs !== t.showCoeffs)
3889
+ return !1;
3890
+ if (e.reverse !== t.reverse)
3891
+ return !1;
3892
+ if (e.logLevels !== t.logLevels)
3893
+ return !1;
3894
+ if (i = e.formatter,
3895
+ r = t.formatter, (i || r) && (i && !r || !i && r || i.minMove !== r.minMove || i.minMove2 !== r.minMove2 || i.fractional !== r.fractional || i.fractionalLength !== r.fractionalLength))
3896
+ return !1;
3897
+ if (a(e.p1, t.p1))
3898
+ return !1;
3899
+ if (a(e.p2, t.p2))
3900
+ return !1;
3901
+ if (a(e.p3, t.p3))
3902
+ return !1;
3903
+ if (e.items.length !== t.items.length)
3904
+ return !1;
3905
+ for (var o = 0; o < e.items.length; o++)
3906
+ if (n = e.items[o], s = t.items[o], n.coeff !== s.coeff || n.color !== s.color)
3907
+ return !1;
3908
+ return !0;
3909
+ }, l.prototype.updateSource = function (e) { var t = e.properties().symbol.value(); if (this._currentSymbol !== t && (this._currentSymbol = t, this._sourcesToRow = {}, this._rowsToSources = {}), !this._sourcesToRow[e.id()]) {
3910
+ var i = this._findEmptyRow(e.id());
3911
+ this._sourcesToRow[e.id()] = { effectiveState: null, row: i };
3912
+ } var r = this._sourcesToRow[e.id()].effectiveState, n = this._effectiveState(e); if (!this._effectiveStatesEquals(r, n)) {
3913
+ var s = this._calculateWidth(e);
3914
+ if (s) {
3915
+ this._sourcesToRow[e.id()].effectiveState = n, s.totalWidth > this._actualWidth && (this._recreateCanvas(s.totalWidth, l.ROW_HEIGHT * this._actualCapacity), this._actualWidth = s.totalWidth);
3916
+ i = this._sourcesToRow[e.id()];
3917
+ this._repaintSource(s, n, i), this._sourcesToRow[e.id()].effectiveState = n, this._sourcesToRow[e.id()].preparedCells = s;
3918
+ }
3919
+ else
3920
+ this._sourcesToRow[e.id()].effectiveState = null;
3921
+ } return this._sourcesToRow[e.id()]; }, e.exports = l;
3922
+ }, xp9B: function (e, t, i) {
3923
+ "use strict";
3924
+ var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("2trc").ChannelRenderer, a = i("qgcf").TextRenderer, o = i("pJOz").TrendLineRenderer, l = i("VdBB").HitTestResult, h = i("Zy3/").CompositeRenderer, d = i("zXvd").NumericFormatter, c = i("a7Ha").LineEnd;
3925
+ t.FibSpeedResistanceFanPaneView = class extends n {
3926
+ constructor(e, t) { super(e, t), this._numericFormatter = new d, this._renderer = null; }
3927
+ _updateImpl() {
3928
+ if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
3929
+ var e = this._source.points()[0], t = this._source.points()[1], i = this._source.properties(), n = i.reverse.value();
3930
+ this._hlevels = [];
3931
+ for (var d = n ? t.price - e.price : e.price - t.price, u = n ? e.price : t.price, _ = this._source.ownerSource().firstValue(), p = 1; p <= 7; p++) {
3932
+ if ((y = i["hlevel" + p]).visible.value()) {
3933
+ var f = y.coeff.value(), g = y.color.value(), v = u + f * d, w = this._source.priceScale().priceToCoordinate(v, _);
3934
+ this._hlevels.push({ coeff: f, color: g, y: w, index: p });
3935
+ }
3936
+ }
3937
+ this._vlevels = [];
3938
+ var x = n ? t.index - e.index : e.index - t.index, m = n ? e.index : t.index;
3939
+ for (p = 1; p <= 7; p++) {
3940
+ var y;
3941
+ if ((y = i["vlevel" + p]).visible.value()) {
3942
+ f = y.coeff.value(), g = y.color.value();
3943
+ var b = Math.round(m + f * x), R = this._model.timeScale().indexToCoordinate(b, !0);
3944
+ this._vlevels.push({ coeff: f, color: g, x: R, index: p });
3945
+ }
3946
+ }
3947
+ if (!(this._floatPoints.length < 2)) {
3948
+ var T = new h, S = (e = this._floatPoints[0], t = this._floatPoints[1], Math.min(e.x, t.x)), P = Math.min(e.y, t.y), L = Math.max(e.x, t.x), C = Math.max(e.y, t.y), M = i.grid.color.value(), I = i.grid.linewidth.value(), O = i.grid.linestyle.value();
3949
+ for (p = 0; p < this._hlevels.length; p++) {
3950
+ e = new r(S, this._hlevels[p].y), t = new r(L, this._hlevels[p].y);
3951
+ if (i.grid.visible.value()) {
3952
+ var N = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: M,
3953
+ linewidth: I, linestyle: O, extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
3954
+ (F = new o).setData(N), T.append(F);
3955
+ }
3956
+ if (i.showLeftLabels.value()) {
3957
+ var D = { points: [e], text: this._numericFormatter.format(this._hlevels[p].coeff), color: this._hlevels[p].color, vertAlign: "middle", horzAlign: "right", font: i.font.value(), offsetX: 5, offsetY: 0, fontsize: 12, forceTextAlign: !0 };
3958
+ T.append(new a(D));
3959
+ }
3960
+ if (i.showRightLabels.value()) {
3961
+ var B = { points: [t], text: this._numericFormatter.format(this._hlevels[p].coeff), color: this._hlevels[p].color, vertAlign: "middle", horzAlign: "left", font: i.font.value(), offsetX: 5, offsetY: 0, fontsize: 12, forceTextAlign: !0 };
3962
+ T.append(new a(B));
3963
+ }
3964
+ }
3965
+ for (p = 0; p < this._vlevels.length; p++) {
3966
+ e = new r(this._vlevels[p].x, P), t = new r(this._vlevels[p].x, C);
3967
+ if (i.grid.visible.value()) {
3968
+ N = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: M, linewidth: I, linestyle: O, extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
3969
+ (F = new o).setData(N), T.append(F);
3970
+ }
3971
+ if (i.showTopLabels.value()) {
3972
+ var k = { points: [e], text: this._numericFormatter.format(this._vlevels[p].coeff), color: this._vlevels[p].color, vertAlign: "bottom", horzAlign: "center", font: i.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
3973
+ T.append(new a(k));
3974
+ }
3975
+ if (i.showBottomLabels.value()) {
3976
+ var A = { points: [t], text: this._numericFormatter.format(this._vlevels[p].coeff), color: this._vlevels[p].color, vertAlign: "top", horzAlign: "center", font: i.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
3977
+ T.append(new a(A));
3978
+ }
3979
+ }
3980
+ var E = i.fillBackground.value(), z = i.transparency.value();
3981
+ for (e = this._floatPoints[0], t = this._floatPoints[1], p = 0; p < this._hlevels.length; p++) {
3982
+ var j = new r(t.x, this._hlevels[p].y);
3983
+ if (p > 0 && E) {
3984
+ var V = new r(t.x, this._hlevels[p - 1].y);
3985
+ (W = {}).width = this._model.timeScale().width(), W.height = this._source.priceScale().height(), W.p1 = e, W.p2 = j, W.p3 = e, W.p4 = V, W.color = this._hlevels[p].color, W.transparency = z, W.hittestOnBackground = !0, (F = new s).setData(W), T.append(F);
3986
+ }
3987
+ N = { points: [e, j], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._hlevels[p].color, linewidth: i.linewidth.value(), linestyle: i.linestyle.value(), extendleft: !1, extendright: !0, leftend: c.Normal, rightend: c.Normal };
3988
+ (F = new o).setData(N), F.setHitTest(new l(l.MOVEPOINT, null, { type: "h", index: this._hlevels[p].index })), T.append(F);
3989
+ }
3990
+ for (p = 0; p < this._vlevels.length; p++) {
3991
+ var H = new r(this._vlevels[p].x, t.y);
3992
+ if (p > 0 && E) {
3993
+ var W;
3994
+ V = new r(this._vlevels[p - 1].x, t.y);
3995
+ (W = {}).width = this._model.timeScale().width(), W.height = this._source.priceScale().height(), W.p1 = e, W.p2 = H, W.p3 = e, W.p4 = V, W.color = this._vlevels[p].color, W.transparency = z, W.hittestOnBackground = !0, (F = new s).setData(W), T.append(F);
3996
+ }
3997
+ var F;
3998
+ N = { points: [e, H], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._vlevels[p].color, linewidth: i.linewidth.value(), linestyle: i.linestyle.value(), extendleft: !1, extendright: !0, leftend: c.Normal, rightend: c.Normal };
3999
+ (F = new o).setData(N), F.setHitTest(new l(l.MOVEPOINT, null, { type: "v", index: this._vlevels[p].index })), T.append(F);
4000
+ }
4001
+ this.addAnchors(T), this._renderer = T;
4002
+ }
4003
+ }
4004
+ }
4005
+ renderer(e, t) {
4006
+ return this._invalidated && this._updateImpl(), this._renderer;
4007
+ }
4008
+ };
4009
+ }, "y/56": function (e, t, i) {
4010
+ "use strict";
4011
+ i.r(t);
4012
+ var r = i("aB9a"), n = i("Zy3/"), s = i("vq8G"), a = i("VdBB"), o = i("f6yo"), l = i("gAom"), h = i("cPgM");
4013
+ class d extends h.ScaledPaneRenderer {
4014
+ constructor() { super(...arguments), this._data = null; }
4015
+ setData(e) { this._data = e; }
4016
+ hitTest(e) { if (null === this._data)
4017
+ return null; const { x: t, y: i } = this._data.point; return e.x < t || e.x > t + 20 || e.y < i - 22 || e.y > i ? null : new a.HitTestResult(a.HitTestResult.MOVEPOINT); }
4018
+ doesIntersectWithBox(e) { return null !== this._data && Object(o.pointInBox)(this._data.point, e); }
4019
+ _drawImpl(e) { null !== this._data && (e.save(), e.translate(Math.round(this._data.point.x) - .5, Math.round(this._data.point.y - 22) - .5), e.fillStyle = "#434651", Object(l.drawRoundRect)(e, 0, 0, 2, 22, 1), e.fill(), e.fillStyle = this._data.color, e.beginPath(), e.moveTo(6.87, 0), e.bezierCurveTo(5.62, 0, 4.46, .23, 3.32, .69), e.bezierCurveTo(3.26, .71, 3.2, .75, 3.15, .8), e.bezierCurveTo(3.06, .89, 3, 1.02, 3, 1.16), e.lineTo(3, 1.19), e.lineTo(3, 12.5), e.bezierCurveTo(3, 12.8, 3.3, 13.02, 3.59, 12.93), e.bezierCurveTo(4.61, 12.64, 5.94, 12.44, 6.87, 12.44), e.bezierCurveTo(8.5, 12.44, 10.09, 12.83, 11.63, 13.21), e.bezierCurveTo(13.19, 13.6, 14.79, 14, 16.45, 14), e.bezierCurveTo(17.59, 14, 18.65, 13.81, 19.69, 13.43), e.bezierCurveTo(19.88, 13.36, 20, 13.18, 20, 12.98), e.lineTo(20, 1.19), e.bezierCurveTo(20, 1.06, 19.83, .93, 19.66, .99), e.bezierCurveTo(18.63, 1.38, 17.58, 1.56, 16.45, 1.56), e.bezierCurveTo(14.82, 1.56, 13.23, 1.17, 11.69, .79), e.bezierCurveTo(10.14, .4, 8.53, 0, 6.87, 0), e.closePath(), e.fill(), e.restore()); }
4020
+ }
4021
+ i.d(t, "FlagMarkPaneView", (function () { return c; }));
4022
+ class c extends r.LineSourcePaneView {
4023
+ constructor() { super(...arguments), this._flagMarkRenderer = new d, this._renderer = null, this._anchorsOffset = null; }
4024
+ setAnchors(e) { this._anchorsOffset = e; }
4025
+ renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
4026
+ _updateImpl() { if (super._updateImpl(), this._renderer = null, 1 !== this._points.length)
4027
+ return; this._flagMarkRenderer.setData({ point: this._points[0], color: this._getSource().properties().childs().flagColor.value() }); const e = this._getModel(); this._renderer = new n.CompositeRenderer, this._renderer.append(this._flagMarkRenderer); const t = [this._anchorsOffset ? this._points[0].add(this._anchorsOffset) : this._points[0].clone()]; this._renderer.append(new s.SelectionRenderer({ points: t, bgColors: this._lineAnchorColors(t), visible: this.areAnchorsVisible(), barSpacing: e.timeScale().barSpacing(), hittestResult: a.HitTestResult.MOVEPOINT })); }
4028
+ }
4029
+ } }]);