jesse 3.2.1__tar.gz → 3.2.3__tar.gz

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 (1227) hide show
  1. {jesse-3.2.1/jesse.egg-info → jesse-3.2.3}/PKG-INFO +2 -2
  2. {jesse-3.2.1 → jesse-3.2.3}/jesse/cli.py +13 -4
  3. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/agent_rules.md +2 -2
  4. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/strategy.md +60 -0
  5. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/server.py +10 -2
  6. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/strategy.py +16 -0
  7. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/__init__.py +41 -1
  8. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/BybitMain.py +52 -8
  9. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/candle_service.py +20 -36
  10. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/lsp.py +137 -123
  11. jesse-3.2.3/jesse/services/lsp_download.py +23 -0
  12. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/trading_hours.py +16 -14
  13. jesse-3.2.3/jesse/version.py +1 -0
  14. {jesse-3.2.1 → jesse-3.2.3/jesse.egg-info}/PKG-INFO +2 -2
  15. {jesse-3.2.1 → jesse-3.2.3}/jesse.egg-info/SOURCES.txt +1 -0
  16. {jesse-3.2.1 → jesse-3.2.3}/jesse.egg-info/requires.txt +1 -1
  17. {jesse-3.2.1 → jesse-3.2.3}/requirements.txt +1 -1
  18. {jesse-3.2.1 → jesse-3.2.3}/setup.py +12 -2
  19. jesse-3.2.1/jesse/version.py +0 -1
  20. {jesse-3.2.1 → jesse-3.2.3}/LICENSE +0 -0
  21. {jesse-3.2.1 → jesse-3.2.3}/MANIFEST.in +0 -0
  22. {jesse-3.2.1 → jesse-3.2.3}/README.md +0 -0
  23. {jesse-3.2.1 → jesse-3.2.3}/jesse/__init__.py +0 -0
  24. {jesse-3.2.1 → jesse-3.2.3}/jesse/candle_pipelines/__init__.py +0 -0
  25. {jesse-3.2.1 → jesse-3.2.3}/jesse/candle_pipelines/base_candles.py +0 -0
  26. {jesse-3.2.1 → jesse-3.2.3}/jesse/candle_pipelines/gaussian_noise.py +0 -0
  27. {jesse-3.2.1 → jesse-3.2.3}/jesse/candle_pipelines/gaussian_resampler.py +0 -0
  28. {jesse-3.2.1 → jesse-3.2.3}/jesse/candle_pipelines/moving_block_bootstrap.py +0 -0
  29. {jesse-3.2.1 → jesse-3.2.3}/jesse/config.py +0 -0
  30. {jesse-3.2.1 → jesse-3.2.3}/jesse/constants.py +0 -0
  31. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/__init__.py +0 -0
  32. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/ai_model_controller.py +0 -0
  33. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/auth_controller.py +0 -0
  34. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/backtest_controller.py +0 -0
  35. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/candles_controller.py +0 -0
  36. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/closed_trade_controller.py +0 -0
  37. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/config_controller.py +0 -0
  38. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/data_provider_credentials_controller.py +0 -0
  39. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/e2e_controller.py +0 -0
  40. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/exchange_controller.py +0 -0
  41. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/file_controller.py +0 -0
  42. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/live_controller.py +0 -0
  43. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/lsp_controller.py +0 -0
  44. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/monte_carlo_controller.py +0 -0
  45. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/notification_controller.py +0 -0
  46. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/optimization_controller.py +0 -0
  47. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/order_controller.py +0 -0
  48. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/period_templates_controller.py +0 -0
  49. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/route_templates_controller.py +0 -0
  50. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/significance_test_controller.py +0 -0
  51. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/strategy_controller.py +0 -0
  52. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/system_controller.py +0 -0
  53. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/tabs_controller.py +0 -0
  54. {jesse-3.2.1 → jesse-3.2.3}/jesse/controllers/websocket_controller.py +0 -0
  55. {jesse-3.2.1 → jesse-3.2.3}/jesse/enums/__init__.py +0 -0
  56. {jesse-3.2.1 → jesse-3.2.3}/jesse/exceptions/__init__.py +0 -0
  57. {jesse-3.2.1 → jesse-3.2.3}/jesse/exchanges/__init__.py +0 -0
  58. {jesse-3.2.1 → jesse-3.2.3}/jesse/exchanges/exchange.py +0 -0
  59. {jesse-3.2.1 → jesse-3.2.3}/jesse/exchanges/sandbox/Sandbox.py +0 -0
  60. {jesse-3.2.1 → jesse-3.2.3}/jesse/exchanges/sandbox/__init__.py +0 -0
  61. {jesse-3.2.1 → jesse-3.2.3}/jesse/factories/__init__.py +0 -0
  62. {jesse-3.2.1 → jesse-3.2.3}/jesse/factories/candle_factory.py +0 -0
  63. {jesse-3.2.1 → jesse-3.2.3}/jesse/factories/order_factory.py +0 -0
  64. {jesse-3.2.1 → jesse-3.2.3}/jesse/helpers.py +0 -0
  65. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/__init__.py +0 -0
  66. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/acosc.py +0 -0
  67. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ad.py +0 -0
  68. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/adosc.py +0 -0
  69. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/adx.py +0 -0
  70. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/adxr.py +0 -0
  71. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/alligator.py +0 -0
  72. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/alma.py +0 -0
  73. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ao.py +0 -0
  74. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/apo.py +0 -0
  75. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/aroon.py +0 -0
  76. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/aroonosc.py +0 -0
  77. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/atr.py +0 -0
  78. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/avgprice.py +0 -0
  79. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/bandpass.py +0 -0
  80. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/beta.py +0 -0
  81. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/bollinger_bands.py +0 -0
  82. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/bollinger_bands_width.py +0 -0
  83. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/bop.py +0 -0
  84. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cc.py +0 -0
  85. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cci.py +0 -0
  86. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cfo.py +0 -0
  87. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cg.py +0 -0
  88. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/chande.py +0 -0
  89. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/chop.py +0 -0
  90. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cksp.py +0 -0
  91. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cmo.py +0 -0
  92. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/correl.py +0 -0
  93. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/correlation_cycle.py +0 -0
  94. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cvi.py +0 -0
  95. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/cwma.py +0 -0
  96. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/damiani_volatmeter.py +0 -0
  97. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/dec_osc.py +0 -0
  98. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/decycler.py +0 -0
  99. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/dema.py +0 -0
  100. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/devstop.py +0 -0
  101. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/di.py +0 -0
  102. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/dm.py +0 -0
  103. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/donchian.py +0 -0
  104. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/dpo.py +0 -0
  105. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/dti.py +0 -0
  106. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/dx.py +0 -0
  107. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/edcf.py +0 -0
  108. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/efi.py +0 -0
  109. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ema.py +0 -0
  110. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/emd.py +0 -0
  111. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/emv.py +0 -0
  112. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/epma.py +0 -0
  113. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/er.py +0 -0
  114. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/eri.py +0 -0
  115. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/fisher.py +0 -0
  116. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/fosc.py +0 -0
  117. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/frama.py +0 -0
  118. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/fwma.py +0 -0
  119. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/gatorosc.py +0 -0
  120. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/gauss.py +0 -0
  121. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/heikin_ashi_candles.py +0 -0
  122. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/high_pass.py +0 -0
  123. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/high_pass_2_pole.py +0 -0
  124. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/hma.py +0 -0
  125. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/hull_suit.py +0 -0
  126. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/hurst_exponent.py +0 -0
  127. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/hwma.py +0 -0
  128. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ichimoku_cloud.py +0 -0
  129. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ichimoku_cloud_seq.py +0 -0
  130. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ift_rsi.py +0 -0
  131. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/itrend.py +0 -0
  132. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/jma.py +0 -0
  133. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/jsa.py +0 -0
  134. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/kama.py +0 -0
  135. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/kaufmanstop.py +0 -0
  136. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/kdj.py +0 -0
  137. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/keltner.py +0 -0
  138. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/kst.py +0 -0
  139. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/kurtosis.py +0 -0
  140. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/kvo.py +0 -0
  141. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/linearreg.py +0 -0
  142. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/linearreg_angle.py +0 -0
  143. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/linearreg_intercept.py +0 -0
  144. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/linearreg_slope.py +0 -0
  145. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/lrsi.py +0 -0
  146. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ma.py +0 -0
  147. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/maaq.py +0 -0
  148. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mab.py +0 -0
  149. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/macd.py +0 -0
  150. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mama.py +0 -0
  151. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/marketfi.py +0 -0
  152. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mass.py +0 -0
  153. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mcginley_dynamic.py +0 -0
  154. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mean_ad.py +0 -0
  155. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/median_ad.py +0 -0
  156. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/medprice.py +0 -0
  157. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mfi.py +0 -0
  158. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/midpoint.py +0 -0
  159. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/midprice.py +0 -0
  160. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/minmax.py +0 -0
  161. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mom.py +0 -0
  162. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/mwdx.py +0 -0
  163. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/natr.py +0 -0
  164. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/nma.py +0 -0
  165. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/nvi.py +0 -0
  166. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/obv.py +0 -0
  167. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/pfe.py +0 -0
  168. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/pivot.py +0 -0
  169. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/pma.py +0 -0
  170. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ppo.py +0 -0
  171. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/pvi.py +0 -0
  172. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/pwma.py +0 -0
  173. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/qstick.py +0 -0
  174. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/reflex.py +0 -0
  175. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rma.py +0 -0
  176. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/roc.py +0 -0
  177. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rocp.py +0 -0
  178. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rocr.py +0 -0
  179. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rocr100.py +0 -0
  180. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/roofing.py +0 -0
  181. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rsi.py +0 -0
  182. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rsmk.py +0 -0
  183. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rsx.py +0 -0
  184. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/rvi.py +0 -0
  185. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/safezonestop.py +0 -0
  186. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/sar.py +0 -0
  187. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/sinwma.py +0 -0
  188. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/skew.py +0 -0
  189. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/sma.py +0 -0
  190. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/smma.py +0 -0
  191. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/squeeze_momentum.py +0 -0
  192. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/sqwma.py +0 -0
  193. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/srsi.py +0 -0
  194. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/srwma.py +0 -0
  195. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/stc.py +0 -0
  196. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/stddev.py +0 -0
  197. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/stiffness.py +0 -0
  198. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/stochastic.py +0 -0
  199. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/stochf.py +0 -0
  200. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/supersmoother.py +0 -0
  201. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/supersmoother_3_pole.py +0 -0
  202. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/supertrend.py +0 -0
  203. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/support_resistance_with_break.py +0 -0
  204. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/swma.py +0 -0
  205. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/t3.py +0 -0
  206. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/tema.py +0 -0
  207. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/trange.py +0 -0
  208. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/trendflex.py +0 -0
  209. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/trima.py +0 -0
  210. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/trix.py +0 -0
  211. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/tsf.py +0 -0
  212. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/tsi.py +0 -0
  213. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ttm_squeeze.py +0 -0
  214. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ttm_trend.py +0 -0
  215. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/typprice.py +0 -0
  216. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ui.py +0 -0
  217. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/ultosc.py +0 -0
  218. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/var.py +0 -0
  219. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vi.py +0 -0
  220. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vidya.py +0 -0
  221. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vlma.py +0 -0
  222. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/volume.py +0 -0
  223. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vosc.py +0 -0
  224. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/voss.py +0 -0
  225. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vpci.py +0 -0
  226. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vpt.py +0 -0
  227. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vpwma.py +0 -0
  228. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vwap.py +0 -0
  229. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vwma.py +0 -0
  230. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/vwmacd.py +0 -0
  231. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/wad.py +0 -0
  232. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/waddah_attr_explosion.py +0 -0
  233. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/wclprice.py +0 -0
  234. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/wilders.py +0 -0
  235. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/willr.py +0 -0
  236. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/wma.py +0 -0
  237. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/wt.py +0 -0
  238. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/zlema.py +0 -0
  239. {jesse-3.2.1 → jesse-3.2.3}/jesse/indicators/zscore.py +0 -0
  240. {jesse-3.2.1 → jesse-3.2.3}/jesse/info.py +0 -0
  241. {jesse-3.2.1 → jesse-3.2.3}/jesse/libs/__init__.py +0 -0
  242. {jesse-3.2.1 → jesse-3.2.3}/jesse/libs/custom_json/__init__.py +0 -0
  243. {jesse-3.2.1 → jesse-3.2.3}/jesse/libs/dynamic_numpy_array/__init__.py +0 -0
  244. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/USAGE_LIMITS.md +0 -0
  245. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/__init__.py +0 -0
  246. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/agent_rules.py +0 -0
  247. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/manager.py +0 -0
  248. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/mcp_config.py +0 -0
  249. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/__init__.py +0 -0
  250. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/backtest_management.md +0 -0
  251. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/backtest_metrics.md +0 -0
  252. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/candle.md +0 -0
  253. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/charts.md +0 -0
  254. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/configuration.md +0 -0
  255. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/credentials.md +0 -0
  256. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/indicator.md +0 -0
  257. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/monte_carlo.md +0 -0
  258. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/optimization.md +0 -0
  259. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/position_risk.md +0 -0
  260. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/significance_test.md +0 -0
  261. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/strategy_examples.md +0 -0
  262. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/resources/utilities.md +0 -0
  263. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/test.py +0 -0
  264. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/__init__.py +0 -0
  265. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/backtest.py +0 -0
  266. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/candles.py +0 -0
  267. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/config.py +0 -0
  268. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/credentials.py +0 -0
  269. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/general.py +0 -0
  270. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/indicator.py +0 -0
  271. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/monte_carlo.py +0 -0
  272. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/optimization.py +0 -0
  273. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/__init__.py +0 -0
  274. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/auth.py +0 -0
  275. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/backtest.py +0 -0
  276. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/candles.py +0 -0
  277. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/config.py +0 -0
  278. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/credentials.py +0 -0
  279. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/general.py +0 -0
  280. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/indicator.py +0 -0
  281. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/monte_carlo.py +0 -0
  282. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/optimization.py +0 -0
  283. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/session_config.py +0 -0
  284. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/significance_test.py +0 -0
  285. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/services/strategy.py +0 -0
  286. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/tools/significance_test.py +0 -0
  287. {jesse-3.2.1 → jesse-3.2.3}/jesse/mcp/usage_limits.py +0 -0
  288. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/AiModel.py +0 -0
  289. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/BacktestSession.py +0 -0
  290. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Candle.py +0 -0
  291. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/ClosedTrade.py +0 -0
  292. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/DataProviderCredentials.py +0 -0
  293. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Exchange.py +0 -0
  294. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/ExchangeApiKeys.py +0 -0
  295. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/FuturesExchange.py +0 -0
  296. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/LiveChart.py +0 -0
  297. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/LiveEquitySnapshot.py +0 -0
  298. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/LiveSession.py +0 -0
  299. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Log.py +0 -0
  300. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/MonteCarloSession.py +0 -0
  301. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/NotificationApiKeys.py +0 -0
  302. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/OpenTab.py +0 -0
  303. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/OptimizationSession.py +0 -0
  304. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Option.py +0 -0
  305. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Order.py +0 -0
  306. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Orderbook.py +0 -0
  307. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/PeriodTemplate.py +0 -0
  308. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Position.py +0 -0
  309. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Route.py +0 -0
  310. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/RouteTemplate.py +0 -0
  311. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/SignificanceTestSession.py +0 -0
  312. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/SpotExchange.py +0 -0
  313. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Ticker.py +0 -0
  314. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/Trade.py +0 -0
  315. {jesse-3.2.1 → jesse-3.2.3}/jesse/models/__init__.py +0 -0
  316. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/__init__.py +0 -0
  317. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/backtest_mode.py +0 -0
  318. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/data_provider.py +0 -0
  319. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/exchange_api_keys.py +0 -0
  320. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetual.py +0 -0
  321. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualMain.py +0 -0
  322. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualTestnet.py +0 -0
  323. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/__init__.py +0 -0
  324. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/apex_omni_utils.py +0 -0
  325. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/__init__.py +0 -0
  326. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-arm.dylib +0 -0
  327. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-x86.dylib +0 -0
  328. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.dylib +0 -0
  329. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.so +0 -0
  330. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-arm.py +0 -0
  331. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-pc.py +0 -0
  332. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-x86.py +0 -0
  333. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.dll +0 -0
  334. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.py +0 -0
  335. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Binance/BinanceMain.py +0 -0
  336. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFutures.py +0 -0
  337. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFuturesTestnet.py +0 -0
  338. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Binance/BinanceSpot.py +0 -0
  339. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Binance/BinanceUSSpot.py +0 -0
  340. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Binance/__init__.py +0 -0
  341. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Binance/binance_utils.py +0 -0
  342. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bitfinex/BitfinexSpot.py +0 -0
  343. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bitfinex/__init__.py +0 -0
  344. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bitfinex/bitfinex_utils.py +0 -0
  345. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpot.py +0 -0
  346. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpotTestnet.py +0 -0
  347. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetual.py +0 -0
  348. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetualTestnet.py +0 -0
  349. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetual.py +0 -0
  350. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetualTestnet.py +0 -0
  351. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/__init__.py +0 -0
  352. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Bybit/bybit_utils.py +0 -0
  353. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Coinbase/CoinbaseSpot.py +0 -0
  354. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Coinbase/__init__.py +0 -0
  355. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Coinbase/coinbase_utils.py +0 -0
  356. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Gate/GateSpot.py +0 -0
  357. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Gate/GateSpotMain.py +0 -0
  358. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTMain.py +0 -0
  359. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTPerpetual.py +0 -0
  360. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Gate/__init__.py +0 -0
  361. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Gate/gate_utils.py +0 -0
  362. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetual.py +0 -0
  363. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualMain.py +0 -0
  364. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualTestnet.py +0 -0
  365. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Hyperliquid/__init__.py +0 -0
  366. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Hyperliquid/hyperliquid_utils.py +0 -0
  367. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetual.py +0 -0
  368. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualMain.py +0 -0
  369. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualTestnet.py +0 -0
  370. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpot.py +0 -0
  371. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpotMain.py +0 -0
  372. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Kraken/__init__.py +0 -0
  373. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Kraken/kraken_utils.py +0 -0
  374. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinFuturesMain.py +0 -0
  375. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpot.py +0 -0
  376. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpotMain.py +0 -0
  377. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinUSDTPerpetual.py +0 -0
  378. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/KuCoin/__init__.py +0 -0
  379. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/KuCoin/kucoin_utils.py +0 -0
  380. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/LighterMain.py +0 -0
  381. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetual.py +0 -0
  382. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetualTestnet.py +0 -0
  383. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/__init__.py +0 -0
  384. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/lighter_utils.py +0 -0
  385. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/__init__.py +0 -0
  386. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-darwin-arm64.dylib +0 -0
  387. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-amd64.so +0 -0
  388. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-arm64.so +0 -0
  389. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-windows-amd64.dll +0 -0
  390. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/__init__.py +0 -0
  391. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/import_candles_mode/drivers/interface.py +0 -0
  392. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/monte_carlo_mode/MonteCarloRunner.py +0 -0
  393. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/monte_carlo_mode/__init__.py +0 -0
  394. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/notification_api_keys.py +0 -0
  395. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/optimize_mode/Optimize.py +0 -0
  396. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/optimize_mode/__init__.py +0 -0
  397. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/optimize_mode/fitness.py +0 -0
  398. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/significance_test_mode/SignificanceTestRunner.py +0 -0
  399. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/significance_test_mode/__init__.py +0 -0
  400. {jesse-3.2.1 → jesse-3.2.3}/jesse/modes/utils.py +0 -0
  401. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/__init__.py +0 -0
  402. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/candle_repository.py +0 -0
  403. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/closed_trade_repository.py +0 -0
  404. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/data_provider_credentials_repository.py +0 -0
  405. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/live_chart_repository.py +0 -0
  406. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/live_equity_repository.py +0 -0
  407. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/live_session_repository.py +0 -0
  408. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/open_tab_repository.py +0 -0
  409. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/order_repository.py +0 -0
  410. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/period_template_repository.py +0 -0
  411. {jesse-3.2.1 → jesse-3.2.3}/jesse/repositories/route_template_repository.py +0 -0
  412. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/__init__.py +0 -0
  413. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/backtest.py +0 -0
  414. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/candles.py +0 -0
  415. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/import_candles.py +0 -0
  416. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/ml.py +0 -0
  417. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/monte_carlo/__init__.py +0 -0
  418. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/monte_carlo/common.py +0 -0
  419. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/monte_carlo/monte_carlo_candles.py +0 -0
  420. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/monte_carlo/monte_carlo_trades.py +0 -0
  421. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/optimize/__init__.py +0 -0
  422. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/rule_significance_testing/__init__.py +0 -0
  423. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/rule_significance_testing/bootstrap.py +0 -0
  424. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/rule_significance_testing/common.py +0 -0
  425. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/rule_significance_testing/plots.py +0 -0
  426. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/rule_significance_testing/rule_significance.py +0 -0
  427. {jesse-3.2.1 → jesse-3.2.3}/jesse/research/rule_significance_testing/simulator.py +0 -0
  428. {jesse-3.2.1 → jesse-3.2.3}/jesse/routes/__init__.py +0 -0
  429. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/__init__.py +0 -0
  430. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/api.py +0 -0
  431. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/auth.py +0 -0
  432. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/broker.py +0 -0
  433. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/cache.py +0 -0
  434. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/charts.py +0 -0
  435. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/closed_trade_service.py +0 -0
  436. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/color.py +0 -0
  437. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/custom_candle_import.py +0 -0
  438. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/db.py +0 -0
  439. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/e2e_database.py +0 -0
  440. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/env.py +0 -0
  441. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/exchange_service.py +0 -0
  442. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/failure.py +0 -0
  443. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/file.py +0 -0
  444. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/general_info.py +0 -0
  445. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/historical_data/__init__.py +0 -0
  446. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/historical_data/contracts.py +0 -0
  447. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/historical_data/credential_validation.py +0 -0
  448. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/historical_data/errors.py +0 -0
  449. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/historical_data/massive_stocks.py +0 -0
  450. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/historical_data/providers/__init__.py +0 -0
  451. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/historical_data/registry.py +0 -0
  452. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/installer.py +0 -0
  453. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/jesse_trade.py +0 -0
  454. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/live_chart_service.py +0 -0
  455. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/logger.py +0 -0
  456. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/metrics.py +0 -0
  457. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/migrator.py +0 -0
  458. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/multiprocessing.py +0 -0
  459. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/notifier.py +0 -0
  460. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/order_service.py +0 -0
  461. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/position_service.py +0 -0
  462. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/progressbar.py +0 -0
  463. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/redis.py +0 -0
  464. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/report.py +0 -0
  465. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/simulation_assumptions.py +0 -0
  466. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/strategy_handler/ExampleStrategy/__init__.py +0 -0
  467. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/strategy_handler/__init__.py +0 -0
  468. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/strategy_service.py +0 -0
  469. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/symbol_catalog.py +0 -0
  470. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/table.py +0 -0
  471. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/transformers.py +0 -0
  472. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/validators.py +0 -0
  473. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/web.py +0 -0
  474. {jesse-3.2.1 → jesse-3.2.3}/jesse/services/ws_manager.py +0 -0
  475. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/200.html +0 -0
  476. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/404.html +0 -0
  477. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/08VXUWAP.js +0 -0
  478. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/0ONmXmPL.js +0 -0
  479. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/1XVEVF4R.js +0 -0
  480. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/1lwvrZu5.js +0 -0
  481. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/1uxVtXhK2.js +0 -0
  482. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/25FdeeAd.js +0 -0
  483. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/2IIEA8gg2.js +0 -0
  484. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/2k_QeT3T.js +0 -0
  485. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/32DixAac.js +0 -0
  486. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/35Gd1l6b.js +0 -0
  487. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/3KuTZQMl2.js +0 -0
  488. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/43DmfD332.js +0 -0
  489. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/4G7pJPwS2.js +0 -0
  490. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/5eyTD99u.js +0 -0
  491. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/6RTg0lbw.js +0 -0
  492. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/6d_DINYp2.js +0 -0
  493. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/6hrdeXKO.js +0 -0
  494. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/9SMx-Yg9.js +0 -0
  495. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/9SuGUQxQ.js +0 -0
  496. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/AGOgedFG2.js +0 -0
  497. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/AsfNJWWT.js +0 -0
  498. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B-yKKtcE2.js +0 -0
  499. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B01W0raW.js +0 -0
  500. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B02lME3Q.js +0 -0
  501. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B2-f6Wu2.js +0 -0
  502. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B2OO5cIa2.js +0 -0
  503. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B2kYdT-M.js +0 -0
  504. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B3Tmza7s2.js +0 -0
  505. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B4Wc4BFL2.js +0 -0
  506. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B4t1Dpxy.js +0 -0
  507. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B5-_aFwp.js +0 -0
  508. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B5W6OYN72.js +0 -0
  509. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B5e22D9r.js +0 -0
  510. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B68TUdTA.js +0 -0
  511. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B6UiomQj.js +0 -0
  512. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B8J7ngcE.js +0 -0
  513. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B8_r5oP7.js +0 -0
  514. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B8rOtbmR.js +0 -0
  515. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B8xNgNWT.js +0 -0
  516. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B9JPFI3C.js +0 -0
  517. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B9MRSN3q2.js +0 -0
  518. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BAlG784d2.js +0 -0
  519. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BBjHab7x.js +0 -0
  520. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BCixiDKj.js +0 -0
  521. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BD87b4dR2.js +0 -0
  522. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BDNMzG2s2.js +0 -0
  523. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BEEn4gHE.js +0 -0
  524. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BEtHBSE6.js +0 -0
  525. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BG8CfSEZ2.js +0 -0
  526. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BGMtTsN-.js +0 -0
  527. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BHWKrbxM.js +0 -0
  528. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BI3Y1cOA.js +0 -0
  529. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BJzMFF2L.js +0 -0
  530. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BKD0O2_Q.js +0 -0
  531. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BKFC8tTN.js +0 -0
  532. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BKPLz4po2.js +0 -0
  533. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BKcRqSit.js +0 -0
  534. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BKxtCVv1.js +0 -0
  535. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BLCaNkgi.js +0 -0
  536. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BLhvb9Y-.js +0 -0
  537. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BMrGqELX.js +0 -0
  538. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BN08jTvb.js +0 -0
  539. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BOotOW0E.js +0 -0
  540. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BQYoEE-E2.js +0 -0
  541. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BRSARzao2.js +0 -0
  542. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BRqV1csJ.js +0 -0
  543. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BSSBbjzH.js +0 -0
  544. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BSWPekZh2.js +0 -0
  545. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BSt81nX4.js +0 -0
  546. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BSu9_R8X2.js +0 -0
  547. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BT_Y9Qa72.js +0 -0
  548. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BTgcbkPe2.js +0 -0
  549. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BTkZN-kY.js +0 -0
  550. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BUvLBkUT2.js +0 -0
  551. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BVAhOJRw.js +0 -0
  552. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BWDSh1SW.js +0 -0
  553. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BWPQTe0t.js +0 -0
  554. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BXViO-2h.js +0 -0
  555. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BYdTN3Ud2.js +0 -0
  556. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BYgofb2h.js +0 -0
  557. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BYsxK_gZ.js +0 -0
  558. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BZ4HG2rr2.js +0 -0
  559. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BZCL-v6S.js +0 -0
  560. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B_-2JulU.js +0 -0
  561. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/B_tTalzw.js +0 -0
  562. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Ba7i2nA0.js +0 -0
  563. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BacktestTabs.BhkXf2je.css +0 -0
  564. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BapWjBt9.js +0 -0
  565. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BcJ0KAXG.js +0 -0
  566. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bc_sGQ0U.js +0 -0
  567. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bdoqq8BI2.js +0 -0
  568. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BeGwcela.js +0 -0
  569. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Beywemwu.js +0 -0
  570. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BfbyNUB7.js +0 -0
  571. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bh7THQLS2.js +0 -0
  572. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BhKQO4Px.js +0 -0
  573. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BhPF9KW82.js +0 -0
  574. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BhjAJghj.js +0 -0
  575. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BiK3sWoz2.js +0 -0
  576. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BiX_3ZGn2.js +0 -0
  577. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BjSKRB-a2.js +0 -0
  578. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BjshL_xA2.js +0 -0
  579. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BkmU6oQY.js +0 -0
  580. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bkml37m-.js +0 -0
  581. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BldMJGpi.js +0 -0
  582. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bm3Qr25_2.js +0 -0
  583. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BmBupKYI2.js +0 -0
  584. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bmbr8zF3.js +0 -0
  585. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BnjxR4X6.js +0 -0
  586. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bnr-372i.js +0 -0
  587. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bnr-Ft3Y.js +0 -0
  588. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bo9Dl7tn.js +0 -0
  589. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BoEzQrVW.js +0 -0
  590. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BoK4YRpC2.js +0 -0
  591. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BolyLLo5.js +0 -0
  592. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BpBaBBm3.js +0 -0
  593. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BpJ9fpSU.js +0 -0
  594. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BqJ9I9M42.js +0 -0
  595. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bqx3koTc.js +0 -0
  596. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bri6UV-V.js +0 -0
  597. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BshRgckk.js +0 -0
  598. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BsuIFbdf2.js +0 -0
  599. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bt4sAq3f.js +0 -0
  600. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BtUnaqJ2.js +0 -0
  601. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Buu8uHmp2.js +0 -0
  602. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BvwLaU7c.js +0 -0
  603. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BvzEE6Lm.js +0 -0
  604. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bw1-c76v.js +0 -0
  605. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BwWrilGY2.js +0 -0
  606. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BwjZg7Kw2.js +0 -0
  607. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bx1FflLF.js +0 -0
  608. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bxkupp3x.js +0 -0
  609. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/By-L4I7w.js +0 -0
  610. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/By1ptfmn2.js +0 -0
  611. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Bz4Y3fRF.js +0 -0
  612. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/BzMNZVT72.js +0 -0
  613. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C-69Y6Pu.js +0 -0
  614. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C-LZuMrd.js +0 -0
  615. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C-RhCxcP2.js +0 -0
  616. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C-y9NEjX.js +0 -0
  617. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C25aelnV2.js +0 -0
  618. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C2shJFxU.js +0 -0
  619. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C3oCr-8k2.js +0 -0
  620. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C531GsRP2.js +0 -0
  621. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C5_-GSwl.js +0 -0
  622. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C5kJGiKi2.js +0 -0
  623. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C7h46wYY.js +0 -0
  624. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C8468PWD.js +0 -0
  625. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C8Ef5oNN.js +0 -0
  626. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C8q3xVCB.js +0 -0
  627. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C8r90Shi.js +0 -0
  628. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C96bnRGM.js +0 -0
  629. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C9St-qHN.js +0 -0
  630. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CAWjiWzg2.js +0 -0
  631. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CC-BCOei.js +0 -0
  632. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CC2rA5mh.js +0 -0
  633. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CC3Dc58n.js +0 -0
  634. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CC8GggWq2.js +0 -0
  635. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CCUjCBK52.js +0 -0
  636. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CD78tava2.js +0 -0
  637. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CDeNXAV0.js +0 -0
  638. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CFAvbRBv.js +0 -0
  639. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CFDCSoUG.js +0 -0
  640. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CH6Zxsf52.js +0 -0
  641. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CHKcdHUs2.js +0 -0
  642. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CHQ94UKr2.js +0 -0
  643. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CIPQ_RoX2.js +0 -0
  644. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CJ3rzSJv2.js +0 -0
  645. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CJ5SUZOH2.js +0 -0
  646. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CJNUlr67.js +0 -0
  647. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CLIur_dZ.js +0 -0
  648. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CMC9H7kb.js +0 -0
  649. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CMnkeXFt.js +0 -0
  650. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CO65HNi2.js +0 -0
  651. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/COtstiRA2.js +0 -0
  652. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/COyNsUt6.js +0 -0
  653. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CQRhyXHt.js +0 -0
  654. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CQUMS8QJ2.js +0 -0
  655. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CRal5XOA2.js +0 -0
  656. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CRfGWb83.js +0 -0
  657. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CRyZUaTi.js +0 -0
  658. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CTweb8Dz2.js +0 -0
  659. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CUKGrt9p2.js +0 -0
  660. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CUL-_UXV2.js +0 -0
  661. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CUP8soDG.js +0 -0
  662. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CVPISREU.js +0 -0
  663. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CVaqCwHa.js +0 -0
  664. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CW42rLZD.js +0 -0
  665. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CWDvEqlu2.js +0 -0
  666. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CXHoNUfW.js +0 -0
  667. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CXcZYQdg.js +0 -0
  668. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CXtmUGW6.js +0 -0
  669. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CXuuVbXE.js +0 -0
  670. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CZ3SG3_I2.js +0 -0
  671. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CZoCCMwk2.js +0 -0
  672. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CZsCp6_J.js +0 -0
  673. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CZymKofZ2.js +0 -0
  674. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/C_8bwKvT2.js +0 -0
  675. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CaLoWpdj2.js +0 -0
  676. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cb4Vim4T2.js +0 -0
  677. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CbKt6i1F2.js +0 -0
  678. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cba4tSYP.js +0 -0
  679. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CbdYpKc9.js +0 -0
  680. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CcEz-6AP2.js +0 -0
  681. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CcwsVR0C.js +0 -0
  682. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cd-sGgPF.js +0 -0
  683. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CdkpiU2Y2.js +0 -0
  684. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Ceyelwdz.js +0 -0
  685. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cf85K_3V.js +0 -0
  686. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cf9Ao90m2.js +0 -0
  687. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CfSJPG6W2.js +0 -0
  688. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cfl0F_Ix.js +0 -0
  689. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CfvQ0GVj2.js +0 -0
  690. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Ci7ol7o5.js +0 -0
  691. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cimd5fb32.js +0 -0
  692. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CioJR-lb.js +0 -0
  693. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CircleProgressbar.DG_Oo3ZB.css +0 -0
  694. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CjM6HreG.js +0 -0
  695. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CjSZG47B2.js +0 -0
  696. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Ck9wOcVq.js +0 -0
  697. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CkJ3IzwM2.js +0 -0
  698. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CkN8TU5K.js +0 -0
  699. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CkRax0sH.js +0 -0
  700. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cl4KV_tk.js +0 -0
  701. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/ClCothXP.js +0 -0
  702. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/ClamHrr62.js +0 -0
  703. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cm7r79vr.js +0 -0
  704. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CnscBGsj2.js +0 -0
  705. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CoKYUvtC.js +0 -0
  706. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CoKk4mC0.js +0 -0
  707. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Con6PA_2.js +0 -0
  708. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CopQ2nXW2.js +0 -0
  709. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CowLSvep.js +0 -0
  710. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CpL23Fmb2.js +0 -0
  711. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CpdwwrfH.js +0 -0
  712. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CpzslTdj.js +0 -0
  713. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cr7JoK-F.js +0 -0
  714. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CrVSgIkM2.js +0 -0
  715. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cs2F2srj.js +0 -0
  716. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CsQS60Ue2.js +0 -0
  717. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CsvMBhTu.js +0 -0
  718. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cuy4t56v.js +0 -0
  719. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CximN0RY2.js +0 -0
  720. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CyQZr6J2.js +0 -0
  721. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CyiiZBUN2.js +0 -0
  722. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/CylTzRX72.js +0 -0
  723. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Cz7rf_X82.js +0 -0
  724. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Czk_mF82.js +0 -0
  725. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D-9WcGfc2.js +0 -0
  726. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D-V0WHGE2.js +0 -0
  727. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D-kcNTYM.js +0 -0
  728. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D-oSqn_W2.js +0 -0
  729. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D-ptJ9y-2.js +0 -0
  730. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D05T4iGw.js +0 -0
  731. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D0mw5jGK.js +0 -0
  732. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D1yN6wZY2.js +0 -0
  733. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D24BC_UT2.js +0 -0
  734. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D2ZwgM9U2.js +0 -0
  735. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D2mw--Fl2.js +0 -0
  736. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D2ymy_yS.js +0 -0
  737. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D3HTKQgj2.js +0 -0
  738. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D3hlyOfw2.js +0 -0
  739. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D4-rlkSU.js +0 -0
  740. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D5GhRiPb.js +0 -0
  741. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D5ROd09N2.js +0 -0
  742. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D5Retr0R2.js +0 -0
  743. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D5Z5IiLY2.js +0 -0
  744. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D8_NR6i12.js +0 -0
  745. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D94iqX0Y2.js +0 -0
  746. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DB-uxtVd.js +0 -0
  747. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DCQb3MpD.js +0 -0
  748. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DD7sRF69.js +0 -0
  749. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DDPgixDB.js +0 -0
  750. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DDe1Q-WN2.js +0 -0
  751. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DDpmG2fV2.js +0 -0
  752. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DDwmkQR0.js +0 -0
  753. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DEJw_qiA2.js +0 -0
  754. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DFBbRf0l.js +0 -0
  755. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DFfgcuRt.js +0 -0
  756. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DFwEHpFD.js +0 -0
  757. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DHBI_yxQ.js +0 -0
  758. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DHpiXF5c.js +0 -0
  759. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DIMkf-bt.js +0 -0
  760. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DISqw1ZD.js +0 -0
  761. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DItLkvgc2.js +0 -0
  762. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DK0GhfdP.js +0 -0
  763. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DKCQ3kY7.js +0 -0
  764. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DKSmMEZa2.js +0 -0
  765. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DLJdWeDZ2.js +0 -0
  766. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DLSXrvMj.js +0 -0
  767. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DMUM7wLl.js +0 -0
  768. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DMnEoi8l.js +0 -0
  769. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DNB37k3h2.js +0 -0
  770. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DOTl9kKz.js +0 -0
  771. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DOgf9of5.js +0 -0
  772. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DOwBwxAc2.js +0 -0
  773. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DP8dx3Mz.js +0 -0
  774. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DPDvM2ct.js +0 -0
  775. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DPJPAjQR.js +0 -0
  776. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DPUBG1Sa2.js +0 -0
  777. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DPZlj92U.js +0 -0
  778. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DQ-b8cau.js +0 -0
  779. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DQU07tlD.js +0 -0
  780. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DQUlB_uC.js +0 -0
  781. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DQwYfKfQ2.js +0 -0
  782. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DRFjx7u42.js +0 -0
  783. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DSh2HLQt2.js +0 -0
  784. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DT7zqm-g.js +0 -0
  785. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DTj74zXo2.js +0 -0
  786. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DV17i1UV2.js +0 -0
  787. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DV3o63ZY.js +0 -0
  788. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DVG0V4jx.js +0 -0
  789. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DVQuIRkW2.js +0 -0
  790. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DVvwPJMn2.js +0 -0
  791. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DWUE7pqF2.js +0 -0
  792. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DXG-b-1a.js +0 -0
  793. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DXgieCCJ.js +0 -0
  794. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DY43dlCC.js +0 -0
  795. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DYlRzrDj.js +0 -0
  796. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DZFCIeNp.js +0 -0
  797. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DZsh6Vsl2.js +0 -0
  798. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D_3yiDAS.js +0 -0
  799. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D_Lu-MrJ.js +0 -0
  800. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/D_Sm39l5.js +0 -0
  801. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DauUninz2.js +0 -0
  802. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DaxQctDl.js +0 -0
  803. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Db4fpp4X2.js +0 -0
  804. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DbInun42.js +0 -0
  805. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DcUUodPk.js +0 -0
  806. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DdJ6paNh.js +0 -0
  807. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DdL9SqIa.js +0 -0
  808. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/De02G7DS.js +0 -0
  809. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/De2hgUGE.js +0 -0
  810. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DezsRK8O.js +0 -0
  811. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Df2xbC6M.js +0 -0
  812. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DfC9-Oas2.js +0 -0
  813. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DgPtEepw2.js +0 -0
  814. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DgfQ8roX.js +0 -0
  815. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DhQhRRFW2.js +0 -0
  816. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DhmEMT882.js +0 -0
  817. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DiQii0fS.js +0 -0
  818. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DikR2-RP.js +0 -0
  819. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DipiWojk.js +0 -0
  820. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DjAgHZrJ2.js +0 -0
  821. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DkmNSMHY.js +0 -0
  822. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DkqhCAOL2.js +0 -0
  823. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dl3pNQBR2.js +0 -0
  824. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DlW2jO6L2.js +0 -0
  825. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DljXZpSz.js +0 -0
  826. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dm6T-vrV2.js +0 -0
  827. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DmHpPYUd2.js +0 -0
  828. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DmNVVboZ.js +0 -0
  829. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dmf8Y0ON2.js +0 -0
  830. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DnKPLd6d.js +0 -0
  831. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DnToyrRv2.js +0 -0
  832. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DoT8DRFX.js +0 -0
  833. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dp-2asp4.js +0 -0
  834. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DpFanUEy.js +0 -0
  835. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DpIdnCtC.js +0 -0
  836. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DpTtcPZs2.js +0 -0
  837. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DpW8JRZm.js +0 -0
  838. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DqJzYO7Y2.js +0 -0
  839. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DqT4cj-J.js +0 -0
  840. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DqXIJaHE.js +0 -0
  841. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DrH0SRf22.js +0 -0
  842. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Ds29f9ZA.js +0 -0
  843. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Ds9iBrvx.js +0 -0
  844. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dsw3HnIE.js +0 -0
  845. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dt39crSB.js +0 -0
  846. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dt9aNFbE.js +0 -0
  847. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DtGle1nz2.js +0 -0
  848. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DtX02f_x2.js +0 -0
  849. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DuT2u1M92.js +0 -0
  850. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DxSv1ANE2.js +0 -0
  851. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dxp_UTNE.js +0 -0
  852. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DyeqKBoC.js +0 -0
  853. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Dyqgk9ID2.js +0 -0
  854. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/DytYwiiF.js +0 -0
  855. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/EUqPIrTm.js +0 -0
  856. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/EZH7P6f9.js +0 -0
  857. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/EoqKQiEy2.js +0 -0
  858. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/FIalSC7A.js +0 -0
  859. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/FXfnIlgg2.js +0 -0
  860. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/FvmIjYaQ2.js +0 -0
  861. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/HSRijeU2.js +0 -0
  862. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/HclGiUj8.js +0 -0
  863. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/HlOV9je9.js +0 -0
  864. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Hsn-rFuA.js +0 -0
  865. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Hza2DNlp.js +0 -0
  866. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/IXshMDJQ.js +0 -0
  867. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/IliqAppL.js +0 -0
  868. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Inter-VariableFont_slnt_wght.Cl4AQHp9.ttf +0 -0
  869. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/JVoApnG_.js +0 -0
  870. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/JaHKEXQh.js +0 -0
  871. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/JgXkd7uo2.js +0 -0
  872. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/JjuYFqoF.js +0 -0
  873. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/JpkrmRYq2.js +0 -0
  874. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/KfYW7BGn.js +0 -0
  875. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/KgIFLbLy.js +0 -0
  876. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/KhqzbbC32.js +0 -0
  877. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/L2jIIa9o.js +0 -0
  878. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/LO_BkMJ8.js +0 -0
  879. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/LRbiS5Dz.js +0 -0
  880. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/LiveTabs.rsQh4sN8.css +0 -0
  881. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Mi0eZJ_C2.js +0 -0
  882. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/NEE52Syq.js +0 -0
  883. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/NyRjDEkA2.js +0 -0
  884. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/O1vzaDvk2.js +0 -0
  885. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/OaeI3Ulg.js +0 -0
  886. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/OfUAv67B2.js +0 -0
  887. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/ProgressStatusText.BQK0FaGL.css +0 -0
  888. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Q6FVf6Zo.js +0 -0
  889. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/QTnfLwEv.js +0 -0
  890. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/QZfQtQzF2.js +0 -0
  891. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/QoymgQo0.js +0 -0
  892. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/SOo6toE52.js +0 -0
  893. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/StrategiesSidebar.DVMKtiGP.css +0 -0
  894. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/TradeHistoryChart.Bs0aEPiQ.css +0 -0
  895. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/TtSlr_h_2.js +0 -0
  896. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/VbXTXTou.js +0 -0
  897. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/VuUr933P2.js +0 -0
  898. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/WA2gHESr.js +0 -0
  899. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/WF6tEroY2.js +0 -0
  900. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/WFnVOHr3.js +0 -0
  901. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/WZ5HE0X3.js +0 -0
  902. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Wy_umkB72.js +0 -0
  903. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/YdFKNLmY.js +0 -0
  904. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/Z5eAx3Zn2.js +0 -0
  905. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/_3zCpt1T.js +0 -0
  906. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/_7BVYBMY2.js +0 -0
  907. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/_b8AQjYy.js +0 -0
  908. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/_id_.B3a6JG34.css +0 -0
  909. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/_id_.BCRDQrek.css +0 -0
  910. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/_id_.BRd1elCl.css +0 -0
  911. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/aQXfN9KN.js +0 -0
  912. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/apGZNcKz.js +0 -0
  913. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/atteXEGs.js +0 -0
  914. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/bTuwJoIa.js +0 -0
  915. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/bjCyB0Gn2.js +0 -0
  916. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/bpSru2N82.js +0 -0
  917. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/ccMIPn_w.js +0 -0
  918. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/coSIg_O3.js +0 -0
  919. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/codicon.Brq4_Ui5.ttf +0 -0
  920. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/css.worker-B1A7g9RU.js +0 -0
  921. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/dLd1bcTA2.js +0 -0
  922. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/dnt9x4Qr.js +0 -0
  923. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/eDEyLi0S.js +0 -0
  924. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/editor.DNwT-hdg.css +0 -0
  925. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/entry.CkGiV5Q9.css +0 -0
  926. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/error-404.DjFB7pgG.css +0 -0
  927. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/error-500.BG9pmads.css +0 -0
  928. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/fmXr3nnJ.js +0 -0
  929. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/foABv0nJ.js +0 -0
  930. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/fwtXNY1n.js +0 -0
  931. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/gEsa7Idh.js +0 -0
  932. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/gG0NvZLm2.js +0 -0
  933. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/gp-XZpBa.js +0 -0
  934. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/grryJGmv.js +0 -0
  935. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/hBpBmjHp.js +0 -0
  936. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/hZRgR8Lc.js +0 -0
  937. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/hdxB67uV.js +0 -0
  938. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/html.worker-NdFMIQdB.js +0 -0
  939. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/i0X4ZdIN.js +0 -0
  940. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/ibI1KQep.js +0 -0
  941. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/json.worker-Ax0gao5O.js +0 -0
  942. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/lP7_xLqx2.js +0 -0
  943. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/live.BHsUui2i.css +0 -0
  944. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/logo-dark.tKoQPl1k.svg +0 -0
  945. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/logo-light.CS4l4ePq.png +0 -0
  946. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/mAYmvPyL.js +0 -0
  947. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/mnTiCSRt2.js +0 -0
  948. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/monte-carlo.SA-Jni4T.css +0 -0
  949. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/nFMaYfgc.js +0 -0
  950. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/nR0dIlKu.js +0 -0
  951. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/nr791fC22.js +0 -0
  952. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/onAF5SnQ.js +0 -0
  953. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/oz_6vUea2.js +0 -0
  954. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/pQUz-uq3.js +0 -0
  955. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/pRr3cFVo.js +0 -0
  956. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/paCCX65n.js +0 -0
  957. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/pages.Kz8uii-H.css +0 -0
  958. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/qBoaT7Fk2.js +0 -0
  959. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/qpEHnBAB.js +0 -0
  960. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/rHIqefrb.js +0 -0
  961. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/sB-x3p7T.js +0 -0
  962. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/sBoK_t0W.js +0 -0
  963. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/significance-test.C3_9t58f.css +0 -0
  964. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/sltzmVWM2.js +0 -0
  965. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/strategies.CZAezJwX.css +0 -0
  966. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/toggleHighContrast.DUMOsFrl.css +0 -0
  967. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/ts.worker-CiiXQ93o.js +0 -0
  968. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/u9_Y1g7K2.js +0 -0
  969. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/uHUmCDd7.js +0 -0
  970. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/u_o9HDF2.js +0 -0
  971. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/uf1cV9ZP.js +0 -0
  972. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/uhdI0v042.js +0 -0
  973. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/v83TR0fG.js +0 -0
  974. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/wbypxrpR.js +0 -0
  975. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/xk2_4sNk2.js +0 -0
  976. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/xse2Sllu2.js +0 -0
  977. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/y2WM_oP32.js +0 -0
  978. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/y_x7m0Ik2.js +0 -0
  979. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/yjvMp0c6.js +0 -0
  980. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/zMsjhnnN2.js +0 -0
  981. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/_nuxt/zbKwAOr32.js +0 -0
  982. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/favicon.ico +0 -0
  983. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/favicons/android-chrome-192x192.png +0 -0
  984. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/favicons/android-chrome-512x512.png +0 -0
  985. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/favicons/apple-touch-icon.png +0 -0
  986. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/favicons/favicon-16x16.png +0 -0
  987. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/favicons/favicon-32x32.png +0 -0
  988. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/index.html +0 -0
  989. {jesse-3.2.1 → jesse-3.2.3}/jesse/static/robots.txt +0 -0
  990. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/__init__.py +0 -0
  991. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_app.py +0 -0
  992. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_candles.py +0 -0
  993. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_closed_trades.py +0 -0
  994. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_exchanges.py +0 -0
  995. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_logs.py +0 -0
  996. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_orderbook.py +0 -0
  997. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_orders.py +0 -0
  998. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_positions.py +0 -0
  999. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_tickers.py +0 -0
  1000. {jesse-3.2.1 → jesse-3.2.3}/jesse/store/state_trades.py +0 -0
  1001. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/CanAddClosedTradeToStore/__init__.py +0 -0
  1002. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/RealStrategyRegression1/__init__.py +0 -0
  1003. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/RealStrategyRegression2/__init__.py +0 -0
  1004. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/RealStrategyRegression3/__init__.py +0 -0
  1005. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Strategy.py +0 -0
  1006. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test01/__init__.py +0 -0
  1007. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test02/__init__.py +0 -0
  1008. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test04/__init__.py +0 -0
  1009. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test05/__init__.py +0 -0
  1010. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test06/__init__.py +0 -0
  1011. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test07/__init__.py +0 -0
  1012. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test08/__init__.py +0 -0
  1013. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test09/__init__.py +0 -0
  1014. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test10/__init__.py +0 -0
  1015. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test11/__init__.py +0 -0
  1016. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test12/__init__.py +0 -0
  1017. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test13/__init__.py +0 -0
  1018. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test14/__init__.py +0 -0
  1019. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test15/__init__.py +0 -0
  1020. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test16/__init__.py +0 -0
  1021. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test17/__init__.py +0 -0
  1022. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test18/__init__.py +0 -0
  1023. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test19/__init__.py +0 -0
  1024. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test20/__init__.py +0 -0
  1025. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test21/__init__.py +0 -0
  1026. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test22/__init__.py +0 -0
  1027. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test23/__init__.py +0 -0
  1028. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test24/__init__.py +0 -0
  1029. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test25/__init__.py +0 -0
  1030. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test26/__init__.py +0 -0
  1031. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test27/__init__.py +0 -0
  1032. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test28/__init__.py +0 -0
  1033. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test29/__init__.py +0 -0
  1034. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test30/__init__.py +0 -0
  1035. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test31/__init__.py +0 -0
  1036. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test32/__init__.py +0 -0
  1037. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test33/__init__.py +0 -0
  1038. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test34/__init__.py +0 -0
  1039. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test35/__init__.py +0 -0
  1040. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test36/__init__.py +0 -0
  1041. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test37/__init__.py +0 -0
  1042. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test38/__init__.py +0 -0
  1043. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test39/__init__.py +0 -0
  1044. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test40/__init__.py +0 -0
  1045. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test41/__init__.py +0 -0
  1046. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test44/__init__.py +0 -0
  1047. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test45/__init__.py +0 -0
  1048. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test46/__init__.py +0 -0
  1049. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test47/__init__.py +0 -0
  1050. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/Test48/__init__.py +0 -0
  1051. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestAddHorizontalLineToCandleChart/__init__.py +0 -0
  1052. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestAddHorizontalLineToExtraChart/__init__.py +0 -0
  1053. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestAddLineToCandleChart/__init__.py +0 -0
  1054. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestAddLineToExtraChart/__init__.py +0 -0
  1055. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestAfterMethod/__init__.py +0 -0
  1056. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestAverageEntryPriceProperty/__init__.py +0 -0
  1057. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestBalanceAndFeeReductionWorksCorrectlyInSpotModeInBothBuyAndSellOrders/__init__.py +0 -0
  1058. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestBalancesAreHandledCorrectlyForCancellingOrdersInSpot/__init__.py +0 -0
  1059. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestBaseAndQuoteAssetProperties/__init__.py +0 -0
  1060. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestBeforeMethod/__init__.py +0 -0
  1061. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestBeforeTerminate/__init__.py +0 -0
  1062. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong1/__init__.py +0 -0
  1063. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong2/__init__.py +0 -0
  1064. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort1/__init__.py +0 -0
  1065. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort2/__init__.py +0 -0
  1066. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanOpenANewPositionImmediatelyAfterClosingViaUpdatePosition/__init__.py +0 -0
  1067. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanRunWithoutShorting/__init__.py +0 -0
  1068. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1069. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1070. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanSubmitTakeProfitAndStopLossAtSameTimeInSpot/__init__.py +0 -0
  1071. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1072. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1073. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCannotSetStopLossOrderInGoLong/__init__.py +0 -0
  1074. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCannotSetTakeProfitOrderInGoLong/__init__.py +0 -0
  1075. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCannotSpendMoreThanAvailableBalance/__init__.py +0 -0
  1076. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCannotSubmitStopLossOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1077. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCannotSubmitTakeProfitOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1078. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCapitalPropertyRaisesNotImplementedError/__init__.py +0 -0
  1079. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestClosedTradeAfterExitingTrade/__init__.py +0 -0
  1080. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCommonWarmupStart/__init__.py +0 -0
  1081. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCurrentRouteIndex1/__init__.py +0 -0
  1082. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestCurrentRouteIndex2/__init__.py +0 -0
  1083. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestDailyBalanceStoresPortfolioValue/__init__.py +0 -0
  1084. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestDailyBalancesProperty/__init__.py +0 -0
  1085. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestDataRoutes1/__init__.py +0 -0
  1086. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestDataRoutes2/__init__.py +0 -0
  1087. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestDefaultHyperparameters/__init__.py +0 -0
  1088. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestDnaMethod/__init__.py +0 -0
  1089. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestEmptyStrategy/__init__.py +0 -0
  1090. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestEntryOrdersAndExitOrdersProperties/__init__.py +0 -0
  1091. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestExchangeTypeProperty1/__init__.py +0 -0
  1092. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestExchangeTypeProperty2/__init__.py +0 -0
  1093. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestFuturesExchangeAvailableMargin/__init__.py +0 -0
  1094. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestGeneratedDataRouteExecutionBTC/__init__.py +0 -0
  1095. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestGeneratedDataRouteExecutionETH/__init__.py +0 -0
  1096. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestHasLongAndShortEntryOrdersPropertiesInFilters/__init__.py +0 -0
  1097. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestHasLongEntryOrdersProperty/__init__.py +0 -0
  1098. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestHasShortEntryOrdersProperty/__init__.py +0 -0
  1099. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestIncreasedAndReducedCount/__init__.py +0 -0
  1100. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestIncreasingShortPosition/__init__.py +0 -0
  1101. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestInsufficientMargin1/__init__.py +0 -0
  1102. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestInsufficientMargin2/__init__.py +0 -0
  1103. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestInsufficientMargin3/__init__.py +0 -0
  1104. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLeverageProperty1/__init__.py +0 -0
  1105. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLeverageProperty2/__init__.py +0 -0
  1106. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLiquidationInCrossModeForShortTrade/__init__.py +0 -0
  1107. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLiquidationInIsolatedModeForLongTrade/__init__.py +0 -0
  1108. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLiquidationInIsolatedModeForShortTrade/__init__.py +0 -0
  1109. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLogMethodInStrategyClass/__init__.py +0 -0
  1110. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLongLifecycleAcrossTradingModes/__init__.py +0 -0
  1111. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestLongSparseGap/__init__.py +0 -0
  1112. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestMarkPrice/__init__.py +0 -0
  1113. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestMarketOrderForLowPriceDifference/__init__.py +0 -0
  1114. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestMetrics1/__init__.py +0 -0
  1115. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestMultiInstrumentReplayA/__init__.py +0 -0
  1116. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestMultiInstrumentReplayB/__init__.py +0 -0
  1117. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryLongPositions/__init__.py +0 -0
  1118. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryShortPositions/__init__.py +0 -0
  1119. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOnCancelMethod/__init__.py +0 -0
  1120. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOnClosePosition/__init__.py +0 -0
  1121. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOnRouteOpenPosition/__init__.py +0 -0
  1122. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOnRouteOpenPosition2/__init__.py +0 -0
  1123. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOptimizationIsolation/__init__.py +0 -0
  1124. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOrderIsStopLossProperty/__init__.py +0 -0
  1125. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOrderIsTakeProfitProperty/__init__.py +0 -0
  1126. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOrderPriceCannotBeGreaterThanZero/__init__.py +0 -0
  1127. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOrderValueProperty/__init__.py +0 -0
  1128. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOrdersAreSortedBeforeExecution/__init__.py +0 -0
  1129. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestOversizedReduceOnlyExitAccounting/__init__.py +0 -0
  1130. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPortfolioValue/__init__.py +0 -0
  1131. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPortfolioValueIncludesPositionValueAndOpenOrdersValue/__init__.py +0 -0
  1132. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPositionExchangeTypeProperty1/__init__.py +0 -0
  1133. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPositionExchangeTypeProperty2/__init__.py +0 -0
  1134. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPositionOpenIncreaseReduceCloseEventsInSpot/__init__.py +0 -0
  1135. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPositionTotalCostProperty/__init__.py +0 -0
  1136. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPositionWithLeverage1/__init__.py +0 -0
  1137. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPositionWithLeverage2/__init__.py +0 -0
  1138. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestPositions/__init__.py +0 -0
  1139. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestProperBalanceHanldingInSpotAfterOrderCancellation/__init__.py +0 -0
  1140. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestProtectiveOrdersAcrossTradingModes/__init__.py +0 -0
  1141. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestReduceOnlyMarketOrders/__init__.py +0 -0
  1142. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestRuleSignificanceAlignment/__init__.py +0 -0
  1143. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestRuleSignificanceFailure/__init__.py +0 -0
  1144. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestShortInSpot/__init__.py +0 -0
  1145. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestSparseTimestampRoutes/__init__.py +0 -0
  1146. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceLongPosition/__init__.py +0 -0
  1147. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceShortPosition/__init__.py +0 -0
  1148. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestStopOrderShouldConsiderExecutedTakeProfitOrdersInSpot/__init__.py +0 -0
  1149. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestStrategyChartsReport/__init__.py +0 -0
  1150. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestStrategyVariablesAreResetBeforeOpeningNewPosition/__init__.py +0 -0
  1151. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientLongPosition/__init__.py +0 -0
  1152. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientShortPosition/__init__.py +0 -0
  1153. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestTerminate/__init__.py +0 -0
  1154. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestTradingHours/__init__.py +0 -0
  1155. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestUsageOfShouldCancelRaisesNotImplementedError/__init__.py +0 -0
  1156. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestVanillaStrategy/__init__.py +0 -0
  1157. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestWalletBalance/__init__.py +0 -0
  1158. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/TestWithoutCancelMethod/__init__.py +0 -0
  1159. {jesse-3.2.1 → jesse-3.2.3}/jesse/strategies/__init__.py +0 -0
  1160. {jesse-3.2.1 → jesse-3.2.3}/jesse/testing_utils.py +0 -0
  1161. {jesse-3.2.1 → jesse-3.2.3}/jesse/utils.py +0 -0
  1162. {jesse-3.2.1 → jesse-3.2.3}/jesse.egg-info/dependency_links.txt +0 -0
  1163. {jesse-3.2.1 → jesse-3.2.3}/jesse.egg-info/entry_points.txt +0 -0
  1164. {jesse-3.2.1 → jesse-3.2.3}/jesse.egg-info/top_level.txt +0 -0
  1165. {jesse-3.2.1 → jesse-3.2.3}/setup.cfg +0 -0
  1166. {jesse-3.2.1 → jesse-3.2.3}/tests/__init__.py +0 -0
  1167. {jesse-3.2.1 → jesse-3.2.3}/tests/conftest.py +0 -0
  1168. {jesse-3.2.1 → jesse-3.2.3}/tests/data/__init__.py +0 -0
  1169. {jesse-3.2.1 → jesse-3.2.3}/tests/data/test_candles_0.py +0 -0
  1170. {jesse-3.2.1 → jesse-3.2.3}/tests/data/test_candles_1.py +0 -0
  1171. {jesse-3.2.1 → jesse-3.2.3}/tests/data/test_candles_indicators.py +0 -0
  1172. {jesse-3.2.1 → jesse-3.2.3}/tests/test_backtest.py +0 -0
  1173. {jesse-3.2.1 → jesse-3.2.3}/tests/test_backtest_session_chart_data.py +0 -0
  1174. {jesse-3.2.1 → jesse-3.2.3}/tests/test_broker.py +0 -0
  1175. {jesse-3.2.1 → jesse-3.2.3}/tests/test_candle_copy.py +0 -0
  1176. {jesse-3.2.1 → jesse-3.2.3}/tests/test_candle_service.py +0 -0
  1177. {jesse-3.2.1 → jesse-3.2.3}/tests/test_candle_timeframe_filter.py +0 -0
  1178. {jesse-3.2.1 → jesse-3.2.3}/tests/test_chart_data_serialization.py +0 -0
  1179. {jesse-3.2.1 → jesse-3.2.3}/tests/test_completed_trade.py +0 -0
  1180. {jesse-3.2.1 → jesse-3.2.3}/tests/test_config_safety.py +0 -0
  1181. {jesse-3.2.1 → jesse-3.2.3}/tests/test_conflicting_orders.py +0 -0
  1182. {jesse-3.2.1 → jesse-3.2.3}/tests/test_dynamic_numpy_array.py +0 -0
  1183. {jesse-3.2.1 → jesse-3.2.3}/tests/test_e2e_database.py +0 -0
  1184. {jesse-3.2.1 → jesse-3.2.3}/tests/test_exchange.py +0 -0
  1185. {jesse-3.2.1 → jesse-3.2.3}/tests/test_helpers.py +0 -0
  1186. {jesse-3.2.1 → jesse-3.2.3}/tests/test_historical_data_contracts.py +0 -0
  1187. {jesse-3.2.1 → jesse-3.2.3}/tests/test_import_and_backtest_request_boundaries.py +0 -0
  1188. {jesse-3.2.1 → jesse-3.2.3}/tests/test_import_candle_drivers.py +0 -0
  1189. {jesse-3.2.1 → jesse-3.2.3}/tests/test_import_candles.py +0 -0
  1190. {jesse-3.2.1 → jesse-3.2.3}/tests/test_import_candles_workflow.py +0 -0
  1191. {jesse-3.2.1 → jesse-3.2.3}/tests/test_indicators.py +0 -0
  1192. {jesse-3.2.1 → jesse-3.2.3}/tests/test_isolated_backtest.py +0 -0
  1193. {jesse-3.2.1 → jesse-3.2.3}/tests/test_live_session_chart_data.py +0 -0
  1194. {jesse-3.2.1 → jesse-3.2.3}/tests/test_live_strategy_charts.py +0 -0
  1195. {jesse-3.2.1 → jesse-3.2.3}/tests/test_lsp.py +0 -0
  1196. {jesse-3.2.1 → jesse-3.2.3}/tests/test_mcp_config.py +0 -0
  1197. {jesse-3.2.1 → jesse-3.2.3}/tests/test_mcp_credentials.py +0 -0
  1198. {jesse-3.2.1 → jesse-3.2.3}/tests/test_mcp_resources.py +0 -0
  1199. {jesse-3.2.1 → jesse-3.2.3}/tests/test_mcp_usage_limits.py +0 -0
  1200. {jesse-3.2.1 → jesse-3.2.3}/tests/test_metrics.py +0 -0
  1201. {jesse-3.2.1 → jesse-3.2.3}/tests/test_optimization_and_monte_carlo_session_failures.py +0 -0
  1202. {jesse-3.2.1 → jesse-3.2.3}/tests/test_order.py +0 -0
  1203. {jesse-3.2.1 → jesse-3.2.3}/tests/test_parent_strategy.py +0 -0
  1204. {jesse-3.2.1 → jesse-3.2.3}/tests/test_position.py +0 -0
  1205. {jesse-3.2.1 → jesse-3.2.3}/tests/test_price_gap_backtest.py +0 -0
  1206. {jesse-3.2.1 → jesse-3.2.3}/tests/test_progressbar.py +0 -0
  1207. {jesse-3.2.1 → jesse-3.2.3}/tests/test_real_strategy_regression.py +0 -0
  1208. {jesse-3.2.1 → jesse-3.2.3}/tests/test_research.py +0 -0
  1209. {jesse-3.2.1 → jesse-3.2.3}/tests/test_research_monte_carlo.py +0 -0
  1210. {jesse-3.2.1 → jesse-3.2.3}/tests/test_research_optimization_isolation.py +0 -0
  1211. {jesse-3.2.1 → jesse-3.2.3}/tests/test_research_session_lifecycle.py +0 -0
  1212. {jesse-3.2.1 → jesse-3.2.3}/tests/test_router.py +0 -0
  1213. {jesse-3.2.1 → jesse-3.2.3}/tests/test_rule_significance_testing.py +0 -0
  1214. {jesse-3.2.1 → jesse-3.2.3}/tests/test_session_scoped_configuration.py +0 -0
  1215. {jesse-3.2.1 → jesse-3.2.3}/tests/test_significance_test_session.py +0 -0
  1216. {jesse-3.2.1 → jesse-3.2.3}/tests/test_simulator_parity.py +0 -0
  1217. {jesse-3.2.1 → jesse-3.2.3}/tests/test_spot_mode.py +0 -0
  1218. {jesse-3.2.1 → jesse-3.2.3}/tests/test_state_candle.py +0 -0
  1219. {jesse-3.2.1 → jesse-3.2.3}/tests/test_state_exchanges.py +0 -0
  1220. {jesse-3.2.1 → jesse-3.2.3}/tests/test_state_logs.py +0 -0
  1221. {jesse-3.2.1 → jesse-3.2.3}/tests/test_state_orderbook.py +0 -0
  1222. {jesse-3.2.1 → jesse-3.2.3}/tests/test_state_orders.py +0 -0
  1223. {jesse-3.2.1 → jesse-3.2.3}/tests/test_state_ticker.py +0 -0
  1224. {jesse-3.2.1 → jesse-3.2.3}/tests/test_state_trades.py +0 -0
  1225. {jesse-3.2.1 → jesse-3.2.3}/tests/test_trading_hours.py +0 -0
  1226. {jesse-3.2.1 → jesse-3.2.3}/tests/test_trading_mode_contracts.py +0 -0
  1227. {jesse-3.2.1 → jesse-3.2.3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jesse
3
- Version: 3.2.1
3
+ Version: 3.2.3
4
4
  Summary: A trading framework for cryptocurrencies
5
5
  Home-page: https://jesse.trade
6
6
  Author: Saleh Mir
@@ -48,7 +48,7 @@ Requires-Dist: ray
48
48
  Requires-Dist: eth-account~=0.13.5
49
49
  Requires-Dist: msgpack~=1.1.0
50
50
  Requires-Dist: starkbank-ecdsa~=1.1.0
51
- Requires-Dist: jesse-rust==1.2.0
51
+ Requires-Dist: jesse-rust==1.3.0
52
52
  Requires-Dist: mcp==1.28.1
53
53
  Requires-Dist: joblib~=1.5.3
54
54
  Requires-Dist: scikit-learn~=1.7.2; python_version < "3.11"
@@ -40,7 +40,13 @@ def install_live(strict: bool) -> None:
40
40
  default=False,
41
41
  help="Skip syncing the agent rules file (AGENTS.md / CLAUDE.md / mcp-rules.md) in the project directory.",
42
42
  )
