st-comp 0.0.276 → 0.0.278
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.
- package/.argus/backups/.argus/20260727_072225.525_patch_klinebasic.py +339 -0
- package/.argus/backups/.argus/20260727_072458.864_fix_klinebasic.py +42 -0
- package/.argus/backups/.argus/20260727_072554.676_fix_klinebasic.py +45 -0
- package/.argus/backups/20260727_020847.846_package.json +48 -0
- package/.argus/backups/20260727_021018.627_vitest.config.ts +37 -0
- package/.argus/backups/20260727_021033.462_vitest.config.ts +37 -0
- package/.argus/backups/20260727_021041.704_vitest.config.ts +37 -0
- package/.argus/backups/20260727_021122.389_vitest.config.ts +36 -0
- package/.argus/backups/20260727_021159.250_vitest.config.ts +36 -0
- package/.argus/backups/20260727_065913.421_vitest.config.ts +38 -0
- package/.argus/backups/20260727_071318.099_vitest.config.ts +42 -0
- package/.argus/backups/20260728_005238.495_vitest.config.ts +53 -0
- package/.argus/backups/20260728_005424.767_vitest.config.ts +58 -0
- package/.argus/backups/20260728_005444.216_vitest.config.ts +58 -0
- package/.argus/backups/20260728_005613.603_vitest.config.ts +57 -0
- package/.argus/backups/docs/20260727_012301.521_tasks.md +22 -0
- package/.argus/backups/docs/20260727_013404.413_requirements.md +61 -0
- package/.argus/backups/docs/20260727_013916.866_tasks.md +22 -0
- package/.argus/backups/docs/20260727_015657.696_tasks.md +22 -0
- package/.argus/backups/docs/20260727_015737.998_tasks.md +22 -0
- package/.argus/backups/docs/20260727_021309.668_tasks.md +88 -0
- package/.argus/backups/docs/20260727_023430.573_tasks.md +88 -0
- package/.argus/backups/docs/20260727_031705.498_tasks.md +88 -0
- package/.argus/backups/docs/20260727_033858.862_tasks.md +88 -0
- package/.argus/backups/docs/20260727_033909.221_tasks.md +88 -0
- package/.argus/backups/docs/20260727_065645.168_tasks.md +90 -0
- package/.argus/backups/docs/20260728_005711.090_tasks.md +90 -0
- package/.argus/backups/docs/20260728_093519.026_tasks.md +96 -0
- package/.argus/backups/docs/20260728_093845.838_tasks.md +95 -0
- package/.argus/backups/docs/20260728_093956.037_tasks.md +95 -0
- package/.argus/backups/docs/20260728_094111.219_tasks.md +95 -0
- package/.argus/backups/docs/20260802_082651.083_tasks.md +95 -0
- package/.argus/backups/docs/20260802_082659.919_tasks.md +95 -0
- package/.argus/backups/docs/20260802_082817.843_test-plan.md +119 -0
- package/.argus/backups/docs/20260802_082825.291_test-plan.md +119 -0
- package/.argus/backups/tests/20260727_020937.620_smoke.spec.ts +12 -0
- package/.argus/backups/tests/20260727_021105.040_smoke.spec.ts +12 -0
- package/.argus/backups/tests/20260727_021129.257_smoke.spec.ts +12 -0
- package/.argus/backups/tests/components/20260727_021655.533_Pagination.spec.ts +59 -0
- package/.argus/backups/tests/components/20260727_021718.547_Pagination.spec.ts +59 -0
- package/.argus/backups/tests/components/20260727_021858.422_Table.spec.ts +71 -0
- package/.argus/backups/tests/components/20260727_022144.098_VirtualTable.spec.ts +90 -0
- package/.argus/backups/tests/components/20260727_022154.585_VirtualTable.spec.ts +88 -0
- package/.argus/backups/tests/components/20260727_022225.501_VirtualTable.spec.ts +89 -0
- package/.argus/backups/tests/components/20260727_022502.366_PasswordPrompt.spec.ts +72 -0
- package/.argus/backups/tests/components/20260727_022512.945_PasswordPrompt.spec.ts +72 -0
- package/.argus/backups/tests/components/20260727_023011.481_VarietyTextCopy.spec.ts +86 -0
- package/.argus/backups/tests/components/20260727_023108.189_VarietyTextCopy.spec.ts +89 -0
- package/.argus/backups/tests/components/20260727_024356.151_ConfigProvider.spec.ts +101 -0
- package/.argus/backups/tests/components/20260727_024430.348_ConfigProvider.spec.ts +100 -0
- package/.argus/backups/tests/components/20260727_024635.923_User.spec.ts +82 -0
- package/.argus/backups/tests/components/20260727_024836.707_VarSelectDialog.spec.ts +131 -0
- package/.argus/backups/tests/components/20260727_024852.191_VarSelectDialog.spec.ts +111 -0
- package/.argus/backups/tests/components/20260727_024858.884_VarSelectDialog.spec.ts +130 -0
- package/.argus/backups/tests/components/20260727_024905.552_VarSelectDialog.spec.ts +130 -0
- package/.argus/backups/tests/components/20260727_024935.877_VarSelectDialog.spec.ts +130 -0
- package/.argus/backups/tests/components/20260727_025017.207_VarSelectDialog.spec.ts +131 -0
- package/.argus/backups/tests/components/20260727_025222.178_CustomFunction.spec.ts +107 -0
- package/.argus/backups/tests/components/20260727_025533.944_VarietySearch.spec.ts +238 -0
- package/.argus/backups/tests/components/20260727_025738.354_VarietySearch.spec.ts +233 -0
- package/.argus/backups/tests/components/20260727_025853.506_VarietySearch.spec.ts +242 -0
- package/.argus/backups/tests/components/20260727_030036.628_VarietySearch.spec.ts +242 -0
- package/.argus/backups/tests/components/20260727_030236.640_VarietySearch.spec.ts +244 -0
- package/.argus/backups/tests/components/20260727_030355.487_VarietySearch.spec.ts +253 -0
- package/.argus/backups/tests/components/20260727_031231.694_VarietySearch.spec.ts +258 -0
- package/.argus/backups/tests/components/20260727_031334.734_VarietySearch.spec.ts +260 -0
- package/.argus/backups/tests/components/20260727_031351.660_VarietySearch.spec.ts +259 -0
- package/.argus/backups/tests/components/20260727_031410.450_VarietySearch.spec.ts +260 -0
- package/.argus/backups/tests/components/20260727_031425.598_VarietySearch.spec.ts +259 -0
- package/.argus/backups/tests/components/20260727_031456.187_VarietySearch.spec.ts +258 -0
- package/.argus/backups/tests/components/20260727_031508.243_VarietySearch.spec.ts +257 -0
- package/.argus/backups/tests/components/20260727_035911.421_FactorWarning.spec.ts +45 -0
- package/.argus/backups/tests/components/20260727_040217.402_FactorWarning.spec.ts +44 -0
- package/.argus/backups/tests/components/20260727_040313.577_FactorWarning.spec.ts +115 -0
- package/.argus/backups/tests/components/20260727_040443.842_FactorWarning.spec.ts +116 -0
- package/.argus/backups/tests/components/20260727_040543.676_FactorWarning.spec.ts +119 -0
- package/.argus/backups/tests/components/20260727_040552.567_FactorWarning.spec.ts +120 -0
- package/.argus/backups/tests/components/20260727_040615.706_FactorWarning.spec.ts +122 -0
- package/.argus/backups/tests/components/20260727_040626.121_FactorWarning.spec.ts +123 -0
- package/.argus/backups/tests/components/20260727_040717.265_MonacoEditor.spec.ts +83 -0
- package/.argus/backups/tests/components/20260727_040828.121_MonacoEditor.spec.ts +76 -0
- package/.argus/backups/tests/components/20260727_040904.972_MonacoEditor.spec.ts +78 -0
- package/.argus/backups/tests/components/20260727_041018.032_MonacoEditor.spec.ts +81 -0
- package/.argus/backups/tests/components/20260727_041314.621_VarietyAiHelper.spec.ts +163 -0
- package/.argus/backups/tests/components/20260727_041325.276_VarietyAiHelper.spec.ts +163 -0
- package/.argus/backups/tests/components/20260727_041334.762_VarietyAiHelper.spec.ts +165 -0
- package/.argus/backups/tests/components/20260727_041343.202_VarietyAiHelper.spec.ts +166 -0
- package/.argus/backups/tests/components/20260727_044733.056_KlineBasic.spec.ts +143 -0
- package/.argus/backups/tests/components/20260727_045002.981_KlineBasic.spec.ts +143 -0
- package/.argus/backups/tests/components/20260727_045140.574_KlineBasic.spec.ts +144 -0
- package/.argus/backups/tests/components/20260727_045425.611_KlineBasic.spec.ts +145 -0
- package/.argus/backups/tests/components/20260727_045715.412_Kline.spec.ts +113 -0
- package/.argus/backups/tests/components/20260727_045724.184_Kline.spec.ts +125 -0
- package/.argus/backups/tests/components/20260727_045825.069_Kline.spec.ts +126 -0
- package/.argus/backups/tests/components/20260727_045834.378_Kline.spec.ts +136 -0
- package/.argus/backups/tests/components/20260727_045841.348_Kline.spec.ts +137 -0
- package/.argus/backups/tests/components/20260727_045940.821_Kline.spec.ts +136 -0
- package/.argus/backups/tests/components/20260727_045949.967_Kline.spec.ts +137 -0
- package/.argus/backups/tests/components/20260727_050143.995_Kline.spec.ts +138 -0
- package/.argus/backups/tests/components/20260727_050209.308_Kline.spec.ts +142 -0
- package/.argus/backups/tests/components/20260727_050232.575_Kline.spec.ts +145 -0
- package/.argus/backups/tests/components/20260727_050520.150_Kline.spec.ts +149 -0
- package/.argus/backups/tests/components/20260727_050528.961_Kline.spec.ts +144 -0
- package/.argus/backups/tests/components/20260727_050539.132_Kline.spec.ts +140 -0
- package/.argus/backups/tests/components/20260727_050600.606_Kline.spec.ts +141 -0
- package/.argus/backups/tests/components/20260727_051012.712_Kline.spec.ts +145 -0
- package/.argus/backups/tests/components/20260727_051030.112_Kline.spec.ts +140 -0
- package/.argus/backups/tests/components/20260727_051039.759_Kline.spec.ts +140 -0
- package/.argus/backups/tests/components/20260727_064959.298_KlineNew.spec.ts +265 -0
- package/.argus/backups/tests/components/20260727_065038.479_KlineNew.spec.ts +278 -0
- package/.argus/backups/tests/components/20260727_065213.245_KlinePlus.spec.ts +151 -0
- package/.argus/backups/tests/components/20260727_065245.945_KlinePlus.spec.ts +151 -0
- package/.argus/backups/tests/components/20260727_070847.720_MonacoEditor.spec.ts +105 -0
- package/.argus/backups/tests/components/20260727_070916.945_MonacoEditor.spec.ts +473 -0
- package/.argus/backups/tests/components/20260727_070928.260_MonacoEditor.spec.ts +516 -0
- package/.argus/backups/tests/components/20260727_071228.326_MonacoEditor.spec.ts +517 -0
- package/.argus/backups/tests/components/20260727_071243.734_MonacoEditor.spec.ts +521 -0
- package/.argus/backups/tests/components/20260727_071305.582_MonacoEditor.spec.ts +521 -0
- package/.argus/backups/tests/components/20260727_071350.809_MonacoEditor.spec.ts +525 -0
- package/.argus/backups/tests/components/20260727_071407.272_MonacoEditor.spec.ts +525 -0
- package/.argus/backups/tests/components/20260727_071425.763_MonacoEditor.spec.ts +525 -0
- package/.argus/backups/tests/components/20260727_071444.203_MonacoEditor.spec.ts +525 -0
- package/.argus/backups/tests/components/20260727_071813.277_Kline2.spec.ts +269 -0
- package/.argus/backups/tests/components/20260727_071825.633_Kline2.spec.ts +275 -0
- package/.argus/backups/tests/components/20260727_071836.063_Kline2.spec.ts +275 -0
- package/.argus/backups/tests/components/20260727_071926.767_Kline2.spec.ts +275 -0
- package/.argus/backups/tests/components/20260727_072027.172_Kline2.spec.ts +285 -0
- package/.argus/backups/tests/components/20260727_123101.129_Kline2.spec.ts +292 -0
- package/.argus/backups/tests/components/20260727_135819.231_Kline2.spec.ts +293 -0
- package/.argus/backups/tests/components/20260727_135858.777_Kline2.spec.ts +304 -0
- package/.argus/backups/tests/components/20260727_141205.699_KlineBasic.spec.ts +429 -0
- package/.argus/backups/tests/components/20260727_141254.206_Kline2.spec.ts +304 -0
- package/.argus/backups/tests/components/20260727_141349.322_KlineBasic.spec.ts +437 -0
- package/.argus/backups/tests/components/20260727_141447.163_KlineBasic.spec.ts +439 -0
- package/.argus/backups/tests/components/20260727_141505.454_KlineBasic.spec.ts +427 -0
- package/.argus/backups/tests/components/20260728_010148.792_User.spec.ts +126 -0
- package/.argus/backups/tests/components/20260728_010436.092_TreeMap.spec.ts +100 -0
- package/.argus/backups/tests/components/20260728_010546.696_CustomFunction.spec.ts +185 -0
- package/.argus/backups/tests/components/20260728_010606.217_CustomFunction.spec.ts +185 -0
- package/.argus/backups/tests/components/20260728_010739.144_FactorWarning.spec.ts +285 -0
- package/.argus/backups/tests/components/20260728_050815.875_VirtualTable.spec.ts +234 -0
- package/.argus/backups/tests/components/20260728_092436.589_KlinePlus.spec.ts +151 -0
- package/.argus/backups/tests/components/20260728_092516.096_KlinePlus.spec.ts +273 -0
- package/.argus/backups/tests/components/20260728_092531.745_KlinePlus.spec.ts +274 -0
- package/.argus/backups/tests/components/20260728_092545.921_KlinePlus.spec.ts +275 -0
- package/.argus/backups/tests/components/20260728_092605.498_KlinePlus.spec.ts +276 -0
- package/.argus/backups/tests/components/20260728_092659.872_KlinePlus.spec.ts +277 -0
- package/.argus/backups/tests/components/20260728_092713.040_KlinePlus.spec.ts +278 -0
- package/.argus/backups/tests/components/20260728_092726.343_KlinePlus.spec.ts +279 -0
- package/.argus/backups/tests/components/20260728_092750.935_KlinePlus.spec.ts +281 -0
- package/.argus/backups/tests/components/20260728_092800.572_KlinePlus.spec.ts +283 -0
- package/.argus/backups/tests/components/20260728_092837.797_KlinePlus.spec.ts +284 -0
- package/.argus/backups/tests/mocks/20260727_023418.231_st-func.mock.ts +29 -0
- package/.argus/backups/tests/mocks/20260727_024337.409_st-func.mock.ts +37 -0
- package/.argus/backups/tests/mocks/20260727_024344.807_st-func.mock.ts +40 -0
- package/.argus/backups/tests/mocks/20260727_041047.900_monaco.mock.ts +27 -0
- package/.argus/backups/tests/mocks/20260727_041129.076_monaco.mock.ts +31 -0
- package/.argus/backups/tests/mocks/20260727_044924.603_st-func.mock.ts +44 -0
- package/.argus/backups/tests/mocks/20260727_045612.059_echarts.kline.mock.ts +33 -0
- package/.argus/backups/tests/mocks/20260727_050955.894_echarts.kline.mock.ts +35 -0
- package/.argus/backups/tests/mocks/20260727_065402.557_st-func.mock.ts +52 -0
- package/.argus/backups/tests/mocks/20260727_065525.410_st-func.mock.ts +52 -0
- package/.argus/backups/tests/mocks/20260727_140844.233_echarts.kline.mock.ts +40 -0
- package/.argus/backups/tests/mocks/20260727_140913.119_echarts.kline.mock.ts +42 -0
- package/.argus/backups/tests/mocks/20260727_140921.846_echarts.kline.mock.ts +42 -0
- package/.argus/backups/tests/mocks/20260727_140939.427_echarts.kline.mock.ts +41 -0
- package/.argus/bgtasks.json +229 -0
- package/.argus/coldstore/013c3c794e7b7c29.jsonl +2 -0
- package/.argus/coldstore/0e331b8a3b0d8880.jsonl +16 -0
- package/.argus/coldstore/5d9a9409cc3f63f2.jsonl +7 -0
- package/.argus/coldstore/5f928dc976ac6d8a.jsonl +1 -0
- package/.argus/coldstore/60094b3c17412a84.jsonl +3 -0
- package/.argus/coldstore/76b2ec805ca5837c.jsonl +1 -0
- package/.argus/coldstore/859e7008fa48fc1b.jsonl +1 -0
- package/.argus/coldstore/85f91d3daeab41ca.jsonl +1595 -0
- package/.argus/coldstore/9278244bf4eaf9c6.jsonl +2 -0
- package/.argus/coldstore/9bb5e3ec04a11742.jsonl +1 -0
- package/.argus/coldstore/9c00baba2fa5f259.jsonl +3 -0
- package/.argus/coldstore/b72af6a1286c4ff8.jsonl +3 -0
- package/.argus/coldstore/cf0c7a7843dd408d.jsonl +1 -0
- package/.argus/coldstore/d1638960d5dc3db4.jsonl +4 -0
- package/.argus/coldstore/e6432235b17215cb.jsonl +6 -0
- package/.argus/coldstore/fae1501de047b46f.jsonl +1 -0
- package/.argus/compress_context/20260727T013726.528Z_classifier_9c00baba2fa5f259.txt +16 -0
- package/.argus/compress_context/20260727T020603.082Z_classifier_85f91d3daeab41ca.txt +2339 -0
- package/.argus/compress_context/20260727T023245.640Z_classifier_fae1501de047b46f.txt +16 -0
- package/.argus/compress_context/20260727T030908.737Z_classifier_e6432235b17215cb.txt +16 -0
- package/.argus/compress_context/20260727T032428.553Z_classifier_cf0c7a7843dd408d.txt +16 -0
- package/.argus/compress_context/20260727T032636.912Z_classifier_85f91d3daeab41ca.txt +7419 -0
- package/.argus/compress_context/20260727T041443.286Z_classifier_5d9a9409cc3f63f2.txt +16 -0
- package/.argus/compress_context/20260727T050601.474Z_classifier_60094b3c17412a84.txt +16 -0
- package/.argus/compress_context/20260727T052133.391Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260727T052212.178Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260727T052324.111Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260727T054653.767Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260727T071236.629Z_classifier_85f91d3daeab41ca.txt +16527 -0
- package/.argus/compress_context/20260727T072148.598Z_classifier_0e331b8a3b0d8880.txt +16 -0
- package/.argus/compress_context/20260727T073105.913Z_classifier_76b2ec805ca5837c.txt +16 -0
- package/.argus/compress_context/20260727T073345.593Z_classifier_d1638960d5dc3db4.txt +16 -0
- package/.argus/compress_context/20260727T092505.960Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260727T113928.931Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260727T123224.070Z_classifier_85f91d3daeab41ca.txt +10993 -0
- package/.argus/compress_context/20260727T141545.843Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260728T010629.442Z_classifier_85f91d3daeab41ca.txt +24561 -0
- package/.argus/compress_context/20260728T010950.439Z_classifier_9278244bf4eaf9c6.txt +16 -0
- package/.argus/compress_context/20260728T011152.613Z_classifier_013c3c794e7b7c29.txt +16 -0
- package/.argus/compress_context/20260728T085939.340Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260728T091110.581Z_classifier_b72af6a1286c4ff8.txt +16 -0
- package/.argus/compress_context/20260728T091324.113Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260728T093934.076Z_classifier_85f91d3daeab41ca.txt +26262 -0
- package/.argus/compress_context/20260729T011307.637Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260802T081344.640Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260802T082844.660Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260802T083022.436Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260802T083336.095Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260903T053304.203Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260903T053851.653Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260903T054344.177Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260903T060025.617Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/compress_context/20260903T060858.200Z_classifier_FAILED_85f91d3daeab41ca.txt +30 -0
- package/.argus/config.toml +15 -0
- package/.argus/memory/.INDEX.md.lock +0 -0
- package/.argus/memory/INDEX.md +166 -0
- package/.argus/memory/dev_build_commands_build_targets_lib_vs_demo.md +14 -0
- package/.argus/memory/dev_build_commands_st_comp_build_scripts.md +13 -0
- package/.argus/memory/dev_coding_conventions_component_test_setupstate_override_pattern.md +14 -0
- package/.argus/memory/dev_coding_conventions_customfunction_ai_query_no_prefix.md +14 -0
- package/.argus/memory/dev_coding_conventions_fix_tests_not_packages_source.md +14 -0
- package/.argus/memory/dev_coding_conventions_git_workflow_branch_nds.md +14 -0
- package/.argus/memory/dev_coding_conventions_managedialog_ai_dialog_test_pattern.md +8 -0
- package/.argus/memory/dev_coding_conventions_no_packages_source_changes.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_component_spec_conventions.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_component_test_mocking_pattern.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_coverage_scope_rules.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_exposed_methods_via_wrapper_vm.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_full_import_only.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_klinebasic_error_rethrow.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_monaco_mock_extend.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_no_modify_packages_constraint.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_no_packages_changes.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_no_packages_code_changes.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_no_packages_modification.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_no_packages_source_changes.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_packages_read_only_for_test_work.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_packages_readonly_when_testing.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_seven_phase_workflow.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_spec_mock_patterns.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_spec_mount_pattern.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_test_component_patterns.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_test_constraint_no_packages_changes.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_test_conventions.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_test_mock_conventions.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_test_phase_constraints.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_test_work_no_packages_changes.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_testing_exposed_methods.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_tests_must_not_touch_packages.md +14 -0
- package/.argus/memory/dev_coding_conventions_st_comp_varietysearch_setupstate.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_vi_mock_pattern.md +13 -0
- package/.argus/memory/dev_coding_conventions_st_comp_vitest_cache_handlers_false.md +14 -0
- package/.argus/memory/dev_coding_conventions_stcomp_props_emits_conventions.md +13 -0
- package/.argus/memory/dev_coding_conventions_stconfig_request_injection.md +14 -0
- package/.argus/memory/dev_coding_conventions_test_isolation_and_coverage_thresholds.md +14 -0
- package/.argus/memory/dev_coding_conventions_test_mock_strategy_layers.md +14 -0
- package/.argus/memory/dev_deps_project_ui_deps_echarts_monaco.md +14 -0
- package/.argus/memory/dev_deps_st_comp_tech_stack.md +13 -0
- package/.argus/memory/dev_deps_st_comp_test_stack.md +13 -0
- package/.argus/memory/dev_deps_st_comp_test_stack_versions.md +13 -0
- package/.argus/memory/dev_deps_stcomp_heavy_deps_per_component.md +13 -0
- package/.argus/memory/dev_deps_variety_ai_helper_api.md +14 -0
- package/.argus/memory/dev_deps_variety_ai_helper_endpoint.md +14 -0
- package/.argus/memory/dev_deps_vitest_034_coverage_threshold_format.md +14 -0
- package/.argus/memory/dev_key_modules_ai_helper_streaming_api.md +14 -0
- package/.argus/memory/dev_key_modules_ai_tools_sse_client.md +14 -0
- package/.argus/memory/dev_key_modules_custom_function_api_endpoints.md +14 -0
- package/.argus/memory/dev_key_modules_custom_function_manage_dialog.md +14 -0
- package/.argus/memory/dev_key_modules_custom_function_panel_structure.md +14 -0
- package/.argus/memory/dev_key_modules_customfunction_manage_dialog.md +14 -0
- package/.argus/memory/dev_key_modules_kline_echarts_mock_requirements.md +14 -0
- package/.argus/memory/dev_key_modules_shared_editor_varselect_components.md +14 -0
- package/.argus/memory/dev_key_modules_st_comp_extractvariables_syntax.md +13 -0
- package/.argus/memory/dev_key_modules_st_comp_kline_component_family.md +13 -0
- package/.argus/memory/dev_key_modules_st_comp_kline_components_test_mocks.md +14 -0
- package/.argus/memory/dev_key_modules_st_comp_l2_kline_components.md +14 -0
- package/.argus/memory/dev_key_modules_st_comp_packages_components.md +13 -0
- package/.argus/memory/dev_key_modules_st_comp_test_mocks_behavior.md +13 -0
- package/.argus/memory/dev_key_modules_st_comp_vite_plugins.md +13 -0
- package/.argus/memory/dev_key_modules_st_func_mock_helper.md +14 -0
- package/.argus/memory/dev_key_modules_stcomp_http_via_stfunc_no_axios.md +13 -0
- package/.argus/memory/dev_key_modules_stcomp_stconfig_provide_inject_contract.md +13 -0
- package/.argus/memory/dev_key_modules_test_shared_helpers.md +14 -0
- package/.argus/memory/dev_key_modules_vitest_vue_cachehandlers_false.md +14 -0
- package/.argus/memory/dev_known_issues_klinebasic_unhandled_rejection_noise.md +14 -0
- package/.argus/memory/dev_known_issues_low_func_coverage_components.md +14 -0
- package/.argus/memory/dev_known_issues_low_function_coverage_components.md +14 -0
- package/.argus/memory/dev_known_issues_missing_component_tests_backlog.md +14 -0
- package/.argus/memory/dev_known_issues_monaco_editor_baseline_test_failures.md +14 -0
- package/.argus/memory/dev_known_issues_pending_component_test_coverage.md +14 -0
- package/.argus/memory/dev_known_issues_st_comp_baseline_failing_specs.md +14 -0
- package/.argus/memory/dev_known_issues_st_comp_build_gaps.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_contextmenu_attachto_breaks.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_deferred_tests_factorwarning_monacoeditor_varietyaihelper.md +14 -0
- package/.argus/memory/dev_known_issues_st_comp_definemodel_setupstate_test_pitfall.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_elmessage_auto_import_tests.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_elmessage_missing_in_tests.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_eltable_render_timing.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_hardcoded_server_password.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_jsdom_resizeobserver_stub.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_klinebasic_resize_coverage_gap.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_klinebasic_unhandled_rejection_noise.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_known_gaps.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_preexisting_spec_failures.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_stfunc_mock_stmath_incomplete.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_test_elmessage_autoimport.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_test_env_pitfalls.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_test_teleport_cleanup.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_varietytextcopy_global_elmessage.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_vitest_cache_handlers_false.md +13 -0
- package/.argus/memory/dev_known_issues_st_comp_vitest_cachehandlers_coverage.md +13 -0
- package/.argus/memory/dev_known_issues_st_func_mock_addresizelistener_return_shape.md +14 -0
- package/.argus/memory/dev_known_issues_stcomp_klineconfig_defineemits_string_bug.md +13 -0
- package/.argus/memory/dev_known_issues_t1_uncovered_test_gaps.md +14 -0
- package/.argus/memory/dev_known_issues_vitest_034_windows_import_meta_url.md +14 -0
- package/.argus/memory/dev_known_issues_vitest_baseline_failing_specs.md +14 -0
- package/.argus/memory/dev_known_issues_vitest_vue_plugin_cache_handlers_false.md +14 -0
- package/.argus/memory/dev_project_layout_custom_function_manage_dialog.md +14 -0
- package/.argus/memory/dev_project_layout_docs_phase_artifacts.md +14 -0
- package/.argus/memory/dev_project_layout_docs_tasks_md_planning_file.md +14 -0
- package/.argus/memory/dev_project_layout_frontend_component_test_scope.md +14 -0
- package/.argus/memory/dev_project_layout_local_only_dirs_not_committed.md +14 -0
- package/.argus/memory/dev_project_layout_nds_local_tool_dirs_untracked.md +14 -0
- package/.argus/memory/dev_project_layout_packages_component_layout.md +14 -0
- package/.argus/memory/dev_project_layout_packages_dir_always_empty.md +14 -0
- package/.argus/memory/dev_project_layout_phased_workflow_docs.md +14 -0
- package/.argus/memory/dev_project_layout_st_comp_docs_phase_workflow.md +14 -0
- package/.argus/memory/dev_project_layout_st_comp_docs_task_tracking.md +14 -0
- package/.argus/memory/dev_project_layout_st_comp_layout_and_aliases.md +13 -0
- package/.argus/memory/dev_project_layout_st_comp_layout_and_docs_plan.md +14 -0
- package/.argus/memory/dev_project_layout_st_comp_layout_and_stack.md +13 -0
- package/.argus/memory/dev_project_layout_st_comp_layout_and_task_tracking.md +14 -0
- package/.argus/memory/dev_project_layout_st_comp_project_layout.md +13 -0
- package/.argus/memory/dev_project_layout_st_comp_project_overview.md +14 -0
- package/.argus/memory/dev_project_layout_st_comp_project_root_and_purpose.md +14 -0
- package/.argus/memory/dev_project_layout_st_comp_repo_layout.md +13 -0
- package/.argus/memory/dev_project_layout_st_comp_test_layout.md +13 -0
- package/.argus/memory/dev_project_layout_st_comp_test_layout_and_aliases.md +13 -0
- package/.argus/memory/dev_project_layout_st_comp_top_level_layout.md +13 -0
- package/.argus/memory/dev_project_layout_stcomp_packages_layout.md +13 -0
- package/.argus/memory/dev_project_layout_test_release_plugin_sftp_config.md +14 -0
- package/.argus/memory/dev_project_layout_tests_dir_and_vitest_config.md +14 -0
- package/.argus/memory/dev_test_commands_component_test_baseline_and_layout.md +14 -0
- package/.argus/memory/dev_test_commands_coverage_gate_80_baseline_exclusions.md +14 -0
- package/.argus/memory/dev_test_commands_coverage_thresholds.md +14 -0
- package/.argus/memory/dev_test_commands_coverage_thresholds_enforced.md +14 -0
- package/.argus/memory/dev_test_commands_func_coverage_threshold_80.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_component_test_command.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_coverage_commands.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_coverage_scope_and_threshold.md +13 -0
- package/.argus/memory/dev_test_commands_st_comp_coverage_thresholds.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_run_component_tests.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_commands.md +13 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_component_suite.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_component_tests.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_components.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_coverage_config.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_coverage_thresholds.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_must_use_local_bin.md +13 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_run.md +13 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_run_and_coverage.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_run_command.md +13 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_run_commands.md +13 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_run_coverage.md +14 -0
- package/.argus/memory/dev_test_commands_st_comp_vitest_run_spec.md +13 -0
- package/.argus/memory/dev_test_commands_test_stack_vitest_vue.md +14 -0
- package/.argus/memory/dev_test_commands_test_suite_baseline.md +14 -0
- package/.argus/memory/dev_test_commands_vitest_cache_handlers_disabled_for_coverage.md +14 -0
- package/.argus/memory/dev_test_commands_vitest_component_test_plan_tiers.md +14 -0
- package/.argus/memory/dev_test_commands_vitest_component_testing_setup.md +14 -0
- package/.argus/memory/dev_test_commands_vitest_run_and_coverage.md +14 -0
- package/.argus/memory/dev_test_commands_vitest_test_infra_setup.md +14 -0
- package/.argus/memory/ops_credentials_locations_sftp_cred_testrelese_ts.md +14 -0
- package/.argus/memory/ops_credentials_locations_st_comp_test_server_root_password_hardcoded.md +13 -0
- package/.argus/memory/ops_deploy_workflow_build_outputs_lib_vs_demo.md +14 -0
- package/.argus/memory/ops_deploy_workflow_sftp_deploy_via_vite_plugin.md +14 -0
- package/.argus/memory/ops_deploy_workflow_st_comp_test_deploy_via_testrelese_plugin.md +13 -0
- package/.argus/memory/ops_servers_test_server_192_168_12_49.md +14 -0
- package/.argus/scheduled_tasks.json +467 -0
- package/.cliworks/.cliworks/input_history.jsonl +44 -0
- package/.cliworks/chat/acp/39525acf-0832-40e4-90e5-f058f1bccb8d/2026-07-27.json +17623 -0
- package/.cliworks/chat/acp/39525acf-0832-40e4-90e5-f058f1bccb8d/2026-07-28.json +6349 -0
- package/.cliworks/chat/acp/39525acf-0832-40e4-90e5-f058f1bccb8d/2026-07-29.json +33 -0
- package/.cliworks/chat/acp/39525acf-0832-40e4-90e5-f058f1bccb8d/2026-08-02.json +1174 -0
- package/.cliworks/chat/acp/39525acf-0832-40e4-90e5-f058f1bccb8d/2026-09-03.json +2354 -0
- package/.cliworks/hooks/on_create.md +6 -0
- package/.cliworks/hooks/on_open.md +11 -0
- package/.cliworks/project.json +5 -0
- package/coverage/ChartLayout/index.html +116 -0
- package/coverage/ChartLayout/index.vue.html +274 -0
- package/coverage/ConfigProvider/index.html +116 -0
- package/coverage/ConfigProvider/index.vue.html +283 -0
- package/coverage/Contextmenu/index.html +116 -0
- package/coverage/Contextmenu/index.vue.html +487 -0
- package/coverage/CustomFunction/index.html +116 -0
- package/coverage/CustomFunction/index.vue.html +685 -0
- package/coverage/FactorWarning/index.html +116 -0
- package/coverage/FactorWarning/index.vue.html +2347 -0
- package/coverage/HeatMap/index.html +116 -0
- package/coverage/HeatMap/index.vue.html +508 -0
- package/coverage/Kline/index.html +116 -0
- package/coverage/Kline/index.vue.html +2758 -0
- package/coverage/KlineBasic/index.html +116 -0
- package/coverage/KlineBasic/index.vue.html +2602 -0
- package/coverage/KlineConfig/index.html +116 -0
- package/coverage/KlineConfig/index.vue.html +1153 -0
- package/coverage/KlinePlus/index.html +116 -0
- package/coverage/KlinePlus/index.vue.html +3286 -0
- package/coverage/LinearLegend/index.html +116 -0
- package/coverage/LinearLegend/index.vue.html +418 -0
- package/coverage/Map/index.html +116 -0
- package/coverage/Map/index.vue.html +526 -0
- package/coverage/MonacoEditor/index.html +116 -0
- package/coverage/MonacoEditor/index.vue.html +3508 -0
- package/coverage/Pagination/index.html +116 -0
- package/coverage/Pagination/index.vue.html +346 -0
- package/coverage/PasswordPrompt/index.html +116 -0
- package/coverage/PasswordPrompt/index.vue.html +886 -0
- package/coverage/Pie/index.html +116 -0
- package/coverage/Pie/index.vue.html +529 -0
- package/coverage/Table/index.html +116 -0
- package/coverage/Table/index.vue.html +484 -0
- package/coverage/TreeMap/index.html +116 -0
- package/coverage/TreeMap/index.vue.html +643 -0
- package/coverage/User/index.html +116 -0
- package/coverage/User/index.vue.html +436 -0
- package/coverage/VarSelectDialog/index.html +116 -0
- package/coverage/VarSelectDialog/index.vue.html +1054 -0
- package/coverage/VarietyAiHelper/index.html +116 -0
- package/coverage/VarietyAiHelper/index.vue.html +2815 -0
- package/coverage/VarietyAutoComplete/index.html +116 -0
- package/coverage/VarietyAutoComplete/index.vue.html +352 -0
- package/coverage/VarietySearch/index.html +116 -0
- package/coverage/VarietySearch/index.vue.html +2149 -0
- package/coverage/VarietyTextCopy/index.html +116 -0
- package/coverage/VarietyTextCopy/index.vue.html +493 -0
- package/coverage/VirtualTable/index.html +116 -0
- package/coverage/VirtualTable/index.vue.html +808 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/clover.xml +9392 -0
- package/coverage/coverage-final.json +26 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +476 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +210 -0
- package/docs/api-design.md +120 -0
- package/docs/architecture.md +110 -0
- package/docs/bugs.md +13 -0
- package/docs/requirements.md +63 -0
- package/docs/review.md +80 -0
- package/docs/security.md +83 -0
- package/docs/tasks.md +112 -0
- package/docs/test-plan.md +119 -0
- package/es/CustomFunction.cjs +2 -2
- package/es/CustomFunction.js +514 -308
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +25 -25
- package/es/Kline.cjs +1 -1
- package/es/Kline.js +10 -10
- package/es/KlineBasic.cjs +1 -1
- package/es/KlineBasic.js +18 -18
- package/es/KlineConfig.cjs +1 -1
- package/es/KlineConfig.js +15 -15
- package/es/KlineNew.cjs +1 -1
- package/es/KlineNew.js +9 -9
- package/es/KlinePlus.cjs +1 -1
- package/es/KlinePlus.js +11 -11
- package/es/MonacoEditor.cjs +1 -1
- package/es/MonacoEditor.js +17 -17
- package/es/Pagination.cjs +1 -1
- package/es/Pagination.js +76 -76
- package/es/PasswordPrompt.cjs +1 -1
- package/es/PasswordPrompt.js +2 -2
- package/es/Table.cjs +1 -1
- package/es/Table.js +22 -22
- package/es/User.cjs +1 -1
- package/es/User.js +18 -18
- package/es/VarSelectDialog.cjs +1 -1
- package/es/VarSelectDialog.js +18 -18
- package/es/VarietyAiHelper.cjs +7 -7
- package/es/VarietyAiHelper.js +306 -279
- package/es/VarietyAutoComplete.cjs +1 -1
- package/es/VarietyAutoComplete.js +7 -7
- package/es/VarietySearch.cjs +1 -1
- package/es/VarietySearch.js +30 -30
- package/es/{VarietySelect-610903f0.cjs → VarietySelect-5fee5520.cjs} +1 -1
- package/es/{VarietySelect-6a166293.js → VarietySelect-e563b7a6.js} +3 -3
- package/es/VarietyTextCopy.cjs +1 -1
- package/es/VarietyTextCopy.js +10 -10
- package/es/VirtualTable.cjs +1 -1
- package/es/VirtualTable.js +5 -5
- package/es/{_initCloneObject-152b4f4e.js → _initCloneObject-5e73c9c8.js} +2 -2
- package/es/{_initCloneObject-76e116d0.cjs → _initCloneObject-a5832933.cjs} +1 -1
- package/es/{aiTools-d7bd47c3.js → aiTools-a3b095f6.js} +19 -19
- package/es/aiTools-f36136a4.cjs +2 -0
- package/es/aiTools.js +4 -0
- package/es/{config-provider-4c784baf.cjs → config-provider-06ea6b42.cjs} +1 -1
- package/es/{config-provider-7a3aca55.js → config-provider-88b637a8.js} +3 -3
- package/es/{dropdown-987c47fb.cjs → dropdown-4ce4c3e2.cjs} +1 -1
- package/es/{dropdown-01e09205.js → dropdown-72fbc15d.js} +2 -2
- package/es/{el-autocomplete-342ae823.js → el-autocomplete-6cafcdf1.js} +5 -5
- package/es/{el-autocomplete-16f66b34.cjs → el-autocomplete-e0857c5b.cjs} +1 -1
- package/es/{el-button-13dc915f.cjs → el-button-613e0bb2.cjs} +1 -1
- package/es/{el-button-314171a0.js → el-button-94d3de38.js} +3 -3
- package/es/{el-checkbox-5899681f.js → el-checkbox-6d4cb393.js} +3 -3
- package/es/{el-checkbox-bdf64663.cjs → el-checkbox-e90762df.cjs} +1 -1
- package/es/{el-dialog-0ef95df6.cjs → el-dialog-02942e22.cjs} +1 -1
- package/es/{el-dialog-86a3eec2.js → el-dialog-5e30161f.js} +4 -4
- package/es/{el-form-item-77ef6784.cjs → el-form-item-44f060d8.cjs} +1 -1
- package/es/{el-form-item-cda4d93c.js → el-form-item-9e8969ea.js} +5 -5
- package/es/{el-input-fa1445ad.js → el-input-342b2def.js} +13 -13
- package/es/{el-input-89222943.cjs → el-input-9a9a7f7f.cjs} +1 -1
- package/es/{el-input-number-d3338e5e.cjs → el-input-number-65c847d6.cjs} +1 -1
- package/es/{el-input-number-8f6dbf74.js → el-input-number-c22b803a.js} +35 -35
- package/es/{el-loading-84dde1a8.cjs → el-loading-8179b497.cjs} +1 -1
- package/es/{el-loading-9b671203.js → el-loading-bcc51e3d.js} +1 -1
- package/es/{el-menu-item-535fef90.js → el-menu-item-339baf6d.js} +21 -21
- package/es/{el-menu-item-4531fd0e.cjs → el-menu-item-83186444.cjs} +1 -1
- package/es/{el-message-box-621ed2f1.js → el-message-box-035b699c.js} +9 -9
- package/es/{el-message-box-f5717070.cjs → el-message-box-c62d3217.cjs} +1 -1
- package/es/{el-overlay-23de4324.js → el-overlay-3e17604b.js} +3 -3
- package/es/{el-overlay-151708cb.cjs → el-overlay-8f1da9e8.cjs} +1 -1
- package/es/{el-popconfirm-b8aa490e.cjs → el-popconfirm-4e32ec1b.cjs} +1 -1
- package/es/{el-popconfirm-bcff0aa5.js → el-popconfirm-f8a86e2c.js} +4 -4
- package/es/{el-popper-43ec37f4.cjs → el-popper-a4f3ae4d.cjs} +1 -1
- package/es/{el-popper-03988662.js → el-popper-fbd0dcea.js} +1 -1
- package/es/{el-segmented-db3a86be.js → el-segmented-56bd58a8.js} +2 -2
- package/es/{el-segmented-79a1367c.cjs → el-segmented-833ac177.cjs} +1 -1
- package/es/{el-select-4bd0010d.js → el-select-44fa547d.js} +8 -8
- package/es/{el-select-ec04e7ce.cjs → el-select-70806166.cjs} +1 -1
- package/es/{el-table-column-35e47229.cjs → el-table-column-3e2cdfca.cjs} +1 -1
- package/es/{el-table-column-7af2bec7.js → el-table-column-b74a857d.js} +9 -9
- package/es/{el-tag-bef9e83d.js → el-tag-66c83156.js} +2 -2
- package/es/{el-tag-5d5608e0.cjs → el-tag-9c2f329f.cjs} +1 -1
- package/es/{el-text-f998902c.js → el-text-034bd3f4.js} +1 -1
- package/es/{el-text-abf10fdf.cjs → el-text-6b2374bb.cjs} +1 -1
- package/es/index-00f6ca75.cjs +1 -0
- package/es/{index-a00e0534.cjs → index-185792a7.cjs} +1 -1
- package/es/{index-d1b554ac.js → index-1e2a38ab.js} +2 -2
- package/es/{index-f3f6ee27.js → index-27416486.js} +9 -9
- package/es/{index-2d7ac156.cjs → index-47c9eb63.cjs} +2 -2
- package/es/{index-0986e373.cjs → index-4cd74df9.cjs} +1 -1
- package/es/{index-ce21e2ce.js → index-5216d5f5.js} +5 -5
- package/es/{index-cfcd60ca.cjs → index-5c0dd943.cjs} +1 -1
- package/es/{index-cfd00899.cjs → index-870b6c9d.cjs} +1 -1
- package/es/{index-a83ec4b7.js → index-8c2d7e05.js} +1 -1
- package/es/{index-db846633.cjs → index-9d16cea8.cjs} +1 -1
- package/es/{index-936e7dec.js → index-a9785a4f.js} +1 -1
- package/es/{index-60c69dd1.cjs → index-ac8dc53d.cjs} +1 -1
- package/es/{index-102edf6c.js → index-c5f2d372.js} +2 -2
- package/es/{index-6290ae0f.js → index-c6584658.js} +2 -2
- package/es/{index-5c44d71a.js → index-eb96e074.js} +149 -119
- package/es/{index-5ed42e9c.js → index-f034b910.js} +2 -2
- package/es/{index-c58e90e9.cjs → index-f58b2920.cjs} +1 -1
- package/es/{python-71f59893.cjs → python-2623e545.cjs} +1 -1
- package/es/{python-6cc6ec1b.js → python-85a62852.js} +17 -17
- package/es/style.css +1 -1
- package/es/{use-form-common-props-02be4928.cjs → use-form-common-props-ac666630.cjs} +1 -1
- package/es/{use-form-common-props-76a09d89.js → use-form-common-props-ed72e914.js} +11 -11
- package/es/{use-global-config-31b3ec57.cjs → use-global-config-23472471.cjs} +1 -1
- package/es/{use-global-config-0f43458b.js → use-global-config-ee406d58.js} +2 -2
- package/es/{validator-ea292506.cjs → validator-366dbf39.cjs} +1 -1
- package/es/{validator-0e037618.js → validator-c60a8956.js} +1 -1
- package/es/{zh-cn-1227eb8a.js → zh-cn-b59a0910.js} +1 -1
- package/es/{zh-cn-0edc7234.cjs → zh-cn-c21d12d8.cjs} +1 -1
- package/introduce.md +41 -0
- package/lib/aiTools.js +4 -0
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +189 -189
- package/lib/{index-8b55d8c8.js → index-72506c43.js} +20695 -20434
- package/lib/{python-f164f783.js → python-d3119b5a.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +9 -2
- package/packages/CustomFunction/components/ManageDialog.vue +300 -3
- package/packages/VarietyAiHelper/index.vue +42 -6
- package/public/aiTools.js +4 -0
- package/src/App.vue +16 -16
- package/tests/components/ChartLayout.spec.ts +67 -0
- package/tests/components/ConfigProvider.spec.ts +99 -0
- package/tests/components/Contextmenu.spec.ts +79 -0
- package/tests/components/CustomFunction.spec.ts +185 -0
- package/tests/components/FactorWarning.spec.ts +287 -0
- package/tests/components/HeatMap.spec.ts +83 -0
- package/tests/components/Kline.spec.ts +140 -0
- package/tests/components/Kline2.spec.ts +311 -0
- package/tests/components/KlineBasic.spec.ts +429 -0
- package/tests/components/KlineConfig.spec.ts +278 -0
- package/tests/components/KlineNew.spec.ts +278 -0
- package/tests/components/KlinePlus.spec.ts +284 -0
- package/tests/components/LinearLegend.spec.ts +69 -0
- package/tests/components/ManageDialog.spec.ts +253 -0
- package/tests/components/Map.spec.ts +71 -0
- package/tests/components/MonacoEditor.spec.ts +530 -0
- package/tests/components/Pagination.spec.ts +59 -0
- package/tests/components/PasswordPrompt.spec.ts +72 -0
- package/tests/components/Pie.spec.ts +96 -0
- package/tests/components/Table.spec.ts +186 -0
- package/tests/components/TreeMap.spec.ts +100 -0
- package/tests/components/User.spec.ts +130 -0
- package/tests/components/VarSelectDialog.spec.ts +131 -0
- package/tests/components/VarietyAiHelper.spec.ts +164 -0
- package/tests/components/VarietyAutoComplete.spec.ts +110 -0
- package/tests/components/VarietySearch.spec.ts +526 -0
- package/tests/components/VarietyTextCopy.spec.ts +86 -0
- package/tests/components/VirtualTable.spec.ts +285 -0
- package/tests/helpers/mountWithPlugins.ts +19 -0
- package/tests/mocks/echarts.kline.mock.ts +41 -0
- package/tests/mocks/echarts.mock.ts +38 -0
- package/tests/mocks/monaco.mock.ts +37 -0
- package/tests/mocks/st-func.mock.ts +52 -0
- package/tests/mocks/talib.mock.ts +13 -0
- package/tests/setup.ts +65 -0
- package/tests/smoke.spec.ts +12 -0
- package/vitest.config.ts +56 -0
- package/workflow.md +33 -0
- package/es/aiTools-9fd42de8.cjs +0 -2
- package/es/index-476c4459.cjs +0 -1
|
@@ -0,0 +1,3286 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for KlinePlus/index.vue</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../index.html">All files</a> / <a href="index.html">KlinePlus</a> index.vue</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">73.94% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>789/1067</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">68% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>68/100</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">48.14% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>13/27</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">73.94% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>789/1067</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line medium'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
+
<a name='L448'></a><a href='#L448'>448</a>
|
|
514
|
+
<a name='L449'></a><a href='#L449'>449</a>
|
|
515
|
+
<a name='L450'></a><a href='#L450'>450</a>
|
|
516
|
+
<a name='L451'></a><a href='#L451'>451</a>
|
|
517
|
+
<a name='L452'></a><a href='#L452'>452</a>
|
|
518
|
+
<a name='L453'></a><a href='#L453'>453</a>
|
|
519
|
+
<a name='L454'></a><a href='#L454'>454</a>
|
|
520
|
+
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
+
<a name='L456'></a><a href='#L456'>456</a>
|
|
522
|
+
<a name='L457'></a><a href='#L457'>457</a>
|
|
523
|
+
<a name='L458'></a><a href='#L458'>458</a>
|
|
524
|
+
<a name='L459'></a><a href='#L459'>459</a>
|
|
525
|
+
<a name='L460'></a><a href='#L460'>460</a>
|
|
526
|
+
<a name='L461'></a><a href='#L461'>461</a>
|
|
527
|
+
<a name='L462'></a><a href='#L462'>462</a>
|
|
528
|
+
<a name='L463'></a><a href='#L463'>463</a>
|
|
529
|
+
<a name='L464'></a><a href='#L464'>464</a>
|
|
530
|
+
<a name='L465'></a><a href='#L465'>465</a>
|
|
531
|
+
<a name='L466'></a><a href='#L466'>466</a>
|
|
532
|
+
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
|
+
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
|
+
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
+
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
+
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
+
<a name='L472'></a><a href='#L472'>472</a>
|
|
538
|
+
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
+
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
+
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
+
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
+
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
+
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
+
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
+
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
+
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
+
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
+
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
+
<a name='L484'></a><a href='#L484'>484</a>
|
|
550
|
+
<a name='L485'></a><a href='#L485'>485</a>
|
|
551
|
+
<a name='L486'></a><a href='#L486'>486</a>
|
|
552
|
+
<a name='L487'></a><a href='#L487'>487</a>
|
|
553
|
+
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
|
+
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
|
+
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
+
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
+
<a name='L492'></a><a href='#L492'>492</a>
|
|
558
|
+
<a name='L493'></a><a href='#L493'>493</a>
|
|
559
|
+
<a name='L494'></a><a href='#L494'>494</a>
|
|
560
|
+
<a name='L495'></a><a href='#L495'>495</a>
|
|
561
|
+
<a name='L496'></a><a href='#L496'>496</a>
|
|
562
|
+
<a name='L497'></a><a href='#L497'>497</a>
|
|
563
|
+
<a name='L498'></a><a href='#L498'>498</a>
|
|
564
|
+
<a name='L499'></a><a href='#L499'>499</a>
|
|
565
|
+
<a name='L500'></a><a href='#L500'>500</a>
|
|
566
|
+
<a name='L501'></a><a href='#L501'>501</a>
|
|
567
|
+
<a name='L502'></a><a href='#L502'>502</a>
|
|
568
|
+
<a name='L503'></a><a href='#L503'>503</a>
|
|
569
|
+
<a name='L504'></a><a href='#L504'>504</a>
|
|
570
|
+
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
|
+
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
|
+
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
+
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
+
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
+
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
+
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
+
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
+
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
+
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
+
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
+
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
+
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
+
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
+
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
+
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
+
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
+
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
+
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
+
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
+
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
+
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
+
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
+
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
+
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
+
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
+
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
+
<a name='L532'></a><a href='#L532'>532</a>
|
|
598
|
+
<a name='L533'></a><a href='#L533'>533</a>
|
|
599
|
+
<a name='L534'></a><a href='#L534'>534</a>
|
|
600
|
+
<a name='L535'></a><a href='#L535'>535</a>
|
|
601
|
+
<a name='L536'></a><a href='#L536'>536</a>
|
|
602
|
+
<a name='L537'></a><a href='#L537'>537</a>
|
|
603
|
+
<a name='L538'></a><a href='#L538'>538</a>
|
|
604
|
+
<a name='L539'></a><a href='#L539'>539</a>
|
|
605
|
+
<a name='L540'></a><a href='#L540'>540</a>
|
|
606
|
+
<a name='L541'></a><a href='#L541'>541</a>
|
|
607
|
+
<a name='L542'></a><a href='#L542'>542</a>
|
|
608
|
+
<a name='L543'></a><a href='#L543'>543</a>
|
|
609
|
+
<a name='L544'></a><a href='#L544'>544</a>
|
|
610
|
+
<a name='L545'></a><a href='#L545'>545</a>
|
|
611
|
+
<a name='L546'></a><a href='#L546'>546</a>
|
|
612
|
+
<a name='L547'></a><a href='#L547'>547</a>
|
|
613
|
+
<a name='L548'></a><a href='#L548'>548</a>
|
|
614
|
+
<a name='L549'></a><a href='#L549'>549</a>
|
|
615
|
+
<a name='L550'></a><a href='#L550'>550</a>
|
|
616
|
+
<a name='L551'></a><a href='#L551'>551</a>
|
|
617
|
+
<a name='L552'></a><a href='#L552'>552</a>
|
|
618
|
+
<a name='L553'></a><a href='#L553'>553</a>
|
|
619
|
+
<a name='L554'></a><a href='#L554'>554</a>
|
|
620
|
+
<a name='L555'></a><a href='#L555'>555</a>
|
|
621
|
+
<a name='L556'></a><a href='#L556'>556</a>
|
|
622
|
+
<a name='L557'></a><a href='#L557'>557</a>
|
|
623
|
+
<a name='L558'></a><a href='#L558'>558</a>
|
|
624
|
+
<a name='L559'></a><a href='#L559'>559</a>
|
|
625
|
+
<a name='L560'></a><a href='#L560'>560</a>
|
|
626
|
+
<a name='L561'></a><a href='#L561'>561</a>
|
|
627
|
+
<a name='L562'></a><a href='#L562'>562</a>
|
|
628
|
+
<a name='L563'></a><a href='#L563'>563</a>
|
|
629
|
+
<a name='L564'></a><a href='#L564'>564</a>
|
|
630
|
+
<a name='L565'></a><a href='#L565'>565</a>
|
|
631
|
+
<a name='L566'></a><a href='#L566'>566</a>
|
|
632
|
+
<a name='L567'></a><a href='#L567'>567</a>
|
|
633
|
+
<a name='L568'></a><a href='#L568'>568</a>
|
|
634
|
+
<a name='L569'></a><a href='#L569'>569</a>
|
|
635
|
+
<a name='L570'></a><a href='#L570'>570</a>
|
|
636
|
+
<a name='L571'></a><a href='#L571'>571</a>
|
|
637
|
+
<a name='L572'></a><a href='#L572'>572</a>
|
|
638
|
+
<a name='L573'></a><a href='#L573'>573</a>
|
|
639
|
+
<a name='L574'></a><a href='#L574'>574</a>
|
|
640
|
+
<a name='L575'></a><a href='#L575'>575</a>
|
|
641
|
+
<a name='L576'></a><a href='#L576'>576</a>
|
|
642
|
+
<a name='L577'></a><a href='#L577'>577</a>
|
|
643
|
+
<a name='L578'></a><a href='#L578'>578</a>
|
|
644
|
+
<a name='L579'></a><a href='#L579'>579</a>
|
|
645
|
+
<a name='L580'></a><a href='#L580'>580</a>
|
|
646
|
+
<a name='L581'></a><a href='#L581'>581</a>
|
|
647
|
+
<a name='L582'></a><a href='#L582'>582</a>
|
|
648
|
+
<a name='L583'></a><a href='#L583'>583</a>
|
|
649
|
+
<a name='L584'></a><a href='#L584'>584</a>
|
|
650
|
+
<a name='L585'></a><a href='#L585'>585</a>
|
|
651
|
+
<a name='L586'></a><a href='#L586'>586</a>
|
|
652
|
+
<a name='L587'></a><a href='#L587'>587</a>
|
|
653
|
+
<a name='L588'></a><a href='#L588'>588</a>
|
|
654
|
+
<a name='L589'></a><a href='#L589'>589</a>
|
|
655
|
+
<a name='L590'></a><a href='#L590'>590</a>
|
|
656
|
+
<a name='L591'></a><a href='#L591'>591</a>
|
|
657
|
+
<a name='L592'></a><a href='#L592'>592</a>
|
|
658
|
+
<a name='L593'></a><a href='#L593'>593</a>
|
|
659
|
+
<a name='L594'></a><a href='#L594'>594</a>
|
|
660
|
+
<a name='L595'></a><a href='#L595'>595</a>
|
|
661
|
+
<a name='L596'></a><a href='#L596'>596</a>
|
|
662
|
+
<a name='L597'></a><a href='#L597'>597</a>
|
|
663
|
+
<a name='L598'></a><a href='#L598'>598</a>
|
|
664
|
+
<a name='L599'></a><a href='#L599'>599</a>
|
|
665
|
+
<a name='L600'></a><a href='#L600'>600</a>
|
|
666
|
+
<a name='L601'></a><a href='#L601'>601</a>
|
|
667
|
+
<a name='L602'></a><a href='#L602'>602</a>
|
|
668
|
+
<a name='L603'></a><a href='#L603'>603</a>
|
|
669
|
+
<a name='L604'></a><a href='#L604'>604</a>
|
|
670
|
+
<a name='L605'></a><a href='#L605'>605</a>
|
|
671
|
+
<a name='L606'></a><a href='#L606'>606</a>
|
|
672
|
+
<a name='L607'></a><a href='#L607'>607</a>
|
|
673
|
+
<a name='L608'></a><a href='#L608'>608</a>
|
|
674
|
+
<a name='L609'></a><a href='#L609'>609</a>
|
|
675
|
+
<a name='L610'></a><a href='#L610'>610</a>
|
|
676
|
+
<a name='L611'></a><a href='#L611'>611</a>
|
|
677
|
+
<a name='L612'></a><a href='#L612'>612</a>
|
|
678
|
+
<a name='L613'></a><a href='#L613'>613</a>
|
|
679
|
+
<a name='L614'></a><a href='#L614'>614</a>
|
|
680
|
+
<a name='L615'></a><a href='#L615'>615</a>
|
|
681
|
+
<a name='L616'></a><a href='#L616'>616</a>
|
|
682
|
+
<a name='L617'></a><a href='#L617'>617</a>
|
|
683
|
+
<a name='L618'></a><a href='#L618'>618</a>
|
|
684
|
+
<a name='L619'></a><a href='#L619'>619</a>
|
|
685
|
+
<a name='L620'></a><a href='#L620'>620</a>
|
|
686
|
+
<a name='L621'></a><a href='#L621'>621</a>
|
|
687
|
+
<a name='L622'></a><a href='#L622'>622</a>
|
|
688
|
+
<a name='L623'></a><a href='#L623'>623</a>
|
|
689
|
+
<a name='L624'></a><a href='#L624'>624</a>
|
|
690
|
+
<a name='L625'></a><a href='#L625'>625</a>
|
|
691
|
+
<a name='L626'></a><a href='#L626'>626</a>
|
|
692
|
+
<a name='L627'></a><a href='#L627'>627</a>
|
|
693
|
+
<a name='L628'></a><a href='#L628'>628</a>
|
|
694
|
+
<a name='L629'></a><a href='#L629'>629</a>
|
|
695
|
+
<a name='L630'></a><a href='#L630'>630</a>
|
|
696
|
+
<a name='L631'></a><a href='#L631'>631</a>
|
|
697
|
+
<a name='L632'></a><a href='#L632'>632</a>
|
|
698
|
+
<a name='L633'></a><a href='#L633'>633</a>
|
|
699
|
+
<a name='L634'></a><a href='#L634'>634</a>
|
|
700
|
+
<a name='L635'></a><a href='#L635'>635</a>
|
|
701
|
+
<a name='L636'></a><a href='#L636'>636</a>
|
|
702
|
+
<a name='L637'></a><a href='#L637'>637</a>
|
|
703
|
+
<a name='L638'></a><a href='#L638'>638</a>
|
|
704
|
+
<a name='L639'></a><a href='#L639'>639</a>
|
|
705
|
+
<a name='L640'></a><a href='#L640'>640</a>
|
|
706
|
+
<a name='L641'></a><a href='#L641'>641</a>
|
|
707
|
+
<a name='L642'></a><a href='#L642'>642</a>
|
|
708
|
+
<a name='L643'></a><a href='#L643'>643</a>
|
|
709
|
+
<a name='L644'></a><a href='#L644'>644</a>
|
|
710
|
+
<a name='L645'></a><a href='#L645'>645</a>
|
|
711
|
+
<a name='L646'></a><a href='#L646'>646</a>
|
|
712
|
+
<a name='L647'></a><a href='#L647'>647</a>
|
|
713
|
+
<a name='L648'></a><a href='#L648'>648</a>
|
|
714
|
+
<a name='L649'></a><a href='#L649'>649</a>
|
|
715
|
+
<a name='L650'></a><a href='#L650'>650</a>
|
|
716
|
+
<a name='L651'></a><a href='#L651'>651</a>
|
|
717
|
+
<a name='L652'></a><a href='#L652'>652</a>
|
|
718
|
+
<a name='L653'></a><a href='#L653'>653</a>
|
|
719
|
+
<a name='L654'></a><a href='#L654'>654</a>
|
|
720
|
+
<a name='L655'></a><a href='#L655'>655</a>
|
|
721
|
+
<a name='L656'></a><a href='#L656'>656</a>
|
|
722
|
+
<a name='L657'></a><a href='#L657'>657</a>
|
|
723
|
+
<a name='L658'></a><a href='#L658'>658</a>
|
|
724
|
+
<a name='L659'></a><a href='#L659'>659</a>
|
|
725
|
+
<a name='L660'></a><a href='#L660'>660</a>
|
|
726
|
+
<a name='L661'></a><a href='#L661'>661</a>
|
|
727
|
+
<a name='L662'></a><a href='#L662'>662</a>
|
|
728
|
+
<a name='L663'></a><a href='#L663'>663</a>
|
|
729
|
+
<a name='L664'></a><a href='#L664'>664</a>
|
|
730
|
+
<a name='L665'></a><a href='#L665'>665</a>
|
|
731
|
+
<a name='L666'></a><a href='#L666'>666</a>
|
|
732
|
+
<a name='L667'></a><a href='#L667'>667</a>
|
|
733
|
+
<a name='L668'></a><a href='#L668'>668</a>
|
|
734
|
+
<a name='L669'></a><a href='#L669'>669</a>
|
|
735
|
+
<a name='L670'></a><a href='#L670'>670</a>
|
|
736
|
+
<a name='L671'></a><a href='#L671'>671</a>
|
|
737
|
+
<a name='L672'></a><a href='#L672'>672</a>
|
|
738
|
+
<a name='L673'></a><a href='#L673'>673</a>
|
|
739
|
+
<a name='L674'></a><a href='#L674'>674</a>
|
|
740
|
+
<a name='L675'></a><a href='#L675'>675</a>
|
|
741
|
+
<a name='L676'></a><a href='#L676'>676</a>
|
|
742
|
+
<a name='L677'></a><a href='#L677'>677</a>
|
|
743
|
+
<a name='L678'></a><a href='#L678'>678</a>
|
|
744
|
+
<a name='L679'></a><a href='#L679'>679</a>
|
|
745
|
+
<a name='L680'></a><a href='#L680'>680</a>
|
|
746
|
+
<a name='L681'></a><a href='#L681'>681</a>
|
|
747
|
+
<a name='L682'></a><a href='#L682'>682</a>
|
|
748
|
+
<a name='L683'></a><a href='#L683'>683</a>
|
|
749
|
+
<a name='L684'></a><a href='#L684'>684</a>
|
|
750
|
+
<a name='L685'></a><a href='#L685'>685</a>
|
|
751
|
+
<a name='L686'></a><a href='#L686'>686</a>
|
|
752
|
+
<a name='L687'></a><a href='#L687'>687</a>
|
|
753
|
+
<a name='L688'></a><a href='#L688'>688</a>
|
|
754
|
+
<a name='L689'></a><a href='#L689'>689</a>
|
|
755
|
+
<a name='L690'></a><a href='#L690'>690</a>
|
|
756
|
+
<a name='L691'></a><a href='#L691'>691</a>
|
|
757
|
+
<a name='L692'></a><a href='#L692'>692</a>
|
|
758
|
+
<a name='L693'></a><a href='#L693'>693</a>
|
|
759
|
+
<a name='L694'></a><a href='#L694'>694</a>
|
|
760
|
+
<a name='L695'></a><a href='#L695'>695</a>
|
|
761
|
+
<a name='L696'></a><a href='#L696'>696</a>
|
|
762
|
+
<a name='L697'></a><a href='#L697'>697</a>
|
|
763
|
+
<a name='L698'></a><a href='#L698'>698</a>
|
|
764
|
+
<a name='L699'></a><a href='#L699'>699</a>
|
|
765
|
+
<a name='L700'></a><a href='#L700'>700</a>
|
|
766
|
+
<a name='L701'></a><a href='#L701'>701</a>
|
|
767
|
+
<a name='L702'></a><a href='#L702'>702</a>
|
|
768
|
+
<a name='L703'></a><a href='#L703'>703</a>
|
|
769
|
+
<a name='L704'></a><a href='#L704'>704</a>
|
|
770
|
+
<a name='L705'></a><a href='#L705'>705</a>
|
|
771
|
+
<a name='L706'></a><a href='#L706'>706</a>
|
|
772
|
+
<a name='L707'></a><a href='#L707'>707</a>
|
|
773
|
+
<a name='L708'></a><a href='#L708'>708</a>
|
|
774
|
+
<a name='L709'></a><a href='#L709'>709</a>
|
|
775
|
+
<a name='L710'></a><a href='#L710'>710</a>
|
|
776
|
+
<a name='L711'></a><a href='#L711'>711</a>
|
|
777
|
+
<a name='L712'></a><a href='#L712'>712</a>
|
|
778
|
+
<a name='L713'></a><a href='#L713'>713</a>
|
|
779
|
+
<a name='L714'></a><a href='#L714'>714</a>
|
|
780
|
+
<a name='L715'></a><a href='#L715'>715</a>
|
|
781
|
+
<a name='L716'></a><a href='#L716'>716</a>
|
|
782
|
+
<a name='L717'></a><a href='#L717'>717</a>
|
|
783
|
+
<a name='L718'></a><a href='#L718'>718</a>
|
|
784
|
+
<a name='L719'></a><a href='#L719'>719</a>
|
|
785
|
+
<a name='L720'></a><a href='#L720'>720</a>
|
|
786
|
+
<a name='L721'></a><a href='#L721'>721</a>
|
|
787
|
+
<a name='L722'></a><a href='#L722'>722</a>
|
|
788
|
+
<a name='L723'></a><a href='#L723'>723</a>
|
|
789
|
+
<a name='L724'></a><a href='#L724'>724</a>
|
|
790
|
+
<a name='L725'></a><a href='#L725'>725</a>
|
|
791
|
+
<a name='L726'></a><a href='#L726'>726</a>
|
|
792
|
+
<a name='L727'></a><a href='#L727'>727</a>
|
|
793
|
+
<a name='L728'></a><a href='#L728'>728</a>
|
|
794
|
+
<a name='L729'></a><a href='#L729'>729</a>
|
|
795
|
+
<a name='L730'></a><a href='#L730'>730</a>
|
|
796
|
+
<a name='L731'></a><a href='#L731'>731</a>
|
|
797
|
+
<a name='L732'></a><a href='#L732'>732</a>
|
|
798
|
+
<a name='L733'></a><a href='#L733'>733</a>
|
|
799
|
+
<a name='L734'></a><a href='#L734'>734</a>
|
|
800
|
+
<a name='L735'></a><a href='#L735'>735</a>
|
|
801
|
+
<a name='L736'></a><a href='#L736'>736</a>
|
|
802
|
+
<a name='L737'></a><a href='#L737'>737</a>
|
|
803
|
+
<a name='L738'></a><a href='#L738'>738</a>
|
|
804
|
+
<a name='L739'></a><a href='#L739'>739</a>
|
|
805
|
+
<a name='L740'></a><a href='#L740'>740</a>
|
|
806
|
+
<a name='L741'></a><a href='#L741'>741</a>
|
|
807
|
+
<a name='L742'></a><a href='#L742'>742</a>
|
|
808
|
+
<a name='L743'></a><a href='#L743'>743</a>
|
|
809
|
+
<a name='L744'></a><a href='#L744'>744</a>
|
|
810
|
+
<a name='L745'></a><a href='#L745'>745</a>
|
|
811
|
+
<a name='L746'></a><a href='#L746'>746</a>
|
|
812
|
+
<a name='L747'></a><a href='#L747'>747</a>
|
|
813
|
+
<a name='L748'></a><a href='#L748'>748</a>
|
|
814
|
+
<a name='L749'></a><a href='#L749'>749</a>
|
|
815
|
+
<a name='L750'></a><a href='#L750'>750</a>
|
|
816
|
+
<a name='L751'></a><a href='#L751'>751</a>
|
|
817
|
+
<a name='L752'></a><a href='#L752'>752</a>
|
|
818
|
+
<a name='L753'></a><a href='#L753'>753</a>
|
|
819
|
+
<a name='L754'></a><a href='#L754'>754</a>
|
|
820
|
+
<a name='L755'></a><a href='#L755'>755</a>
|
|
821
|
+
<a name='L756'></a><a href='#L756'>756</a>
|
|
822
|
+
<a name='L757'></a><a href='#L757'>757</a>
|
|
823
|
+
<a name='L758'></a><a href='#L758'>758</a>
|
|
824
|
+
<a name='L759'></a><a href='#L759'>759</a>
|
|
825
|
+
<a name='L760'></a><a href='#L760'>760</a>
|
|
826
|
+
<a name='L761'></a><a href='#L761'>761</a>
|
|
827
|
+
<a name='L762'></a><a href='#L762'>762</a>
|
|
828
|
+
<a name='L763'></a><a href='#L763'>763</a>
|
|
829
|
+
<a name='L764'></a><a href='#L764'>764</a>
|
|
830
|
+
<a name='L765'></a><a href='#L765'>765</a>
|
|
831
|
+
<a name='L766'></a><a href='#L766'>766</a>
|
|
832
|
+
<a name='L767'></a><a href='#L767'>767</a>
|
|
833
|
+
<a name='L768'></a><a href='#L768'>768</a>
|
|
834
|
+
<a name='L769'></a><a href='#L769'>769</a>
|
|
835
|
+
<a name='L770'></a><a href='#L770'>770</a>
|
|
836
|
+
<a name='L771'></a><a href='#L771'>771</a>
|
|
837
|
+
<a name='L772'></a><a href='#L772'>772</a>
|
|
838
|
+
<a name='L773'></a><a href='#L773'>773</a>
|
|
839
|
+
<a name='L774'></a><a href='#L774'>774</a>
|
|
840
|
+
<a name='L775'></a><a href='#L775'>775</a>
|
|
841
|
+
<a name='L776'></a><a href='#L776'>776</a>
|
|
842
|
+
<a name='L777'></a><a href='#L777'>777</a>
|
|
843
|
+
<a name='L778'></a><a href='#L778'>778</a>
|
|
844
|
+
<a name='L779'></a><a href='#L779'>779</a>
|
|
845
|
+
<a name='L780'></a><a href='#L780'>780</a>
|
|
846
|
+
<a name='L781'></a><a href='#L781'>781</a>
|
|
847
|
+
<a name='L782'></a><a href='#L782'>782</a>
|
|
848
|
+
<a name='L783'></a><a href='#L783'>783</a>
|
|
849
|
+
<a name='L784'></a><a href='#L784'>784</a>
|
|
850
|
+
<a name='L785'></a><a href='#L785'>785</a>
|
|
851
|
+
<a name='L786'></a><a href='#L786'>786</a>
|
|
852
|
+
<a name='L787'></a><a href='#L787'>787</a>
|
|
853
|
+
<a name='L788'></a><a href='#L788'>788</a>
|
|
854
|
+
<a name='L789'></a><a href='#L789'>789</a>
|
|
855
|
+
<a name='L790'></a><a href='#L790'>790</a>
|
|
856
|
+
<a name='L791'></a><a href='#L791'>791</a>
|
|
857
|
+
<a name='L792'></a><a href='#L792'>792</a>
|
|
858
|
+
<a name='L793'></a><a href='#L793'>793</a>
|
|
859
|
+
<a name='L794'></a><a href='#L794'>794</a>
|
|
860
|
+
<a name='L795'></a><a href='#L795'>795</a>
|
|
861
|
+
<a name='L796'></a><a href='#L796'>796</a>
|
|
862
|
+
<a name='L797'></a><a href='#L797'>797</a>
|
|
863
|
+
<a name='L798'></a><a href='#L798'>798</a>
|
|
864
|
+
<a name='L799'></a><a href='#L799'>799</a>
|
|
865
|
+
<a name='L800'></a><a href='#L800'>800</a>
|
|
866
|
+
<a name='L801'></a><a href='#L801'>801</a>
|
|
867
|
+
<a name='L802'></a><a href='#L802'>802</a>
|
|
868
|
+
<a name='L803'></a><a href='#L803'>803</a>
|
|
869
|
+
<a name='L804'></a><a href='#L804'>804</a>
|
|
870
|
+
<a name='L805'></a><a href='#L805'>805</a>
|
|
871
|
+
<a name='L806'></a><a href='#L806'>806</a>
|
|
872
|
+
<a name='L807'></a><a href='#L807'>807</a>
|
|
873
|
+
<a name='L808'></a><a href='#L808'>808</a>
|
|
874
|
+
<a name='L809'></a><a href='#L809'>809</a>
|
|
875
|
+
<a name='L810'></a><a href='#L810'>810</a>
|
|
876
|
+
<a name='L811'></a><a href='#L811'>811</a>
|
|
877
|
+
<a name='L812'></a><a href='#L812'>812</a>
|
|
878
|
+
<a name='L813'></a><a href='#L813'>813</a>
|
|
879
|
+
<a name='L814'></a><a href='#L814'>814</a>
|
|
880
|
+
<a name='L815'></a><a href='#L815'>815</a>
|
|
881
|
+
<a name='L816'></a><a href='#L816'>816</a>
|
|
882
|
+
<a name='L817'></a><a href='#L817'>817</a>
|
|
883
|
+
<a name='L818'></a><a href='#L818'>818</a>
|
|
884
|
+
<a name='L819'></a><a href='#L819'>819</a>
|
|
885
|
+
<a name='L820'></a><a href='#L820'>820</a>
|
|
886
|
+
<a name='L821'></a><a href='#L821'>821</a>
|
|
887
|
+
<a name='L822'></a><a href='#L822'>822</a>
|
|
888
|
+
<a name='L823'></a><a href='#L823'>823</a>
|
|
889
|
+
<a name='L824'></a><a href='#L824'>824</a>
|
|
890
|
+
<a name='L825'></a><a href='#L825'>825</a>
|
|
891
|
+
<a name='L826'></a><a href='#L826'>826</a>
|
|
892
|
+
<a name='L827'></a><a href='#L827'>827</a>
|
|
893
|
+
<a name='L828'></a><a href='#L828'>828</a>
|
|
894
|
+
<a name='L829'></a><a href='#L829'>829</a>
|
|
895
|
+
<a name='L830'></a><a href='#L830'>830</a>
|
|
896
|
+
<a name='L831'></a><a href='#L831'>831</a>
|
|
897
|
+
<a name='L832'></a><a href='#L832'>832</a>
|
|
898
|
+
<a name='L833'></a><a href='#L833'>833</a>
|
|
899
|
+
<a name='L834'></a><a href='#L834'>834</a>
|
|
900
|
+
<a name='L835'></a><a href='#L835'>835</a>
|
|
901
|
+
<a name='L836'></a><a href='#L836'>836</a>
|
|
902
|
+
<a name='L837'></a><a href='#L837'>837</a>
|
|
903
|
+
<a name='L838'></a><a href='#L838'>838</a>
|
|
904
|
+
<a name='L839'></a><a href='#L839'>839</a>
|
|
905
|
+
<a name='L840'></a><a href='#L840'>840</a>
|
|
906
|
+
<a name='L841'></a><a href='#L841'>841</a>
|
|
907
|
+
<a name='L842'></a><a href='#L842'>842</a>
|
|
908
|
+
<a name='L843'></a><a href='#L843'>843</a>
|
|
909
|
+
<a name='L844'></a><a href='#L844'>844</a>
|
|
910
|
+
<a name='L845'></a><a href='#L845'>845</a>
|
|
911
|
+
<a name='L846'></a><a href='#L846'>846</a>
|
|
912
|
+
<a name='L847'></a><a href='#L847'>847</a>
|
|
913
|
+
<a name='L848'></a><a href='#L848'>848</a>
|
|
914
|
+
<a name='L849'></a><a href='#L849'>849</a>
|
|
915
|
+
<a name='L850'></a><a href='#L850'>850</a>
|
|
916
|
+
<a name='L851'></a><a href='#L851'>851</a>
|
|
917
|
+
<a name='L852'></a><a href='#L852'>852</a>
|
|
918
|
+
<a name='L853'></a><a href='#L853'>853</a>
|
|
919
|
+
<a name='L854'></a><a href='#L854'>854</a>
|
|
920
|
+
<a name='L855'></a><a href='#L855'>855</a>
|
|
921
|
+
<a name='L856'></a><a href='#L856'>856</a>
|
|
922
|
+
<a name='L857'></a><a href='#L857'>857</a>
|
|
923
|
+
<a name='L858'></a><a href='#L858'>858</a>
|
|
924
|
+
<a name='L859'></a><a href='#L859'>859</a>
|
|
925
|
+
<a name='L860'></a><a href='#L860'>860</a>
|
|
926
|
+
<a name='L861'></a><a href='#L861'>861</a>
|
|
927
|
+
<a name='L862'></a><a href='#L862'>862</a>
|
|
928
|
+
<a name='L863'></a><a href='#L863'>863</a>
|
|
929
|
+
<a name='L864'></a><a href='#L864'>864</a>
|
|
930
|
+
<a name='L865'></a><a href='#L865'>865</a>
|
|
931
|
+
<a name='L866'></a><a href='#L866'>866</a>
|
|
932
|
+
<a name='L867'></a><a href='#L867'>867</a>
|
|
933
|
+
<a name='L868'></a><a href='#L868'>868</a>
|
|
934
|
+
<a name='L869'></a><a href='#L869'>869</a>
|
|
935
|
+
<a name='L870'></a><a href='#L870'>870</a>
|
|
936
|
+
<a name='L871'></a><a href='#L871'>871</a>
|
|
937
|
+
<a name='L872'></a><a href='#L872'>872</a>
|
|
938
|
+
<a name='L873'></a><a href='#L873'>873</a>
|
|
939
|
+
<a name='L874'></a><a href='#L874'>874</a>
|
|
940
|
+
<a name='L875'></a><a href='#L875'>875</a>
|
|
941
|
+
<a name='L876'></a><a href='#L876'>876</a>
|
|
942
|
+
<a name='L877'></a><a href='#L877'>877</a>
|
|
943
|
+
<a name='L878'></a><a href='#L878'>878</a>
|
|
944
|
+
<a name='L879'></a><a href='#L879'>879</a>
|
|
945
|
+
<a name='L880'></a><a href='#L880'>880</a>
|
|
946
|
+
<a name='L881'></a><a href='#L881'>881</a>
|
|
947
|
+
<a name='L882'></a><a href='#L882'>882</a>
|
|
948
|
+
<a name='L883'></a><a href='#L883'>883</a>
|
|
949
|
+
<a name='L884'></a><a href='#L884'>884</a>
|
|
950
|
+
<a name='L885'></a><a href='#L885'>885</a>
|
|
951
|
+
<a name='L886'></a><a href='#L886'>886</a>
|
|
952
|
+
<a name='L887'></a><a href='#L887'>887</a>
|
|
953
|
+
<a name='L888'></a><a href='#L888'>888</a>
|
|
954
|
+
<a name='L889'></a><a href='#L889'>889</a>
|
|
955
|
+
<a name='L890'></a><a href='#L890'>890</a>
|
|
956
|
+
<a name='L891'></a><a href='#L891'>891</a>
|
|
957
|
+
<a name='L892'></a><a href='#L892'>892</a>
|
|
958
|
+
<a name='L893'></a><a href='#L893'>893</a>
|
|
959
|
+
<a name='L894'></a><a href='#L894'>894</a>
|
|
960
|
+
<a name='L895'></a><a href='#L895'>895</a>
|
|
961
|
+
<a name='L896'></a><a href='#L896'>896</a>
|
|
962
|
+
<a name='L897'></a><a href='#L897'>897</a>
|
|
963
|
+
<a name='L898'></a><a href='#L898'>898</a>
|
|
964
|
+
<a name='L899'></a><a href='#L899'>899</a>
|
|
965
|
+
<a name='L900'></a><a href='#L900'>900</a>
|
|
966
|
+
<a name='L901'></a><a href='#L901'>901</a>
|
|
967
|
+
<a name='L902'></a><a href='#L902'>902</a>
|
|
968
|
+
<a name='L903'></a><a href='#L903'>903</a>
|
|
969
|
+
<a name='L904'></a><a href='#L904'>904</a>
|
|
970
|
+
<a name='L905'></a><a href='#L905'>905</a>
|
|
971
|
+
<a name='L906'></a><a href='#L906'>906</a>
|
|
972
|
+
<a name='L907'></a><a href='#L907'>907</a>
|
|
973
|
+
<a name='L908'></a><a href='#L908'>908</a>
|
|
974
|
+
<a name='L909'></a><a href='#L909'>909</a>
|
|
975
|
+
<a name='L910'></a><a href='#L910'>910</a>
|
|
976
|
+
<a name='L911'></a><a href='#L911'>911</a>
|
|
977
|
+
<a name='L912'></a><a href='#L912'>912</a>
|
|
978
|
+
<a name='L913'></a><a href='#L913'>913</a>
|
|
979
|
+
<a name='L914'></a><a href='#L914'>914</a>
|
|
980
|
+
<a name='L915'></a><a href='#L915'>915</a>
|
|
981
|
+
<a name='L916'></a><a href='#L916'>916</a>
|
|
982
|
+
<a name='L917'></a><a href='#L917'>917</a>
|
|
983
|
+
<a name='L918'></a><a href='#L918'>918</a>
|
|
984
|
+
<a name='L919'></a><a href='#L919'>919</a>
|
|
985
|
+
<a name='L920'></a><a href='#L920'>920</a>
|
|
986
|
+
<a name='L921'></a><a href='#L921'>921</a>
|
|
987
|
+
<a name='L922'></a><a href='#L922'>922</a>
|
|
988
|
+
<a name='L923'></a><a href='#L923'>923</a>
|
|
989
|
+
<a name='L924'></a><a href='#L924'>924</a>
|
|
990
|
+
<a name='L925'></a><a href='#L925'>925</a>
|
|
991
|
+
<a name='L926'></a><a href='#L926'>926</a>
|
|
992
|
+
<a name='L927'></a><a href='#L927'>927</a>
|
|
993
|
+
<a name='L928'></a><a href='#L928'>928</a>
|
|
994
|
+
<a name='L929'></a><a href='#L929'>929</a>
|
|
995
|
+
<a name='L930'></a><a href='#L930'>930</a>
|
|
996
|
+
<a name='L931'></a><a href='#L931'>931</a>
|
|
997
|
+
<a name='L932'></a><a href='#L932'>932</a>
|
|
998
|
+
<a name='L933'></a><a href='#L933'>933</a>
|
|
999
|
+
<a name='L934'></a><a href='#L934'>934</a>
|
|
1000
|
+
<a name='L935'></a><a href='#L935'>935</a>
|
|
1001
|
+
<a name='L936'></a><a href='#L936'>936</a>
|
|
1002
|
+
<a name='L937'></a><a href='#L937'>937</a>
|
|
1003
|
+
<a name='L938'></a><a href='#L938'>938</a>
|
|
1004
|
+
<a name='L939'></a><a href='#L939'>939</a>
|
|
1005
|
+
<a name='L940'></a><a href='#L940'>940</a>
|
|
1006
|
+
<a name='L941'></a><a href='#L941'>941</a>
|
|
1007
|
+
<a name='L942'></a><a href='#L942'>942</a>
|
|
1008
|
+
<a name='L943'></a><a href='#L943'>943</a>
|
|
1009
|
+
<a name='L944'></a><a href='#L944'>944</a>
|
|
1010
|
+
<a name='L945'></a><a href='#L945'>945</a>
|
|
1011
|
+
<a name='L946'></a><a href='#L946'>946</a>
|
|
1012
|
+
<a name='L947'></a><a href='#L947'>947</a>
|
|
1013
|
+
<a name='L948'></a><a href='#L948'>948</a>
|
|
1014
|
+
<a name='L949'></a><a href='#L949'>949</a>
|
|
1015
|
+
<a name='L950'></a><a href='#L950'>950</a>
|
|
1016
|
+
<a name='L951'></a><a href='#L951'>951</a>
|
|
1017
|
+
<a name='L952'></a><a href='#L952'>952</a>
|
|
1018
|
+
<a name='L953'></a><a href='#L953'>953</a>
|
|
1019
|
+
<a name='L954'></a><a href='#L954'>954</a>
|
|
1020
|
+
<a name='L955'></a><a href='#L955'>955</a>
|
|
1021
|
+
<a name='L956'></a><a href='#L956'>956</a>
|
|
1022
|
+
<a name='L957'></a><a href='#L957'>957</a>
|
|
1023
|
+
<a name='L958'></a><a href='#L958'>958</a>
|
|
1024
|
+
<a name='L959'></a><a href='#L959'>959</a>
|
|
1025
|
+
<a name='L960'></a><a href='#L960'>960</a>
|
|
1026
|
+
<a name='L961'></a><a href='#L961'>961</a>
|
|
1027
|
+
<a name='L962'></a><a href='#L962'>962</a>
|
|
1028
|
+
<a name='L963'></a><a href='#L963'>963</a>
|
|
1029
|
+
<a name='L964'></a><a href='#L964'>964</a>
|
|
1030
|
+
<a name='L965'></a><a href='#L965'>965</a>
|
|
1031
|
+
<a name='L966'></a><a href='#L966'>966</a>
|
|
1032
|
+
<a name='L967'></a><a href='#L967'>967</a>
|
|
1033
|
+
<a name='L968'></a><a href='#L968'>968</a>
|
|
1034
|
+
<a name='L969'></a><a href='#L969'>969</a>
|
|
1035
|
+
<a name='L970'></a><a href='#L970'>970</a>
|
|
1036
|
+
<a name='L971'></a><a href='#L971'>971</a>
|
|
1037
|
+
<a name='L972'></a><a href='#L972'>972</a>
|
|
1038
|
+
<a name='L973'></a><a href='#L973'>973</a>
|
|
1039
|
+
<a name='L974'></a><a href='#L974'>974</a>
|
|
1040
|
+
<a name='L975'></a><a href='#L975'>975</a>
|
|
1041
|
+
<a name='L976'></a><a href='#L976'>976</a>
|
|
1042
|
+
<a name='L977'></a><a href='#L977'>977</a>
|
|
1043
|
+
<a name='L978'></a><a href='#L978'>978</a>
|
|
1044
|
+
<a name='L979'></a><a href='#L979'>979</a>
|
|
1045
|
+
<a name='L980'></a><a href='#L980'>980</a>
|
|
1046
|
+
<a name='L981'></a><a href='#L981'>981</a>
|
|
1047
|
+
<a name='L982'></a><a href='#L982'>982</a>
|
|
1048
|
+
<a name='L983'></a><a href='#L983'>983</a>
|
|
1049
|
+
<a name='L984'></a><a href='#L984'>984</a>
|
|
1050
|
+
<a name='L985'></a><a href='#L985'>985</a>
|
|
1051
|
+
<a name='L986'></a><a href='#L986'>986</a>
|
|
1052
|
+
<a name='L987'></a><a href='#L987'>987</a>
|
|
1053
|
+
<a name='L988'></a><a href='#L988'>988</a>
|
|
1054
|
+
<a name='L989'></a><a href='#L989'>989</a>
|
|
1055
|
+
<a name='L990'></a><a href='#L990'>990</a>
|
|
1056
|
+
<a name='L991'></a><a href='#L991'>991</a>
|
|
1057
|
+
<a name='L992'></a><a href='#L992'>992</a>
|
|
1058
|
+
<a name='L993'></a><a href='#L993'>993</a>
|
|
1059
|
+
<a name='L994'></a><a href='#L994'>994</a>
|
|
1060
|
+
<a name='L995'></a><a href='#L995'>995</a>
|
|
1061
|
+
<a name='L996'></a><a href='#L996'>996</a>
|
|
1062
|
+
<a name='L997'></a><a href='#L997'>997</a>
|
|
1063
|
+
<a name='L998'></a><a href='#L998'>998</a>
|
|
1064
|
+
<a name='L999'></a><a href='#L999'>999</a>
|
|
1065
|
+
<a name='L1000'></a><a href='#L1000'>1000</a>
|
|
1066
|
+
<a name='L1001'></a><a href='#L1001'>1001</a>
|
|
1067
|
+
<a name='L1002'></a><a href='#L1002'>1002</a>
|
|
1068
|
+
<a name='L1003'></a><a href='#L1003'>1003</a>
|
|
1069
|
+
<a name='L1004'></a><a href='#L1004'>1004</a>
|
|
1070
|
+
<a name='L1005'></a><a href='#L1005'>1005</a>
|
|
1071
|
+
<a name='L1006'></a><a href='#L1006'>1006</a>
|
|
1072
|
+
<a name='L1007'></a><a href='#L1007'>1007</a>
|
|
1073
|
+
<a name='L1008'></a><a href='#L1008'>1008</a>
|
|
1074
|
+
<a name='L1009'></a><a href='#L1009'>1009</a>
|
|
1075
|
+
<a name='L1010'></a><a href='#L1010'>1010</a>
|
|
1076
|
+
<a name='L1011'></a><a href='#L1011'>1011</a>
|
|
1077
|
+
<a name='L1012'></a><a href='#L1012'>1012</a>
|
|
1078
|
+
<a name='L1013'></a><a href='#L1013'>1013</a>
|
|
1079
|
+
<a name='L1014'></a><a href='#L1014'>1014</a>
|
|
1080
|
+
<a name='L1015'></a><a href='#L1015'>1015</a>
|
|
1081
|
+
<a name='L1016'></a><a href='#L1016'>1016</a>
|
|
1082
|
+
<a name='L1017'></a><a href='#L1017'>1017</a>
|
|
1083
|
+
<a name='L1018'></a><a href='#L1018'>1018</a>
|
|
1084
|
+
<a name='L1019'></a><a href='#L1019'>1019</a>
|
|
1085
|
+
<a name='L1020'></a><a href='#L1020'>1020</a>
|
|
1086
|
+
<a name='L1021'></a><a href='#L1021'>1021</a>
|
|
1087
|
+
<a name='L1022'></a><a href='#L1022'>1022</a>
|
|
1088
|
+
<a name='L1023'></a><a href='#L1023'>1023</a>
|
|
1089
|
+
<a name='L1024'></a><a href='#L1024'>1024</a>
|
|
1090
|
+
<a name='L1025'></a><a href='#L1025'>1025</a>
|
|
1091
|
+
<a name='L1026'></a><a href='#L1026'>1026</a>
|
|
1092
|
+
<a name='L1027'></a><a href='#L1027'>1027</a>
|
|
1093
|
+
<a name='L1028'></a><a href='#L1028'>1028</a>
|
|
1094
|
+
<a name='L1029'></a><a href='#L1029'>1029</a>
|
|
1095
|
+
<a name='L1030'></a><a href='#L1030'>1030</a>
|
|
1096
|
+
<a name='L1031'></a><a href='#L1031'>1031</a>
|
|
1097
|
+
<a name='L1032'></a><a href='#L1032'>1032</a>
|
|
1098
|
+
<a name='L1033'></a><a href='#L1033'>1033</a>
|
|
1099
|
+
<a name='L1034'></a><a href='#L1034'>1034</a>
|
|
1100
|
+
<a name='L1035'></a><a href='#L1035'>1035</a>
|
|
1101
|
+
<a name='L1036'></a><a href='#L1036'>1036</a>
|
|
1102
|
+
<a name='L1037'></a><a href='#L1037'>1037</a>
|
|
1103
|
+
<a name='L1038'></a><a href='#L1038'>1038</a>
|
|
1104
|
+
<a name='L1039'></a><a href='#L1039'>1039</a>
|
|
1105
|
+
<a name='L1040'></a><a href='#L1040'>1040</a>
|
|
1106
|
+
<a name='L1041'></a><a href='#L1041'>1041</a>
|
|
1107
|
+
<a name='L1042'></a><a href='#L1042'>1042</a>
|
|
1108
|
+
<a name='L1043'></a><a href='#L1043'>1043</a>
|
|
1109
|
+
<a name='L1044'></a><a href='#L1044'>1044</a>
|
|
1110
|
+
<a name='L1045'></a><a href='#L1045'>1045</a>
|
|
1111
|
+
<a name='L1046'></a><a href='#L1046'>1046</a>
|
|
1112
|
+
<a name='L1047'></a><a href='#L1047'>1047</a>
|
|
1113
|
+
<a name='L1048'></a><a href='#L1048'>1048</a>
|
|
1114
|
+
<a name='L1049'></a><a href='#L1049'>1049</a>
|
|
1115
|
+
<a name='L1050'></a><a href='#L1050'>1050</a>
|
|
1116
|
+
<a name='L1051'></a><a href='#L1051'>1051</a>
|
|
1117
|
+
<a name='L1052'></a><a href='#L1052'>1052</a>
|
|
1118
|
+
<a name='L1053'></a><a href='#L1053'>1053</a>
|
|
1119
|
+
<a name='L1054'></a><a href='#L1054'>1054</a>
|
|
1120
|
+
<a name='L1055'></a><a href='#L1055'>1055</a>
|
|
1121
|
+
<a name='L1056'></a><a href='#L1056'>1056</a>
|
|
1122
|
+
<a name='L1057'></a><a href='#L1057'>1057</a>
|
|
1123
|
+
<a name='L1058'></a><a href='#L1058'>1058</a>
|
|
1124
|
+
<a name='L1059'></a><a href='#L1059'>1059</a>
|
|
1125
|
+
<a name='L1060'></a><a href='#L1060'>1060</a>
|
|
1126
|
+
<a name='L1061'></a><a href='#L1061'>1061</a>
|
|
1127
|
+
<a name='L1062'></a><a href='#L1062'>1062</a>
|
|
1128
|
+
<a name='L1063'></a><a href='#L1063'>1063</a>
|
|
1129
|
+
<a name='L1064'></a><a href='#L1064'>1064</a>
|
|
1130
|
+
<a name='L1065'></a><a href='#L1065'>1065</a>
|
|
1131
|
+
<a name='L1066'></a><a href='#L1066'>1066</a>
|
|
1132
|
+
<a name='L1067'></a><a href='#L1067'>1067</a>
|
|
1133
|
+
<a name='L1068'></a><a href='#L1068'>1068</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
1134
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1135
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1136
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1137
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1138
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1139
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1140
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1141
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1142
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1143
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1144
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1145
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1146
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1147
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1148
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1149
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1150
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1151
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1152
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1153
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1154
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1155
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1156
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1157
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1158
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1159
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1160
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1161
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1162
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1163
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1164
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1165
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1166
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1167
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1168
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1169
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1170
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1171
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1172
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1173
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1174
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1175
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1176
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1177
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1178
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1179
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1180
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1181
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1182
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1183
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1184
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1185
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1186
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1187
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1188
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1189
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1190
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1191
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1192
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1193
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1194
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1195
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1196
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1197
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1198
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1199
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1200
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1201
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1202
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1203
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1204
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1205
|
+
<span class="cline-any cline-yes">38x</span>
|
|
1206
|
+
<span class="cline-any cline-yes">38x</span>
|
|
1207
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1208
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1209
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1210
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1211
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1212
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1213
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1214
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1215
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1216
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1217
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1218
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1219
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1220
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1221
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1222
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1223
|
+
<span class="cline-any cline-yes">38x</span>
|
|
1224
|
+
<span class="cline-any cline-yes">38x</span>
|
|
1225
|
+
<span class="cline-any cline-yes">38x</span>
|
|
1226
|
+
<span class="cline-any cline-yes">38x</span>
|
|
1227
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1228
|
+
<span class="cline-any cline-yes">38x</span>
|
|
1229
|
+
<span class="cline-any cline-no"> </span>
|
|
1230
|
+
<span class="cline-any cline-no"> </span>
|
|
1231
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1232
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1233
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1234
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1235
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1236
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1237
|
+
<span class="cline-any cline-no"> </span>
|
|
1238
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1239
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1240
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1241
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1242
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1243
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1244
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1245
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1246
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1247
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1248
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1249
|
+
<span class="cline-any cline-no"> </span>
|
|
1250
|
+
<span class="cline-any cline-no"> </span>
|
|
1251
|
+
<span class="cline-any cline-no"> </span>
|
|
1252
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1253
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1254
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1255
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1256
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1257
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1258
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1259
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1260
|
+
<span class="cline-any cline-no"> </span>
|
|
1261
|
+
<span class="cline-any cline-no"> </span>
|
|
1262
|
+
<span class="cline-any cline-no"> </span>
|
|
1263
|
+
<span class="cline-any cline-no"> </span>
|
|
1264
|
+
<span class="cline-any cline-no"> </span>
|
|
1265
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1266
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1267
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1268
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1269
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1270
|
+
<span class="cline-any cline-no"> </span>
|
|
1271
|
+
<span class="cline-any cline-no"> </span>
|
|
1272
|
+
<span class="cline-any cline-no"> </span>
|
|
1273
|
+
<span class="cline-any cline-no"> </span>
|
|
1274
|
+
<span class="cline-any cline-no"> </span>
|
|
1275
|
+
<span class="cline-any cline-no"> </span>
|
|
1276
|
+
<span class="cline-any cline-no"> </span>
|
|
1277
|
+
<span class="cline-any cline-no"> </span>
|
|
1278
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1279
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1280
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1281
|
+
<span class="cline-any cline-no"> </span>
|
|
1282
|
+
<span class="cline-any cline-no"> </span>
|
|
1283
|
+
<span class="cline-any cline-no"> </span>
|
|
1284
|
+
<span class="cline-any cline-no"> </span>
|
|
1285
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1286
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1287
|
+
<span class="cline-any cline-no"> </span>
|
|
1288
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1289
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1290
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1291
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1292
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1293
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1294
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1295
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1296
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1297
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1298
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1299
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1300
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1301
|
+
<span class="cline-any cline-no"> </span>
|
|
1302
|
+
<span class="cline-any cline-no"> </span>
|
|
1303
|
+
<span class="cline-any cline-no"> </span>
|
|
1304
|
+
<span class="cline-any cline-no"> </span>
|
|
1305
|
+
<span class="cline-any cline-no"> </span>
|
|
1306
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1307
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1308
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1309
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1310
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1311
|
+
<span class="cline-any cline-no"> </span>
|
|
1312
|
+
<span class="cline-any cline-no"> </span>
|
|
1313
|
+
<span class="cline-any cline-no"> </span>
|
|
1314
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1315
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1316
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1317
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1318
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1319
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1320
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1321
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1322
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1323
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1324
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1325
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1326
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1327
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1328
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1329
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1330
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1331
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1332
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1333
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1334
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1335
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1336
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1337
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1338
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1339
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1340
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1341
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1342
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1343
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1344
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1345
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1346
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1347
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1348
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1349
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1350
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1351
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1352
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1353
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1354
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1355
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1356
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1357
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1358
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1359
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1360
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1361
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1362
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1363
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1364
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1365
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1366
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1367
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1368
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1369
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1370
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1371
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1372
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1373
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1374
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1375
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1376
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1377
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1378
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1379
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1380
|
+
<span class="cline-any cline-yes">20x</span>
|
|
1381
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1382
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1383
|
+
<span class="cline-any cline-no"> </span>
|
|
1384
|
+
<span class="cline-any cline-no"> </span>
|
|
1385
|
+
<span class="cline-any cline-no"> </span>
|
|
1386
|
+
<span class="cline-any cline-no"> </span>
|
|
1387
|
+
<span class="cline-any cline-no"> </span>
|
|
1388
|
+
<span class="cline-any cline-no"> </span>
|
|
1389
|
+
<span class="cline-any cline-no"> </span>
|
|
1390
|
+
<span class="cline-any cline-no"> </span>
|
|
1391
|
+
<span class="cline-any cline-no"> </span>
|
|
1392
|
+
<span class="cline-any cline-no"> </span>
|
|
1393
|
+
<span class="cline-any cline-no"> </span>
|
|
1394
|
+
<span class="cline-any cline-no"> </span>
|
|
1395
|
+
<span class="cline-any cline-no"> </span>
|
|
1396
|
+
<span class="cline-any cline-no"> </span>
|
|
1397
|
+
<span class="cline-any cline-no"> </span>
|
|
1398
|
+
<span class="cline-any cline-no"> </span>
|
|
1399
|
+
<span class="cline-any cline-no"> </span>
|
|
1400
|
+
<span class="cline-any cline-no"> </span>
|
|
1401
|
+
<span class="cline-any cline-no"> </span>
|
|
1402
|
+
<span class="cline-any cline-no"> </span>
|
|
1403
|
+
<span class="cline-any cline-no"> </span>
|
|
1404
|
+
<span class="cline-any cline-no"> </span>
|
|
1405
|
+
<span class="cline-any cline-no"> </span>
|
|
1406
|
+
<span class="cline-any cline-no"> </span>
|
|
1407
|
+
<span class="cline-any cline-no"> </span>
|
|
1408
|
+
<span class="cline-any cline-no"> </span>
|
|
1409
|
+
<span class="cline-any cline-no"> </span>
|
|
1410
|
+
<span class="cline-any cline-no"> </span>
|
|
1411
|
+
<span class="cline-any cline-no"> </span>
|
|
1412
|
+
<span class="cline-any cline-no"> </span>
|
|
1413
|
+
<span class="cline-any cline-no"> </span>
|
|
1414
|
+
<span class="cline-any cline-no"> </span>
|
|
1415
|
+
<span class="cline-any cline-no"> </span>
|
|
1416
|
+
<span class="cline-any cline-no"> </span>
|
|
1417
|
+
<span class="cline-any cline-no"> </span>
|
|
1418
|
+
<span class="cline-any cline-no"> </span>
|
|
1419
|
+
<span class="cline-any cline-no"> </span>
|
|
1420
|
+
<span class="cline-any cline-no"> </span>
|
|
1421
|
+
<span class="cline-any cline-no"> </span>
|
|
1422
|
+
<span class="cline-any cline-no"> </span>
|
|
1423
|
+
<span class="cline-any cline-no"> </span>
|
|
1424
|
+
<span class="cline-any cline-no"> </span>
|
|
1425
|
+
<span class="cline-any cline-no"> </span>
|
|
1426
|
+
<span class="cline-any cline-no"> </span>
|
|
1427
|
+
<span class="cline-any cline-no"> </span>
|
|
1428
|
+
<span class="cline-any cline-no"> </span>
|
|
1429
|
+
<span class="cline-any cline-no"> </span>
|
|
1430
|
+
<span class="cline-any cline-no"> </span>
|
|
1431
|
+
<span class="cline-any cline-no"> </span>
|
|
1432
|
+
<span class="cline-any cline-no"> </span>
|
|
1433
|
+
<span class="cline-any cline-no"> </span>
|
|
1434
|
+
<span class="cline-any cline-no"> </span>
|
|
1435
|
+
<span class="cline-any cline-no"> </span>
|
|
1436
|
+
<span class="cline-any cline-no"> </span>
|
|
1437
|
+
<span class="cline-any cline-no"> </span>
|
|
1438
|
+
<span class="cline-any cline-no"> </span>
|
|
1439
|
+
<span class="cline-any cline-no"> </span>
|
|
1440
|
+
<span class="cline-any cline-no"> </span>
|
|
1441
|
+
<span class="cline-any cline-no"> </span>
|
|
1442
|
+
<span class="cline-any cline-no"> </span>
|
|
1443
|
+
<span class="cline-any cline-no"> </span>
|
|
1444
|
+
<span class="cline-any cline-no"> </span>
|
|
1445
|
+
<span class="cline-any cline-no"> </span>
|
|
1446
|
+
<span class="cline-any cline-no"> </span>
|
|
1447
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1448
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1449
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1450
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1451
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1452
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1453
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1454
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1455
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1456
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1457
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1458
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1459
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1460
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1461
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1462
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1463
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1464
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1465
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1466
|
+
<span class="cline-any cline-no"> </span>
|
|
1467
|
+
<span class="cline-any cline-no"> </span>
|
|
1468
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1469
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1470
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1471
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1472
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1473
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1474
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1475
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1476
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1477
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1478
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1479
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1480
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1481
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1482
|
+
<span class="cline-any cline-no"> </span>
|
|
1483
|
+
<span class="cline-any cline-no"> </span>
|
|
1484
|
+
<span class="cline-any cline-no"> </span>
|
|
1485
|
+
<span class="cline-any cline-no"> </span>
|
|
1486
|
+
<span class="cline-any cline-no"> </span>
|
|
1487
|
+
<span class="cline-any cline-no"> </span>
|
|
1488
|
+
<span class="cline-any cline-no"> </span>
|
|
1489
|
+
<span class="cline-any cline-no"> </span>
|
|
1490
|
+
<span class="cline-any cline-no"> </span>
|
|
1491
|
+
<span class="cline-any cline-no"> </span>
|
|
1492
|
+
<span class="cline-any cline-no"> </span>
|
|
1493
|
+
<span class="cline-any cline-no"> </span>
|
|
1494
|
+
<span class="cline-any cline-no"> </span>
|
|
1495
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1496
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1497
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1498
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1499
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1500
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1501
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1502
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1503
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1504
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1505
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1506
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1507
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1508
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1509
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1510
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1511
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1512
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1513
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1514
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1515
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1516
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1517
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1518
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1519
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1520
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1521
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1522
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1523
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1524
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1525
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1526
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1527
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1528
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1529
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1530
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1531
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1532
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1533
|
+
<span class="cline-any cline-no"> </span>
|
|
1534
|
+
<span class="cline-any cline-no"> </span>
|
|
1535
|
+
<span class="cline-any cline-no"> </span>
|
|
1536
|
+
<span class="cline-any cline-no"> </span>
|
|
1537
|
+
<span class="cline-any cline-no"> </span>
|
|
1538
|
+
<span class="cline-any cline-no"> </span>
|
|
1539
|
+
<span class="cline-any cline-no"> </span>
|
|
1540
|
+
<span class="cline-any cline-no"> </span>
|
|
1541
|
+
<span class="cline-any cline-no"> </span>
|
|
1542
|
+
<span class="cline-any cline-no"> </span>
|
|
1543
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1544
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1545
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1546
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1547
|
+
<span class="cline-any cline-no"> </span>
|
|
1548
|
+
<span class="cline-any cline-no"> </span>
|
|
1549
|
+
<span class="cline-any cline-no"> </span>
|
|
1550
|
+
<span class="cline-any cline-no"> </span>
|
|
1551
|
+
<span class="cline-any cline-no"> </span>
|
|
1552
|
+
<span class="cline-any cline-no"> </span>
|
|
1553
|
+
<span class="cline-any cline-no"> </span>
|
|
1554
|
+
<span class="cline-any cline-no"> </span>
|
|
1555
|
+
<span class="cline-any cline-no"> </span>
|
|
1556
|
+
<span class="cline-any cline-no"> </span>
|
|
1557
|
+
<span class="cline-any cline-no"> </span>
|
|
1558
|
+
<span class="cline-any cline-no"> </span>
|
|
1559
|
+
<span class="cline-any cline-no"> </span>
|
|
1560
|
+
<span class="cline-any cline-no"> </span>
|
|
1561
|
+
<span class="cline-any cline-no"> </span>
|
|
1562
|
+
<span class="cline-any cline-no"> </span>
|
|
1563
|
+
<span class="cline-any cline-no"> </span>
|
|
1564
|
+
<span class="cline-any cline-no"> </span>
|
|
1565
|
+
<span class="cline-any cline-no"> </span>
|
|
1566
|
+
<span class="cline-any cline-no"> </span>
|
|
1567
|
+
<span class="cline-any cline-no"> </span>
|
|
1568
|
+
<span class="cline-any cline-no"> </span>
|
|
1569
|
+
<span class="cline-any cline-no"> </span>
|
|
1570
|
+
<span class="cline-any cline-no"> </span>
|
|
1571
|
+
<span class="cline-any cline-no"> </span>
|
|
1572
|
+
<span class="cline-any cline-no"> </span>
|
|
1573
|
+
<span class="cline-any cline-no"> </span>
|
|
1574
|
+
<span class="cline-any cline-no"> </span>
|
|
1575
|
+
<span class="cline-any cline-no"> </span>
|
|
1576
|
+
<span class="cline-any cline-no"> </span>
|
|
1577
|
+
<span class="cline-any cline-no"> </span>
|
|
1578
|
+
<span class="cline-any cline-no"> </span>
|
|
1579
|
+
<span class="cline-any cline-no"> </span>
|
|
1580
|
+
<span class="cline-any cline-no"> </span>
|
|
1581
|
+
<span class="cline-any cline-no"> </span>
|
|
1582
|
+
<span class="cline-any cline-no"> </span>
|
|
1583
|
+
<span class="cline-any cline-no"> </span>
|
|
1584
|
+
<span class="cline-any cline-no"> </span>
|
|
1585
|
+
<span class="cline-any cline-no"> </span>
|
|
1586
|
+
<span class="cline-any cline-no"> </span>
|
|
1587
|
+
<span class="cline-any cline-no"> </span>
|
|
1588
|
+
<span class="cline-any cline-no"> </span>
|
|
1589
|
+
<span class="cline-any cline-no"> </span>
|
|
1590
|
+
<span class="cline-any cline-no"> </span>
|
|
1591
|
+
<span class="cline-any cline-no"> </span>
|
|
1592
|
+
<span class="cline-any cline-no"> </span>
|
|
1593
|
+
<span class="cline-any cline-no"> </span>
|
|
1594
|
+
<span class="cline-any cline-no"> </span>
|
|
1595
|
+
<span class="cline-any cline-no"> </span>
|
|
1596
|
+
<span class="cline-any cline-no"> </span>
|
|
1597
|
+
<span class="cline-any cline-no"> </span>
|
|
1598
|
+
<span class="cline-any cline-no"> </span>
|
|
1599
|
+
<span class="cline-any cline-no"> </span>
|
|
1600
|
+
<span class="cline-any cline-no"> </span>
|
|
1601
|
+
<span class="cline-any cline-no"> </span>
|
|
1602
|
+
<span class="cline-any cline-no"> </span>
|
|
1603
|
+
<span class="cline-any cline-no"> </span>
|
|
1604
|
+
<span class="cline-any cline-no"> </span>
|
|
1605
|
+
<span class="cline-any cline-no"> </span>
|
|
1606
|
+
<span class="cline-any cline-no"> </span>
|
|
1607
|
+
<span class="cline-any cline-no"> </span>
|
|
1608
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1609
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1610
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1611
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1612
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1613
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1614
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1615
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1616
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1617
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1618
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1619
|
+
<span class="cline-any cline-no"> </span>
|
|
1620
|
+
<span class="cline-any cline-no"> </span>
|
|
1621
|
+
<span class="cline-any cline-no"> </span>
|
|
1622
|
+
<span class="cline-any cline-no"> </span>
|
|
1623
|
+
<span class="cline-any cline-no"> </span>
|
|
1624
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1625
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1626
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1627
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1628
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1629
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1630
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1631
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1632
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1633
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1634
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1635
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1636
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1637
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1638
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1639
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1640
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1641
|
+
<span class="cline-any cline-no"> </span>
|
|
1642
|
+
<span class="cline-any cline-no"> </span>
|
|
1643
|
+
<span class="cline-any cline-no"> </span>
|
|
1644
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1645
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1646
|
+
<span class="cline-any cline-no"> </span>
|
|
1647
|
+
<span class="cline-any cline-no"> </span>
|
|
1648
|
+
<span class="cline-any cline-no"> </span>
|
|
1649
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1650
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1651
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1652
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1653
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1654
|
+
<span class="cline-any cline-no"> </span>
|
|
1655
|
+
<span class="cline-any cline-no"> </span>
|
|
1656
|
+
<span class="cline-any cline-no"> </span>
|
|
1657
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1658
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1659
|
+
<span class="cline-any cline-no"> </span>
|
|
1660
|
+
<span class="cline-any cline-no"> </span>
|
|
1661
|
+
<span class="cline-any cline-no"> </span>
|
|
1662
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1663
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1664
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1665
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1666
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1667
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1668
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1669
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1670
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1671
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1672
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1673
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1674
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1675
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1676
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1677
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1678
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1679
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1680
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1681
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1682
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1683
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1684
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1685
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1686
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1687
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1688
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1689
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1690
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1691
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1692
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1693
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1694
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1695
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1696
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1697
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1698
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1699
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1700
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1701
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1702
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1703
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1704
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1705
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1706
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1707
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1708
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1709
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1710
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1711
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1712
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1713
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1714
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1715
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1716
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1717
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1718
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1719
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1720
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1721
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1722
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1723
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1724
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1725
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1726
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1727
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1728
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1729
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1730
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1731
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1732
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1733
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1734
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1735
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1736
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1737
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1738
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1739
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1740
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1741
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1742
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1743
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1744
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1745
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1746
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1747
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1748
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1749
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1750
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1751
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1752
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1753
|
+
<span class="cline-any cline-no"> </span>
|
|
1754
|
+
<span class="cline-any cline-no"> </span>
|
|
1755
|
+
<span class="cline-any cline-no"> </span>
|
|
1756
|
+
<span class="cline-any cline-no"> </span>
|
|
1757
|
+
<span class="cline-any cline-no"> </span>
|
|
1758
|
+
<span class="cline-any cline-no"> </span>
|
|
1759
|
+
<span class="cline-any cline-no"> </span>
|
|
1760
|
+
<span class="cline-any cline-no"> </span>
|
|
1761
|
+
<span class="cline-any cline-no"> </span>
|
|
1762
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1763
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1764
|
+
<span class="cline-any cline-no"> </span>
|
|
1765
|
+
<span class="cline-any cline-no"> </span>
|
|
1766
|
+
<span class="cline-any cline-no"> </span>
|
|
1767
|
+
<span class="cline-any cline-no"> </span>
|
|
1768
|
+
<span class="cline-any cline-no"> </span>
|
|
1769
|
+
<span class="cline-any cline-no"> </span>
|
|
1770
|
+
<span class="cline-any cline-no"> </span>
|
|
1771
|
+
<span class="cline-any cline-no"> </span>
|
|
1772
|
+
<span class="cline-any cline-no"> </span>
|
|
1773
|
+
<span class="cline-any cline-no"> </span>
|
|
1774
|
+
<span class="cline-any cline-no"> </span>
|
|
1775
|
+
<span class="cline-any cline-no"> </span>
|
|
1776
|
+
<span class="cline-any cline-no"> </span>
|
|
1777
|
+
<span class="cline-any cline-no"> </span>
|
|
1778
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1779
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1780
|
+
<span class="cline-any cline-no"> </span>
|
|
1781
|
+
<span class="cline-any cline-no"> </span>
|
|
1782
|
+
<span class="cline-any cline-no"> </span>
|
|
1783
|
+
<span class="cline-any cline-no"> </span>
|
|
1784
|
+
<span class="cline-any cline-no"> </span>
|
|
1785
|
+
<span class="cline-any cline-no"> </span>
|
|
1786
|
+
<span class="cline-any cline-no"> </span>
|
|
1787
|
+
<span class="cline-any cline-no"> </span>
|
|
1788
|
+
<span class="cline-any cline-no"> </span>
|
|
1789
|
+
<span class="cline-any cline-no"> </span>
|
|
1790
|
+
<span class="cline-any cline-no"> </span>
|
|
1791
|
+
<span class="cline-any cline-no"> </span>
|
|
1792
|
+
<span class="cline-any cline-no"> </span>
|
|
1793
|
+
<span class="cline-any cline-no"> </span>
|
|
1794
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1795
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1796
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1797
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1798
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1799
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1800
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1801
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1802
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1803
|
+
<span class="cline-any cline-no"> </span>
|
|
1804
|
+
<span class="cline-any cline-no"> </span>
|
|
1805
|
+
<span class="cline-any cline-no"> </span>
|
|
1806
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1807
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1808
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1809
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1810
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1811
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1812
|
+
<span class="cline-any cline-no"> </span>
|
|
1813
|
+
<span class="cline-any cline-no"> </span>
|
|
1814
|
+
<span class="cline-any cline-no"> </span>
|
|
1815
|
+
<span class="cline-any cline-no"> </span>
|
|
1816
|
+
<span class="cline-any cline-no"> </span>
|
|
1817
|
+
<span class="cline-any cline-no"> </span>
|
|
1818
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1819
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1820
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1821
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1822
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1823
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1824
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1825
|
+
<span class="cline-any cline-no"> </span>
|
|
1826
|
+
<span class="cline-any cline-no"> </span>
|
|
1827
|
+
<span class="cline-any cline-no"> </span>
|
|
1828
|
+
<span class="cline-any cline-no"> </span>
|
|
1829
|
+
<span class="cline-any cline-no"> </span>
|
|
1830
|
+
<span class="cline-any cline-no"> </span>
|
|
1831
|
+
<span class="cline-any cline-no"> </span>
|
|
1832
|
+
<span class="cline-any cline-no"> </span>
|
|
1833
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1834
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1835
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1836
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1837
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1838
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1839
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1840
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1841
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1842
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1843
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1844
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1845
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1846
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1847
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1848
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1849
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1850
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1851
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1852
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1853
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1854
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1855
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1856
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1857
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1858
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1859
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1860
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1861
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1862
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1863
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1864
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1865
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1866
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1867
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1868
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1869
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1870
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1871
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1872
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1873
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1874
|
+
<span class="cline-any cline-yes">19x</span>
|
|
1875
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1876
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1877
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1878
|
+
<span class="cline-any cline-no"> </span>
|
|
1879
|
+
<span class="cline-any cline-no"> </span>
|
|
1880
|
+
<span class="cline-any cline-no"> </span>
|
|
1881
|
+
<span class="cline-any cline-no"> </span>
|
|
1882
|
+
<span class="cline-any cline-no"> </span>
|
|
1883
|
+
<span class="cline-any cline-no"> </span>
|
|
1884
|
+
<span class="cline-any cline-no"> </span>
|
|
1885
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1886
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1887
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1888
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1889
|
+
<span class="cline-any cline-yes">54x</span>
|
|
1890
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1891
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1892
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1893
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1894
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1895
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1896
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1897
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1898
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1899
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1900
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1901
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1902
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1903
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1904
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1905
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1906
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1907
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1908
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1909
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1910
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1911
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1912
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1913
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1914
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1915
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1916
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1917
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1918
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1919
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1920
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1921
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1922
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1923
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1924
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1925
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1926
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1927
|
+
<span class="cline-any cline-no"> </span>
|
|
1928
|
+
<span class="cline-any cline-no"> </span>
|
|
1929
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1930
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1931
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1932
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1933
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1934
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1935
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1936
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1937
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1938
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1939
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1940
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1941
|
+
<span class="cline-any cline-yes">4x</span>
|
|
1942
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1943
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1944
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1945
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1946
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1947
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1948
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1949
|
+
<span class="cline-any cline-yes">70x</span>
|
|
1950
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1951
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1952
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1953
|
+
<span class="cline-any cline-yes">18x</span>
|
|
1954
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1955
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1956
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1957
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1958
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1959
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1960
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1961
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1962
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1963
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1964
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1965
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1966
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1967
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1968
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1969
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1970
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1971
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1972
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1973
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1974
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1975
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1976
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1977
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1978
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1979
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1980
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1981
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1982
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1983
|
+
<span class="cline-any cline-no"> </span>
|
|
1984
|
+
<span class="cline-any cline-no"> </span>
|
|
1985
|
+
<span class="cline-any cline-no"> </span>
|
|
1986
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1987
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1988
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1989
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1990
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1991
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1992
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1993
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1994
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1995
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1996
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1997
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1998
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1999
|
+
<span class="cline-any cline-no"> </span>
|
|
2000
|
+
<span class="cline-any cline-no"> </span>
|
|
2001
|
+
<span class="cline-any cline-no"> </span>
|
|
2002
|
+
<span class="cline-any cline-no"> </span>
|
|
2003
|
+
<span class="cline-any cline-no"> </span>
|
|
2004
|
+
<span class="cline-any cline-no"> </span>
|
|
2005
|
+
<span class="cline-any cline-no"> </span>
|
|
2006
|
+
<span class="cline-any cline-no"> </span>
|
|
2007
|
+
<span class="cline-any cline-no"> </span>
|
|
2008
|
+
<span class="cline-any cline-no"> </span>
|
|
2009
|
+
<span class="cline-any cline-no"> </span>
|
|
2010
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2011
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2012
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2013
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2014
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2015
|
+
<span class="cline-any cline-no"> </span>
|
|
2016
|
+
<span class="cline-any cline-no"> </span>
|
|
2017
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2018
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2019
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2020
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2021
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2022
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2023
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2024
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2025
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2026
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2027
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2028
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2029
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2030
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2031
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2032
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2033
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2034
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2035
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2036
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2037
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2038
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2039
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2040
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2041
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2042
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2043
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2044
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2045
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2046
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2047
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2048
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2049
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2050
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2051
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2052
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2053
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2054
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2055
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2056
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2057
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2058
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2059
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2060
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2061
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2062
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2063
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2064
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2065
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2066
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2067
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2068
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2069
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2070
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2071
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2072
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2073
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2074
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2075
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2076
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2077
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2078
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2079
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2080
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2081
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2082
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2083
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2084
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2085
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2086
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2087
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2088
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2089
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2090
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2091
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2092
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2093
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2094
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2095
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2096
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2097
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2098
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2099
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2100
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2101
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2102
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2103
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2104
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2105
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2106
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2107
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2108
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2109
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2110
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2111
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2112
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2113
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2114
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2115
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2116
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2117
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2118
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2119
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2120
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2121
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2122
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2123
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2124
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2125
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2126
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2127
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2128
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2129
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2130
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2131
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2132
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2133
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2134
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2135
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2136
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2137
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2138
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2139
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2140
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2141
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2142
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2143
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2144
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2145
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2146
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2147
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2148
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2149
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2150
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2151
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2152
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2153
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2154
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2155
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2156
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2157
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2158
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2159
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2160
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2161
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2162
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2163
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2164
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2165
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2166
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2167
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2168
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2169
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2170
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2171
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2172
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2173
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2174
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2175
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2176
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2177
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2178
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2179
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2180
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2181
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2182
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2183
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2184
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2185
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2186
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2187
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2188
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2189
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2190
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2191
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2192
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2193
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2194
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2195
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2196
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2197
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2198
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2199
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2200
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><!-- 单品种单周期K线业务组件 -->
|
|
2201
|
+
<script setup>
|
|
2202
|
+
import dayjs from "dayjs";
|
|
2203
|
+
import * as echarts from "echarts";
|
|
2204
|
+
import { stMath, debounce, addResizeListener } from "st-func";
|
|
2205
|
+
import { ref, watch, computed, onMounted, onUnmounted, inject } from "vue";
|
|
2206
|
+
import { loadKlineConfig, checkTimeInterval, getSubOptions, mergeklineData, handleMarkPointTradeLog, handleNetPositionLine, handleTradeIncomeRateLine, normalizeToKlineTimeByMatch } from "./utils.js";
|
|
2207
|
+
import Tips from "./components/Tips.vue";
|
|
2208
|
+
import SliderChart from "./components/SliderChart.vue";
|
|
2209
|
+
|
|
2210
|
+
const { round, formatValue } = stMath;
|
|
2211
|
+
const { request } = inject("stConfig"); // 组件库全局配置
|
|
2212
|
+
|
|
2213
|
+
const loading = ref(false);
|
|
2214
|
+
const isHover = ref(false);
|
|
2215
|
+
const props = defineProps({
|
|
2216
|
+
varietyCode: { type: String, required: true },
|
|
2217
|
+
varietyStock: { type: Number, required: true }, // 品种市场类型 0-期货, 1-股票, 2-期权
|
|
2218
|
+
indicatorStore: { type: Object, required: true }, // 指标配置Store
|
|
2219
|
+
userKlineConfig: { type: Object, required: true }, // 用户自定义的K线配置
|
|
2220
|
+
|
|
2221
|
+
// 交互选项
|
|
2222
|
+
cycle: { type: String, required: true },
|
|
2223
|
+
sellBuy: { type: Number, default: 1 },
|
|
2224
|
+
rightType: { type: [Number, null], default: null }, // 复权类型
|
|
2225
|
+
klineType: { type: [Number, null], default: null }, // 合约类型
|
|
2226
|
+
incomeType: { type: Number, default: 0 }, // 收益计算类型 0-单利, 1-复利
|
|
2227
|
+
initTimeRange: { type: Array, required: true },
|
|
2228
|
+
mainIndicator: { type: String, required: true },
|
|
2229
|
+
|
|
2230
|
+
// 绘制数据
|
|
2231
|
+
tradeLog: { type: Array, default: () => [] }, // 成交数据
|
|
2232
|
+
netPositionData: { type: Array, default: () => [] }, // 净值数据
|
|
2233
|
+
tradeIncomeRateData: { type: Array, default: () => [] }, // 成交收益率数据
|
|
2234
|
+
|
|
2235
|
+
// 强制定位高亮(非必填)
|
|
2236
|
+
positionTime: { type: [String, null], default: null },
|
|
2237
|
+
// 同步刷选范围(非必填)
|
|
2238
|
+
syncBrushRange: { type: Object, default: () => ({ cycleList: [], startTime: null, endTime: null }) },
|
|
2239
|
+
|
|
2240
|
+
// 业务系统相关
|
|
2241
|
+
deleteFirstNumber: { type: Number, default: 1 }, // 绩效标记
|
|
2242
|
+
withoutPermission: { type: Number, default: 0 }, // 三方标记(不需要token授权)
|
|
2243
|
+
});
|
|
2244
|
+
|
|
2245
|
+
// 加载标记
|
|
2246
|
+
let isLoadNew = false;
|
|
2247
|
+
let isloadAllNew = false;
|
|
2248
|
+
let isLoadHistory = false;
|
|
2249
|
+
let isloadAllHistory = false;
|
|
2250
|
+
|
|
2251
|
+
let resizeRo = null;
|
|
2252
|
+
let subChartIns = null;
|
|
2253
|
+
let mainChartIns = null;
|
|
2254
|
+
const mainChartRef = ref(null);
|
|
2255
|
+
const subChartRef = ref(null);
|
|
2256
|
+
const sliderChartRef = ref(null);
|
|
2257
|
+
|
|
2258
|
+
// K线数据
|
|
2259
|
+
const klineData = ref({
|
|
2260
|
+
data: [],
|
|
2261
|
+
mainIndicator: [],
|
|
2262
|
+
subIndicator: [],
|
|
2263
|
+
time: [],
|
|
2264
|
+
});
|
|
2265
|
+
const activeIndex = ref(0);
|
|
2266
|
+
const screenTimeRange = ref([]); // 当屏首末时间
|
|
2267
|
+
const contextmenuKlineTime = ref(null); // 右键点击的那一根K线时间
|
|
2268
|
+
|
|
2269
|
+
// 指标数据
|
|
2270
|
+
const subIndicator = ref("VOL");
|
|
2271
|
+
const mainTips = computed(() => {
|
|
2272
|
+
const itemData = klineData.value.data[activeIndex.value];
|
|
2273
|
+
if (!itemData) {
|
|
2274
|
+
return [
|
|
2275
|
+
{ label: "开", value: "-" },
|
|
2276
|
+
{ label: "高", value: "-" },
|
|
2277
|
+
{ label: "低", value: "-" },
|
|
2278
|
+
{ label: "收", value: "-" },
|
|
2279
|
+
{ label: "额", value: "-" },
|
|
2280
|
+
{ label: "涨跌", value: "-" },
|
|
2281
|
+
];
|
|
2282
|
+
}
|
|
2283
|
+
const result = [
|
|
2284
|
+
{ label: "开", value: itemData[0] },
|
|
2285
|
+
{ label: "高", value: itemData[3] },
|
|
2286
|
+
{ label: "低", value: itemData[2] },
|
|
2287
|
+
{ label: "收", value: itemData[1] },
|
|
2288
|
+
];
|
|
2289
|
+
// 特殊: 交易总额
|
|
2290
|
+
itemData[4] !== null && result.push({ label: "额", value: formatValue(itemData[4]) });
|
|
2291
|
+
// 特殊: 涨跌幅 公式:收盘价 - 昨收 / (昨收绝对值)
|
|
2292
|
+
let diffColor;
|
|
2293
|
+
if (itemData[6] > 0) {
|
|
2294
|
+
diffColor = "red";
|
|
2295
|
+
}<span class="branch-0 cbranch-no" title="branch not covered" > else if (itemData[6] < 0) {</span>
|
|
2296
|
+
<span class="cstat-no" title="statement not covered" > diffColor = "green";</span>
|
|
2297
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2298
|
+
result.push({ label: "涨跌", value: `${round(itemData[6])}%`, color: diffColor });
|
|
2299
|
+
return result;
|
|
2300
|
+
});
|
|
2301
|
+
const mainIndicatorTips = computed(() => {
|
|
2302
|
+
return (
|
|
2303
|
+
klineData.value?.mainIndicator?.map((item) => {
|
|
2304
|
+
<span class="cstat-no" title="statement not covered" > return { label: item.key, value: round(item.data[activeIndex.value]), color: item.color };</span>
|
|
2305
|
+
}) <span class="branch-0 cbranch-no" title="branch not covered" >|| []</span>
|
|
2306
|
+
);
|
|
2307
|
+
});
|
|
2308
|
+
const subIndicatorTips = computed(() => {
|
|
2309
|
+
return klineData.value?.subIndicator?.map((item) => ({ label: item.key, color: item.color, value: item.data[activeIndex.value] || "-" })) <span class="branch-0 cbranch-no" title="branch not covered" >|| [];</span>
|
|
2310
|
+
});
|
|
2311
|
+
|
|
2312
|
+
// 图表: 初始化
|
|
2313
|
+
const initChart = () => {
|
|
2314
|
+
// 检查DOM元素是否存在
|
|
2315
|
+
if (!mainChartRef.value) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2316
|
+
<span class="cstat-no" title="statement not covered" > console.warn("[K线] 主图DOM元素不存在,取消初始化");</span>
|
|
2317
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
2318
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2319
|
+
if (mainChartIns) return true;
|
|
2320
|
+
|
|
2321
|
+
try {
|
|
2322
|
+
// 主图
|
|
2323
|
+
mainChartIns = echarts.init(mainChartRef.value);
|
|
2324
|
+
mainChartIns.on(
|
|
2325
|
+
"highlight",
|
|
2326
|
+
debounce((params) => {
|
|
2327
|
+
<span class="cstat-no" title="statement not covered" > if (params.dataIndex) {</span>
|
|
2328
|
+
<span class="cstat-no" title="statement not covered" > activeIndex.value = params.dataIndex;</span>
|
|
2329
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
2330
|
+
<span class="cstat-no" title="statement not covered" > activeIndex.value = params.batch?.[0].dataIndex ?? -1;</span>
|
|
2331
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2332
|
+
}, 10),
|
|
2333
|
+
);
|
|
2334
|
+
mainChartIns.on(
|
|
2335
|
+
"datazoom",
|
|
2336
|
+
debounce(async () => {
|
|
2337
|
+
<span class="cstat-no" title="statement not covered" > const { loadCheckCount } = loadKlineConfig;</span>
|
|
2338
|
+
<span class="cstat-no" title="statement not covered" > const { startValue, endValue } = mainChartIns.getOption()?.dataZoom[0] ?? {};</span>
|
|
2339
|
+
<span class="cstat-no" title="statement not covered" > // 当前开始索引 < 阈值边界, 触发加载更多数据</span>
|
|
2340
|
+
<span class="cstat-no" title="statement not covered" > if (isLoadHistory === false && isloadAllHistory === false && startValue < loadCheckCount) await getMoreData("history");</span>
|
|
2341
|
+
<span class="cstat-no" title="statement not covered" > // 当前结束索引 > 阈值边界, 触发加载更多数据</span>
|
|
2342
|
+
<span class="cstat-no" title="statement not covered" > if (isLoadNew === false && isloadAllNew === false && endValue > klineData.value.time.length - loadCheckCount) await getMoreData("new");</span>
|
|
2343
|
+
<span class="cstat-no" title="statement not covered" > getScreenTimeRange();</span>
|
|
2344
|
+
<span class="cstat-no" title="statement not covered" > drawScreenMaxPrice();</span>
|
|
2345
|
+
}),
|
|
2346
|
+
);
|
|
2347
|
+
mainChartIns.on("globalout", () => {
|
|
2348
|
+
<span class="cstat-no" title="statement not covered" > if (mainChartIns) {</span>
|
|
2349
|
+
<span class="cstat-no" title="statement not covered" > const option = mainChartIns.getOption();</span>
|
|
2350
|
+
<span class="cstat-no" title="statement not covered" > activeIndex.value = option.dataZoom[0].endValue;</span>
|
|
2351
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2352
|
+
});
|
|
2353
|
+
mainChartIns.getZr().on("contextmenu", () => {
|
|
2354
|
+
<span class="cstat-no" title="statement not covered" > contextmenuKlineTime.value = klineData.value?.time[activeIndex.value];</span>
|
|
2355
|
+
});
|
|
2356
|
+
window.addEventListener("keydown", handleKeyDownEvent);
|
|
2357
|
+
|
|
2358
|
+
// 副图
|
|
2359
|
+
if (props.userKlineConfig.enable_subChart && subChartRef.value) {
|
|
2360
|
+
subChartIns = echarts.init(subChartRef.value);
|
|
2361
|
+
echarts.connect([mainChartIns, subChartIns]);
|
|
2362
|
+
}
|
|
2363
|
+
|
|
2364
|
+
// DOM缩放
|
|
2365
|
+
if (mainChartRef.value) {
|
|
2366
|
+
resizeRo = addResizeListener(mainChartRef.value);
|
|
2367
|
+
resizeRo.listen(() => {
|
|
2368
|
+
<span class="cstat-no" title="statement not covered" > requestAnimationFrame(() => {</span>
|
|
2369
|
+
<span class="cstat-no" title="statement not covered" > mainChartIns?.resize();</span>
|
|
2370
|
+
<span class="cstat-no" title="statement not covered" > subChartIns?.resize();</span>
|
|
2371
|
+
<span class="cstat-no" title="statement not covered" > sliderChartRef.value?.resize();</span>
|
|
2372
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2373
|
+
});
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
return true;
|
|
2377
|
+
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
|
|
2378
|
+
<span class="cstat-no" title="statement not covered" > console.error("[st-klinePlus]: 初始化异常:", error);</span>
|
|
2379
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
2380
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2381
|
+
};
|
|
2382
|
+
// 图表: 获取数据 [首屏]
|
|
2383
|
+
const getMainData = async ({ startTime, endTime }) => {
|
|
2384
|
+
// 加载状态初始化
|
|
2385
|
+
isLoadHistory = false;
|
|
2386
|
+
isloadAllHistory = false;
|
|
2387
|
+
isLoadNew = false;
|
|
2388
|
+
isloadAllNew = false;
|
|
2389
|
+
try {
|
|
2390
|
+
loading.value = true;
|
|
2391
|
+
const params = {
|
|
2392
|
+
varietyCode: props.varietyCode,
|
|
2393
|
+
cycle: props.cycle, // 周期
|
|
2394
|
+
right: props.varietyStock === 1 <span class="branch-0 cbranch-no" title="branch not covered" >? props.rightType </span>: 0, // 复权方式
|
|
2395
|
+
contractType: props.varietyStock <span class="branch-0 cbranch-no" title="branch not covered" >? null </span>: props.klineType, // 合约类型
|
|
2396
|
+
mainIndicatorList: props.indicatorStore.getIndicatorParams(props.mainIndicator),
|
|
2397
|
+
subIndicator: subIndicator.value,
|
|
2398
|
+
deleteFirstNumber: props.deleteFirstNumber,
|
|
2399
|
+
withoutPermission: props.withoutPermission,
|
|
2400
|
+
};
|
|
2401
|
+
// Echarts如果一屏如果正好展示了所有数据, 是无法缩放触发加载更多的
|
|
2402
|
+
// 所以在请求中需要对开始和结束时间进行延伸, 但是首屏的展示时间定位还是会以传入的开始结束时间为准
|
|
2403
|
+
if (["1", "2", "3", "4", "5"].includes(props.cycle)) {
|
|
2404
|
+
Object.assign(params, {
|
|
2405
|
+
startTime: dayjs(startTime).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
|
|
2406
|
+
endTime: dayjs(endTime).add(1, "day").format("YYYY-MM-DD HH:mm:ss"),
|
|
2407
|
+
});
|
|
2408
|
+
} else if (["6", "7"].includes(props.cycle)) {
|
|
2409
|
+
Object.assign(params, {
|
|
2410
|
+
startTime: dayjs(startTime).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
|
|
2411
|
+
endTime: dayjs(endTime).add(50, "day").format("YYYY-MM-DD HH:mm:ss"),
|
|
2412
|
+
});
|
|
2413
|
+
} else {
|
|
2414
|
+
Object.assign(params, {
|
|
2415
|
+
startTime: dayjs(startTime).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
|
|
2416
|
+
endTime: dayjs(endTime).add(10, "month").format("YYYY-MM-DD HH:mm:ss"),
|
|
2417
|
+
});
|
|
2418
|
+
}
|
|
2419
|
+
const { body } = await request.post("/middleLayer/kline/getKline", params);
|
|
2420
|
+
klineData.value = body ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
|
|
2421
|
+
|
|
2422
|
+
// 找到匹配对应传入的开始, 结束时间的数据索引, 绘制图表
|
|
2423
|
+
let startValue = -1;
|
|
2424
|
+
let endValue = -1;
|
|
2425
|
+
for (let index = 0; index < klineData.value.time.length; index++) {
|
|
2426
|
+
const day = dayjs(klineData.value.time[index]).format("YYYY-MM-DD");
|
|
2427
|
+
if (startValue !== -1 && endValue !== -1) <span class="branch-0 cbranch-no" title="branch not covered" >break;</span>
|
|
2428
|
+
if (startValue === -1) {
|
|
2429
|
+
if (new Date(day) === new Date(startTime)) <span class="branch-0 cbranch-no" title="branch not covered" >startValue = index;</span>
|
|
2430
|
+
else if (new Date(day) > new Date(startTime)) startValue = index - 1;
|
|
2431
|
+
}
|
|
2432
|
+
if (endValue === -1) {
|
|
2433
|
+
if (new Date(day) === new Date(endTime)) <span class="branch-0 cbranch-no" title="branch not covered" >endValue = index;</span>
|
|
2434
|
+
else if (new Date(day) > new Date(endTime)) endValue = index - 1;
|
|
2435
|
+
}
|
|
2436
|
+
}
|
|
2437
|
+
if (endValue === -1) endValue = klineData.value.time.length - 1;
|
|
2438
|
+
// const startValue = klineData.value.time.findIndex((item) => new Date(item) >= new Date(startTime));
|
|
2439
|
+
// const endValue = klineData.value.time.findIndex((item) => new Date(item) >= new Date(endTime));
|
|
2440
|
+
draw({
|
|
2441
|
+
startValue: startValue === -1 ? 0 : startValue,
|
|
2442
|
+
endValue: endValue === -1 ? klineData.value.time.length - 1 : endValue,
|
|
2443
|
+
});
|
|
2444
|
+
} finally {
|
|
2445
|
+
loading.value = false;
|
|
2446
|
+
}
|
|
2447
|
+
};
|
|
2448
|
+
// 图表: 获取数据 [更多]
|
|
2449
|
+
const getMoreData = <span class="fstat-no" title="function not covered" >async (type) => {</span>
|
|
2450
|
+
<span class="cstat-no" title="statement not covered" > const { loadAddCount } = loadKlineConfig;</span>
|
|
2451
|
+
<span class="cstat-no" title="statement not covered" > switch (type) {</span>
|
|
2452
|
+
<span class="cstat-no" title="statement not covered" > case "history": {</span>
|
|
2453
|
+
<span class="cstat-no" title="statement not covered" > isLoadHistory = true;</span>
|
|
2454
|
+
<span class="cstat-no" title="statement not covered" > const params = {</span>
|
|
2455
|
+
<span class="cstat-no" title="statement not covered" > varietyCode: props.varietyCode,</span>
|
|
2456
|
+
<span class="cstat-no" title="statement not covered" > cycle: props.cycle,</span>
|
|
2457
|
+
<span class="cstat-no" title="statement not covered" > right: props.varietyStock === 1 ? props.rightType : 0, // 复权方式</span>
|
|
2458
|
+
<span class="cstat-no" title="statement not covered" > contractType: props.varietyStock ? null : props.klineType,</span>
|
|
2459
|
+
<span class="cstat-no" title="statement not covered" > endTime: klineData.value.time[0],</span>
|
|
2460
|
+
<span class="cstat-no" title="statement not covered" > limit: loadAddCount,</span>
|
|
2461
|
+
<span class="cstat-no" title="statement not covered" > mainIndicatorList: props.indicatorStore.getIndicatorParams(props.mainIndicator),</span>
|
|
2462
|
+
<span class="cstat-no" title="statement not covered" > subIndicator: subIndicator.value,</span>
|
|
2463
|
+
<span class="cstat-no" title="statement not covered" > deleteFirstNumber: props.deleteFirstNumber,</span>
|
|
2464
|
+
<span class="cstat-no" title="statement not covered" > withoutPermission: props.withoutPermission,</span>
|
|
2465
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
2466
|
+
<span class="cstat-no" title="statement not covered" > const { body } = await request.post("/middleLayer/kline/getKline", params);</span>
|
|
2467
|
+
<span class="cstat-no" title="statement not covered" > // 合并数据</span>
|
|
2468
|
+
<span class="cstat-no" title="statement not covered" > klineData.value = mergeklineData(body, klineData.value);</span>
|
|
2469
|
+
<span class="cstat-no" title="statement not covered" > // 判断是否加载完全部的历史数据</span>
|
|
2470
|
+
<span class="cstat-no" title="statement not covered" > if (body.data.length < loadAddCount) {</span>
|
|
2471
|
+
<span class="cstat-no" title="statement not covered" > console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭");</span>
|
|
2472
|
+
<span class="cstat-no" title="statement not covered" > isloadAllHistory = true;</span>
|
|
2473
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2474
|
+
<span class="cstat-no" title="statement not covered" > isLoadHistory = false;</span>
|
|
2475
|
+
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2476
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2477
|
+
<span class="cstat-no" title="statement not covered" > case "new": {</span>
|
|
2478
|
+
<span class="cstat-no" title="statement not covered" > isLoadNew = true;</span>
|
|
2479
|
+
<span class="cstat-no" title="statement not covered" > const params = {</span>
|
|
2480
|
+
<span class="cstat-no" title="statement not covered" > varietyCode: props.varietyCode,</span>
|
|
2481
|
+
<span class="cstat-no" title="statement not covered" > cycle: props.cycle, // 周期</span>
|
|
2482
|
+
<span class="cstat-no" title="statement not covered" > right: props.varietyStock === 1 ? props.rightType : 0, // 复权方式</span>
|
|
2483
|
+
<span class="cstat-no" title="statement not covered" > contractType: props.varietyStock ? null : props.klineType, // 合约类型</span>
|
|
2484
|
+
<span class="cstat-no" title="statement not covered" > startTime: klineData.value.time[klineData.value.time.length - 1], // 开始时间</span>
|
|
2485
|
+
<span class="cstat-no" title="statement not covered" > limit: loadAddCount, // 查询K线数量</span>
|
|
2486
|
+
<span class="cstat-no" title="statement not covered" > mainIndicatorList: props.indicatorStore.getIndicatorParams(props.mainIndicator),</span>
|
|
2487
|
+
<span class="cstat-no" title="statement not covered" > subIndicator: subIndicator.value,</span>
|
|
2488
|
+
<span class="cstat-no" title="statement not covered" > deleteFirstNumber: props.deleteFirstNumber,</span>
|
|
2489
|
+
<span class="cstat-no" title="statement not covered" > withoutPermission: props.withoutPermission,</span>
|
|
2490
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
2491
|
+
<span class="cstat-no" title="statement not covered" > const { body } = await request.post("/middleLayer/kline/getKline", params);</span>
|
|
2492
|
+
<span class="cstat-no" title="statement not covered" > // 合并数据</span>
|
|
2493
|
+
<span class="cstat-no" title="statement not covered" > klineData.value = mergeklineData(klineData.value, body);</span>
|
|
2494
|
+
<span class="cstat-no" title="statement not covered" > // 判断是否加载完全部的新数据</span>
|
|
2495
|
+
<span class="cstat-no" title="statement not covered" > if (body.data.length < loadAddCount) {</span>
|
|
2496
|
+
<span class="cstat-no" title="statement not covered" > console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭");</span>
|
|
2497
|
+
<span class="cstat-no" title="statement not covered" > isloadAllNew = true;</span>
|
|
2498
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2499
|
+
<span class="cstat-no" title="statement not covered" > isLoadNew = false;</span>
|
|
2500
|
+
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
2501
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2502
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2503
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2504
|
+
<span class="cstat-no" title="statement not covered" > // 绘制图表 (更新载入更多数据后的定位索引)</span>
|
|
2505
|
+
<span class="cstat-no" title="statement not covered" > const { startValue, endValue } = mainChartIns.getOption()?.dataZoom[0] ?? {};</span>
|
|
2506
|
+
<span class="cstat-no" title="statement not covered" > const klineDataTime = mainChartIns.getOption()?.xAxis[0].data;</span>
|
|
2507
|
+
<span class="cstat-no" title="statement not covered" > const newStartValue = klineData.value.time.findIndex((item) => new Date(item) >= new Date(klineDataTime[startValue]));</span>
|
|
2508
|
+
<span class="cstat-no" title="statement not covered" > const newEndValue = klineData.value.time.findIndex((item) => new Date(item) >= new Date(klineDataTime[endValue]));</span>
|
|
2509
|
+
<span class="cstat-no" title="statement not covered" > draw({</span>
|
|
2510
|
+
<span class="cstat-no" title="statement not covered" > startValue: newStartValue === -1 ? 0 : newStartValue,</span>
|
|
2511
|
+
<span class="cstat-no" title="statement not covered" > endValue: newEndValue === -1 ? klineData.value.time.length - 1 : newEndValue,</span>
|
|
2512
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2513
|
+
<span class="cstat-no" title="statement not covered" >};</span>
|
|
2514
|
+
// 图表: 获取数据 [当屏首末时间范围]
|
|
2515
|
+
const getScreenTimeRange = () => {
|
|
2516
|
+
if (!klineData.value.time.length) <span class="branch-0 cbranch-no" title="branch not covered" >return (screenTimeRange.value = []);</span>
|
|
2517
|
+
const { time } = klineData.value;
|
|
2518
|
+
const { startValue, endValue } = mainChartIns.getOption()?.dataZoom[0] <span class="branch-0 cbranch-no" title="branch not covered" >?? {};</span>
|
|
2519
|
+
const startTime = time[startValue];
|
|
2520
|
+
const endTime = time[endValue];
|
|
2521
|
+
if (["6", "7", "8"].includes(props.cycle)) {
|
|
2522
|
+
screenTimeRange.value = [dayjs(startTime).format("YYYY-MM-DD"), dayjs(endTime).format("YYYY-MM-DD")];
|
|
2523
|
+
} else {
|
|
2524
|
+
screenTimeRange.value = [startTime, endTime];
|
|
2525
|
+
}
|
|
2526
|
+
};
|
|
2527
|
+
|
|
2528
|
+
// 图表: 绘制(主流程)
|
|
2529
|
+
const draw = (params = { startValue: 0, endValue: 0 }) => {
|
|
2530
|
+
const isInitialized = initChart();
|
|
2531
|
+
// 确保图表存在
|
|
2532
|
+
if (!isInitialized || !mainChartIns) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2533
|
+
<span class="cstat-no" title="statement not covered" > return console.warn("[st-klinePlus]: 图表未准备就绪, 跳过绘制");</span>
|
|
2534
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2535
|
+
// 检查数据是否存在
|
|
2536
|
+
if (!klineData.value.time.length) {
|
|
2537
|
+
return console.warn("[st-klinePlus]: 图表无数据, 跳过绘制");
|
|
2538
|
+
}
|
|
2539
|
+
|
|
2540
|
+
const { maxValueSpan } = loadKlineConfig;
|
|
2541
|
+
const { time, data, mainIndicator } = klineData.value;
|
|
2542
|
+
|
|
2543
|
+
// 如果超过了最大根数限制, 要求endValue不变, startValue进行变换
|
|
2544
|
+
const startValue = params.endValue - params.startValue > maxValueSpan <span class="branch-0 cbranch-no" title="branch not covered" >? params.endValue - maxValueSpan </span>: params.startValue;
|
|
2545
|
+
const endValue = params.endValue;
|
|
2546
|
+
|
|
2547
|
+
// 配置: 指标线
|
|
2548
|
+
const indicatorSeries = mainIndicator.map((item) => {
|
|
2549
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2550
|
+
<span class="cstat-no" title="statement not covered" > name: item.key,</span>
|
|
2551
|
+
<span class="cstat-no" title="statement not covered" > type: "line",</span>
|
|
2552
|
+
<span class="cstat-no" title="statement not covered" > silent: true,</span>
|
|
2553
|
+
<span class="cstat-no" title="statement not covered" > symbol: "none",</span>
|
|
2554
|
+
<span class="cstat-no" title="statement not covered" > data: item.data,</span>
|
|
2555
|
+
<span class="cstat-no" title="statement not covered" > lineStyle: {</span>
|
|
2556
|
+
<span class="cstat-no" title="statement not covered" > width: item.width || 1,</span>
|
|
2557
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
2558
|
+
<span class="cstat-no" title="statement not covered" > itemStyle: {</span>
|
|
2559
|
+
<span class="cstat-no" title="statement not covered" > color: item.color,</span>
|
|
2560
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
2561
|
+
<span class="cstat-no" title="statement not covered" > };</span>
|
|
2562
|
+
});
|
|
2563
|
+
// 配置数据: 净值曲线
|
|
2564
|
+
const { netPositionLineData } = handleNetPositionLine(props.netPositionData, props.cycle);
|
|
2565
|
+
// 配置数据: 成交收益率曲线
|
|
2566
|
+
const { tradeIncomeRateLineData } = handleTradeIncomeRateLine(props.tradeIncomeRateData, props.cycle, props.incomeType, time);
|
|
2567
|
+
// 配置数据: 成交点位 + 连线
|
|
2568
|
+
const { tradePointData, tradeLineData } = handleMarkPointTradeLog(props.tradeLog, props.cycle, props.sellBuy, time, data, props.userKlineConfig);
|
|
2569
|
+
|
|
2570
|
+
/**
|
|
2571
|
+
* @description: 渲染图表
|
|
2572
|
+
*/
|
|
2573
|
+
mainChartIns.setOption(
|
|
2574
|
+
{
|
|
2575
|
+
animation: false,
|
|
2576
|
+
grid: {
|
|
2577
|
+
top: "40px",
|
|
2578
|
+
left: "60px",
|
|
2579
|
+
right: "20px",
|
|
2580
|
+
bottom: "20px",
|
|
2581
|
+
},
|
|
2582
|
+
dataZoom: [
|
|
2583
|
+
{
|
|
2584
|
+
type: "inside",
|
|
2585
|
+
startValue,
|
|
2586
|
+
endValue,
|
|
2587
|
+
minValueSpan: loadKlineConfig.minValueSpan,
|
|
2588
|
+
maxValueSpan: loadKlineConfig.maxValueSpan,
|
|
2589
|
+
},
|
|
2590
|
+
],
|
|
2591
|
+
tooltip: {
|
|
2592
|
+
trigger: "axis",
|
|
2593
|
+
appendToBody: true,
|
|
2594
|
+
confine: true,
|
|
2595
|
+
axisPointer: {
|
|
2596
|
+
type: "cross",
|
|
2597
|
+
label: {
|
|
2598
|
+
rich: {},
|
|
2599
|
+
formatter: <span class="fstat-no" title="function not covered" >(data) => {</span>
|
|
2600
|
+
<span class="cstat-no" title="statement not covered" > const { axisDimension, value } = data;</span>
|
|
2601
|
+
<span class="cstat-no" title="statement not covered" > if (axisDimension === "x") {</span>
|
|
2602
|
+
<span class="cstat-no" title="statement not covered" > if (["6", "7", "8"].includes(props.cycle)) {</span>
|
|
2603
|
+
<span class="cstat-no" title="statement not covered" > return dayjs(value).format("YYYY-MM-DD");</span>
|
|
2604
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
2605
|
+
<span class="cstat-no" title="statement not covered" > return value;</span>
|
|
2606
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2607
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
2608
|
+
<span class="cstat-no" title="statement not covered" > return String(round(value));</span>
|
|
2609
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2610
|
+
},
|
|
2611
|
+
},
|
|
2612
|
+
},
|
|
2613
|
+
formatter: <span class="fstat-no" title="function not covered" >(params) => {</span>
|
|
2614
|
+
<span class="cstat-no" title="statement not covered" > if (!params?.length) return null;</span>
|
|
2615
|
+
<span class="cstat-no" title="statement not covered" > let body = "";</span>
|
|
2616
|
+
<span class="cstat-no" title="statement not covered" > params.forEach((item) => {</span>
|
|
2617
|
+
<span class="cstat-no" title="statement not covered" > // 资产持仓净值</span>
|
|
2618
|
+
<span class="cstat-no" title="statement not covered" > if (item.seriesName === "netPosition" && item.data !== null) {</span>
|
|
2619
|
+
<span class="cstat-no" title="statement not covered" > body += `<div>资产持仓净值: ${item.data[1]}</div>`;</span>
|
|
2620
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2621
|
+
<span class="cstat-no" title="statement not covered" > // 成交数据</span>
|
|
2622
|
+
<span class="cstat-no" title="statement not covered" > if (item.componentSubType === "candlestick") {</span>
|
|
2623
|
+
<span class="cstat-no" title="statement not covered" > // 买卖点</span>
|
|
2624
|
+
<span class="cstat-no" title="statement not covered" > if (props.sellBuy === 0) {</span>
|
|
2625
|
+
<span class="cstat-no" title="statement not covered" > // 买卖点渲染逻辑</span>
|
|
2626
|
+
<span class="cstat-no" title="statement not covered" > const sellBuy = tradePointData.filter((i) => i?.coord[0] === item.axisValue);</span>
|
|
2627
|
+
<span class="cstat-no" title="statement not covered" > let buy = 0;</span>
|
|
2628
|
+
<span class="cstat-no" title="statement not covered" > let sell = 0;</span>
|
|
2629
|
+
<span class="cstat-no" title="statement not covered" > sellBuy.forEach((i) => {</span>
|
|
2630
|
+
<span class="cstat-no" title="statement not covered" > const { tradeType, amount } = i.customData;</span>
|
|
2631
|
+
<span class="cstat-no" title="statement not covered" > if (tradeType === "买") {</span>
|
|
2632
|
+
<span class="cstat-no" title="statement not covered" > buy += amount;</span>
|
|
2633
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2634
|
+
<span class="cstat-no" title="statement not covered" > if (tradeType === "卖") {</span>
|
|
2635
|
+
<span class="cstat-no" title="statement not covered" > sell += amount;</span>
|
|
2636
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2637
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2638
|
+
<span class="cstat-no" title="statement not covered" > if (buy) body += `<div>买: ${buy}</div>`;</span>
|
|
2639
|
+
<span class="cstat-no" title="statement not covered" > if (sell) body += `<div>卖: ${sell}</div>`;</span>
|
|
2640
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2641
|
+
<span class="cstat-no" title="statement not covered" > // 开平点</span>
|
|
2642
|
+
<span class="cstat-no" title="statement not covered" > else {</span>
|
|
2643
|
+
<span class="cstat-no" title="statement not covered" > // 开平点渲染逻辑</span>
|
|
2644
|
+
<span class="cstat-no" title="statement not covered" > tradePointData.forEach((i) => {</span>
|
|
2645
|
+
<span class="cstat-no" title="statement not covered" > if (i?.coord[0] === item.axisValue) {</span>
|
|
2646
|
+
<span class="cstat-no" title="statement not covered" > const { tradeType, amount, profitAndLoss, openPriceAll, closePriceAll } = i.customData;</span>
|
|
2647
|
+
<span class="cstat-no" title="statement not covered" > let tooltip = `<div>${tradeType}: ${amount}手</div>`;</span>
|
|
2648
|
+
<span class="cstat-no" title="statement not covered" > // 开仓-tooltip: 开仓价</span>
|
|
2649
|
+
<span class="cstat-no" title="statement not covered" > if (tradeType.includes("开")) {</span>
|
|
2650
|
+
<span class="cstat-no" title="statement not covered" > tooltip += `<div>开仓价: ${(openPriceAll / amount)?.toFixed(2)}</div>`;</span>
|
|
2651
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2652
|
+
<span class="cstat-no" title="statement not covered" > // 平仓-tooltip: 平仓价, 盈亏, 盈亏比率</span>
|
|
2653
|
+
<span class="cstat-no" title="statement not covered" > if (tradeType.includes("平")) {</span>
|
|
2654
|
+
<span class="cstat-no" title="statement not covered" > const openPrice = (openPriceAll / amount)?.toFixed(2);</span>
|
|
2655
|
+
<span class="cstat-no" title="statement not covered" > const closePrice = (closePriceAll / amount)?.toFixed(2);</span>
|
|
2656
|
+
<span class="cstat-no" title="statement not covered" > tooltip += `<div>平仓价: ${closePrice}</div>`;</span>
|
|
2657
|
+
<span class="cstat-no" title="statement not covered" > tooltip += `<div>盈亏: ${profitAndLoss?.toFixed(2)}</div>`;</span>
|
|
2658
|
+
<span class="cstat-no" title="statement not covered" > tooltip += `<div>盈亏比率: ${(((closePrice - openPrice) / openPrice) * 100)?.toFixed(2)} %</div>`;</span>
|
|
2659
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2660
|
+
<span class="cstat-no" title="statement not covered" > body += tooltip;</span>
|
|
2661
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2662
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2663
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2664
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2665
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2666
|
+
<span class="cstat-no" title="statement not covered" > if (!body) return null;</span>
|
|
2667
|
+
<span class="cstat-no" title="statement not covered" > let time = params[0].axisValue;</span>
|
|
2668
|
+
<span class="cstat-no" title="statement not covered" > if (["6", "7", "8"].includes(props.cycle)) time = dayjs(time).format("YYYY-MM-DD");</span>
|
|
2669
|
+
<span class="cstat-no" title="statement not covered" > return `</span>
|
|
2670
|
+
<span class="cstat-no" title="statement not covered" > <div></span>
|
|
2671
|
+
<span class="cstat-no" title="statement not covered" > <span style="font-weight: bold;">${time}</span></span>
|
|
2672
|
+
<span class="cstat-no" title="statement not covered" > ${body}</span>
|
|
2673
|
+
<span class="cstat-no" title="statement not covered" > </div></span>
|
|
2674
|
+
<span class="cstat-no" title="statement not covered" > `;</span>
|
|
2675
|
+
},
|
|
2676
|
+
},
|
|
2677
|
+
xAxis: {
|
|
2678
|
+
show: true,
|
|
2679
|
+
type: "category",
|
|
2680
|
+
data: time,
|
|
2681
|
+
splitLine: {
|
|
2682
|
+
show: false,
|
|
2683
|
+
},
|
|
2684
|
+
axisLabel: {
|
|
2685
|
+
formatter: <span class="fstat-no" title="function not covered" >(value) => {</span>
|
|
2686
|
+
<span class="cstat-no" title="statement not covered" > if (["6", "7", "8"].includes(props.cycle)) {</span>
|
|
2687
|
+
<span class="cstat-no" title="statement not covered" > return dayjs(value).format("YYYY-MM-DD");</span>
|
|
2688
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
2689
|
+
<span class="cstat-no" title="statement not covered" > return value;</span>
|
|
2690
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2691
|
+
},
|
|
2692
|
+
},
|
|
2693
|
+
},
|
|
2694
|
+
yAxis: [
|
|
2695
|
+
{
|
|
2696
|
+
type: "value",
|
|
2697
|
+
axisLine: {
|
|
2698
|
+
show: true,
|
|
2699
|
+
},
|
|
2700
|
+
splitLine: {
|
|
2701
|
+
show: true,
|
|
2702
|
+
lineStyle: {
|
|
2703
|
+
type: "dotted",
|
|
2704
|
+
color: "#333",
|
|
2705
|
+
},
|
|
2706
|
+
},
|
|
2707
|
+
min: <span class="fstat-no" title="function not covered" >(value) => {</span>
|
|
2708
|
+
<span class="cstat-no" title="statement not covered" > const { min, max } = value;</span>
|
|
2709
|
+
<span class="cstat-no" title="statement not covered" > const interval = Math.abs((max - min) / 10);</span>
|
|
2710
|
+
<span class="cstat-no" title="statement not covered" > return round(min - interval);</span>
|
|
2711
|
+
},
|
|
2712
|
+
max: <span class="fstat-no" title="function not covered" >(value) => {</span>
|
|
2713
|
+
<span class="cstat-no" title="statement not covered" > const { min, max } = value;</span>
|
|
2714
|
+
<span class="cstat-no" title="statement not covered" > const interval = Math.abs((max - min) / 10);</span>
|
|
2715
|
+
<span class="cstat-no" title="statement not covered" > return round(max + interval);</span>
|
|
2716
|
+
},
|
|
2717
|
+
},
|
|
2718
|
+
{
|
|
2719
|
+
show: false,
|
|
2720
|
+
min: <span class="fstat-no" title="function not covered" >(value) => {</span>
|
|
2721
|
+
<span class="cstat-no" title="statement not covered" > const { min, max } = value;</span>
|
|
2722
|
+
<span class="cstat-no" title="statement not covered" > const interval = Math.abs((max - min) / 10);</span>
|
|
2723
|
+
<span class="cstat-no" title="statement not covered" > return min - interval;</span>
|
|
2724
|
+
},
|
|
2725
|
+
max: <span class="fstat-no" title="function not covered" >(value) => {</span>
|
|
2726
|
+
<span class="cstat-no" title="statement not covered" > const { min, max } = value;</span>
|
|
2727
|
+
<span class="cstat-no" title="statement not covered" > const interval = Math.abs((max - min) / 10);</span>
|
|
2728
|
+
<span class="cstat-no" title="statement not covered" > return max + interval;</span>
|
|
2729
|
+
},
|
|
2730
|
+
},
|
|
2731
|
+
],
|
|
2732
|
+
series: [
|
|
2733
|
+
// K线
|
|
2734
|
+
{
|
|
2735
|
+
type: "candlestick",
|
|
2736
|
+
name: "kLine",
|
|
2737
|
+
data,
|
|
2738
|
+
markPoint: { data: [...tradePointData] },
|
|
2739
|
+
markLine: { data: [...tradeLineData] },
|
|
2740
|
+
itemStyle: {
|
|
2741
|
+
color: "transparent",
|
|
2742
|
+
color0: "#00FFFF",
|
|
2743
|
+
borderColor: "#FF0000",
|
|
2744
|
+
borderColor0: "#00FFFF",
|
|
2745
|
+
borderWidth: 1,
|
|
2746
|
+
},
|
|
2747
|
+
},
|
|
2748
|
+
// 净值曲线
|
|
2749
|
+
{
|
|
2750
|
+
type: "line",
|
|
2751
|
+
name: "netPosition",
|
|
2752
|
+
data: netPositionLineData,
|
|
2753
|
+
symbol: "none",
|
|
2754
|
+
yAxisIndex: 1,
|
|
2755
|
+
connectNulls: true,
|
|
2756
|
+
itemStyle: {
|
|
2757
|
+
color: "#666666",
|
|
2758
|
+
},
|
|
2759
|
+
lineStyle: {
|
|
2760
|
+
width: 2,
|
|
2761
|
+
},
|
|
2762
|
+
},
|
|
2763
|
+
// 交易收益率曲线
|
|
2764
|
+
{
|
|
2765
|
+
type: "line",
|
|
2766
|
+
name: "tradeIncomeRate",
|
|
2767
|
+
data: tradeIncomeRateLineData,
|
|
2768
|
+
symbol: "none",
|
|
2769
|
+
yAxisIndex: 1,
|
|
2770
|
+
connectNulls: false,
|
|
2771
|
+
itemStyle: {
|
|
2772
|
+
color: "#666666",
|
|
2773
|
+
},
|
|
2774
|
+
lineStyle: {
|
|
2775
|
+
width: 2,
|
|
2776
|
+
},
|
|
2777
|
+
},
|
|
2778
|
+
// 指标线
|
|
2779
|
+
...indicatorSeries,
|
|
2780
|
+
],
|
|
2781
|
+
toolbox: {
|
|
2782
|
+
show: false,
|
|
2783
|
+
},
|
|
2784
|
+
brush: {
|
|
2785
|
+
xAxisIndex: "all",
|
|
2786
|
+
brushLink: "all",
|
|
2787
|
+
transformable: false,
|
|
2788
|
+
outOfBrush: {
|
|
2789
|
+
colorAlpha: 2,
|
|
2790
|
+
},
|
|
2791
|
+
brushStyle: {
|
|
2792
|
+
color: "rgba(255,255,255,0.1)",
|
|
2793
|
+
borderColor: "rgba(255,255,255,0.4)",
|
|
2794
|
+
},
|
|
2795
|
+
},
|
|
2796
|
+
},
|
|
2797
|
+
true,
|
|
2798
|
+
);
|
|
2799
|
+
if (props.userKlineConfig.enable_subChart) {
|
|
2800
|
+
subChartIns.setOption(getSubOptions(klineData.value, startValue, endValue), true);
|
|
2801
|
+
}
|
|
2802
|
+
|
|
2803
|
+
/**
|
|
2804
|
+
* @description: 善后处理
|
|
2805
|
+
*/
|
|
2806
|
+
{
|
|
2807
|
+
getScreenTimeRange();
|
|
2808
|
+
drawScreenMaxPrice();
|
|
2809
|
+
activeIndex.value = endValue;
|
|
2810
|
+
}
|
|
2811
|
+
|
|
2812
|
+
/**
|
|
2813
|
+
* @description: 数据框选: brush
|
|
2814
|
+
* 由于brush配置中, 如果有一边的X轴时间不在已载入数据中, 整个都会失效, 所以这里使用的是匹配算法
|
|
2815
|
+
*/
|
|
2816
|
+
{
|
|
2817
|
+
const brushAreas = [];
|
|
2818
|
+
// 1. 成交范围 (灰白色)
|
|
2819
|
+
if (props.userKlineConfig.enable_tradeLogBrush <span class="branch-0 cbranch-no" title="branch not covered" >&& tradePointData.length)</span> <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2820
|
+
<span class="cstat-no" title="statement not covered" > const [startTime, endTime] = [tradePointData[0].coord[0], tradePointData.at(-1).coord[0]];</span>
|
|
2821
|
+
<span class="cstat-no" title="statement not covered" > const coordRange = normalizeToKlineTimeByMatch(time, [startTime, endTime], props.cycle);</span>
|
|
2822
|
+
<span class="cstat-no" title="statement not covered" > brushAreas.push({</span>
|
|
2823
|
+
<span class="cstat-no" title="statement not covered" > brushId: "开平仓范围",</span>
|
|
2824
|
+
<span class="cstat-no" title="statement not covered" > brushType: "lineX",</span>
|
|
2825
|
+
<span class="cstat-no" title="statement not covered" > xAxisIndex: 0,</span>
|
|
2826
|
+
<span class="cstat-no" title="statement not covered" > coordRange,</span>
|
|
2827
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2828
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2829
|
+
// 2. 同步刷选范围 (蓝色)
|
|
2830
|
+
if (props.syncBrushRange.cycleList.includes(props.cycle)) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2831
|
+
<span class="cstat-no" title="statement not covered" > const { startTime, endTime } = props.syncBrushRange;</span>
|
|
2832
|
+
<span class="cstat-no" title="statement not covered" > const coordRange = normalizeToKlineTimeByMatch(time, [startTime, endTime], props.cycle);</span>
|
|
2833
|
+
<span class="cstat-no" title="statement not covered" > brushAreas.push({</span>
|
|
2834
|
+
<span class="cstat-no" title="statement not covered" > brushId: "同步刷选范围",</span>
|
|
2835
|
+
<span class="cstat-no" title="statement not covered" > brushType: "lineX",</span>
|
|
2836
|
+
<span class="cstat-no" title="statement not covered" > xAxisIndex: 0,</span>
|
|
2837
|
+
<span class="cstat-no" title="statement not covered" > coordRange,</span>
|
|
2838
|
+
<span class="cstat-no" title="statement not covered" > brushStyle: {</span>
|
|
2839
|
+
<span class="cstat-no" title="statement not covered" > fill: "rgba(64, 158, 255, 0.2)",</span>
|
|
2840
|
+
<span class="cstat-no" title="statement not covered" > stroke: "rgba(64, 158, 255, 0.8)",</span>
|
|
2841
|
+
<span class="cstat-no" title="statement not covered" > lineWidth: 1,</span>
|
|
2842
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
2843
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2844
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2845
|
+
// 3. 强制定位高亮 (紫色)
|
|
2846
|
+
if (props.positionTime) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2847
|
+
<span class="cstat-no" title="statement not covered" > const [startTime, endTime] = [dayjs(props.positionTime).format("YYYY-MM-DD 00:00:00"), dayjs(props.positionTime).format("YYYY-MM-DD 23:59:59")];</span>
|
|
2848
|
+
<span class="cstat-no" title="statement not covered" > const coordRange = normalizeToKlineTimeByMatch(time, [startTime, endTime], props.cycle);</span>
|
|
2849
|
+
<span class="cstat-no" title="statement not covered" > brushAreas.push({</span>
|
|
2850
|
+
<span class="cstat-no" title="statement not covered" > brushId: "强制定位高亮",</span>
|
|
2851
|
+
<span class="cstat-no" title="statement not covered" > brushType: "lineX",</span>
|
|
2852
|
+
<span class="cstat-no" title="statement not covered" > xAxisIndex: 0,</span>
|
|
2853
|
+
<span class="cstat-no" title="statement not covered" > coordRange,</span>
|
|
2854
|
+
<span class="cstat-no" title="statement not covered" > brushStyle: {</span>
|
|
2855
|
+
<span class="cstat-no" title="statement not covered" > fill: "rgba(217, 179, 255, 0.2)",</span>
|
|
2856
|
+
<span class="cstat-no" title="statement not covered" > stroke: "rgba(217, 179, 255, 0.8)",</span>
|
|
2857
|
+
<span class="cstat-no" title="statement not covered" > lineWidth: 1,</span>
|
|
2858
|
+
<span class="cstat-no" title="statement not covered" > },</span>
|
|
2859
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2860
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2861
|
+
mainChartIns.dispatchAction({
|
|
2862
|
+
type: "brush",
|
|
2863
|
+
areas: brushAreas,
|
|
2864
|
+
});
|
|
2865
|
+
}
|
|
2866
|
+
};
|
|
2867
|
+
// 图表: 绘制(当屏最高价)
|
|
2868
|
+
const drawScreenMaxPrice = () => {
|
|
2869
|
+
if (!props.userKlineConfig.enable_showScreenMaxPrice <span class="branch-0 cbranch-no" title="branch not covered" >|| !klineData.value.time.length)</span> return;
|
|
2870
|
+
<span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span>
|
|
2871
|
+
<span class="cstat-no" title="statement not covered" > const { data } = klineData.value;</span>
|
|
2872
|
+
<span class="cstat-no" title="statement not covered" > const originOption = mainChartIns.getOption();</span>
|
|
2873
|
+
const { startValue, endValue } = originOption?.dataZoom[0] <span class="branch-0 cbranch-no" title="branch not covered" >?? {};</span>
|
|
2874
|
+
|
|
2875
|
+
let maxPrice = 0;
|
|
2876
|
+
let maxPriceIndex = startValue;
|
|
2877
|
+
|
|
2878
|
+
for (let i = startValue; i <= endValue; i++) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2879
|
+
<span class="cstat-no" title="statement not covered" > if (Number(data[i][3]) >= maxPrice) {</span>
|
|
2880
|
+
<span class="cstat-no" title="statement not covered" > maxPrice = Number(data[i][3]);</span>
|
|
2881
|
+
<span class="cstat-no" title="statement not covered" > maxPriceIndex = i;</span>
|
|
2882
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2883
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2884
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2885
|
+
const filterSeries = originOption.series?.filter((item) => item.name !== "maxPrice") <span class="branch-0 cbranch-no" title="branch not covered" >|| [];</span>
|
|
2886
|
+
const dataLength = endValue - startValue;
|
|
2887
|
+
const positionInView = (maxPriceIndex - startValue) / dataLength;
|
|
2888
|
+
let position = "right";
|
|
2889
|
+
let formatter = `←${maxPrice}`;
|
|
2890
|
+
|
|
2891
|
+
if (positionInView > 0.7) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2892
|
+
<span class="cstat-no" title="statement not covered" > position = "left";</span>
|
|
2893
|
+
<span class="cstat-no" title="statement not covered" > formatter = `${round(maxPrice)}→`;</span>
|
|
2894
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
2895
|
+
<span class="cstat-no" title="statement not covered" > position = "right";</span>
|
|
2896
|
+
<span class="cstat-no" title="statement not covered" > formatter = `←${round(maxPrice)}`;</span>
|
|
2897
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2898
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
2899
|
+
<span class="cstat-no" title="statement not covered" > // 关键:只更新 series,不更新其他配置</span>
|
|
2900
|
+
mainChartIns?.setOption(
|
|
2901
|
+
{
|
|
2902
|
+
series: [
|
|
2903
|
+
...filterSeries,
|
|
2904
|
+
{
|
|
2905
|
+
type: "line",
|
|
2906
|
+
name: "maxPrice",
|
|
2907
|
+
data: [],
|
|
2908
|
+
lineStyle: { opacity: 0 },
|
|
2909
|
+
markPoint: {
|
|
2910
|
+
symbol: "circle",
|
|
2911
|
+
symbolSize: 1,
|
|
2912
|
+
itemStyle: {
|
|
2913
|
+
color: "transparent",
|
|
2914
|
+
borderColor: "transparent",
|
|
2915
|
+
},
|
|
2916
|
+
z: 100,
|
|
2917
|
+
zlevel: 10,
|
|
2918
|
+
label: {
|
|
2919
|
+
show: true,
|
|
2920
|
+
position,
|
|
2921
|
+
formatter,
|
|
2922
|
+
color: "#fff",
|
|
2923
|
+
fontSize: 12,
|
|
2924
|
+
padding: [4, -4],
|
|
2925
|
+
},
|
|
2926
|
+
data: [
|
|
2927
|
+
{
|
|
2928
|
+
name: "最高点",
|
|
2929
|
+
coord: [maxPriceIndex, maxPrice],
|
|
2930
|
+
},
|
|
2931
|
+
],
|
|
2932
|
+
},
|
|
2933
|
+
},
|
|
2934
|
+
],
|
|
2935
|
+
},
|
|
2936
|
+
{
|
|
2937
|
+
notMerge: false, // 合并模式
|
|
2938
|
+
replaceMerge: [], // 不替换任何配置
|
|
2939
|
+
},
|
|
2940
|
+
);
|
|
2941
|
+
};
|
|
2942
|
+
|
|
2943
|
+
// 拖拽轴: 拖拽回调
|
|
2944
|
+
const handleSliderChange = <span class="fstat-no" title="function not covered" >(params) => {</span>
|
|
2945
|
+
<span class="cstat-no" title="statement not covered" > const [startTime, endTime] = checkTimeInterval({</span>
|
|
2946
|
+
<span class="cstat-no" title="statement not covered" > startTime: params.startTime,</span>
|
|
2947
|
+
<span class="cstat-no" title="statement not covered" > endTime: params.endTime,</span>
|
|
2948
|
+
<span class="cstat-no" title="statement not covered" > cycle: props.cycle,</span>
|
|
2949
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
2950
|
+
<span class="cstat-no" title="statement not covered" > getMainData({ startTime, endTime });</span>
|
|
2951
|
+
<span class="cstat-no" title="statement not covered" >};</span>
|
|
2952
|
+
// 键盘控制 [↑↓←→缩放平移]
|
|
2953
|
+
const handleKeyDownEvent = ({ code, ctrlKey }) => {
|
|
2954
|
+
if (!mainChartIns) <span class="branch-0 cbranch-no" title="branch not covered" >return;</span>
|
|
2955
|
+
if (!(ctrlKey || isHover.value)) return;
|
|
2956
|
+
const { xAxis, dataZoom } = mainChartIns.getOption();
|
|
2957
|
+
const { data: xAxisData } = xAxis?.[0] ?? { data: [] };
|
|
2958
|
+
let { startValue, endValue } = dataZoom?.[0] ?? {};
|
|
2959
|
+
if (!xAxisData?.length) return;
|
|
2960
|
+
// 键位cb
|
|
2961
|
+
switch (code) {
|
|
2962
|
+
// ↑ 放大
|
|
2963
|
+
case "ArrowUp": {
|
|
2964
|
+
if (endValue - startValue < 5) <span class="branch-0 cbranch-no" title="branch not covered" >return;</span>
|
|
2965
|
+
const diff = Math.floor((endValue - startValue) / 2) + 1;
|
|
2966
|
+
startValue = startValue + diff;
|
|
2967
|
+
if (endValue - startValue < 5) startValue = endValue - 4;
|
|
2968
|
+
break;
|
|
2969
|
+
}
|
|
2970
|
+
// ↓ 缩小
|
|
2971
|
+
case "ArrowDown": {
|
|
2972
|
+
const diff = Math.min(500, endValue - startValue);
|
|
2973
|
+
startValue = startValue - diff - 1;
|
|
2974
|
+
break;
|
|
2975
|
+
}
|
|
2976
|
+
// ← 左移
|
|
2977
|
+
case "ArrowLeft": {
|
|
2978
|
+
if (startValue > 0) {
|
|
2979
|
+
startValue -= 1;
|
|
2980
|
+
endValue -= 1;
|
|
2981
|
+
}
|
|
2982
|
+
if (activeIndex.value > 0) {
|
|
2983
|
+
activeIndex.value -= 1;
|
|
2984
|
+
}
|
|
2985
|
+
break;
|
|
2986
|
+
}
|
|
2987
|
+
// → 右移
|
|
2988
|
+
case "ArrowRight": {
|
|
2989
|
+
if (endValue < xAxisData.length - 1) {
|
|
2990
|
+
startValue += 1;
|
|
2991
|
+
endValue += 1;
|
|
2992
|
+
}
|
|
2993
|
+
if (isHover.value <span class="branch-0 cbranch-no" title="branch not covered" >&& activeIndex.value < xAxisData.length - 1)</span> <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
2994
|
+
<span class="cstat-no" title="statement not covered" > activeIndex.value += 1;</span>
|
|
2995
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
2996
|
+
break;
|
|
2997
|
+
}
|
|
2998
|
+
}
|
|
2999
|
+
// 1. 更新图表当屏位置
|
|
3000
|
+
mainChartIns.dispatchAction({
|
|
3001
|
+
type: "dataZoom",
|
|
3002
|
+
startValue,
|
|
3003
|
+
endValue,
|
|
3004
|
+
});
|
|
3005
|
+
// 2. 更新图表指示器位置
|
|
3006
|
+
mainChartIns.dispatchAction({
|
|
3007
|
+
type: "updateAxisPointer",
|
|
3008
|
+
seriesIndex: 0,
|
|
3009
|
+
dataIndex: isHover.value <span class="branch-0 cbranch-no" title="branch not covered" >? activeIndex.value </span>: null,
|
|
3010
|
+
});
|
|
3011
|
+
// 3. 更新图表高亮索引
|
|
3012
|
+
mainChartIns.dispatchAction({
|
|
3013
|
+
type: "highlight",
|
|
3014
|
+
dataIndex: isHover.value <span class="branch-0 cbranch-no" title="branch not covered" >? activeIndex.value </span>: endValue,
|
|
3015
|
+
});
|
|
3016
|
+
};
|
|
3017
|
+
|
|
3018
|
+
onMounted(() => {
|
|
3019
|
+
const [startTime, endTime] = props.initTimeRange;
|
|
3020
|
+
getMainData({ startTime, endTime });
|
|
3021
|
+
});
|
|
3022
|
+
// 监控: [品种, 初始时间范围] => 重加载K线 (缩放初始化)
|
|
3023
|
+
watch(
|
|
3024
|
+
() => [props.varietyCode, props.initTimeRange],
|
|
3025
|
+
() => {
|
|
3026
|
+
const [startTime, endTime] = props.initTimeRange;
|
|
3027
|
+
getMainData({ startTime, endTime });
|
|
3028
|
+
},
|
|
3029
|
+
{ deep: true },
|
|
3030
|
+
);
|
|
3031
|
+
// 监控: [周期选项] => 重加载K线 (缩放不变+校验时间间隔)
|
|
3032
|
+
watch(
|
|
3033
|
+
() => [props.cycle],
|
|
3034
|
+
() => {
|
|
3035
|
+
const { startValue, endValue } = mainChartIns.getOption()?.dataZoom[0] <span class="branch-0 cbranch-no" title="branch not covered" >?? {};</span>
|
|
3036
|
+
const [startTime, endTime] = checkTimeInterval({
|
|
3037
|
+
startTime: klineData.value.time[startValue],
|
|
3038
|
+
endTime: klineData.value.time[endValue],
|
|
3039
|
+
cycle: props.cycle,
|
|
3040
|
+
type: "middle",
|
|
3041
|
+
});
|
|
3042
|
+
getMainData({ startTime, endTime });
|
|
3043
|
+
},
|
|
3044
|
+
{ deep: true },
|
|
3045
|
+
);
|
|
3046
|
+
// 监控: [主指标, 副指标, 指标配置, 复权选项, 常用选项] => 重加载K线 (缩放不变)
|
|
3047
|
+
watch(
|
|
3048
|
+
() => [props.mainIndicator, subIndicator.value, props.indicatorStore?.filterIndicator, props.indicatorStore?.customIndicator, props.rightType, props.klineType],
|
|
3049
|
+
<span class="fstat-no" title="function not covered" > () => {</span>
|
|
3050
|
+
<span class="cstat-no" title="statement not covered" > const { startValue, endValue } = mainChartIns.getOption()?.dataZoom[0] ?? {};</span>
|
|
3051
|
+
<span class="cstat-no" title="statement not covered" > const [startTime, endTime] = [klineData.value.time[startValue], klineData.value.time[endValue]];</span>
|
|
3052
|
+
<span class="cstat-no" title="statement not covered" > getMainData({ startTime, endTime });</span>
|
|
3053
|
+
},
|
|
3054
|
+
{ deep: true },
|
|
3055
|
+
);
|
|
3056
|
+
// 监控: [成交点类型, 成交数据, 净值数据, 收益计算类型, 成交收益率数据] => 重绘K线 (缩放不变)
|
|
3057
|
+
watch(
|
|
3058
|
+
() => [props.sellBuy, props.tradeLog, props.netPositionData, props.incomeType, props.tradeIncomeRateData],
|
|
3059
|
+
() => {
|
|
3060
|
+
const { startValue, endValue } = mainChartIns.getOption()?.dataZoom[0] <span class="branch-0 cbranch-no" title="branch not covered" >?? {};</span>
|
|
3061
|
+
draw({ startValue, endValue });
|
|
3062
|
+
},
|
|
3063
|
+
{ deep: true },
|
|
3064
|
+
);
|
|
3065
|
+
onUnmounted(() => {
|
|
3066
|
+
<span class="cstat-no" title="statement not covered" > // 解绑</span>
|
|
3067
|
+
<span class="cstat-no" title="statement not covered" > mainChartIns?.off("highlight");</span>
|
|
3068
|
+
<span class="cstat-no" title="statement not covered" > mainChartIns?.off("globalout");</span>
|
|
3069
|
+
<span class="cstat-no" title="statement not covered" > mainChartIns?.off("datazoom");</span>
|
|
3070
|
+
<span class="cstat-no" title="statement not covered" > mainChartIns?.getZr()?.off("contextmenu");</span>
|
|
3071
|
+
<span class="cstat-no" title="statement not covered" > window.removeEventListener("keydown", handleKeyDownEvent);</span>
|
|
3072
|
+
<span class="cstat-no" title="statement not covered" > // 销毁</span>
|
|
3073
|
+
<span class="cstat-no" title="statement not covered" > mainChartIns?.dispose();</span>
|
|
3074
|
+
<span class="cstat-no" title="statement not covered" > subChartIns?.dispose();</span>
|
|
3075
|
+
<span class="cstat-no" title="statement not covered" > resizeRo?.dispose();</span>
|
|
3076
|
+
<span class="cstat-no" title="statement not covered" > resizeRo = null;</span>
|
|
3077
|
+
});
|
|
3078
|
+
defineExpose({
|
|
3079
|
+
screenTimeRange,
|
|
3080
|
+
contextmenuKlineTime,
|
|
3081
|
+
reDraw: <span class="fstat-no" title="function not covered" >() => {</span>
|
|
3082
|
+
<span class="cstat-no" title="statement not covered" > const { startValue, endValue } = mainChartIns.getOption()?.dataZoom[0] ?? {};</span>
|
|
3083
|
+
<span class="cstat-no" title="statement not covered" > draw({ startValue, endValue });</span>
|
|
3084
|
+
},
|
|
3085
|
+
});
|
|
3086
|
+
</script>
|
|
3087
|
+
|
|
3088
|
+
<template>
|
|
3089
|
+
<div
|
|
3090
|
+
class="kline-plus"
|
|
3091
|
+
v-loading="loading"
|
|
3092
|
+
@mousemove<span class="fstat-no" title="function not covered" >="isHover = true"</span>
|
|
3093
|
+
@mouseout<span class="fstat-no" title="function not covered" >="isHover = false"</span>
|
|
3094
|
+
>
|
|
3095
|
+
<!-- 主图 -->
|
|
3096
|
+
<div class="main-chart">
|
|
3097
|
+
<div class="indicator">
|
|
3098
|
+
<Tips :data="mainTips" />
|
|
3099
|
+
<Tips :data="mainIndicatorTips" />
|
|
3100
|
+
</div>
|
|
3101
|
+
<template v-if="userKlineConfig.enable_showScreenTimeRange">
|
|
3102
|
+
<span class="screen-time-range"> {{ screenTimeRange[0] }} - {{ screenTimeRange[1] }} </span>
|
|
3103
|
+
</template>
|
|
3104
|
+
<!-- K线 -->
|
|
3105
|
+
<div
|
|
3106
|
+
ref="mainChartRef"
|
|
3107
|
+
class="chart"
|
|
3108
|
+
/>
|
|
3109
|
+
</div>
|
|
3110
|
+
<!-- 副图 -->
|
|
3111
|
+
<template v-if="userKlineConfig.enable_subChart">
|
|
3112
|
+
<div class="sub-chart">
|
|
3113
|
+
<div class="indicator">
|
|
3114
|
+
<div class="title">
|
|
3115
|
+
<span>{{ subIndicator }}</span>
|
|
3116
|
+
<el-select
|
|
3117
|
+
v-model="<span class="fstat-no" title="function not covered" >subIndicator"</span>
|
|
3118
|
+
style="width: 100px; margin-right: 4px; height: 25px"
|
|
3119
|
+
size="small"
|
|
3120
|
+
class="element-dark"
|
|
3121
|
+
popper-class="element-dark"
|
|
3122
|
+
>
|
|
3123
|
+
<el-option
|
|
3124
|
+
v-for="(item, index) in indicatorStore.subIndicatorList"
|
|
3125
|
+
:key="index"
|
|
3126
|
+
:label="item.label"
|
|
3127
|
+
:value="item.value"
|
|
3128
|
+
/>
|
|
3129
|
+
</el-select>
|
|
3130
|
+
</div>
|
|
3131
|
+
<Tips :data="subIndicatorTips" />
|
|
3132
|
+
</div>
|
|
3133
|
+
<div
|
|
3134
|
+
ref="subChartRef"
|
|
3135
|
+
class="chart"
|
|
3136
|
+
/>
|
|
3137
|
+
</div>
|
|
3138
|
+
</template>
|
|
3139
|
+
<!-- 拖拽轴 -->
|
|
3140
|
+
<template v-if="userKlineConfig.enable_sliderChart">
|
|
3141
|
+
<div class="slider-chart">
|
|
3142
|
+
<SliderChart
|
|
3143
|
+
ref="sliderChartRef"
|
|
3144
|
+
:screenTimeRange="screenTimeRange"
|
|
3145
|
+
:varietyCode="varietyCode"
|
|
3146
|
+
:varietyStock="varietyStock"
|
|
3147
|
+
:rightType="rightType"
|
|
3148
|
+
:klineType="klineType"
|
|
3149
|
+
:deleteFirstNumber="props.deleteFirstNumber"
|
|
3150
|
+
:withoutPermission="props.withoutPermission"
|
|
3151
|
+
@change="handleSliderChange"
|
|
3152
|
+
/>
|
|
3153
|
+
</div>
|
|
3154
|
+
</template>
|
|
3155
|
+
<!-- 空数据 -->
|
|
3156
|
+
<el-empty
|
|
3157
|
+
v-if="!klineData.time.length"
|
|
3158
|
+
class="empty"
|
|
3159
|
+
description="暂无数据"
|
|
3160
|
+
/>
|
|
3161
|
+
</div>
|
|
3162
|
+
</template>
|
|
3163
|
+
|
|
3164
|
+
<style lang="scss" scoped>
|
|
3165
|
+
.kline-plus {
|
|
3166
|
+
width: 100%;
|
|
3167
|
+
height: 100%;
|
|
3168
|
+
position: relative;
|
|
3169
|
+
color-scheme: dark;
|
|
3170
|
+
display: flex;
|
|
3171
|
+
flex-direction: column;
|
|
3172
|
+
// 主图
|
|
3173
|
+
.main-chart {
|
|
3174
|
+
width: 100%;
|
|
3175
|
+
height: calc((100% - 40px) * 0.8);
|
|
3176
|
+
background-color: black;
|
|
3177
|
+
flex: 1;
|
|
3178
|
+
.indicator {
|
|
3179
|
+
height: 55px;
|
|
3180
|
+
box-sizing: border-box;
|
|
3181
|
+
padding-left: 10px;
|
|
3182
|
+
padding-top: 4px;
|
|
3183
|
+
}
|
|
3184
|
+
.screen-time-range {
|
|
3185
|
+
color: white;
|
|
3186
|
+
font-size: 12px;
|
|
3187
|
+
line-height: 12px;
|
|
3188
|
+
position: absolute;
|
|
3189
|
+
right: 10px;
|
|
3190
|
+
top: 40px;
|
|
3191
|
+
}
|
|
3192
|
+
.chart {
|
|
3193
|
+
width: 100%;
|
|
3194
|
+
height: calc(100% - 55px);
|
|
3195
|
+
box-sizing: border-box;
|
|
3196
|
+
}
|
|
3197
|
+
}
|
|
3198
|
+
// 副图
|
|
3199
|
+
.sub-chart {
|
|
3200
|
+
width: 100%;
|
|
3201
|
+
height: calc((100% - 40px) * 0.2);
|
|
3202
|
+
.indicator {
|
|
3203
|
+
padding-left: 10px;
|
|
3204
|
+
display: flex;
|
|
3205
|
+
align-items: center;
|
|
3206
|
+
.title {
|
|
3207
|
+
display: flex;
|
|
3208
|
+
align-items: center;
|
|
3209
|
+
span {
|
|
3210
|
+
font-size: 12px;
|
|
3211
|
+
line-height: 24px;
|
|
3212
|
+
color: white;
|
|
3213
|
+
}
|
|
3214
|
+
:deep(.el-select) {
|
|
3215
|
+
width: 16px !important;
|
|
3216
|
+
height: 16px !important;
|
|
3217
|
+
margin-left: 4px;
|
|
3218
|
+
.el-select__icon {
|
|
3219
|
+
margin-left: 0;
|
|
3220
|
+
color: black;
|
|
3221
|
+
width: 16px;
|
|
3222
|
+
height: 16px;
|
|
3223
|
+
}
|
|
3224
|
+
.el-select__wrapper {
|
|
3225
|
+
border-radius: 50%;
|
|
3226
|
+
background: #ccc;
|
|
3227
|
+
padding: 0;
|
|
3228
|
+
gap: 0;
|
|
3229
|
+
min-height: 12px;
|
|
3230
|
+
line-height: 12px;
|
|
3231
|
+
}
|
|
3232
|
+
}
|
|
3233
|
+
}
|
|
3234
|
+
}
|
|
3235
|
+
.chart {
|
|
3236
|
+
width: 100%;
|
|
3237
|
+
height: calc(100% - 24px);
|
|
3238
|
+
}
|
|
3239
|
+
}
|
|
3240
|
+
// 拖拽轴
|
|
3241
|
+
.slider-chart {
|
|
3242
|
+
width: 100%;
|
|
3243
|
+
height: 40px;
|
|
3244
|
+
}
|
|
3245
|
+
// 空数据
|
|
3246
|
+
.empty {
|
|
3247
|
+
position: absolute;
|
|
3248
|
+
top: 0;
|
|
3249
|
+
left: 0;
|
|
3250
|
+
width: 100%;
|
|
3251
|
+
height: 100%;
|
|
3252
|
+
padding: 0;
|
|
3253
|
+
background-color: rgb(0, 0, 0);
|
|
3254
|
+
--el-empty-fill-color-0: var(--el-color-black);
|
|
3255
|
+
--el-empty-fill-color-1: #4b4b52;
|
|
3256
|
+
--el-empty-fill-color-2: #36383d;
|
|
3257
|
+
--el-empty-fill-color-3: #1e1e20;
|
|
3258
|
+
--el-empty-fill-color-4: #262629;
|
|
3259
|
+
--el-empty-fill-color-5: #202124;
|
|
3260
|
+
--el-empty-fill-color-6: #212224;
|
|
3261
|
+
--el-empty-fill-color-7: #1b1c1f;
|
|
3262
|
+
--el-empty-fill-color-8: #1c1d1f;
|
|
3263
|
+
--el-empty-fill-color-9: #18181a;
|
|
3264
|
+
}
|
|
3265
|
+
}
|
|
3266
|
+
</style>
|
|
3267
|
+
</pre></td></tr></table></pre>
|
|
3268
|
+
|
|
3269
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
3270
|
+
</div><!-- /wrapper -->
|
|
3271
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
3272
|
+
Code coverage generated by
|
|
3273
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
3274
|
+
at 2026-08-02T08:20:04.516Z
|
|
3275
|
+
</div>
|
|
3276
|
+
<script src="../prettify.js"></script>
|
|
3277
|
+
<script>
|
|
3278
|
+
window.onload = function () {
|
|
3279
|
+
prettyPrint();
|
|
3280
|
+
};
|
|
3281
|
+
</script>
|
|
3282
|
+
<script src="../sorter.js"></script>
|
|
3283
|
+
<script src="../block-navigation.js"></script>
|
|
3284
|
+
</body>
|
|
3285
|
+
</html>
|
|
3286
|
+
|