43
- def run(skip_agent_rules: bool) -> None:
43
+ @click.option(
44
+ "--skip-lsp",
45
+ is_flag=True,
46
+ default=False,
47
+ help="Skip the Python Language Server for this run (disables editor code intelligence).",
48
+ )
49
+ def run(skip_agent_rules: bool, skip_lsp: bool) -> None:
44
50
  """Start the Jesse application server."""
45
51
  from jesse.services.env import is_test_env
46
52
 
@@ -102,11 +108,14 @@ def run(skip_agent_rules: bool) -> None:
102
108
  time.sleep(sleep_seconds)
103
109
  run_migrations()
104
110
 
105
- if not is_test_env():
111
+ if skip_lsp:
112
+ click.echo("Skipping Python Language Server for this run. Editor code intelligence will be unavailable.")
113
+
114
+ if not is_test_env() and not skip_lsp:
106
115
  try:
107
116
  from jesse.services.lsp import install_lsp_server
108
117
 
109
- install_lsp_server()
118
+ skip_lsp = not install_lsp_server(allow_skip=True)
110
119
  except Exception as e:
111
120
  print(jh.color(f"Error installing Python Language Server: {str(e)}", "red"))
112
121
  pass
@@ -124,7 +133,7 @@ def run(skip_agent_rules: bool) -> None:
124
133
 
125
134
  # Set global Jesse API configuration for MCP and other services
126
135
 
127
- if not is_test_env():
136
+ if not is_test_env() and not skip_lsp:
128
137
  try:
129
138
  from jesse.services.lsp import run_lsp_server
130
139
 
@@ -56,7 +56,7 @@ Jesse provides comprehensive documentation through MCP resources.
56
56
 
57
57
  Key resources include:
58
58
 
59
- - jesse://strategy - Strategy structure and required methods and How strategies execute candle-by-candle
59
+ - jesse://strategy - Strategy structure, candle-by-candle execution, and Trading Hours workflow for adapting traditional-market research to 24/7 exchanges
60
60
  - jesse://strategy_examples - Library of complete, worked example strategies (full, runnable references)
61
61
  - jesse://charts - Strategy chart APIs, update_chart lifecycle, and live intrabar behavior
62
62
  - jesse://indicator - Step-by-step guide for discovering and using indicators and Essential indicators and candle data access
@@ -114,10 +114,10 @@ High-signal Jesse strategy-authoring gotchas (full detail in jesse://strategy):
114
114
  - On **spot**, shorting is unsupported: `should_short()` must return `False`, leverage is always `1`, and `stop_loss`/`take_profit` must be set in `on_open_position()` (not `go_long()`).
115
115
  - Size from `self.available_margin` (or balance/capital), price, and `self.fee_rate` via sizing utilities (`size_to_qty`, `risk_to_qty`) — never hardcode a fixed quantity.
116
116
  - Market hours, sessions, "skip weekends", or a stock-linked instrument on a 24/7 exchange: define `trading_hours()` returning a dict with `timezone` and `hours` (days always explicit, no preset names), gate entries with `self.is_trading_hours`, and feed entry indicators `utils.filter_candles_by_hours(self.candles, self.trading_hours())`. Never hand-roll UTC-hour math or reassign `self.candles`, and never gate `update_position()`/exits by the schedule. See the Trading Hours section of jesse://strategy.
117
+ - For requests to adapt traditional-market research to 24/7 crypto trading, follow the Trading Hours adaptation workflow in `jesse://strategy`, even when the user does not mention sessions.
117
118
 
118
119
  For full structure, lifecycle, and complete runnable examples see jesse://strategy and jesse://strategy_examples.
119
120
 
120
-
121
121
  === STRATEGY DEVELOPMENT ===
122
122
 
123
123
  Improvement Workflow:
@@ -432,6 +432,66 @@ Rules:
432
432
 
433
433
  A complete class is in `jesse://strategy_examples` (SessionBreakout).
434
434
 
435
+ ### Adapting traditional-market research to 24/7 execution
436
+
437
+ Use this workflow for requests to prepare, adapt, port or make a strategy live-ready when
438
+ its research used traditional-market candles and its target is a continuously traded
439
+ crypto-exchange instrument. Examples include stock, index, forex or commodity research
440
+ moved to a corresponding tokenized instrument or perpetual. Recognize the intent even
441
+ without the words "trading hours". Ordinary crypto strategies do not acquire a session
442
+ restriction merely because their data came from a CSV.
443
+
444
+ Treat the session adaptation as one coordinated change, even when it needs several edits;
445
+ preserve the trading idea rather than performing unrelated strategy optimization.
446
+
447
+ Reference: [Trading Hours](https://docs.jesse.trade/docs/strategies/trading-hours).
448
+
449
+ 1. **Read the strategy and identify the mismatch.** Use MCP to inspect the strategy,
450
+ research settings and available route/data context. Distinguish the historical source
451
+ (for example Massive or Custom Data) from the execution venue and verify the target
452
+ symbol and spot/futures type. Determine the underlying market, timezone and the session
453
+ actually used in research, including regular versus extended hours. Ask for missing
454
+ material details rather than guessing a calendar or silently imposing US equity hours.
455
+ 2. **Define the intended schedule.** Implement `trading_hours()` using the dict above and
456
+ an IANA timezone, not fixed UTC offsets. Account for market breaks and overnight windows
457
+ where applicable. `closed` and `overrides` are explicit, year-specific dates: neither
458
+ holidays nor early closes are populated automatically. Do not claim complete holiday
459
+ coverage from a weekday schedule or copy example dates into a different trading year.
460
+ 3. **Make the history choice deliberate.** For consistent session selection, use the same
461
+ schedule in backtests and live trading. Imported data can include extended-hours bars;
462
+ it is not automatically regular-session-only. Returning `None` in backtests is an
463
+ intentional alternative when retaining the provider's own session is desired, not a
464
+ default migration shortcut. Revalidate if session selection changes the original research.
465
+ 4. **Adapt both entry decisions and their inputs.** Gate each enabled entry direction in
466
+ `should_long()`/`should_short()` with `self.is_trading_hours`. Create a `@property` plus
467
+ `@cached` session-candle accessor using `utils.filter_candles_by_hours(...)`. Trace the
468
+ signal's indicators, direct candle indexing, features and auxiliary `get_candles()`
469
+ inputs; filter the relevant history using the appropriate underlying market's schedule.
470
+ Do not blindly apply a stock calendar to an unrelated crypto input. Preserve existing
471
+ indicator parameters, signal rules and risk sizing. Never overwrite `self.candles`,
472
+ fabricate closure candles, or substitute a historical session close for the live price.
473
+ 5. **Check timeframe alignment and warm-up.** Candle filtering uses candle **open times**,
474
+ while the entry gate uses the current **decision time**, `self.time`. A bar opening
475
+ before the session is excluded even if it partly overlaps it. Intraday windows can
476
+ discard every UTC-midnight `1D` bar; use an appropriate full-day calendar for daily
477
+ routes and verify the local date mapping. Filtering does not realign or rebuild bars.
478
+ `warm_up_candles` counts raw candles before filtering: size it for the longest required
479
+ lookback on each relevant input, including weekends/closures, and verify enough retained
480
+ candles remain. Do not assume one fixed multiplier works across timeframes and calendars.
481
+ 6. **Keep risk management active.** Do not gate `update_position()`, stop-loss, take-profit
482
+ or exits by market hours, and do not flatten at the close unless requested. Make the
483
+ unfilled-entry policy explicit: cancel at the first execution outside the session or
484
+ retain overnight orders as intended. Preserve other cancellation conditions when adding
485
+ the close condition. Cancellation is evaluated on execution ticks, not guaranteed at
486
+ the exact wall-clock close. Preserve the target venue's spot/futures order rules.
487
+ 7. **Verify and explain the adaptation.** Read back the saved code and use MCP backtests
488
+ with the selected session and adequate warm-up. Check session boundaries, weekend gaps
489
+ and relevant date exceptions in the available data. State when target-venue history or
490
+ another required check is unavailable. Matching session selection does not make prices,
491
+ bar alignment, liquidity, fees or fills identical between underlying and tokenized
492
+ instruments. Report the calendar, history choice, cancellation policy and actual
493
+ validation performed; preparing a strategy is not evidence of a running live session.
494
+
435
495
  ## Charting Helpers
436
496
 
437
497
  These `Strategy` methods add lines and levels to interactive backtest, paper,
@@ -52,8 +52,16 @@ mcp_config.JESSE_PASSWORD = args.password
52
52
  mcp_config.MCP_PORT = args.port
53
53
  mcp_config.MCP_URL = f"http://localhost:{args.port}/mcp"
54
54
 
55
- # Create the MCP server instance
56
- mcp = FastMCP("Jesse MCP Server", host=MCP_HOST, port=args.port, json_response=True)
55
+ # Advertise this workflow during initialization, including to clients without local agent rules.
56
+ mcp = FastMCP(
57
+ "Jesse MCP Server", host=MCP_HOST, port=args.port, json_response=True,
58
+ instructions=(
59
+ "When asked to prepare, adapt, port, or deploy a strategy researched on traditional-market "
60
+ "data for a 24/7 crypto exchange (including tokenized or stock-linked instruments), read "
61
+ "jesse://strategy, especially Trading Hours and its adaptation workflow, before editing. "
62
+ "Recognize equivalent requests even when the user does not mention trading hours."
63
+ ),
64
+ )
57
65
 
58
66
  # Register all available resources
59
67
  from jesse.mcp.resources import register_resources
@@ -50,6 +50,11 @@ def register_strategy_tools(mcp):
50
50
  The provided content must be valid Python code following Jesse's Strategy
51
51
  class structure with proper imports and method implementations.
52
52
 
53
+ Traditional-market adaptation:
54
+ When preparing traditional-market research for a 24/7 crypto exchange,
55
+ read the Trading Hours adaptation workflow in `jesse://strategy` first,
56
+ even if the user does not explicitly request session filtering.
57
+
53
58
  Parameters:
54
59
  name (str): Name for the new strategy class and file
55
60
  Requirements: Valid Python identifier, no spaces, unique within Jesse
@@ -268,6 +273,11 @@ def register_strategy_tools(mcp):
268
273
  Use after create_strategy() to see the template, or to examine existing
269
274
  strategies before modification with write_strategy().
270
275
 
276
+ Traditional-market adaptation:
277
+ For requests to port research to tokenized instruments or a 24/7 crypto
278
+ exchange, also read the Trading Hours adaptation workflow in `jesse://strategy`.
279
+ Inspect every indicator's candle source and the existing entry/exit policies.
280
+
271
281
  Parameters:
272
282
  name (str): Exact name of the strategy to read (case-sensitive)
273
283
  Must match the class name and filename exactly
@@ -399,6 +409,12 @@ def register_strategy_tools(mcp):
399
409
  Use read_strategy() first to get current content, modify it, then save
400
410
  with this function. Changes take effect immediately for new backtests.
401
411
 
412
+ Traditional-market adaptation:
413
+ Follow the Trading Hours adaptation workflow in `jesse://strategy` when
414
+ porting traditional-market research to a 24/7 crypto exchange. Entry gates
415
+ alone are insufficient: use session-filtered history for the relevant
416
+ indicators, verify warm-up, and preserve round-the-clock position management.
417
+
402
418
  Parameters:
403
419
  name (str): Exact name of the strategy to update (case-sensitive)
404
420
  Must match existing strategy name exactly
@@ -8,6 +8,7 @@ import pydash
8
8
 
9
9
  import jesse.helpers as jh
10
10
  from jesse.exceptions import CandleNotFoundInExchange
11
+ from jesse.enums import live_session_modes
11
12
  from jesse.models.Candle import Candle
12
13
  from jesse.modes.import_candles_mode.drivers import (
13
14
  build_historical_provider_registry,
@@ -204,6 +205,35 @@ def _report_import_progress(
204
205
  _print_import_progressbar(exchange, symbol, percent, remaining_seconds, reached_date)
205
206
 
206
207
 
208
+ def _missing_live_candle_ranges(
209
+ exchange: str, symbol: str, start: int, end: int, max_candles: int,
210
+ ) -> list[tuple[int, int]]:
211
+ """Cover absent live minutes with provider-sized pages, preserving sparse observations."""
212
+ ranges = []
213
+ cursor = start
214
+ for candle in candle_repository.fetch_candles_from_db(exchange, symbol, '1m', start, end - 60_000):
215
+ timestamp = int(candle[0])
216
+ if timestamp > cursor:
217
+ ranges.append((cursor, timestamp))
218
+ cursor = timestamp + 60_000
219
+ if cursor < end:
220
+ ranges.append((cursor, end))
221
+
222
+ # Thousands of isolated no-trade minutes must not cause thousands of requests
223
+ # on every restart. Re-reading stored rows is safe because inserts retain them.
224
+ page_span = max_candles * 60_000
225
+ pages = []
226
+ for missing_start, missing_end in ranges:
227
+ if pages and missing_start <= pages[-1][1]:
228
+ page_start, page_end = pages.pop()
229
+ missing_end = max(missing_end, page_end)
230
+ else:
231
+ page_start = missing_start
232
+ page_count = (missing_end - page_start + page_span - 1) // page_span
233
+ pages.append((page_start, min(end, page_start + page_count * page_span)))
234
+ return pages
235
+
236
+
207
237
  def run(
208
238
  client_id: str,
209
239
  exchange: str,
@@ -270,8 +300,10 @@ def _run(
270
300
  from jesse.services.db import database
271
301
  database.open_connection()
272
302
 
273
- end_timestamp = arrow.utcnow().floor('day').int_timestamp * 1000
274
303
  provider = build_historical_provider_registry((exchange,)).get(exchange)
304
+ # Crypto startup needs today's closed bars. Provider ranges are half-open, so the
305
+ # current minute is excluded; traditional historical providers retain their daily cutoff.
306
+ end_timestamp = arrow.utcnow().floor('minute' if isinstance(provider, CandleExchange) else 'day').int_timestamp * 1000
275
307
  max_candles = provider.capabilities.max_candles_per_request
276
308
  if max_candles is None:
277
309
  raise ValueError(f'Historical provider {exchange!r} does not declare a request range limit')
@@ -310,6 +342,14 @@ def _run(
310
342
  latest_timestamp,
311
343
  interval,
312
344
  )
345
+ if isinstance(provider, CandleExchange) and mode in (
346
+ live_session_modes.LIVETRADE, live_session_modes.PAPERTRADE,
347
+ ):
348
+ # Stored endpoints do not prove live warm-up coverage: WebSocket writes may
349
+ # bracket a downtime gap. Historical imports still preserve intentional sparse gaps.
350
+ import_ranges = _missing_live_candle_ranges(
351
+ exchange, symbol, effective_start_timestamp, end_timestamp, max_candles,
352
+ )
313
353
  total_span = end_timestamp - effective_start_timestamp
314
354
  work_span = sum(range_end - range_start for range_start, range_end in import_ranges)
315
355
  completed_span = total_span - work_span
@@ -1,10 +1,16 @@
1
1
  import requests
2
+ import time
2
3
  from requests.adapters import HTTPAdapter
3
4
  from urllib3.util.retry import Retry
4
5
  import jesse.helpers as jh
5
6
  from jesse.modes.import_candles_mode.drivers.interface import CandleExchange
6
7
  from typing import Union
7
8
  from jesse import exceptions
9
+ from jesse.services.historical_data.errors import (
10
+ ProviderRateLimitError,
11
+ ProviderRequestError,
12
+ ProviderUnavailableError,
13
+ )
8
14
  from .bybit_utils import timeframe_to_interval
9
15
 
10
16
 
@@ -27,6 +33,50 @@ class BybitMain(CandleExchange):
27
33
  )
28
34
  self.session.mount('https://', HTTPAdapter(max_retries=retries, pool_maxsize=100))
29
35
 
36
+ def _get_kline_data(self, payload: dict) -> list:
37
+ """Retry transient JSON failures that HTTP-level retries cannot see."""
38
+ # Match the HTTP adapter's three-retry budget. Bybit's 10006 limit uses a
39
+ # rolling one-second window; exponential waits avoid immediately hitting it again.
40
+ for attempt in range(4):
41
+ response = self.session.get(self.endpoint + '/v5/market/kline', params=payload, timeout=10)
42
+ self.validate_response(response)
43
+ data = response.json()
44
+ code = data.get('retCode', 0)
45
+ message = f"{payload['symbol']} on {self.name}: {data['retMsg']} (retCode={code})"
46
+ # Bybit documents 10000 as a server timeout and 10016 as a server error.
47
+ if code in (10006, 10000, 10016):
48
+ error_type = ProviderRateLimitError if code == 10006 else ProviderUnavailableError
49
+ if attempt == 3:
50
+ raise error_type(message)
51
+ delay = float(2 ** attempt)
52
+ reset = response.headers.get('X-Bapi-Limit-Reset-Timestamp') if code == 10006 else None
53
+ if reset:
54
+ try:
55
+ delay = max(delay, float(reset) / 1000 - time.time())
56
+ except ValueError:
57
+ pass # A malformed reset header must not disable the bounded fallback.
58
+ # Do not block startup indefinitely on a bad or unusually distant reset timestamp.
59
+ if delay > 30:
60
+ raise ProviderRateLimitError(
61
+ f"Bybit rate limit for {payload['symbol']} on {self.name}; retry after its limit resets."
62
+ )
63
+ time.sleep(delay)
64
+ continue
65
+ if code != 0 or data['retMsg'] != 'OK':
66
+ # 10001 also covers unrelated parameter errors; only symbol-specific
67
+ # messages (or the explicit invalid-symbol code) mean a missing market.
68
+ invalid_symbol_message = data['retMsg'].lower() in ('symbol invalid', 'invalid symbol')
69
+ if (
70
+ code == 10029
71
+ or (code == 10001 and 'symbol' in data['retMsg'].lower())
72
+ # Retain explicit invalid-symbol errors even when the response omits its code.
73
+ or ('retCode' not in data and invalid_symbol_message)
74
+ ):
75
+ raise exceptions.SymbolNotFound(message)
76
+ raise ProviderRequestError(message)
77
+ return data['result']['list']
78
+ raise ProviderRateLimitError(f'Bybit rate limit on {self.name}')
79
+
30
80
  def get_starting_time(self, symbol: str) -> Union[int, None]:
31
81
  dashless_symbol = jh.dashless_symbol(symbol)
32
82
  # Bybit answers `start` in ascending order, so one 1m candle from 2018 is the exact
@@ -39,9 +89,7 @@ class BybitMain(CandleExchange):
39
89
  'start': 1514811660000
40
90
  }
41
91
 
42
- response = self.session.get(self.endpoint + '/v5/market/kline', params=payload, timeout=10)
43
- self.validate_response(response)
44
- data = response.json()['result']['list']
92
+ data = self._get_kline_data(payload)
45
93
  if not data:
46
94
  return None
47
95
  return int(data[0][0])
@@ -57,11 +105,7 @@ class BybitMain(CandleExchange):
57
105
  'limit': self.count
58
106
  }
59
107
 
60
- response = self.session.get(self.endpoint + '/v5/market/kline', params=payload, timeout=10)
61
-
62
- if response.json()['retMsg'] != 'OK':
63
- raise exceptions.SymbolNotFound(response.json()['retMsg'])
64
- data = response.json()['result']['list']
108
+ data = self._get_kline_data(payload)
65
109
  # Reverse the data list
66
110
  data = data[::-1]
67
111
 
@@ -574,6 +574,9 @@ def add_candle(
574
574
  # initial
575
575
  if last_index == -1:
576
576
  arr.append(candle)
577
+ # A session with no warm-up still needs its first observed forming bucket.
578
+ if with_generation and timeframe == '1m':
579
+ _generate_bigger_timeframes(candle, exchange, symbol, with_execution)
577
580
  return
578
581
 
579
582
  # read the last candle's timestamp once as a plain scalar instead of
@@ -690,43 +693,17 @@ def _generate_bigger_timeframes(candle: np.ndarray, exchange: str, symbol: str,
690
693
  if timeframe == '1m':
691
694
  continue
692
695
 
693
- last_candle = get_current_candle(exchange, symbol, timeframe)
694
- generate_from_count = int((candle[0] - last_candle[0]) / 60_000)
695
- number_of_candles = len(get_candles(exchange, symbol, '1m'))
696
- short_candles = get_candles(exchange, symbol, '1m')[-1 - generate_from_count:]
697
-
698
- if generate_from_count == -1:
699
- # it's receiving an slightly older candle than the last one. Ignore it
700
- return
701
-
702
- if generate_from_count < 0:
703
- current_1m = get_current_candle(exchange, symbol, '1m')
704
- raise ValueError(
705
- f'generate_from_count cannot be negative! '
706
- f'generate_from_count:{generate_from_count}, candle[0]:{candle[0]}, '
707
- f'last_candle[0]:{last_candle[0]}, current_1m:{current_1m[0]}, number_of_candles:{number_of_candles}')
708
-
709
- if len(short_candles) == 0:
710
- raise ValueError(
711
- f'No candles were passed. More info:'
712
- f'\nexchange:{exchange}, symbol:{symbol}, timeframe:{timeframe}, generate_from_count:{generate_from_count}'
713
- f'\nlast_candle\'s timestamp: {last_candle[0]}'
714
- f'\ncurrent timestamp: {jh.now()}'
715
- )
716
-
717
- # update latest candle
718
- generated_candle = generate_candle_from_one_minutes(
719
- timeframe,
720
- short_candles,
721
- accept_forming_candles=True
722
- )
723
-
724
- # Fix: force the generated candle's timestamp to the correct period-aligned boundary.
725
- # Without this, when a live session starts mid-period (e.g. at 10:36 on an hourly
726
- # timeframe), the 1m store only has that one candle, so generate_candle_from_one_minutes
727
- # stamps the resulting 1h candle as 10:36 instead of the correct period start 10:00.
696
+ # Elapsed minutes are not row counts when an exchange omits no-trade bars.
697
+ # Select only observations in this candle's UTC bucket, including forming rows.
728
698
  timeframe_ms = jh.timeframe_to_one_minutes(timeframe) * 60_000
729
- generated_candle[0] = candle[0] - (candle[0] % timeframe_ms)
699
+ bucket_start = int(candle[0]) - int(candle[0]) % timeframe_ms
700
+ short_candles = get_candles(exchange, symbol, '1m')
701
+ start_index = int(np.searchsorted(short_candles[:, 0], bucket_start, side='left'))
702
+ end_index = int(np.searchsorted(short_candles[:, 0], bucket_start + timeframe_ms, side='left'))
703
+ source_rows = short_candles[start_index:end_index]
704
+ if not len(source_rows):
705
+ continue
706
+ generated_candle = generate_candle_from_observed_minutes(timeframe, source_rows)
730
707
 
731
708
  add_candle(
732
709
  generated_candle, exchange, symbol, timeframe, with_execution, with_generation=False
@@ -847,6 +824,13 @@ def get_current_candle(exchange: str, symbol: str, timeframe: str) -> np.ndarray
847
824
  else:
848
825
  return arr[-1]
849
826
 
827
+ if jh.is_live():
828
+ # Live stores already hold native exchange bars or clock-aligned locally
829
+ # generated bars. Reconstructing by 1m row count would corrupt sparse history
830
+ # and could override native bars when local generation is disabled.
831
+ arr = store.candles.get_storage(exchange, symbol, timeframe)
832
+ return arr[-1] if len(arr) else np.zeros((0, 6))
833
+
850
834
  if store.candles.uses_timestamp_buckets:
851
835
  candles = _get_timestamp_bucket_candles(exchange, symbol, timeframe)
852
836
  return candles[-1] if len(candles) else np.zeros((0, 6))